Saxonberg Server API
    Preparing search index...

    Public shape provided by ScryableMixin. Extends Visible because Scryable always co-composes with VisibleMixin — the prereq is documented at the type level so consumers narrowing via MixinApi.isScryable also reach Visible's getShort / getLong / etc.

    interface Scryable {
        canScryFor(target: Stuff): VetoResult;
        getIllustration(): string | null;
        getLong(): string;
        getLongDescription(): string;
        getMarkupLong(viewer: Stuff, opts?: AugmentOpts): string;
        getShort(): string;
        getShortDescription(): string;
        setIllustration(value: string | null): void;
        setLongDescription(value: string): void;
        setShortDescription(value: string): void;
    }

    Hierarchy (View Summary)

    Index

    Methods

    • Predicate-shaped veto. { ok: true } allows the scry to render via this instrument; { ok: false, reason } declines (out of range, target obscured, etc.) so the controller can surface a specific failure or fall through to other instruments.

      Subclasses override to gate by zone, target tier, instrument tuning, etc. Default implementation accepts everything.

      Parameters

      Returns VetoResult

    • Bucket-relative media key for this thing's illustration, or null. The picture is a visual description, so it rides the same Visible surface as the prose; the client prepends its configured media base URL. Members fall back to their species' key via Organism's override.

      Returns string | null

    • Long description with every contributing mixin's markupAugmenters applied — detail keys wrapped in <detail> MML when the host composes Detailed, exit names wrapped in <exit> when (future) Exitable contributes, language masks applied when (future) Language contributes, etc. Plain Visible hosts (no contributors) return getLong() unchanged.

      Same affordance-annotated text feeds both the look prose composer and the longDescription subscription projection, so the terminal scrollback and the inspection pane see identical clickable wrappers around the same anchors.

      viewer is threaded through to augmenters that need per-recipient decisions (language gating, spoiler hiding). Augmenters that don't care just ignore it.

      opts is forward-compat per-call options. The senses build uses opts.filter to pin a sense-channel allowlist (the four single-sense verbs pass their own channel; look passes ['vision']; sense passes the viewer's full sensorium). Default-absent opts means each augmenter falls back to its own default (the senseStripAugmenter falls back to the viewer's full sensorium — the gestalt rule).

      Parameters

      Returns string