Skip to content

Conversation

@61cygni
Copy link
Contributor

@61cygni 61cygni commented Dec 30, 2025

Right now the shader clipping logic doesn't correct use the two eye cameras in VR mode. Instead it creates two disk artifacts that float near the portal and move based on the users location. This patch turns off the shader clipping when using VR to avoid this obvious visual bug.

61cygni and others added 5 commits December 25, 2025 02:48
Previously, the pager was only assigned to meshes when the pager was
first created (inside the 'if (!this.pager)' block). This meant that
new paged SplatMesh objects added to the scene after the pager was
already initialized would never get the pager assigned, causing
'PagedSplats.pager not set' errors when the renderer tried to update
their LOD indices.

The fix moves the pager assignment loop outside the conditional so it
runs every frame when there's a pager, ensuring new meshes get the
pager assigned.
- Add SparkPortals.ts: reusable portal implementation library
- Add examples/newportal/index.html: example using SparkPortals
- Update NewSparkRenderer.ts: fix lint error (remove redundant ternary)
- Update index.ts: export SparkPortals
- Add PortalCrossCallback type for async portal crossing callbacks
- Add onCross property to PortalPair interface
- Update addPortalPair to accept onCross in options
- Invoke callback in updateTeleportation after teleportation completes
@61cygni 61cygni requested a review from asundqui December 30, 2025 17:42
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.

3 participants