100k splats (1.4MB) — ~2.3% of original · StoryFox owns coordinates, the governed bed, zones and the actor proxy; Marble is the visual layer only.
Density ladder: 100k and 500k are the affordable web assets (1.4MB / 7.9MB) but read soft. 4.32M is the full Marble quality (67MB) and needs a real GPU — it will not render acceptably under software rendering. Compare A·100k → A·500k → A·4.32M on your machine to judge whether Marble's quality survives embedded. No progressive/LoD upgrade in Spark 0.1.x — each option loads that exact density.
Dev traversal: drag = look · W/A/S/D = move · Q/E = down/up · Shift = fast
Runtime (measured)
- Candidate
- A · 100k
- Status
- ready
- FPS (sw)
- 18
- Splats
- 99,846
- Load ms
- 849
- Draw calls
- 29
- Triangles
- 180,180
- Source
- splat
StoryFox governance (runtime validation)
- ✓bed_not_in_water (planting bed corners vs forbidden water)
- ✓bed_water_clearance (gap=2.50 need>=0.8)
- ✓actor_not_in_water (actor spawn vs water)
- ✓bed_in_bounds
- ✓path_clear_of_water (path nodes vs water)
Marble = visual truth only. StoryFox owns {x, z, elevation}, walkability, the governed bed, the actor proxy and interaction — validated independently of Marble.