# renzora/engine architecture

> Architecture diagram of the GitHub repository renzora/engine, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-17). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/renzora/engine
- Repository: https://github.com/renzora/engine

## Overview

1. **Repository shape: a Rust monorepo of plugins**
   - The repo is organized as a workspace with a small root application/CLI and many `crates/renzora_*` packages.
   - Most packages are Bevy plugins or plugin pairs: a runtime crate plus an optional `editor/` companion crate.
   - This means the architecture is intentionally modular: systems can be composed, swapped, or omitted rather than being hard-wired into one engine binary.

2. **Top-level product model**
   - The project is both a **game engine** and a **visual editor**.
   - The runtime side is the actual engine/game executable.
   - The editor side adds tooling, inspectors, previews, panels, and authoring workflows around the same runtime data model.
   - The README makes clear the editor and runtime are separate launch modes, but share the same engine/plugin ecosystem.

3. **Command-line and build orchestration**
   - The root `src/main.rs` plus Docker-related files indicate a CLI named `renzora`.
   - Its job is project scaffolding, running editor/runtime builds, cross-compiling, testing, plugin management, and shell access.
   - Architecture-wise, the CLI is the outermost control plane; it does not contain the engine itself, but orchestrates builds and packaging around it.

4. **Core engine layer**
   - `crates/renzora_engine`, `crates/renzora_runtime`, `crates/renzora_scene`, `crates/renzora_input`, `crates/renzora_settings`, `crates/renzora_globals`, and `crates/renzora_undo` form the base engine/runtime support.
   - These crates handle scene loading, virtual file access, camera/runtime viewport behavior, input mapping, settings, autoloads, and undo/redo.
   - This layer is the foundation used by both the editor and the game runtime.

5. **Asset pipeline and import/export boundary**
   - `crates/renzora_import`, `crates/renzora_rpak`, `crates/renzora_asset_registry`, `crates/renzora_asset_browser`, and `crates/renzora_engine/src/asset_reader.rs` form the content ingestion path.
   - The repo supports many source formats: models, scenes, scripts, graphs, materials, particles, textures, and archives.
   - A typical flow is: external asset files → import/conversion/packing → registry/browser/indexing → runtime/editor consumption.
   - `renzora_rpak` is the packaging/archive boundary, while `renzora_import` handles format normalization.

6. **Editor framework and authoring UI**
   - `crates/renzora_editor`, `crates/renzora_editor_framework`, `crates/renzora_ui`, `crates/renzora_ember`, and `crates/renzora_game_ui` form the editor UI stack.
   - `renzora_ember` is the low-level widget/markup system; `renzora_ui` adds docking/tabs/windows; `renzora_editor_framework` provides editor conventions like cameras, commands, settings, and thumbnail registries.
   - Higher-level editor tools such as the hierarchy, inspector, scene browser, code editor, material editor, particle editor, terrain editor, etc. build on this shared UI layer.

7. **Viewport-centric editing model**
   - `crates/renzora_viewport` is the main bridge between authored content and the visible scene.
   - It handles drag-and-drop into the viewport, play mode, external runtime integration, viewport settings, and debug rendering hooks.
   - The viewport is where scene assets, materials, particles, and gizmos converge for live editing and preview.

8. **Rendering and graphics extensions**
   - The repo is heavily graphics-oriented: many crates are standalone rendering effects or material systems, each with WGSL shaders.
   - `crates/renzora_shader` is the shader/material authoring and codegen layer, supporting multiple backends and material graphs.
   - `crates/renzora_lumen`, `crates/renzora_rt`, `crates/renzora_oit`, `crates/renzora_outline`, `crates/renzora_postprocess`, and the many post-processing crates implement specialized render passes and effects.
   - The architecture here is “render core + optional feature plugins,” not one monolithic renderer.

9. **Gameplay and simulation plugins**
   - Several crates provide domain systems that plug into ECS rather than owning the app loop: audio, physics, animation, cloth, water, terrain, foliage, navigation, mesh editing, procedural trees, and more.
   - Examples include `renzora_audio`, `renzora_physics`, `renzora_animation`, `renzora_terrain`, `renzora_water`, `renzora_navmesh`, `renzora_gizmo`, and `renzora_mesh_edit`.
   - These subsystems typically expose components, systems, resources, and editor panels, so they can participate in both runtime and tooling.

10. **Scripting and visual logic**
    - `crates/renzora_scripting` is the main script host with Lua and Rhai backends, HTTP support, commands, input, reflection, and execution systems.
    - `crates/renzora_blueprint` and `crates/renzora_blueprint_editor` provide visual graph scripting.
    - `crates/renzora_script_variables` and `crates/renzora_macros` support binding data into scripts and reflection-driven tooling.
    - The main data flow is engine state ↔ script/runtime bindings ↔ editor inspection/authoring.

11. **Networking, multiplayer, and platform services**
    - `crates/renzora_network` implements client/server/protocol/RPC/prediction and has tests for host server behavior.
    - `crates/renzora_auth`, `renzora_hub`, `renzora_export`, `renzora_splash`, and `renzora_websocket_plugin` connect the engine to platform/account/marketplace/export workflows.
    - These crates sit at the edge of the engine, bridging the local runtime with external services or packaged deployment pipelines.

12. **XR, mobile, and platform-specific runtime paths**
    - `crates/bevy_oxr` provides OpenXR/WebXR-facing support crates, including OpenXR session, graphics, and utility layers.
    - Platform adaptation is also visible in `renzora_android`, `renzora_ios`, `renzora_shell`, and the `templates/` directory for Android/iOS/Web packaging.
    - The architecture is cross-platform by design, with platform-specific code isolated behind dedicated crates and templates.

13. **Content and authoring assets are first-class**
    - `assets/` contains the engine’s own example/content library: materials, particles, shaders, UI templates, scripts, locale files, and previews.
    - This repository is not just code; it ships a large catalog of sample content that exercises the engine’s rendering, UI, scripting, and gameplay systems.
    - Those assets are important in the diagram because they demonstrate the same import/render/UI pipeline used for end-user projects.

14. **Operational/tooling layer**
    - CI workflows, Dockerfiles, devcontainer support, docs versions, and templates show a strong emphasis on reproducible builds and multi-platform distribution.
    - The build system is part of the architecture: containerized compilation, cross-target packaging, and generated templates are core to how the engine is delivered.
    - In diagrams, this should appear as an outer build/release layer feeding platform-specific artifacts rather than as part of the runtime game loop.

Main entry points: [`crates/renzora_editor_framework/src/lib.rs`](https://github.com/renzora/engine/blob/main/crates/renzora_editor_framework/src/lib.rs) (Editor Framework), [`crates/renzora_engine/src/lib.rs`](https://github.com/renzora/engine/blob/main/crates/renzora_engine/src/lib.rs) (Engine Core), [`crates/renzora/src/lib.rs`](https://github.com/renzora/engine/blob/main/crates/renzora/src/lib.rs) (Runtime App), [`crates/renzora_scene/src/lib.rs`](https://github.com/renzora/engine/blob/main/crates/renzora_scene/src/lib.rs) (Scene I/O)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Control Plane"]
  node_cli["renzora CLI<br/>workspace cli<br/>[main.rs]"]
end

subgraph group_engine["Engine Core"]
  node_runtime["Runtime App<br/>launcher crate<br/>[lib.rs]"]
  node_engine_core["Engine Core<br/>runtime base<br/>[lib.rs]"]
  node_scene["Scene I/O<br/>scene/runtime<br/>[lib.rs]"]
  node_runtime_shell["Runtime Shell<br/>app runtime<br/>[lib.rs]"]
  node_input["Input Maps<br/>input system<br/>[lib.rs]"]
  node_settings["Settings<br/>config system<br/>[lib.rs]"]
  node_undo["Undo Stack<br/>history system<br/>[lib.rs]"]
end

subgraph group_content["Content Pipeline"]
  node_assets["Assets<br/>content library"]
  node_import["Import<br/>[lib.rs]"]
  node_rpak["RPAK<br/>packaging archive<br/>[lib.rs]"]
  node_registry["Asset Registry<br/>index/cache<br/>[lib.rs]"]
  node_browser["Asset Browser<br/>editor content<br/>[lib.rs]"]
end

subgraph group_editor["Editor Stack"]
  node_editor_app["Editor App<br/>editor shell<br/>[lib.rs]"]
  node_editor_fw["Editor Framework<br/>editor infra<br/>[lib.rs]"]
  node_ui["UI Stack<br/>dock/ui system<br/>[lib.rs]"]
  node_ember["Ember UI<br/>widget system<br/>[lib.rs]"]
  node_viewport["Viewport<br/>preview bridge<br/>[lib.rs]"]
  node_hierarchy["Hierarchy<br/>scene panel<br/>[lib.rs]"]
  node_inspector["Inspector<br/>property panel<br/>[lib.rs]"]
  node_code_editor["Code Editor<br/>script editor<br/>[lib.rs]"]
  node_materials["Material Editor<br/>[lib.rs]"]
end

subgraph group_simulation["Simulation Plugins"]
  node_shaders["Shader System<br/>shader/material<br/>[lib.rs]"]
  node_render_ext["Render Ext<br/>render plugins<br/>[lib.rs]"]
  node_systems["Game Systems<br/>ecs plugins<br/>[lib.rs]"]
  node_scripting["Scripting<br/>script host<br/>[lib.rs]"]
  node_blueprints["Blueprints<br/>visual logic<br/>[lib.rs]"]
end

subgraph group_platform["Platform Edge"]
  node_network["Network<br/>multiplayer<br/>[lib.rs]"]
  node_platform_edge["Platform Services<br/>services edge<br/>[lib.rs]"]
  node_xr["XR<br/>[lib.rs]"]
  node_export["Export<br/>build packaging<br/>[lib.rs]"]
end

node_cli -->|"launches"| node_runtime
node_cli -->|"packages"| node_export
node_cli -->|"orchestrates"| node_platform_edge
node_runtime -->|"uses"| node_engine_core
node_runtime -->|"uses"| node_scene
node_engine_core -->|"consumes"| node_input
node_engine_core -->|"reads"| node_settings
node_engine_core -->|"tracks"| node_undo
node_scene -->|"reads"| node_assets
node_scene -->|"ingests"| node_import
node_import -->|"packs"| node_rpak
node_rpak -->|"publishes"| node_registry
node_registry -->|"feeds"| node_browser
node_editor_app -->|"boots"| node_editor_fw
node_editor_app -->|"hosts"| node_ui
node_ui -->|"builds on"| node_ember
node_editor_fw -->|"configures"| node_viewport
node_editor_fw -->|"supports"| node_inspector
node_editor_fw -->|"supports"| node_hierarchy
node_editor_fw -->|"supports"| node_browser
node_editor_fw -->|"supports"| node_code_editor
node_editor_fw -->|"supports"| node_materials
node_viewport -->|"previews"| node_scene
node_viewport -->|"routes"| node_render_ext
node_materials -->|"authors"| node_shaders
node_scripting -->|"complements"| node_blueprints
node_scripting -->|"binds"| node_engine_core
node_blueprints -->|"extends"| node_engine_core
node_systems -->|"plugs into"| node_engine_core
node_network -->|"syncs"| node_systems
node_platform_edge -->|"depends on"| node_network
node_xr -->|"targets"| node_runtime
node_export -->|"packages"| node_runtime

click node_cli "https://github.com/renzora/engine/blob/main/src/main.rs"
click node_runtime "https://github.com/renzora/engine/blob/main/crates/renzora/src/lib.rs"
click node_engine_core "https://github.com/renzora/engine/blob/main/crates/renzora_engine/src/lib.rs"
click node_scene "https://github.com/renzora/engine/blob/main/crates/renzora_scene/src/lib.rs"
click node_runtime_shell "https://github.com/renzora/engine/blob/main/crates/renzora_runtime/src/lib.rs"
click node_input "https://github.com/renzora/engine/blob/main/crates/renzora_input/src/lib.rs"
click node_settings "https://github.com/renzora/engine/blob/main/crates/renzora_settings/src/lib.rs"
click node_undo "https://github.com/renzora/engine/blob/main/crates/renzora_undo/src/lib.rs"
click node_assets "https://github.com/renzora/engine/tree/main/assets"
click node_import "https://github.com/renzora/engine/blob/main/crates/renzora_import/src/lib.rs"
click node_rpak "https://github.com/renzora/engine/blob/main/crates/renzora_rpak/src/lib.rs"
click node_registry "https://github.com/renzora/engine/blob/main/crates/renzora_asset_registry/src/lib.rs"
click node_browser "https://github.com/renzora/engine/blob/main/crates/renzora_asset_browser/src/lib.rs"
click node_editor_app "https://github.com/renzora/engine/blob/main/crates/renzora_editor/src/lib.rs"
click node_editor_fw "https://github.com/renzora/engine/blob/main/crates/renzora_editor_framework/src/lib.rs"
click node_ui "https://github.com/renzora/engine/blob/main/crates/renzora_ui/src/lib.rs"
click node_ember "https://github.com/renzora/engine/blob/main/crates/renzora_ember/src/lib.rs"
click node_viewport "https://github.com/renzora/engine/blob/main/crates/renzora_viewport/src/lib.rs"
click node_hierarchy "https://github.com/renzora/engine/blob/main/crates/renzora_hierarchy/src/lib.rs"
click node_inspector "https://github.com/renzora/engine/blob/main/crates/renzora_inspector/src/lib.rs"
click node_code_editor "https://github.com/renzora/engine/blob/main/crates/renzora_code_editor/src/lib.rs"
click node_materials "https://github.com/renzora/engine/blob/main/crates/renzora_material_editor/src/lib.rs"
click node_shaders "https://github.com/renzora/engine/blob/main/crates/renzora_shader/src/lib.rs"
click node_render_ext "https://github.com/renzora/engine/blob/main/crates/renzora_lumen/src/lib.rs"
click node_systems "https://github.com/renzora/engine/blob/main/crates/renzora_physics/src/lib.rs"
click node_scripting "https://github.com/renzora/engine/blob/main/crates/renzora_scripting/src/lib.rs"
click node_blueprints "https://github.com/renzora/engine/blob/main/crates/renzora_blueprint/src/lib.rs"
click node_network "https://github.com/renzora/engine/blob/main/crates/renzora_network/src/lib.rs"
click node_platform_edge "https://github.com/renzora/engine/blob/main/crates/renzora_auth/src/lib.rs"
click node_xr "https://github.com/renzora/engine/blob/main/crates/bevy_oxr/crates/bevy_xr/src/lib.rs"
click node_export "https://github.com/renzora/engine/blob/main/crates/renzora_export/src/lib.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli toneBlue
class node_runtime,node_engine_core,node_scene,node_runtime_shell,node_input,node_settings,node_undo toneAmber
class node_assets,node_import,node_rpak,node_registry,node_browser toneMint
class node_editor_app,node_editor_fw,node_ui,node_ember,node_viewport,node_hierarchy,node_inspector,node_code_editor,node_materials toneRose
class node_shaders,node_render_ext,node_systems,node_scripting,node_blueprints toneIndigo
class node_network,node_platform_edge,node_xr,node_export toneTeal
```

## Components

### Control Plane

CLI, scaffolding, build, and packaging orchestration

- [renzora CLI](https://github.com/renzora/engine/blob/main/src/main.rs): workspace cli · Top-level command-line control plane for scaffolding, builds, tests, and packaging · `src/main.rs`

### Engine Core

Runtime foundation shared by editor and game execution

- [Runtime App](https://github.com/renzora/engine/blob/main/crates/renzora/src/lib.rs): launcher crate · Root crate that assembles runtime/editor launch modes and plugin wiring · `crates/renzora/src/lib.rs`
- [Engine Core](https://github.com/renzora/engine/blob/main/crates/renzora_engine/src/lib.rs): runtime base · Core engine services and shared runtime primitives · `crates/renzora_engine/src/lib.rs`
- [Scene I/O](https://github.com/renzora/engine/blob/main/crates/renzora_scene/src/lib.rs): scene/runtime · Scene loading, VFS access, autoloads, crash handling, and asset reading · `crates/renzora_scene/src/lib.rs`
- [Runtime Shell](https://github.com/renzora/engine/blob/main/crates/renzora_runtime/src/lib.rs): app runtime · Runtime viewport scaling and stretch behavior for the executable · `crates/renzora_runtime/src/lib.rs`
- [Input Maps](https://github.com/renzora/engine/blob/main/crates/renzora_input/src/lib.rs): input system · Action mapping and input state used by runtime and editor tools · `crates/renzora_input/src/lib.rs`
- [Settings](https://github.com/renzora/engine/blob/main/crates/renzora_settings/src/lib.rs): config system · Persistent settings and editor/runtime configuration state · `crates/renzora_settings/src/lib.rs`
- [Undo Stack](https://github.com/renzora/engine/blob/main/crates/renzora_undo/src/lib.rs): history system · Undo/redo infrastructure shared by editor authoring workflows · `crates/renzora_undo/src/lib.rs`

### Content Pipeline

Import, packing, registry, and asset consumption path

- [Assets](https://github.com/renzora/engine/tree/main/assets): content library · Repository-provided example content, shaders, UI templates, scripts, and previews · `assets`
- [Import](https://github.com/renzora/engine/blob/main/crates/renzora_import/src/lib.rs): asset import · Format normalization and conversion for meshes, scenes, materials, textures, and USD/FBX/glTF sources · `crates/renzora_import/src/lib.rs`
- [RPAK](https://github.com/renzora/engine/blob/main/crates/renzora_rpak/src/lib.rs): packaging archive · Archive format and packing boundary for distributable content · `crates/renzora_rpak/src/lib.rs`
- [Asset Registry](https://github.com/renzora/engine/blob/main/crates/renzora_asset_registry/src/lib.rs): index/cache · Indexed asset metadata consumed by editor browsers and runtime systems · `crates/renzora_asset_registry/src/lib.rs`
- [Asset Browser](https://github.com/renzora/engine/blob/main/crates/renzora_asset_browser/src/lib.rs): editor content · Asset browsing and thumbnail presentation for authored content · `crates/renzora_asset_browser/src/lib.rs`

### Editor Stack

UI, viewport, and authoring tools layered over the engine

- [Editor App](https://github.com/renzora/engine/blob/main/crates/renzora_editor/src/lib.rs): editor shell · Top-level editor application crate and launch integration · `crates/renzora_editor/src/lib.rs`
- [Editor Framework](https://github.com/renzora/engine/blob/main/crates/renzora_editor_framework/src/lib.rs): editor infra · Editor conventions for commands, cameras, settings, inspectors, and thumbnails · `crates/renzora_editor_framework/src/lib.rs`
- [UI Stack](https://github.com/renzora/engine/blob/main/crates/renzora_ui/src/lib.rs): dock/ui system · Docking, windows, panels, trees, and drag/drop UI infrastructure · `crates/renzora_ui/src/lib.rs`
- [Ember UI](https://github.com/renzora/engine/blob/main/crates/renzora_ember/src/lib.rs): widget system · Low-level markup, reactive bindings, inspectors, widgets, and style/theme layers · `crates/renzora_ember/src/lib.rs`
- [Viewport](https://github.com/renzora/engine/blob/main/crates/renzora_viewport/src/lib.rs): preview bridge · Bridge between authored content and live scene preview, play mode, and debug rendering · `crates/renzora_viewport/src/lib.rs`
- [Hierarchy](https://github.com/renzora/engine/blob/main/crates/renzora_hierarchy/src/lib.rs): scene panel · Entity tree, selection, and scene organization controls · `crates/renzora_hierarchy/src/lib.rs`
- [Inspector](https://github.com/renzora/engine/blob/main/crates/renzora_inspector/src/lib.rs): property panel · Property editing and reflection-driven inspection surfaces · `crates/renzora_inspector/src/lib.rs`
- [Code Editor](https://github.com/renzora/engine/blob/main/crates/renzora_code_editor/src/lib.rs): script editor · Script browsing, highlighting, and code editing panels · `crates/renzora_code_editor/src/lib.rs`
- [Material Editor](https://github.com/renzora/engine/blob/main/crates/renzora_material_editor/src/lib.rs): material editor · Graph-based material authoring, preview, and inspection · `crates/renzora_material_editor/src/lib.rs`

### Simulation Plugins

Gameplay, rendering, and ECS-driven feature plugins

- [Shader System](https://github.com/renzora/engine/blob/main/crates/renzora_shader/src/lib.rs): shader/material · Shader backends, material graphs, codegen, and runtime material resolution · `crates/renzora_shader/src/lib.rs`
- [Render Ext](https://github.com/renzora/engine/blob/main/crates/renzora_lumen/src/lib.rs): render plugins · Postprocess and rendering feature plugins such as Lumen, outline, OIT, AA, bloom, fog, and tone mapping · `crates/renzora_lumen/src/lib.rs`
- [Game Systems](https://github.com/renzora/engine/blob/main/crates/renzora_physics/src/lib.rs): ecs plugins · Domain plugins for audio, physics, animation, terrain, water, navmesh, gizmos, and related simulation · `crates/renzora_physics/src/lib.rs`
- [Scripting](https://github.com/renzora/engine/blob/main/crates/renzora_scripting/src/lib.rs): script host · Lua/Rhai scripting host, bindings, command execution, reflection, and HTTP helpers · `crates/renzora_scripting/src/lib.rs`
- [Blueprints](https://github.com/renzora/engine/blob/main/crates/renzora_blueprint/src/lib.rs): visual logic · Graph-based visual scripting compiler and interpreter plus editor support · `crates/renzora_blueprint/src/lib.rs`

### Platform Edge

Network, platform services, XR, and export/runtime targets

- [Network](https://github.com/renzora/engine/blob/main/crates/renzora_network/src/lib.rs): multiplayer · Client/server networking, RPC, prediction, protocol, and replication support · `crates/renzora_network/src/lib.rs`
- [Platform Services](https://github.com/renzora/engine/blob/main/crates/renzora_auth/src/lib.rs): services edge · Authentication, hub, export, shell, websocket, splash, and marketplace-adjacent workflows · `crates/renzora_auth/src/lib.rs`
- [XR](https://github.com/renzora/engine/blob/main/crates/bevy_oxr/crates/bevy_xr/src/lib.rs): xr runtime · OpenXR/WebXR runtime support and headset-facing integration layers · `crates/bevy_oxr/crates/bevy_xr/src/lib.rs`
- [Export](https://github.com/renzora/engine/blob/main/crates/renzora_export/src/lib.rs): build packaging · Template-based export, signing, download, and platform packaging workflows · `crates/renzora_export/src/lib.rs`

## Connections

- renzora CLI → Runtime App: launches · CLI orchestrates runtime/editor commands and project actions
- renzora CLI → Export: packages · Build and packaging commands feed platform exports
- renzora CLI → Platform Services: orchestrates · CLI also drives shell, hub, and service workflows
- Runtime App → Engine Core: uses · Root runtime is built on shared engine services
- Runtime App → Scene I/O: uses · Runtime depends on scene loading and virtual file system support
- Engine Core → Input Maps: consumes · Engine systems read shared input mappings and actions
- Engine Core → Settings: reads · Engine and editor configuration comes from shared settings
- Engine Core → Undo Stack: tracks · Authoring workflows rely on undo/redo history
- Scene I/O → Assets: reads · Scene and asset loading ultimately consume repository content
- Scene I/O → Import: ingests · Scene I/O connects to normalized imported assets
- Import → RPAK: packs · Imported content can be packaged for distribution
- RPAK → Asset Registry: publishes · Packed content is indexed for lookup and consumption
- Asset Registry → Asset Browser: feeds · Registry metadata powers the browser and thumbnails
- Editor App → Editor Framework: boots · Editor app is assembled from the shared editor framework
- Editor App → UI Stack: hosts · Editor app uses docking and panel infrastructure
- UI Stack → Ember UI: builds on · Higher-level UI composes low-level widget and markup primitives
- Editor Framework → Viewport: configures · Framework configures the main editing viewport and cameras
- Editor Framework → Inspector: supports · Framework provides inspector conventions and reflection helpers
- Editor Framework → Hierarchy: supports · Framework supports scene organization and selection panels
- Editor Framework → Asset Browser: supports · Framework provides thumbnail and browser integration
- Editor Framework → Code Editor: supports · Framework integrates code editing and script tooling
- Editor Framework → Material Editor: supports · Framework integrates material authoring workflows
- Viewport → Scene I/O: previews · Viewport renders and interacts with scene data
- Viewport → Render Ext: routes · Viewport routes debug and feature rendering effects
- Material Editor → Shader System: authors · Material editor sits on top of shader graph and codegen
- Scripting → Blueprints: complements · Script host and visual graphs cover complementary logic paths
- Scripting → Engine Core: binds · Scripting binds engine state and commands into runtime execution
- Blueprints → Engine Core: extends · Visual logic extends the engine ECS/runtime model
- Game Systems → Engine Core: plugs into · Gameplay and simulation plugins attach to the engine core
- Network → Game Systems: syncs · Networking complements gameplay systems with replication and prediction
- Platform Services → Network: depends on · Platform services integrate with multiplayer and external APIs
- XR → Runtime App: targets · XR support is a runtime path for alternate display modes
- Export → Runtime App: packages · Export builds bundle the runtime for target platforms
