sverchok-impl-custom-nodes

Enforce correct update lifecycle and sv_get/sv_set nesting in custom Sverchok nodes.

30|4|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill sverchok-impl-custom-nodes-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sverchok-impl-custom-nodes
Source: https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package/tree/main/skills/sverchok/impl/sverchok-impl-custom-nodes
Command: npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill sverchok-impl-custom-nodes-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents silent Sverchok node bugs that occur when custom nodes are implemented with the wrong lifecycle, socket setup timing, update callbacks, or incorrect sv_get/sv_set nesting—leading to nodes that “run” but produce incorrect data downstream.

Core Features & Use Cases

  • Correct node lifecycle: guides you to implement sv_init, process, sv_update, sv_copy, and sv_free in a way that works with Sverchok’s update system.
  • Safe and correct data flow: enforces using sv_get/sv_set correctly (including deepcopy safety and proper nesting like [[data]] vs multi-object lists).
  • Reliable registration and dependencies: covers Blender class registration patterns and Sverchok dependency flags to avoid runtime import failures.
  • BMesh integration and performance patterns: includes BMesh usage with guaranteed bm.free and provides NumPy vectorization and error-handling patterns.
  • Practical use cases: create new node types, package them as Blender add-ons, integrate BMesh-based geometry processing, and ensure nodes update when properties or the scene/frame change.

Quick Start

Use the sverchok-impl-custom-nodes skill to generate a production-ready custom Sverchok node implementation that creates sockets in sv_init, uses updateNode for all bpy.props update callbacks, checks output linkage before computing, writes outputs with correct nesting via sv_set, and applies BMesh logic with bm.free when needed.

Frequently Asked Questions about sverchok-impl-custom-nodes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Sverchok custom node run but output incorrect data downstream?

Incorrect Sverchok custom node data usually stems from flawed update lifecycle, socket setup timing, or improper sv_get/sv_set nesting. Enforcing correct node initialization and deepcopy safety prevents silent data corruption and ensures accurate downstream processing.

How do I implement the correct update lifecycle for a Sverchok custom node?

To implement a correct Sverchok update lifecycle, define sv_init, process, sv_update, sv_copy, and sv_free methods properly. Route all property changes through updateNode and never call process directly to align with Sverchok's internal update system.

How do I safely handle BMesh geometry processing in a Sverchok node?

Safely handle BMesh geometry in Sverchok nodes by creating the BMesh, performing operations, and always calling bm.free afterward. This prevents memory leaks and ensures stable geometry processing within the Sverchok environment.

Can I package my Sverchok custom nodes as a standalone Blender add-on?

Yes, you can package Sverchok custom nodes as a Blender add-on. Use proper Blender class registration patterns and include Sverchok dependency flags to prevent runtime import failures when users install your add-on.

What is the correct way to use sv_get and sv_set in Sverchok nodes?

Correct sv_get and sv_set usage requires proper nesting, such as matching [[data]] structures or multi-object lists, and ensuring deepcopy safety. Always check output linkage before computing and writing outputs to maintain data flow integrity.

Do I need NumPy to optimize Sverchok custom node performance?

NumPy vectorization is recommended for performance-oriented Sverchok custom nodes. Applying NumPy patterns alongside proper error-handling significantly speeds up geometry processing and data manipulation tasks within your node.