summaryrefslogtreecommitdiff
path: root/TODO.md
blob: 08d5b77406e4271127383bbaa3280ebefbcbd518 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
This document specifies the current priorities of the project.

Please discuss with maintainers before adding new entries.

# High priority

## User-defined palettes

Allow for the end-user to specify custom palettes.

The primary problem is currently to decide how the interface should be?
Lua scripts, Python, scripts, webasm...?

## Magnet fractal

The fractal of the form

*z*<sub>*n*+1</sub> = ((*z*<sub>*n*</sub><sup>2</sup> + *c* - 1) / ((2*z*<sub>*n*</sub> + *c* - 2))<sup>2

should be defined with the `magnet` identifier.

## Multibrot Sets

Include more powers of the Multibrot Set fractals.
Main obstacle is writing them for use with Rug.
Also finish refactoring of `multibrot4`.

## Modular factorisers

The factorisers (see `benoit/src/render/render/plot.rs`) could be implemented similarly to palettese, etc.

Especially the interior factoriser I am *not* very proud about:

```rust
let factor = data.distance; // data: RawElement
```

# Normal priority

## More fractals

Find more fractals to be added.

Requirements include:

* New fractals should be easily recognisable and different from others
* Although self-similar, new fractals should not perfectly repeat themselves

## Rug replacement

Find a replacement for Rug, optimally a Rust-written project.

This goal depends on the assumption that floating-point operations are **not** necessary for us.

In the case that using floats instead of rationals etc., Rug *appears* to be the best solution, at the moment at least.

# Low priority

## Web front-end

Not currently necessary to include in the main repository.
Should have the identifier `benoit-web`.

## Interior colour parameters

Should the parameters used internally by `Colour` be RGBA (as they currently are) or another encoding, e.g. XYZA?