cdebda36fb
The loot-roll getters read a copy pushed once a frame, and START_LOOT_ROLL, CANCEL_LOOT_ROLL and the roll lines fired from that feed. A vote also deleted its roll, where the reference keeps it listed until the result. Reference: START fires at the start packet with the item cached, or at the item answer (`0x61b44d`, `0x61b7a7`). A vote sets only the closed byte after its CANCEL (`0x61bf2a`, `0x61bf32`). A win's line waits for the winner's name (`0x61b96a`). Time left is an unclamped 32-bit difference (`0x61b404`). Changed: the getters read live, the rolls get their own lane, and each signal fires at the handler whose lookup lands last. One Deviation: a refused record closes the roll, where 1.12.1 leaves a dead frame. Tests: a listener reads the live roll; START falls between neighbouring packets' events; a start and a win in one frame leave nothing listed. Part of #2168. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>