Overview
A path editor that manages multiple subpaths as layers in one node. For a sword made
of blade, guard, and grip—one motif composed of several shapes—this single node
replaces several bezier_path nodes. In addition to the combined path output, each
layer can be exposed as its own Path output.
- Version: 1
- Interactive: yes (double-click to open the editor)
- Editor:
MultiPathEditor - Japanese/English support: yes (fully localized through
useI18n)
Usage tips
- Choose by structure: one isolated shape →
bezier_path; a collection of parts forming one motif → this node. - Expose each layer as a pin (
layer_N) and send it throughpath_stroke/path_fillwith separate colors for part-based coloring such as a white blade and brown grip. - You can instead pass the combined output (
path) topath_stroke(sub_path_scope: Single)and select by index, avoiding extra pins. - It can save and load
.pxpathfor a single path and.pxmpathfor all layers. Assets made withbezier_pathcan also be imported as layers.
Common pitfalls
- It is unclear which layer is being edited: check the active layer in the left panel. Temporarily hide other layers with 👁️ to make editing easier.
- Everything fills with the same color: sending the combined
pathoutput to one path_fill naturally produces one color. Separate part colors with exposed layer pins or Single selection. - Broken
path_datacannot be loaded: an empty string is a valid empty editor. Nonempty JSON with invalid syntax or an invalid multi-path schema produces a NodeError instead of silently becoming an empty path.
Editor features
Toolbar
| Tool | Icon | Description |
|---|---|---|
| Free | 🔀 | Combined tool for moving control points, appending to the end, and splitting curves |
| Add | ➕ | Click to add a new control point |
| Move | ✋ | Drag to move a control point |
| Delete | ❌ | Click an anchor to delete it |
| Select | ⬚/〇/⬣ | Area selection (choose the mode from the drop-down) |
Area selection tools (drop-down)
| Mode | Icon | Operation |
|---|---|---|
| Rectangle selection | ⬚ | Drag to create a rectangular selection |
| Lasso selection | 〇 | Drag to create a freehand selection |
| Polygon selection | ⬣ | Click to add vertices, then double-click to finish |
Drag selected control points to move them together. Shift+click adds individual points; Shift+drag constrains movement to an axis.
Other toolbar features
- 🔒/🔓 Close/Open: close or open the active layer's path
- 💾 Save: choose from the drop-down menu
- 📄 Save active layer (.pxpath) — save the selected layer as a single path
- 📦 Save all layers (.pxmpath) — save the complete layer structure
- 📂 Load: choose from the drop-down menu
- 📄 Load as layer (.pxpath) — append it as a new layer
- 📦 Load all layers (.pxmpath) — replace all layers
- 🔍 N×: show the current zoom level
Saving and loading files
Path data can be managed in files independently of the project. Two formats are supported:
| Extension | Use | type field | Description |
|---|---|---|---|
.pxpath |
Single path | bezier |
One layer of path data, compatible with Bézier Path |
.pxmpath |
Multiple paths | multipath |
Complete data for the entire layer structure |
With Load layer (.pxpath), existing layers remain and file contents are appended as a new final layer. With Load all (.pxmpath), all existing layers are replaced.
A .pxpath saved by the Bézier Path node can also be loaded as a layer, providing
cross-editor compatibility.
Layer panel (left side of the editor)
- Add a layer with ➕
- Click to switch the active layer
- Toggle visibility with 👁️
- Delete a layer with ✕ (at least one layer always remains)
Canvas
- Active layer: drawn in normal colors and editable
- Inactive layers: drawn at 25% opacity and not editable
- Each layer uses a distinct display color: green, purple, orange, cyan, and so on
Keyboard shortcuts
- Ctrl+Z: Undo (restore all layers)
- Ctrl+Y: Redo
- Shift+click: 16-direction pixel snapping
Operation help (bottom of the editor)
Instructions for the active tool appear automatically at the bottom of the editor in Japanese or English.
Difference from Bézier Path
| Feature | Bézier Path | Multi Path |
|---|---|---|
| Number of paths | One path | Multiple paths (layers) |
| Expose segments as output pins | ✅ seg_N | ❌ |
| Expose layers as output pins | ❌ | ✅ layer_N |
| Visual editing of multiple paths | ❌ | ✅ |
| Area selection tools | ✅ | ✅ |
| File saving | .pxpath | .pxpath + .pxmpath |
| Use | Fine control of one path | Combining multiple paths |
Examples
Basic usage
- Double-click the node to open the editor.
- Draw a path on Layer 1.
- Add Layer 2 with ➕ and draw another path.
- Edit while checking the positions of all overlaid layers.
- Connect the
pathoutput to PathStroke / PathFill.
Processing an individual layer
- In the inspector, use 📤 on
layer_Nto expose it as an output pin. - Process the extracted Path with PathTransform.
- Recombine it with other paths using PathCombine.
Reusing and sharing paths
- Choose "Save active layer" from the 💾 drop-down and save it as
.pxpath. - In another project, choose "Load as layer" from the 📂 drop-down.
- Paths created with Bézier Path can be loaded from the same
.pxpathformat.
Moving multi-path data between projects
- Choose "Save all layers" from the 💾 drop-down and save it as
.pxmpath. - In another project, restore it with "Load all layers" from the 📂 drop-down.
Related nodes
bezier_path— single-path versionpath_stroke/path_fill— rasterize layers, with layer selection through Singlepath_combine/path_split— combine or split paths in the graphpath_transform— place drawn parts