Files
Project-M/Docs/Vault/01_Vision/Pillars.md
T
kronic c87dd04e87 Docs: truth pass over CLAUDE.md, DRs and the MOCs (audit M13/M14/M15/M16/M19/L11/L12)
CLAUDE.md — it is loaded every session, so its errors cost the most:
- M13: it still said "No world code until the world-model spike passes
  its design review" while DR-049 has been `accepted` since 07-13 and the
  roadmap says PASSED. A hard contradiction between the two authority
  docs, with CLAUDE.md winning by being always-loaded — plausibly part of
  why Phase 2 never started. Now points at the build spec, warns it needs
  re-anchoring, and links the parked engine fork.
- Records the H2 hazard as a rule: a socket whose SparkId is missing from
  the baked AbilityDatabase silently reads Damage/Range/Cooldown 0.
- L12: the asmdef table was stale on all four rows; also notes the fifth
  compilation unit (Scripts/Editor has no asmdef) and that tests now
  reference Authoring.
- M19: per-machine setup — the machine-loss recovery checklist — was
  missing Blender + blendermcp (which the committed /art-dev skill
  hard-requires) and ctx7, and claimed a ${CLAUDE_PROJECT_DIR} in
  .mcp.json that isn't there.
- Structures / harvest / persistence / BefourStudios bullets rewritten:
  they described deleted subsystems.
- Net-zero rule honoured: the additions pushed it to 41,057 (over the
  40,960 hard limit), so two long art-pipeline bullets moved verbatim to
  the gotchas archive under a dated heading. 39,661 now — inside the
  file's own 39,936 soft ceiling.

- M14: DR-053 files the Bevy fork as PARKED. The guide was reachable from
  NOTHING — one file, zero inbound links, and its gating instruction
  lived only in machine-local memory, which CLAUDE.md explicitly forbids
  as a sole home. It now has a committed home and inbound links.
- DR-054 records this purge, including the three files that were in the
  delete set until their consumers were checked and turned out to be
  load-bearing.
- M15: 13 superseded DRs re-statused with `superseded_by`. Only DR-002
  carried the field before, though the project's own template prescribes
  it.
- M19: Home.md stated three wrong facts (latest DR, latest session, date)
  — refreshed. Pillars.md and Systems_Index.md now carry warning banners:
  both assert things the purges falsified, and Systems_Index still claims
  to be "the accurate map of what exists in code today".
- L11: the 4 genuinely-broken wikilinks fixed (typo'd DR filenames). Zero
  broken vault-internal links now.
- Session log written — the last three commits before today had none,
  breaking the protocol's own bookend rule.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 13:44:18 -07:00

71 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags:
- vision
- pillars
status: draft
updated: 2026-05-29
permalink: gamevault/01-vision/pillars
---
> [!warning] **AUDIT NOTE 2026-08-07 — parts of this page are stale and self-contradictory.**
> The 2026-08-06 audit found: the automation/persistent-base claims and the turret pillar describe a
> direction deleted by [[DR-051_Lantern_Realignment_Purge]] and [[DR-054_Audit_Purge_2026-08]]; and the
> page locks **soft auto-target in-arc** in one place and **soft auto-target CUT** in another. The CUT lock
> is the current one ([[DR-052_SoD_Facing_Underwater_Feel]] — manual aim is the SoD pillar). Treat
> [[Identity_Lantern]] as the live design and this page as pillars-plus-history until it is rewritten.
# Design Pillars & Locked Decisions
> The few non-negotiables every system must serve. Keep this short; promote only decisions that are truly locked.
> [!info] Direction: **LANTERN** (locked 2026-07-13, [[DR-048_Lantern_Adoption_Full_Pivot]]).
> The **mechanical pillars below still hold** (Unity DOTS + Netcode, server-authoritative, 24 co-op,
> skill-expression combat, persistent base, automation-as-progression). What changed is the **fiction + three
> subsystems**: the fiction is now [[Identity_Lantern]] (not the Awakening Engine); combat sharpens to
> **SoD-grade manual-aim skillshots** (the soft auto-target era ends); the world becomes a seed-pinned
> **pocket-graph** where **light is territory**; the build layer becomes suit-frames + cultured Sparks + wild
> mutations. See the LANTERN locked decisions at the bottom.
## Pillars
> **Combat is the primary verb; base + automation braid around it** (locked 2026-06-08, [[DR-028_Combat_Primary_Verb_Depth_First]]). The fusion of all three is the identity — but as ONE braided loop with a single primary verb, never three co-equal, independently-deep modes. Roadmap: [[Path_to_Fun]].
1. **Action-ARPG combat — the primary verb** — twin-stick, controller-first (Hades / Risk of Rain 2 / Deep Rock Galactic feel); **skill expression over stat-checks** (dodge, read-and-react, a real ability kit). The moment-to-moment the other pillars serve.
2. **Co-op base power fantasy — braids in** — 24 friends defend and grow a shared home base (V Rising / The Riftbreaker feel); the base is what you fight *for* and the siege's stakes.
3. **Automation as progression — braids in** — self-running production that makes what you fight *with* (charges / munitions / turrets / upgrades) and that sieges threaten; rewards setup, not grind (The Riftbreaker / Core Keeper).
4. **Server-authoritative & deterministic** — input-only clients, client prediction; the simulation is the source of truth. Co-op is non-negotiable, so every mechanic stays server-authoritative.
## Locked decisions
- **Tech stack:** Unity DOTS (Entities) + Netcode for Entities — server-authoritative, input-only clients, client prediction. Established [[2026-05-29_Project_Setup]].
- **Control (locked 2026-05-30):** WASD movement, controller-first, **directional / twin-stick aim** with soft auto-target in-arc. [[2026-05-30_M1_Player_Slice]]
- **Multiplayer (locked):** small co-op **24, client-hosted listen-server** (BinaryWorlds + in-proc IPC; not the experimental SingleWorld host mode), PvE.
- **World (locked):** persistent buildable **home base + instanced/procedural expeditions**. **Sharpened 2026-06-17 ([[DR-037_Procedural_Expedition_Spine_Two_Classes_Persistent_Meta]]):** the procedural **Expedition region is the required combat SPINE** (where the bulk of the fight happens); the **base is the persistent HUB that never resets** ("Mission-as-Sortie": Deep Rock Galactic / Cult of the Lamb). A "run" is a **re-seeded Expedition region in the SAME world**, not a new world or a base reset.
- **Automation (locked):** **progression accelerator** — self-running production chains; data model designed to grow toward full logistics.
- **Combat-primary + depth-before-breadth (locked 2026-06-08):** combat is the primary braided verb; **no new system until one braided loop is genuinely fun**, and every milestone ends with a play/fun-gate (not just green tests). [[DR-028_Combat_Primary_Verb_Depth_First]] · roadmap [[Path_to_Fun]].
- **Classes + persistent meta (locked 2026-06-17, [[DR-037_Procedural_Expedition_Spine_Two_Classes_Persistent_Meta]]):** **two classes****Warrior** (melee anchor) + **Ranger** (ranged, manually aimed — *not* auto-fire, which would break skill-expression). Class identity = the **primary-attack archetype**; run-acquired **meta-buffs ride the existing `StatModifier`/`TimedModifier` pipeline**. A **persistent meta-progression layer** (SaveData v6) funds permanent growth at the hub; run combat-buffs are run-scoped. **Reverses [[DR-031_Base_Mining_Loop_Cohesion]]'s expedition pause** (a real playtest — [[Scratch Notes 6152026]] — showed the single arena goes stale).
## LANTERN direction — locked decisions (2026-07-13, [[DR-048_Lantern_Adoption_Full_Pivot]])
These sit *on top of* the mechanical pillars above (which are unchanged). Full design: [[Identity_Lantern]];
roadmap: [[Roadmap_Lantern_Slice]].
- **The one rule:** *what the light holds, stays; what the dark holds, changes.* Applied to the world =
persistence; to the body = death; to the kit = builds; to the story = stakes.
- **World = seed-pinned pocket-graph** (light is territory). Permanence is spendable: lit pockets persist,
dark pockets re-knot. The hardest netcode problem — [[Lantern_World_Model_Spike]] (★review-first).
- **Combat feel = SoD-grade manual-aim skillshots** (telegraphs, dashes, cooldown kits; **soft auto-target
cut**). Suit-frames = chassis/class; **Sparks** (abilities-as-organs, cultured) graft into sockets; **wild
mutations** are the augment layer (paced thresholds, evaporate at homecoming, Tallow fix-slots).
- **Death = the split:** flame returns cheap (kit works within minutes); cargo + fixed mutations + raw organs
strand with the suit — recovery runs are optional value-runs, never mandatory kit-repair.
- **Session-only burn** (the Lamp burns only while a session runs — no offline punishment). **Hosting = Wicks
travel; worlds are saves** (Valheim contract). **Loss ceiling = pockets, never a shelf.**
- **The slice's falsifiable test:** *does pinning a pocket feel like winning, and does a stranded suit feel
worth a second descent?* — the only gate that matters.
## Related
- [[Identity_Lantern]] — the **operative fiction** these pillars now skin (co-op action-RPG; light-as-territory).
- [[Identity]] — the **prior** fiction (The Awakening Engine, Aether-colony sci-fi) — **superseded** as operative by [[DR-048_Lantern_Adoption_Full_Pivot]], kept as history/quarry. Skinned via [[DR-015_The_Awakening_Engine_Fiction_Adoption]] / [[DR-009_GameFeel_Identity_FirstBlood]] (amnesiac Sleeper / Echo / THEM · Aether cyan=ordered / orange=wild Blight).
- Decision records: `07_Sessions/_Decisions/`