Teaches the deep, interlocking loop — especially the inverted win condition
(you win by CLEARING EXPEDITIONS, not by surviving base sieges; DR-042/DR-043).
- OnboardingSystem: client-only observe-only PresentationSystemGroup overlay
(own UIDocument @ sortingOrder 60), soft-gated 10-beat coach-mark sequence
with a world-space ▶ pointer; never mutates sim / never destroys a ghost.
- OnboardingStepMath: pure, unit-tested step machine (snapshot + IsSatisfied +
scheme-aware prompts + pointer kinds + persisted-mask helpers).
- HowToPlayPanel: tabbed reference card (Controls / The Loop / Build / Threats /
Win-Lose), reachable from the main menu and the pause overlay.
- Per-client client-local state in GameSettings (TutorialHints + OnboardingMask
bitmask, additive) — a Join client keeps its own; a host save-wipe never
re-teaches. Settings toggle + menu "Replay Tutorial".
- Dev "Force Each Launch" toggle (GameSettings.ForceOnboardingEachLaunch):
SettingsService.Boot wipes the mask + forces hints on in-memory every launch
so the tutorial always replays fresh.
- HudSystem suppresses its own location hint while onboarding is active
(single prompt voice), via OnboardingState + [UpdateAfter(OnboardingSystem)].
Validated green: 20/20 EditMode; Play smoke confirmed overlay render, clean
U+25B6 pointer glyph, no system sort-cycle, and the force-wipe end-to-end.
Docs: DR-043 + session log; reusable lesson archived in the build-gotchas note.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
DR-033 records the felt-spend design (shared Charge ammo, atomic soft-fail,
ledger-fed Fabricator, no-ordering-edge trade-off, global HUD cue, no SaveData
bump). CLAUDE.md adds the EB-2 ★ bullet net-zero (trimmed bullets archived to
the gotchas archive under a 2026-06-12 heading).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
DR-026 records the architecture (data-driven catalog + replicated buffers + reuse of the StatModifier/RPC machinery), the Phase 0-4 roadmap, the 7 validated decisions, and the deliberate gameplay choices (personal-harvest pivot, automation asymmetry, session-only inventory). Adds the Build-section inventory pointer to CLAUDE.md net-zero (39923 bytes, >1KB headroom) by condensing the persistence/world/HUD bullets; trimmed wording archived to the gotchas archive.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Session log + DR-025 for the off-world natural-frontier world redo; mark PolygonNatureBiomes in-use in the Synty inventory; archive the long-form gotchas (PNB ring-mesh white-torus, edit-mode region-fog preview, EG-entity vs cosmetic, execute_code DeleteAsset block, shadow-cast hygiene). CLAUDE.md: net-zero art pointer to DR-025 (39882 B, under the 40KB budget).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CLAUDE.md was 42126 bytes (over its own 40960-byte context-load limit). Trimmed to 39437 (1523B headroom): kept the stack/assembly tables, all high-recurrence hazards, bootstrap/DOTS/testing/guardrails; condensed the verbose mega-bullets to their essence + existing [[DR-###]] pointers; collapsed the redundant Memory table into a link to [[Documentation_Protocol]].
Added a 'Maintaining this file (size budget)' section so future edits self-enforce the limit (size-check commands, archive-don't-delete rule, net-zero rule).
Appended a dated, byte-faithful verbatim snapshot of the pre-trim CLAUDE.md to Docs/Vault/_Meta/CLAUDE_Build_Gotchas_Archive.md (headings demoted to nest) so nothing is lost from the vault. Verified via a 4-auditor workflow: archive complete + integrity pass; 1 condensation distortion + 2 nuance losses caught and fixed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>