feat(world3d): follow a player across worlds, live and in capture playback

Live: when the position feed reports the followed player only in another world,
load its scene, keep following and toast where they went. Capture playback: load
every zone's movement, switch the scene at the followed character's world change
(forward and when seeking back), follow a lone captured character from the start,
and mark world changes on the replay slider.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 03:06:20 -05:00
parent 12c5b34a5d
commit 9bbdc45f4f
3 changed files with 148 additions and 26 deletions

View File

@@ -87,7 +87,10 @@
<option value="1">1&times;</option><option value="10">10&times;</option><option value="60" selected>60&times;</option>
<option value="300">300&times;</option><option value="1800">1800&times;</option>
</select>
<input type="range" class="form-range flex-grow-1 w-auto" id="replayScrub" min="0" max="1" step="1" value="0" disabled aria-label="Replay time">
<div class="timeline-track flex-grow-1">
<div class="timeline-markers" id="replayMarkers" aria-label="World changes"></div>
<input type="range" class="form-range" id="replayScrub" min="0" max="1" step="1" value="0" disabled aria-label="Replay time">
</div>
<span id="replayTime" class="text-nowrap font-monospace"></span>
<select id="trailLength" class="form-select form-select-sm w-auto" data-pref="world3d.trail" title="Trail">
<option value="0">No trails</option><option value="60">1 minute trails</option><option value="300" selected>5 minute trails</option>