跳转至

自动导览与手机屏幕打磨

历史记录 / Historical record:本文保留当时的计划、研究或验收证据,不代表 0.11 当前能力全集。现行说明见 文档入口;英文入口见 English overview。

2026-10-20 · exp · 基于 afb24054。

改动

  • 移除舞台中的点击模拟与手动重播。进入章节后自动展开、留出读屏时间、收回并继续循环;章节仍由用户选择。真实功能直达按钮保留。
  • 三维模型实际到位后才开始停留计时,准备态停留 700 ms,结果态停留 1800 ms。暂停、离屏、隐藏冻结剩余时间;减少动态效果显示结果态。自动字幕不反复触发屏幕阅读器播报。
  • 用户后续明确要求真实截图。手机和平板屏幕已改用实际运行的 OneTHU 页面,原手绘屏幕、平板假首页和手机旁自造的伴随卡片删除。截图保留完整视口比例;机身镜头、边框放在应用截图之外。三种模式各自展示对应的实际首页。
  • 手机改为窄边框,背面不再带 OneTHU 字样。单手机章节使用独立高度令牌 --og-tour-phone-h 和更近的取景,双机碰一碰维持完整入画。
  • 来源包括真实课表、实用模式目录和替换入口、暂存箱发送/接收、组织与选修功能。页面组件和样式完全来自应用,示例课程、组织和收发内容来自隔离数据夹具。没有补画按钮或隐藏实际 NFC 不支持提示;接收完成通过测试口令的真实收发流程生成,不代表实体 NFC 联调通过。
  • 图片解码缓存一次,每个模型独立拥有 GPU 纹理;模型退出释放纹理,重新打开复用 CPU 图片。加载期间不显示伪造屏幕,无 WebGL 或加载失败时仍使用相同截图的 CSS 回退界面。
  • 旧物件按视锥范围退出并逐帧降低真实材质透明度,不再在固定边缘位置等待删除。透明期间关闭深度写入,物件回到当前章节时连续恢复;快速切回复用仍在退场的实体。
  • 实体记录自身模式,快速跨模式复用时更新截图及包围范围,保留已有位置、速度和透明度。rapid-mode-report.json 验证实用首页尚在退场时快速进入极简首页仍显示正确模式。
  • 自动演示仍隔离于真实内容,不写入用户的白板、暂存箱或组织数据。

验收范围

本轮使用 tools/onboarding-autoplay-browser-test.mjs 验证自动循环与生命周期,tools/onboarding-browser-test.mjs 验证真实入口与返回。旧 onboarding-motion-browser-test.mjs 转发新套;原手动演示的 902 项记录保留为上一版历史证据,不计入本轮。

截图与录像直接来自浏览器实际绘制;手机为移动视口与触摸模拟,不代表实体手机帧率或真实 NFC 联调。

真实界面来源

资产目录:apps/desktop/src/assets/tour/real-ui/。三份采集清单分别记录目标页面、示例数据、视口和 PNG 哈希,汇总见该目录 manifest.json。

  • tools/capture-tour-real-ui.mjs:两种简单首页、目录与替换入口、课表、暂存箱收发。
  • tools/capture-tour-real-ui-workbench.mjs:完整模式桌面/手机首页、真实组织概览。
  • tools/capture-tour-real-ui-extras.mjs:工作区、OneGO、插件、外观、学习、数据设置。

原图直接作为 THREE.Texture(HTMLImageElement);不经 Canvas 重绘或 UI 拼图。低性能回退通过同一 selectStudioScreen 映射直接显示 <img>。asset-gate-report.json 检查延迟加载、失败回退及实际纹理来源。

真实截图模型验收

先运行开发服务,再执行 node tools/onboarding-real-screens-test.mjs。可用 ONETHU_TEST_URL 指定服务地址、CHROME_BIN 指定 Chrome、ONETHU_MODEL_OUT 指定报告目录。

real-screen-model-report.json 保存最新 984 项断言结果:21 张截图、三模式下 48 个模型实例,覆盖真实图片直接绑定、页面选择、完整比例、窄边占比、镜头安全区、圆角位于玻璃前表面内、加载失败后重试及重复释放。原 877 项临时检查已整理进该脚本,另加入手机无手绘标志及圆角边界检查。

手机删除背面 OneTHU 标志及底部实体横条,顶部只留小镜头。真实截图保持 390:844 比例,占显示玻璃宽、高均超过 98%,占机身高度超过 96%。最新四尺寸取景见 phone-framing-after-*.png;model/ 保存去除标志后的首轮窄边正反面截图,最终边距以最新取景图为准。

资源断言检查 Three 几何、材质和纹理的 dispose 事件,不把该结果等同于 GPU 驱动内存实测。浏览器自然退出和清理也包含在报告中。

最终取景与录像

最终单手机在 390/1280 视口下约 358 px 高,占舞台 89.5%;390 界面相较此前约 296 px 高的舞台,手机主体放大约 57%。碰一碰仍使用双机原取景逻辑,机身调整后的显示高度变化不到 1%。phone-framing-after.json 的 23 项检查覆盖桌面、390/320 手机与横屏,确认居中转身/回近时完整入画、固定页脚按钮可命中。

最终录像套 recordings-report.json 为 78 项通过、自然退出、无未捕获页面错误。原始帧来自 Chrome 实际绘制,保留实时时间间隔;手机视频仅裁掉浏览器录制画布右侧超出 390 px 视口的空白,没有裁切应用界面。

检查记录

  • 最终源代码的桌面 typecheck 和 build 通过;OneGUI guard(466 个令牌)、导览单元/导航/首启护栏、文档 lint、git diff --check 通过。
  • 真实功能入口回归 58 项通过。实图资源加载/失败回退 8 项、快速跨模式复用 7 项通过;各自报告保留其具体范围。
  • cycles-report.json 的 135 项与 lifecycle-report.json 的 27 项是实图替换前的自动播放逻辑基线;chapter-transition-report.json 的 24 项是早期连续退场检查。它们不作为最终机身外观证据。
  • 最终视觉以 after/、model/、phone-framing-after-*.png 和上述五条录像为准。已人工查看手机放大、窄边框、无背标、真实界面、切课渐隐和按钮可达性。