Commit Graph

75 Commits

Author SHA1 Message Date
kronic 972e0d5b4f Docs: Phase 1.7 boon-overhaul build spec + DR-047 + session log + roadmap tick + CLAUDE.md 7-type-query gotcha
Boon overhaul CODE-COMPLETE (mechanic-changers): design forks locked,
pre-code review (11 findings folded), post-impl review (incomplete on a
session limit — raised findings self-verified, 2 real bugs fixed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 18:54:06 -07:00
kronic ff91e6e4d3 Docs: session log Part R + roadmap tick — Phase 1.5b bundle 4 shipped, 1.5b COMPLETE
Bundle 4 (critters + weather beats) shipped; all four World-Alive-II bundles
done. Next = the operator's Phase 1.5 gate lap.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 14:41:35 -07:00
kronic f271d5f47f Docs: Geyser Build Spec + session log Part Q + roadmap tick + CLAUDE.md gotcha — Phase 1.5b bundle 3
Blight geyser (bundle 3) shipped review-first. Records the design-review fold
(2 HIGH: no edge-detect on the replicated tick; invert the invalid-guard for a
baked scheduled-tick so a born-0 can't storm) and the new CLAUDE.md tick-sentinel
corollary for baked [GhostField] scheduled-ticks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 13:53:22 -07:00
kronic b3ef846fb8 Docs: session log Part P + roadmap tick + CLAUDE.md gotcha — Phase 1.5b decals bundle shipped
Bundle 2 (decals): explosion scorch pool, cover damage-cracks, room-arena
scars — all procedural, client-only, zero netcode. Records the pivotal
finding that a stock Synty prop shadergraph's _BaseColor is Unity-Per-Material
(not Hybrid-Per-Instance), so URPMaterialPropertyBaseColor darkening silently
no-ops on cover — the fork to decal quads.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 11:04:43 -07:00
kronic 8da1402e25 Docs: session log Part O — baked splat ground iteration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 23:25:20 -07:00
kronic 8d9d8d0d66 Docs: session log Part N — flora double-animation diagnosis + thinning
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 23:14:26 -07:00
kronic 741828e09d Docs: session log Part M + roadmap tick — Phase 1.5b ground bundle shipped
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 22:49:24 -07:00
kronic 6d7941bb40 Docs: session log Part L — barrel feel fix + 1.5 expansion round opened
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 17:14:02 -07:00
kronic 03083eb735 Docs: destructible-cover Build Spec + session log Part K — PHASE 1.5 COMPLETE
CLAUDE.md: the enemy anti-stuck nudge is now cover-aware (budget 38.5 KB).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 16:17:45 -07:00
kronic d8e724e40a Docs: exploding-barrels Build Spec + session log Part J + roadmap tick
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:42:41 -07:00
kronic cca8c1d44e Docs: session log Part I + roadmap — attack distinctness; 1.5 short-term complete
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 23:18:27 -07:00
kronic 4ae022c5ad Docs: session log Part H + roadmap — breakable clutter feel pass
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 22:16:02 -07:00
kronic 28a683b358 Docs: session log Part G + roadmap — art look locked, ambient motion shipped
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 21:02:10 -07:00
kronic edc476adfd Docs: session log Part F — lighting/atmosphere pass + art-look gate open
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:38:23 -07:00
kronic 30ddb6fbd0 Docs: session log Part E — planar Y-lock fix record
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:06:34 -07:00
kronic 052764442d Docs: session log Part D — solid sweep + height pass record
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:46:17 -07:00
kronic 0574e74e18 Docs: collision-fidelity pass record + MeshCollider Read/Write gotcha + guardian harness pattern
Session log Part C (execution + validation evidence), roadmap stabilize #2
ticked, CLAUDE.md gains the MeshCollider-bakes-only-if-Read/Write gotcha
(38.4 KB, in budget), validation-harness.md gains the EditorApplication.update
guardian + EditorPrefs handoff pattern.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 13:48:32 -07:00
kronic 4cd9b6579d Docs: 2026-07-09 session log — B4d tail settled + collision-fidelity grounding
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 12:41:38 -07:00
kronic 7b64c1caa3 Chore: remove serena MCP completely; gitea auto-push + test-count conventions
Serena dropped from .mcp.json + .serena/ untracked (unused in practice,
flaky on Unity per CLAUDE.md's own caveat); memory stack is now three
layers. Standing auths recorded in the skill: docs auto-commit + auto-push
main->gitea (origin stays ask-first).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 22:00:33 -07:00
kronic a0a2cff264 Docs: workflow consolidation - CLAUDE.md game-state extraction (-2KB, invariants+DR pointers), validation-harness skill ref, docs-commit standing auth
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 21:44:24 -07:00
kronic 5a16acc56d Docs: attribute-swallow root cause + session log; CLAUDE.md gotcha + 6.5 accuracy fixes (net-zero)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 21:38:10 -07:00
kronic cc2e7ad95e Polishes 2026-07-07 20:51:18 -07:00
kronic 401e0a9c02 Docs: round-2 animation session log (swing combo, slam, sword, pipeline traps)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:18:54 -07:00
kronic 7350e4dd63 Docs: Blender clip pipeline in session log; CLAUDE.md Humanoid correction (net-zero)
The 'Synty share one Generic skeleton' note was WRONG - the pipeline is
HUMANOID (CharactersAvatar isHuman, muscle-curve clips). Corrected + the
Blender clip recipe added; paid for by archiving Aim-controls, the URP
m_AssetVersion blocker, VolumeProfile persistence, HDRP-convert and the
HudTheme bullets (verbatim in the gotchas archive, 2026-07-06 section).
39,959 bytes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:49:28 -07:00
kronic 192b708b41 Docs: Phase 1 session log — built + validated same session
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:52:09 -07:00
kronic fefd7168ec Docs: Co-op Hades iteration plan + dev-loop session log + tour screenshots
Direction locked 2026-07-06: trunk fixes + full Co-op Hades conversion
(mothball tower-defense, win expedition-side, hub base, mechanic-changer
boons, 2nd ability, node types, 2nd boss, revive), depth folded in now,
Blender at hero-props+decals scope. Evidence: 9-agent analysis workflow +
live play tour (screenshots referenced by the plan doc).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 12:27:05 -07:00
kronic e6cbba5e25 Docs: DR-046 base<->expedition ties + session log; CLAUDE.md net-zero
DR-046 (portal-gated rooms, class-at-base via shared ClassSwapUtil, per-run
prep spend, Health.Max GhostField, C3/C4/Spitter) + the session log. CLAUDE.md
folds the batch into the core-loop bullet and corrects the now-wrong
'Health.Max unreplicated' line; paid net-zero (40921 B) by archiving the
one-time Rukhanka-samples bullet + trims into the gotchas archive.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 10:37:50 -07:00
kronic 35357faa7a Docs: DR-045 combat demo pass + session log + CLAUDE.md gotchas
DR-045 (real boss, GoalTarget=2, readable-but-fair) + session log. CLAUDE.md:
core-loop demo note (GoalTarget=2, boss kit), source-gen file-using gotcha,
EB-1/2/END-1/2 bullets condensed to DR pointers to stay under the 40KB budget.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 20:21:51 -07:00
kronic c6b7890212 Polishes 2026-07-04 16:57:40 -07:00
kronic 16e396841e Run Re-Do 2026-07-02 20:41:43 -07:00
Luis Gonzalez 29e90a5008 First-run onboarding: contextual coach-marks + How-to-Play card + dev replay toggle
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>
2026-06-29 14:18:22 -07:00
kronic 8f96b520d6 Deferred feel items: true enemy body hit-flash, co-op remote swing arcs, near-impact strike beep
Clears the three follow-ups deferred by the combat-overhaul pass (c3b53cef2) + the
DR-041 "needs its own ShaderGraph slice" note. All client-only, observe-only presentation
(PresentationSystemGroup; no sim mutation, no [GhostField], no server work).

- Item 1: EnemyHitFlashSystem flashes the ACTUAL enemy body by driving the stock
  Entities-Graphics URPMaterialPropertyBaseColor override on the Rukhanka render-entity
  LEG children (root has no MaterialMeshInfo) -- NO ShaderGraph edit, no new component type.
  Lerp white->BodyFlashColor on a Health-decrease edge, decay back to white. Verified on
  screen (the AnimatedLitShader honors the per-instance _BaseColor override).
- Item 2: per-remote-player slash-arc pool in CombatFeedbackSystem, edge-detected from the
  replicated MeleeCombo on interpolated teammates (.WithDisabled<GhostOwnerIsLocal>());
  BuildSlashMesh -> BuildSlashInto(mesh,...) refactor; local player keeps _slashMr.
- Item 3: once-per-windup near-impact strike beep folded into the danger-cone loop, gated
  to a resolved local player.
- 9 new FeelConfig knobs (+ ResetDefaults).

390/390 EditMode, clean compile, zero Play exceptions. 3-lens adversarial review
(wf_8a998c6c-af9) -- no critical/major; fixed 4 minors: spurious beep at base origin before
the local player resolves, frozen tint if BodyFlashEnabled toggles off mid-flash, render-child
capture with no recovery, OnDestroy GO symmetry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 10:51:58 -07:00
kronic e32dadbc66 Slice Combat Depth (MC-3 + wiring + review fixes): Spitter aim-line + player-hit punch, rigged enemies, in-band gate (DR-041)
Completes the Combat Depth slice on top of the MC-2 server spine (56cf60cce):

MC-3 impact juice (client, observe-only):
- 7 FeelConfig fields + ResetDefaults; magnitude-scaled player-dealt-hit camera
  PunchFov on the enemy-Health-decrease edge (camera-only hit-stop, never timeScale).
- Spitter Kind==2 aim-LANE telegraph (BuildLaneMesh) — reads baked SpitterState
  client-side, falls back to a fixed length. True freeze + material flash deferred.

Content / wiring:
- SpitterProjectilePrefabAuthoring (the SpitterProjectilePrefab singleton).
- Both directors rebuilt to a 4-entry KIND-INDEXED roster [Grunt,Charger,Spitter,
  Swarmer] + mix/MaxAlive config + the SpitterProjectileConfig singleton in the subscene.
- Real rigged models: EnemySpitter (re-skinned Kaiju, ranged poker) + EnemySwarmerUndead
  (Undead-Werewolf, fast/low-HP); grunt/charger keep Werewolf/ChargerMuscle. EnemySpit =
  ownerless interpolated ghost (no Health, no collider).

Post-impl adversarial review fixes (wf_febdcfdb-665):
- [MED] in-band fire gate: the Spitter committed its telegraph from ANY range (fired while
  advancing from far). Now commits only when sInBand || sCornered (gives CorneredRange a
  real read site) — a Spitter out-of-band holds fire and repositions.
- [LOW] EnemyProjectileDamageSystem early-returns on !ServerTick.IsValid (sibling parity).
- [LOW] EnemyAuthoring bake-time guard: errors if a prefab composes both Charger+Spitter
  (would match zero AI passes -> never move).
- [LOW] tests: Spitter brain fires from Expedition (kills the Base==0 region false-green);
  a direct partition-exclusion test replaces the order-masked claim; added out-of-band +
  cornered negative tests.

388/388 EditMode green + two Play smokes (clean boot, fire, swept-hit, region, server==
client; rigged Kaiju spitter bakes + fires with zero console errors). Accepted as-is
(documented in DR-041): global spit soft-cap, co-op punch attribution.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:08:59 -07:00
kronic 3109b86d71 Slice 3: Expedition Combat Spine — epoch-seeded zone waves (DR-040)
Reactivate the dormant Expedition region as a procedural combat venue.
v1 loop: walk the gate -> fight an epoch-seeded enemy wave in the
expedition -> clear -> return -> flat Ore reward (once per epoch) ->
escalated retaliation base siege.

- New sim types: ZoneEnemyTag, ZoneEnemyDirector (+ ZoneEnemyPrefab
  buffer), ZoneEnemyState, ZoneEnemyMath (grunt->charger composition
  by epoch). ZoneEnemyDirectorSystem (server, Burst): drip-spawns the
  wave at a deterministic ring under a MaxAlive cap while a player is
  out and the base is Calm; marks ClearedThisEpoch on a real clear.
  [UpdateAfter(ExpeditionFieldSystem)] only (avoids a sort cycle).
- BLOCKER 1: EnemyAISystem region-filters target selection (player +
  structure snapshots gain parallel region lists; no base structures /
  no Core fallback for expedition husks).
- BLOCKER 3: WaveSystem, ThreatDirectorSystem timeout cull, and
  CyclePhaseSystem DefendCleared + Core-breach cull all count/cull
  RegionTag{Base} husks only (the breach cull was caught region-blind
  by the post-impl review: a base breach wiped the live expedition
  wave and spuriously paid the reward).
- BLOCKER 4: reward de-duped via CycleRuntime.LastRewardedEpoch +
  ClearedThisEpoch; ExpeditionGateSystem deposits RewardOre once/epoch.
- ExpeditionFieldSystem teardown also culls zone enemies + region-
  guards the clutter loop. Subscene wired with the director + roster.

368/368 EditMode green + clean netcode Play smoke. Docs: DR-040 ->
built, session log, CLAUDE.md cross-region tag-reaudit rule.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 22:58:26 -07:00
kronic 6b368d1a29 Docs: DR-040 Slice 3 (Expedition Combat Spine) reviewed + scope-locked
Heaviest pre-code review done (1 ground + 3 lenses). v1 loop scope-locked: walk gate ->
epoch-seeded enemy wave in the expedition -> clear -> return + Ore -> escalated base siege.
4 netcode blockers fixed-in-spec (EnemyAISystem per-region targets; WaveSystem cleared-check
RegionTag{Base}; relevancy MaxAlive cap; reward per-epoch sentinel). Arena pool / zone-theme
byte / TimedModifier buff / SaveData v6 / mini-boss deferred to v2. Build is the next unit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:56:03 -07:00
kronic d6d75b4706 Docs: DR-039 Slice 2 (two classes) record + roadmap update
Slice 2 complete: Warrior/Ranger, DRG-asymmetric, aim-directed cone, menu picker,
class carrier via GoInGameRequest. Two VFX-polish items deferred (review-sanctioned).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:41:25 -07:00
kronic d9d67c4e78 Slice 2 (WIP): class data layer + melee-augment routing
Foundation for Two Classes (DR-037). New ids (CharacterId.Warrior/Ranger,
AbilityId.WarriorCone, StatTarget.MeleeDamage/MeleeRange); CharacterStatsRef.Id ->
[GhostField] so the owning client folds the right class stats; MeleeComboSystem
folds per-player MeleeDamage/MeleeRange off the replicated StatModifier buffer
(HasBuffer-guarded -> identity without class seeds, so behavior-preserving).
345/345 EditMode. Slice 2 design review + locked forks logged in the session note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:23:56 -07:00
kronic f98125f0b2 Docs: DR-038 Slice 1 record + session log
DR-038 records Slice 1 (combat readability + HUD declutter) with the two reusable
netcode patterns: bake-client-safe for client-needed/server-owned/never-changes
data (EnemyTelegraph), and a [GhostEnabledBit] derived once/tick (IsLunging). Open
item: the operator visual fun-gate. Session log captures the design redirect +
Slice 1 build/validation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 12:48:16 -07:00
kronic 4a6b7b6d2a Docs: Unity 6.5 upgrade validation (342/342 green, clean netcode boot)
Validated the 6.5 upgrade: 342/342 EditMode tests pass, no compile/Burst/
source-gen errors, and a clean netcode Play boot (ServerWorld+ClientWorld
connect, NetworkId handshake, in-game, ghost replication synced 23==23,
player owned-ghost spawned) -> the 6.6.0a6 "invalid wrapped network
interface" transport bug does NOT affect 6.5-stable. URP 17.5 render clean
(magenta scan 0/1564). The MaterialLocation.External FBX-import warnings are
benign 6.5 deprecation noise (2737 importers), import-time only.

Updates the CLAUDE.md stack table to 6.5.0 (net -13 bytes, under budget) and
adds the full session log.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 00:34:45 -07:00
kronic 40927de4a7 Docs: note the SL-4 clarity rebalance
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 17:48:05 -07:00
kronic cb3bdbbee9 Docs: SL-1/SL-4 visual-cohesion session log + Backlog status
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 14:09:45 -07:00
kronic 6769fc3de9 Docs: END-2 session log + DR-036; Backlog/Path_to_Fun/Milestones; CLAUDE.md END-2 line
Path A spine COMPLETE (14/14): Backlog SL-3 blocker cleared + marked done; Path_to_Fun END-2 done + banner; Milestones END-2 row. CLAUDE.md gains the END-2 gotcha line (replicate the outcome, don't client-derive; SiegeTimeout off during the final), net-zero via EB-1/EB-2/END-1/M7/inventory/build-grid condensations (40,445 then 40,510 w/ history note, under the 40,960 limit). DR-036 + session log capture the design, the operator forks (halt+banner, Target=4, SaveData v5), and the pre-coding + post-impl adversarial reviews.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 12:38:46 -07:00
kronic f7c63b6f41 Docs: END-1 session log + DR-034; CLAUDE.md losable-core bullet
DR-034 records the losable-Core decisions: CoreIntegrity on the global ghost,
the soft-loss edge inside CyclePhaseSystem, the Core-as-fallback-target and
despawn-on-breach forks, the transient OverrunTick (vs END-2's latching
outcome), and SaveData v4. Session log captures the build + validation
(330/330 EditMode; Play-verified server==client drain->regen->replicate).
CLAUDE.md adds the END-1 bullet; EB-1/EB-2/inventory bullets condensed
net-neutral to stay under the size budget.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 21:52:03 -07:00
kronic 3fdac3517b Docs: EB-2 session log + DR-033; CLAUDE.md felt-spend bullet
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>
2026-06-12 19:15:10 -07:00
kronic e04cdea44f Docs: EB-1 session log + DR-032; CLAUDE.md machines-can-die
Session log + DR-032 (structures reuse Health/DamageEvent, Destructible-not-PlacedStructure, fortress targeting, persistence v3, loss feedback; both adversarial reviews). CLAUDE.md: EB-1 build-gotcha bullet + persistence v3 floor-gate; net condensation of M7/inventory/UITK/juice reference bullets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 23:53:50 -07:00
kronic 35d33f12c1 Docs: base-mining cohesive-loop session log + DR-031; CLAUDE.md base-local loop
Session log + DR-031 (base-local mining, any-attack harvest, scheduled base sieges, Synty asset swap) capturing the diagnosis, locked operator forks, both adversarial reviews, and the tuning knobs. CLAUDE.md: base-local loop is now the model (BaseFieldSpawnSystem + harvest region-routing + ThreatDirector Schedule source); net-neutral condensation of M7/biome/HUD reference bullets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 15:00:30 -07:00
kronic 0d259fb68b Docs: camera feel session log (look-ahead de-jar + zoom)
Session log for the PrototypeCameraRig walk-shift fix: root cause, the separate-view-position fix, genre research (Diablo/PoE/Hades/Cinemachine), and the live-tunable knobs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 12:13:40 -07:00
kronic b55bf2bd98 Docs: correct the MC-4 anim-sink root cause (Rukhanka partial-clip collapse, not writeDefaultValues)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 00:37:35 -07:00
kronic 7dcf53bb3f Docs: MC-4 follow-up fixes (anim-sink root cause + enemy telegraph)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 23:42:46 -07:00
kronic 7b3c9cc2a5 Docs: MC-4 melee anim/VFX/archetype session log; Path_to_Fun MC-4 polish
Polish-pass session log (swing animation, live range slash-arc VFX, archetype-byte spike) + roadmap MC-4 status.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 17:45:34 -07:00