docs(course): add all 15 narrated module videos

Record M01-M15 at 1280x720 H.264/AAC (187s each), fix the UV and
Spreadsheet recording actions, embed each module video with poster and
VTT in the generated course, and record the verified 15/15 checker
result. M01 is re-recorded; M06/M13 were retried after action fixes.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-13 11:04:33 +08:00
parent 034c11d4e9
commit 04c6b50bd0
50 changed files with 401 additions and 25 deletions

View File

@@ -105,8 +105,13 @@ const actions = {
},
async uv(page) {
await actions.workspace(page, "UV Editing");
await page.locator(".wasm-uv-editor").waitFor({ timeout: 60_000 });
await page.locator(".uv-controls").waitFor({ timeout: 60_000 });
await actions.enterEdit(page); await page.keyboard.press("Escape");
await page.waitForFunction(() => (document.querySelector('[data-testid="editor-workflow-context"]')?.textContent ?? "").includes("UV Editing"), null, { timeout: 60_000 });
await actions.enterEdit(page);
await page.waitForFunction(() => (document.querySelector('[data-testid="engine-status"]')?.textContent ?? "").includes("模式:Edit"), null, { timeout: 60_000 });
await page.keyboard.press("Escape");
await page.waitForTimeout(600);
await domClick(page.locator(".wasm-uv-editor button", { hasText: "全选 UV" }).first());
await page.waitForFunction(() => (document.querySelector(".wasm-uv-editor")?.textContent ?? "").includes("UV 选择已提交"), null, { timeout: 60_000 });
await domClick(page.locator(".wasm-uv-editor button", { hasText: "展开所选 UV" }).first());
@@ -146,6 +151,7 @@ const actions = {
await domClick(canvas.getByRole("button", { name: "提交图", exact: true })); await page.waitForTimeout(1200);
},
async spreadsheet(page) {
await actions.workspace(page, "Geometry Nodes");
const sheet = page.getByTestId("spreadsheet-view"); await sheet.waitFor({ timeout: 60_000 });
await sheet.getByLabel("数据源").selectOption("vertices"); await page.waitForTimeout(500);
await sheet.getByLabel("过滤行").fill("0.5"); await page.waitForTimeout(500);