API Reference
The framework is published as quantum-forge (core) and quantum-forge-engine (engine) on npm, each with subpath exports. Each feature has its own entry point.
Package exports
Core (quantum-forge):
| Export | Import path | Primary exports |
|---|---|---|
| Quantum | quantum-forge/quantum | QuantumPropertyManager, QuantumRecorder, ensureLoaded, startBackgroundLoad |
| Logging | quantum-forge/logging | Logger, LoggerInterface |
| Vite plugin | quantum-forge/vite-plugin | quantumForgeVitePlugin |
Engine (quantum-forge-engine):
| Export | Import path | Primary exports |
|---|---|---|
| Engine | quantum-forge-engine/engine | Engine |
| Events | quantum-forge-engine/events | EventBus |
| Operations | quantum-forge-engine/operations | OperationRegistry, OperationExecutor |
| Rendering | quantum-forge-engine/rendering | PixiRenderer, CanvasRenderer, GameLoop, Camera |
| Input | quantum-forge-engine/input | InputManager, LocalMultiplayerManager, GamepadButtons, GamepadAxes |
| Collision | quantum-forge-engine/collision | SpatialGrid, rectOverlaps, circleOverlaps |
| Audio | quantum-forge-engine/audio | AudioManager |
| Particles | quantum-forge-engine/particles | ParticleSystem |
| Entities | quantum-forge-engine/entities | EntityManager, createEntity |
| Animation | quantum-forge-engine/animation | Tween, MultiTween, AnimationManager, Easing |
| State machine | quantum-forge-engine/state-machine | StateMachine |
| Timer | quantum-forge-engine/timer | TimerManager |
| Save | quantum-forge-engine/save | SaveManager |
| Scenes | quantum-forge-engine/scenes | SceneManager |
quantum-forge-engine depends on quantum-forge, so installing the engine gives you both.
Dependencies
eventemitter3 is a real dependency of the engine package and npm installs it for you.
pixi.js and howler are optional peer dependencies. Neither is installed unless you ask for it:
bash
npm install pixi.js # PixiRenderer, in quantum-forge-engine/rendering
npm install howler # AudioManager, in quantum-forge-engine/audionpx quantum-forge-engine init my-game adds pixi.js for templates that render with it. If you add /rendering or /audio to a project by hand, run the install yourself.
Detailed references
- Quantum API: QuantumPropertyManager, gates, measurement, recording
- Engine API: Engine base class
- Rendering API: PixiRenderer, CanvasRenderer, GameLoop, Camera
- Input API: InputManager, bindings, devices
- Packages API: collision, audio, particles, animation, entities, state machine, timer, save, scenes