# Pinned upstream renderer

`supersplat-editor/` contains verbatim runtime sources from
[SuperSplat Editor v3.0.0](https://github.com/playcanvas/supersplat/tree/v3.0.0),
commit `12398f7f6997bd59bdd82876fd90fc87a6ec6f68` (2026-09-08).
Its [manifest](supersplat-editor/manifest.json) records every source SHA-256;
`node --test tests/run.test.mjs` verifies the copies. The upstream MIT license
is included unchanged.

The adapter imports the editor's projector, sorter integration, shaders,
chunked loader, resources, instance lists, palettes and final blit. It supplies
a neutral scene with sorted rendering, no editing overlays, native resolution
and the editor's fp16 accumulation target. The editor UI is outside this test.
It uses the release's exact dependencies: PlayCanvas 2.22.0 and
`@playcanvas/splat-transform` 3.3.3. The separate SuperSplat Viewer 1.31.2
ships its own bundled PlayCanvas 2.22.1 renderer and has its own column.

To refresh a listed source, copy its exact path from
`https://raw.githubusercontent.com/playcanvas/supersplat/<commit>/<path>`,
then update the manifest after checking the dependency versions and adapter.
Do not edit the vendored algorithms to improve a competitor's result.

The old three.js `dev` vendor is retired. The official addon now comes directly
from npm's `three@0.186.0`, installed as `three-r186`. Its benchmark bundle
aliases all internal `three` imports to that release. Other products retain
their existing Three.js version.
