Saxonberg Server API
    Preparing search index...
    Index

    Constructors

    Methods

    • Boot seam (idempotent). Installs both social-graph presence consumers: the notify-gated login/logout notification relay and the presence-PUBLIC roster delta tap (feeding the "Who's Online" pane). Both ride the same four presence events. Wired from AppBootstrap.run().

      Returns void

    • Render the per-viewer occupant block for a room: the display-lensing formatter (Phase 2), a sibling of RecognitionApi.describe one cardinality up. Partitions occupants by the shared ruleFor first-match into boosted (lifted + full-named + colored), named-default, and density-collapsed (similarity-grouped "N in " / "(N others present)") buckets, modulated by the viewer's social.verbosity. roomSize (renderable-organism count) drives the density tier.

      Returns a fully-resolved Mml for viewer — resolved eagerly because ruleFor is async while MML toString is sync; v1 renders the block for a single known viewer (look's toSelf, arrival's forceCommand('look')). The collapsed lines are mudq: handles carrying their room-scope MQL seed so the aggregate stays targetable.

      Parameters

      Returns Promise<Mml>

    • Reorder the rule on ref directly above / below anchor — list order is precedence, so this is how a rule is made authoritative. A referenced reserved label is materialized with its baseline defaults.

      Parameters

      • viewer: Stuff
      • ref: string
      • anchor: string
      • where: "above" | "below"

      Returns boolean

    • Resolve the first-matching rule for person as seen by viewer — the shared primitive the display formatter and the notification fan-out both call. Walks the effective list (virtual foes/friends baseline → stored rules → virtual strangers/everyone-else tail) and returns the first whose group contains the person; everyone-else is the always-true catch-all. excludeMql skips mql: refs (the notification fan-out passes it).

      Parameters

      Returns Promise<ResolvedRule>

    • Restyle a matched speaker's already-buffered message body per the viewer's first-matching onMessage surface (a notification surface, never feed-filtering): full/summary → highlight in the rule color, silent → body unchanged (notification suppression only — the message still renders). MQL refs are excluded (a restyle is a notification surface). body is materialized per viewer. See the Phase-3b wiring note on SocialLogic.

      Parameters

      Returns Promise<Mml>