Two prototypes: rose-curve path/stars, and a parameter-sweep tool
Both built from checking Morphing's flip-through video frame by frame. The path trait now
wobbles via a real epicycloid formula (ported from the book's p.217 cone-with-spiralling page,
z dropped) instead of one smooth Bezier; the "anchor star" is now a small closed-rose-curve
constellation instead of a single dot, using the same formula at full 0..2π. Both are seed-derived,
so still fully deterministic per anchorId.
x(u) = ampA·cos(freqA·u) + cos(freqB·u)
y(u) = ampA·sin(freqA·u) + sin(freqB·u)
path: u = t·arcTurns·2π, t in [0,1], lateral offset only, shrinking to 0 at the vanishing point
rosette: u in [0, 2π), full closed loop, small radius, centered on the anchor-star position
Sweep 1 — connections=0..6 (same anchor id, "leiden-station-2-a")
connections=0
trees=3 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=1
trees=4 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=2
trees=5 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=3
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=4
trees=7 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=5
trees=8 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
connections=6
trees=9 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
Sweep 2 — freshness=1.0..0.0 (same anchor id, connections fixed at 3)
freshness=1.00
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
freshness=0.80
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
freshness=0.60
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
freshness=0.40
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
freshness=0.20
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
freshness=0.00
trees=6 stars=8
path: turns=1.22 freqA=6 ampA=0.10
rosette: freqA=3 ampA=0.56 freqB=1
Live version of this second prototype (the sweep tool itself, not just a snapshot):
/workbench/sweep?axis=connections&steps=8 or ?axis=freshness on
trail-of-crumbs, once deployed — takes anchorId/axis/steps
as query params, so any future trait change can be checked the same way without a one-off script.
Both pieces of code: apps/trail-of-crumbs/src/lib/crumbIcon.ts (the rose-curve path/stars)
and apps/trail-of-crumbs/src/routes/workbench/sweep/ (this grid tool).