Skip to content

Architecture

This project follows a three-layer architecture: Renderer, Editor, and UI. They communicate only through the Context and event system to keep explicit data flow and avoid direct coupling.

Design Principles

  • Renderer remains stateless and focuses on GPU resources and rendering.
  • Editor owns application logic and scene mutations through controllers.
  • UI is presentation-only; state changes go through controllers or events.
  • GPU resources are owned explicitly by Renderer and released deterministically.
  • Cross-layer communication is only through Context and the event system.

Directory Layout