--- description: Standards for gameplay logic, AI, and Effect processing. globs: src/systems/*.js, src/managers/*.js** alwaysApply: false --- # **Logic Systems Standards** ## **Effect Processor** - **The Rulebook:** All game state mutations (Damage, Move, Spawn) **MUST** go through EffectProcessor.process(). - **Statelessness:** The processor should not hold state. It acts on the Unit and Grid passed to it. - **Schema:** Effects must adhere to the EffectDefinition interface (Type \+ Params). ## **AI Controller** - **Pattern:** Utility-Based Decision Making. - **Execution:** AI does not cheat. It must use the same Pathfinding and SkillManager checks as the player. - **Archetypes:** Logic must be driven by AIBehaviorProfile (e.g., Bruiser vs Kiter). ## **Unit Manager** - **Role:** Single Source of Truth for "Who is alive?". - **Queries:** Use getUnitsInRange() for spatial lookups. Do not iterate the Grid manually to find units.