Variable Graph
The Variable Graph is a visual node-based editor that shows how variables, pattern pieces, and modules are connected. It gives you a bird's-eye view of your parametric relationships and lets you create, edit, and manage variable links by dragging connections between nodes.
Open the Variable Graph by clicking the graph icon in the Variables section header, or from the bottom panel tab.
Overview
The graph displays three types of nodes:
- Variable nodes — orange header, show the variable name, value, and optional formula/slider
- Shape nodes — blue header, represent pattern pieces with their geometric properties (points, lines, curves)
- Module nodes — olive/green header, represent module instances with transform properties (scaleX, scaleY, rotation)
Connections (edges) between nodes show which variables drive which properties. Orange edges connect variables to shape properties; olive edges connect variables to module transforms; blue edges show direct shape-to-shape property links.
Node Filtering
The graph automatically filters nodes based on your current selection:
- Shape selected — only that shape and its connected variables are shown
- Module selected — only that module and its connected variables are shown
- Nothing selected — all shapes, modules, and variables are visible
Search Filter
Click the magnifying glass button in the top-left toolbar to open a search input. Type to filter nodes by name, piece letter (A, B, C...), or module abbreviation (Md1, Md2...). Connected nodes are kept visible automatically. Press Escape or click the X to clear the filter.
Variable Nodes
Each variable node displays:
- Name — click to rename inline
- Value — click to edit the numeric value directly
- Formula indicator — click the fx button to toggle formula mode
- Slider — click the gear icon to add a slider for quick value adjustments; click again to configure min/max/step
- Output handle (right side) — drag from here to connect to a shape or module input
Editing Variables in the Graph
You can do all variable editing without leaving the graph:
- Change value — click the value, type a new number, press Enter
- Rename — click the name, type a new name, press Enter
- Toggle formula — click fx to switch between fixed value and formula mode
- Edit formula — expand the node (click the chevron), then edit the formula with syntax highlighting; use the code button to insert expressions from a categorized dropdown
- Add slider — click the gear icon; configure min, max, and step values
- Delete — click the trash icon to remove the variable and all its links
- Duplicate — use the context menu to create a copy
Formula Editor
When a variable is in formula mode and expanded, the node shows a syntax-highlighted code editor. Formulas use the same expression language as the sidebar:
VariableName— references to other variables (orange)A1.A2— geometric expressions like line lengths (yellow)+ - * / ( )— operators (blue)
A live preview below the editor shows the computed value, or "Invalid formula" if there's an error.
Shape Nodes
Shape nodes represent pattern pieces and show their geometric properties as input handles on the left side:
- Point properties —
A1.x,A1.y(coordinates),A1.r(border radius) - Line properties —
A1.A2(line length),A1.A2.curve(curvature),A1.A2.seam(seam allowance) - Panel properties —
A.width,A.height,A.perimeter,A.area
Expanding Properties
Shape nodes start collapsed, showing only properties that already have connections. Click the chevron to expand and see all available properties.
To add a specific property without expanding, click the + button and select from the categorized dropdown. Properties are grouped by:
- Points — coordinates and border radius
- Lines — lengths, curves, seam allowances
- Panel — overall dimensions
Point & Line Selection
Click on a point property (e.g., A1) to select that point on the canvas. Click on a line property (e.g., A1.A2) to select that line. This syncs the graph with the canvas selection.
Module Nodes
Module nodes show the transform properties of module instances:
- scaleX — horizontal scale factor
- scaleY — vertical scale factor
- rotation — rotation angle in degrees
Connect a variable to any of these properties to control module transforms parametrically.
Creating Connections
Variable to Shape Property
- Drag from a variable node's output handle (right side)
- Drop on a shape property's input handle (left side)
- The variable now drives that shape property
Variable to Module Property
- Drag from a variable node's output handle
- Drop on a module property's input handle
- The variable now controls that module transform
Shape to Shape (Direct Links)
You can also connect shape properties directly to each other without an intermediate variable:
- Drag from a shape property's output handle (right side)
- Drop on another shape property's input handle
- The target property now mirrors the source
Direct links appear as blue edges in the graph.
Creating Variables on Connect
If you drag a connection from a shape property that has no variable, a new variable is automatically created with the current value and linked to that property.
Removing Connections
- Select an edge and press Delete to unlink
- Drag an edge endpoint away from its target and release on empty space to unlink
- Reconnect by dragging an edge's target handle to a different property
Toolbar
The top-left toolbar provides:
| Button | Action |
|---|---|
| Zoom In | Zoom into the graph |
| Zoom Out | Zoom out of the graph |
| Fit View | Fit all nodes into the viewport |
| Refresh | Re-layout all nodes (sorted by name) |
| Search | Open the node filter input |
You can also scroll to zoom and drag the background to pan.
Tips
- Hover over a node to highlight all its connected edges — dimming unrelated connections makes it easy to trace relationships
- Use the search filter when working with large patterns to focus on specific pieces or variables
- Expand variable nodes (chevron) to see and edit formulas inline
- Direct shape-to-shape links are great for keeping dimensions in sync without creating extra variables
- The graph and canvas stay in sync — selecting a point or line in the graph selects it on the canvas, and vice versa