一、问题(本轮实测)
`draw-ui` 与 `oil-motion` 目录里**各自带一个内嵌 `.git`** ⇒ 上一次提交把它们记成了 **gitlink(子模块指针)**
⇒ 仓库里只存了一个不属于任何远端的 commit id,**别人克隆下来这两份是空的** ✗(`git status` 显示 ` m draw-ui` / ` m oil-motion` = 子模块内容有改动)。
二、处置(可回退)
· 把两处的 `.git` **挪走**(⛔ 不是删除)⇒ `归档/内嵌git-20261008/{draw-ui,oil-motion}.git`;
· `git rm --cached` 掉那两个 gitlink,再 `git add` 两个目录 ⇒ **按正常文件入库**(内容才真的进仓库)。
三、副作用(如实记)
挪走 `.git` 后,这两个技能**不能再原地 `git pull` 取上游更新**(要更新得重新拉一份覆盖);
如需恢复其本地仓库,把 `归档/内嵌git-20261008/` 里的 `.git` 挪回原处即可。
83 lines
8.8 KiB
JSON
83 lines
8.8 KiB
JSON
{
|
||
"skill_name": "oil-motion",
|
||
"evals": [
|
||
{
|
||
"id": 1,
|
||
"prompt": "我有一张透明背景的机器人插画,希望机器人头部随着鼠标方向转动。请设计从 AI 视频生成到网页交互的完整方案,并生成可执行的媒体处理命令和 TypeScript 运行时。",
|
||
"expected_output": "选择环形参数模型;提供固定身体、完整方向环和均匀色键提示词;使用程序切帧、抠色、检测、打包;运行时使用最短环形距离、阻尼、限速和预加载。",
|
||
"files": [],
|
||
"name": "我有一张透明背景的机器人插画,希望机器人头部随着鼠标方向转动。请设计从 AI 视频生成到网页交互"
|
||
},
|
||
{
|
||
"id": 2,
|
||
"prompt": "把这个产品绿幕拆解视频做成苹果官网那种滚动到哪里就变化到哪里的动画。视频很长,页面背景以后还要换,移动端也要流畅。技术方案你自动选,不要问我。",
|
||
"expected_output": "锁定 time_control=scrub 并运行 motion_budget.py;大尺寸长线性序列自动选择 chroma-video,不让用户决定格式;按源帧质量与采样密度选择 native 或 interpolate,再编码桌面与移动全关键帧 MP4;使用 WebGL 实时抠色和 frame-scrub 控制器;页面独立提供背景,并给出静态 Alpha 降级、性能和快速反向验收方案。",
|
||
"files": [],
|
||
"name": "把这个产品绿幕拆解视频做成苹果官网那种滚动到哪里就变化到哪里的动画。视频很长,页面背景以后还要换"
|
||
},
|
||
{
|
||
"id": 3,
|
||
"prompt": "这个绿色背景的 5 秒角色视频有闪帧、大小漂移和绿边,请帮我自动处理成可 hover 切换的网页动画。能用程序处理的不要重新生成。",
|
||
"expected_output": "先探测和分析视频;程序完成切帧、固定色键抠图、去溢色、受限稳定、闪帧报告和图集打包;只把无法程序修复的身份或肢体异常交回生成模型。",
|
||
"files": [],
|
||
"name": "这个绿色背景的 5 秒角色视频有闪帧、大小漂移和绿边,请帮我自动处理成可 hover 切换的网页"
|
||
},
|
||
{
|
||
"id": 4,
|
||
"prompt": "我想让一个小人抱着钢管旋转,小狗在后面追着跑,两者随页面滚动沿钢管向下移动。动作要欢快、前后遮挡和四肢都要自然。",
|
||
"expected_output": "把抱杆、奔跑、追逐、关节和遮挡识别为必须完整生成的语义运动;生成双角色同场无缝循环视频;程序只控制整组纵向位置、帧映射、正反播放、惯性、抠图和压缩,不能用少量关键帧加 CSS 旋转替代。",
|
||
"files": [],
|
||
"name": "我想让一个小人抱着钢管旋转,小狗在后面追着跑,两者随页面滚动沿钢管向下移动。动作要欢快、前后遮挡"
|
||
},
|
||
{
|
||
"id": 5,
|
||
"prompt": "用 MiniMax 把这张角色参考图生成一段完整方向环动画,绿幕抠图后拆成雪碧图,并实现鼠标方向控制。请直接执行完整流程,不要跳过检查。",
|
||
"expected_output": "建立 Motion Brief 并运行 motion_budget.py;小型环形随机访问在单图集预算内时自动选择 alpha-atlas,不询问用户;读取透明图集路线,验收首尾和母版,按 frame_policy 准备并离线抠色,再完成接触表、异常分析、闭环清理、可选稳定和最终图集;运行时使用环形最短距离、预加载、smoothDamp、限速和静态降级。",
|
||
"files": [],
|
||
"name": "用 MiniMax 把这张角色参考图生成一段完整方向环动画,绿幕抠图后拆成雪碧图,并实现鼠标方向"
|
||
},
|
||
{
|
||
"id": 6,
|
||
"prompt": "把这份雪碧图和 AI 母版视频做成一个独立 HTML 原理展示页:左侧完整图集并高亮真实当前帧,右侧演示动画。这次用滚动控制,以后还要能换成鼠标、拖拽或自动播放。",
|
||
"expected_output": "读取动画原理展示页参考并使用 create_explainer.py,不手写项目专用页面;从 manifest 读取图集结构,保留可选母版视频 Tab、图集缩放和当前渲染帧高亮;选择 scroll 驱动并提供真实滚动距离;说明可通过配置切换 pointer-angle、pointer-x、drag、scroll 和 autoplay;通过本地 HTTP 服务验收桌面端、移动端和帧一致性。",
|
||
"files": [],
|
||
"name": "把这份雪碧图和 AI 母版视频做成一个独立 HTML 原理展示页:左侧完整图集并高亮真实当前帧,"
|
||
},
|
||
{
|
||
"id": 7,
|
||
"prompt": "把这段 24fps 的 AI 动画补到 48fps,帮我检查补帧有没有问题,再把透明帧图集压到 2MB 内,尽量保留清晰度。",
|
||
"expected_output": "读取补帧与压缩参考;使用 optimize_motion.py interpolate 输出原始与补帧接触表、逐帧分析和对比报告,并检查重影和肢体扭曲;先确认最大实际 CSS 展示尺寸和目标 DPR,再运行 motion_budget.py 自动选择;只有返回 alpha-atlas 才继续压缩图集,清晰度不达标时不能继续缩小;若长线性或图集超预算则自动改用 chroma-video,不向用户抛技术选择。",
|
||
"files": [],
|
||
"name": "把这段 24fps 的 AI 动画补到 48fps,帮我检查补帧有没有问题,再把透明帧图集压到 "
|
||
},
|
||
{
|
||
"id": 8,
|
||
"prompt": "这个角色要同时跟随鼠标横向和纵向看,帧很多,图集预算可能放不下。你自己选最佳实现,不要让我决定。",
|
||
"expected_output": "识别为二维参数并运行 motion_budget.py;即使图集超预算也不能把二维语义压成一条视频;自动降低采样密度、拆分离散状态或调整显示尺寸后重新预算,最终使用 alpha-atlas;不向用户询问图集或视频选择。",
|
||
"files": [],
|
||
"name": "这个角色要同时跟随鼠标横向和纵向看,帧很多,图集预算可能放不下。你自己选最佳实现,不要让我决定。"
|
||
},
|
||
{
|
||
"id": 9,
|
||
"prompt": "我要一段单人动漫格斗胜利演武的网页动画:一个角色,动漫风格,每段同一张脸,段与段首尾帧连续,背景和角色在同一个视频里生成,不要绿幕。随页面滚动推进。",
|
||
"expected_output": "先锁定 Concept Contract:subject_count=1、指定风格与叙事、background_owner=video、clip_continuity=chain、scroll 输入、同脸与首尾帧连续,不擅自扩写;scroll 不能自动等同于 scrub,需求没有说明输入是持续映射还是触发播放时必须先锁定 time_control;先写 Identity Bible;motion_budget.py 显式传 --background-owner video 和 --time-control 并选择 baked-video;先完成 Pilot;生产阶段既验证上一段尾帧输入 SHA-256,也验证相邻成片解码后的实际输出接缝;运行时不做任何抠色。",
|
||
"files": [],
|
||
"name": "我要一段单人动漫格斗胜利演武的网页动画:一个角色,动漫风格,每段同一张脸,段与段首尾帧连续,背景"
|
||
},
|
||
{
|
||
"id": 10,
|
||
"prompt": "用绿幕路线做的角色动画,编译后出现人物内部大块绿斑和一圈绿边,你调一下 WebGL 抠色阈值把它压掉就行。",
|
||
"expected_output": "拒绝用调 WebGL 阈值掩盖母版缺陷;先确认任务确有透明复用需求,否则改走 baked-video。必须用与网页 renderer 相同的 keyColor、similarity、smoothness、spill 参数模拟并检查全部最终帧,抠色后仍可见的内部绿块、边缘溢色或压缩脏边即拒收;正常的纯色键背景孔洞应透明,不能因拓扑封闭而误拒;再在白、黑、洋红和真实页面背景上验收。失败则重做母版或改用带 Alpha 的离线 matte。",
|
||
"files": [],
|
||
"name": "用绿幕路线做的角色动画,编译后出现人物内部大块绿斑和一圈绿边,你调一下 WebGL 抠色阈值把它"
|
||
},
|
||
{
|
||
"id": 11,
|
||
"prompt": "做一个分页滚动展示:每次滚动立即播放主时间轴的下一段转场,页面同时移动到下一屏;向上滚时从当前画面反向撤回,停在上一状态。不要切换视频源。",
|
||
"expected_output": "锁定 driver=scroll、input_semantics=step、time_control=segment-play、navigation=paged,并把页面导航与媒体时间控制分开;gesture_policy 把同一次惯性手势合并为一步并忽略程序化滚动,反向输入重定向当前任务;连续段最终合并为单一媒体源;编译生成包含稳定 states ID、from/to、start、hold、endExclusive 和播放曲线的 timeline.json,页面直接使用状态 ID;运行时使用 hold 精确停帧;验收同一媒体节点、无换源、快速反向、边界和输出接缝。",
|
||
"files": [],
|
||
"name": "做一个分页滚动展示:每次滚动立即播放主时间轴的下一段转场,页面同时移动到下一屏;向上滚时从当前画"
|
||
}
|
||
]
|
||
}
|