One row of the world.social.roster projection — the viewer-lensed
"who's online" record the server composes per-viewer (mirrors the server
ProfileApi.RosterRow). The header is already lensed server-side
(recognized → a name; stranger → a salient-feature description), so the
client only renders — it owns zero naming/recognition semantics.
handle is the stable per-target key (the Avatar template path); the
client keys the roster map on it for stable add/remove/upsert.
header is the display string AND the targeting token the row's
profile <header> command uses.
country is the resolved country of origin (display name), present
when the server could resolve it.
status is a notable status only (idle/engaged/reconnecting); absent
means plain online.
recognized drives styling — known characters render emphasized,
strangers muted.
One row of the
world.social.rosterprojection — the viewer-lensed "who's online" record the server composes per-viewer (mirrors the serverProfileApi.RosterRow). The header is already lensed server-side (recognized → a name; stranger → a salient-feature description), so the client only renders — it owns zero naming/recognition semantics.handleis the stable per-target key (the Avatar template path); the client keys the roster map on it for stable add/remove/upsert.headeris the display string AND the targeting token the row'sprofile <header>command uses.countryis the resolved country of origin (display name), present when the server could resolve it.statusis a notable status only (idle/engaged/reconnecting); absent means plain online.recognizeddrives styling — known characters render emphasized, strangers muted.