VOXEL REFLECTIONS
1.0.0-rc.1Open the lab ↗GitHub ↗

Contributing

Use the pinned Three.js minor revision and Node.js 22+. Keep scene baking, radiance storage, shader traversal and material attachment separate. Public methods and fields require explicit types suitable for isolated declaration generation.

For a change to voxel indexing, opacity composition, mip sampling or ray traversal, extend the CPU tests and the GPU readback comparison. Add a fixture that would fail without the change; screenshots alone are not enough. For material integration, verify that existing nodes are restored and that shared scene resources are not destroyed.

Run npm run check, then the appropriate browser suite. A native-WebGPU claim requires a native backend run; a WebGL comparison must remain labeled WebGL. Record device/browser details for performance measurements.

Run npm ci after cloning. npm run validate executes semantic/unit, WebGL, native WebGPU, clean tarball consumer and built-site checks, then records the evidence and source hashes. Set CHROME_BIN to use an existing Chrome installation. For docs-only changes, npm run build:site and npm run test:site verify generated links and interactive examples under a Pages-style subpath. Documentation source is Markdown in docs/; _site/ and dist/ are generated and ignored.

Do not commit node_modules, generated registry credentials, browser profiles, or large external assets. Keep generated validation images small and attributable to a reproducible fixture.