Skip to content

Commit a26558e

Browse files
lanmowerclaude
andcommitted
fix: isomorphic xstate imports + singleplayer worker boot
- TickSystem, ReconnectManager: replace bare 'xstate' static import with top-level await dynamic import using _isNode guard — Chrome 145 workers do not inherit page importmaps, causing bare specifier resolution to fail - XRWidgets: fix updateFade() to use _fadeActor.getSnapshot().value instead of undefined fadeState variable - server.js: fix stale watcher for client/animation.js → AnimationStateMachine + AnimationLibrary - draco: add missing draco_wasm_wrapper.js and draco_encoder.js files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6c0c98f commit a26558e

6 files changed

Lines changed: 158 additions & 5 deletions

File tree

client/XRWidgets.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,9 @@ export function createXRWidgets(renderer, scene, camera, vrSettings) {
155155

156156
function updateFade(dt) {
157157
if (!fadeQuad) { const q = new THREE.Mesh(new THREE.PlaneGeometry(2, 2), new THREE.MeshBasicMaterial({ color: 0x000000, transparent: true, opacity: 0, depthTest: false, depthWrite: false })); q.renderOrder = 9999; fadeQuad = q; camera.add(fadeQuad); fadeQuad.position.z = -0.1 }
158-
if (fadeState === 'in') { fadeOpacity += FADE_SPEED * dt; if (fadeOpacity >= 1) { fadeOpacity = 1; fadeState = 'delay'; setTimeout(() => { fadeState = 'out' }, FADE_DELAY) } }
159-
else if (fadeState === 'out') { fadeOpacity -= FADE_SPEED * dt; if (fadeOpacity <= 0) { fadeOpacity = 0; fadeState = 'none' } }
158+
const fs = _fadeActor.getSnapshot().value
159+
if (fs === 'fadeIn') { fadeOpacity += FADE_SPEED * dt; if (fadeOpacity >= 1) { fadeOpacity = 1; _fadeActor.send({ type: 'FULL' }); setTimeout(() => _fadeActor.send({ type: 'RESUME' }), FADE_DELAY) } }
160+
else if (fs === 'fadeOut') { fadeOpacity -= FADE_SPEED * dt; if (fadeOpacity <= 0) { fadeOpacity = 0; _fadeActor.send({ type: 'DONE' }) } }
160161
fadeQuad.material.opacity = fadeOpacity; fadeQuad.visible = fadeOpacity > 0.01
161162
}
162163

client/draco/draco_encoder.js

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)