|
22 | 22 | * To do: kill running scripts, e.g. when changing effects |
23 | 23 | * To do: use Nodes arguments as arguments to scripts or hardcoded effects |
24 | 24 |
|
| 25 | +### Mapping model (to do) |
| 26 | + |
| 27 | +<img width="500" src="https://github.com/user-attachments/assets/6f76a2d6-fce1-4c72-9ade-ee5fbd056c88" /> |
| 28 | + |
| 29 | +* Multiple Nodes can be defined (1) |
| 30 | + * Each node can have properties (compare controls in WLED / StarLight) |
| 31 | + * Each node can run precompile code or Live scripts (with or without loop) |
| 32 | + * Each node has a type |
| 33 | + * Fixture definition: tell where each pixture is in a 1D/2D/3D physical coordinate space (based on StarLight) |
| 34 | + * Fixture mapping: change the fixture to a 1D/2D/3D virtual coordinate space |
| 35 | + * Effect: run an effect in (part of) the virtual coordinate space |
| 36 | + * Modifier: Mirror, rotate, etc, multiple projections allowed (projection in StarLight) |
| 37 | + * Driver show: show the result on Leds (using FastLED, hpwit drivers), ArtNet, DDP, ... |
| 38 | +* Future situation: Nodes and noodles (2) |
| 39 | + * Replace the nodes table (1) by a graphical view (2) |
| 40 | +* Mapping model (3) |
| 41 | + * Take the StarLight PhysMap as a start |
| 42 | + * 2-bytes to 3-bytes to allow for > 16384 leds |
| 43 | + * Mapping table is logical pixels |
| 44 | + * ledsP is physical pixels (as in FASTLED) |
| 45 | + * 1:0, 1:1, 1:many : each logical pixel can be mapped to no, 1 or many physical pixels) |
| 46 | + * Nodes manipulate the mapping model and/or interfere in the effects loop |
| 47 | +* Presets/playlist: change (part of) the nodes model |
| 48 | + |
25 | 49 | ### Server |
26 | 50 |
|
27 | 51 | [ModuleAnimations.h](https://github.com/ewowi/MoonBase/blob/main/src/custom/ModuleAnimations.h) |
|
0 commit comments