Saxonberg Server API
    Preparing search index...

    The static side of a brain class — what BehavedMixin reads off the resolved brain export. claims / requiresFree are brain-declared (not author-set) so the spec stays { brain, trigger, config } and the contention wiring comes along with the brain.

    interface BrainStatics {
        claims?: readonly EngagementSlot[];
        label: string;
        presenceGated?: boolean;
        requiresFree?: readonly EngagementSlot[];
        act(ctx: BrainContext): void | Promise<void>;
        open?(args: DialogueOpenArgs): Promise<DialogueOpenResult>;
    }
    Index

    Properties

    claims?: readonly EngagementSlot[]

    Engagement slots this brain occupies while acting.

    label: string

    Display label (CMS palette; cancel/engagement type tag).

    presenceGated?: boolean

    When true (default), cadence fires are skipped if the host's room has no perceiving audience — no point animating an empty bar. shifts opts out (false): it must run unwatched to migrate off-stage cast.

    requiresFree?: readonly EngagementSlot[]

    Slots that must be free for this brain to proceed / hold.

    Methods