html-product-showcase · git:20260911.f1983ef · 2026-09-11 · sha256 31030744a13bc9a9
html-product-showcase git:20260911.f1983efA
Immutable. This exact content is served forever at /api/v1/blob/31030744a13bc9a9.
--- name: html-product-showcase description: 根据产品特点、目标用户与真实功能证据设计 HTML/CSS/SVG 产品展示动画,选择合适的动效与分镜,交付可 seek 的网页、MP4 和可复用项目;支持横竖屏重新编排与配音字幕。 --- # HTML 产品展示动画 交付目标:围绕产品实际价值的一支展示动画,以及可编辑 HTML、时间线、资产清单和视频。先理解产品,再选择动画手法;示例只演示技术,不作为固定片头、布局或分镜。 ## 1. 理解产品与任务 从用户描述、提供的产品文档、可访问页面或代码中确认:面向谁、解决什么问题、最值得展示的 1–3 个特点、可以展示的证据。只查与当前产品有关的资料。缺少产品本身或核心信息时补问;其他可选参数用合理默认并记录。 默认中文、1920×1080、30fps、约 20–30 秒、无声,无固定角色贴纸。用户指定平台时按其比例与观看场景重排;3:4、9:16 和16:9分别设计。新建版本目录,保存需求、素材来源与哈希,保留已接受版本。 区分真实界面录制、演示状态和概念解释。演示数值不能冒充性能测试;未确认功能不编成卖点。实体产品没有可用照片/模型时,提供清晰标注的示意结构,不能把 CSS 假3D说成精确产品建模。 ## 2. 把特点变成分镜 读[产品叙事方法](references/product-design.md),为每个候选镜头写: `观众的问题 → 产品主张 → 可见证据 → 状态怎样变化 → 最终应读懂什么`。 选择能证明当前卖点的手法,见[动画技巧库](references/motion-patterns.md)。可以直接展示成果、用前后对比、跟随一次任务或拆解结构;无需固定“痛点→功能→安装→远程”顺序,也不为凑页数加无关镜头。 用 [storyboard.json](examples/storyboard.json) 记录镜头与节拍。每镜留出稳定阅读时间,主体转移才移动视线。先按最终最大信息量布置标题、演示区和可选字幕安全区,再添加动效。空间不够就拆段或分时,不先缩小所有字。 ## 3. 编写确定性 HTML 动画 读[制作契约](references/production.md),参考 [技术骨架](examples/film.html) 与 [纯时间函数](scripts/motion.js)。根据本次分镜重新编写 `film.html`,不只替换示例标题。 - CSS 负责排版,SVG 负责路径、矢量部件和标注,JavaScript 只按叙事时间设置状态。UI 文本用真实 DOM,复杂照片保比例作为资产。 - 暴露 `window.setShotTime(seconds)`;每次完整重算文本、变换、颜色、进度、可见性。先跳后再退必须恢复相同状态,不依赖调用顺序。 - 一份 HTML 可以容纳整支影片;场景起点来自编译时间线。局部时间为 `t-global_start`,重叠期明确绘制相邻场景并设置各自透明度。 - 禁止让 CSS transition、timer、Web Animations、视频、粒子或随机数各自跑时钟。随机样式固定 seed;如使用 WAAPI,暂停并显式设置 currentTime;视频素材需显式 seek 并等待解码。 - `#stage` 填满导出画布;重要元素标 `data-protected`,可选角色标 `data-mascot`。横竖屏重排组件、路径和节奏,截图不拉伸。 - 本地保存实际需要的资源;不依赖 CDN、在线字体或登录状态。链接和箭头从同一坐标系求锚点,先布局再测量,不猜目标坐标。 ## 4. 时间线、声音与视频 从仓库根目录运行,`PROJECT` 为新项目目录,`RECIPE` 为本模板目录: ```bash python3 "$RECIPE/scripts/plan.py" "$PROJECT/storyboard.json" --output "$PROJECT/timeline.json" # 根据时间线完成 film.html,并把 motion.js 放到项目的 scripts/ 中。 node "$RECIPE/scripts/render-film.cjs" "$PROJECT/film.html" "$PROJECT/output.mp4" 1920 1080 30 30 ``` 最后四个参数是宽、高、秒数、fps;按 `timeline.json` 实值填写,示例的30秒不是固定模板长度。渲染器输出无声视频及 `.qc.json`,不会自动从网页录取音频。缺依赖先复用现有安装;新装须遵循当前环境与用户授权,不改用户浏览器配置。 需要配音时按真实录音时长安排镜头,不截句尾;字幕跟随最终时间线,变速后同步重算。已接受配音可以复用,新配音按当前请求选择服务。添加 BGM 或组合已渲染片段可复用[合集剪辑 Skill](../../../skills/character-showcase-editing/SKILL.md)的 D 模式,设置 `layout.mode=plain`、相同画布,转场和尾淡出显式填写,避免把已完成的 HTML 动效重复处理。详细音频/多镜头规则见制作契约。 ## 5. 检查、修正、交付 先检查字体和图像加载、JS 错误、时间回跳、实际 DOM 边界、入场过冲、长文本、字幕占位和场景交接。渲染器的机械检查不代表视觉审美通过;按当前任务允许的检查范围验收。只整理 Skill 或检查文件时不调用推理、不生成媒体,不把计划说成成片。 HTML 或依赖资产改变后使对应渲染失效;只改音轨时复用已锁定视频。失败只重做受影响部分,输出始终选新版本。视频完成以编码、规格和完整解码结果为据,之后交付 HTML、素材、时间线、MP4、检查记录与未验项。发布或发送到外部账号依照用户实际授权处理。 整理:**Shenrui Ma(四倍体果蝇)**。