fix(web): refine camera framing, delete shortcut and module recording

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-13 09:59:55 +08:00
parent fa8969638f
commit e49ba9e60b
4 changed files with 4 additions and 4 deletions

View File

@@ -232,7 +232,7 @@ function narrationChapters(module, stepIds) {
case "M02:navigate": return (async () => { const canvas = page.locator(".viewport-area canvas.viewport-canvas").first(); const box = await canvas.boundingBox(); if (box) { await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2); await page.mouse.down({ button: "middle" }); await page.mouse.move(box.x + box.width / 2 + 60, box.y + box.height / 2 + 30, { steps: 10 }); await page.mouse.up({ button: "middle" }); } })();
case "M02:search": return (async () => { await domClick(page.getByRole("button", { name: "操作搜索" })); await page.waitForTimeout(300); await page.keyboard.type("移动"); await page.waitForTimeout(500); await page.keyboard.press("Escape"); })();
case "M03:edit": return (async () => { await actions.workspace(page, "Modeling"); await actions.enterEdit(page); })();
case "M03:selectall": return domClick(page.getByRole("button", { name: "全选", exact: true }).first());
case "M03:selectall": return domClick(page.getByRole("button", { name: "Select All", exact: true }).first());
case "M03:extrude": return (async () => { await domClick(page.getByRole("button", { name: "EXTRUDE", exact: true })); await page.waitForTimeout(700); await page.getByRole("button", { name: "撤销", exact: true }).click().catch(() => undefined); })();
case "M04:open": return actions.openStudio(page);
case "M04:modifiers": return (async () => { await actions.workspace(page, "Layout"); await page.getByText("Modifiers", { exact: true }).first().scrollIntoViewIfNeeded().catch(() => undefined); await page.waitForTimeout(500); })();
@@ -290,6 +290,7 @@ async function main() {
await page.goto(`${baseUrl}/?ui=web`, { waitUntil: "domcontentloaded" });
await page.locator("main.blender-app").waitFor({ timeout: 120_000 });
await installOverlay(page);
if (module.id !== "M01") { await actions.openStudio(page); await installOverlay(page); }
const result = await runModule(module, page);
await context.close();
const webm = path.join(result.out, "screencast.webm");