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:
@@ -87,6 +87,17 @@ 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.
|
||||
|
||||
## EditMode fixtures for prediction-gated systems (07-21, AbilityFireSystemConeTests)
|
||||
|
||||
- **`NetworkTime.Flags` is INTERNAL** — a system gated on `IsFirstTimeFullyPredictingTick` silently no-ops in any
|
||||
plain test world (default Flags = 0). Fixture fix: box the struct + `typeof(NetworkTime).GetField("Flags",
|
||||
NonPublic|Instance).SetValue(boxed, NetworkTimeFlags.IsInPredictionLoop | IsFirstTimeFullyPredictingTick)`.
|
||||
Test-only; never reflect internals in shipped code.
|
||||
- **Input-buffer presses**: an `InputBufferData<PlayerInput>` entry with a set `InputEvent` keeps answering
|
||||
`GetDataAtTick` for every later tick — it re-fires the moment a cooldown re-opens (the MeleeComboTests C6
|
||||
lesson, buffer-shaped). Always push a press at T **and a release (default command) at T+1**.
|
||||
- Damage paths gated `WorldUnmanaged.IsServer()` need `new World(name, WorldFlags.Game | WorldFlags.GameServer)`.
|
||||
|
||||
## Test-run mechanics
|
||||
|
||||
- `run_tests(mode="EditMode", assembly_names=["ProjectM.Tests.EditMode"])` → poll `get_test_job`
|
||||
|
||||
Reference in New Issue
Block a user