What problem does it solve?
Use when adding or modifying static abilities, continuous effects, or layer system modifications — type-changing effects, power/toughness modification, keyword granting, color changes, CDAs, or any "as long as" / "enchanted creature" / "creatures you control" ability.
Core Features & Use Cases
- Static abilities produce continuous effects that modify game objects through the layer system (MTG Rule 613).
- Trace how Changeling's AddAllCreatureTypes works from parser to layers. It's the reference for type-changing effects: synthesize_changeling_cda() in synthesis.rs → StaticDefinition with ContinuousModification::AddAllCreatureTypes → gather_active_continuous_effects() → apply_continuous_effect() in layers.rs.
- The engine models static definitions as Continuous modifications applied in a defined layer order, driven by StaticDefinition, Conditional activity, and Target filtering, enabling complex card effects like type changes, color changes, and keyword grants to be implemented and tested.
Quick Start
Create a new StaticDefinition with mode Continuous and a set of ContinuousModification entries to implement a new static effect, then ensure it is evaluated by evaluate_layers() to apply the changes to the active game state.