StaticbootStaticcomposeThe full inspection card for target, viewer-redacted by recognition
viewer === target returns the
unredacted self-card plus the standing digest. The cardinality-one
sibling of composeOccupants.StaticcomposeRender 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 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.
StaticcomposeStaticlistThe viewer's effective ordered rule list — stored rules spliced into
the virtual reserved baseline. Backs the notify bare-list view and
the settings pane projection.
StaticonlineEvery currently-connected player avatar — the cheap filter over the
online set (linkdead / destroyed excluded). The roster source for
who and the live pane.
StaticremoveDrop the rule keyed on ref (group falls to the baseline tail).
StaticreorderReorder 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.
StaticruleResolve 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).
Optionalopts: RuleForOptionsStaticsetUpsert a per-character rule on ref (any GroupRef), merging patch
over the existing rule or a baseline/neutral default. The 50-rule soft
cap is enforced by the notify verb before calling.
StaticsnapshotPush a full viewer-lensed roster snapshot to one viewer (pane open /
session establish) as a world.social.roster frame. Fire-and-forget.
StaticstatusDerived session-liveness for target, in display-precedence order
(reconnecting > engaged > idle > active). Computed on read
against the social.idleAfter AppSetting; no stored idle state.
StaticstyleRestyle 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.
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().