Repository navigation
Aura3D 4.0.7
Pre-release
Pre-release
Superseded. This version is deprecated. Upgrade to Aura3D 4.7.16.
Fixes found by porting eleven Crayon games and by verifying WebXR, WebGPU compute and the batching path on a real browser.
- Fix:
batched.mesh/instances.meshmulti-draw was broken on a real WebGL2 context. The draw-data texture was bound as a rawTexture;u_drawIdwas uploaded withuniform1f; the shader extension name was wrong (GL_ANGLE_multi_draw;WEBGL_multi_drawis now enabled at device creation); andcanMultiDrawcomparedTextureBindings by identity so no scene ever merged. A 92-vehicle frame went from 92 per-vehicle draws to 3 multi-draw calls carrying 552 members. - Fix:
material.customno longer silently skips a draw when a declared uniform is unused. The GLSL compiler optimises unused uniforms out; they are now flagged optimisable, the draw proceeds, and the material reportsCUSTOM_UNIFORM_UNUSED. A genuinely missing required binding still fails with a named error. - Fix: WebXR runtime (verified against the independent
iwerWebXR emulator in remote headless Chromium, not a headset): thelocal-floorreference space is now requested as a session feature; a failed reference-space request no longer leaks the XR session; per-eye viewports are persistent instead of being reset bybeginFrame; zero-width views (mono devices) are skipped instead of failing the session;xr.button({ app })accepts a plainAuraApp. - Verified: WebGPU compute (
compute.*) runs on a real software-WebGPU device: vector add over 65,536 elements, a shared-memory reduction and 2D/3D dispatches read back exactly. WebGPU canvas presentation works in headed Chromium under Xvfb (add@headed-xvfbtoSPECSon the remote runner); headless Chromium + SwiftShader still destroys the device at the first presented frame. - Codemod: the
VRButton,ARButtonandWebXRManagerrows are nowapproximate(emulator-verified; real-headset behaviour, frame pacing and the opaque-framebuffer path are untested). - Tooling and examples (not published packages): a slim remote-runner build context (209 MB instead of 1.9 GB); deterministic capture tooling and ports of eleven Crayon games under
examples/*-port/with replay-verified simulations (seedocs/workflows/threejs-parity-gaps.mdfor per-game scope and gaps).