Action filter
cinnabar:extension/action-filter@0.1.0
Policy-free decisions on resolved, source-backed button actions.
Grants: controls to run the optional filter-actions export; this interface defines its shared types.
Types
filtered-action
Closed in this version; additional actions require a new optional export.
enum filtered-action {
attack,
item-use,
}
| Member | Type | Description |
|---|---|---|
attack | ||
item-use |
transition-kind
Repeat is an authorized pulse on physically held attack, not another device press.
enum transition-kind {
press,
release,
repeat,
}
| Member | Type | Description |
|---|---|---|
press | ||
release | ||
repeat |
transition
One resolved edge, with the physical held state immediately after it.
record transition {
action: filtered-action,
kind: transition-kind,
held-after: bool,
}
| Member | Type | Description |
|---|---|---|
action | filtered-action | |
kind | transition-kind | |
held-after | bool | Resolved physical hold after this edge; another binding may still hold the action. |
Types: filtered-action, transition-kind.
held
Independent Attack and Use holds, interpreted as physical or logical by the parent field.
record held {
attack: bool,
item-use: bool,
}
| Member | Type | Description |
|---|---|---|
attack | bool | |
item-use | bool |
action-frame
One ordered action batch with continuity and real-time evidence for guest policy.
record action-frame {
epoch: u64,
time-us: u64,
physical: held,
logical: held,
transitions: list<transition>,
}
| Member | Type | Description |
|---|---|---|
epoch | u64 | Changes on owner replacement, callback failure or input-authority interruption. Clear guest policy state on a change. Suppressed gestures stay suppressed until physical release; retained releases are completed before this batch. |
time-us | u64 | Absolute monotonic real time, in microseconds; idle callbacks may be skipped. |
physical | held | Held states immediately before transitions, after reset reconciliation. |
logical | held | |
transitions | list<transition> |
Types: held, transition.
action-verdict
One decision per transition plus explicit completion of retained releases.
record action-verdict {
accepted: list<bool>,
release: held,
}
| Member | Type | Description |
|---|---|---|
accepted | list<bool> | Exactly one decision per transition, in order. False suppresses the edge. |
release | held | Completes retained releases before the batch. Ignored for physical holds. |
Types: held.
Functions
This interface defines shared types and has no functions.