
今天拆的是 motionmaxxing:一个把「什么算好动效」量成 12 条缓动与 15 条检查规则、再让 Agent 在交片前自过六道门的技能包;文章给全它在链条上的层级、五步上手路、十四处实测卡点,以及 Apache-2.0 之外那份 GSAP 自有许可。

brand.mjs 抓,静帧用 render.mjs --still,整片检查用 look.py 与 lint.mjs,返工时按「坏了或假的 → 创意 → 衔接 → 层级 → 时间 → 表面 → 声音」的固定顺序改1。
snapSettle 11 帧占 6%,glide 10 帧占 14%,bounceHard 只占不到 1%。脚注写明 11% 的动作十二条曲线都套不上,这部分它没有覆盖;图由项目自带的 docs/media/eases.svg 转成位图。library/moments.jsonl 里,一共 716 行:156 条测量出来的规则、53 个片段时刻、以及另外 39 部片子的 507 行。脚本 precedent.py 按「这一拍要干什么、画面是什么内容」检索,返回带编号的规则4。look.py 算。lint.mjs 查页面装饰,15 条规则全部针对那几种「幻灯片段位」。G1「证据看得清」和 G4「一帧一个主角」没有脚本,只能看联络表用眼睛判,技能要求 Agent 在交付说明里承认这一点1。
docs/media/gates.png。| 你给 | 它交回 |
|---|---|
| 一个品牌网址或名字 | film/brand/:board.png、页面截图、字体、官方 logo、BRAND.md |
| 一台装了 Node 22、Python 3、Chrome、ffmpeg 的机器 | render.mjs 渲出的静帧与 mp4,附 events.json 记录每个动作发生在哪一帧 |
| 一个能跑 shell 的编码 Agent | 十步走完的 film/ 目录:STORYBOARD.md、index.html、final.mp4、NOTE.md |
| 可选的 ElevenLabs key | 配音、音效、配乐,以及 look.py 的音频段报告 |
| 可选的 Codex 图像生成 | 缺失表面的插画底板,画面里不会出现文字与 UI |
NOTE.md 与 look/gates.json:门的编号、数字、哪几门是肉眼看过的,都要写进去。它交出的是一支能再改的 HTML 片子,加一份可以拿去复核的体检单。git clone https://github.com/Tejashmakwana/motionmaxxing ~/.claude/skills/motionmaxxing
bash ~/.claude/skills/motionmaxxing/install.shinstall.sh 只检查、不装任何东西。本机跑下来 Node 22.13.1、Python 3.12.16、ffmpeg 7.1.5、Chrome(/usr/bin/chromium)四项全过,ElevenLabs key 与 Codex 图像生成两项显示缺失,都标成可选。~/.claude/skills/motionmaxxing。你的 Agent 不认软链,就加 --copy 复制一份,代价是以后更新要自己重来。bash scripts/providers.sh 确认机器状态。本机返回 ready: true,同时报出 HyperFrames 0.8.21 可用、磁盘余量 529 GB。board.png 与 STORYBOARD.md,你点头再往下建。这一步是整条流程里最省钱的卡位:故事板不对,后面每一帧都是白渲。examples/demo 试了三次:三张 1920×1080 静帧 0.93 秒出图,同时写出 22 条事件记录。
examples/demo 第 4.2 秒的一帧,1920×1080,2026-11-01 在本机用 node scripts/render.mjs … --still 渲出。画面是一张输入框,是这份示例工程的默认内容,正好代表这套运行时裸跑时的样子。lint.mjs:14 个采样点、15 条规则全 PASS、退出码 0。我另写了一张故意违规的页面(角标、计数器、踢标压标题、底部通栏),同样的脚本判 C1、C2、C3、C6、C7、D1 六条 FAIL、退出码 1。门确实有牙。look.py。它会给出一张联络表、切点列表、结尾定格时长、响度与真峰值,并把 G0、G2、G3 的判定写进 gates.json。KNOWN-LIMITS.md,60 行,把「门能看见什么、看不见什么」逐条列了出来。这一节里有一半条目能从那份文件里对到原文。
render.mjs 渲 mp4。现状:静帧正常,2 秒片段打印了「render: 60 frames」却没落盘,9 秒整片跑满 420 秒未完成;本容器的视频编码由平台接管,这算环境限制。你能怎么办:换一台有 ffmpeg 的机器,或先用 --still 判断画面。ELEVENLABS_API_KEY。现状:技能会写一行说明然后继续,画面改按固定节拍走5。你能怎么办:先做默片,满意后再补音。imagegen.py 补缺失的画面底板。现状:本机 codex 不可用,providers.sh 报 codex.image_generation: null。你能怎么办:只用代码与抓取素材,或另配一个能出图的模型。NOTE.md 里声明这两门是看出来的。你能怎么办:把联络表当成必须交付的中间物。render.mjs 写出的 events.json。现状:look.py 退化成从画面猜切点,show/hide 密集的片子会被算成很多刀,项目举例说仓库里的横幅被判出 33 个切点,结尾镜头占比也跟着变5。你能怎么办:别删事件文件。lint.mjs 只有 15 条规则;SKILL.md 说 52 部真人片被排序,先例库统计出来是 39 部6。你能怎么办:以能跑起来的脚本为准,数字当宣传页看。runtime/hero3d 的三维主视觉。现状:项目自报 1080p 下每秒 7 到 11 帧(Apple GPU),软件渲染更慢,--scale 也不减少 WebGL 开销5。你能怎么办:只给最难那一拍开三维。fetch_logo.mjs 按 SVGL、Simple Icons、站点自身图标的顺序找,最后一步常拿到页眉横条;挡无头浏览器的站点直接抓空。你能怎么办:渲一次 SVG 看一眼再往下做。setTimeout、Math.random、CSS 动画。现状:跳到同一时间点渲出来的画面会不一样,Motion.selfTest 只抽查采样帧5。你能怎么办:把随机与定时器换成按帧数计算的参数。NOTICE 逐项列了覆盖范围:SKILL.md、references/、scripts/、templates/、examples/、taste/、library/、docs/、runtime/motion.js 与 runtime/hero3d/9。NOTICE 直接写「THIS IS NOT AN OPEN-SOURCE LICENSE」。按 GSAP 官方页面,商用网站与应用免费,AI 生成 GSAP 代码也允许;需要另谈的是「让终端用户拖拽搭动画、与 Webflow 竞争」的工具10。| 项 | 当天价格 | 说明 |
|---|---|---|
| motionmaxxing | 0 美元 | Apache-2.0,仓库无付费档 |
| Claude 订阅 | Pro 每月 20 美元,年付折算 17;Max 自每月 100 美元 | 两档都含 Claude Code11 |
| ElevenLabs | 免费档 1 万 credits、不可商用;Starter 6、Creator 22、Pro 99 美元每月 | 商用授权自 Starter 起12 |
| Codex 图像生成 | 随 ChatGPT 付费档提供 | 价格只在渲染后的卡片里,本次读取没拿到数字13 |
| Chrome、ffmpeg、Node、Python | 0 美元 | 需自行安装 |
| 项目 | 站在哪一层 | 许可 | 2026-11-01 体量 | 与本期关系 |
|---|---|---|---|---|
| motionmaxxing | 审美与验收层 | Apache-2.0 + GSAP 自有许可 | 1,193 star,2 次提交 | 本期 |
| HyperFrames | 渲染底座 | Apache-2.0 | 76,058 star | 它可以直接拿来当底座 |
| Remotion | 渲染底座 | 自订两层许可 | 69,146 star | 帧函数那条路的参照 |
| OpenMontage | 流水线与资产 | AGPL-3.0 | 73,423 star | 管流程,不管审美 |
| hypit | 工作流描述语言 | 改过的 Apache-2.0 | 26,885 star | 词锚定那一层 |
| FilmCraft | 剪辑器 | MIT 或 Apache-2.0 | 17,077 star | 命令驱动的 NLE |
| video-shotcraft | 镜头卡库 | Apache-2.0 | 15,143 star | 也做镜头规则,偏结构与配方 |
| Mortiflix | 分阶段流水线 | AGPL-3.0 | 670 star | 也设门,门设在流程节点上 |
gates.json)。这三条同时成立,装它就是一次 clone 的事。say、路径与 Chrome 探测都只在 macOS 与 Linux 上验证过;你只想要一个拖拽就出片的界面。github.com
github.com
github.com
github.com
github.com
github.com
github.com
finalmotion.video
github.com
gsap.com
claude.com
elevenlabs.io
chatgpt.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.