用途
motion-styles 是一套面向代码生成 Helios 视频的视觉风格参考库。其核心用途是帮助制作者在需要特定视觉媒介质感时,获得一组已建立风格的不变量(invariants),确保视频读起来像该媒介,而不是“扁平矢量加噪点叠加”。每个风格由一张风格卡(references/styles/<slug>.md)和一个演示页(references/styles/<slug>.html)组成,演示页是符合 make-video 契约且能通过 helios verify 的完整页面。
主要能力
风格卡固定以下内容:本质与禁忌(用一句话描述媒介,并指出应避免的廉价版本)、外观(调色规则,包括色相数量、唯一强调色保留给什么、什么永不着色;字体;材质)、运动(缓动、时序、步进、允许与禁止的过渡、镜头语法)、签名清单(5–7 项带数字、可在静帧上检查的特征)、原生动作(只有该媒介能做的时刻,放在情感峰值处)、核心技法(让画面看起来正确的渲染技巧)、陷阱(包括编码与确定性问题)以及静帧检查要点。
使用方式
该库为按需选用模式:用户明确指定风格或媒介时,只打开对应卡片,不读取整个目录;用户要求风格选项或“用已知风格给我惊喜”时,读取 references/catalog.md,最多提供三种用种子选出的风格加一个原创方向,只构建用户选中的;用户未指定风格时,不使用该库,而是根据简报和随机种子设计原创外观,可一次性提示该库可用;用户给出品牌或设计系统时,遵循品牌,仅当用户要求某种处理时才从卡片借用技法。
在风格内变化时,先抽取随机种子(可使用 apply-randomness 技能,或执行 LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 256; echo),在卡片“可安全更改”的轴内做具体选择,如主体取景、调色变体、结构、峰值处的原生动作、开头与结尾,并记录种子与“模式→选择”映射。
工作流程:通读用户指定的卡片;抽取种子并做迷你处理,草拟三种结构选其一,在峰值放置一个原生动作;先用真实绘制代码构建两三个关键帧并用 helios still 渲染,按签名清单检查,修正外观后再动画;使用演示的技法而非其构图;用 6–10 个关键时间点的静帧、每 0.5 秒的 sheet、最快动作的 strip、精细纹理与文字的裁剪图进行审查,再 verify 和 check;与演示对比结构、开头、签名镜头、镜头路径、节奏、结尾六项,至少四项不同。
适用场景
适用于需要特定印刷、图形或复古媒介质感的代码视频,例如用户点名“risograph”“旧蓝图”“瑞士风格”等;也适用于用户希望从已知风格中选择方向时。不适用于用户未指定风格且不需要该库的原创设计场景,也不适用于需要遵循品牌设计系统的场景(除非用户主动要求借用某种处理)。
限制
风格卡的不变量优先于通用运动规则;每个风格通常只保留一个强调色用于一个元素或一个时刻;步进风格以 24 fps 渲染,角色和手工元素按 12 fps 步进,镜头需平滑;纹理需带种子且每镜头基本固定,不得使用 Math.random();纹理必须能通过编码,半调点周期至少 7 像素、细线至少 1.5 像素、颗粒要细微;必须通过 helios check(WCAG 2.3.1)的闪光检查;跟踪主体的元素必须经过同一相机函数;关键瞬间主体至少占画面高度三分之一;字幕需融入风格世界并保持足够时长;只能描述媒介语法,不得模仿具体艺术家、工作室、电影、品牌或事件身份。卡片与演示的素材来源在 THIRD_PARTY.md 中说明,风格改编自两个 MIT 许可库:lemo-opuscar(LemoLab)和 mg-styles-15(Vincentwei1021)。