Viewer prototypes
These are the project’s working prototypes, built from playground/ and published with this site. They
are development artefacts rather than polished demos: they exist to exercise the engine end to end.
Geometry — implicit CSG
Section titled “Geometry — implicit CSG”- Implicit CSG (surface nets) — the plane-native BSP mesher and noise op, meshing implicit CSG solids.
- Implicit raymarch (hybrid) — the same implicit geometry rendered by raymarching, and the hybrid mesh/raymarch path.
SpatialData viewers
Section titled “SpatialData viewers”- Image viewer (1a) — one HTJ2K image streamed per-chunk under camera control, with the decision-view inset showing which chunks the view demanded.
- Multi-image scene editor — several images co-registered in one scene, each with an editable 3D transform (gizmo + numeric panel) and layer blending. See the write-up.
- Volume viewer (3D) — raymarched volumetric HTJ2K: z-slab bricks streamed under a degrade-to-fit budget, with an auto-ranged transfer function.
Engine & analysis
Section titled “Engine & analysis”- Operation-graph composer — the React Flow composer for the in-GPU operation graph.
- Datasource decision view — the view-driven multiscale datasource against synthetic data: level selection, chunk residency, and the volume raymarch A/B.
- HsPf — spatial selection/migration — the spatial GPU example.
- Cell-type spatial statistics — MuSpAn-style TCM, cross-PCF and the
N-way association matrix over cell centroids, as a coordinated view: hover the matrix to link every
panel to a cell-type pair. Γ is rendered as two additive GPU passes rather than a neighbour search
(the derivation lives in
docs/cell-stats.mdin the repo), with the exact CPU oracle one button away. Reads a SpatialData store, a CSV export, or a built-in fixture. - Transcript co-location modes — the same Gram form over transcript density instead of cells: pan and zoom a Morton-tiled Xenium store over its H&E (sd.js’s WebGPU view), and the co-location matrix and mode map recompute for the part in view, from tiles fetched once and cached. Gene sets and the panel’s negative controls are channels; plain-language notes sit beside the maths.