d3b5a4a569
The pet bar, menu, stats and book getters read frame-final copies. A reaction or Stay/Follow press raised PET_BAR_UPDATE from the VM's copy, even when the press was refused. Now the pet's getters read live through the call host: PetHasActionBar (`0x4bdc20`), GetPetActionsUsable (`0x4bcf70`), GetPetActionInfo (`0x4bdc50`), HasPetUI (`0x4be670`), PetCanBeAbandoned/Renamed (`0x4be500`/`0x4be580`), HasPetSpells (`0x4b4410`) and the rest. A press writes the state word and signals inside the call, after the gate (`0x4bd1f2`) and before the send (`0x4bd444`). A stunned pet's press stays silent. The pet-teach "already known" line and CreateMacro/EditMacro read the pet's book live. `GameTooltip:SetPetAction(0)` answers nil (`0x532812`). The bar, menu and book feeds are gone. Tests in `lanes/pet_live_tests.rs` fail on main. READS_FRAME_FINAL 63 → 60. Part of #2217 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>