Saxonberg Server API
    Preparing search index...

    Interface MqlMatchVia

    Sub-feature attribution. Tells callers which path produced the match, so a controller (e.g., GoController) can act on the discovery (traverse the Exit, drill into the Detail) without re-discovering it.

    The base shape is intentionally empty; subsystems augment via declare module '../api/mql/types' { interface MqlMatchVia { … } }:

    • lib/description/Detailed.ts adds detailPath?: string[].
    • lib/spatial/Exit.ts adds exit?: Exit.

    When matches arrive via mixed paths (e.g., one detail, one exit), the resolver returns via: undefined per the consistency rule.

    interface MqlMatchVia {
        bulk?: { affordance: BulkAffordance };
        detailPath?: string[];
        exit?: default;
    }
    Index

    Properties

    bulk?: { affordance: BulkAffordance }

    Set when a match arrived through a holder's bulk slot (the :b transform or material-keyword resolution). The matched Stuff is the holder; affordance tells the controller which slot (interior vessel vs surface puddle).

    detailPath?: string[]

    Detail name path for matches that arrived through a host's Detailed-mixin descriptors. Single-element for top-level details, longer for nested navigation (here:bookcase:book lands detailPath: ['bookcase', 'book'] on the room match).

    exit?: default

    Exit reference for matches that arrived through a Location's exits (direction or alias). The matched Stuff is the location; the exit gives access to direction, destination, door, etc.