Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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,
}
MemberTypeDescription
attack
item-use

transition-kind

Repeat is an authorized pulse on physically held attack, not another device press.

enum transition-kind {
    press,
    release,
    repeat,
}
MemberTypeDescription
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,
}
MemberTypeDescription
actionfiltered-action
kindtransition-kind
held-afterboolResolved 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,
}
MemberTypeDescription
attackbool
item-usebool

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>,
}
MemberTypeDescription
epochu64Changes 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-usu64Absolute monotonic real time, in microseconds; idle callbacks may be skipped.
physicalheldHeld states immediately before transitions, after reset reconciliation.
logicalheld
transitionslist<transition>

Types: held, transition.

action-verdict

One decision per transition plus explicit completion of retained releases.

record action-verdict {
    accepted: list<bool>,
    release: held,
}
MemberTypeDescription
acceptedlist<bool>Exactly one decision per transition, in order. False suppresses the edge.
releaseheldCompletes retained releases before the batch. Ignored for physical holds.

Types: held.

Functions

This interface defines shared types and has no functions.