docs(course): add the 15-module web course and narrated editor video

Generate a static beginner course from course data with real Chromium
screenshots for every module, and record a narrated walkthrough of UV,
Texture Paint, Compositor, Geometry Nodes, Spreadsheet and OPFS reopen.
The render lesson video covers M08/M09; the course page is linked from
the tutorial landing.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-13 06:02:34 +08:00
parent ef50fdd988
commit 693f6b774b
52 changed files with 2489 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
# Web Blender 全站功能补齐与入门课程 — 实施进度
日期:2026-11-13
状态:**进行中(UV、Texture Paint、Geometry Nodes、Spreadsheet、Compositor 完成;课程/视频与其余缺口待实现)**
状态:**进行中(五块编辑器完成;15 模块图文课程 + 2 条配音视频完成;逐模块短视频与发布待补齐)**
## 本轮铁律
@@ -116,10 +116,34 @@
- OPFS 保存 → reload → 最近项目恢复 → 3 节点/2 连线/位置与 exposure=1.5 保留。
- 回归:Geometry Nodes、Spreadsheet、UV、Texture Paint 共 8 个用例复跑 **8/8 PASS(2.1m)**。
## 待实现(按计划顺序)
### 8. 15 模块入门课程与配音视频
1. 其余缺口:Area 编辑器选择/⋮、Camera Perspective、Preferences、Outliner、Graph Editor。
2. 15 模块课程、15 个短视频、OPFS 保存重开流程、增量发布到 `https://49.232.250.35:58014/`。
- 新 `tools/web/course/full-course.json`(15 模块、目标、步骤、提示、警告、视频引用)与生成器
`tools/web/course/generate-full-course.mjs`,输出
`web/app/public/tutorial/full/{index.html,course.css,course.json}`;无 inline script/style、无远程 URL。
- 15 模块:M01 界面与保存、M02 导航/选择/变换、M03 网格编辑、M04 修改器、M05 材质与 PBR 资产库、
M06 UV、M07 Texture Paint、M08 灯光相机渲染、M09 结果/诊断/GLB、M10 动画、M11 Compositor、
M12 Geometry Nodes、M13 Spreadsheet、M14 保存重开、M15 脚本与能力边界。
- 截图:`tools/web/course/capture-full-course.mjs` 在 1600×900 有头 Chromium 中逐模块实走并截图,
**15/15 PASS**;产物 `web/app/public/tutorial/full/steps/M01..M15-*.jpg`(61 张,约 4.5 MB),
报告 `tests/golden/COURSE-FULL-001/capture-report.json`。
- 视频 1:`/tutorial/full/video/full-course-editors-720p.mp4`
(195.72 s,1280×720,H.264/AAC,7.57 MB,9 章,中文配音 + VTT + poster):UV、纹理绘制、Compositor、
Geometry Nodes、Spreadsheet、OPFS 保存重开。录制脚本
`tools/web/course/record-full-course-video.mjs`,配音稿 `tools/web/course/editors-video-chapters.json`。
- 视频 2:复用 `/tutorial/pbr/lesson/video/re-pbr-lesson-720p.mp4`(667.04 s,13 章)覆盖 M08/M09。
- 检查:`node tools/web/course/check-full-course.mjs` → **PASS**:15 模块、2 视频、所有图片/视频/VTT 存在,
无 inline script/style/远程 URL,视频为 H.264/AAC 1280×720。
- 课程入口:`TutorialLanding` 顶部“全站入门课程”链接到 `/tutorial/full/index.html`。
- 浏览器 smoke:页面 15 个模块、15 个目录链接、两个 video readyState=4(195.72 s / 667.04 s)。
## 待实现
1. 逐模块短视频:计划中的 15 条 3–8 分钟视频目前只完成 2 条(编辑器专课 + 渲染专课);
M01–M05、M10、M14、M15 仍以图文截图为主。
2. 其余缺口:Area 编辑器选择/⋮(web 布局隐藏了区域头)、Camera Perspective 真实迷你视口、
Preferences 扩展、Outliner 拖拽高亮/键盘多选、Graph Editor。
3. 构建并增量发布到 `https://49.232.250.35:58014/`(保留回滚 release)。
## 已知限制 / 未验证
@@ -133,7 +157,10 @@
- Compositor:IMAGE / RENDER_LAYER 节点可在本地求值器中执行,但不写入 Main(无资源持久化入口);
Transform 的 scaleY 以 scaleX 统一写入;Alpha Over 的 Factor 不持久化;保存重开后节点 id 由原生
identifier 重新生成(节点名、类型、位置、连线与属性保留)。MIX 仅持久化 RGBA/Mix 模式。
- 课程/视频尚未开始。
- 课程为 1 个静态 HTML 总课程;配音视频只有 2 条(编辑器专课、渲染专课),不是计划的 15 条逐模块
短视频。M01–M05、M10、M14、M15 以图文和截图为主。
- 动画工作区 Camera Perspective 仍为预览占位(已显式标注“预览”);web 布局隐藏区域头,Area 编辑器
切换/⋮ 菜单在 `?ui=web` 下不可见;Graph Editor 与完整 Outliner/Preferences parity 未实现。
- 本轮只验证 Chromium + RTX 4060;未验证其他浏览器。
- 既有保存下载型 spec 尚未迁移;在迁移完成前不要把这些旧 spec 的失败当作产品回归。
- 远端首次 wasm 加载 154–193 秒;课程录制只做本地,页面需提示首载时间。