Docs: 07-21 G6+G4 build spec + session log (H); guidelines shipped-notes; CLAUDE.md tick-source clause; validation-harness fixture notes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 12:35:29 -07:00
parent c5f73c52dd
commit a5302a7eae
5 changed files with 240 additions and 2 deletions
@@ -168,6 +168,11 @@ Priority when pixels compete: **enemy telegraphs > local player contact/impact >
Audio reinforces but never solely carries a threat (SoD accessibility rule; our per-kind windup voices are the
reinforcement layer, the decal is the message).
> ✅ **SHIPPED 07-21 (H)**: the budget rule — `SaturationMath.AllyScale` off the live enemy count degrades
> ally-attributed FX only (remote arc brightness + remote shakes; FeelConfig `AllyFxDegradeStart/Full/Floor`
> 8/16/0.35); enemy telegraphs structurally never degrade; the standing saturation test = DebugOverlay
> `- Saturation (G4) -` (Spawn 12 Drowners + the 3-fake-caster stress toggle). [[Socket_Honesty_Saturation_Build_Spec]]
### G5 — Impact ladder (hit-stop canon mapped to our camera-only stack)
`Time.timeScale` stays banned (netcode); our hit-stop = camera `Hold` + FOV kick + flash — same ladder, per R5:
- **Scale with significance:** chip hit = flash only; solid melee hit = 2-frame hold (current) + directional
@@ -190,6 +195,14 @@ Priority when pixels compete: **enemy telegraphs > local player contact/impact >
- **Skillshots stay honest**: no homing-by-default; assist only where a Spark explicitly buys it (the existing
`AutoTargetRange = 0` default per DR-050).
> ✅ **SHIPPED 07-21 (H)** — the cone + zone halves: the Cone socket (SpecialSlam) damages at its CONTACT tick
> (`ConeContactPending`, knob 32, 0 = legacy; cue latched to contact, arc reveal ends at contact) and zones draw
> the WildStar-grade fill decal (ZoneEffect GhostFields Caster/Radius/NextTick; `ZoneTelegraphSystem` — rim = true
> radius, fill arrival = the damage moment, on the INTERPOLATED timeline; mine warm/teal vs ally dim-blue).
> NOTE: no current frame loadout sockets a Cone spark — the archetype is honest-but-dormant until one does.
> Projectile tracer + movement trail were already true; per-Spark G1 time signatures remain a designer pass.
> [[Socket_Honesty_Saturation_Build_Spec]]
### G7 — Responsiveness contract (buffers + cancels, netcode-shaped)
- **Input buffer ≈ 610 ticks (0.10.17 s)** for melee-chain and socket presses: a press during the last ~10t of
a lock fires on the first legal tick (R7 buffer method; our `InputEvent`s already latch per tick — the buffer is