Nodes Overview
MaStro's Geometry Nodes are the engine that converts parametric data into architectural geometry. They read the custom mesh attributes set by the Python layer and produce walls, façades, road surfaces, and annotations — all procedurally, without any manual modelling.
Where the Nodes Live
All MaStro node groups are stored in a single .blend file distributed with the extension. When you create a MaStro object, the relevant node groups are linked into your scene automatically. You can find them in the Outliner under Blender File → Node Groups.
Because the node groups are linked (not appended by default), updates to the .blend file propagate to your scene when you reload. If you want to customise a node group, you can make it local (Object Data → Geometry Nodes → Make Local), but note that local copies will not receive future updates.
Node Categories
The MaStro node library is organised into eight categories, each covering a distinct aspect of architectural or urban modelling:
| Category | Description |
|---|---|
| Architecture | Walls, façades, openings, and other building elements |
| Curve | Curve-based geometry operations |
| Indices | Index manipulation and filtering utilities |
| Instances | Tools for working with instanced geometry |
| Materials | Material assignment and filtering |
| Mesh | General mesh operations |
| Street | Road surface generation, intersections, and lane geometry |
| Utilities | General-purpose helpers, including viewport orientation |
Each category is documented in its own section. See the navigation on the left.
Viewport Orientation Node
One node worth highlighting here is the Viewport Orientation node (in the Utilities category). Architectural drawings often include dimension annotations — quote architettoniche — that must always remain readable regardless of how the user rotates the 3D view. This node exposes the current viewport rotation to Geometry Nodes in real time, so that text and dimension graphics generated by GN can be kept facing the camera at all times.
Extending the Nodes
MaStro is designed to be extended. The node groups are documented and follow consistent naming conventions, making it straightforward to build additional nodes on top of the provided ones. Any Geometry Nodes modifier that reads MaStro's custom attributes (mastro_typology_id, mastro_list_use_id_A, etc.) can participate in the same data pipeline.