Stage D: the tree says what it is

app/ is five folders instead of seventeen loose modules: core (state, world, share), audio (live, targeting, fonts, precache, export, notefeed), map, panels, entries. engine/faust/ separates the three unrelated things it had been holding in one place — live/ press/ voices/ codec/ build/ data/.

• THE CYCLE. app/ carried two import cycles that worked only because ESM live-bindings resolve at call time.

• THREE SPLITS. starcruise.js 2,297 -> bridge/scene/camera/probes; starmap.js 910 -> viewport/layout/draw/gestures/viz-zoom behind an unchanged import surface

• THE PAGES. Six HTML files carried duplicated head and inline style; the CSS is extracted and the social head is consistent and gated.

• FIVE REGRESSIONS the sweep caught and fixed, each broken-then-green: three test/unit gates and one tools/build script had require paths one level off after the move, which no import checker sees because they…

Verified: verify.sh 13/13. diagonal dominant: 274/274. meter green. Structure is all any of that proves; the ears are still owed.

▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose https://stellate.app/access.html?genre=ambient&seed=6098

0a76d1b https://github.com/aboard-io/stellate/commit/0a76d1bafc1437fa5a230e6c53ece1687e67cd34