feat(splats): Add RAD renderer with Coit Tower parity diagnostics#3431
Draft
charlieforward9 wants to merge 8 commits into
Draft
feat(splats): Add RAD renderer with Coit Tower parity diagnostics#3431charlieforward9 wants to merge 8 commits into
charlieforward9 wants to merge 8 commits into
Conversation
2c51f9e to
4b00375
Compare
Collaborator
Author
|
@ibgreen could use your eyes on the current Coit Tower RAD renderer state. I refreshed the PR title/body with the latest Spark-vs-loaders screenshot, exact repro steps, and validation notes. The useful signal from the latest run: tile overflow is now controlled at the current 64k render-page size ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
Move the RAD splat renderer/demo toward Spark 2.x Coit Tower parity while keeping this PR reviewable as the renderer-side follow-up to the SPZ/RAD loader work.
Use Spark as the reference experience for Coit Tower: same dataset, Spark-like FoV/LoD/foveation budgets, and an explicit side-by-side capture so the remaining visual/performance gap is easy to discuss. @ibgreen feedback requested on the renderer architecture and remaining parity gap.
Actual changes
sqrt(8)Gaussian support, larger residency budget, lower request pressure while moving, and settled/interacting request cadence.Current Coit comparison
Current loaders.gl capture metrics from the screenshot run:
3,749,995 / 50,937,127 splats60,609 ms264 chunks | 58 pages | 3,749,995 draw | 0 req | 18 evict | 0 ovf | 591 msThis is intentionally not called complete parity yet. The tower is more resolved and the tile overflow path is controlled at this page size, but the background/city still does not match Spark and the coarse LoD appearance is still visibly wrong. The next useful review target is whether the remaining gap is mostly LoD frontier selection, parent splat covariance/projection, color/alpha evaluation, or sort/blend behavior.
Reproduction Steps
Open
http://127.0.0.1:5177in Chrome with WebGPU enabled.Load the Coit Tower RAD URL:
Validation
yarn lint fixwas attempted on this Windows checkout, but the existing wrapper exits1with no diagnostics through the git hook/lint path.yarn test-headless modules/deck-layers/test/splat-layer.spec.tsyarn test-headless modules/splats/test/rad-source-loader.spec.tsyarn --cwd examples/website/gaussian-splats buildThe Gaussian splats build passes with existing Vite warnings about browser externalization for
worker_threads/Node stream shims and large chunks.