Skip to content

Point the downtown example at a single full-scene streamed SOG bundle - #9290

Merged
mvaligursky merged 1 commit into
mainfrom
mv-downtown-lublin-full
Sep 3, 2026
Merged

Point the downtown example at a single full-scene streamed SOG bundle#9290
mvaligursky merged 1 commit into
mainfrom
mv-downtown-lublin-full

Conversation

@mvaligursky

Copy link
Copy Markdown
Contributor

The Lublin downtown capture is now published as one multi-LOD streamed SOG bundle (downtown_02) instead of four. The original four-way split existed only because the decimator could not hold the 17.6 GB source in a single pass; splat-transform can now build a full-scene adaptive (error-metric) LOD chain over the whole capture, so the example no longer needs to reassemble pieces.

The new bundle also carries per-node LOD error metadata, which the earlier one predates, so this adds a control to switch the budget balancer between error-driven and distance-driven level selection.

Changes:

  • Load a single gsplat asset from downtown_02/lod-meta.json rather than four downtown_01/ssog0-3 bundles
  • Simplify the scene setup accordingly: config.url is a single string, there is one asset and one entity, and the pieces / gsInstances arrays and the intermediate root entity are gone. The scene rotation and the reveal script now live on the scene entity itself, and the combined-bounds loop collapses to one setFromTransformedAabb
  • Add an Error/Distance LOD Mode dropdown to the controls, defaulting to error
  • Update the header stats to the new bundle: 259M splats at full detail (517M across 10 LOD levels), 20767 files, 6.1 GB
  • Drop a stale VERIFY/ADJUST note on sceneRotation, now confirmed against the data

Examples:

  • gaussian-splatting/downtown — single-bundle loading, plus the new LOD Mode control

The Lublin downtown capture is now published as one multi-LOD streamed SOG
bundle (downtown_02) instead of four. The original four-way split existed only
because the decimator could not hold the 17.6 GB source in a single pass;
splat-transform can now build a full-scene adaptive (error-metric) LOD chain
over the whole capture, so the example no longer needs to reassemble pieces.

The new bundle also carries per-node LOD error metadata, which the earlier one
predates, so this adds a control to switch the budget balancer between
error-driven and distance-driven level selection.

- load a single gsplat asset from downtown_02/lod-meta.json
- simplify the scene setup: one asset and one entity, no pieces/gsInstances
  arrays and no intermediate root entity
- add an Error/Distance LOD Mode dropdown, defaulting to error
- update the header stats for the new bundle
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Build size report

This PR does not change the size of the minified bundles.

Bundle Minified Gzip Brotli
playcanvas.min.js 2407.4 KB — 620.0 KB — 481.4 KB —
playcanvas.min.mjs 2404.7 KB — 618.7 KB — 480.4 KB —

@mvaligursky
mvaligursky merged commit 6864767 into main Sep 3, 2026
10 checks passed
@mvaligursky
mvaligursky deleted the mv-downtown-lublin-full branch September 3, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant