VaelisDocs
v1.0.0
Concepts · v1.0.0

Architecture

How Vaelis separates runtime, editor, standalone runtime, components and systems.

View as Markdownllms.txt

#Runtime / editor / target

The distribution follows a hard separation: project/runtime/ is the engine shipped with games; project/editor/ is the development tool; project/player/ is the standalone runtime shell. Runtime must not import editor code; editor may import runtime code.

#Components are data

Components are plain data objects. Rendering, physics, lighting, audio and other behavior live in systems. This keeps scene serialization straightforward and makes the same scene data usable by the editor and standalone runtime.

#Systems run in an explicit order

OrderSystem
1ControllerSystem
2PhysicsSystem
3AnimationSystem
4SpeechBubbleSystem
5TextInputSystem
6JoystickSystem
7AudioSystem
8AudioListenerSystem
9ScriptSystem
10Late controller work
11RenderSystem
12TilemapSystem
13NavWorldSystem
14LightingSystem
15CameraRenderSystem

#Rendering containers

The runtime separates game-content rendering, screen-space UI and late letterbox/pillarbox bars. Debug lines render in the world container. This separation explains why screen-space UI components such as TextRenderer can remain fixed while the world camera moves.