$npx -y skills add tebjan/vvvv-skills --skill vvvv-editor-extensionsHelps 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
| 1 | # Editor Extensions |
| 2 | |
| 3 | Extensions are standard VL patches saved with a `.HDE.vl` suffix. They run automatically when open in the editor. |
| 4 | |
| 5 | ## File Naming |
| 6 | |
| 7 | | Context | Required Name | |
| 8 | |---|---| |
| 9 | | Standalone extension | `VL.MyExtension.HDE.vl` | |
| 10 | | Extension-only NuGet | `VL.MyExtension.HDE` (package ID) | |
| 11 | | Mixed NuGet main doc | `VL.MyPackage.vl` | |
| 12 | | Mixed NuGet extension doc | `VL.MyPackage.HDE.vl` | |
| 13 | |
| 14 | ## Required NuGet References |
| 15 | |
| 16 | - **VL.HDE** — provides `Command` node, window types, `WindowFactory` |
| 17 | - **VL.Lang** — provides API nodes under the `Session` category |
| 18 | |
| 19 | ## Command Node |
| 20 | |
| 21 | Registers a command in the editor menu: |
| 22 | |
| 23 | | Pin | Purpose | |
| 24 | |---|---| |
| 25 | | `Label` | Menu text | |
| 26 | | `Visible` | Show/hide the command | |
| 27 | | `Shortcut` | Keyboard binding | |
| 28 | | Output | Triggers (bang) on activation | |
| 29 | |
| 30 | Multiple `Command` nodes can live in one `.HDE.vl` document. |
| 31 | |
| 32 | **Warning**: A runtime error in one command may affect all others in the same document. |
| 33 | |
| 34 | ## Window Types |
| 35 | |
| 36 | | Type | Behavior | |
| 37 | |---|---| |
| 38 | | `SkiaWindow` | Slimmed-down Skia renderer window | |
| 39 | | `SkiaWindowTopMost` | Always-on-top, no focus steal | |
| 40 | |
| 41 | ## Docking |
| 42 | |
| 43 | Wrap window with `WindowFactory` node. Connect `WindowContext` and `Window` pins. |
| 44 | |
| 45 | Template: `VL.HDE/Template.HDE.vl` |
| 46 | |
| 47 | ## API Access |
| 48 | |
| 49 | Access hovered/selected nodes, read/write pins via `VL.Lang` `Session` category nodes. Browse available API in the HelpBrowser's `API` section. |
| 50 | |
| 51 | ## Developer Shortcuts |
| 52 | |
| 53 | - **Shift+F9** — restarts all extensions simultaneously |
| 54 | |
| 55 | ## Limitations |
| 56 | |
| 57 | - Settings panel integration is not yet possible |
| 58 | - Extensions only run in the editor, not in exported applications |