Skip to content

Support dynamic Gaussian updates - #757

Merged
brentyi merged 3 commits into
viser-project:mainfrom
maxwildersmith:main
Aug 11, 2026
Merged

Support dynamic Gaussian updates#757
brentyi merged 3 commits into
viser-project:mainfrom
maxwildersmith:main

Conversation

@maxwildersmith

Copy link
Copy Markdown
Contributor

Added a set_gaussians function to update the Gaussians in a Gaussian Splat handle rather than needed to manually update the buffer, since these buffer updates can occasionally glitch and stop rendering.

maxwildersmith and others added 2 commits August 9, 2026 07:04
…king helpers

- Assemble the buffer locally and store it via a single property
  assignment, instead of resizing through _ensure_buffer_size (which
  queued an extra all-default buffer message on count changes, flashing
  white gaussians on clients) and calling _queue_update directly (which
  bypassed the removed-handle guard and could resurrect removed nodes).
- Extract _pack_centers/_pack_covariances/_pack_rgba helpers shared by
  set_gaussians and the four per-property setters, so the 32-byte buffer
  layout is encoded in one place.
- Add tests: round-trip through property getters (incl. count change and
  N=0), exactly one queued buffer update on resize with no aliasing, and
  RuntimeError after remove().

@brentyi brentyi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @maxwildersmith!

@brentyi
brentyi merged commit 1a67056 into viser-project:main Aug 11, 2026
23 checks passed
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.

2 participants