From 4e795a38e9d662658d715761dbd93fc815ec95b3 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Tue, 21 Jul 2026 00:13:50 -0700 Subject: [PATCH] Docs: 07-21 heavy feel lock session log Co-Authored-By: Claude Fable 5 --- .../2026/2026-07-21_Heavy_Feel_Lock_F.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Docs/Vault/07_Sessions/2026/2026-07-21_Heavy_Feel_Lock_F.md diff --git a/Docs/Vault/07_Sessions/2026/2026-07-21_Heavy_Feel_Lock_F.md b/Docs/Vault/07_Sessions/2026/2026-07-21_Heavy_Feel_Lock_F.md new file mode 100644 index 000000000..862851989 --- /dev/null +++ b/Docs/Vault/07_Sessions/2026/2026-07-21_Heavy_Feel_Lock_F.md @@ -0,0 +1,42 @@ +# 2026-07-21 (F) — HEAVY FEEL LOCKED (the A/B winner folded into code defaults) + +**Operator:** "lets lock the heavy feel, commit everything." The `heavy-committed` profile wins the A/B; per the +bench rule the winner folds into code defaults and the profile stays as the record. + +## The locked numbers (TuningConfig.Defaults / FeelConfig.ResetDefaults) + +| Knob | Was | LOCKED | Note | +|---|---|---|---| +| MeleeRecoverTicks | 30 | **36** | 0.60s light lock; finisher x1.5 = 54t (0.90s) | +| MeleeDamage | 30 | **36** | DPS 60 held (dmg = recover) | +| MeleeContactTicks | 16 | **20** | blade lands 20/12/25t per step | +| MeleeChainGraceTicks | 24 | **28** | | +| MeleeBufferTicks | 8 | **10** | | +| MeleeSwingMoveScale | 0.35 | **0.25** | deeper commit | +| MeleeArcIntensity | 1.0 | **0.8** | the weapon is the read | +| FinisherHoldFrames | 5 | **7** | ~117ms beat | +| MeleeConnectFovKick | 0.8 | **1.1** | | + +**Honesty correction while locking:** the profile as played had damage at 20/12/25t while the clips' VISUAL +contacts sat at 16/10/20t (4–5t drift, the audit flagged it). The lock keeps the approved DAMAGE timing and +retimes the clip state speeds to match — wire-tool swaps now **1.0 / 0.85 / 0.88** → audit shows **ZERO drift** +(derived == configured at every step). Coupling note baked into the knob comment: step-3 contact (25t) sits ONE +tick under CastFacingTicks (26) — never raise the contact knob without raising the cast window. + +## Verified + +- Audit: zero drift, DPS 60.0 per-light AND full-chain, buffer 10t + batch slack 4t. +- Probe (server-measured, in play): gaps exactly 36/36/54/36/36, contacts +20/+12/+25 exactly, damage 42/42/63 + (base 36 x class seed, finisher x1.5). +- 414/414 EditMode green (mechanics tests pin their own config — default drift can't break them, by design). +- **The grip-anchor flow got its first real operator use**: the anchor moved from the seed (0, .06, .02) to the + hand-tuned (0.115, .06, .061) and the baked mesh matches it exactly (expected-radius recompute == baked 1.53m). + Reach with the tuned grip: swept ~1.98m vs 2.2m cone = **x1.11** base (in budget); finisher x1.39 — slightly + over the 1.25 guideline, watch it in play (trim MeleeFinisherRangeMult toward ~1.15 if the finisher reads long). + +Profiles: `baseline-0720.json` now carries the LOCKED defaults (display name `baseline-heavy-0721`, the reset +button); `heavy-committed.json` marked as the locked record; `snappier.json` stays as the contrast experiment. + +**Next:** hit-react pass (the last missing impact layer: pack React/Stagger clips + a damage-edge anim param + +the Rukhanka-compatible victim-flinch that replaces the cut vibrate) · finisher-reach eyes-on (x1.39) · +G6 zone-socket telegraph + the SpecialSlam socket's damage-at-contact (same honesty fix melee got).