# Geomatic — Interactive Geometry & Math Editor > Geomatic is a declarative, canvas-based geometry and math editor. Users write line-by-line commands to create geometric figures, perform computations, run animations, and build interactive articles. All commands follow the form `y = \function arg1 arg2 ...` or `\function arg1 arg2 ...` (no nesting). This file is an index for LLM context; see /llms-full.txt for full documentation. ## Function Reference Complete reference for all available Geomatic commands, including signatures, input/output types, and auxiliary nodes. Covers: basic figures (point, line, circle, ellipse, triangle, polygon), intersections, curves, transformations, scalar math, tensor ops, and special commands (highlight, hide, animate, trail, autodiff). ## Macros Macros are `.json` files — arrays of `{ "macro": "name", "commands": [...] }` objects. Each command string is a Geomatic command. Macros are loaded into the editor and executed sequentially. See /llms-full.txt for annotated examples covering animations, rolling curves, Lissajous figures, convex hulls, and geometric theorems. ## Interactive Articles Articles are extended markdown files where inline text can trigger Geomatic commands via `{description}(command)` syntax. They support sliders (`::slider[values, target]`), circular sliders (`::circular-slider[values, target]`), collapsible sections (`####`), and LaTeX math. See /llms-full.txt for full annotated examples. ## Generating Commands from a Task How to turn a natural-language task (e.g. "visualize a cardioid") into a valid list of Geomatic commands: the golden syntax rules (one command per line, no nesting, dash-only names), broadcasting, built-in nodes (`p0`, `animation-speed`, `unit`), a worked cardioid example, and a pre-flight checklist. See /llms-full.txt. ## Design Principles (Aesthetics & Layout) How to make a canvas look good: canvas scale via the `unit` node, evenly spaced grids and points/angles on a circle, decluttering (`\hide`, `\remove`, `\clear`, `\highlight`), reactive text labels (`\text` with `${...}` interpolation), `\annotate-text-box` layout, and animation patterns. See /llms-full.txt. ## Optional - [Full documentation](https://www.tinyvolt.com/llms-full.txt): All content combined — function reference, macro examples, and article examples in one file.