Skip to main content

engine Folder

Folders Index

folderbuilder
foldercore
folderecs
foldermechanics
foldermodules
folderruntime
foldertooling

Files Index

filehelios/engine/_module.ixx

Aggregate module for helios::engine namespace. More...

filebootstrap.ixx

Description

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

ModulePurpose
helios.engine.coreData structures, messaging re-exports, units
helios.engine.ecsECS base classes (GameObject, Component, System) and query system
helios.engine.runtimeRuntime infrastructure (world, gameloop, pooling, messaging, factory)
helios.engine.modulesDomain-specific components and systems (physics, spatial, scene)
helios.engine.mechanicsGameplay mechanics (bounds, combat, spawn, input)
helios.engine.toolingFrame 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

 import helios.engine;
 
 // Access ECS classes
 auto entity = std::make_unique<helios::engine::ecs::GameObject>();
 world.addGameObject(std::move(entity));
 
 // Access game loop - systems are registered with phases/passes
 gameLoop.phase(PhaseType::Main)
  .addPass()
  .addSystem<Move2DSystem>(&world);
 
 // Access tooling


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.