s1/index.html 与 s1/changelog.html 统一切换到 MiSans,场景正文、数字信息与日志页字形口径保持一致。s1/index.html 切换到 Noto Sans SC + JetBrains Mono 组合,统一场景标题、参数与数值字形。shared/ui/hud.js 新增惰性 DOM 缓存与去重写入助手,收口 updateCostPanel()、updateSocWidget()、projLabel() 的高频查询。s1/js/app.js 的 HUD 更新路径改为复用共享缓存助手,减少动画循环中的 getElementById 与重复 textContent/style/title 写入。flDev/flRack/flCrac 改为缓存节点并按需更新定位与文案,保持原有表现不变。shared/ui/hud.js 继续补上相机/锚点签名缓存,S1 标签在静止视角下可跳过重复投影计算,仅更新必要文案。forecastEngine,使用 forecast24h() 统一预测引擎,与其他场景预测逻辑一致。createForecastableEngine() 适配器,将 S1 的 6 节点热网络模型包装为共享引擎接口。forecastDay() 作为 fallback,确保共享引擎异常时可降级。contracts/scenarios/s1-air-cooled-pcm.json)。shared/contractLoader.js(fetch + 缓存 + schema 验证)。shared/contractMapper.js(energyModel/processModel/uiModel → G 对象)。syncDefaultPhysFromContract)。s1/src/core/engine.ts 改为 orchestrator,新增 types.ts、processModel.ts、thermalModel.ts、energyModel.ts 明确分层。process 状态快照,明确基础系统、策略系统、当前活跃路径与辅机状态。s1/index.html 设备状态面板新增过程视图,24h 节省提示补充移峰冷量、充冷耗电与减排信息。shared/savings.ts 统一收益核算层,固化“基线系统 vs PCM 策略系统”成本对比口径。s1/src/core/engine.ts 接入共享收益累计器,统一输出实时/累计成本、节省金额、转移冷量、充冷耗电与等效减排。s1/js/app.js 同步 forecast 扩展指标,24h 节省标签悬停可查看预计节省金额、转移冷量与充冷耗电。s1/index.html 演示设置页收敛为热负荷与峰谷电价三项可见核心输入,环境边界与碳排参数折叠到建模/专家层。s1/index.html 物理参数页改为“演示核心参数 / 系统建模 / 专家参数”三级结构,降低首次演示时的参数压迫感。s1/js/sidebar.js 为围护传热、围护参与系数与电网排放因子补齐即时持久化绑定,确保折叠区参数也能实时生效。s1/index.html 移除预设方案下拉、另存为与删除入口,S1 当前回到手动配置模式。s1/js/sidebar.js 去掉内置/自定义预设交互,保留默认参数与 normalizePhysShape() 兼容层,衔接后续方案 JSON 导入。s1/index.html / s1/js/sidebar.js 新增 Scenario JSON v1 导入导出入口,并在 UI 中明确当前只支持固定骨架 s1-air-cooled-pcm-v1。docs/architecture/s1-scenario-json-v1.md 定义 S1 场景参数包 schema,冻结 “固定 topology + 可变 scenario” 的 v1 边界。s1/js/app.js / s1/js/sidebar.js 让 24h forecast 在参数变更后即时重算,不再沿用旧的预计节省比例。s1/index.html / shared/ui.js 将 topbar 的 24h 预计改为 ¥金额/+比例% 斜杠同行展示,便于和实时省对照阅读。s1/index.html 统一 topbar 中金额与百分比数字字体,让实时省与 24h 预计的视觉节奏保持一致。s1/index.html 细调 topbar 的单位间距与斜杠分隔样式,让金额、比例、单位的视觉呼吸感更稳定。shared/ui.js 通用UI层(16个函数),S1-S6 合计减少 1200+ 行重复代码shared/devices.js 通用设备组件库,S2-S6 设备迁移完整历史日志 · s1/changelog.html