Batch 53 · Motion constraints and grouped verification workflow¶
2026-10-27. Starting HEAD f8d1b6d3; implementation 6f770fb8, separate from this documentation checkpoint.
Change¶
Screen limits and NoPassing obstacle separation now share MotionConstraints with unchanged calculations, cadence and cached sprite extents. ScreenBounds retains its GUID and default Camera.main behavior for existing consumers; the prepared actor receives its run camera before activation.
Original physics capture confirmed that disabled Player components still receive trigger stays. The prepared movement driver now claims that callback once while inactive, suppressing the old callback even after driver disable/destruction. Active, uncancelled driver callbacks apply the original push once. Production actors without the new driver retain their legacy callback path. The development actor enables only the driver, bounds and root physics; unmigrated combat/resource scripts remain disabled.
Focused evidence¶
- Original method capture: 59 viewport/overlap observations; exit 0, 62.304 seconds. Original real-physics capture: 12 steps, exit 0, 35.373 seconds. The first physics capture lacked headless input focus and is excluded; correcting the fixture settings allowed the original-code capture.
- Immutable MovementBoundaryReference.json SHA256:
45b280ed4213f0ba60dc9472ed9a373809104a02163a926ff3075a96e41a6adb. It retains pre-change source identity and observations; no original baseline is repinned. - MovementBoundaryChecks: 10/10, Editor exit 0, 45.895 seconds. Original method/physics equivalence, pure calculations, explicit camera ownership, no duplicate/fallback callbacks, real prepared-actor screen edges and imported prefab script bindings pass.
- MotorRunChecks: 10/10, Editor exit 0, 71.420 seconds. The existing walking/input/lifecycle checks pass with the newly enabled bounds component. Existing CS8785 generator warnings remain; no exception heading in either accepted log.
Both runs use Unity 6000.2.8f1, Linux64, headless. No native build, desktop control or new physical-device/Windows evidence. Batch 52's native smoke predates this change; full integration remains pending.
Preservation and next work¶
The private pre-change capture retains recoverable project/profile bytes. All 7,768 captured project files outside five intended edits match; six source/reference/metadata files are added. Scenes, prefabs, authored data, settings and existing metadata remain unchanged. Reviewed generated Linux-toolchain package entries were archived and restored; Unity session preference changes were restored to exact original bytes. Unresolved audio deletions and untracked Linux.meta are excluded from both commits. Raw logs, captures and backups remain outside Git.
The owner requested larger dependency groups and lightweight checks during implementation. The active plan now places repeated full builds/control tests after cleanup and existing-content integration, with targeted earlier checks only for concrete blockers/high-impact changes. Code commits remain independently reviewable; evidence/docs updates consolidate at group checkpoints. Continue R3 health/damage/status, stamina/regen, stats, death/revive and minimum dash before AbilityHolder. Full gameplay and external qualification remain open.