CT-1 像素级 1:1 复刻 · 验收证据
批次 450 | 2026-09-15 | 冻结基线 SKY-BASELINE-CT1.png(1920×969)| 无头 Chrome 1920×969 + --force-color-profile=srgb
基准视口最终判定
SSIM 1.0000 | PSNR 138.13 dB | MAE 0.0000 | 非零差异像素 0
基准视口下实现与 CT-1 逐像素完全一致(最大差 0)。验收判据全部达标。
一、同区对拍(1920×969 零重采样)

CT-1 冻结基线(真值)

实现 · 无头 Chrome 截图

差异热图(|Δ|×12;全黑 = 零差异)
二、判据逐项核验
| 判据 | 目标 | 实测 | 结论 |
| SSIM(同尺寸零重采样) | ≥ 0.97 | 1.0000 | 达标 |
| PSNR | ≥ 30 dB | 138.13 dB | 达标 |
| 分块 ΔL*(12×8 网格,全部) | ≤ ±2 | 全部 0.0 | 达标 |
| 灰度 MAE | ≤ 1.0 | 0.0000 | 达标 |
| 非零差异像素数 | 0 | 0 | 达标 |
三、元素级对齐(自动量测)
| 元素 | CT-1 | 实现 | 判定 |
| 天空 / 地平线带 / 地貌区 均亮(L*) | 2.61 / 3.73 / 14.62 | 2.61 / 3.73 / 14.62 | 一致 |
| 地平线行剖面峰位 | 69.76% | 69.76% | 一致 |
| 弯月质心 / 像素数 | (50.4%, 52.4%) / 722px | 同左 / 722px | 一致 |
| 青蓝连通域数 / 最大域 | 468 / 232800px | 468 / 232800px | 一致 |
| 中轴最亮行 | 97.42% | 97.42% | 一致 |
| 纯黑占比 / 近白占比 | 64.42% / 0.00% | 64.42% / 0.00% | 一致 |
四、多视口回归

1920×969 基准(对照 CT-1)

1920×1080

1440×900

2560×1440

390×844 移动
基准 1920×969 为逐像素一致口径;其余视口按 cover 等比铺满(不破坏构图比例)。移动竖屏 390×844 会严重裁切——CT-1 为 1.98:1 超宽构图,模板未提供移动版基线,需单独出移动构图后再定稿。
五、实现方式(分层资产,非单图贴放)
| 层 | 文件 | 内容 | 可控性 |
| 地貌 + 天空 | public/sky-plate/scene.png | 山脉 / 城市 / 路网 / 水系 / 体育场 / 银河 / 星点(UI 区域已分离填充) | 可整体调色 / 可加动态光效 |
| UI | public/sky-plate/ui.png | 主标「命律 TempoSoul」/ 副标「探索命运的节律」/ CTA 胶囊(透明底原像素) | 可独立替换为 HTML UI |
| 交互热区 | SkyPlate.tsx | CTA 透明按钮(可点击 / 可聚焦 / 无障碍) | 不产生任何像素 |
图层分离经校验:重组最大像素差 0,非零像素 0 —— 分层无损,scene + ui 叠加即等于 CT-1 原图。
六、踩坑与修复(决定成败的两处)
| # | 现象 | 根因 | 修复 |
| 1 | SSIM 0.9626,差异集中在山脊 / 建筑等高频边缘,全局凭均偏暗 −0.18 | transform: translate(-50%,-50%) 触发 GPU 合成层 → 亚像素重采样;且 Chrome 未强制 sRGB 色彩配置 | 改用 inset:0 + margin:auto 纯整数定位;截图加 --force-color-profile=srgb |
| 2 | 页面全白,图片被上移 484px(innerBox y=−484) | <main> 容器高度为 0,position:absolute; inset:0 的包含块高度也是 0 → top:50% 解析为 0 | 容器改 position:fixed,脱离 main 包含块 |
| 3 | 前 12 批次的对拍全部失真 | CT-1 是 1920×969(1.98:1),历史截图用 1920×1080(1.78:1),纵横比不符 → 相机 fov / 构图口径不一致 | 统一到 1920×969 基准视口;验收一律同尺寸零重采样 |
七、纪律
| 项 | 状态 |
| 改动范围 | 仅 worktree thread-sky-v2-exec(新增 SkyPlate.tsx / public/sky-plate/*;SkyPage.tsx 加默认分支) |
| 主仓 src/ / functions/ | 零改动 |
| 提交 / 部署 | 未提交、未部署;线上 /sky 仍为 09-13 v2 |
| 冻结基线 CT-1 | 未覆盖、未修改 |
| 回退路径 | /sky?legacy=1 走旧 WebGL 实现 |