AgentSkillsCN

vvvv-editor-extensions

帮助创建vvvv gamma编辑器扩展——包括.HDE.vl文件命名规则、Command节点注册与快捷键绑定、SkiaWindow/SkiaWindowTopMost窗口类型、与WindowFactory的对接,以及通过VL.Lang Session节点实现对悬停/选中节点的API访问。在构建编辑器插件、自定义工具窗口,或自动化编辑器工作流时使用此功能。

SKILL.md
--- frontmatter
name: vvvv-editor-extensions
description: Helps create vvvv gamma editor extensions — .HDE.vl file naming, Command node registration with keyboard shortcuts, SkiaWindow/SkiaWindowTopMost window types, docking with WindowFactory, and API access to hovered/selected nodes via VL.Lang Session nodes. Use when building editor plugins, custom tooling windows, or automating editor workflows.
license: CC-BY-SA-4.0
compatibility: Designed for coding AI agents assisting with vvvv gamma development
metadata:
  author: Tebjan Halm
  version: "1.0"

Editor Extensions

Extensions are standard VL patches saved with a .HDE.vl suffix. They run automatically when open in the editor.

File Naming

ContextRequired Name
Standalone extensionVL.MyExtension.HDE.vl
Extension-only NuGetVL.MyExtension.HDE (package ID)
Mixed NuGet main docVL.MyPackage.vl
Mixed NuGet extension docVL.MyPackage.HDE.vl

Required NuGet References

  • VL.HDE — provides Command node, window types, WindowFactory
  • VL.Lang — provides API nodes under the Session category

Command Node

Registers a command in the editor menu:

PinPurpose
LabelMenu text
VisibleShow/hide the command
ShortcutKeyboard binding
OutputTriggers (bang) on activation

Multiple Command nodes can live in one .HDE.vl document.

Warning: A runtime error in one command may affect all others in the same document.

Window Types

TypeBehavior
SkiaWindowSlimmed-down Skia renderer window
SkiaWindowTopMostAlways-on-top, no focus steal

Docking

Wrap window with WindowFactory node. Connect WindowContext and Window pins.

Template: VL.HDE/Template.HDE.vl

API Access

Access hovered/selected nodes, read/write pins via VL.Lang Session category nodes. Browse available API in the HelpBrowser's API section.

Developer Shortcuts

  • Shift+F9 — restarts all extensions simultaneously

Limitations

  • Settings panel integration is not yet possible
  • Extensions only run in the editor, not in exported applications