Skip to content

Domain systems

The engine settles commands, schedules work, and records evidence, but it has no rules of its own for trade, war, or taxes. Domain systems supply those rules. Most of them are domain extensions: optional crates built on canwu-api that you add as dependencies and register as plugins. Register only the systems your application needs; the others take no part in the run. First-party extensions use the same plugin interface as the plugins you write, so you can replace any of them.

A few systems also provide shared types that canwu-api re-exports: knowledge ledgers, decision tickets, route plans, and transport records.

Each system has a design page that covers what it owns, how it runs inside a boundary, and what your application supplies. Routing, military, and technology also have walkthroughs: route planning and delivery, military extension, and technology diffusion.

Most games use several systems at once. The case studies run complete scenarios, such as grain supply for an army or a letter routed from Wuxi to Beijing, and show how the systems hand records to one another.