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

@@ -1260,7 +1260,7 @@ function WorkspaceEditorSurface({ editor, snapshot, engineStatus, onOpen, onSear
if (editor === "Info") {
return <div className="workspace-editor-surface info-surface"><div className="surface-menubar"><strong>{EDITOR_ICONS[editor]} Info</strong><span>View</span></div><output>{engineStatus}</output><output>Scene: {activeSceneFromSnapshot(snapshot)?.name ?? "Scene"}</output></div>;
}
return <div className="workspace-editor-surface camera-preview-surface"><span>Camera Perspective</span><div className="camera-frame"><span>{activeNode?.name ?? "Cube"}</span></div></div>;
return <div className="workspace-editor-surface camera-preview-surface"><span>Camera Perspective · 预览</span><div className="camera-frame"><span>{activeNode?.name ?? "Cube"}</span></div><small>动画工作区示意;完整相机视图请在 Layout 工作区查看。</small></div>;
}
interface MeshEditSelection {

View File

@@ -38,7 +38,7 @@ export function TutorialLanding({ course }: { course: TutorialCourse }) {
return <main className="parts-tutorial-landing" data-course={course.id}>
<header className="parts-landing-top">
<a className="parts-landing-brand" href="/" aria-label="返回 Web Blender"><span className="brand-mark" aria-hidden="true"><span className="brand-orbit" /></span><span>Blender Web</span></a>
<nav aria-label="教程导航"><a href="/manuals/WEB_Blender_Function_User_Guide.pdf" target="_blank" rel="noopener">使用手册</a>{course.lessonUrl ? <a href={course.lessonUrl} target="_blank" rel="noopener">渲染图文/视频教案</a> : null}<a href="/" className="parts-landing-return">直接打开 Blender</a></nav>
<nav aria-label="教程导航"><a href="/manuals/WEB_Blender_Function_User_Guide.pdf" target="_blank" rel="noopener">使用手册</a><a href="/tutorial/full/index.html" target="_blank" rel="noopener">全站入门课程</a>{course.lessonUrl ? <a href={course.lessonUrl} target="_blank" rel="noopener">渲染图文/视频教案</a> : null}<a href="/" className="parts-landing-return">直接打开 Blender</a></nav>
</header>
<section className="parts-landing-hero">
<div>