Skip to content

Add a GSplat streaming test example, PREFERRED_DEVICE flag, and numSplats accessor#8847

Merged
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-streaming-example
Jun 5, 2026
Merged

Add a GSplat streaming test example, PREFERRED_DEVICE flag, and numSplats accessor#8847
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-streaming-example

Conversation

@mvaligursky

Copy link
Copy Markdown
Contributor

Adds a new Gaussian Splat LOD-streaming test example, plus the small framework and engine additions it relies on.

Changes:

  • New example: a GSplat LOD streaming test example (gaussian-splatting category), with thumbnails.
  • Engine — GSplatOctreeResource.numSplats: read-only accessor returning the full-detail (LOD 0) splat count of a streamed gsplat resource. The LOD streaming system only keeps a view-distance / budget-dependent subset resident at runtime; this reports the total.
  • Examples — PREFERRED_DEVICE config flag: new // @flag PREFERRED_DEVICE=webgpu|webgl2 that sets the first-time default graphics device when the user has no stored preference. An explicit user choice (localStorage / URL) always wins; defaults to webgl2 when unset. Wired through iframe/state.mjs (device resolution order), utils/example-source.mjs (config typedef + parsing), validated in eslint.config.mjs, and documented in README.md.
  • .gitignore: ignore .claude/.

API Changes:

  • Added GSplatOctreeResource.numSplats (getter).

…lats accessor

- New GSplat LOD streaming test example (gaussian-splatting category) with thumbnails.
- Engine: GSplatOctreeResource.numSplats accessor returning the full-detail (LOD 0)
  splat count of a streamed gsplat resource (the LOD system keeps only a
  view/budget-dependent subset resident at runtime).
- Examples: PREFERRED_DEVICE config flag (@Flag PREFERRED_DEVICE=webgpu|webgl2) to set
  the first-time default graphics device when the user has no stored preference; an
  explicit user choice always wins. Wired through iframe/state.mjs, utils/example-source.mjs,
  validated in eslint.config.mjs, documented in README.md.
- .gitignore: ignore .claude/.
@mvaligursky mvaligursky self-assigned this Jun 5, 2026
@mvaligursky mvaligursky merged commit 6cfdf96 into main Jun 5, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-gsplat-streaming-example branch June 5, 2026 10:56
mvaligursky added a commit that referenced this pull request Jun 5, 2026
…lats accessor (#8847)

- New GSplat LOD streaming test example (gaussian-splatting category) with thumbnails.
- Engine: GSplatOctreeResource.numSplats accessor returning the full-detail (LOD 0)
  splat count of a streamed gsplat resource (the LOD system keeps only a
  view/budget-dependent subset resident at runtime).
- Examples: PREFERRED_DEVICE config flag (@Flag PREFERRED_DEVICE=webgpu|webgl2) to set
  the first-time default graphics device when the user has no stored preference; an
  explicit user choice always wins. Wired through iframe/state.mjs, utils/example-source.mjs,
  validated in eslint.config.mjs, documented in README.md.
- .gitignore: ignore .claude/.

Co-authored-by: Martin Valigursky <mvaligursky@snapchat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant