Skip to main content

Module

Modules are the top-level feature containers in the current architecture.

What a module does

A module packages a coherent part of the product and participates in startup through a registrar.

In practice, a module is responsible for things like:

  • registering services
  • loading its settings
  • initializing its runtime systems
  • shutting those systems down cleanly

How startup works now

The current system uses a shared bootstrap and explicit self-registration.

That means the runtime does not rely on loose discovery or an old single scene service model. Instead:

  1. the bootstrap creates the shared service registry
  2. installed module registrars register themselves
  3. modules register their services
  4. modules initialize in order

Modules users should care about

Shared

Defines shared contracts and utilities.

CivilAI

Owns simulation-heavy systems such as world time and the shared item catalog when installed.

Dialogue

Owns conversation and mood-facing systems and can consume shared services from other installed modules.

Module settings

Module settings are one of the most important user-facing parts of the architecture.

For many users, CIVIL-AI-SYSTEM -> Module Settings is the main place where architecture becomes visible in practice.

That is where you wire up content such as:

  • behaviour trees
  • item collections
  • character pools
  • timing and performance values

Why modules are useful

This structure makes the tool easier to extend and easier to install in different combinations without hard-coupling every feature to every other feature.