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, BardTreeLtd/Civil AI/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.