diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-21 07:02:13 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-21 07:02:13 +0800 |
| commit | e8eebe49407de8947bf509d5cf04d9080ee4edf7 (patch) | |
| tree | cd7d5b1b2cb2efca2e19786041e49aa4b5e5b72e /public/index.html | |
| parent | 13479cd194cd992c67805093e59f8b1dd1b5f3a2 (diff) | |
| download | somhairles-dream-fsharp-e8eebe49407de8947bf509d5cf04d9080ee4edf7.tar.gz | |
Real historical replay: timeline pins load run's own checkpoint GLBs
- renderTimeline rebuilds #timeline-track after each snapshot and wires
click-to-pin on completed checkpoints (kept placeholder nodes otherwise)
- selection loads the pinned run's own steps/<n>-*.glb (generation/
ownership guards apply), pins survive live snapshots, 跟随最新 restores
live scope, replay pauses/scrubs through 已完成 versions
- placeholder fallback now clearly labeled (占位…) only before any run
- acceptance: historical_replay_regression (9 checks) pins mid-run,
asserts no auto-follow strays, late-older-response precedence, served
checkpoint sha256 vs CLI reference, and viewport geometry change
- fix: timeline-track id missing in index.html crashed renderTimeline
(null firstChild), leaving static placeholder nodes non-clickable
- driver: 71/71 checks, zero console/page errors
Diffstat (limited to 'public/index.html')
| -rw-r--r-- | public/index.html | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/public/index.html b/public/index.html index 2acf08e..71e9e62 100644 --- a/public/index.html +++ b/public/index.html @@ -162,29 +162,32 @@ <span class="eyebrow">RECONSTRUCTION TIMELINE</span> <h2 id="timeline-title">几何版本轨迹</h2> </div> - <span id="replay-state" class="replay-state">可回放 · 三个确定性快照</span> + <span id="replay-state" class="replay-state">占位示例 · 未选择历史</span> </div> - <div class="timeline-track" aria-label="几何版本"> + <div class="timeline-track" id="timeline-track" aria-label="几何版本"> <span class="timeline-line" aria-hidden="true"></span> <div class="timeline-step timeline-step-complete"> <span class="timeline-dot" aria-hidden="true"></span> <span class="timeline-version">V01</span> - <span class="timeline-label">重建起点</span> + <span class="timeline-label">占位 · 重建起点</span> </div> <div class="timeline-step timeline-step-complete"> <span class="timeline-dot" aria-hidden="true"></span> <span class="timeline-version">V02</span> - <span class="timeline-label">主承力骨架</span> + <span class="timeline-label">占位 · 主承力骨架</span> </div> <div class="timeline-step"> <span class="timeline-dot" aria-hidden="true"></span> <span class="timeline-version">V03</span> - <span class="timeline-label">舱段重构</span> + <span class="timeline-label">占位 · 舱段重构</span> </div> </div> <div class="timeline-footer"> - <span id="timeline-current">V01 · 重建起点</span> - <button id="replay-button" class="replay-button" type="button">重建演示</button> + <span id="timeline-current">V01 · 占位 · 重建起点</span> + <div class="timeline-actions"> + <button id="follow-button" class="replay-button replay-button-ghost" type="button" disabled>跟随最新</button> + <button id="replay-button" class="replay-button" type="button">占位演示</button> + </div> </div> </section> |
