Docs: 07-21 auto-recast root-cause correction (wire-count InputEvent ★), harness lessons, CLAUDE.md net-zero trims
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,21 @@ DOES propagate into parented children's `LocalToWorld` (verified live on 6.5.0).
|
||||
- Forcing an animation pose: disable the drive system, write params via `AnimatorParametersAspect`; measure
|
||||
ground-contact via feet-Y only on non-deformed geometry.
|
||||
|
||||
## Input-path validation (07-21, the auto-recast false negative)
|
||||
|
||||
- **A guardian window must OUTLIVE the period it judges.** Frames ≠ ticks: an unfocused editor can run FASTER
|
||||
than 60 fps, so a 500-frame watch can end BEFORE a 7 s cooldown does. The morning "sim is clean" verdict was
|
||||
a false negative for exactly this; the 2000-frame re-run caught a recast at every cooldown reopen. Size the
|
||||
window in TICKS of the judged period × 2, converted generously.
|
||||
- **`DebugInputInjectionSystem` writes the COMPONENT — it can never reproduce wire-semantics bugs.** To exercise
|
||||
the real gather → copy-layer → command-buffer path headless, queue synthetic device events:
|
||||
`StateEvent.From(Keyboard.current, out var ev); InputControlExtensions.WriteValueIntoEvent<float>(kb.digit1Key, 1f, ev); InputSystem.QueueEvent(ev);`
|
||||
(+ a 0f release event). Works unfocused with runInBackground.
|
||||
- **Wire truth: `InputEvent` counts ACCUMULATE across commands** (the per-frame gather reset never reaches the
|
||||
buffer). Test fixtures that push `InputBufferData<PlayerInput>` must model that: press = count STEP at one
|
||||
tick, and the stepped count PERSISTS in every later entry — a "release = count 0" entry is a wire-impossible
|
||||
shape that hides the ever-pressed class of bug (and double-fires a delta gate).
|
||||
|
||||
## EditMode fixtures for prediction-gated systems (07-21, AbilityFireSystemConeTests)
|
||||
|
||||
- **`NetworkTime.Flags` is INTERNAL** — a system gated on `IsFirstTimeFullyPredictingTick` silently no-ops in any
|
||||
|
||||
Reference in New Issue
Block a user