The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

node-descriptors

node-descriptors

Guides Meshroom node descriptor authoring, attribute schemas, command-line nodes, init/input/output nodes, dynamic sizes, and reusable general utility nodes.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: node-descriptors description: "Guides Meshroom node descriptor authoring, attribute schemas, command-line nodes, init/input/output nodes, dynamic sizes, and reusable general utility nodes." disable-model-invocation: true metadata: disco-role: operating license: NOASSERTION

Meshroom Node Descriptors

Use this route when creating or reviewing a Python node type, exposing inputs/outputs, wrapping an external executable, initializing inputs from CLI/UI, or diagnosing descriptor validation errors.

Read First

Choose the Base Class

NeedDescriptor base
Python computation in the current Meshroom environmentdesc.Node, implement process(self, node) or processChunk(self, chunk)
Wrap an external executabledesc.CommandLineNode, define commandLine and inputs/outputs
Placeholder/input-only nodedesc.InitNode, optionally mix in desc.InputNode and implement initialize
Export destination configurable from templates/CLImix in desc.OutputNode and expose outputAttributes
Visual grouping onlydesc.BackdropNode

Authoring Loop

  1. Define a descriptor module with a stable class name and optional __version__.
  2. Declare inputs, outputs, category, documentation, resource levels, size, and parallelization.
  3. Validate defaults and nested attributes before loading the plugin.
  4. For a Python node, write outputs under node.internalFolder or descriptor expression paths such as {nodeCacheFolder}/result.txt.
  5. For a command-line node, verify placeholders with a tiny fixture and inspect the generated command before running an external binary.
  6. Register the node through a plugin or MESHROOM_NODES_PATH; do not mutate the core registry ad hoc in production.
  7. Add focused tests for descriptor validation, command-line formatting, dynamic outputs, and serialization.

Important Boundary

Descriptor classes define static schema. Live values, links, UIDs, status, and cache belong to the core graph/node objects. If a question is about graph serialization or compatibility, route to core-graph-engine.

Saved skills