SuperAPI AI 工具集

vvvv-patching

通用与其它

查看项目

更新于 10-16 01:48

技能介绍

用途:解释 vvvv gamma 可视化编程(补丁)模式,帮助理解数据流、控制流区域、状态节点、通道与补丁组织方式。

主要能力: 数据流基础:子图内自上而下的依赖流,同级子图在二维画布上自左向右读取;位置不决定执行顺序。链接在 pad(输入/输出连接点)之间传递数据;Spreading 将 Spread<T> 连接到单值输入时自动迭代该节点;每帧整个已连接图都会求值,未连接的子图会被跳过。可视化补丁与 C# 源码项目都运行在 live 环境,编辑立即生效;补丁变更保留节点状态,C# 代码变更触发节点重启(Dispose → Constructor)。

何时用补丁、何时写 C#:补丁适合数据流路由、可视化连接、原型与参数调整、UI 组合与布局、简单变换;C# 适合性能关键算法、复杂状态机、.NET 库互操作、原生资源管理。原则是“用补丁做数据流,用代码写算法”。

区域(Regions):控制执行流的可视化结构。ForEach 迭代 Spread 元素(对应 foreach);If 条件执行(if/else);Switch 多分支选择(switch);Repeat 循环 N 次(for);Accumulator 运行中聚合(Aggregate/Fold)。视觉帮助补丁框是 XML Overlay,仅分组呈现,不控制执行。

Process 节点:为补丁添加状态的主要方式,含 Create 区域(运行一次)与 Update 区域(每帧运行),内部状态跨帧持久,可包含子补丁。

通道(Channels):提供双向数据绑定,IChannel<T> 是可观察值容器,.Value 读写当前值,通道跨会话保持状态;在节点间连接通道即可实现响应式更新,无需显式连线。

事件处理:Bang 为一帧 true 脉冲;Toggle 在 true/false 间切换;FrameDelay 将值延迟一帧以打破循环依赖;用 Changed 节点检测值是否在帧间变化。重复的时间动画可使用原生 LFO、GetSlice 与 CosineWave 连线。

补丁组织:补丁与节点名用 PascalCase,按共同类别分组,用描述性名称(动词+名词);自定义 Process 与节点注册名不含空格,保留原有名称、引脚标签与文本。保持补丁单一用途,将可复用逻辑提取为子补丁,用 IOBox 暴露参数,用 Pad 在补丁边界创建输入/输出引脚。共享设置与共同汇/渲染主干应放在特定技术视觉框之外。保持每个演示的控件、功能节点与结果在一起;共享输入读取靠近其消费者。将相同管线提取为小型 Process 辅助器,或在实例真正共享同一拓扑时用循环。有状态调用需要每次调用或迭代的持久状态,不要重复更新同一个可变渲染器并收集其输出别名。保留人工编写的位置、宽度与注释;新增元素就地布局,需要空间时刚性平移已有连贯分组而非重排整个补丁。独立审查辅助画布。

常见反模式:循环依赖(用 FrameDelay 打破)、单个补丁节点过多(提取子补丁)、轮询而非响应(用 Channels 做响应式更新)、忽略 Nil(始终优雅处理 null/空集合输入)。

限制:资料未提供具体版本号、安装步骤、收费与平台信息。