When a preset is wrong
The engine distinguishes mistakes that make a preset meaningless from mistakes that merely waste a line. Neither ever crashes a running visual (NFR 10).
Hard errors — the file is rejected, the last good set is kept:
- Malformed TOML.
- An unknown
systemname. - An expression that fails to compile — an unknown identifier, a bad number, a wrong argument count, an unbalanced parenthesis, a stray character.
- An invalid structural table (
[curve],[generator],[particles],[path],[spectrum],[palette],[smoothing],[latch]) - including a[path] dthe parser refuses, which names the character offset it stopped at.
Warnings — the preset still loads and renders:
-
An unknown parameter name. A binding whose name no system or engine stage consumes is reported at load, naming the parameter and the system, and the rest of the preset applies normally:
preset ...\my_first.toml: warning: unknown parameter 'wrap' for system 'fragment_field' (binding kept, but nothing reads it)This is why a typo no longer fails silently. It is a warning rather than a rejection on purpose: one mistyped character should not blank a scene mid-show, so the good bindings keep working while the mistake is surfaced. The standalone prints both errors and warnings to stderr on every load and hot-reload.
Built from a8ce055 at version 0.115.0. This site tracks main and is not versioned per release.