How esengine/estella works
Estella is a cross-platform 2D/3D game engine: developers author TypeScript game logic and project content, run it through the SDK and C++ engine, then export builds for supported targets. The map includes project configuration, content tooling, SDK/runtime, native engine and export stages, plus documented capabilities such as animation, physics, networking and platform services. The editor is a separate product and is not represented as repository code. Some subsystem links are documented only at product level; unsampled implementation relationships are omitted.
Main entry points: component.ts TypeScript ECS · exportGame.ts Game exporter · format.ts Project config · targetSupport.ts Platform targets
Components 22
Projects and tooling
- Project config
pipeline/src/project/format.ts - Project tools
pipeline/src/tools
Content pipeline
- Asset pipeline
pipeline/src/image - 3D modeling
pipeline/src/modeling - World cooking
pipeline/src/world - Audio content
pipeline/src/music
Game runtime
- Script compiler
compiler/src - TypeScript ECS
sdk/src/ecs/component.ts - Asset runtime
sdk/src/asset - Rendering and camera
sdk/src/render/renderPipeline.ts - Animation systems
sdk/src/animation - Physics and AI
sdk/src/ai - Audio runtime
sdk/src/audio - Runtime plugins
plugins
Engine core
- Native host
native/host/Runtime.cpp - Native bindings
native/host/bindings - C++ ECS
src/esengine/ecs/Registry.hpp - C++ renderer
src/esengine/renderer/frame/PostProcessPipeline.cpp
Platform delivery
- Game exporter
pipeline/src/export/exportGame.ts - Platform targets
pipeline/src/project/targetSupport.ts - Web and native targets
Other components
- Game developer
Connections 21
- Game developer → Project config: configures
- Game developer → TypeScript ECS: writes game logic
- Project config → Project tools: configures
pipeline/src/project/format.ts - Project config → Platform targets: selects targets
pipeline/src/project/targetSupport.ts - Asset pipeline → Game exporter: supplies assets
- 3D modeling → Game exporter: supplies models
- World cooking → Game exporter: supplies worlds
- Audio content → Game exporter: supplies audio
- TypeScript ECS → Script compiler: compiles systems
- TypeScript ECS → C++ ECS: drives ECS
- Rendering and camera → C++ renderer: uses renderer
- Native host → Native bindings: exposes APIs
- Native bindings → C++ ECS: bridges runtime
- Asset runtime → Asset pipeline: loads content
- Animation systems → TypeScript ECS: adds animation
- Physics and AI → TypeScript ECS: adds gameplay systems
- Audio runtime → TypeScript ECS: adds audio
- Runtime plugins → TypeScript ECS: extends runtime
- Game exporter → Platform targets: resolves targets
- Platform targets → Web and native targets: supports builds
- Game exporter → Web and native targets: exports games