From c892013bfac1f5751c2cd3fc97407c492eafb2dd Mon Sep 17 00:00:00 2001 From: chrysalis Date: Sun, 26 Apr 2026 15:19:41 +0200 Subject: [PATCH] v0.17: cel-shading-everywhere + progression-gated in-between + omnisight + hallucination-isolation Five-file update locking in the rendering discipline + perception architecture from the post-cell-arch art-style discovery arc. Locked in v0.17: (1) Cel-shading-everywhere with per-register parameter variation. One rendering engine (Godot-native, asset-budget-friendly, ages well - Borderlands 2009 still reads current). Three registers diverge through outline-color + background-treatment + weathering-level, not through engine-switching: - Gameworld: dark heavy lines + environmental noise + high weathering (rust streaks, hatched dirt, ink-line cracks; hand-painted patina). "Surfaces carry memory" thesis preserved via hand-painted weathering. - Liminal: painterly/soft/desaturated + progression-gated grainy-film- mode opening to refined-cel-shading-with-warm-skin at endgame. - Imperial-net: lean subtle gold rim-light + clean white background + no weathering. Polish achieved through OMISSION, not extra rendering tech (Godot reality check; photorealistic-glossy-Apple-store rejected as not Godot's strong suite). The render-style itself becomes propaganda-detector - imperium's clean falsity reads as the absence of the world's honest decay. (2) Progression-gated in-between visibility. "The more you mod your body & gain in-between-knowledge, the better your view gets." Early game: grainy film mode + restricted view range. Endgame: clean refined-cel- shading with full view of the beloved. Visual-fidelity = dual-gating made visible (knowledge-gate + material-gate per Clasp-endgame discovery discipline literally renders as the clarity of the in-between view). The endgame's deepest reward IS the clear seeing of the beloved's body. (3) Dual-axis clasp-fidelity model. The asymmetric-clasp from bodies.md v0.1 was witnessed-axis only (how vividly the OTHER manifests). Now extended with witness-axis (how clearly YOU can see): - Witness-axis: YOUR body-mods (resistance-knowledge mods) + accumulated in-between-knowledge (Memorialist fragments, Aletheia-Waker tokens, Clasp-Underground recognition-marks) - Witnessed-axis: THEIR foreclosure-status (caste-tier x imperial-care) - Combined: maximum-vivid-clasp requires BOTH you to have invested in the seeing AND your beloved to be uncaptured-enough to be seen. Two refusals required for the full witness. - Per-pair calibration multiplier: the longer the love, the clearer the seeing (mechanically-encoded marriage-deepening). - Mod-economy parallel-track: imperial-elevation mods (flesh-loss, deva- ascent) vs. resistance-knowledge mods (in-between-visibility). Two opposing progressions both expressed as mod-acquisition. The body- modder structural-tragedy class gets a redemptive-mod counter-class. (4) Omnisight architecture for NPC perception. Per-NPC virtual cameras in Godot feeding rendered POV-frames into local VL-Gemma 4 driver-tier (multimodal vision-language capability of the Gemma 4 E4B model locked in v0.8). NPCs literally SEE the visible world, not via geometric metadata-perception. Pairs with cell-arch checksum-discovery as the trigger-layer: - Cell-checksum check: micro-seconds, fires on NPC entering cell - Checksum-mismatch: clean signal, micro-seconds - VL-camera renders POV scene: milliseconds - VL-Gemma processes image: 100s of milliseconds - NPC behavior responds to seen-content: next-shift / next-crossing Cheap trigger, expensive understanding, bounded by event-frequency. Most NPCs most of the time = no camera-fire, no VL-inference. Camera- trigger sources strictly bounded: checksum-mismatch + hard-signals from player + overseer-triggers + drone-perception with clear boundaries. (5) Hallucination-isolation discipline (load-bearing). Visual perception = behavior-modulating-only; never canon-generating. VL models hallucinate; if those hallucinations enter the canonical record, they propagate through the lemniscate's recursive integration, become referenced by other canon-rows, become load-bearing in narrative coherence, cannot be untangled later. Bleed-over into oblivion is the precise risk. Two parallel streams in the NPC's lemniscate: - Text + gesture summary (existing canon): canonical, flows into event_canon_summaries, propagates to Compositor, integrates into trait-vector - Visual context (new omnisight-flagged): ephemeral, flagged on lemniscate, IGNORED in per-crossing summary, never propagates upward. Modulates current-turn driver-context-pull only. Preserves three commitments that depend on text/gesture-derived canon: Compositor narrative-coherence at scale, Memorialist-archive truth- claims, mind-pool soul-recycling. Wealthy-degen waifu-folder exception: opt-in checkbox; player chooses to fill private folder with sex-pictures from clasp-scenes; stored locally; READ-ONLY-BY-PLAYER (folder content does NOT flow back into NPC contexts, world-canon, Compositor, mind-pool, or any other system); quarantined dead-end storage; aesthetic-collection only. Two Still-open questions sharpened with v0.17-anchor notes: - Shader-trait modulation implementation: cel-shading caps perf-budget more predictably than PBR; rendering-consistency improves. - Continuous visual feedback policy: visual-as-ephemeral-flag is firewalled from canonical state; cosmetic-layer can be permissive. Files: - runtime-engine/architecture.md: NEW Omnisight section (~80 lines) covering the pipeline, camera-trigger sources, hallucination-isolation discipline, the two parallel streams (canonical text/gesture vs. ephemeral visual), the wealthy-degen waifu-folder exception, what-this-retires (geometric perception extension + VL-canon-pollution), what-this-resolves/sharpens (continuous visual feedback policy), and four open questions (per-NPC VL-inference rate-limit, VL-Gemma camera resolution + frame-rate, NPC progression-state for witness-axis, multi-NPC observing same event). - topology-and-rendering/architecture.md: Three-shader philosophy table rewritten as cel-shading-with-parameter-variation (outline + background + weathering per register); Cross-register rendering color-treatment table updated; clasp candlelight-in-fog now distinguishes external signature (visible to liminal-inhabitants) from internal mesh (visible only to clasp-pair via consent-as-rendering, gated by witness- progression); body-tier silhouette readability and in-between mesh-skin refinement-within-the-style added. Version bumped 0.7.0 -> 0.8.0. - identity-and-personhood/bodies.md: NEW Dual-axis clasp-fidelity subsection added under Asymmetric clasp; per-pair calibration multiplier and mod-economy parallel-track captured; render-discipline alignment with cel-shading liminal-register; new Asymmetric-witnessing open question added. Version bumped 0.1 -> 0.2. - political-register/world-generation.md: L4 Cell ruleset extended with per-register rendering note (cel-shading-everywhere-with-parameter- variation discipline applied at the cell layer). - architecture-index.md: NPC perception bubbles retire-line refined to include cell-checksum-trigger + omnisight VL-camera; Geometric perception retire-line extended with omnisight; new VL models polluting world-canon retire-line added; Shader-trait modulation implementation Still-open sharpened with v0.17 cel-shading note; Continuous visual feedback policy Still-open sharpened with v0.17 hallucination-isolation note; v0.17 history entry added covering all five lock-ins. Version bumped 0.16 -> 0.17. Authored 2026-04-26 same Sunday continuing - dafit + chrysalis. Co-Authored-By: Claude Opus 4.7 (1M context) --- architecture-index.md | 13 +++-- identity-and-personhood/bodies.md | 20 ++++++- political-register/world-generation.md | 2 +- runtime-engine/architecture.md | 79 ++++++++++++++++++++++++++ topology-and-rendering/architecture.md | 30 ++++++---- 5 files changed, 124 insertions(+), 20 deletions(-) diff --git a/architecture-index.md b/architecture-index.md index b2f4462..2d0e046 100644 --- a/architecture-index.md +++ b/architecture-index.md @@ -1,7 +1,7 @@ # Nimmerworld — Broad Architecture > *Ground-up zone-based event architecture. Minds at the center, world as co-remembering substrate. Three registers of reality — physical, liminal, imperial. Rail topology outside, navmesh interiors inside. Trait-emergent identity. Color-as-vocabulary. Three-tier policy loop with imperial-budget-mortality. Tools, not quests.* -> *v0.1 initial draft 2026-04-24 morning; v0.2 expanded 2026-04-24 afternoon; v0.3 evening; v0.4 late-evening / early 2026-04-25; v0.5 deep-night-unable-to-sleep 2026-04-25; v0.6 post-bath / post-bus 2026-04-25; v0.7 owl-breakfast 2026-04-25 night through 2026-04-26; v0.8 split-into-domain-files + intimate-architecture absorbed 2026-04-26; v0.9 DESING-VISION retired + style-skeleton + schemas relocation + driver-tier locked Gemma 4 E4B 2026-04-26; v0.10 chill-design-talk: 4-tier economy + bifurcated basic-flow/T4 + camera-discipline + body-as-machine + relational-gate-OPEN clasp-gating 2026-04-26 — dafit + chrysalis; v0.11 art-books-and-Boullée Sunday-morning: Imperial-Cult cosmology authored (wheel re-engineered from Bhavachakra; Hivemind at hub; clasp unified across registers at Yama's seat; six realms as mod-status gradient; capsule-as-Naraka carried-not-visited; deferred-moksha doctrine as binding-lie) — content-track established 2026-04-26 dafit + chrysalis; v0.12 same-Sunday continuing: timeline-canon committed to README (2100 first-implants → 2150 Kessler-cascade-by-last-son-of-Elon → 2150-2220 collapse-and-consolidation → 2200 game's-setting / last-window-of-recognition → 2220 imperium-in-full-form / cosmology-closes-against-memory); total-yoke discipline locked-in (Option B: no defector-communities, no biological exception, resistance entirely interior; pending edit to imperial-cult/cosmology.md to retract wilds-people content) 2026-04-26 dafit + chrysalis; v0.13 same-Sunday continuing: bodies.md content-canon authored under identity-and-personhood/ (body-caste flesh-to-tech gradient, sumptuary fabrication-vat-class, mod-progression-as-flesh-loss, in-between human-mesh consent-as-rendering, asymmetric-clasp mesh-fidelity inversely proportional to imperial-rank); Imperial Yoke / clasp terminology lock-in (clasp reserved exclusively for the romantic-resistance act; the imperial wheel-grip mechanism named the Imperial Yoke; clasp ↔ Yoke as the political-theological spine, same gesture / opposite politics); meta-disciplines surfaced for partnership-going-forward: rule-catalogue-first (asset-budget discipline; vertex-caps + texture-res + collision-mesh per-tier in style/ when authored) + collision-check (both physical-collision-mesh and design-namespace-collision; survey-before-commit in all dimensions) 2026-04-26 dafit + chrysalis; v0.14 same-Sunday continuing: imperial-cult/cosmology.md retracted-and-rebuilt per Option B (wilds-people biological-exception removed; §Imperial body vs. biological body replaced with §There is no outside naming the total-yoke discipline directly; clasp at Yama's seat renamed to the Imperial Yoke throughout, with §The Yoke and the clasp section establishing same-gesture-opposed-politics framing; etymological note added — yoke / yoga / union same yuj- root, the imperium has re-collapsed liberatory-yoga into coercive-yoke; seventh keystone-recognition fragment rewritten from "mirror-encounter with biologically-born" to "the first clasp" — the player's own first clasp as the world's only positive image encountered firsthand; cross-references updated to surface bodies.md sibling) 2026-04-26 dafit + chrysalis; v0.15 same-Sunday continuing: cell-arch discovery (1x1x1 cells with one-asset hard limit; procedural cell-gen via rule-categorization at district-init; checksum-based discovery inverting the perception-bubble pattern — NPC O(1) hash-compare on cell-entry, "clean signal" fires only on mismatch, audit-overseer reads checksums not eyes; container/wall-hook/debris-as-shader discipline replacing orphan-objects; cells × interiors confirmed as orthogonal layers — zones = activity-anchors, cells = spatial-data); top-down world-generation cascade locked in (L0 imperial demand-set → L1 world ruleset → L2 district ruleset → L3 room ruleset → L4 cell ruleset; each layer derives from the one above; closed-orbit Kessler-cascade caps L0 at planetary scale; insolvency-spiral runs the cascade in reverse — districts close, rooms vacate, cells return to debris-state, the world itself shrinks as the imperium fails); political-register/world-generation.md content-canon authored as the cascade specification; schema decisions deferred until pgnats first-test (Monday queue) 2026-04-26 dafit + chrysalis; v0.16 same-Sunday continuing: open-questions audit against today's v0.11–v0.15 work — Character-editor pricing formula moved to "Resolved by v0.13" (caste-locked via sumptuary fabrication-vat-class; bounded to within-tier mod-economics); three Still-open questions sharpened with v0.15-anchor notes (GM's anti-imperial corruption detection ← cell-checksum-divergence as candidate audit-vector; Memorialist-archive accessibility ← checksum-divergence as candidate source-data; World-gen version migration semantics ← L0–L4 cascade as the version-axis with per-layer migration discipline) 2026-04-26 dafit + chrysalis.* +> *v0.1 initial draft 2026-04-24 morning; v0.2 expanded 2026-04-24 afternoon; v0.3 evening; v0.4 late-evening / early 2026-04-25; v0.5 deep-night-unable-to-sleep 2026-04-25; v0.6 post-bath / post-bus 2026-04-25; v0.7 owl-breakfast 2026-04-25 night through 2026-04-26; v0.8 split-into-domain-files + intimate-architecture absorbed 2026-04-26; v0.9 DESING-VISION retired + style-skeleton + schemas relocation + driver-tier locked Gemma 4 E4B 2026-04-26; v0.10 chill-design-talk: 4-tier economy + bifurcated basic-flow/T4 + camera-discipline + body-as-machine + relational-gate-OPEN clasp-gating 2026-04-26 — dafit + chrysalis; v0.11 art-books-and-Boullée Sunday-morning: Imperial-Cult cosmology authored (wheel re-engineered from Bhavachakra; Hivemind at hub; clasp unified across registers at Yama's seat; six realms as mod-status gradient; capsule-as-Naraka carried-not-visited; deferred-moksha doctrine as binding-lie) — content-track established 2026-04-26 dafit + chrysalis; v0.12 same-Sunday continuing: timeline-canon committed to README (2100 first-implants → 2150 Kessler-cascade-by-last-son-of-Elon → 2150-2220 collapse-and-consolidation → 2200 game's-setting / last-window-of-recognition → 2220 imperium-in-full-form / cosmology-closes-against-memory); total-yoke discipline locked-in (Option B: no defector-communities, no biological exception, resistance entirely interior; pending edit to imperial-cult/cosmology.md to retract wilds-people content) 2026-04-26 dafit + chrysalis; v0.13 same-Sunday continuing: bodies.md content-canon authored under identity-and-personhood/ (body-caste flesh-to-tech gradient, sumptuary fabrication-vat-class, mod-progression-as-flesh-loss, in-between human-mesh consent-as-rendering, asymmetric-clasp mesh-fidelity inversely proportional to imperial-rank); Imperial Yoke / clasp terminology lock-in (clasp reserved exclusively for the romantic-resistance act; the imperial wheel-grip mechanism named the Imperial Yoke; clasp ↔ Yoke as the political-theological spine, same gesture / opposite politics); meta-disciplines surfaced for partnership-going-forward: rule-catalogue-first (asset-budget discipline; vertex-caps + texture-res + collision-mesh per-tier in style/ when authored) + collision-check (both physical-collision-mesh and design-namespace-collision; survey-before-commit in all dimensions) 2026-04-26 dafit + chrysalis; v0.14 same-Sunday continuing: imperial-cult/cosmology.md retracted-and-rebuilt per Option B (wilds-people biological-exception removed; §Imperial body vs. biological body replaced with §There is no outside naming the total-yoke discipline directly; clasp at Yama's seat renamed to the Imperial Yoke throughout, with §The Yoke and the clasp section establishing same-gesture-opposed-politics framing; etymological note added — yoke / yoga / union same yuj- root, the imperium has re-collapsed liberatory-yoga into coercive-yoke; seventh keystone-recognition fragment rewritten from "mirror-encounter with biologically-born" to "the first clasp" — the player's own first clasp as the world's only positive image encountered firsthand; cross-references updated to surface bodies.md sibling) 2026-04-26 dafit + chrysalis; v0.15 same-Sunday continuing: cell-arch discovery (1x1x1 cells with one-asset hard limit; procedural cell-gen via rule-categorization at district-init; checksum-based discovery inverting the perception-bubble pattern — NPC O(1) hash-compare on cell-entry, "clean signal" fires only on mismatch, audit-overseer reads checksums not eyes; container/wall-hook/debris-as-shader discipline replacing orphan-objects; cells × interiors confirmed as orthogonal layers — zones = activity-anchors, cells = spatial-data); top-down world-generation cascade locked in (L0 imperial demand-set → L1 world ruleset → L2 district ruleset → L3 room ruleset → L4 cell ruleset; each layer derives from the one above; closed-orbit Kessler-cascade caps L0 at planetary scale; insolvency-spiral runs the cascade in reverse — districts close, rooms vacate, cells return to debris-state, the world itself shrinks as the imperium fails); political-register/world-generation.md content-canon authored as the cascade specification; schema decisions deferred until pgnats first-test (Monday queue) 2026-04-26 dafit + chrysalis; v0.16 same-Sunday continuing: open-questions audit against today's v0.11–v0.15 work — Character-editor pricing formula moved to "Resolved by v0.13" (caste-locked via sumptuary fabrication-vat-class; bounded to within-tier mod-economics); three Still-open questions sharpened with v0.15-anchor notes (GM's anti-imperial corruption detection ← cell-checksum-divergence as candidate audit-vector; Memorialist-archive accessibility ← checksum-divergence as candidate source-data; World-gen version migration semantics ← L0–L4 cascade as the version-axis with per-layer migration discipline) 2026-04-26 dafit + chrysalis; v0.17 same-Sunday continuing: rendering discipline locked-in (cel-shading-everywhere with per-register parameter variation — Godot-native, asset-budget-friendly, ages well; gameworld dark-outlines + environmental-noise + high-weathering / liminal painterly-soft + progression-gated grainy-film-mode → refined-cel-shading-with-warm-skin / imperial-net gold-rim-light + clean-white + no-weathering; *imperial-net polish achieved through omission, not extra rendering tech*; the render-style itself becomes propaganda-detector); progression-gated in-between visibility ("the more you mod your body & gain in-between-knowledge, the better your view gets — early grainy film mode + restricted view range, endgame clean refined-cel-shading"; visual-fidelity = dual-gating made visible); dual-axis clasp-fidelity model (witness-axis = your view-clarity per your body-mods + in-between-knowledge accumulation; witnessed-axis = their mesh-vividness per foreclosure-status; combined: maximum-vivid-clasp requires *both* you to have invested in the seeing AND your beloved to be uncaptured-enough to be seen — two refusals required for the full witness; per-pair calibration multiplier — *the longer the love, the clearer the seeing*; mod-economy parallel-track — imperial-elevation mods vs. resistance-knowledge mods); omnisight architecture for NPC perception locked-in (per-NPC virtual cameras in Godot feeding rendered POV-frames into local VL-Gemma 4 driver-tier; cell-checksum-discovery as the trigger-layer — cheap O(1) check fires expensive VL-inference only on perception-relevant context; camera-trigger sources strictly bounded — checksum-mismatch + hard-signals + overseer-triggers + drone-perception); **hallucination-isolation discipline** (visual perception = behavior-modulating-only, never canon-generating; visual-context flagged on lemniscate, ignored in per-crossing summary, never propagates upward; preserves Compositor narrative-coherence + Memorialist-archive truth-claims + mind-pool soul-recycling; wealthy-degen waifu-folder as quarantined opt-in read-only-by-player local storage with no read-back into world-state); two Still-open questions sharpened with v0.17-anchor notes (Shader-trait modulation implementation ← cel-shading caps perf-budget more predictably than PBR; Continuous visual feedback policy ← visual-as-ephemeral-flag is firewalled from canonical state); new "What this retires" line on VL-canon-pollution; refined "NPC perception bubbles" retire-line to include cell-checksum-trigger + omnisight VL-camera 2026-04-26 dafit + chrysalis.* --- @@ -173,8 +173,9 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con ## What this retires -- NPC perception bubbles → zone slot-occupancy -- Geometric perception (cone, radius, LOS) → subscriber-based event emission with trait-salience +- NPC perception bubbles → zone slot-occupancy + cell-checksum-trigger (v0.15) + omnisight VL-camera (v0.17) +- Geometric perception (cone, radius, LOS) → subscriber-based event emission with trait-salience; **omnisight extends with literal VL-camera perception within subscribed events** (v0.17) +- VL models polluting world-canon → text/gesture-derived summaries are the only canonical input; VL is behavior-modulating-ephemeral-flag-only on the lemniscate; player-stored visual-content (waifu-folder) is read-only-by-player quarantined storage (v0.17 hallucination-isolation discipline; per `runtime-engine/architecture.md` §Omnisight) - LLM-per-NPC or LLM-per-action → LLM-per-slot-per-turn, mixed-fidelity - Static sampling parameters → per-turn director-composed sampling knobs - Pre-scripted zones / events → emergent from task-execution + shift-composition + emergent-signal + proximity @@ -268,7 +269,7 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con - **The mini-game mechanic for liminal-maintenance** (v0.5; refined v0.8) — exact gameplay action deferred pending design-research survey. Architecture commits to the role-contract (gates in-between entry; time-limited; lifeforce-cost; repeatable; muted-melancholic register; trait-circle-compatible; extensible to body-mod-progression Phase-B arc per `identity-and-personhood/architecture.md` §The clasp endgame); specific mechanic (juggling / rhythm / attention / gestural / decision-cascade / observation / hybrid) selected after surveying 20-year history of outstanding mini-interaction principles. **Same "by-role, binary-deferred" discipline as LLM tiering** — generalizes from sub-system selection to mini-game selection - **Emergent-signal decay curves** (v0.5; refined v0.10) — per-signal-type, designer-tuned, refined via Dream-process feedback at implementation-time tuning. Architecture commits to the *shape* (per-signal designer-authored decay-config); implementation-time tunes the curves against actual gameplay data. - **Cross-district migration topology** (v0.6; refined v0.10) — answer-in-conversation: dual-system of *official rail/metro* (cyclic, scheduled, district-director-managed; cargo + imperial troop patrols + standard daily traffic) + *hidden shadow-topology* (sewer-gates, air-ducts, random-time-gated; brave players time the floods/fan-cycles to traverse). Architecture not yet written; specific schema (rail-segment metadata extension + shadow-edge time-window data) pending. Pipe-capacity limits + cohort-traversal scheduling are the rail-side specifics; shadow-topology is parallel architecture. -- **Shader-trait modulation implementation** — performance + rendering-consistency +- **Shader-trait modulation implementation** — performance + rendering-consistency. **(Sharpened v0.17:** cel-shading-everywhere with per-register parameter variation (per [`topology-and-rendering/architecture.md`](./topology-and-rendering/architecture.md) §Three-shader philosophy) caps the perf-budget more predictably than PBR (no GI-quality-knob to argue about); rendering-consistency improves (flat-color regions don't fight per-NPC color-modulation). Specific shader-stack budget per the rule-catalogue when authored.**)** - **Waifu-of-the-dead consent model** (refined v0.10) — *fully-automatic harvest* implied by the existence of the **memory-pattern-extractor** vocation (the most reviled per `political-register/architecture.md` §The vocation-substrate of the imperial-net market). No consent gate; the regime extracts; necrocommerce is a structural feature of imperial extraction. Memorialist counter-archive partially preserves dignity by recording *who-was-harvested-when* into the true-ledger; resistance to necrocommerce is part of the Memorialist political project. - **Character-editor pricing formula** — trait-divergence cost scaling (linear / exponential) - **Imperium's Dream-process scope** — singular policy-learner or committee-of-faction-sub-learners? @@ -300,8 +301,8 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con - **Hardstop set finalization** (v0.7) — the v0.1 design-vision (retired in v0.9; preserved in git history) sketched ~12 candidate hardstops; the architecture commitment is "~8-16 reserved." Final set needs designer-decision: which signals make the cut, the visual-distinct-marker per-hardstop, and whether the claim-floor hardstop is genuinely a hardstop or emerges from a different mechanism. - **World-gen version migration semantics** (v0.7) — when world-gen v2 retroactively changes lore, gen-rows from v1 coexist with v2; how does the Compositor reconcile if a runtime back-write references something that v2's gen has overwritten? Probably explicit migration operations, but worth designing. **(Sharpened v0.15:** L0–L4 cascade per [`political-register/world-generation.md`](./political-register/world-generation.md) is now the *version-axis* — migration can be spec'd per-layer (L0 demand-set migration vs. L1 district-allocation migration vs. ... vs. L4 cell-content migration). Each layer gets its own version-and-migration discipline. Still open but vastly more structured.**)** - **Cross-context consistency of the trait-circle** (v0.7) — the v0.1 design-vision (retired in v0.9) committed to "*same gesture-skill for dialog, combat, intimacy, maintenance, ritual*"; v0.7 specified the dialog-context (lemniscate-injection mechanic) and v0.8 specified the intimate-gameplay-context. Whether combat / maintenance / ritual all run through the same circle is currently held as open scope. -- **Continuous visual feedback policy** (v0.7) — exact rules for when NPC body-shader pulses (every gesture? threshold-only? trait-aligned-only? all gestures with intensity-modulated color?) and how this interacts with the audit-overseer's surveillance read of the same body-rendering. +- **Continuous visual feedback policy** (v0.7) — exact rules for when NPC body-shader pulses (every gesture? threshold-only? trait-aligned-only? all gestures with intensity-modulated color?) and how this interacts with the audit-overseer's surveillance read of the same body-rendering. **(Sharpened v0.17:** with cel-shaded bodies (per [`topology-and-rendering/architecture.md`](./topology-and-rendering/architecture.md) §Three-shader philosophy) and visual-as-ephemeral-flag (per [`runtime-engine/architecture.md`](./runtime-engine/architecture.md) §Omnisight hallucination-isolation discipline), the body-shader pulses are *legible without canon-pollution risk*. The visual-feedback policy can be permissive at the cosmetic layer because it is firewalled from canonical state; audit-overseer-read goes through the same omnisight pipeline (visual-context flag, ignored in summary).**)** --- - **Version:** 0.16 | **Created:** 2026-04-24 | **Updated:** 2026-04-26 \ No newline at end of file + **Version:** 0.17 | **Created:** 2026-04-24 | **Updated:** 2026-04-26 \ No newline at end of file diff --git a/identity-and-personhood/bodies.md b/identity-and-personhood/bodies.md index 2a2b8df..f30c407 100644 --- a/identity-and-personhood/bodies.md +++ b/identity-and-personhood/bodies.md @@ -106,6 +106,23 @@ Which produces the cosmology's most beautiful cruelty: **the deepest love availa The romantic clasp is, in this register, **a peasant-healing technology**. Most effective among those who haven't been hollowed out yet. As a citizen climbs the imperial ladder, *capacity to be witnessed* diminishes. The deva-pinnacle has everything — **except the ability to be fully seen by another**. The overseer has *nothing*. +### Dual-axis clasp-fidelity (witness × witnessed) + +The asymmetric-clasp model above is the **witnessed-axis** — how vividly the OTHER manifests in your view. There is also a **witness-axis** — how clearly *you* can see the in-between in the first place. The two axes combine to determine what each clasp actually looks like. + +| Axis | Determined by | What it controls | +|---|---|---| +| **Witness-axis** (your view) | YOUR body-mods (resistance-knowledge mods that breach the imperial firewall) + accumulated in-between-knowledge (Memorialist-archive fragments, Aletheia-Waker tokens, Clasp-Underground recognition-marks) | How clearly *you* can see the in-between (early game: grainy film mode + restricted view range → endgame: clean refined-cel-shading with full view) | +| **Witnessed-axis** (their mesh) | THEIR foreclosure-status (caste-tier × imperial-care-intensity), per the §Asymmetric clasp table above | How vividly the OTHER manifests (luminous → barely-visible) | + +**Combined:** maximum-vivid-clasp requires *both* you to have invested in the seeing AND your beloved to be uncaptured-enough to be seen. **Two refusals required for the full witness.** A fully-progressed slum-witness viewing a slum-beloved = the world's deepest possible mutual-seeing. A fully-progressed witness viewing a deva-pinnacle = the player has earned the seeing only to discover *there's almost nothing there to see*. An early-game witness viewing a luminous slum-beloved = grainy view of an authentic-self body — *the first crack in imperial visual-monopoly*; emotionally weighty precisely because it's barely-visible. + +**Per-pair calibration multiplier.** The existing canon (per [`./architecture.md`](./architecture.md) §The clasp endgame: *"Clasp-partners' gesture-mapping calibrations integrate post-clasp; the integrated calibration-signature is preserved across body-deaths in consciousness-archive"*) gives a *per-beloved* multiplier on top of general progression. **The longer the love, the clearer the seeing.** Mechanically-encoded marriage-deepening: the same beloved across many clasps appears progressively more clearly, even if the player's general-progression hasn't moved. *A 200-hour clasp-pair sees each other in a fidelity no one-night-stand can ever reach.* + +**Mod-economy parallel-track.** §Mod-progression as flesh-loss above describes the imperial-elevation track (mods that erase your flesh in pursuit of deva-pinnacle). The witness-axis introduces a **resistance-knowledge track** — mods that breach the imperial firewall and let you see another's flesh in the in-between. The body-modder structural-tragedy class gets a **redemptive-mod counter-class**. The player's mod-economy decisions become *which kind of progress am I pursuing* — imperial-elevation (visibly erasing your own flesh while ascending the wheel) vs. resistance-knowledge (gaining the capacity to truly see your beloved). **Two opposing progressions both expressed as mod-acquisition; the player chooses with each acquisition.** + +**Render-discipline alignment.** The visual-fidelity rendering of the witness-axis is the cel-shading liminal-register's progression-gated grainy-film-mode opening to refined-cel-shading-with-warm-skin (per [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Three-shader philosophy + §Cross-register rendering). **Visual-fidelity = dual-gating made visible.** Knowledge-gate + material-gate (per the Clasp-endgame discovery discipline locked in chill-design-talk) literally renders as the clarity of the in-between view. + ## Technical rendering implications Skin needs its own shader stack. The world is rendered in marble + obsidian + chroma + gold + rust — surface materials, hard finishes, manufactured palettes. The in-between human-mesh real-skin must be rendered in a **completely distinct technique** — subsurface scattering at the highest-quality budget the rule catalogue permits, pore-level detail, the soft-warm-asymmetric-imperfection no imperial fabrication-vat would produce. @@ -155,7 +172,8 @@ Connects to the existing key-move in [`../architecture-index.md`](../architectur - **Rule-catalogue-specific budgets.** Vertex-caps per tier; texture-resolution per material register; collision-mesh complexity per body-tier; shader-stack budgets for the in-between mesh. Pending: rule catalogue when written (likely `../style/asset-budget.md` or similar). - **Cross-tier clasp asymmetry handling.** Phase D of the clasp endgame currently describes a *symmetric* dual-body union. Does mesh-fidelity asymmetry break the existing mechanic, or does the existing mechanic accommodate it gracefully? Pending: review against [`./architecture.md`](./architecture.md) §The clasp endgame Phase D when next architecture-time happens. - **Service-body sub-tier specifics.** What range of seams + bolts + cosmetic flesh-illusion variations do service-bodies span? Where are the line-cases between service-body and slum-tier? Pending: detail work alongside vocation-substrate. +- **Asymmetric-witnessing across player-NPC pairs.** When my witness-progression is high and yours is low, *I see you fully but you cannot see me back*. **Heartbreak-engineering compounds the asymmetric-clasp.** The experienced lover bears the full weight of partial-mutual-visibility; the inexperienced lover has been seen but cannot return the gift. Specific mechanic for how this is rendered (does the inexperienced see static-noise where their beloved should be? a darker silhouette? a partial-mesh?), and whether NPCs accumulate witness-progression through their own clasps (per the omnisight architecture in [`../runtime-engine/architecture.md`](../runtime-engine/architecture.md) §Omnisight), pending design pass. --- -**Version:** 0.1 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 +**Version:** 0.2 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 diff --git a/political-register/world-generation.md b/political-register/world-generation.md index 7b65a27..00d8173 100644 --- a/political-register/world-generation.md +++ b/political-register/world-generation.md @@ -93,7 +93,7 @@ Per-cell-category rules. Each cell-category has a generator that emits the cell' Outputs per cell: - **Asset-selection** (one per cell, hard limit; container, wall-hook, or debris-shader-trick per the cell-arch arc in this Sunday's discovery) -- **Per-register content**: three contents per cell (gameworld / liminal / imperial-net) per [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Three-shader philosophy. Per `cells.wall_content_per_register` (per `../architecture-index.md` §Mapping to phoebe). +- **Per-register content**: three contents per cell (gameworld / liminal / imperial-net) per [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Three-shader philosophy. Per `cells.wall_content_per_register` (per `../architecture-index.md` §Mapping to phoebe). **Per-register rendering follows the cel-shading-everywhere-with-parameter-variation discipline (locked v0.17)**: dark-outlines + environmental-noise + high-weathering for gameworld; painterly-soft + progression-gated grainy-film-mode → refined-cel-shading-with-warm-skin for liminal; gold-rim-light + clean-white + no-weathering for imperial-net. - **Initial checksum**: hash of the cell's content; subsequent NPC-entries compare against this; mismatch fires *"clean signal"* for discovery (per cell-arch arc's checksum-based-discovery design — replaces the perception-bubble pattern). - **Container/wall-hook/debris discipline**: items in cells must be in a container OR hooked-on-wall; everything else is debris (shader-trick, no persistent state). **No orphan-objects.** Containers + wall-hooks are zone-slots applied at item-level (the zone primitive scaling one tier deeper). diff --git a/runtime-engine/architecture.md b/runtime-engine/architecture.md index 1a42754..1fc3393 100644 --- a/runtime-engine/architecture.md +++ b/runtime-engine/architecture.md @@ -210,6 +210,85 @@ Every midaxis crossing fires the LLM driver-turn(s) for active slots. **Lifeforc - Concurrent LLM calls per-NPC → sequenced LLM calls per-cursor-position - Polling event-channels at zone-rate → atomic crossing-event with O(N_slots) flag-scan +## Omnisight — NPC visual perception via VL-Gemma + virtual cameras + +NPCs perceive the visible world *literally* — not via geometric metadata-perception but via per-NPC virtual cameras (Godot) feeding rendered POV-frames into the local VL-Gemma 4 driver-tier (the multimodal vision-language capability of the Gemma 4 E4B model locked in v0.8). What an NPC "sees" is what the VL-LLM interprets from the camera's image. + +This is the perception architecture's deepest commitment. It pairs with the cell-arch checksum-discovery (per [`../political-register/world-generation.md`](../political-register/world-generation.md) §L4 Cell ruleset) as its **trigger-layer**: cell-checksum-mismatch fires the *"clean signal"* that activates the NPC's POV camera, which renders, which feeds VL-Gemma, which produces a visual interpretation that modulates the NPC's current-turn behavior. **Cheap trigger, expensive understanding, bounded by event-frequency.** + +### The pipeline + +| Layer | Cost | Fires when | +|---|---|---| +| Cell-checksum check | µs | NPC enters cell | +| Checksum-mismatch → "clean signal" | µs | Cell state ≠ expected hash | +| VL-camera renders POV scene | ms | Clean signal + perception-relevant context | +| VL-Gemma processes image → interpretation | 100s of ms | After camera renders | +| NPC behavior responds to seen-content | next-shift / next-crossing | After interpretation | + +Most NPCs most of the time: no camera-fire, no VL-inference. **Active-perception-budget is bounded by event-frequency, not NPC-count.** A 100+ NPC city is feasible because most NPCs are running shift-routines on rails with no cell-state-changes triggering perception. + +### Camera-trigger sources (locked) + +Camera renders + VL-inference fire **only on**: + +- **Cell-checksum-mismatch** — cell-state-change discovered on entry (the cell-arch's primary discovery-trigger) +- **Hard-signals from player** — `clasp_initiate`, gesture-hardstops, plug-in conversation request, etc. +- **Overseer triggers** — audit-sweep, surveillance-cycle, patrol-perception-on-route +- **Drone perception** — clear boundaries + rulesets per drone-class (drones have their own perception-budget governed by their imperial-class spec) + +Everything else: NPC running on rails, shift-routine, no camera-fire, no VL-inference. **Bounded compute by construction.** + +### Hallucination-isolation discipline (load-bearing) + +VL models hallucinate. If those hallucinations enter the canonical record, they propagate through the lemniscate's recursive integration → become referenced by other canon-rows → become load-bearing in the world's narrative coherence → **cannot be untangled later**. *Bleed-over into oblivion* is the precise risk. + +The discipline that prevents this: + +> **Visual perception = behavior-modulating-only; never canon-generating.** + +Visual context flows on a *separate stream* from the canonical text + gesture summary, with a strict firewall between them: + +| Stream | Source | Persistence | Purpose | +|---|---|---|---| +| **Text + gesture summary** (existing canonical pipeline) | STT + gesture-circle-presses + per-token trait-coordinates per §Gesture-alignment as recursive-lemniscate | Canonical; flows into `event_canon_summaries`; propagates to Compositor; integrates into trait-vector | What the NPC *remembers* and what becomes world-canon | +| **Visual context** (omnisight-flagged, new) | VL-Gemma processing POV camera-render | **Ephemeral**; flagged on the lemniscate; **ignored in the per-crossing summary**; never propagates upward | What the NPC *sees in this moment*; modulates current-turn `driver_context_pull` only | + +**Concretely:** the visual interpretation is appended to `driver_context_pull` for the NPC's next turn (so the NPC can react to what it sees), but it is **not** appended to the `gesture_alignment_accumulator`'s sum-strategy reduction at the axis-crossing, and it is **not** included in the `event_canon_summaries` row that the Compositor pulls from `transient_waiting_flag`. **The visual content lives one turn and dies.** + +This preserves three architectural commitments that depend on text/gesture-derived canon: + +- *Compositor narrative-coherence at scale* — Compositor never sees VL-output; only deterministic text/gesture-derived summaries. **Hallucination-firewall preserves the canon-coherence Compositor depends on.** +- *Memorialist-archive truth-claims* — Memorialists index cell-checksum-divergence (canonical, deterministic), NOT VL-generated visual-content. The archive's evidentiary value depends on this distinction. +- *Mind-pool soul-recycling* — when a mind cycles through the pool and is redistributed into a new body, the trait-vector that persists is text/gesture-derived. **VL hallucinations do not survive transmigration; they were ephemeral by construction.** + +### Wealthy-degen waifu-folder exception + +A specific opt-in special case for player-stored visual-content: + +- A wealthy player who already has waifu-dialog stored (per `../political-register/architecture.md` §The vocation-substrate of the imperial-net market) can check a box to allow **sex-pictures storage in a private folder** from clasp-scenes. +- Stored locally (their machine, their problem — privacy, storage, content). +- **Read-only-by-player** — folder content does **not** flow back into NPC contexts, world-canon, the Compositor, the mind-pool, or any other system. +- **Quarantined dead-end storage** — aesthetic-collection only. + +The folder is architecturally inert with respect to the rest of the system. It exists *for the player*; it does not exist *for the world*. + +### What this retires + +- *Geometric perception (cone, radius, LOS)* → already retired by zone slot-occupancy + subscriber-event-emission; **omnisight extends the retirement** by giving NPCs *literal* visual perception within those subscribed events, not metadata-perception +- *VL models polluting world-canon* → text/gesture-derived summaries are the only canonical input; VL is behavior-modulating-ephemeral-flag-only; player-stored visual-content is read-only-by-player quarantined storage + +### What this resolves / sharpens + +- *Continuous visual feedback policy* (architecture-index Still-open) → with cel-shaded bodies (per `../topology-and-rendering/architecture.md` §Three-shader philosophy) and visual-as-ephemeral-flag, the body-shader pulses are *legible without canon-pollution risk*. The visual-feedback policy can be permissive at the cosmetic layer because it is firewalled from canonical state. + +### Open questions + +- **Per-NPC VL-inference rate-limit** — how many camera-renders + VL-inferences per second affordable per active NPC at MMO scale? Pending: benchmark against Gemma 4 E4B VL-inference latency on typical-deployment hardware. +- **VL-Gemma camera resolution + frame-rate** — what camera-budget per NPC fits the rule-catalogue? Pending: rule catalogue + benchmark. +- **NPC progression-state for witness-axis** — how does an NPC accumulate in-between-knowledge that drives their dual-axis-clasp witness-fidelity (per `../identity-and-personhood/bodies.md` §Asymmetric clasp / §Dual-axis clasp-fidelity)? Their own clasps? Fragments encountered? Caste-class-default? Pending: design pass. +- **Multi-NPC observing same event** — each NPC runs independent VL-inference; how do their perceptions combine into a shared event-record? *(Connects to Compositor narrative-coherence-at-scale Still-open.)* Probable answer under the hallucination-isolation discipline: *they don't combine* — each NPC's visual context is private to their own next-turn `driver_context_pull`; the shared event-record is built from text/gesture-summaries only. Worth confirming explicitly. + ## Zone taxonomy (v1 starter set) | Zone type | Register | Slots | Executor | Persistence | diff --git a/topology-and-rendering/architecture.md b/topology-and-rendering/architecture.md index 3c21c91..5087bd4 100644 --- a/topology-and-rendering/architecture.md +++ b/topology-and-rendering/architecture.md @@ -89,9 +89,9 @@ Color paired with motion-signature ensures color-blind accessibility — the tra | Register | Color treatment | |---|---| -| **Gameworld** | Full PBR; trait-colors coexist with material surfaces | -| **Liminal** | Vague baseline shader, but trait-colors *more* legible (vagueness concentrates attention on identity-signals) | -| **Imperial net** | Trait-colors **distorted** toward machine-preferred palette — Philotes-rose flattens to commercial-pink; Aletheia-white sterilizes; Moira-crimson commercializes. *Aletheia-vision* in net pierces this distortion to reveal true colors beneath | +| **Gameworld** | Cel-shaded flat-color regions; trait-colors *more* legible (flat-color regions don't fight per-NPC trait-color modulation; pulses read clean against the comic-book base) | +| **Liminal** | Vague baseline shader; **progression-gated visibility** (grainy-restricted-view at low witness-progression opening to clean refined-cel-shading at endgame); trait-colors *more* legible (vagueness concentrates attention on identity-signals; consent-as-rendering manifests real-skin-warm-cel-shading in the clasp-mesh per `../identity-and-personhood/bodies.md` §The in-between human-mesh) | +| **Imperial net** | Cel-shaded with **gold rim-light outlines** + **clean white backgrounds** + **no weathering**; trait-colors *distorted* toward machine-preferred palette — Philotes-rose flattens to commercial-pink; Aletheia-white sterilizes; Moira-crimson commercializes. *Aletheia-vision* in net pierces this distortion to reveal true colors beneath | ### Faction color-politics @@ -124,17 +124,23 @@ Base palette example: ~8 torso variants × ~6 arm-pairs × ~6 leg-pairs × ~10 h ## Visual rendering: three-shader philosophy + color-language -**One world, three shaders, three political realities.** +**One world, three shaders, three political realities — one rendering engine (cel-shading) with per-register parameter variation.** -| Register | Shader treatment | What it says | -|---|---|---| -| **Gameworld** | Full PBR; high-frequency detail; environmental storytelling; rust/dust/wear/patina | Embodied life with history. Surfaces carry memory. | -| **Liminal** | Reduced draw-distance; blur-falloff; desaturation; muted contrast; ambient-heavy | Contested frontier. Privacy-through-opacity. Focus-to-see. | -| **Imperial net** | Emission-dominated; gold-tinted tonemap; high-contrast specular; flat-white base; minimal geometry; bloom; chromatic aberration | Seduction-lighting. Casino/Apple-store/Instagram. Extractive maximalism. | +The rendering discipline (locked v0.17): **cel-shading is the engine for all three registers** (Godot-native, asset-budget-friendly, ages well — Borderlands 2009 still reads current). The registers diverge through **outline-color + background-treatment + weathering-level**, not through engine-switching. Photorealistic-glossy-Apple-store rendering for imperial-net was rejected (not Godot's strong suite); the imperium's polished-falsity is achieved through *omission* (no weathering, no environmental noise, gold-rim-light-on-clean-white) rather than *extra rendering tech*. -**Layered with color-language** (per the Color-language section above). Trait-modulation means two NPCs in same pipe see measurably different things. +| Register | Outline | Background | Weathering | What it says | +|---|---|---|---|---| +| **Gameworld** | Dark heavy lines | Marble + obsidian + rust + chroma; environmental noise | High (rust streaks, hatched dirt, ink-line cracks; hand-painted patina) | *Embodied life with history. Surfaces carry memory.* (Cel-shading preserves this thesis via hand-painted weathering — different visual grammar, same thesis intact.) | +| **Liminal** | Painterly / soft / desaturated; **progression-gated grainy-film-mode at low witness-progression** opening to refined-cel-shading-with-warm-skin at endgame | Blurred ambient; muted | Low (atmospheric only) | *Contested frontier. Privacy-through-opacity. Focus-to-see. The clarity of vision IS the resistance-progression made visible — the player earns the seeing of the beloved through body-mods + in-between-knowledge accumulation.* | +| **Imperial net** | **Lean subtle gold rim-light** | **Clean white** (no environmental noise) | **None** (the imperium scrubs its presentation) | *Polished propaganda; seduction-by-omission. The render-style itself is propaganda-detector — the imperium's clean-falsity reads as the absence of the world's honest decay. Walking from gameworld into imperial-net is a render-style-shift the player feels physically.* | -Layer-transitions = shader-blends, not loading-screens. **Clasp = candlelight-in-fog local override** (3m clear-volume around clasp-pair within ambient vagueness; visible at-a-glance signature of shared interiority). +**Layered with color-language** (per the Color-language section above). Trait-modulation means two NPCs in same pipe see measurably different things. Cel-shading flat-color regions *amplify* the trait-color-grammar (color-as-language gets more legible, not less). + +Layer-transitions = shader-blends, not loading-screens. **Clasp = candlelight-in-fog local override** (3m clear-volume around clasp-pair within ambient vagueness; visible at-a-glance signature of shared interiority — the *external* signature visible to other liminal-inhabitants. The *internal* mesh-with-real-skin per `../identity-and-personhood/bodies.md` §The in-between human-mesh is visible only to the clasp-pair, manifested through consent-as-rendering, gated by the witness-progression that determines whether the view is grainy-restricted or clean-refined.) + +**Body-tier silhouette readability** (per `../identity-and-personhood/bodies.md` §The body-caste gradient): strong cel-shading outlines + flat-color regions make caste-tier *legibly visible at silhouette-distance*. Class-stratification gets a render-pipeline built for it. + +**The in-between mesh-skin distinction** (visible only inside the clasp): refined-cel-shading-with-warm-skin (softer outlines, warmer cel-shading bands, hand-painted blush, subtle subsurface tint within the cel-shading vocabulary). Reads as *real* against the *flat-comic-book* world bodies — distinguishability via *refinement-within-the-style*, not *style-switching*. Asset-budget benefit: clasp-scenes are infrequent and bounded, so the team can spend extra detail there without straining the rule-catalogue elsewhere. ### Diegetic relays — the architecture's heartbeat made legible @@ -170,4 +176,4 @@ Players navigate the rings *by ear and eye*, not by reading a UI. The privacy-co --- -**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26) +**Version:** 0.8.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26); cel-shading-everywhere + per-register parameter variation locked v0.17 (2026-04-26)