Application
From host input to fixed simulation steps to a presented frame.
Avara3D separates application behavior, simulation scheduling, physics, scene state, render-data gathering, backend drawing, input, and tooling while keeping their order explicit.
01 · Ownership
A narrow ownership tree with clear system boundaries.
The application supplies behavior and configuration. The runner owns the active scene and advances it. The scene groups the visual world, physics world, input context, and scene graph needed by that simulation.
02 · One host update
Rendering may vary. Simulation advances in discrete, ordered steps.
Each host update observes elapsed wall time, updates application/input state, schedules a bounded number of fixed simulation steps, gathers the current visual state, draws, and presents. A frame may execute zero, one, or several simulation steps.
- 01Poll inputWindow and input context
- 02Host updateVariable-rate application work
- 03Schedule stepsAccumulate elapsed time
- 04Simulate0…N fixed steps
- 05Gather + drawCurrent scene state
- 06PresentSwap buffers
03 · Fixed timestep
Stable simulation time without pretending the host runs at a fixed rate.
The runner converts variable host deltas into fixed simulation work. Catch-up is capped so a slow frame cannot create an unbounded spiral. Excess accumulated time is recorded instead of disappearing silently.
- Configurable simulation timestep
- Pause and explicit single-step
- Bounded catch-up per host update
- Resettable simulation time and step index
- Visible discarded-time accounting
Simulation callbacks and physics execute once per fixed step. Rendering observes the result after the scheduled work completes.
04 · System boundaries
Each stage owns a specific kind of work.
Physics
Rigid-body state
Collision detection, dynamics, constraints, and synchronized node transforms.Visual world
Render-data gathering
Point of view, visible scene traversal, lights, materials, and render passes.Renderer
Backend drawing
OpenGL resources, commands, frame setup, drawing, and presentation.Read the application boundary