Complete API reference for the Nova64 3D Fantasy Console
v0.4.9NovaOS is a Mac OS 9-inspired fantasy operating system bundled with Nova64. Window manager, virtual filesystem, app framework, event bus, crystal desktop backgrounds, and a modernized boot sequence.
Draggable, resizable windows with Mac OS 9 chrome. Close, zoom, windowshade — all implemented.
📁POSIX-like async VFS with IndexedDB persistence. Read, write, mkdir, rm, stat, readdir, aliases.
🚀Register apps with mount/unmount lifecycle, menu bar integration, and icon support.
📡Pub/sub bus with wildcard support. Subscribe to OS events or emit custom game events.
💬Control strip widgets, modal alert dialogs, auto-dismissing toast notifications.
💾JSON-serialisable key/value store backed by the VFS. Namespaced and persistent.
🎨Built-in crystal wallpapers, solid colors, custom image URLs, and visual-only sandboxed HTML iframe backgrounds from Appearance or desktop right-click.
ES module cart system with init/update/draw lifecycle. Hot reload, cart loading, and the complete 35+ function 3D API.
🎨High-precision 64-bit RGBA framebuffer for 2D overlay compositing over 3D scenes. ACES tone mapping.
🔨Three.js and Babylon.js backends with WebGL2 and Canvas2D fallback paths. Advanced materials, shaders, post-processing, and parity guardrails.
📦WAD-based asset bundling. Load GLTF models, sprite sheets, audio, and texture atlases from cart packages.
createCube, createSphere, createPlane, createCylinder, createCone, createCapsule, createTorus. Full material options.
✨Bloom, vignette, glitch, chromatic aberration, N64 mode, PSX mode, low-poly mode and more.
🌟Space skybox, gradient skybox, solid skybox. Auto-animate for dynamic sky rotation.
🌎GPU-batched sprites with parallax layers. Sprite sheets, animations, and z-sorted billboards.
🧩Full Minecraft-style voxel world with backend-aware Three.js and Babylon.js chunk/entity rendering.
🔥Bitmap font print, printCentered, glow text, crosshair, progress bar, minimap, floating text.
key(), keyp(), btn(), btnp() for WASD + gamepad + mouse. Single-frame press detection built in.
🌐Game-loop integrated widgets: state machine, cooldowns, hit flash, spawner, floating text, shake effects.
⌨️In-game keyboard overlay for player name entry, chat, and command prompts.
WebAudio-based with spatial 3D positioning. Named presets: jump, coin, explosion, laser, powerup, hurt, unlock, and more.
⚛️AABB collision, gravity, createBody, stepPhysics, setCollisionMap. Simple and fast for arcade games.
💥Raycasting, spatial partitioning, and voxel collision helpers. Works with both 3D objects and voxel worlds.
saveData(), loadData(), deleteData() — JSON-serialisable cart save state backed by localStorage.
📺Named screen stack. Push/pop/replace screens with transition hooks for title screens, menus, and game states.
🎨In-browser pixel editor for creating and tweaking sprite sheets and textures at run time.
⛶️Tappable fullscreen toggle optimised for mobile game-jam releases and kiosk mode deployments.
💸Doom-inspired WAD loading with wall/floor textures, sprite billboards, and Babylon.js visual parity coverage.
Main Nova64 class. Cart loading, hot reloading, game loop, resolution, and renderer setup.
🎨64-bit RGBA compositing surface. packRGBA64, unpackRGBA64, rgba8 helpers for colour pipeline work.
🔥Bitmap font renderer with hex colour support, glyph atlas, and 6x6 to 16x16 size variants.
📦Async loader for GLTF, images, JSON, audio, and WAD files with progress callbacks.
🔨Three.js, Babylon.js, WebGL2, and Canvas2D renderer backends with capability-gated fallback behavior.
⚙️Backend architecture notes for Babylon compatibility, WAD parity, voxel routing, TSL visual checks, and focused validation commands.
🧊Experimental, opt-in NOA adapter notes for Babylon voxel parity work without bypassing the shared voxel API.