FighterStateContext exposes 18 fields spanning motion, collision, input, attacks, animation, assets, and configuration (src/fighter/state/mod.rs:95-114). It is rebuilt for interrupt, update, and collision passes at lines 236, 283, and 352, while every phase declares broad mutable ECS access.
Fix: introduce InterruptContext, EnterContext, UpdateContext, CollisionContext, and ExitContext with only phase-required fields. Preserve synchronous transition ordering and rollback schedule.
Severity: Architecture
FighterStateContext exposes 18 fields spanning motion, collision, input, attacks, animation, assets, and configuration (src/fighter/state/mod.rs:95-114). It is rebuilt for interrupt, update, and collision passes at lines 236, 283, and 352, while every phase declares broad mutable ECS access.
Fix: introduce InterruptContext, EnterContext, UpdateContext, CollisionContext, and ExitContext with only phase-required fields. Preserve synchronous transition ordering and rollback schedule.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: Architecture
FighterStateContext exposes 18 fields spanning motion, collision, input, attacks, animation, assets, and configuration (src/fighter/state/mod.rs:95-114). It is rebuilt for interrupt, update, and collision passes at lines 236, 283, and 352, while every phase declares broad mutable ECS access.
Fix: introduce InterruptContext, EnterContext, UpdateContext, CollisionContext, and ExitContext with only phase-required fields. Preserve synchronous transition ordering and rollback schedule.