Skip to content

fix(examples): set unified=false in gsplat-legacy picking example#8804

Merged
mvaligursky merged 1 commit into
mainfrom
mv-fix-legacy-picking-example
May 28, 2026
Merged

fix(examples): set unified=false in gsplat-legacy picking example#8804
mvaligursky merged 1 commit into
mainfrom
mv-fix-legacy-picking-example

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

The legacy gsplat picking example documents itself as "using legacy (non-unified) mode" but its addComponent('gsplat', { ... }) calls never specified unified: false. After #8802 flipped the default to true, the example was silently created in unified mode and then crashed in its click handler at gsplat.instance.meshInstance (instance is null in unified mode).

Changes:

  • Pass unified: false to the gsplat addComponent call in the legacy picking example. Restores legacy mode as the example's header documents.

Examples:

The legacy gsplat picking example documents itself as "using legacy
(non-unified) mode" but its addComponent('gsplat', { ... }) calls never
specified unified: false. After #8802 flipped the default to true, the
example was silently created in unified mode and crashed in its click
handler when it accessed gsplat.instance.meshInstance (instance is null
in unified mode).

Adding unified: false restores legacy mode as the example documents,
and produces exactly the one expected DEPRECATED: GSplatComponent#unified
warning on startup — the intended migration signal from #8802.
@mvaligursky mvaligursky self-assigned this May 28, 2026
@mvaligursky mvaligursky merged commit 0314ea3 into main May 28, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-fix-legacy-picking-example branch May 28, 2026 13:41
mvaligursky added a commit that referenced this pull request May 28, 2026
Follow-up cleanup to the unified-default flip (#8802, #8803, #8804).
Unified rendering is now the default and the unified property is
@deprecated/@ignore, so the public API docs and examples shouldn't be
framed around "unified mode" any more — it's just gsplat rendering.

Engine source:
- GSplatComponent: remove the "## Unified Rendering" section from the
  class JSDoc; strip the JSDoc blocks from material get/set and
  highQualitySH get/set (both are legacy-only and only documented the
  unified/non-unified distinction). Drop "unified" qualifiers from
  workBufferUpdate, workBufferModifier, setParameter, and
  getInstanceTexture JSDocs.
- GSplatComponentSystem: drop "in unified mode" from the
  material:created and frame:ready event JSDocs, and from the
  getMaterial JSDoc.
- GSplatParams: rename "Parameters for GSplat unified system" to
  "Parameters for the GSplat system"; drop "unified" qualifier from
  dataFormat, material, and format JSDocs.
- GSplatContainer: drop "non-unified rendering" from the class example
  comment, drop unified: true from the addComponent example, drop
  "unified" qualifier from the centers JSDoc.

Examples (gaussian-splatting folder):
- Remove unified: true from every addComponent('gsplat', { ... }) call
  (~40 occurrences across 29 files) — it's now the default and the
  property is deprecated.
- Reword/remove comments that mention "unified" framing now that it's
  just the standard path (e.g. "Create hotel gsplat with unified set
  to true" → "Create hotel gsplat").
- Drop three stale orbit-pivot comments ("unified gsplats have no mesh
  AABB for focusEntity framing") — these became factually incorrect
  once #8803 made orbit-camera unified-aware.
- Update global-sorting example header from "demonstrates unified
  gsplat rendering" to "demonstrates global gsplat sorting" to reflect
  what the example actually shows.

Remaining "unified" mentions in the engine are all either internal
(private fields, code comments, code branches), runtime warning strings
(which must keep the property name), @ignore'd JSDoc, or directory
names — none render in public docs.

Co-authored-by: Martin Valigursky <mvaligursky@snapchat.com>
mvaligursky added a commit that referenced this pull request May 28, 2026
Follow-up cleanup to the unified-default flip (#8802, #8803, #8804).
Unified rendering is now the default and the unified property is
@deprecated/@ignore, so the public API docs and examples shouldn't be
framed around "unified mode" any more — it's just gsplat rendering.

Engine source:
- GSplatComponent: remove the "## Unified Rendering" section from the
  class JSDoc; strip the JSDoc blocks from material get/set and
  highQualitySH get/set (both are legacy-only and only documented the
  unified/non-unified distinction). Drop "unified" qualifiers from
  workBufferUpdate, workBufferModifier, setParameter, and
  getInstanceTexture JSDocs.
- GSplatComponentSystem: drop "in unified mode" from the
  material:created and frame:ready event JSDocs, and from the
  getMaterial JSDoc.
- GSplatParams: rename "Parameters for GSplat unified system" to
  "Parameters for the GSplat system"; drop "unified" qualifier from
  dataFormat, material, and format JSDocs.
- GSplatContainer: drop "non-unified rendering" from the class example
  comment, drop unified: true from the addComponent example, drop
  "unified" qualifier from the centers JSDoc.

Examples (gaussian-splatting folder):
- Remove unified: true from every addComponent('gsplat', { ... }) call
  (~40 occurrences across 29 files) — it's now the default and the
  property is deprecated.
- Reword/remove comments that mention "unified" framing now that it's
  just the standard path (e.g. "Create hotel gsplat with unified set
  to true" → "Create hotel gsplat").
- Drop three stale orbit-pivot comments ("unified gsplats have no mesh
  AABB for focusEntity framing") — these became factually incorrect
  once #8803 made orbit-camera unified-aware.
- Update global-sorting example header from "demonstrates unified
  gsplat rendering" to "demonstrates global gsplat sorting" to reflect
  what the example actually shows.

Remaining "unified" mentions in the engine are all either internal
(private fields, code comments, code branches), runtime warning strings
(which must keep the property name), @ignore'd JSDoc, or directory
names — none render in public docs.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant