Lilith Metaverse · Features

Lilith Commons, Venues & Live Service

A focused page within the Lilith Metaverse Features documentation. The full map and every sibling page live in the Features hub.

6sections13 minread1diagram3tables

On this page
mindmap root((Lilith Commons)) Venues Persistent rooms and social spaces Capacity tiers and accessibility Moderation recording and presence Programming Scheduled classes performances and gatherings Live-service calendars and cohorts Notices reminders and incident state V1 experiences Re-rendered Tara Nyx Arete and Nisaba moments Shared identity entitlement and continuity Honest fidelity and interaction boundaries Operations Content releases rights and takedown Observability staffing and support Rollout rollback and recovery

Commons is a governed venue and programming plane, not an unowned remainder between tenants. Re-rendered V1 experiences retain their original domain truth while adopting V3 presence, embodiment, content, and operations boundaries.

Lilith Commons is the open, contemplative social space at the centre of the Lilith metaverse — the part you wander into rather than book. Where Tara is a class you attend and Saraswati is a concert you arrive for, Commons is a persistent set of public rooms that are simply open: a library you can browse, an observatory tracking the real sky, a debate hall with claim-and-counterclaim podiums, a garden that follows the seasons, and a lantern-lit hall for grief and solitude. Eight venues ship at GA, each one a re-rendered V1 domain experience — Nisaba becomes a walkable open stack, Nyx becomes a planetarium dome, Veritas becomes a podium debate, Metis becomes a tiered lecture theatre — so that the contemplative content Oshun already publishes in 2D has an embodied 3D home. Over the top of those rooms runs a live-service layer: a rolling weekly calendar, four cross-tenant seasonal festivals, drop-day concerts, and community cohorts, so a venue is never empty and the world always has something on. The data, policy, and verifier tier behind all of it lives in one package — @oshun/tenant-lilith-commons (libs/v3/lilith-commons) — the largest single library in V3. This page covers the three load-bearing surfaces: the persistent venues, the re-rendered V1 experiences inside them, and the live-service programming that fills them. The section hub is ../V3_features.md.

What ships, honestly#

lilith-commons is substantive, domain-specific TypeScript — a 13,458-line src/index.ts backed by a 4,536-line, 143-case test suite — not a CRUD shell. What is real, and what is not, splits cleanly along three lines.

  • Real and tested: the venue catalog, capacity model, daily/weekly programming, the four seasonal festivals, the solitary-cell privacy invariants, and a per-experience verifier for every re-rendered V1 venue. Each verifier is a fail-loud gate that returns a structured report with a passed boolean, an enumerated set of sub-conditions, and a list of whatever is missing — publishV3LilithCommonsLaunchVenueCatalog() refuses to pass unless all eight venues are live, editorially signed, and design-approved with a score >= 95. These are decision engines, not config tables.
  • UE content referenced by string: the actual in-world rendering — the planetarium dome, the Sequencer-driven ritual rooms, the world-space UMG widgets, the radial podium geometry — is Unreal content addressed by path (/Game/Venues/Commons/…). This library owns the data, policy, and orchestration tier that points at that content and proves it is wired correctly; it is not the renderer.
  • Deterministic GA fixtures: the festival schedules and re-rendered scenes are seeded with fixed GA content (equinox-festival-2026, the six radial Veritas podiums, the 216 Nisaba editions). The publishers gate that seeded content against its rules; they are not a live operations feed. The V1 bindings (v1:veritas:…, v1:nisaba:edition:…, v1:metis:notebook:…) are string references that tie a venue to V1 domain data whose canonical surface still lives in V1.

The sections below say, per claim, which of the three it is.

Persistent venues#

The eight launch venues#

V3_LILITH_COMMONS_LAUNCH_VENUE_IDS (index.ts:150) enumerates the eight rooms that ship at GA, and V3_LILITH_COMMONS_LAUNCH_VENUES (index.ts:3198) instantiates each with a kind, a capacityTier, a core-experience string, an accessibility-feature list, an editorial signoff, and a design review.

Venue kind Tier Re-renders
Atrium arrival-plaza assembly first-run orientation, avatar arrival, wayfinding
Garden of Cycles garden-loop standard seasonal walking loops, ambient programming
The Stacks library-stack quiet Nisaba edition browsing, passage pulls
Observatory planetarium-dome assembly Nyx sky windows, deep-sky sessions
Debate Hall civic-debate assembly Veritas podium debates
Lecture Hall lecture-theater assembly Metis slide lectures, cohort seating
Atrium of Practice practice-atrium standard Tara ritual rooms, solitary cells
Lantern Hall reflection-hall quiet weekly review, journal walls, reflection alcoves

Capacity is a closed three-tier model — V3_LILITH_COMMONS_CAPACITY_TIER_LIMITS (index.ts:455) fixes quiet = 16, standard = 64, assembly = 256. The one exception is the Observatory's marquee sky events, which legitimately need a crowd and so escalate to a separate stadium tier validated at 4,096 simulated attendees (see Nyx Observatory below); the three baseline tiers cover everything else. publishV3LilithCommonsLaunchVenueCatalog() (index.ts:3265) is the GA gate over the whole set: it computes the live, editorially-signed, and design-approved venue ID sets, lists missingVenueIds, and only returns passed: true when the count is exactly eight, every venue is live, every editorial signoff is signed, and every design review is approved with score >= 95. A venue that ships without a passing design review cannot clear the catalog — the gate fails loud with the offending IDs, not a checkbox.

Solitary cells: the quiet exit#

Every venue carries at least one solitary cell — a single-occupant space with no voice chat, no visible avatars, and no observers, intended for grief, contemplation, and transition. The cell template is the same UE asset for all eight (V3_LILITH_COMMONS_SOLITARY_CELL_WORLD_TEMPLATE_REF = '/Game/Venues/Commons/SolitaryCell/LVL_CommonsSolitaryCell_Template', index.ts:169), and verifyV3LilithCommonsSolitaryVenueCells() (index.ts:3309) is the privacy gate that makes "solitary" a checked invariant rather than a promise. It derives three sets — cellsWithVoiceEnabledIds, cellsWithVisibleAvatarIds, cellsWithObserverSlotsIds — and the report passes only when all three are empty (noVoiceAccess, noVisibleAvatars, noObserverSlots), every venue has exactly one live cell, each cell's maxOccupants === 1, and every cell uses the solitary world template. A cell that leaks a voice channel, an observer slot, or a visible avatar slot flips its ID into one of those lists and fails the gate. Lantern Hall is the venue built entirely around this need; the per-cell 5 Hz transform tick and nameplate suppression that V3_features.md describes are runtime behaviours of the world server, which this library's invariants constrain.

Daily ambient programming#

A venue is "never closed, only quieter." publishV3LilithCommonsDailyProgrammingCalendar() (index.ts:7047) builds a per-venue daily cycle — a full-day ambient MetaSound/Web-Audio loop plus scheduled programming windows — and gates that all eight venues carry both a visible ambient loop and at least one valid scheduled-programming window (allVenuesHaveAmbientLoops, allVenuesHaveScheduledProgramming), with every entry visible in the calendar. A slot with no scheduled event falls back to its ambient bed; the gate's missingAmbientLoopVenueIds list is what would catch a venue that fell silent.

Re-rendered V1 experiences#

The organising principle of Commons is that every customer-facing V1 domain gets at least one embodied venue. The library models each as its own scene with its own verifier, so the binding back to V1 content is checked, not asserted.

V1 domain Commons venue Verifier entry point
Veritas Debate Hall verifyV3LilithCommonsVeritasDebateHallPodiumScene()
Nyx Observatory verifyV3LilithCommonsNyxDeepSkySessions()
Nisaba The Stacks verifyV3LilithCommonsNisabaOpenStackBookshelves()
Metis Lecture Hall verifyV3LilithCommonsMetisLectureHallSeating()
Tara Ritual rooms (Atrium of Practice) verifyV3LilithCommonsTaraMorningSunSalutationDropIn()
Arete Atrium of Practice verifyV3LilithCommonsAreteCohortReviewCircles()

Veritas Debate Hall#

The Debate Hall is the richest re-render and ships as three coupled verifiers. verifyV3LilithCommonsVeritasDebateHallPodiumScene() (index.ts:8280) proves the geometry: one central topic podium at radius 0 plus six radial podiums (V3_VERITAS_DEBATE_HALL_RADIAL_PODIUM_COUNT = 6) placed at exact 60° intervals on a 2.4 m circle — allPodiumTransformsRadial recomputes Math.hypot(x, z) ≈ radiusM to within 0.002 — with at least three supporting-claim and three counterclaim podiums, all bound to a real V1 Veritas topic hub (topicHubRef must start v1:veritas:topic-hub:). The live debate is verifyV3LilithCommonsVeritasDebateTurnMachine() (index.ts:8371): six participants take 120-second turns (V3_VERITAS_DEBATE_HALL_TURN_DURATION_MS = 120_000) in a deterministic, contiguous order — each turn's scheduledStartMs must equal the previous turn's end — with claim/counterclaim alternation enforced (participant.stance === (index % 2 === 0 ? 'claim' : 'counterclaim')), every turn policyCheckRef-moderated by the Lilith persona policy and marked moderationResult: 'approved', and no turn requiring manual intervention. Finally verifyV3LilithCommonsVeritasSophiaInlineCitations() (index.ts:8447) requires one Sophia-backed citation per participant claim, each renderMode: 'realtime-inline' and rendering within V3_VERITAS_DEBATE_HALL_INLINE_CITATION_MAX_RENDER_LATENCY_MS = 120 ms, sourced from sophia:veritas: with an https://sophia.oshun.example/veritas/ URL. Turn order is enforced so only the avatar holding a podium has the floor — a debate stays orderly even with a full hall.

Nyx Observatory#

The Observatory re-renders V1 Nyx sky data into a planetarium dome. verifyV3LilithCommonsNyxDeepSkySessions() (index.ts:7792) gates a guided deep-sky session for each of the 12 GA months (V3_NYX_DEEP_SKY_GA_MONTH_COUNT), every session co-led by the Nyx editorial team (editorialLead.role === 'nyx-editorial-lead' with a credential:nyx-editorial: reference), calendar-visible, and tied to a real Nyx observation window (nyxObservationWindowId === 'nyx-observation-window:deep-sky: …'). The marquee events are separate: verifyV3LilithCommonsNyxStadiumSpecialEvents() (index.ts:7865) requires an eclipse, a meteor-shower, and an aurora event, each at the stadium capacity tier and each validated by isV3LilithCommonsNyxStadiumSimulationPassing() at 4,096 simulated attendees (V3_NYX_STADIUM_SPECIAL_EVENT_SIM_ATTENDEES). The Observatory is one of the few Commons venues that legitimately needs stadium capacity, because a major sky event draws a large simultaneous audience; the crowd-shader presence model that serves attendance beyond 256 is the client-tier rendering documented in the sibling client-fidelity page.

Nisaba: The Stacks#

The Stacks turns V1 Nisaba into a browsable open-stack reading room. verifyV3LilithCommonsNisabaOpenStackBookshelves() (index.ts:7932) proves a filled stack: 12 shelves of 18 editions each (V3_NISABA_OPEN_STACK_SHELF_COUNT × V3_NISABA_OPEN_STACK_EDITIONS_PER_SHELF) for 216 visible editions (V3_NISABA_OPEN_STACK_VISIBLE_EDITION_COUNT), every edition bound to a real V1 Nisaba edition (v1NisabaEditionRef starts v1:nisaba:edition:), every shelf full, and every edition routed to a pull URL (/commons/the-stacks/editions/{editionId}). Pulling a book opens a passage panel HUD whose content is genuinely authored, not lorem: V3_NISABA_PASSAGE_PANEL_CONTENT_PROFILES (index.ts:306) carries twelve tradition-specific passages — Sumerian hymn, Vedic commentary, Buddhist sutra, classical Greek, Hebrew wisdom, Arabic philosophy, and more — each with a canonical reference, an excerpt, and a reader cue. The passage panel is the V1 Nisaba content surface inside a world-space UMG overlay (an HTML overlay on the Tier-2 fallback), so the canonical reading experience is reachable in 3D.

Metis Lecture Hall#

verifyV3LilithCommonsMetisLectureHallSeating() (index.ts:8647) re-renders V1 Metis lectures as a 256-seat theatre — 8 tiers of 32 seats (V3_METIS_LECTURE_HALL_TIER_COUNT × V3_METIS_LECTURE_HALL_SEATS_PER_TIER) — and folds a real performance budget into the gate: the seating plan must render within V3_METIS_LECTURE_HALL_MAX_RENDER_COST_MS = 16 ms with a draw-call budget <= 64 and the seat-glyph batch count at or under it (lectureHallRendersWithoutPerformanceIssue). Every seat is avatar-anchored with a note anchor whose notes persist back to a V1 Metis notebook (v1MetisNotebookRef === V3_METIS_LECTURE_HALL_V1_NOTEBOOK_REF, persistenceStatus === 'persisted'), so a student's in-world notes travel with their seat and sync to their V1 record. Sibling verifiers cover the slide projection surface, the cohort break-out flow, and private assessment-review cells. Each seat's vertical position is even computed from its tier (seat.y === 0.04 + tierIndex * 0.08), so the rake of the theatre is data, not art.

Tara ritual rooms and the Arete atrium#

The Atrium of Practice hosts both Tara's Commons-side ritual rooms and Arete's weekly review. V3_TARA_RITUAL_ROOM_IDS (index.ts:402) enumerates five — dawn circle, sunset circle, new-moon, full-moon, breathwork — and the library ships a verifier per recurring program: verifyV3LilithCommonsTaraMorningSunSalutationDropIn(), …SunsetGratitudePractice(), …LunarRitualCircles() (on the lunar calendar, surfaced as Nyx-linked events), …GroupBreathworkSessions(), and …SolitaryPracticeCells(). The Arete side mirrors V1's weekly review with verifyV3LilithCommonsAreteJournalWalls() (opt-in, revocable reflection posts), …AreteCohortReviewCircles(), and …AreteSolitaryReviewAlcoves(), each persisting continuity back into the V1 Arete record. These ritual rooms are open and drop-in rather than booked — the structured, instructor-led Tara classes are a different surface, covered in ./tara-instructors-classes-coaching.md.

Live-service programming#

Weekly programming calendar#

buildV3WeeklyProgrammingCalendarUiModel() (index.ts:4987) assembles the rolling weekly calendar that spans all three tenants — Tara, Saraswati, and Commons — into one cross-surface UI model. Each V3WeeklyProgrammingCalendarSlot carries a tenant filter, a venue label, a capacity label, per-surface routes (web/mobile/vr), and a V3WeeklyProgrammingSubscriptionControl. A user subscribes to a calendar segment, and reminders fire through V1's messaging-channel substrate — the V3WeeklyProgrammingReminderChannel union is exactly telegram | whatsapp | push | email | sms. The VR surface gets a first-class panel (V3WeeklyProgrammingVrPanelModel, widgetClass: 'UV3WeeklyProgrammingCalendarWidget', ray-press interaction, anchored to the Atrium north wall), so the same calendar is reachable from a headset, a phone, or the web. The calendar is the single surface where a user discovers what is on, so it stays current rather than stale.

Seasonal festivals#

Four cross-tenant festivals are first-class report types, each with its own publisher and gate.

Festival Publisher Gate highlights
Equinox Festival publishV3EquinoxFestivalProgrammingSchedule() (index.ts:5027) 4–7 day window; Tara/Saraswati/Commons all scheduled; contiguous day coverage; Tara dawn practices + Saraswati garden ambient sets (in Garden of Cycles) + Nyx programming all present
Lineage Week publishV3LineageWeekProgrammingSchedule() (index.ts:5131) teacher-lineage talks, Nisaba scholar talks, Saraswati archival sets; talks carry a complete recording with a C2PA manifest and transcript
Crossover Weekend publishV3CrossoverWeekendProgrammingSchedule() (index.ts:5227) Tara/Saraswati sound-bath fusions; each track carries a rights clearance that is cleared or blocked
Remembrance Days publishV3RemembranceHallMemorialProgram() (index.ts:5323) Lantern Hall memorial; tone review must be solemn-remembrance, with a two-reviewer moderation floor (V3_REMEMBRANCE_HALL_MIN_MODERATION_REVIEWERS = 2)

The Equinox gate is representative of how seriously these are validated: it recomputes the day window from the events, checks the day indexes form a contiguous 1..n run (allFestivalDaysCovered), confirms every required tenant appears (including co-hosts), and asserts each of the three signature event kinds is present at its correct venue before returning passed. Remembrance Days is the inverse — its tone gate exists to block an inappropriately celebratory program at a memorial, with the alternative inappropriate-celebratory tone profile as the thing it rejects. A major festival with a large expected audience triggers the operator-staffing ramp and earlier capacity pre-warming, which are operations concerns documented in the architecture companion.

The remaining live-service surfaces are real product features whose drivers sit in sibling tenants, and this page is honest about the boundary. A featured instructor is a monthly Tara-editorial pick that earns Atrium signage and a paired Saraswati concert — the instructor side is in ./tara-instructors-classes-coaching.md. A drop-day concert pairs every Saraswati single release with a live Stadium-tier event (the V3Mode_SaraswatiDrop plugin), covered in ./saraswati-personas-discography-performance.md. Community cohorts are recurring closed groups with a fixed roster and a capacity cap (24 for Tara); enrolment closes once a cohort starts, and an under-enrolled cohort is rescheduled rather than run thin. Where cohorts intersect Commons safety — an adult instructor may not schedule a class that admits minors without a cleared background check, and a minor has four surfaces hard-locked with no bypass — the enforcing code (evaluateV3MinorProtectionDefaults(), index.ts:12575) lives in this library and is documented as part of the in-world safety model in the architecture companion.

How it connects#

Commons is the social shell that the rest of V3 renders into. The venue scenes, podium geometry, planetarium dome, and ritual rooms are authored in the Creator Suite — Lilith Studio, whose scene-graph editor, accessibility checker, and environment-promotion gates are documented in ./creator-suite-lilith-studio.md; a venue that fails the accessibility checker cannot be promoted past preview. The Saraswati side of the programming calendar — drop-day concerts, festival performances, listening parties — is ./saraswati-personas-discography-performance.md, and the Tara ritual rooms and featured-instructor spotlights connect to ./tara-instructors-classes-coaching.md. The full internals — the seven-surface accessibility suite, the 18-locale localization pipeline, the in-world report → review → sanction chain, and the world-server room runtime that spawns these venues — are traced in the architecture companion, ../architecture/tara-classes-aja-and-commons.md. The honest line throughout: the venue catalog, the per-experience verifiers, the programming and festival publishers, and the solitary-cell privacy invariants are real, tested TypeScript; the in-world rendering they point at is UE content addressed by string, and the V1 bindings are references into domain data that still lives in V1.