• Build the list of gear items a body part may hold: only items whose kind is in holdableKinds and that are not stowed inside a container (you cannot grip a weapon sitting in a bag). Order is preserved.

    Type Parameters

    Parameters

    • gear: readonly T[]

      Candidate gear items (typically the actor's weapons + misc gear).

    • getKind: (item: T) => string

      Resolves an item's kind.

    • getContainerId: (item: T) => undefined | null | string

      Resolves the container id an item is stowed in (empty/undefined = loose).

    • holdableKinds: ReadonlySet<string>

      The kinds eligible to be held.

    Returns HoldableOption[]

    The holdable options, in input order.