Synthetic large-scene generators for the perf bench.
Builds an InstancedLinesMeshConfig, an InstancedGSplatsMeshConfig,
or a points payload at configurable instance counts; the debug
injector (core/app/debug/debug-interface.ts) pushes the resulting
mesh into the live scene via the existing node-factory +
material-manager pipeline. Used exclusively by the perf-bench
harness to exercise the bandwidth-bound regime (millions of
elements) without needing a real on-disk zarr file.
Not loaded in production builds — the only consumers are the
__luxarDebug.injectSyntheticScene(...) debug API and the
perf-bench Playwright specs that call it.
Generators are PURE (typed arrays in/out, seeded PRNG, no THREE
runtime import) so they unit-test headlessly. The lines generator's
positions/colors/lengths are kept byte-for-byte as originally shipped
(pinned by the line-perf-bench.spec.ts 10 M-segment scenario
contract; the joint-code arrays are derived from the same walk
without consuming PRNG draws, so the pinned arrays are untouched); the
points/gsplats generators share the seeded-RNG + gaussian-cluster
sampling scaffolding below.
Synthetic large-scene generators for the perf bench.
Builds an
InstancedLinesMeshConfig, anInstancedGSplatsMeshConfig, or a points payload at configurable instance counts; the debug injector (core/app/debug/debug-interface.ts) pushes the resulting mesh into the live scene via the existingnode-factory+material-managerpipeline. Used exclusively by the perf-bench harness to exercise the bandwidth-bound regime (millions of elements) without needing a real on-disk zarr file.Not loaded in production builds — the only consumers are the
__luxarDebug.injectSyntheticScene(...)debug API and the perf-bench Playwright specs that call it.Generators are PURE (typed arrays in/out, seeded PRNG, no THREE runtime import) so they unit-test headlessly. The lines generator's positions/colors/lengths are kept byte-for-byte as originally shipped (pinned by the
line-perf-bench.spec.ts10 M-segment scenario contract; the joint-code arrays are derived from the same walk without consuming PRNG draws, so the pinned arrays are untouched); the points/gsplats generators share the seeded-RNG + gaussian-cluster sampling scaffolding below.