Initial commit: RHINE LAB · ANALYSIS OS:三维界面与动效实验(本仓库不含个人归档索引数据)

This commit is contained in:
WpyQwq
2026-09-19 13:04:56 +08:00
commit 3f422218a5
1098 changed files with 39410 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
# 验证记录
日期:2026-09-07。
## 工程检查
- TypeScript 严格模式检查通过。
- Vite 生产构建通过,生成 `dist/`。
- 12 份文本导出文件由同一份 `src/data.ts` 生成。
- 模型经 Blender MCP 建模、导出,并在 Blender Cycles 和实际应用中审阅。
- 运行界面没有 video 元素,也没有将参考 MP4 作为产品资源引用。
## 浏览器交互验证
在实际 Codex 内置 Chromium 浏览器中完成:
| 行为 | 结果 |
| --- | --- |
| 跳过启动进入阵列 | 通过 |
| 完整 35 秒启动自动进入详情 | 通过,最终进入 X-001,未发现运行错误 |
| Esc / 左方向键 / Enter | 通过,返回阵列后从 X-001 循环至 X-012 并读取 |
| 拖拽档案特写 | 通过,实际模型随拖拽旋转 |
| 下一份档案并读取 X-002 | 通过,编号、标题与内容一致 |
| 研究记录标签切换 | 通过 |
| 研究记录页收藏档案 | 通过,保留当前标签页和焦点 |
| 刷新后打开收藏 | 通过,X-001 / X-002 收藏仍在 |
| 取消测试收藏 | 通过,验收结束恢复为空 |
| 输入不存在的档案 | 通过,显示明确空结果和重置入口 |
| 输入 X-005 并读取结果 | 通过,进入生态观测档案 |
| 画质关闭和重新开启 | 通过 |
| 减少动效开关 | 通过,验收结束恢复完整动效 |
| 浏览器运行错误 | 已检查,未发现运行错误 |
最初的 Blob 导出没有收到内置浏览器的 download 事件,因此改为实际存在的静态文本链接。已验证链接编号及对应 UTF-8 文件;没有将缺失的浏览器下载事件报告为通过。
## 视觉复核
- 先在默认 1280×720 视口检查整体交互和渲染。
- 再按原片 1920×1080 检查认证和档案抽取关键帧。
- 校正过透视方向、阵列间距、抽取高度、标题字宽、标志字距、背景曲线对比度、曝光、景深与文案定位。
- 最终阵列采用 160 个物理实例。完整档案盒只在抽取特写使用全部细节,减少重复绘制。
## 限制
当前属于高保真重新建模与交互实现,未以图像差分认证逐像素一致;材质折射、景深与离线原片仍有可见差异。档案与身份权限为本地演示内容。界面优先为桌面横屏设计,窄屏按比例保留构图。
## 用户反馈后的修订复核
上一版的错峰升降不能表现原片的整体波纹,表面凸起的圆环与参考材质也有明显差距。本轮重新抽取原片 26–40 秒的 351 帧,并建立 `reference/review.html` 同步对照页。以下结果属于本轮修订,前面的表格是初版功能验证记录。
- 重写为连续传播的波包、反向回传、两段抽取及分段镜头运动。对照后又修正了回传阶段镜头过早转向的问题。
- Blender MCP 重建为磨砂盖板、内部光学腔、环槽、基板、边框与表面刻线。GLB 与 `.blend` 已重新导出,Cycles 审阅图已更新。
- 浏览器实际验证快速执行“下一份、下一份、上一份”,最终编号 X-002、抽取高度 4.05、轨道偏移 -0.72;过渡结束后 `returningFiles` 为 0,没有残留重复抽出模型。打开详情与拖拽旋转均可用。
- `node scripts/check-motion.mjs` 通过:第一波峰采样位置由第 16 行移动至第 27 行,反向波峰由第 27 行返回第 12 行;按 25fps 检查所有 160 个位置的连续性,最大相邻帧高度变化 0.615 世界单位。验证了两段抽取之间的停留,以及 30fps / 120fps 下临界阻尼结果的一致性。这些检查证明实现的连续性,并不证明与原片轨迹完全相同。
- TypeScript 严格检查与 Vite 生产构建通过。当前 GLB 使用 10 个材质组;重复阵列仍为 160 份。
- 对照页的原视频与实时场景可以切换到指定时间、逐帧前后移动并同步播放。对照视频不进入产品构建。
- 最终版本在新建浏览器预览中,从原片第 30 秒对应的时间启动,自动完成抽取并进入 X-001 详情;返回阵列可用,浏览器未记录运行错误。逐帧按钮实测由 27.48 秒前进到 27.52 秒,播放按钮可推进视频与实时场景。
仍可观察到:阵列的厚度光照、光学环局部高光、景深过渡与原片不同。密集背景采用近似面板材质,完整抽出档案采用物理透射;WebGL 屏幕空间透射不能递归还原所有透明层的折射。当前结果没有达到逐像素一致,保留同步对照入口供直接审阅。
## 第二次修订(2026-09-08)
用户进一步指出镜头、余波、卡距、字体、光照与白场过渡的差异,并明确要求优先重新检查摄像机。
- 撤回扩大通道间距和高度阶梯的补偿。通道中心距仍为 5.2、同高。改用未遮挡的卡片顶边和标签垂直边校准镜头;此前把可见片段当成完整高度的测量方式无效。
- 31.48 秒人工参考端点约为 (518,296)、(900,92);实时模型投影测得 (517,288)、(899,95)。这是两个局部特征点的对齐证据,不代表整幅画面或所有帧匹配。
- 新增左侧水平入场、快速抬高镜头、逐字出现的选档文字、回传后仍有延迟与衰减的邻片起伏。抽卡第一段 0.4 世界单位,第二段完成后总升高 3.35。
- 调整近景转向时间及构图锚点,补充保密等级扫描线。模型边框、材料层次、光照和景深一起重审,GLB、Blender 源文件、Cycles 预览均更新。
- MiSans 四个官方原版 WOFF2 已嵌入;设置页保留署名和许可。字体未转换或子集化。
- node scripts/check-motion.mjs 通过:正向/反向传播、25fps 连续性、第一段抽取停留、邻片在停留期继续运动、不同帧率下弹簧结果一致。
- 浏览器重新验证“下一份、下一份、上一份、读取”,详情正确显示 X-002,无浏览器错误。独立查看 27.16、31.48、33.48、39.00 秒并播放同步对照。
- TypeScript 与生产构建通过。仍存在 WebGL 透射、局部轮廓、柔光和景深差异;没有达到逐像素一致。
## 第三次修订:用户标注(2026-09-08)
- 通过 reference/match-annotations.py 匹配标注帧,定位 27.60 / 29.16 / 31.56 秒;据此调整厚度与前半段透视镜头。
- 实际运行的模型位置:31.56 秒为 [0,-1.9963,-2.17],33.48 秒为 [0,0.4728,-2.17],39 秒为 [0,0.9,-2.17]。这三帧横向和纵深坐标相同,摄像机位置不同;实现中已移除抽取的平面插值。
- 39 秒模型顶边投影约 [618,287]、[1478,226];镜头重新构图没有依赖档案前移。
- 移除背景随特写额外下沉,保留正常波场运动;按标注修正回波进入时机。
- Blender 源文件、GLB、Cycles 预览已更新。运动连续性检查通过,最大相邻帧波场位移约 0.633。TypeScript 与 Vite 构建通过。
- 对照页增加“标注① / ② / ③”三个快捷按钮。仍然存在材质散射和景深差异,没有声明逐像素一致。
## 第四次修订:交互预览和材质过渡(2026-09-08)
- 交互预览实测 extraction=0.4、cameraDetail=0,顶边投影 [517,288] / [899,95],对应用户截图的浅抬起构图。
- 确认读取后实测 extraction=3.35、cameraDetail=1;X-002 模型位置从 [0,-1.9963,-2.17] 升至 [0,0.9537,-2.17],镜头把卡片置于左侧,详情在右侧完整显示。横向与纵深坐标没有改变。
- 新增 src/appearance.ts:共用外壳几何,材质参数随升降插值,内部细节覆盖率和标签透明度渐变,归位副本使用独立材质。消除归位交接时阵列实例晚一帧恢复的空档。
- 浏览器验证连续“下一份、下一份、上一份”、点击读取、选择按钮获得焦点后按 Enter、升起途中返回。返回后停在浅抬起;运行错误日志为空。
- node scripts/check-appearance.mjs 通过:连续材质插值、归位材质相互独立、着色器渐变参数、归位与阵列表面一致。既有 check-motion.mjs 同时通过。
- 交互改动没有消除既有屏幕空间透射与原片材质之间的差异,仍不声明逐像素一致。
## 第五次修订:列选择、旋转净空与内容(2026-09-08)
- 第 760 帧五列峰值均为 2.121317;760–785 帧对应的波峰突出与镜头右移连续进行。相关逐帧窗口最大相邻帧波场变化为 0.5532。
- 交互最终采用 4.05 升高,较早先 3.35 略高;回退试调的 5.0。实测模型高度 3.70000005,稳定展示时对邻片顶部的净空约 0.3635,旋转到 0.8 弧度仍保留净空。
- 返回先转正再下降;0.8 弧度以 60fps 测试约 0.967 秒完成对齐。转正期间摄像机保持构图,随后跟随下降。切换时归位副本独立对齐,附近新卡片暂缓抬起。
- 浏览器实际用左右和上下键遍历了 40 个不同档案编号,五列各 8 个,无不可达记录;切列会恢复该列上次选择。
- 每份档案含摘要、三条研究记录和设定来源;导出脚本生成 40 份文本。修正了科属混淆,去除未核实的具体归档日期与虚构负责人任命,改为编目范围和相关人物。
- 标签删除简笔曲线,与启动界面共享同一标志路径。
- check-archive.mjs 验证列容量、唯一槽位、世界观文本结构、波峰连续性、真实 GLB 高度、旋转对齐时间;既有运动和材质检查继续通过。