2.5k
GitHub Stars
3
Bundled Files
2 months ago
Catalog Refreshed
3 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill openclaw/skills --skill vvvv-troubleshooting- _meta.json292 B
- error-catalog.md3.1 KB
- SKILL.md4.3 KB
Overview
This skill diagnoses and fixes common vvvv gamma problems in C# ProcessNodes, SDSL shaders, and runtime behavior. It guides you through quick checks for missing attributes, framework mismatches, allocation hot spots, shader syntax errors, and runtime leaks or threading issues. Use it to restore nodes to the node browser, stop frame drops, and eliminate runtime crashes.
How this skill works
The skill inspects typical error patterns and provides targeted fixes: class naming and attribute checks for C# nodes, Update signature and output-assignment rules, garbage-generating code patterns, and SDSL syntax pitfalls. It also outlines runtime diagnostics for memory leaks, threading, and assembly/version mismatches, with practical code snippets and configuration checks to apply immediately.
When to use it
- A node compiles but does not appear in the node browser
- Nodes show red or throw exceptions at runtime
- You see GC spikes, stuttering, or rising memory usage
- Shader compilation fails or the shader behaves unexpectedly
- Connected downstream nodes receive null or default values
Best practices
- Remove the "Node" suffix from ProcessNode classes to follow vvvv conventions
- Place out parameters first in Update signatures and always assign outputs
- Avoid allocations and LINQ in hot Update loops; pre-allocate buffers
- Target net8.0 for projects and keep package versions aligned with vvvv’s libs
- Implement IDisposable for native resources and unsubscribe event handlers
- Capture SynchronizationContext in the constructor and marshal callbacks to the VL thread
Example use cases
- Fix a C# node that builds but is missing from the node browser by adding [ProcessNode] and ensuring assembly layout and target framework
- Eliminate frame drops by replacing LINQ and string concatenation in Update with cached buffers
- Resolve downstream null outputs by ensuring cached outputs are always assigned before returning
- Correct SDSL shader compile errors by checking for missing semicolons, incorrect enum bindings, or omitted override keywords
- Stop memory growth by disposing ComPtr<T> and removing lingering event subscriptions
FAQ
Check for [assembly: ImportAsIs], confirm the class has [ProcessNode], ensure the project targets net8.0, place the DLL under lib/net8.0 relative to the .vl document, and verify the project builds cleanly.
My node outputs nothing until inputs change — what's wrong?
Always assign outputs every Update call. Cache computed results and assign the cached value when inputs haven’t changed so downstream nodes receive valid data.