Skip to main content

README.md File

Namespaces Index

namespaceengine

Main engine module aggregating core infrastructure and game systems. More...

File Listing

The file content with the documentation metadata removed is:

 # helios::engine
 
 Main engine module aggregating core infrastructure and game systems.
 
 ## Overview
 
 This module provides access to the complete helios engine functionality, including the ECS architecture, game systems, messaging infrastructure, and development tooling.
 
 ## Submodules
 
 | Module | Purpose |
 |--------|---------|
 | `helios.engine.core` | Data structures, messaging re-exports, units |
 | `helios.engine.ecs` | ECS base classes (GameObject, Component, System) and query system |
 | `helios.engine.runtime` | Runtime infrastructure (world, gameloop, pooling, messaging, factory) |
 | `helios.engine.modules` | Domain-specific components and systems (physics, spatial, scene) |
 | `helios.engine.mechanics` | Gameplay mechanics (bounds, combat, spawn, input) |
 | `helios.engine.tooling` | Frame pacing and performance metrics |
 
 ## Architecture
 
 ```
 helios.engine
 ├── core/ # Infrastructure
 │ ├── data/ # Type-indexed containers, pool IDs
 │ └── units/ # Measurement units (meters, seconds)
 ├── ecs/ # ECS base classes
 │ ├── Component # Data container base
 │ ├── GameObject # Entity container
 │ ├── System # Logic processor base
 │ └── query/ # GameObjectFilter, GameObjectView
 ├── runtime/ # Runtime infrastructure
 │ ├── world/ # GameWorld, Level, UpdateContext, Manager
 │ ├── gameloop/ # GameLoop, Phase, Pass
 │ ├── pooling/ # GameObjectPool, PoolRegistry, PoolFacade
 │ ├── messaging/ # CommandBuffer, Dispatchers, EventBus
 │ └── factory/ # GameObjectFactory
 ├── modules/ # Domain-specific components and systems
 │ ├── physics/ # Collision, motion systems
 │ ├── spatial/ # Transform components
 │ ├── scene/ # Scene graph integration
 │ ├── rendering/ # Renderable components
 │ └── pool/ # Pool ID components
 ├── mechanics/ # Gameplay mechanics
 │ ├── bounds/ # Level boundary behavior
 │ ├── combat/ # Shooting, projectiles
 │ ├── spawn/ # Entity spawning
 │ └── input/ # Twin-stick input systems
 └── tooling/ # Performance monitoring
 ```
 
 ## Usage
 
 ```cpp
 import helios.engine;
 
 // Access ECS classes
 helios::engine::runtime::world::GameWorld world;
 auto entity = std::make_unique<helios::engine::ecs::GameObject>();
 world.addGameObject(std::move(entity));
 
 // Access game loop - systems are registered with phases/passes
 helios::engine::runtime::gameloop::GameLoop gameLoop;
 gameLoop.phase(PhaseType::Main)
  .addPass()
  .addSystem<Move2DSystem>(&world);
 
 // Access tooling
 helios::engine::tooling::FramePacer pacer;
 ```
 
 ---
 <details>
 <summary>Doxygen</summary><p>
 @namespace helios::engine
 @brief Main engine module aggregating core infrastructure and game systems.
 @details This module provides access to the complete helios engine functionality, including the ECS architecture, game systems, messaging infrastructure, and development tooling.
 </p></details>
 

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.