blob: 63fa727bd1cc3a59d7362a359dbb789afd5c736e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#080b0d">
<title>Somhairle's Dream · 实时重建台</title>
<link rel="stylesheet" href="/styles.css">
<script type="importmap">
{
"imports": {
"three": "/vendor/three.module.js",
"three/addons/": "/vendor/addons/"
}
}
</script>
<script type="module" src="/vendor/three-setup.js?v=orbit1"></script>
</head>
<body>
<main class="shell" aria-labelledby="page-title">
<header class="masthead">
<div class="brand-lockup">
<span class="eyebrow">SOMHAIRLE'S DREAM / CONTROL SURFACE</span>
<h1 id="page-title">实时重建台</h1>
</div>
<div class="connection-readout" aria-live="polite">
<span class="signal-mark" aria-hidden="true"></span>
<span id="stream-state">实时链路 · 等待启动</span>
</div>
</header>
<section class="mission-strip" aria-label="当前任务">
<div>
<span class="eyebrow">PROJECT</span>
<strong id="project-id">probe-001</strong>
</div>
<div>
<span class="eyebrow">RUN</span>
<strong id="run-id">run-probe-real-2</strong>
</div>
<div class="mission-note">
<span class="eyebrow">MODE</span>
<strong>F# / LIVE GEOMETRY</strong>
</div>
</section>
<section class="workspace" aria-label="实时运行工作区">
<aside class="telemetry-panel panel">
<div class="panel-heading">
<span class="eyebrow">RUN TELEMETRY</span>
<div id="status-chip" class="status-chip status-idle" data-status="idle">
<span class="status-dot" aria-hidden="true"></span>
<span id="status-label">待机</span>
</div>
</div>
<p id="run-message" class="status-message">当前没有下一版正在开发</p>
<div id="model-library" class="model-library">
<p class="library-title">模型库 · 点击浏览</p>
<button type="button" class="model-card" data-project="probe-001" data-run="run-probe-real-2" data-base="probe-base-000" data-target="probe-target-007">
<span class="model-name">YJ-01 盘形探测器</span>
<span class="model-desc">无人星际探测器 · 光帆/RTG · 7 步构建</span>
</button>
<button type="button" class="model-card" data-project="ship-001" data-run="run-ship-001" data-base="ship-base-000" data-target="ship-target-007">
<span class="model-name">HNX-01 "Keel" 载人星舰</span>
<span class="model-desc">旋转 habitat 环 · 水屏蔽 · 聚变火炬 · 7 步构建</span>
</button>
</div>
<div class="version-block">
<div class="label-row">
<span>设计版本</span>
<strong id="version-readout">07 / 07</strong>
</div>
<div class="progress-track" aria-hidden="true">
<span id="progress-fill" class="progress-fill" style="width: 0%"></span>
</div>
</div>
<dl class="telemetry-list">
<div>
<dt>当前版本</dt>
<dd id="current-version">V00</dd>
</div>
<div>
<dt>目标版本</dt>
<dd id="target-version">V03</dd>
</div>
<div>
<dt>最后更新</dt>
<dd id="updated-at">等待心跳</dd>
</div>
</dl>
</aside>
<section id="viewport-panel" class="viewport-panel panel" aria-labelledby="viewport-title">
<div class="panel-heading viewport-heading">
<div>
<span class="eyebrow">GEOMETRY VIEWPORT</span>
<h2 id="viewport-title">结构重建视图</h2>
</div>
<span id="mesh-label" class="mesh-label">重建起点</span>
</div>
<div class="viewport-frame">
<canvas id="viewport-canvas" aria-label="设计几何三维视图"></canvas>
<div class="axis-readout" aria-hidden="true">X / Y / Z</div>
<div id="viewport-note" class="viewport-note">实时几何 · V00</div>
</div>
</section>
<aside class="event-panel panel" aria-labelledby="event-title">
<div class="panel-heading">
<div>
<span class="eyebrow">EVENT STREAM</span>
<h2 id="event-title">运行记录</h2>
</div>
<span class="event-count">LIVE</span>
</div>
<ol class="event-list">
<li class="event-item event-item-active">
<span class="event-index">01</span>
<div>
<strong>实时监视</strong>
<span>服务端心跳与版本状态</span>
</div>
</li>
<li class="event-item">
<span class="event-index">02</span>
<div>
<strong>目标检查</strong>
<span>等候下一次设计运行</span>
</div>
</li>
<li class="event-item">
<span class="event-index">03</span>
<div>
<strong>发布闸门</strong>
<span>验证通过后写入快照</span>
</div>
</li>
</ol>
</aside>
</section>
<section class="timeline panel" aria-labelledby="timeline-title">
<div class="timeline-header">
<div>
<span class="eyebrow">RECONSTRUCTION TIMELINE</span>
<h2 id="timeline-title">几何版本轨迹</h2>
</div>
<span id="replay-state" class="replay-state">占位示例 · 未选择历史</span>
</div>
<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>
</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>
</div>
<div class="timeline-step">
<span class="timeline-dot" aria-hidden="true"></span>
<span class="timeline-version">V03</span>
<span class="timeline-label">占位 · 舱段重构</span>
</div>
</div>
<div class="timeline-footer">
<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>
<footer class="footer-note">
<span>首页构建重演:预发布历史透视探针(非飞行设计 · 盘式天线 / RTG / 科学吊臂 简化几何)</span>
<span>heritage 参考线保留占位演示 · F# / OPEN CODE</span>
</footer>
</main>
<script type="module" src="/App.js?v=model1"></script>
</body>
</html>
|