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.
This reference covers quantum-forge 3.0 and quantum-forge-engine 2.0. Engine 2.0 requires core ^3.0.0, so install or upgrade the two together. Moving from 2.x? See Migrating to 3.0.
Package exports
Core (quantum-forge):
| Export | Import path | Primary exports |
|---|---|---|
| Quantum | quantum-forge/quantum | quantum, Quantum, measure, probabilities, densityMatrix, phaseRotate, QuantumRecorder, ensureLoaded, useQuantumForgeBuild |
| 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 (disposes quantum handles on removal), 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:
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:
quantum(), theQuantumhandle, gates, measurement, recording, loading - 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