data/styles/
A style: per-encounter rules over activity tags that change what agents choose, which activities they may pick (allow, deny) and how much each is worth (scale). Tags match themselves and their descendants (ai.activity matches ai.activity.flee). On an archetype brain a denied behaviour does not start, and a running one stops. Engine code sets an agent’s style by key (encounter directors, encounter volumes and squad roles); no data field assigns one, and a style is not saved. Loaded by the server only.
| Registry | manifold-ai:style |
| Files | data/styles/*.ron, *.update.ron, *.final.ron |
| Sides | server: only the server loads it |
| Reads | nothing |
| Contract | Brains, data stage |
Entry
A record, written Style(..); the name before the parentheses is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | yes | The style’s key, <mod-id>:<name>. | |
allow | list of string | no | none (every activity is permitted) | When not empty, only activities with a matching tag are permitted. |
deny | list of string | no | none | Activities with a matching tag are not permitted. |
scale | map of string to f32 | no | none | Utility multipliers by tag, 0 to 16, for activities with a matching tag; several matches multiply: {"ai.activity.flee": 2.0}. |
grants | list of string | no | none | Capabilities the style grants, for encounter code to read; the AI itself acts on none yet. |
Example
No bundled file declares one yet. From the reference’s test fixture, crates/manifold-server-state/tests/data-reference-fixture/data/styles/cautious.ron, which the data stage loads in its tests:
Style(
id: "dataref-fixture:cautious",
deny: ["ai.activity.combat"],
scale: {"ai.activity.flee": 2.0},
)