Saxonberg Server API
    Preparing search index...

    Public shape provided by SlottableMixin.

    fitsSlot is the candidate-side per-slot acceptance test consulted by Slotted.canOccupy after the slot-side mixin check passes. Bare Slottables (avatars sitting in chairs, riders mounting horses) default to "always fits" — WearableMixin and WieldableMixin override it to consult their per-body-plan claim records.

    Hoisted here (rather than living on a separate SlotFittable optional shape) so canOccupy is a virtual call against a known method, not a runtime "does this Stuff happen to have a fitsSlot field" duck-type check.

    interface Slottable {
        fitsSlot(host: Stuff & Slotted, slot: string): boolean;
        getOccupiedHost(): Stuff & Slotted | null;
        onSlotReleased?(host: Stuff & Slotted, slotName: string): void;
    }

    Hierarchy (View Summary)

    Index

    Methods

    • Inverse lookup convenience: "what host am I currently in a slot of?" Returns the single host or null. Throws if the Slottable is in slots on multiple hosts simultaneously (which only matters for Wearable's multi-claim case — a gauntlet on each hand of the same wearer is one host; cross-host is the violation).

      Returns Stuff & Slotted | null

    • Optional witness fired by Slotted.vacate(slot, candidate) and Slotted.vacateSole(slot) immediately after the candidate is removed from the host's occupant set. Synchronous, in the same transaction as the vacate. v1's Mobile.onSlotReleased clears engagedMode for passthrough modes (ride / drive) so a dismounting rider's engagement clears automatically. Future witnesses (polymorph revert, status-clear, etc.) compose on the same shape.

      Parameters

      Returns void