Contributing to mrHelloWorld
February 26, 2026 ยท View on GitHub
Thank you for considering contributing to this project. This guide explains how to add new example nodes, write tutorials, and submit your work.
Adding a new example node
- Create a new file in
meshroom/helloWorld/following the naming convention:HelloYourFeature.py. - The class name must match the filename (e.g.,
HelloYourFeature.pycontainsclass HelloYourFeature). - Follow the patterns established by the existing nodes:
__version__ = "1.0"at the top- Module-level imports:
import os,from meshroom.core import desc,from meshroom.core.utils import VERBOSE_LEVEL - Lazy imports for heavy libraries inside
processChunk try/finallywithlogManager.start()/logManager.end()- Every parameter has
name,label,description category = "Hello World"
- Add comments explaining what the node demonstrates. This is a teaching repository โ clarity matters more than brevity.
- Update the nodes table in
README.md.
Code style
- Match the style of existing nodes. Consistency is more important than personal preference.
- Use
chunk.logger.info()/.warning()for user-facing messages. - Use
.format()for string formatting to match the style of existing Meshroom plugins and nodes in this repository. - Keep imports organized: standard library, then meshroom, then lazy imports inside
processChunk.
Writing a tutorial
- Create a new file in
docs/tutorials/following the numbering convention:NN-hello-your-feature.md. - Structure your tutorial with these sections:
- What you will learn
- Prerequisites
- The code (with annotations)
- How to test it in Meshroom
- Expected result
- Screenshot placeholders
- Include at least one code snippet from the node file.
- Add at least one screenshot placeholder referencing
docs/images/.
Adding screenshots
- Take screenshots from the Meshroom UI showing:
- The node in the node graph
- The parameter panel
- The output in the 2D viewer (if applicable)
- Save them in
docs/images/with descriptive names:hello-your-feature-node.png,hello-your-feature-output.png. - Recommended resolution: 1200px wide or larger.
- See
docs/images/README.mdfor the full naming convention.
Pull request process
- Fork the repository and create a branch for your contribution.
- Implement your changes following the guidelines above.
- Test your node in Meshroom (set
MESHROOM_PLUGINS_PATHand verify it loads and computes). - Submit a pull request with a clear description of what your node demonstrates.
Ideas for future nodes
Contributions demonstrating any of these patterns are welcome:
- HelloDocker: A node that wraps a Docker container for processing.
- HelloShapeList: A node using
desc.ShapeListfor multiple shapes. - HelloPushButton: A node with a
PushButtonParamfor interactive callbacks. - HelloMultiDynamic: A node using
MultiDynamicNodeSizewith parallelization. - HelloGroup: A node demonstrating
GroupAttributeandListAttributepatterns. - HelloNetwork: A node that communicates with an external service or API.
If you have other ideas, open an issue to discuss before starting implementation.