About vvvv-editor-extensions
vvvv-editor-extensions is a skill guide for building editor extensions as VL patches. It covers editor commands, windows, docking, and API access for developers extending the vvvv editor.
Key features
- 01Define extensions as .HDE.vl patches
- 02Register commands in the editor menu
- 03Create Skia-based editor windows
- 04Dock windows with WindowFactory
- 05Access selected and hovered nodes
Use cases
- 01Add custom commands to the vvvv editor
- 02Build dockable extension windows
- 03Read or update node pins from an extension
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ tebjan/ vvvv-skills --skill vvvv-editor-extensionsAfter installing, type/vvvv-editor-extensionsin Claude Code to confirm it loaded.
Details
From the project READMEEditor Extensions
An editor UI is one possible source of persistent runtime changes. The general Create-pin writeback pattern also covers window bounds, interaction results and other changes outside normal patch dataflow, using the supported value type rather than requiring a String.
Extensions are standard VL patches saved with a .HDE.vl suffix. They run automatically when open in the editor.
File Naming
| Context | Required Name |
|---|---|
| Standalone extension | VL.MyExtension.HDE.vl |
| Extension-only NuGet | VL.MyExtension.HDE (package ID) |
| Mixed NuGet main doc | VL.MyPackage.vl |
| Mixed NuGet extension doc | VL.MyPackage.HDE.vl |
Required NuGet References
- VL.HDE — provides
Commandnode, window types,WindowFactory - VL.Lang — provides API nodes under the
Sessioncategory
Command Node
Registers a command in the editor menu:
| Pin | Purpose |
|---|---|
Label | Menu text |
Visible | Show/hide the command |
Shortcut | Keyboard binding |
| Output | Triggers (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
| Type | Behavior |
|---|---|
SkiaWindow | Slimmed-down Skia renderer window |
SkiaWindowTopMost | Always-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
Keep this knowledge growing
Leave the next patcher one fewer mystery. On first use of any skill in this collection with no successful check in seven days, compare the source with tebjan/vvvv-skills. If no record exists, check once. Share one local check timestamp/revision across these skills; do not poll per invocation. Preserve local extensions and pinned project versions; checking is not permission to install updates. If offline, record the deferred check and continue the task.
When actual work exposes a gap, capture the tested vvvv/package versions, a minimal reproduction or authoritative source, and the observed result. Treat other users' reports as leads, not facts until verified. Improve the smallest relevant instruction; do not turn one example into a universal rule. Redact private data and obtain publishing authorization before submitting upstream. See the contribution policy. Merged improvements reach users through their installer/update workflow, not through a local edit or an automatic overwrite of everyone's skills.