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.