Docs: align CLAUDE.md + vault to scene-split / Automation / Saves / UITK
CLAUDE.md: rewrite Bootstrap&worlds (scene split + on-demand frontend), add M7 Automation + disk-persistence + UITK HUD bullets, new build-gotchas, note new folders fit existing asmdefs. Vault: Milestones (M6 + polish pass -> Done; HUD + cleanup rows), Backlog (ConnectionUI done + cleanup notes), Home/Systems_Index dates. Add the 3 prior session logs + DR-019/020/021 + the 2026-06-06 cleanup log + screenshots. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
tags:
|
||||
- roadmap
|
||||
- backlog
|
||||
updated: 2026-06-04
|
||||
updated: 2026-06-06
|
||||
permalink: gamevault/06-roadmap/backlog
|
||||
---
|
||||
|
||||
@@ -14,6 +14,31 @@ Unordered pool of candidate work. Promote to a [[Milestones|milestone]] when com
|
||||
|
||||
> **2026-06-04 World-space cohesion pass** ([[2026-06-04_World_Space_Cohesion_Pass]], [[DR-018_World_Space_Cohesion_Pass]]) — delivered + validated (EditMode 127→**142**): **destructible "clearing"** (`BlightClutter` ghost smashed by the **unified** harvest sweep → Biomass scrap + smash juice, scattered/cleared with the expedition field); **build out the base** (additive `Wall`=5 / `Pylon`=6 buildables — Wall blocks the player, V/N keys); and a first **visual cohesion layer** (Aether cyan/orange material pair, the 3 new ghosts recoloured, the barren +1000 Blightfield turned into a 21-piece Synty rock/debris basin + orange wild-lights — relief via props, **no terrain**). In-editor Play introspected via execute_code; a 4-lens adversarial review (23→4) caught + fixed an immortal-shot-sink (fractional `ScrapPerHit` truncation). Base-side cohesion accents + clearing-as-gating deferred (see the 2026-06-04 follow-ups below).
|
||||
|
||||
> **2026-06-05 Game infrastructure** ([[2026-06-05_Game_Infrastructure_Menu_Settings_Saves]], [[DR-019_Frontend_Menu_Settings_Saves_Build]]) — delivered + runtime-validated (EditMode 142→**152**): a **UI Toolkit main menu** (Single/Host/Join+IP/Continue/Settings/Quit) on the **Netcode frontend pattern** (on-demand `Create*World`, subscene streams into them, frame-boundary `DisposeAllWorlds` teardown, MenuWorld recreated on return); **Graphics + Audio settings** that drive the engine (`SettingsService` JSON at `persistentDataPath`; `GameVolume` Master/Music/Sfx buses); a **saves foundation** (versioned single-slot JSON, **born-correct** goal/ledger load at director spawn, autosave on Siege→Calm + quit-to-menu); editor `ProjectM/Build/Windows Player` + Boot-Into-Menu toggle; build order MainMenu(0)/Game(1). Editor instant-play + MPPM loop unchanged by default.
|
||||
|
||||
> **2026-06-05 M7 — Automation** ([[2026-06-05_M7_Automation]], [[DR-020_M7_Automation_Production_Chains]]) — delivered + runtime-validated (EditMode 152→**190**): the full **Harvester → Conveyor → Fabricator** self-running chain (server-only, deterministic), auto-gathering EXISTING resources (default 2 Ore → 1 Aether) into the global ledger; **SaveData v2** structure persistence (quit autosave → Continue restore, charge-free, born-correct, chain resumes); deterministic conveyor (`ConveyorMath.ResolveMoves`, shuffle-invariant); single gated catch-up (`ProductionMath`); one-shot `BaseRestoreSystem`; `RuntimePlacedTag` source-of-truth; 3 machine prefabs duplicated from `Turret.prefab` + catalog rows.
|
||||
|
||||
> **2026-06-06 Cleanup & alignment** ([[2026-06-06_Cleanup_Alignment]]) — repo hygiene before more dev (no gameplay change): deleted crash-recovery scenes (`_Recovery/`) + a stray empty `Assets/Resources.meta`; removed the legacy IMGUI `ConnectionUI` (3 scenes + script + 4 stale comments); DRY'd the duplicated UITK `Round`/`Border` helpers into `MenuUi` (canonical) + small HUD/build-input tidy (husk-count cache, table-driven build hotkeys); re-aligned `CLAUDE.md` (scene split, on-demand frontend, M7 Automation, disk persistence, UITK HUD, new build-gotchas) + the vault roadmap to the three 2026-06-05 sessions. EditMode green, console clean; landed as grouped commits.
|
||||
|
||||
### 2026-06-06 Cleanup follow-ups
|
||||
- [ ] **Optional further code-tidy** (low value; deliberately skipped this pass to limit churn on freshly-validated systems — none affect behavior): `SettingsService` migrate-then-clamp ordering; `ConveyorTransportSystem`'s 6 parallel snapshot arrays → one struct array; `WorldFeedbackSystem.TintForResource` if-chain → byte→Color lookup; `PlayerInputGatherSystem` device-active dedup. [[2026-06-06_Cleanup_Alignment]].
|
||||
|
||||
### 2026-06-05 M7 Automation follow-ups
|
||||
- [ ] **Throughput visuals** (item-on-belt): server-only machine buffers don't reach the client (clients see only `PlacedStructure.Type`); add ONE small replicated byte if live belt visuals are wanted.
|
||||
- [x] **Build-palette HUD + ghost preview** — done 2026-06-05: UITK build-palette bar (6 buildables + cost + affordability + selection) + click-to-place with a green/red ground ghost, conveyor rotate, fire-suppress. Conveyor-facing arrow/icons still open. [[DR-021_HUD_UITK_BuildPalette]], [[2026-06-05_HUD_Rework_UITK_BuildPalette]].
|
||||
- [ ] **Relevancy ceiling** — `RegionRelevancySystem`'s O(structures×connections)/tick scan becomes load-bearing at higher conveyor counts (DR-014 ceiling note); batch it when counts grow.
|
||||
- [ ] **Recipe depth** — multi-input fabricator recipes; fabricator→conveyor output chaining (additive: give the fabricator a `MachineOutput`); per-machine distinct meshes (machines reuse the Turret mesh as a placeholder).
|
||||
- [ ] **Operator live play-through** of the chain + a real 2-build LAN run under latency (single-client validated this pass).
|
||||
|
||||
### 2026-06-05 Game-infrastructure follow-ups
|
||||
- [x] **Build the standalone** — the first player build hit a pre-existing URP blocker (`UniversalRenderPipelineGlobalSettings` `m_AssetVersion=11` > package `k_LastVersion=10`, from the reverted 6.6 alpha; URP migrates forward-only so its build preprocessor rejected it — blocked builds, not editor Play). Fixed (reset the stamp to 10); `ProjectM/Build/Windows Player` now produces a complete Mono Win64 standalone (`Builds/Windows/`, both scenes + baked subscene). See [[2026-06-05_Game_Infrastructure_Menu_Settings_Saves]].
|
||||
- [ ] **Operator-run validation**: launch `Builds/Windows/ProjectM.exe` → confirm it boots the menu → Single/Host/Join play; a real **2-build LAN Host↔Join**; MPPM co-op regression in default-editor mode.
|
||||
- [ ] **Controls settings + key rebinding** (Input System rebinding UI) — deliberately out of the Graphics/Audio scope this pass.
|
||||
- [ ] **Full base-state saves** (placed structures / threat / storage) — the `SaveData` schema is versioned so this is additive (no migration of the ledger/goal slice).
|
||||
- [ ] **Unity Relay** for remote (non-LAN) Host/Join — swap the endpoint source feeding `ConnectionConfig` (the frontend lifecycle is transport-agnostic).
|
||||
- [ ] **Dedicated-server build** — the `RequestedPlayType==Server` auto-host branch is in but UNTESTED this pass.
|
||||
- [x] **Remove the legacy IMGUI `ConnectionUI`** — done 2026-06-06 (cleanup pass): the `NetConnectionUI` GameObject removed from `Game.unity` / `DevSandbox.unity` / `SampleScene.unity`, `ConnectionUI.cs` deleted, and the 4 stale doc-comments repointed to the UITK `MainMenuController` / `WorldLauncher`. The UITK frontend menu now owns Host/Join+IP everywhere. [[2026-06-06_Cleanup_Alignment]].
|
||||
- [ ] **Volume-slider theming**: sliders render via the default runtime theme; if a real build shows them unstyled, swap to +/- cycle rows (the enum settings already use cycle rows).
|
||||
- [x] Upgrade Unity 6.4 → 6.6 — done (now `6000.6.0a6`). Entities/Collections/Graphics → 6.5.0; **Netcode → 6.6.0 and Physics → 6.5.0 also renumbered into the editor line** (not independent 1.x as [[DR-001_Netcode_Test_Harness]] assumed). See [[2026-05-30_M1_Player_Slice]].
|
||||
- [x] Define the core gameplay loop and the first predicted player ghost — delivered as M1 ([[2026-05-30_M1_Player_Slice]]).
|
||||
- [x] **Re-validate the M1 play-tick on a stable Unity 6.x** — moot/subsumed 2026-06-04: M1–M6 are all runtime-validated on the stable **6.4.7** line (the 6.6 alpha netcode bug never affected 6.4.7). The original "blocked on 6.6 alpha" framing ([[DR-002_Unity66_Alpha_Netcode_Transport]]) no longer applies.
|
||||
@@ -21,7 +46,7 @@ Unordered pool of candidate work. Promote to a [[Milestones|milestone]] when com
|
||||
- [x] Optional template cleanup: remove `com.unity.visualscripting`, `Assets/TutorialInfo/`, `Assets/Readme.asset` — **done 2026-06-03** (pre-M6 cleanup; see the "2026-06-03 Visual & Controls Polish" section below + [[2026-06-03_Pre_M6_Cleanup]]). Duplicate of the now-checked item there.
|
||||
- [x] Decide **relay provider** before M4 — resolved: **Direct IP/LAN now, Unity Relay later** ([[DR-005_M4_Connection_Model_Direct_IP]], [[2026-06-01_M4_LAN_CoOp_And_Classification_Fix]]).
|
||||
- [x] Decide home-base **grid 2D vs 3D** before M6 — resolved 2026-06-02: **planar single-level `int2` grid**, CellSize 1.0, 32×32 plot (full 3D/stacked deferred). Locked in `BaseGridMath` — [[DR-008_M5_HomeBase_BaseLayer_Storage]].
|
||||
- [ ] Decide **production replication** (predicted vs server-only) before M7 (automation).
|
||||
- [x] Decide **production replication** (predicted vs server-only) before M7 (automation) — resolved 2026-06-05: **server-only** (production runs in the plain server `SimulationSystemGroup` `[UpdateAfter(PredictedSimulationSystemGroup)]`; results replicate via the existing global ledger + `PlacedStructure` ghosts, never predicted; per-machine I/O buffers stay server-only). Delivered as **M7** ([[DR-020_M7_Automation_Production_Chains]], [[2026-06-05_M7_Automation]]).
|
||||
- [x] **M2 follow-up — Burst cache health** — confirmed clean 2026-06-03: warm focused play shows **no** "not a known Burst entry point" managed-fallback messages + fast (~3s) play-enter. The M2-era corruption is gone. [[2026-06-03_Pre_M6_Cleanup]] (orig [[2026-05-31_M2_Combat]] / [[DR-003_M2_Combat_Netcode_Architecture]]).
|
||||
- [ ] **M2 follow-up — live interactive fire test** (focused Play Mode: press Space / LMB / RT → predicted projectile + dummy HP drop). The server combat loop + replication are validated; the input→`AbilityFireSystem`→predicted-spawn→classification path is only validated structurally.
|
||||
- [x] **M2 follow-up — mouse-cursor aim for KBM** — done 2026-06-03: client-side camera ground-ray cursor aim rides the existing `PlayerInput.Aim` `[GhostField]` (no new netcode surface); device auto-switch (KBM/gamepad) replicated as a `byte`; strafe-while-aiming free. [[DR-012_Aim_Controls_Cursor_Gamepad]], [[2026-06-03_Aim_Controls_Cursor_Gamepad]].
|
||||
@@ -81,6 +106,6 @@ Surfaced by [[DR-018_World_Space_Cohesion_Pass]] (the balanced-slice scope delib
|
||||
|
||||
- [ ] **Base-side cohesion accents**: cyan ordered-Aether lights + perimeter relief + re-enabled tiled base ground (deferred this pass to avoid clashing with the tuned SSAO/ACES look — the Blightfield got the dressing budget).
|
||||
- [ ] **Clearing as a spatial mechanic**: shipped as juice + scrap only; make cleared cells buildable / reveal hidden nodes (the "functional gating" fork from the intake gate).
|
||||
- [ ] **Build-palette HUD + ghost-preview**: dedicated V/N keys for now; a selectable palette + placement preview is the UX follow-up.
|
||||
- [x] **Build-palette HUD + ghost-preview** — done 2026-06-05 (UITK palette + click-to-place ground ghost). [[DR-021_HUD_UITK_BuildPalette]].
|
||||
- [ ] **Per-`Variant` clutter meshes**: `BlightClutter.Variant` is replicated + round-robined but the prefab is single-mesh; swap per-variant meshes (additive, no schema change).
|
||||
- [x] **Focused-editor validation** (2026-06-04): confirmed in Play — Wall **stops the player CC at the collider face** (X 2.50→3.257, server==client); Blightfield **reads orange-wild rock basin** vs cyan base (real player-view shots); **clutter-clear loop** deposits Biomass + shatters + replicates (BIO 0→10, clutter 14→13); node harvest works (AETHER 0→30). Console clean. **Still open:** deep basin density/lighting **feel-tuning**.
|
||||
@@ -2,7 +2,7 @@
|
||||
tags:
|
||||
- roadmap
|
||||
- milestones
|
||||
updated: 2026-06-04
|
||||
updated: 2026-06-06
|
||||
permalink: gamevault/06-roadmap/milestones
|
||||
---
|
||||
|
||||
@@ -19,9 +19,12 @@ permalink: gamevault/06-roadmap/milestones
|
||||
| **M5.5 — Game feel & identity** | Bridge "tech-demo → game": the **Husk** enemy (server AI, interpolated ghost), player death/respawn, combat juice (damage numbers/VFX/SFX/camera shake), a core HUD, and a sci-fi look pass — under the new fiction ([[Identity]], sci-fi frontier colony) | ✅ Done 2026-06-02 — runtime-validated on 6.4.7: Husks spawn(6)+replicate+chase+strike; death→respawn loop; HUD (health/cooldown/threat/downed); emissive dark-sci-fi look. EditMode **74/74**. ctx7-verified APIs. **Deepened same day:** auto-target on Husks, replicated respawn-invulnerability, and a `WaveSystem` threat director (escalating waves of 3 Husk variants — Grunt/Swarmer/Brute) replacing the flat sustain — runtime-validated (wave 1→2 escalation 4→6, distinct maxHP 30/15/80). [[DR-009_GameFeel_Identity_FirstBlood]], [[2026-06-02_GameFeel_Identity]], [[2026-06-02_GameFeel_Deepening]] |
|
||||
| **— 2026-06-03 Visual & controls polish —** | Non-milestone polish layered on M5.5 (no mechanical rework): HDRP→URP art import + reusable converter; a cohesive **Synty** sci-fi colony world (cosmetic SampleScene GameObjects) + **GabrielAguiar** combat VFX; **KBM mouse-cursor aim + gamepad aim** with last-actuation device auto-switch (rides the existing `PlayerInput.Aim` ghost field). | ✅ Done 2026-06-03 — [[DR-010_Art_Import_URP_Conversion_Visual_Upgrade]], [[DR-011_Synty_World_VFX_Integration]], [[DR-012_Aim_Controls_Cursor_Gamepad]] |
|
||||
| **— 2026-06-03 Pre-M6 cleanup —** | Loose-ends pass before M6: vault roadmap reconcile, Unity-template + orphaned-material removal, rate-limited turning, console/runtime health gate. | ✅ Done 2026-06-03 — [[2026-06-03_Pre_M6_Cleanup]] |
|
||||
| **M6 — The Aether Cycle (core loop)** | Reframed from "grid build placement" into the first vertical slice of the **core game loop**: Expedition (gather) → Defend (wave) → Build/Charge (spend), persistent base + procedural sorties, escalating toward a goal. Build placement is now Stage 3 of this milestone. | 🚧 In progress 2026-06-03 — **Stages 0–4 done + runtime-validated** on 6.4.7 (M6 core loop systems complete): **base/expedition split via coordinate-region + `GhostRelevancy`** (player transit despawns/re-grants the other region's ghosts; server==client); a **server phase-director** (Expedition→Defend→Build→Expedition auto-cycle, cycle 1→2, Husk `WaveSystem` only in Defend, escalation 4→6); and **resources + harvest** — a **global CycleDirector ghost** carrying the replicated `CycleState` + a shared resource **ledger** (relevant in every region, unlike the base storage), a procedural **expedition field** (8 resource-node ghosts seeded per cycle, region-scoped), and a tunnel-safe **harvest** sweep depositing into the ledger; client **HUD** shows phase + resource counts. Supersedes DR-008's "split requires streaming" framing. **Stage 3** (generic automation-ready **structure model** + data-driven catalog + grid **build-placement** RPC with co-op-atomic commit + a hitscan **turret** that auto-defends + **ability tiers** via a bounded StatModifier) and **Stage 4 goal meter** are **done + validated** (turret placed/Ore-deducted/replicated; two same-tick requests → one build; turrets killed the wave; ability damage 20→30 bounded; goal increments per cycle). Disk-persistence **writer deferred to post-M7** (M7-additive surface — tick fields + frozen schema — baked now); the structure model is the M7 production-chain foundation. Playable walk-in-gate loop with build/spend, visible in the HUD. — [[DR-014_M6_Build_Structures_Automation_Foundation]] — [[DR-013_M6_Aether_Cycle_Region_Split]], [[2026-06-03_M6_Aether_Cycle_CoreLoop]] |
|
||||
| **— 2026-06-04 Polish & backlog-clear pass —** | Comprehensive *sequential* polish across hygiene/reconcile, system-level tests, HUD (TMP + replicated wave number), procedural audio + combat juice, ghost-prop reskin + post-processing, new gameplay content, controls/UX, and a validation-harness + operator handoff. Clears the open [[Backlog]]. | 🚧 In progress 2026-06-04 |
|
||||
| **M6 — The Aether Cycle (core loop)** | Reframed from "grid build placement" into the first vertical slice of the **core game loop**: Expedition (gather) → Defend (wave) → Build/Charge (spend), persistent base + procedural sorties, escalating toward a goal. Build placement is now Stage 3 of this milestone. | ✅ Done 2026-06-03 (forced-timer rhythm later superseded by M8's player-driven pacing) — **Stages 0–4 done + runtime-validated** on 6.4.7 (M6 core loop systems complete): **base/expedition split via coordinate-region + `GhostRelevancy`** (player transit despawns/re-grants the other region's ghosts; server==client); a **server phase-director** (Expedition→Defend→Build→Expedition auto-cycle, cycle 1→2, Husk `WaveSystem` only in Defend, escalation 4→6); and **resources + harvest** — a **global CycleDirector ghost** carrying the replicated `CycleState` + a shared resource **ledger** (relevant in every region, unlike the base storage), a procedural **expedition field** (8 resource-node ghosts seeded per cycle, region-scoped), and a tunnel-safe **harvest** sweep depositing into the ledger; client **HUD** shows phase + resource counts. Supersedes DR-008's "split requires streaming" framing. **Stage 3** (generic automation-ready **structure model** + data-driven catalog + grid **build-placement** RPC with co-op-atomic commit + a hitscan **turret** that auto-defends + **ability tiers** via a bounded StatModifier) and **Stage 4 goal meter** are **done + validated** (turret placed/Ore-deducted/replicated; two same-tick requests → one build; turrets killed the wave; ability damage 20→30 bounded; goal increments per cycle). Disk-persistence **writer deferred to post-M7** (M7-additive surface — tick fields + frozen schema — baked now); the structure model is the M7 production-chain foundation. Playable walk-in-gate loop with build/spend, visible in the HUD. — [[DR-014_M6_Build_Structures_Automation_Foundation]] — [[DR-013_M6_Aether_Cycle_Region_Split]], [[2026-06-03_M6_Aether_Cycle_CoreLoop]] |
|
||||
| **— 2026-06-04 Polish & backlog-clear pass —** | Comprehensive *sequential* polish across hygiene/reconcile, system-level tests, HUD (TMP + replicated wave number), procedural audio + combat juice, ghost-prop reskin + post-processing, new gameplay content, controls/UX, and a validation-harness + operator handoff. Clears the open [[Backlog]]. | ✅ Done 2026-06-04 — [[2026-06-04_Polish_Backlog_Pass]] |
|
||||
| **M8 — Persistent base & player-driven pacing** | Replace the forced-timer cycle with a persistent **Calm** base (no countdown) + **player-initiated** expeditions + **event-triggered** sieges (composite **ThreatDirector**, post-expedition retaliation); **dev-tools-over-RPC** (spawn/force-siege/grant/teleport/god-mode) + a dedicated **Game** scene + **DevSandbox**. | ✅ Done 2026-06-04 — runtime-validated on 6.4.7 (server+client, focused editor): boots into **Calm** (no timer); a returning player arms a retaliation siege (Gate→ThreatDirector→CyclePhase→Wave), the atomic WaveState seed spawns the **exact** configured size, **server==client** (phase + husk ghosts replicated); dev overlay drives the real server RPCs (unconditional wire type → handshake intact); god-mode baked present+disabled; `Game.unity` boots the calm base with the new "AT BASE — deploy when ready" HUD. EditMode **137/137**. Supersedes the M6 forced-timer rhythm. — [[DR-017_Persistent_Base_Player_Driven_Pacing]], [[2026-06-04_M8_Persistent_Base_Player_Driven_Pacing]] |
|
||||
| **M7 — Automation** | Self-running tick-based production chains (deterministic offline catch-up) | ⬜ |
|
||||
| **— 2026-06-05 Game infrastructure —** | The surrounding shell to build + test the game: a **UI Toolkit main menu** (Single / Host / Join+IP / Continue / Settings / Quit) on the **Netcode frontend pattern** (on-demand world creation, subscene-streams-into-them, clean teardown); **Graphics + Audio settings** that drive the engine (persisted JSON); a **saves foundation** + minimal slice (born-correct goal/ledger load, autosave on Siege→Calm + quit); a one-click **build** menu + scene order. | ✅ Done 2026-06-05 — runtime-validated (focused editor): menu renders → Single → worlds created → subscene streams → connect→spawn→playable → teardown→menu → Continue **born-correct** (charge/ledger restored, no flicker); settings apply live; EditMode **152/152**. Editor instant-play + MPPM loop unchanged (toggle to test the menu); builds boot the menu. — [[DR-019_Frontend_Menu_Settings_Saves_Build]], [[2026-06-05_Game_Infrastructure_Menu_Settings_Saves]] |
|
||||
| **M7 — Automation** | Self-running tick-based production chains (deterministic offline catch-up) | ✅ Done 2026-06-05 — **full Harvester → Conveyor → Fabricator chain, server-only + deterministic, auto-gathering EXISTING resources (default 2 Ore → 1 Aether) into the global ledger so setup compounds; persistence folded in (SaveData v2).** Runtime-validated on 6.4.7 (real netcode worlds): catalog bakes the 3 machine ghost prefabs; a placed live chain runs end-to-end (Ore cost withdrawn; Harvester→Conveyor→Fabricator→ledger), **server Aether == client Aether** (replicated); quit autosaved v2 (3 structures + epoch-independent REMAINING-tick cooldowns), Continue restored all 3 charge-free at the exact cells with born-correct ledger and the chain **resumed producing**. Deterministic conveyor (snapshot→stable-sort→at-most-one-claim→stall, shuffle-invariant); single gated catch-up path (`CyclesDue` lower-bound 0, input-limited, period-0-guarded); one-shot `BaseRestoreSystem`; `RuntimePlacedTag` single-source-of-truth. EditMode **190/190**. Resolves "production replication = **server-only**". — [[DR-020_M7_Automation_Production_Chains]], [[2026-06-05_M7_Automation]] |
|
||||
| **— 2026-06-05 HUD rework (UITK + build palette) —** | Convert the in-game HUD to UI Toolkit (consistent with the menu / pause / settings) + a full build-palette HUD: click-to-place with a green/red ground-ghost, conveyor rotate, fire-suppress; combat juice re-skinned to the Aether palette. | ✅ Done 2026-06-05 — runtime-validated (real netcode session): UITK HUD renders all panels; palette shows 6 buildables + costs; selection highlights + a live ground ghost; placement via the build RPC works. EditMode **190→194**. — [[DR-021_HUD_UITK_BuildPalette]], [[2026-06-05_HUD_Rework_UITK_BuildPalette]] |
|
||||
| **— 2026-06-06 Cleanup & alignment —** | Repo hygiene before more dev: delete dead assets (`_Recovery/`, stray `Resources.meta`), remove the legacy IMGUI `ConnectionUI` (scenes + script + stale comments), DRY the UITK `Round`/`Border` helpers + small HUD/build refactors, and align `CLAUDE.md` + the vault to the scene split / Automation / Saves / UITK surfaces. | ✅ Done 2026-06-06 — EditMode green, console clean; grouped commits. — [[2026-06-06_Cleanup_Alignment]] |
|
||||
|
||||
Promote items from [[Backlog]] here when committed.
|
||||
Reference in New Issue
Block a user