Pattern
Observer
MobX reactions + typed event emitters.
Where: MobX autorun/reaction for continuous state;
pixi-reels' EventEmitter<ReelSetEvents> for discrete domain events.
The rule:
- Continuous state → MobX reaction.
- Discrete event ("reel landed") → event emitter.
Both are observer patterns; pick the primitive that fits the shape of the data. Reactions that fire every frame while reels spin are the wrong shape for "reel landed."