返回顶部
v

vvvv-fundamentals vvvv基础概念

Explains vvvv gamma core concepts — data types, frame-based execution model, pins, pads, links, node browser, live compilation (source project vs binary reference workflows), .vl document structure, file types (.vl/.sdsl/.cs/.csproj), ecosystem overview, and AppHost runtime detection. Use when the user asks about vvvv basics, how vvvv works, the live reload model, when to patch vs code, or needs an overview of the visual programming environment.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
302
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

vvvv-fundamentals

技能名称: vvvv-基础

vvvv gamma 基础

什么是 vvvv gamma

vvvv gamma 是一个面向 .NET 8 的可视化编程环境。它将基于节点的连线式编程与 C# 代码生成相结合,主要针对 Stride(3D 引擎)和 .NET API。程序通过在可视化编辑器中用连线连接节点来构建。

vvvv 是一个实时编程环境——在构建程序的同时,程序会持续运行。无论是可视化补丁编辑还是 C# 代码更改,都会立即生效,无需重启。vvvv 会在每次保存时通过 Roslyn 自行将 C# 源文件编译为内存中的程序集。

文档结构

  • - .vl 文件 — vvvv gamma 文档(基于 XML,支持版本控制)
  • 每个文档包含补丁(可视化程序)和定义(类型、操作)
  • 文档可以引用 NuGet 包和其他 .vl 文件
  • 补丁资源管理器显示文档的类型层次结构

执行模型

  • - 基于帧的求值 — 主循环每帧(约 60 FPS)对整个图形进行求值
  • 数据从左到右、从上到下通过节点之间的连线流动
  • 处理节点在帧之间保持状态(构造函数 → 更新循环 → 释放)
  • 操作节点是每帧求值的纯函数
  • vvvv 会求值所有已连接的节点,跳过未连接的子图

实时编译模型

vvvv 在您编辑程序时持续运行它。补丁和着色器没有编辑-编译-运行的循环。对于 C#,实时重载取决于代码的引用方式。

补丁更改

  • - 对可视化补丁的编辑会立即生效
  • 节点状态(实例字段)在编辑之间保持不变
  • 新节点和连线将在下一帧激活

着色器更改

  • - .sdsl 着色器文件在保存时始终会实时重载
  • vvvv 在后台重新编译着色器,并在运行的程序中替换它们

C# — 两种工作流程

C# 代码可以通过源项目引用或预编译二进制文件集成。选择取决于项目规模与开发阶段。

源项目引用(实时重载):

当 .vl 文档引用 .csproj 源项目时,vvvv 会通过 Roslyn 自行将 .cs 文件编译为内存中的程序集。无需 dotnet build 或外部工具链。

  • - 保存 .cs 文件时,vvvv 检测到更改并在后台重新编译
  • 状态指示器:灰色 = 构建符号,橙色 = 生成 C#
  • 编译成功后,受影响的节点会重启其生命周期:
1. 对旧实例调用 Dispose() 2. 运行新的构造函数(使用新的 NodeContext) 3. 在下一帧恢复 Update()
  • - 静态字段在重载时重置——整个内存中的程序集被替换
  • 编译出错时,程序将继续使用最后一个有效代码运行

二进制引用(无实时重载):

当 .vl 文档引用预编译的 DLL 或 NuGet 包时,程序集在启动时加载一次。要获取更改,您必须在外部重新构建 DLL(例如 dotnet build)并重启 vvvv。此工作流程适用于不需要实时重载的大型项目和稳定库。

节点类别

处理节点

  • - 具有 Create(构造函数)、Update(每帧)和 Dispose 生命周期
  • 使用 [ProcessNode] 属性以 C# 编写
  • 在帧之间保持内部状态
  • 使用变更检测避免冗余工作

操作节点

  • - 纯函数:相同的输入始终产生相同的输出
  • 编写为静态 C# 方法(由 vvvv 自动发现)
  • 帧之间无状态
  • 不需要 [ProcessNode] 属性

自适应节点

  • - 根据连接的输入类型调整其实现的节点
  • 示例:+ 适用于 int、float、Vector3、string 等
  • 在连线时解析,而非运行时

引脚、焊盘和连线

  • - 引脚 — 节点和区域上的输入和输出
  • 焊盘 — 用于在操作补丁内读取/写入属性的可视化节点;所有同名的焊盘都引用同一个属性
  • 连线 — 引脚之间的连接,定义数据流和执行顺序
  • 扩散 — 当 Spread 连接到单值输入时,节点会自动迭代

何时使用补丁与编写 C#

使用补丁使用 C# 代码
原型设计、数据流自定义节点、性能关键代码
可视化连接、UI 组合
复杂算法 | | 实时参数调整 | .NET 库互操作 | | 数据流路由和扩散 | 原生/非托管资源管理 |

通道 — 响应式数据流

  • - IChannel — 可观察的值容器
  • IChannel.Value — 读取/写入当前值
  • Channel.IsValid() — 检查是否已连接
  • 通道在会话之间保持状态
  • 支持 UI 和补丁之间的双向数据绑定

有关 C# 通道集成模式(IChannelHub、PublicChannelHelper、[CanBePublished]),请参阅 vvvv-channels。

关键数据类型

类型C# 等效类型用途
Spread<T>ImmutableArray<T>vvvv 的不可变集合
SpreadBuilder<T>
ImmutableArray.Builder | 高效构建 Spread | | Float32、Int32 等 | float、int | 基本类型 | | Vector2/3/4 | Stride.Core.Mathematics | 空间数学 | | Color4 | Stride.Core.Mathematics | RGBA 颜色 |

文件类型

扩展名用途
.vlvvvv gamma 文档(基于 XML)
.sdsl
Stride 着色器文件(SDSL 语言) | | .cs | 自定义节点的 C# 源文件 | | .csproj | .NET 项目文件 | | .nuspec | NuGet 包规范 |

生态系统概览

vvvv 的功能通过 NuGet 包扩展,这些包捆绑了 .vl 文档、C# 节点和着色器。

领域关键包
3D 渲染VL.Stride(Stride 引擎)、VL.Fuse(GPU 可视化编程)
2D 渲染
VL.Skia、ImGui、Avalonia、CEF/HTML |
| 硬件 I/O | DMX/Art-Net、ILDA 激光、深度相机(Azure Kinect、ZED)、机器人(KUKA、Spot)、Ultraleap、LiDAR |
| 网络 | OSC、MIDI、MQTT、Redis、WebSocket、HTTP、TCP/UDP、ZeroMQ、Modbus、Ableton Link |
| 计算机视觉 | OpenCV、MediaPipe、YOLO(v8–v11)、ONNX Runtime |
| 音频 | NAudio、VST 宿主、SuperCollider 桥接 |
| 通用 .NET | 通过 .csproj 引用 100,000 多个标准 NuGet 包中的任意一个 |

要添加包:在您的 .vl 文档的依赖项中引用它,或者向您的 .csproj 添加一个 。有关 .csproj 的详细信息,请参阅 vvvv-dotnet。

AppHost 与运行时检测

csharp
// 检测是作为导出的 .exe 运行还是在编辑器中运行
bool isExported = nodeContext.AppHost.IsExported;

// 注册每个应用程序的单例服务
nodeContext.AppHost.Services.RegisterService(myService);

有关详细参考,请参阅 reference.md

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 vvvv-fundamentals-1776205306 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 vvvv-fundamentals-1776205306 技能

通过命令行安装

skillhub install vvvv-fundamentals-1776205306

下载

⬇ 下载 vvvv-fundamentals v1.0.0(免费)

文件大小: 6.73 KB | 发布时间: 2026-4-15 11:32

v1.0.0 最新 2026-4-15 11:32
Initial release of vvvv-fundamentals skill.

- Explains core vvvv gamma concepts: data types, execution model, pins, pads, links, and node browser.
- Details on live compilation: how visual patches, C# code, and shaders reload in real time.
- Describes .vl document structure, supported file types, and workflows for integrating C# code.
- Overview of node categories: process nodes, operation nodes, and adaptive nodes.
- Includes table on when to use patching vs. C# coding, plus a concise ecosystem/package guide.
- Covers AppHost runtime detection and main data types used in vvvv gamma.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部