Transmission #044: Gameplay stat hooks for distance, harvest, kills, jumps, spells (Step 11)

PlayerStatTrackerGameplayHooks centralizes Step 11 wiring: XZ horizontal distance, tree vs rock completion (name heuristic on HarvestableTree), kills on player last hit, grounded jumps, and spell casts on initial mana commit. CharacterStats.TakeDamage now accepts an optional attacker; on lethal damage, if the attacker is the player and the victim is not, we increment kills. PlayerCombat passes _myStats into harvestable damage and calls the harvest hook when a node dies; MagikFireballProjectile / MagikBurnEffect do the same for burn kills. RuneSpellCasting counts a spell after a successful TrySpendMana for the ball (channel drain on the fireball path stays uncounted). PlayerInputReader exposes Jump / JumpPressed; PlayerController accumulates horizontal distance and counts one jump per leave-ground when grounded (not coyote). WASDPlayerMovement records XZ distance on desktop when no mobile input provider is present. Edit Mode tests cover kill credit and the rock name heuristic. The POC implementation plan marks Step 11 complete; next is Step 12 (content polish and a full manual pass).