Complete API reference for the Nova64 3D Fantasy Console
v0.4.8NovaOS is a Mac OS 9-inspired fantasy operating system bundled with Nova64. Window manager, virtual filesystem, app framework, event bus, and a boot sequence that makes you feel like it’s 1999.
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.
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 backend, WebGL2 fallback, Canvas2D fallback. Advanced materials, shaders, and post-processing.
📦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. Biomes, fluid simulation, entity system, path-finding, and save/load.
🔥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 format for packaging sprites, audio, and level data into distributable cart files.
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, WebGL2, and Canvas2D renderer backends. Progressive fallback on capability detect.