Skip to content
Русский

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 system name.
  • 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], [field], [cellular], [plexus], [palette], [smoothing], [latch]) - including a [path] d the parser refuses, which names the character offset it stopped at, a [field] map or trap on a family that has no orbit, a [cellular] grid outside 16..=1024, and a [plexus] points outside 16..=4096.

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 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.