--- name: magic-move-deck description: "Build Keynote-style Magic Move slide decks as one offline 1920×1080 HTML file: every slide is an architecture / flow diagram seen through a camera, and the elements two slides share morph and fly instead of cross-fading. Four visual styles (hand-drawn, minimal, dark neon, neo-brutalist): the agent first renders one sample slide in each style, the user picks one, then the whole deck is built in that style. Also exports 4K / 1080p video. Use for 做演示 / 做 slides / 做 PPT / Magic Move / 神奇移动 / 架构图演示 / 技术分享 deck / 动画 slides / animated architecture walkthrough. Not for bullet-point decks or a single static diagram." license: MIT compatibility: Python 3 + Playwright Chromium (pip install playwright && playwright install chromium); ffmpeg for video. Rendering diagrams loads rough.js from jsDelivr; the built deck is fully offline. --- # Magic Move Deck 成品:一个 1920×1080 的单文件 HTML。每一页都是某张图 + 一个相机取景;前后页共享的元素变形、移动过去。图有四种风格,同一套代码(`main()`)可以在任一风格下渲染,所以先出四张样张让用户挑,再按选中的风格做完整 deck。 ```mermaid flowchart LR A[故事线与色槽锁定] --> B[画一张代表性细节图] B --> C[styles.py samples
4 种风格各一张] C --> D{用户选风格} D --> E[styles.py apply
其余图用该风格模板] E --> F[build_deck.py
导出每个形状/文字] F --> G[keynote.html
SECTIONS 取景 + match 配对] G --> H[单文件 deck] G --> I[render_video.py
4K/1080p] ``` ## 风格 | id | 名称 | 观感 | |---|---|---| | `handdrawn` | 手绘 Hand-drawn | rough.js 手绘线条 + 宋体 / Times 印刷字 + 暖米白纸面 | | `minimal` | 简约 Minimal | 精确几何 + 圆角卡片 + 无衬线 + 近白底 | | `neon` | 暗色科技 Neon | 深蓝底 + 霓虹描边柔光 + 切角面板 | | `brutalist` | 新野兽派 Brutalist | 奶油底 + 粗黑描边 + 高饱和平涂 + 硬投影 | 每个风格在 `styles//`:`diagram.html`(模板)、`STYLE.md`(字体、9 色槽、额外规则)、`preview.png`。`python3 scripts/styles.py list` 列出全部。新增风格见 `references/styles.md`。 ## 先读 1. `references/diagram-rules.md` — 与风格无关的画图规则:只画 brief 里的东西、9 个色槽的抽象语义、形状语义、自检清单。 2. `references/magic-move-contract.md` — deck 原则、三类转场、**命名契约**(决定元素能否变过去)、build 挂钩。**画图前必读。** 3. `references/styles.md` — 风格系统:样张、切换、模板接口。 4. `references/bilingual-layout.md`(双语 deck 必读)、`references/cards.md`(封面 / 结束页)、`references/verification.md`(构建输出、截图、视频、分享)。 5. 完整范例 `examples/rag-assistant/`:图源文件 + CONFIG + `previews/`。动手前看 `previews/overview.jpg`、`previews/01_ingestion.jpg`、`previews/00_cover.jpg`,照抄其 `main()` 写法。 6. 用户选定风格后读 `styles/