Architecture Overview
Architecture Overview
Clockwork is a layered TypeScript/JavaScript engine architecture distributed as modular packages.
Layers
- Core runtime (
qti-clockwork-app,qti-clockwork-ecs,qti-clockwork-scheduler, etc.) - Renderer (
qti-clockwork-gl,qti-clockwork-shaders,qti-clockwork-materials,qti-clockwork-passes) - Platform bridge (
qti-clockwork-tauri-bridge) - Apps (consumer-owned game/app code)
Core Design Rules
- Runtime logic is package-local and composable.
- Internal APIs are consumed via package names (
qti-clockwork-*). - Core packages avoid direct renderer/platform coupling.
- Systems are stage-ordered and deterministic by default.
Package Groups
Core
qti-clockwork-appqti-clockwork-ecsqti-clockwork-schedulerqti-clockwork-eventsqti-clockwork-serializationqti-clockwork-assetsqti-clockwork-audioqti-clockwork-input
Renderer
qti-clockwork-glqti-clockwork-shadersqti-clockwork-materialsqti-clockwork-passes
Platform
qti-clockwork-tauri-bridge
Runtime Assembly Flow
- Create
AppBuilder - Register plugins
- Build runtime (
World+EventBus+Scheduler) - Run frame loop (
run,step,shutdown)