- Add path preview support to Spell with update and draw methods
- Refactor spell:cast to always return a Task
- Simplify spell.new constructor and apply distance constraint uniformly
- Replace walk spell with new Spell-based implementation supporting path
preview
- Remove debug print from target_test.lua
Replace manual distance check with combined targetQuery and
distance query intersection for cleaner spell targeting logic
Fix query combinators to correctly reference self in closures
Introduce SpellTargetQuery abstraction for flexible target filtering.
Replace fixed target types with query-based system supporting union,
intersection, and exclusion of target conditions. Update spells
accordingly.