Class Relationship Diagram¶
This page is auto-generated from src/**/*.h* by scripts/generate_class_diagram.py.
classDiagram
direction LR
class AssetHandle
class AssetManager
class AssetState
class AudioBus
class AudioEngine
class AudioListenerComponent
class AudioSourceComponent
class AudioSystem
class BackgroundCompileTaskResult
class BroadPhaseLayerInterfaceImpl
class CameraComponent
class ClrHost
class ColliderComponent
class ColliderShape
class CollisionBeginEvent
class CollisionEndEvent
class ComponentArray
class ComponentManager
class ComponentRegistration
class ComponentRegistry
class ComponentTypeId
class ContactEvent
class DebugMessage
class DebugMessageLevel
class DetachedPlayWindow
class DetachedScriptEditorWindow
class Editor
class EditorEntityPreset
class EditorPlayAction
class EditorPlugin
class EditorPluginContext
class EditorPluginPhase
class EditorState
class Entity
class EntityCreatedEvent
class EntityDestroyedEvent
class EntityFactory
class EntityManager
class Entry
class EventBus
class ExportBuildState
class ExportPlatform
class FrameMetrics
class Frustum
class GUI
class GameRuntime
class ImGuiSession
class ImGui_GUI
class ImportedMaterial
class ImportedMesh
class ImportedModel
class ImportedTriangle
class ImportedVertex
class Light
class LightComponent
class LightData
class LightType
class LoadRequest
class MainCameraSelection
class MainCameraSelectionStatus
class ManagedSource
class Mat4
class Material
class MenuBarItem
class MeshRendererComponent
class ModelComponent
class ModelImporter
class MovementSystem
class NameComponent
class ObjectLayerPairFilterImpl
class ObjectVsBroadPhaseLayerFilterImpl
class ParsedScriptClass
class PhysicsSystem
class PhysicsWorld
class Plane
class PositionComponent2D
class PositionComponent3D
class PrimitiveComponent
class PrimitiveType
class ProcessResult
class ProjectedTriangle
class Quat
class RenderCamera
class RenderComponent
class RenderItem
class RenderLight
class RenderList
class RenderSystem
class Renderer
class RigidBodyComponent
class RigidBodyType
class RotationComponent3D
class SDLRendererDeleter
class SDLWindowDeleter
class SDLWindowDeleter
class SDLWindowDeleter
class ScaleComponent3D
class SceneGizmoAxis
class SceneGizmoMode
class SceneRenderer
class ScopedDirectoryCleanup
class ScopedFrameMetric
class ScriptAttachment
class ScriptCompileStatus
class ScriptComponent
class ScriptDocumentSnapshot
class ScriptEditorTab
class ScriptRuntime
class SdlSession
class SdlSession
class SettingsCategory
class Slot
class Subprocess
class System
class SystemContext
class SystemEntry
class SystemManager
class SystemPhase
class TextComponent
class TransformHierarchyComponent
class Vec2
class Vec3
class Vec3
class Vec4
class VectorTextFrame3D
class VectorTextGeometry3D
class VectorTextLayout
class VectorTextPoint2D
class VectorTextPoint3D
class VectorTextSegment2D
class VectorTextSegment3D
class VectorTextStyle
class VulkanRenderer
class Vulkan_Frame
class Vulkan_FrameSemaphores
class Vulkan_Window
class WebGPURenderer
class WindowManager
class WorkspaceCreateKind
class WorkspaceDeleteResult
class WorkspaceEditorSettings
class WorkspaceEntry
class WorkspaceManager
class WorkspaceTreeNode
class WorldComponent
GUI <|-- ImGui_GUI
Renderer <|-- VulkanRenderer
Renderer <|-- WebGPURenderer
System <|-- AudioSystem
System <|-- MovementSystem
System <|-- PhysicsSystem
System <|-- RenderSystem
AssetHandle --> AssetState : uses
AssetHandle --> Slot : uses
AssetManager --> AssetHandle : uses
AssetManager --> ImportedModel : uses
AssetManager --> LoadRequest : uses
AudioEngine --> AudioBus : uses
AudioEngine --> AudioListenerComponent : uses
AudioEngine --> AudioSourceComponent : uses
AudioEngine --> Entity : uses
AudioEngine --> ManagedSource : uses
AudioEngine --> PositionComponent3D : uses
AudioSourceComponent --> AudioBus : uses
AudioSystem --> AudioEngine : uses
AudioSystem --> ComponentManager : uses
AudioSystem --> Entity : uses
AudioSystem --> EntityManager : uses
ColliderComponent --> ColliderShape : uses
CollisionBeginEvent --> Entity : uses
CollisionEndEvent --> Entity : uses
ComponentArray --> Entity : uses
ComponentManager --> ComponentArray : uses
ComponentManager --> ComponentTypeId : uses
ComponentManager --> Entity : uses
ComponentManager --> EntityManager : uses
ComponentRegistry --> ComponentRegistration : uses
ComponentRegistry --> ComponentTypeId : uses
DebugMessage --> DebugMessageLevel : uses
DetachedPlayWindow --> ComponentManager : uses
DetachedPlayWindow --> Entity : uses
DetachedPlayWindow --> EntityManager : uses
DetachedPlayWindow --> SDLRendererDeleter : uses
DetachedPlayWindow --> SDLWindowDeleter : uses
DetachedScriptEditorWindow --> ComponentManager : uses
DetachedScriptEditorWindow --> Editor : uses
DetachedScriptEditorWindow --> EntityManager : uses
DetachedScriptEditorWindow --> ImGuiSession : uses
DetachedScriptEditorWindow --> Renderer : uses
Editor --> BackgroundCompileTaskResult : uses
Editor --> ComponentManager : uses
Editor --> DebugMessageLevel : uses
Editor --> EditorEntityPreset : uses
Editor --> EditorPlugin : uses
Editor --> EditorPluginContext : uses
Editor --> EditorPluginPhase : uses
Editor --> EditorState : uses
Editor --> Entity : uses
Editor --> EntityManager : uses
Editor --> ExportBuildState : uses
Editor --> ExportPlatform : uses
Editor --> GUI : uses
Editor --> ParsedScriptClass : uses
Editor --> RenderList : uses
Editor --> SceneGizmoAxis : uses
Editor --> SceneGizmoMode : uses
Editor --> SceneRenderer : uses
Editor --> ScriptCompileStatus : uses
Editor --> ScriptEditorTab : uses
Editor --> ScriptRuntime : uses
Editor --> SettingsCategory : uses
Editor --> WorkspaceCreateKind : uses
Editor --> WorkspaceEditorSettings : uses
Editor --> WorkspaceTreeNode : uses
EditorEntityPreset --> Plane : uses
EditorPlugin --> Editor : uses
EditorPlugin --> EditorPluginContext : uses
EditorPlugin --> EditorPluginPhase : uses
EditorPluginContext --> ComponentManager : uses
EditorPluginContext --> Editor : uses
EditorPluginContext --> EntityManager : uses
EditorPluginContext --> ScriptRuntime : uses
EditorState --> DebugMessage : uses
EditorState --> EditorEntityPreset : uses
EditorState --> EditorPlayAction : uses
EditorState --> Entity : uses
EntityCreatedEvent --> Entity : uses
EntityDestroyedEvent --> Entity : uses
EntityFactory --> ComponentManager : uses
EntityFactory --> Entity : uses
EntityFactory --> EntityManager : uses
EntityManager --> Entity : uses
FrameMetrics --> Entry : uses
Frustum --> Mat4 : uses
Frustum --> Plane : uses
Frustum --> Vec3 : uses
GUI --> MenuBarItem : uses
GameRuntime --> AudioEngine : uses
GameRuntime --> AudioSystem : uses
GameRuntime --> ComponentManager : uses
GameRuntime --> Entity : uses
GameRuntime --> EntityManager : uses
GameRuntime --> EventBus : uses
GameRuntime --> PhysicsSystem : uses
GameRuntime --> PhysicsWorld : uses
GameRuntime --> RenderSystem : uses
GameRuntime --> Renderer : uses
GameRuntime --> SDLWindowDeleter : uses
GameRuntime --> ScriptRuntime : uses
GameRuntime --> SdlSession : uses
GameRuntime --> SystemManager : uses
ImGuiSession --> Renderer : uses
ImportedMesh --> ImportedTriangle : uses
ImportedMesh --> ImportedVertex : uses
ImportedModel --> ImportedMaterial : uses
ImportedModel --> ImportedMesh : uses
LightComponent --> LightType : uses
LightData --> Light : uses
LoadRequest --> AssetHandle : uses
LoadRequest --> ImportedModel : uses
MainCameraSelection --> Entity : uses
MainCameraSelection --> MainCameraSelectionStatus : uses
ManagedSource --> AudioBus : uses
Mat4 --> Vec3 : uses
Mat4 --> Vec4 : uses
MeshRendererComponent --> Material : uses
ModelComponent --> AssetHandle : uses
ModelComponent --> ImportedModel : uses
ModelImporter --> ImportedModel : uses
MovementSystem --> ComponentManager : uses
MovementSystem --> EntityManager : uses
PhysicsSystem --> ComponentManager : uses
PhysicsSystem --> Entity : uses
PhysicsSystem --> EntityManager : uses
PhysicsSystem --> PhysicsWorld : uses
PhysicsSystem --> SystemContext : uses
PhysicsWorld --> ContactEvent : uses
Plane --> Vec3 : uses
PrimitiveComponent --> PrimitiveType : uses
PrimitiveType --> Plane : uses
ProjectedTriangle --> Vec2 : uses
Quat --> Mat4 : uses
Quat --> Vec3 : uses
RenderCamera --> Frustum : uses
RenderCamera --> Mat4 : uses
RenderCamera --> Vec3 : uses
RenderItem --> Entity : uses
RenderItem --> ImportedModel : uses
RenderItem --> Mat4 : uses
RenderItem --> Material : uses
RenderItem --> PrimitiveType : uses
RenderItem --> Vec3 : uses
RenderLight --> Vec3 : uses
RenderList --> RenderCamera : uses
RenderList --> RenderItem : uses
RenderList --> RenderLight : uses
RenderSystem --> ComponentManager : uses
RenderSystem --> Entity : uses
RenderSystem --> EntityManager : uses
RenderSystem --> RenderList : uses
RenderSystem --> SceneRenderer : uses
RenderSystem --> SystemContext : uses
RigidBodyComponent --> RigidBodyType : uses
SceneRenderer --> ComponentManager : uses
SceneRenderer --> Entity : uses
SceneRenderer --> EntityManager : uses
SceneRenderer --> ImportedModel : uses
SceneRenderer --> RenderCamera : uses
SceneRenderer --> RenderList : uses
SceneRenderer --> Vec3 : uses
ScopedFrameMetric --> FrameMetrics : uses
ScriptComponent --> ScriptAttachment : uses
ScriptRuntime --> ComponentManager : uses
ScriptRuntime --> Entity : uses
ScriptRuntime --> EntityManager : uses
SettingsCategory --> Editor : uses
Slot --> AssetState : uses
Subprocess --> ProcessResult : uses
System --> ComponentManager : uses
System --> EntityManager : uses
System --> SystemContext : uses
SystemContext --> ComponentManager : uses
SystemContext --> EntityManager : uses
SystemContext --> EventBus : uses
SystemEntry --> System : uses
SystemEntry --> SystemPhase : uses
SystemManager --> ComponentManager : uses
SystemManager --> ComponentTypeId : uses
SystemManager --> EntityManager : uses
SystemManager --> System : uses
SystemManager --> SystemContext : uses
SystemManager --> SystemEntry : uses
SystemManager --> SystemPhase : uses
TransformHierarchyComponent --> Entity : uses
Vec4 --> Vec3 : uses
VectorTextFrame3D --> VectorTextPoint3D : uses
VectorTextGeometry3D --> VectorTextSegment3D : uses
VectorTextLayout --> VectorTextSegment2D : uses
VectorTextSegment2D --> VectorTextPoint2D : uses
VectorTextSegment3D --> VectorTextPoint3D : uses
VulkanRenderer --> Vulkan_Frame : uses
VulkanRenderer --> Vulkan_FrameSemaphores : uses
VulkanRenderer --> Vulkan_Window : uses
Vulkan_Window --> Vulkan_Frame : uses
Vulkan_Window --> Vulkan_FrameSemaphores : uses
WindowManager --> AudioEngine : uses
WindowManager --> AudioSystem : uses
WindowManager --> ComponentManager : uses
WindowManager --> DetachedPlayWindow : uses
WindowManager --> DetachedScriptEditorWindow : uses
WindowManager --> Editor : uses
WindowManager --> EntityManager : uses
WindowManager --> EventBus : uses
WindowManager --> ImGuiSession : uses
WindowManager --> PhysicsSystem : uses
WindowManager --> PhysicsWorld : uses
WindowManager --> RenderSystem : uses
WindowManager --> Renderer : uses
WindowManager --> SDLWindowDeleter : uses
WindowManager --> ScriptRuntime : uses
WindowManager --> SdlSession : uses
WindowManager --> SystemManager : uses
WindowManager --> WorkspaceManager : uses
WorkspaceManager --> WorkspaceEntry : uses
Classes¶
| Class | Kind | Header |
|---|---|---|
AssetHandle |
class |
src/engine/assets/asset_handle.hpp |
AssetManager |
class |
src/engine/assets/asset_manager.hpp |
AssetState |
class |
src/engine/assets/asset_handle.hpp |
AudioBus |
class |
src/engine/audio/audio_bus.hpp |
AudioEngine |
class |
src/engine/audio/audio_engine.hpp |
AudioListenerComponent |
struct |
src/engine/components/audio_listener_component.hpp |
AudioSourceComponent |
struct |
src/engine/components/audio_source_component.hpp |
AudioSystem |
class |
src/engine/systems/audio_system.hpp |
BackgroundCompileTaskResult |
struct |
src/editor/editor.hpp |
BroadPhaseLayerInterfaceImpl |
class |
src/engine/physics/physics_layers.hpp |
CameraComponent |
struct |
src/engine/components/camera_component.hpp |
ClrHost |
class |
src/engine/runtime/clr_host.hpp |
ColliderComponent |
struct |
src/engine/components/collider_component.hpp |
ColliderShape |
class |
src/engine/components/collider_component.hpp |
CollisionBeginEvent |
struct |
src/engine/core/events/events.hpp |
CollisionEndEvent |
struct |
src/engine/core/events/events.hpp |
ComponentArray |
class |
src/engine/core/ecs/component_array.hpp |
ComponentManager |
class |
src/engine/core/ecs/component_manager.hpp |
ComponentRegistration |
struct |
src/engine/core/ecs/component_registry.hpp |
ComponentRegistry |
class |
src/engine/core/ecs/component_registry.hpp |
ComponentTypeId |
class |
src/engine/core/ecs/type_id.hpp |
ContactEvent |
struct |
src/engine/physics/physics_world.hpp |
DebugMessage |
struct |
src/editor/types.h |
DebugMessageLevel |
class |
src/editor/types.h |
DetachedPlayWindow |
class |
src/editor/detached_play_window.hpp |
DetachedScriptEditorWindow |
class |
src/editor/window_manager.hpp |
Editor |
class |
src/editor/editor.hpp |
EditorEntityPreset |
class |
src/editor/types.h |
EditorPlayAction |
class |
src/editor/types.h |
EditorPlugin |
class |
src/editor/plugins/editor_plugin.hpp |
EditorPluginContext |
struct |
src/editor/plugins/editor_plugin.hpp |
EditorPluginPhase |
class |
src/editor/plugins/editor_plugin.hpp |
EditorState |
struct |
src/editor/types.h |
Entity |
class |
src/engine/core/ecs/entity.hpp |
EntityCreatedEvent |
struct |
src/engine/core/events/events.hpp |
EntityDestroyedEvent |
struct |
src/engine/core/events/events.hpp |
EntityFactory |
class |
src/engine/core/ecs/entity_factory.hpp |
EntityManager |
class |
src/engine/core/ecs/entity_manager.hpp |
Entry |
struct |
src/engine/profiling/frame_metrics.hpp |
EventBus |
class |
src/engine/core/events/event_bus.hpp |
ExportBuildState |
struct |
src/editor/editor.hpp |
ExportPlatform |
class |
src/editor/editor.hpp |
FrameMetrics |
class |
src/engine/profiling/frame_metrics.hpp |
Frustum |
struct |
src/engine/rendering/math3d.hpp |
GUI |
class |
src/engine/gui/gui.hpp |
GameRuntime |
class |
src/runtime/game_runtime.hpp |
ImGuiSession |
class |
src/editor/window_manager.hpp |
ImGui_GUI |
class |
src/engine/gui/imgui.hpp |
ImportedMaterial |
struct |
src/engine/assets/imported_model.hpp |
ImportedMesh |
struct |
src/engine/assets/imported_model.hpp |
ImportedModel |
struct |
src/engine/assets/imported_model.hpp |
ImportedTriangle |
struct |
src/engine/assets/imported_model.hpp |
ImportedVertex |
struct |
src/engine/assets/imported_model.hpp |
Light |
struct |
src/engine/rendering/model_preview.hpp |
LightComponent |
struct |
src/engine/components/light_component.hpp |
LightData |
struct |
src/engine/rendering/model_preview.hpp |
LightType |
class |
src/engine/components/light_component.hpp |
LoadRequest |
struct |
src/engine/assets/asset_manager.hpp |
MainCameraSelection |
struct |
src/engine/runtime/main_camera_selection.hpp |
MainCameraSelectionStatus |
class |
src/engine/runtime/main_camera_selection.hpp |
ManagedSource |
struct |
src/engine/audio/audio_engine.hpp |
Mat4 |
struct |
src/engine/rendering/math3d.hpp |
Material |
struct |
src/engine/rendering/render_types.hpp |
MenuBarItem |
struct |
src/engine/gui/gui.hpp |
MeshRendererComponent |
struct |
src/engine/components/mesh_renderer_component.hpp |
ModelComponent |
struct |
src/engine/components/model_component.hpp |
ModelImporter |
class |
src/engine/assets/model_importer.hpp |
MovementSystem |
class |
src/engine/systems/movement_system.hpp |
NameComponent |
struct |
src/engine/components/name_component.hpp |
ObjectLayerPairFilterImpl |
class |
src/engine/physics/physics_layers.hpp |
ObjectVsBroadPhaseLayerFilterImpl |
class |
src/engine/physics/physics_layers.hpp |
ParsedScriptClass |
struct |
src/editor/script_analysis.hpp |
PhysicsSystem |
class |
src/engine/systems/physics_system.hpp |
PhysicsWorld |
class |
src/engine/physics/physics_world.hpp |
Plane |
struct |
src/engine/rendering/math3d.hpp |
PositionComponent2D |
class |
src/engine/components/position_component_2d.hpp |
PositionComponent3D |
class |
src/engine/components/position_component_3d.hpp |
PrimitiveComponent |
struct |
src/engine/components/primitive_component.hpp |
PrimitiveType |
class |
src/engine/components/primitive_component.hpp |
ProcessResult |
struct |
src/engine/runtime/subprocess.hpp |
ProjectedTriangle |
struct |
src/engine/rendering/model_preview.hpp |
Quat |
struct |
src/engine/rendering/math3d.hpp |
RenderCamera |
struct |
src/engine/rendering/render_types.hpp |
RenderComponent |
struct |
src/engine/components/render_component.hpp |
RenderItem |
struct |
src/engine/rendering/render_types.hpp |
RenderLight |
struct |
src/engine/rendering/render_types.hpp |
RenderList |
struct |
src/engine/rendering/render_types.hpp |
RenderSystem |
class |
src/engine/systems/render_system.hpp |
Renderer |
class |
src/engine/rendering/renderer.hpp |
RigidBodyComponent |
struct |
src/engine/components/rigid_body_component.hpp |
RigidBodyType |
class |
src/engine/components/rigid_body_component.hpp |
RotationComponent3D |
struct |
src/engine/components/rotation_component_3d.hpp |
SDLRendererDeleter |
struct |
src/editor/detached_play_window.hpp |
SDLWindowDeleter |
struct |
src/editor/detached_play_window.hpp |
SDLWindowDeleter |
struct |
src/editor/window_manager.hpp |
SDLWindowDeleter |
struct |
src/runtime/game_runtime.hpp |
ScaleComponent3D |
struct |
src/engine/components/scale_component_3d.hpp |
SceneGizmoAxis |
class |
src/editor/types.h |
SceneGizmoMode |
class |
src/editor/types.h |
SceneRenderer |
class |
src/engine/rendering/scene_renderer.hpp |
ScopedDirectoryCleanup |
struct |
src/tests/test_support.hpp |
ScopedFrameMetric |
class |
src/engine/profiling/frame_metrics.hpp |
ScriptAttachment |
struct |
src/engine/components/script_component.hpp |
ScriptCompileStatus |
class |
src/editor/editor.hpp |
ScriptComponent |
struct |
src/engine/components/script_component.hpp |
ScriptDocumentSnapshot |
struct |
src/editor/script_document.hpp |
ScriptEditorTab |
struct |
src/editor/editor.hpp |
ScriptRuntime |
class |
src/engine/runtime/script_runtime.hpp |
SdlSession |
class |
src/editor/window_manager.hpp |
SdlSession |
class |
src/runtime/game_runtime.hpp |
SettingsCategory |
class |
src/editor/editor.hpp |
Slot |
struct |
src/engine/assets/asset_handle.hpp |
Subprocess |
class |
src/engine/runtime/subprocess.hpp |
System |
class |
src/engine/core/ecs/system.hpp |
SystemContext |
struct |
src/engine/core/ecs/system_context.hpp |
SystemEntry |
struct |
src/engine/core/ecs/system_manager.hpp |
SystemManager |
class |
src/engine/core/ecs/system_manager.hpp |
SystemPhase |
class |
src/engine/core/ecs/system_manager.hpp |
TextComponent |
struct |
src/engine/components/text_component.hpp |
TransformHierarchyComponent |
class |
src/engine/components/transform_hierarchy_component.hpp |
Vec2 |
struct |
src/engine/rendering/model_preview.hpp |
Vec3 |
struct |
src/engine/rendering/math3d.hpp |
Vec3 |
struct |
src/engine/rendering/model_preview.hpp |
Vec4 |
struct |
src/engine/rendering/math3d.hpp |
VectorTextFrame3D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextGeometry3D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextLayout |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextPoint2D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextPoint3D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextSegment2D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextSegment3D |
struct |
src/engine/rendering/vector_text.hpp |
VectorTextStyle |
struct |
src/engine/rendering/vector_text.hpp |
VulkanRenderer |
class |
src/engine/rendering/vulkan.hpp |
Vulkan_Frame |
struct |
src/engine/rendering/vulkan.hpp |
Vulkan_FrameSemaphores |
struct |
src/engine/rendering/vulkan.hpp |
Vulkan_Window |
struct |
src/engine/rendering/vulkan.hpp |
WebGPURenderer |
class |
src/engine/rendering/webgpu_renderer.hpp |
WindowManager |
class |
src/editor/window_manager.hpp |
WorkspaceCreateKind |
class |
src/editor/editor.hpp |
WorkspaceDeleteResult |
struct |
src/editor/workspace_file_operations.hpp |
WorkspaceEditorSettings |
struct |
src/editor/editor_settings.hpp |
WorkspaceEntry |
struct |
src/editor/workspace_manager.hpp |
WorkspaceManager |
class |
src/editor/workspace_manager.hpp |
WorkspaceTreeNode |
struct |
src/editor/editor.hpp |
WorldComponent |
struct |
src/engine/components/world_component.hpp |