Released: 2026-04-29
The 0.5 line opens by consolidating the grouped-namespace migration begun in
v0.4.9 into a stable, canonical contract. 100+ bare globals are retired in favor
of nova64.* sub-namespaces shared identically across Three.js, Babylon, and
Godot.
nova64.* namespace — every cart in the official gallery (71+) and
every internal runtime callsite migrated to nova64.draw.*, scene.*,
camera.*, light.*, fx.*, shader.*, input.*, audio.*, physics.*,
voxel.*, ui.*, tween.*, sprite.*, data.*, util.*, xr.*, wad.*.
runtime/namespace.js (NAMESPACE_MAP + buildNamespace()) is the single
canonical cart-facing contract for all three backends.runtime/backends/babylon/noa-adapter.js +
noa-prototype.js back the shared nova64.voxel.* API with native chunk
meshing: identical cart code, two voxel runtimes.@babylonjs/core 9.4.1) with Cardboard fallback; deterministic seeded TSL
galaxy guardrail.minecraft-demo, f-zero-nova-3d,
star-fox-nova-3d, space-harrier-3d, fps-demo-3d (with WAD map picker)
running natively via GDExtension + QuickJS; JS syntax highlighting + ESLint in
the Godot editor for cart code.js files.runtime/cart-reset.js),
_loadGeneration race guard in the cart loader, namespace-aware effects
pipeline so stale bindings cannot silently no-op.scripts/migrate-to-namespace.{cjs,js},
scripts/audit-carts.mjs, scripts/walk-carts.mjs.Full history: git log v0.4.9..v0.5.0