The framework owns traversal and timing. A game supplies target lookup and damage application,
so this stays useful for hit points, shields, status effects and any other combat model. The
default shape is a straight line captured at construction time; fronts opts into a per-turn
front resolver, which is what expresses a cone, a burst, a fork or a moving front without any
of those rules living here. Blockers and targets are checked when each cell is reached, so
advance is deterministic when those callbacks are.
Advances a beam one front per turn.
The framework owns traversal and timing. A game supplies target lookup and damage application, so this stays useful for hit points, shields, status effects and any other combat model. The default shape is a straight line captured at construction time;
frontsopts into a per-turn front resolver, which is what expresses a cone, a burst, a fork or a moving front without any of those rules living here. Blockers and targets are checked when each cell is reached, soadvanceis deterministic when those callbacks are.Example