The [path] table
The shape_field system draws a silhouette from a closed roster of five names —
or from a position between two of them, since a fractional shape blends the
two arms it lies between and an eased binding carries the figure from one to the
next
(ADR-0226).
A [path] table is the escape hatch: inline SVG path data, parsed once at
load into a closed contour and rendered as the same signed-distance field, so a
preset can author a figure nobody put in the roster.
system = "shape_field"
[path]d = "M 0,-1 C 0.9,-0.4 0.9,0.4 0,1 C -0.9,0.4 -0.9,-0.4 0,-1 Z"morph_to = "M 0,-1 L 0.87,0.5 L -0.87,0.5 Z" # optional; `morph` travels to itsamples = 64 # 3..=64, default 64The supported subset is M m L l H h V v C c S s Q q T t Z z. A/a (the
elliptical arc) and a second subpath are refused by name, each with an error
saying what it found — an author meeting one is holding a file a browser renders
correctly, so “invalid path” would be a cruel thing to say. Anything else that
goes wrong is a load error carrying the character offset into d, because a
mis-parsed path renders as a plausible wrong figure rather than as a mistake.
morph is an ordinary binding under this document’s language, and [smoothing]
reaches it like any other — the pair is aligned once at load (winding, start
point, arc-length arity) so nothing per frame re-derives a correspondence.
Parameter roster carries the rest: the arity ceiling and the measurement it came from, which pairs morph well, and the plain fact that a long path stops a preset being readable.
Built from 13c7582 at version 0.158.0. This site tracks main and is not versioned per release.