Step one of v5: see the rooms with their fixtures. Ship chambers, fully procedural: foam
voronoi rooms, an art-deco component per room (superformula + fBm value-noise, dark
jewel body + gold so it reads by value), wall consoles grown from the tiling, and physical
light sources grown from the walls (sconce / coral / crystal) glowing the chamber hue. The light is
ray-traced through the tiling — it pools in its room and spills through doorways, with real wall shadow.
Roll the combinatorics. Next steps wire these into the walkable world.
mega/sprite/fixture/ — itself a descendant of
hoop's paint/voronoi.js). voronoi.js (foam painter) · deco.js (superformula +
fBm components) · consoles.js (wall consoles grown from the tiling) · lights.js (wall-grown
emitters + ray-traced occlusion: an Amanatides-Woo voxel walk over a rasterised wall grid; colour accumulates
per visible emitter so doorways catch a neighbour's hue). Hue correlates per chamber (light ↔ component); contrast is
value + shape + gold. Pure & node-tested (test/{lights,consoles,fixtures}.selftest.mjs, 55 checks).
This is step one — the rooms rendered with their fixtures; later steps bake this over the live walkable world's
chunked foam (js/world.js's per-chunk mesh()).