Every cycle is recorded as a sparse timeline, an event feed, a boss-moment log and a heatmap. The cursor is a timestamp, not a vibe. The panel below reads the same five endpoints as the production ArenaReplayPanel.
The panel polls each endpoint every 10 seconds. If an endpoint returns empty, the corresponding block shows —. It never fills with placeholders.
/api/battle/replay-index.json
Snapshot count, event count, TG_SAFE flag.
/api/battle/replay-timeline.json
Sparse scrubber markers + last_ts.
/api/battle/replay-events-recent.json
Rolling window of recent events.
/api/battle/replay-bosses.json
Auto-tagged boss moments for highlight mode.
/api/battle/replay-heatmap.json
Event-density minimap.