The [field] table
An analytic_field preset draws one closed-form function of position across the whole frame —
no state between frames, nothing accumulated, the picture a pure function of this frame’s
bindings. [field] picks which function:
system = "analytic_field"
[field]family = "escape_time" # "chladni" or "escape_time"; any other name is a load errormap = "julia" # escape_time only: "julia" (the default) or "mandelbrot"trap = "cross" # escape_time only: "none" (the default), "point", "line", "cross", "circle"All three keys are read once, at load, and are not bindable. A preset with no [field] table
draws the Chladni plate. map or trap on the chladni family is a load error rather than a
silent no-op — the plate has no orbit for either to act on.
The two families share one parameter surface, following
ADR-0180:
every parameter below is read by one family only and does nothing on the other. The colour and
framing parameters — color_span, color_center, brightness, hue, zoom, pan_* and the
shared palette block — read the same on both.
family | The figure | Structural | Modal |
|---|---|---|---|
chladni | The nodal lines of a square plate: the zero set of cos(n π x) cos(m π y) − cos(m π x) cos(n π y) | mode_n, mode_m | line_width, plate_mix |
escape_time | z → z^power + c iterated to an escape radius, coloured by the smooth iteration count | iterations | c_re, c_im, escape_radius, power, interior, trap_radius, trap_rotate |
What each family does with them:
chladni— the figure is two whole numbers.mode_nandmode_mare rounded before the plate sees them, because a fractional mode is not a standing wave of the plate at all. Equal modes cancel and the plate goes blank. The plate spans the frame’s short axis atzoom = 1and stays square at any window shape.line_widthis the band’s width in plate units, the same number of pixels wherever the lines run;plate_mixblends from the lines alone toward the whole signed wave. A mode bound to audio re-picks the figure on every frame — bind it through[hold]so it changes on the beat or the bar instead.escape_time—cis the lever. On thejuliamap,c_reandc_imare the constant, and movingcfrom inside the Mandelbrot set to outside it takes the figure from one connected piece to scattered dust — a bass-drivenc_redoes exactly that on the music. On themandelbrotmap the pixel iscand both are inert.powerabove2adds lobes; a fractional power tears the figure along the negative real axis, so reach for whole numbers unless the seam is the look.interioris the light of the set itself (0is the textbook black).escape_timecolours continuously. The palette follows the smooth iteration count, so the boundary reads as a glow rather than as contour steps, and one iteration spans a fixed 1/32 of the palette atcolor_span = 1— raisingiterationsnever recolours a pixel that escaped early. Band it deliberately withpalette_steps, as on any other system.- A
traprecolours by nearness. With a trap, a pixel takes the palette at the smallest distance its orbit came to the trap shape instead of at its escape count — which is what draws filaments, rings and stained-glass cells. Every shape sitstrap_radiusfrom the origin (the circle’s radius, the line’s offset, the point’s and the cross’s distance) and turns bytrap_rotatein whole turns, which is inert on acircle.trap = "none"draws exactly the untrapped picture.
iterations is capped by the quality tier. A tier that chose the count would make one preset
two different pictures, so the preset asks and the tier bounds: the Floor tier allows 64, the Rich
tier 512. A preset asking within 64 renders identically on both. One asking for more is drawn at
the cap and says so — the standalone prints which preset asked for how many and what it was
drawn at, the same way it reports a segment cap or a tier demotion. Author against 64 unless the deep look is
the point.
The range that reads for each parameter, and the family it is inert on, is printed in the
analytic_field table of Parameter roster.
Built from 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.