Repository navigation
core concepts
Home > Core concepts
< Previous: Beta License Agreement | Next: Interface tour >
The ideas the rest of the manual assumes - construction vs. node graph, exact geometry, associativity, and the compass-and-straightedge law.
A handful of ideas run through everything in Locus. Understanding them once makes the rest of the manual click.
Locus has two ways to make geometry, and they're complementary:
- Construction (Modeling window): you build objects by hand, each defined relative to others: a midpoint of two points, a tangent to a circle, an intersection of two lines. It's direct and visual.
- Node graph (Nodes window): you describe geometry as a flow of data through nodes. It's parametric and repeatable: one slider can drive a hundred copies.
Neither replaces the other. You typically draw a motif by construction and then repeat and vary it in the node graph.
Locus color-codes every kind of data, and the same color means the same type everywhere you look - so once the palette clicks, you can read the whole interface at a glance.
It starts in the menus. A tool's icon is tinted by what it produces: point tools are blue, curve tools (segments, lines, circles) are green, and the region tools (the booleans) are orange.
Pick a tool and that color carries straight through. The node it creates wears the color on its header; its output socket is the same color; and any wire leaving it is drawn in that color too.
So a green header, a green socket, and a green wire are all saying the same thing: this is a curve. Sockets add a shape on top of the color - a colorblind-safe backup - so you can still tell types apart without relying on color alone. See the full palette on Data types, and how wires read on Sockets & wires.
Color tells you a point's type. Its shape tells you two things at once: how the point was created, and whether you can drag it.
- Filled disc. You placed it yourself, on empty canvas. Nothing holds it, so drag it anywhere.
- Ring with a dot. You placed it on something: a circle, a segment, an arc. It is still yours to move, but only along its host. One degree of freedom instead of two.
- Hollow ring. You did not place it at all. The construction worked it out, from a crossing, a midpoint, a tangent, so there is nothing to drag. Move what it was built from and it follows.
The full set of point kinds is on Points.
Objects remember how they were defined. A perpendicular bisector knows it bisects a particular segment; move the segment and the bisector moves. In the node graph, changing an upstream value re-evaluates everything downstream. You rarely edit geometry directly - you edit the definitions, and the geometry follows.
All geometry is analytic - real lines and arcs with exact math behind them, not polylines pretending to be curves. The booleans (union / intersect / difference) return true arcs, so paths stay smooth and corners meet cleanly at any zoom.
The Modeling canvas follows one design law:
Nothing in the construction that a compass and straightedge couldn't do.
No typing in an angle, no protractor, no numerically-placed vertices. This is a deliberate constraint that keeps constructions honest and, for pattern work, exact.
Note
The node graph is a parametric layer The compass-and-straightedge law governs the construction canvas. The node node graph is a parametric layer that intentionally goes further - offsets, booleans, arbitrary-angle rotation and arrays, grids, image-driven fields. Think of the canvas as the pure construction and the node graph as the machine that repeats and varies it.
Locus works internally in millimeters - the real-world size of the finished piece. Where measurements surface, they're at that real-world scale.
The two windows exchange geometry through two nodes:
- Reference takes a model object and feeds it into the node graph.
- Realize takes the node graph's geometry and makes it real in the model.
Everything you build ultimately flows across this bridge. See Bridging Modeling & Nodes.
< Previous: Beta License Agreement | Next: Interface tour >
- Community & support: ask questions, share your work, and get a license.
Found a bug or have feedback? Open an issue | Docs home | Videos | Credits
Getting Started
- Welcome
- How Locus came to be
- Videos
- Community & support
- Installing & launching
- Licensing & activation
- Beta License Agreement
- Core concepts
- Interface tour
- Your first pattern
Modeling - Drawing
- Canvas basics
- Points
- Typing coordinates
- Lines, rays & segments
- Circles & arcs
- Ellipses
- Compass & straightedge
- Rectangles & squares
- Constraining with Shift
Modeling - Editing
- Selecting objects
- Transform tools
- Align & distribute
- Duplicate, detach & ownership
- Regions & booleans
- Cleanup
- Weld & seams
- Style palettes & Re-ink
Annotation
Layers
Modeling Menus
- File
- Edit
- View
-
Draw
- Select
- Point
- Segment
- Line
- Ray
- Circle: Center Point
- Circle: Center Radius
- Circle: Through 3 Points
- Arc: Center, Start, End
- Straightedge
- Compass
- Compass: Radius
- Ellipse: Center + Axes
- Elliptical Arc
- Rectangle: XY-Aligned
- Rectangle: Directed
- Square
- Regular Polygon: Edge
- Regular Polygon: Center, Vertex
- Regular Polygon: Center, Edge Midpoint
- Dimension: Linear
- Dimension: Angle
- Dimension: Radial
- Label
- Construct
- Combine
- Transform
- Select
- Nodes
The Nodes Window
- Basics of visual programming
- How the node graph works
- Sockets & wires
- Adding & connecting nodes
- Sliders & number inputs
- Keeping the node graph tidy
- View menu (Nodes)
- Lists & collections
- Constants & unit conversions
Node Library
- Overview
- Input
-
Primitives
- Point
- Point: Polar
- Segment
- Line
- Ray
- Circle: Center Point
- Circle: Center Radius
- Circle: Apollonius
- Circle Tangent to...
- Circle: 3 Points
- Arc
- Ellipse
- Elliptical Arc
- Rectangle: XY-Aligned
- Rectangle: Directed
- Square
- Regular Polygon: Edge
- Regular Polygon: Center
- Rectangular Grid
- Oblique Grid
- Triangular Grid
- Construct
- Transform
- Image & Fields
- Combine
-
Data
- Measure
- Numbers
- Lists
- Select
- Clean up
- Display
Clusters
Bridging Modeling & Nodes
Patterns & Symmetry
Image-Driven Fields
Saving, Exporting & Files
Preferences & Language
CLI
Reference




