s6/index.html 与 s6/changelog.html 统一切换到 MiSans,结果卡、时间轴与日志页的中文和数字字体进一步收口。s6/js/sidebar.js 收缩为固定布局归一化入口,移除旧预设、localStorage、重载签名与空右侧栏逻辑。s6/js/app.js 清理无效 HUD 缓存、旧模式/倍速/演示按钮接线、透明度档位残留与契约启动日志,仅保留当前页面实际使用的 24h 卡片与时间轴更新。s6/js/scene.js 删除未再使用的 OPA、opaI、左右侧栏开关状态字段。s6/index.html 移除废弃 .sb-* 侧栏样式和不再使用的共享脚本引用,并刷新 S6 资源版本号。s6/js/device.js 清理空泵/分集水器占位、未使用布局常量、未消费的管路缓存和多余参数,设备壳层进一步收口。s6/js/app.js 与 s6/index.html 同步移除不存在的泵标签、泵 IR 分支和旧单对象回退别名,统一改为当前数组化 PCM 设备写法。s6/src/core/engine.ts 将默认 PCM 质量从 2400kg 收口到 2000kg,并新增按质量联动的双罐尺寸 / 等效换热面积计算,默认几何同步为 2 × 1000kg 方案。s6/js/app.js 将 ROI 卡从固定 11 万元 改为按 PCM 质量联动的增量投资估算;s6/index.html、s6/js/scene.js、s6/js/sidebar.js 与契约同步改成 2000kg 默认值。docs/architecture/s6-pcm-mass-screening.md,并更新 docs/architecture/s6-5mwh-container-pcm-sizing.md、docs/architecture/s6-incremental-roi-assumptions.md、docs/architecture/s6-5mwh-container-spec-basis.md,把 400kg / 800kg / ... / 2400kg 的筛选结论收口到当前推荐值。s6/index.html 将 S6 资源版本号更新到 20260319z;根 index.html 同步把 S6 卡片标签收口为 2×1000kg PCM / ROI联动收口。s6/index.html 统一三张结果卡的卡面玻璃透明度与主体底色,不再让主卡和辅卡出现明显不同的面板厚重感。s6/index.html 保留顶部装饰条的差异化表达:第一张偏钢蓝、第二张偏主色青蓝、第三张偏青灰,信息主次更清楚但整体更统一。s6/index.html 将 S6 资源版本号更新到 20260319y;根 index.html 同步把 S6 卡片标签收口为 卡片配色优化 / 玻璃感统一。s6/index.html 将“场景说明”弹窗标题同步收口为 Sungrow PowerTitan 2.0 PCM 改造方案,与 topbar 主标题保持同一命名体系。s6/index.html 将 S6 资源版本号更新到 20260319x;根 index.html 同步把 S6 卡片标签收口为 标题统一。s6/index.html 将 topbar 主标题从长句式技术描述收口为更适合客户浏览的方案名:Sungrow PowerTitan 2.0 PCM 改造方案演示。s6/index.html 将 S6 资源版本号更新到 20260319w;根 index.html 同步把 S6 卡片标签收口为 标题收口。s6/index.html 删除 topbar 里原先单独的模式文字,只保留带图标、时间和阶段的那一组实时状态。s6/index.html 将 S6 资源版本号更新到 20260319v;根 index.html 同步把 S6 卡片标签收口为 顶部去重。s6/index.html 将 24h 的时间与当前状态从底栏上移到 topbar,避免与顶部信息重复。s6/index.html 底部只保留进度滚动条、刻度与循环按钮,并移除标题栏里的倍速调节按钮,整体高度更低。s6/index.html 将 S6 资源版本号更新到 20260319u;根 index.html 同步把 S6 卡片标签收口为 底栏收简 / 时间状态上移。s6/index.html 将左侧结果卡宽度从固定值改成随浏览器宽度收缩的自适应宽度,默认比上一版更窄。s6/index.html 为手机视口单独压缩结果卡宽度、按钮尺寸和卡面字级,避免左侧卡片遮挡过多画面。s6/index.html 将 S6 资源版本号更新到 20260319t;根 index.html 同步把 S6 卡片标签收口为 结果卡收窄 / 移动端自适应。s6/index.html 将“场景说明”弹窗宽度从偏展示板式收紧为更窄的阅读窗,减少横向铺开感。s6/index.html 同步微调弹窗内边距,让收窄后的版心仍保持舒展,不显得拥挤。s6/index.html 将 S6 资源版本号更新到 20260319s;根 index.html 同步把 S6 卡片标签收口为 弹窗宽度收紧。s6/index.html 删除右侧说明栏与其展开按钮,S6 页面只保留顶部入口、左侧结果卡、底部时序条与“场景说明”弹窗。s6/index.html 将弹窗里的 PowerTitan 风格 改成更明确的 Sungrow PowerTitan 2.0 口径,并顺手收紧几处不够自然的表述。s6/index.html 将 S6 资源版本号更新到 20260319r;根 index.html 同步把 S6 卡片标签收口为 右侧栏移除 / 说明弹窗收口。s6/index.html 将右侧工程说明板改写为更短的售前表达,统一突出“液冷直供 vs 液冷 + PCM 旁路”的 24h 对照口径。s6/index.html 精简“场景说明”弹窗,删去解释页面结构的句子,改为对象规格、工艺节奏与指标口径三类关键信息。s6/index.html 将 S6 资源版本号更新到 20260319q;根 index.html 同步把 S6 卡片标签收口为 售前文案收口 / 场景说明精简。s6/js/device.js 为箱内热管理设备舱补了顶盖、服务门色带、侧向通风框和设备铭牌,让设备舱从“白盒子”变成更完整的工业设备外观。s6/js/device.js 为箱体穿墙口和 PCM 外侧青色支路补了壁装卡箍、落地管托和穿墙面板,强化可见管件的支撑感与工业质感。s6/js/device.js 按上/下两层重新分开青色 PCM 支路:上支路抬高后再去罐体,下支路先下沉后再平移,避免两根管在箱体外侧并线重叠。s6/js/device.js 保持所有控制点只做单轴变化,延续正交走管,同时把外侧两根青色管拉成更接近你标注草图的层级关系。s6/js/app.js 将热管理舱风扇动画改为沿 X 轴旋转,不再像圆盘绕错误轴线转动并穿出壳体。s6/js/device.js 重新整理青色支路在箱体侧的关键控制点,所有转折改成单轴变化,去掉接口前的斜入段。s6/js/device.js 将热管理舱侧两个青色接口改成同一低位的水平排布,不再一高一低地贴在箱体侧面。s6/js/device.js 去掉 PCM 双罐外侧容易产生悬浮感的液位计护栏与模块小铭牌,只保留更稳定的主体构件与主接口。s6/js/device.js 将热管理舱的 PCM 两个水平开口进一步下移并前移,避开侧面风扇区,不再让青色管直接“怼”在风扇面上。s6/js/device.js 保持箱体侧开口为水平出管,但把连接位置收口到设备舱偏下区域,更符合工程直觉里的侧向接管做法。s6/js/device.js 下移热管理舱的 PCM 支路穿墙口,让两根青色管从更低、更集中的位置出箱,避免接口落在侧面风扇附近。s6/js/device.js 把青色支路的竖向转折提前到穿墙口附近,罐侧只保留接近水平的短接,减少“快到接口才拐弯”的违和感。s6/js/device.js 重新清理 PCM 外侧的零散短节与小法兰,双罐本体不再额外挂出每只罐的可见支管,只保留模块级两处主接口。s6/js/device.js 将热管理舱到 PCM 的青色支路改成更直接的穿墙正交走线,并把原来飘在墙边的球形接头改成真正的穿墙套管。s6/js/device.js 重新按储能箱常见分区重构 S6:电池区留在箱体左侧,右侧改成箱内热管理设备舱,箱外只保留 PCM撬装模块。s6/js/device.js 取消外置冷机/泵/分集水器表达,重铺为“箱内供回液主干 + 箱外 PCM 最小旁路”,把外部可见管路压缩到仅服务 PCM 的两条支路。s6/js/app.js、s6/js/particles.js 与 s6/index.html 同步把外部冷机标签切成箱内 热管理设备舱,并把排热粒子改为从右侧散热网罩排出。s6/js/device.js 将 S6 切到临时“管路清空检查态”:停用外部主回路与 PCM 支路,不再生成分集水器、循环泵和整套外接管配件,方便先确认场景里是否还有残余的管道表达。s6/js/device.js 同步把风冷机组柜体和门板改成半透明检查态,并把液冷板、PCM 双罐上的可见外接短节/法兰先收掉,只保留主体设备轮廓。s6/js/device.js 重新从工艺上收口分集水器外侧接口:供液、回液、PCM 支路的外部接口都统一布到右侧检修端,不再让 PCM 回路从左侧“兜一大圈”返回,减少青色支路的冗余观感。s6/js/device.js 给分集水器补了实际可见的外接短节/法兰,并让拓扑端口挂在这些短节上,修复“接口没真正接到设备上”的断点感。s6/js/scene.js 将前方地面那根突兀的长灰条改成更薄、更靠近地坪的浅色检修缝,不再像独立悬浮横条。s6/js/device.js 重新分离风冷机组供液、回液和 PCM 支路的外侧走廊:增大机组外侧转弯余量,拆开不同管线的 X/Z 走廊,减少右侧机组附近的打架与斜向过渡。s6/js/scene.js 重新约束前侧百叶格栅的宽度、中心点和前后位置,修复其超出箱体左边界、看起来像悬空外挂件的问题。s6/js/scene.js 同步收回前后底部滑撬的位置和尺寸,减弱前视角下那根灰色横条的“异物感”。s6/index.html 为左侧 ROI 翻面卡补了数值/单位混排样式:数字继续使用 JetBrains Mono,万 / 年 等中文单位单独回到 UI 字体,解决此前单位字形不对的问题。s6/js/app.js 为 ROI 卡的动态写值改成“数字 + 单位”分离渲染,避免运行态刷新后又把中文单位重新写回等宽数字字体。s6/index.html 将 ROI 翻面卡的 单箱增量投资 / 年增量运维 / 年节省电费 / 年净收益 / 静态回收期 / 年化ROI 收口为更短的 增量投资 / 增量运维 / 节省电费 / 净收益 / 回收期 / ROI。s6/index.html 调整左侧结果卡最小高度、内边距、gap、说明行与副行的自动贴底方式,修复每张卡片最后一行被挤出卡面的问题。s6/index.html 为 S6 引入 Noto Sans SC + JetBrains Mono 组合,统一中文界面与数值字重,去掉原来偏系统默认的字体观感。s6/index.html 提高了 topbar、右侧说明栏、结果卡、浮动标签和底部时序条的面板不透明度与文字对比度,让当前浅色界面在白天背景下更容易读。s6/js/scene.js 重新校正集装箱侧边长方形格栅模块,修复侧边格栅框和百叶偏离中线的问题;s6/index.html 同步把左侧结果卡做得更紧凑,并让卡片顶部色带与面板本体一体化。s6/index.html 把三张结果卡从底部迁到左侧停靠区,结构更贴近 S4,底部只保留 24h时序条 + ↺循环按钮,整体信息层级更简洁。s6/js/app.js 新增结果卡收起状态控制,左侧工具区现在固定为两个按钮:一个用于收起/展开结果卡,一个用于切换 24h结论 / 投资回报 双面视图。index.html 与 docs/changelogs/20260318-2341.md 同步记录 S6 这次“左侧结果卡 + 底部时序条”收口。s6/index.html 底部三张结果卡改成双面翻转结构,默认展示 24h原日费用 / 24h节省金额 / 24h移冷量,点击右侧新按钮后翻到投资回报面,不再新增第四张卡。s6/js/app.js 补齐 S6 ROI 写入逻辑,按 11万元/箱 增量投资、0.2万元/年 增量运维、330天/年 运行天数,把年节省电费、年净收益、静态回收期和年化 ROI 直接映射到底部翻面数据。index.html 与 docs/changelogs/20260318-2328.md 同步记录这次“只加切换、不加卡片”的 ROI 结果展示收口。s6/index.html 右侧参数区改成“依据说明”面板,不再提供手调输入框和应用/重置按钮,S6 默认参数正式收口为固定展示口径。s6/js/sidebar.js 停用 S6 参数持久化与手调逻辑,进入页面时会清理旧的 s6_phys_v2 本地缓存,避免旧参数继续覆盖当前默认值。s6/src/core/engine.ts 按用户补充的 5MWh 液冷系统资料重标高温能耗骨架:电芯发热系数调整到 0.019,附加热负荷收口为 7kW,机组峰值输入上限改为 28kW,最小稳定部分负荷改为 6.5kW。35°C 演示日下,S6 基线高负荷窗口输入功率收口到约 20-22kW,更贴近用户补充资料给出的高温区间。s6/index.html、s6/js/scene.js、s6/js/sidebar.js、contracts/scenarios/s6-battery-thermal-management.json 与相关架构文档同步更新到新的高温能耗参数口径。s6/index.html 删除左侧侧栏及其展开按钮,S6 画面正式收敛为“场景标签 + 底部结论卡 + 右侧说明栏”的三层信息结构。s6/js/sidebar.js 去掉左侧栏 toggle 初始化,s6/index.html 同步清理对应样式和 UI 隐藏逻辑,避免保留无效 DOM 与控制代码。s6/index.html、s6/js/app.js 与 s6/js/device.js 将用户可见的 PCM skid 统一改为 PCM撬装模块,更符合当前中文工程表达。docs/architecture/s6-5mwh-container-spec-basis.md、docs/architecture/s6-5mwh-container-pcm-sizing.md 与 docs/architecture/s6-baseline-vs-pcm-process.md 同步收口到同一术语。s6/index.html 左侧原四组实时数据卡收口为“设备标签 + 观看建议”,不再与场景内标签和底部结论卡重复报数。s6/js/app.js 将原左侧关键实时信息并入浮动标签:电池列附带分摊热负荷,风冷机组补充供液温度,循环泵补充流量与供回液温差。s6/index.html 将 24h 时序条并入底部结果卡容器顶部,取消独立悬浮窗口,避免与下方卡片上下叠压后显得割裂。s6/index.html 把时序条收成“24h时序 + 当前时刻/工艺”的轻量头部,保留阶段色带与时钟,但不再额外占用一层玻璃面板。s6/src/core/engine.ts 新增 PCM 质量反算 helper,默认 2400kg 改为按 18kW × 4h × 0.6利用率 × 1.1裕量 反算并收口。docs/architecture/s6-5mwh-container-pcm-sizing.md 与 docs/architecture/s6-5mwh-container-spec-basis.md 补齐 PCM 反算依据,明确理论库存与 24h 实际移冷量不是同一口径。s6/js/scene.js 调整集装箱顶部格栅 / 检修盖与前缘饰条的水平居中,消除顶部长方形模组偏移感。s6/js/scene.js、s6/js/device.js、s6/index.html 与契约把 S6 的演示对象从旧的 372.7kWh 单柜 切换为 5.015MWh 20尺液冷储能集装箱,箱体尺寸、内部电池列布局、外置液冷机组与 PCM撬装模块全部按集装箱级语汇重做。s6/src/core/engine.ts 将旧的单柜等效发热模型升级为 5MWh 集装箱热负荷等效模型:按 `2.5MW` 功率口径、分时热负荷系数、峰时 COP 衰减与 PCM 参与后的策略 COP 改善,重算基线与 PCM 方案的 24h 节费。docs/architecture/s6-5mwh-container-spec-basis.md 与 docs/architecture/s6-5mwh-container-pcm-sizing.md,记录 PowerTitan 风格 `5.015MWh / 2.5MW` 规格依据、`2400kg` PCM 双罐撬装模块与 `42m²` 等效换热面积的选型口径。docs/architecture/s6-baseline-vs-pcm-process.md、docs/architecture/s6-24h-savings-model.md 与 docs/architecture/s6-single-chiller-pcm-bypass-flowsheet.md 全部改写到当前集装箱方案,并把 PCM 初态统一收口为 21°C / 50%。s6/src/core/engine.ts、s6/js/app.js、s6/js/scene.js、s6/js/sidebar.js 与契约默认值把风冷机组重标为 8kW 制冷量 / 5.2kW 峰值辅电 / 1.3kW 最小稳定部分负荷,并为单柜补充 0.5kW 柜内附加热负荷,使 S6 的 24h 节费不再低到只有象征性数值。s6/js/device.js 将原先偏“冷却塔”语汇的风冷机组改成一体式箱式风冷冷水机组:去掉填料塔/接水盘观感,改为双侧冷凝百叶、顶部轴流风机与前部检修门,并同步更新端口标签与排热粒子文案。s6/src/core/engine.ts、s6/js/app.js、s6/index.html 与 contracts/scenarios/s6-battery-thermal-management.json 将 S6 收口为 冷机唯一冷源 + PCM 支路蓄释冷:谷电时由冷机出冷后分流蓄冷,峰时由热回液先经 PCM 预冷,再进入冷机处理剩余负荷。docs/architecture/s6-single-chiller-pcm-bypass-flowsheet.md,用设备位号和文字 flowsheet 固化 S6 的单冷源支路工艺,并同步更新 docs/architecture/s6-baseline-vs-pcm-process.md 与 docs/architecture/s6-24h-savings-model.md。contracts/scenarios/s6-battery-thermal-management.json、s6/js/scene.js 与 s6/src/core/engine.ts 统一把 PCM 半满初态收口为 30°C / 50%,修复此前 28°C + 50% 与相变带映射自相矛盾的问题。shared/core/types.ts、shared/core/costModel.ts、shared/core/sceneFactory.ts 与 s6/js/app.js 为 forecast 补充真实积分得到的 baselineElecKWh,S6 底部 24h原日电耗 不再使用小时快照近似求和。s6/js/scene.js 将前门内衬面板纳入统一透明度控制,避免外门半透明但门板内衬仍保持不透明,导致电池柜正面观感不一致。s6/js/device.js 统一电池柜机柜外壳为半透明材质,避免门板/柜壳视觉上出现一部分透明、一部分不透明的割裂感。s6/index.html 与 s6/js/app.js 将“PCM减少金额”改名为 24h节省金额,金额统一保留 1 位小数,并把底部结果卡改为基于 23:00 标准起点的固定 24h 结论口径,不再随演示时钟滚动跳动。s6/index.html 与 s6/js/app.js 将底部结果区压缩为 24h原日费用/原日电耗、PCM减少金额/减少比例、24h移冷量 三张核心卡片,去掉方案日电费与峰时减载率卡片,让投资口径更直接。shared/ui/bridge.js 修复统一 reset 桥接,兼容 engine.reset() 返回 void 的场景,避免 S6 默认自动进入 24h 循环时因为 state 为空而崩溃。s6/js/device.js 去掉当前 Three.js 版本不支持的 MeshPhysicalMaterial.thickness 字段,清理冷板流量计、PCM 视窗和 PCM 液体材质的控制台告警。s6/js/app.js 改为默认自动进入 24h 循环,昼夜变化和时间轴持续运行,不再提供“开始/停止演示”入口,只保留“从头循环”按钮。s6/index.html 删除右侧栏里的“演示控制”板块,不再保留模式切换按钮;底部结果卡尾部改为 S4 风格的 ↺ 重启循环按钮。s6/index.html 与 s6/js/app.js 统一把主要百分比展示收口为 1 位小数,例如节费率、峰时减载率和 PCM 进度不再混用整数与小数。24h基线电费 / 24h方案电费,说明弹窗和右侧文案同步一致。s6/index.html 顶部栏继续压成 S4 式单行:当前工艺直接挂在 S6 后面,删除顶部里的 24h 节费与 PCM 库存重复信息,避免与底部结果卡、左侧运行栏重复。s6/index.html 顶部栏已完全回到单行导航语义,只保留场景标题与当前工艺,经济性指标和库存指标全部让位给底部结果卡与左侧运行栏。s6/src/core/engine.ts 修复默认演示参数下 24h 节费为负的问题:charge 不再整段满功率充冷,而是先覆盖当前负荷、再按剩余 PCM 库存缺口匀速蓄冷;discharge 直接退出压缩机;hybrid 改为 PCM 先供基础冷量、冷机只补足缺口。discharge 与 hybrid 阶段的 PCM 供冷,避免页面说“策略补冷仍在用 PCM”,而指标却只算纯释冷阶段。s6/src/core/engine.test.ts 增加默认 forecast 节费必须为正的回归断言,锁住这次负节费问题。s6/index.html 页面骨架改为“传统液冷直供 vs 液冷+PCM移峰蓄冷”双工艺对照,顶部直接展示基线/方案/实时节费/24h节费/PCM库存,底部改为日电费、峰时减载率与 24h 移冷量卡片。s6/js/scene.js、s6/src/core/engine.ts 与共享类型把 natural 统一收口为“液冷直供”,把 hybrid 收口为“策略补冷”,同时修正 forecast 标签与诊断文案,避免旧的“自然冷却/辅助冷却”语义继续误导表达。docs/architecture/s6-baseline-vs-pcm-process.md,专门记录 S6 当前基线方案、PCM 方案、24h 节费口径、峰时减载率与移冷量的解释边界。s6/js/app.js 将顶部 24h省 改为滚动 24 小时 forecast 结果,去掉旧的模式系数近似,按当前柜体状态、当前小时和峰谷电价直接预测节省率与节省金额。s6/js/app.js 与 s6/src/core/engine.ts 同步把循环泵 0.12kW 计入策略侧和传统直冷对照侧,避免节省率被系统性高估。demo24hState.hour 回写到 simHour,使 TS 内核的 energy24 / forecast() 与时间轴显示使用同一套峰谷电价时钟。docs/architecture/s6-24h-savings-model.md,记录对照系统定义、泵耗处理、滚动 24h 预测口径和 HUD 展示边界。shared/ir.js 新增 irCollectMeshes() 与 irStaticWorldPos(),为 IR 渲染提供共享缓存助手。s6/js/app.js 的电池柜、PCM 模块、冷机和泵体 IR 路径改为缓存 mesh 列表,去掉重复 traverse()。s6/js/scene.js 新增 loadS6Contract() 入口s6/js/app.js 启动流程改为异步契约驱动s6/js/sidebar.js 新增 syncDefaultPhysFromContract()s6/index.html 添加契约加载器脚本引用contracts/scenarios/s6-battery-thermal-management.json 储能电池热管理场景契约shared/ui.js 通用UI层shared/devices.js 通用设备组件库完整历史日志 · s6/changelog.html