data/presentation/
A presentation field: one value of the public manifold-gameplay:presentation component, which animation binding tables read (Field(..) and Counter(..) sources). Abilities write fields with SetPresentation and bump counters with BumpCounter, so a model can show a wind-up or recoil without its own component. The engine declares manifold:dead, which is set while an entity is dead. Keep a world under 32 fields.
| Registry | manifold:presentation-field |
| Files | data/presentation/*.ron, *.update.ron, *.final.ron |
| Sides | both: the server and every client load it, and the handshake’s data hash covers it |
| Reads | nothing |
| Contract | Gameplay framework, data stage |
Entry
A record, written Field(..); the name before the parentheses is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | yes | The field’s key, <mod-id>:<name>. | |
kind | PresentationKind | no | Counter | The value’s type. |
default | f32 | no | 0 | The value it holds until set, and returns to when the ability that set it ends. |
Example
From game/flagship-game/data/presentation/flagship.ron:
Field(id: "flagship-game:shots", kind: Counter)
Types
PresentationKind
A presentation field’s type.
| Variant | Written | Description |
|---|---|---|
Counter | Counter | A byte that wraps; a binding table fires on each change (BumpCounter). |
U8 | U8 | A byte, 0 to 255. |
U16 | U16 | 0 to 65535. |
Bool | Bool | true or false (a non-zero value). |
F32 | F32 | A float. |