用途
Rive Script Builder 用于构建准确、可运行的 Rive Luau 脚本。它面向需要在 Rive 中编写或修改脚本的场景,覆盖 Node、Layout、Converter、Path Effect、Transition Condition、Listener Action、Util 和 Test 等协议。其目标是在协议选择、Luau 签名、编辑器接线等方面保持正确,并尽量减少与用户的来回沟通。
主要能力
- 根据用户目标推荐合适的协议,并锁定精确的方法签名。
- 生成最小、可运行、带类型的 Luau 脚本,并附带编辑器接线步骤、调试清单和测试建议。
- 内置常用协议的基础知识,并优先通过 Context7 MCP 查询精确或不确定的 API 细节;若不可用,则回退到 sync_rive_docs.py 的在线/缓存/离线链路。
- 提供协议路由、API 签名速查、数据绑定、脚本输入、指针事件、路径 API 性能、质量门禁等参考文档。
- 提供最小 Luau 模板和实用案例配方,便于从常见任务快速起步。
使用方式
该技能按阶段工作:
- 阶段 0:在需要精确 API 确认时进行实时文档查询,查询顺序为 Context7 MCP(首选)、scripts/sync_rive_docs.py(次选回退)。
- 阶段 1:确定目标协议,锁定方法签名,明确假设。
- 阶段 2:仅询问会改变实现决策的问题。
- 阶段 3:对于宽泛、不明确或需要多脚本的任务,先给出待定实现计划并请求确认。
- 阶段 4:在请求明确或获得批准后,生成最小可运行的 Luau 脚本。
- 阶段 5:交付时始终包含最终 Luau 代码、编辑器接线说明、调试清单和测试建议。
对于明确要求编写/修复/审查代码且协议清晰的情况,可直接进行小型实现;若有一两个细节不明确,可先做出合理假设并说明。
适用场景
适用于在 Rive 中编写或修改 Luau 脚本,包括节点逻辑、布局、转换器、路径效果、过渡条件、监听器动作、工具逻辑和测试脚本等。也适用于需要编辑器接线指导、调试和测试建议的场景。
限制
- Rive 脚本运行在 Rive 的沙箱化 Luau VM 中,不是 Roblox、浏览器 JavaScript 或普通 Lua。
- 禁止使用文件 I/O、网络、os.execute、loadstring、Roblox 全局变量,或为可附加脚本使用共享可变模块状态。
- 脚本名称应为 PascalCase,主导出类型应尽量与脚本名称一致。
- 每个可附加脚本返回一个工厂函数,为每次附加创建新实例。
- 对 init 中创建的 Rive 对象、编辑器分配的引用、Input<Data.X> 等延迟初始化的值使用 late()。
- Input<Trigger> 默认为 function() end,不是 late() 或 nil。
- 原始 Input<T> 值直接读取,例如 self.speed,而不是 self.speed.value。
- 普通脚本输入对脚本而言实际上是只读的;运行时写入应通过 ViewModel 数据。
- Color 不可变;通道辅助函数返回新颜色。
- 回调应保持有界和确定性;长时间同步循环可能被运行时终止。
- 不得编造 API、生命周期方法或编辑器菜单。
- 优先使用 Vector 作为规范向量类型;Vec2D 可作为别名存在,但不应作为生成代码的默认。
- Node.update(self) 用于输入变化时的重新计算;PathEffect.update(self, inPath) 接收宿主路径数据并返回替换路径数据。
- Luau 使用 ~=、and、or、not;不要输出 JavaScript/C 语法如 !=、&&、||、!。
- 不要使用 import/export default;使用 Rive 的 require("UtilName") 和 return 模式。
- 不要在 draw 中修改状态;在 update 中重建路径,或在 advance 中绘制前重建。
- 不要在同一帧中绘制路径后再次修改或 reset() 它。
- TransitionCondition.evaluate 应保持快速且无副作用。
- ListenerAction.perform 用于副作用。
- PathEffect 的 update 应保持确定性;仅对基于时间的行为使用 advance。
- 脚本不能设置普通输入值;可写数据应通过 context 或 view model 访问。
- 将字符串绑定到 Text Runs,而不是父级 Text 对象。
- 不再需要时移除长期监听器以避免泄漏。
- 若缺少必要细节,应在编码前询问。
参考文档
该技能包含以下参考文档:实时文档同步与回退规则、跨平台发布指南、协议路由与方法契约、签名与 API 速查、按协议分类的澄清问题清单、数据绑定深入、脚本输入深入、指针事件手册、路径 API 与性能说明、最终质量门禁、Context7 查询模板、完整镜像索引、完整上游镜像文件夹、编辑器附加与绑定步骤、调试与测试工作流、常见错误与修复、最小 Luau 模板、实用案例配方。