summaryrefslogtreecommitdiff
path: root/public/index.html
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-21 07:02:13 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-21 07:02:13 +0800
commite8eebe49407de8947bf509d5cf04d9080ee4edf7 (patch)
treecd7d5b1b2cb2efca2e19786041e49aa4b5e5b72e /public/index.html
parent13479cd194cd992c67805093e59f8b1dd1b5f3a2 (diff)
downloadsomhairles-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.html17
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>