Split FighterStateContext into lifecycle-specific contexts #18

Closed
opened 2026-09-15 16:42:57 +00:00 by EIREXE · 0 comments
Owner

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.

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.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: EIREXE/shinespark#18