A list of all the cool stuff ABCD.EARTH can do. From the ‘primordial life’ of geometry; points and lines, to most complex constellations such as IVM trusses, dynamic geodesics, and nested polyhedral families.
(expand section toggles to read more)

arccos(−1/3 ) ≈ 109.47º in conventional angle units.
The Coordinate Systems, XYZ and ABCD, the one thing no other mathematical or CAD or BIM software can do, not natively, and not as part of its core math and geometry engine. This ABCD vector system is what makes it so easy to do things that are nearly impossible in regular systems, with rational precision, such as complex Quadray rotations and Geodesic constructions, as well as IVM and Lattice grids (IVM = Isotropic Vector Matrix). The ABCD system has a novel class of rotations (Rotors) that preserves algebraic precision right to the screen’s clip space. Geometry remains clean, without taking away your ability to do all regular operations in XYZ at the same time. The systems are complementary.
ABCD basis vectors (Quadrays) are here represented as:
A [1,0,0,0] Yellow Basis Vector
B [0,1,0,0] Red Basis Vector
C [0,0,1,0] Blue Basis Vector
D [0,0,0,1] Green Basis Vector
ABCD vectors define Quadray space. In Cartesian terms, the base Tetrahedron is described as:
Quadray in Cartesian Notation
A = (-1,-1,+1)/√3 index 0, right-circulant
B = (+1,+1,+1)/√3 index 1, left-circulant
C = (-1,+1,-1)/√3 index 2, right-circulant
D = (+1,-1,-1)/√3 index 3, left-circulant
√3 figures in only as a translation factor, as the cube’s diagonal is √3 when the cube edge = 1.
√2 is the Square’s diagonal where the end = 1. We can avoid expansion of radicals by working purely in the tetrahedral coordinate space.
A note on the World-Up vector. As best I can surmise, Mathematicians historically drew on a blackboard, where typically the board represents the X-Y plane, so for them, World-Up is out of the blackboard, which is the Z-vector. That places World Up as the Y axis.
But Architects and Engineers historically drew on drafting boards, so their X-Y plane is horizontal, and the World-Up is the Z-vector. We don’t think it is terribly important whether Z-up or Y-up is used, so we let the user select Z-up, D-Up, or Y-up. Everything works the same in space, regardless of what planet you might be on. The math engine however uses Y-up for its calculations.


Each point tracks in XYZ and ABCD coordinate space, but to be visible we assign a ‘Node’ to points, where nodes are small geodesic spheres, 3F Icosahedra to be precise. The reason for this is these small geodesics have few polygons and so render well. With smoothing they render as spheres. You can place and select a point anywhere in space, and observe the coordinates tracking its translations in space.

Any 2 Points can be connected to form a line object. Lines are the most basic form of Connected Geometry, where multiple co-planar lines can be Connected to form polygons (any three points alone are always coplanar) and lines can be Connected to form Connected Polyhedra. When any regular Ideal Polyhedron is Exploded, its constituent parts are Connected Points/Vertices, Lines/Edges and Polygons/Faces. These terms are all used interchangeably. Ideas are the original geometric forms as defined in the math engine, and Instances are copies placed into the workspace by the user. Instances are Editable, Ideas are not.

Regular polygons — triangles, squares, pentagons, hexagons, and beyond — are the faces of every polyhedron. ABCD.EARTH is unique in offering three independent methods to generate any regular N-gon, each with different algebraic properties:
Classical — the familiar sin/cos method that every other CAD tool uses. We include it as a reference baseline, but it introduces transcendental numbers (π, sin, cos) and floating-point rounding at every vertex. Wildberger/Weierstrass — N.J. Wildberger’s tangent half-angle recurrence. Starting from a single square root (the spread of the first vertex), all subsequent vertices are generated by pure rational algebra — no further trig calls, no π. This is the method that makes polygons with 3, 4, 5, 6, 8, 10, and 12 sides algebraically exact. Quadray Projection — our native method. Polygon vertices are computed as projections of Quadray ABCD basis vectors onto a plane, using the RT spread-based construction. No coordinate conversion, no Cartesian intermediate — the polygon lives in Quadray space from birth.
All three methods produce visually identical polygons. The difference is under the hood: Classical gives you 15-digit floats, Wildberger gives you exact algebraic coordinates, and Quadray Projection gives you exact coordinates that are native to the ABCD system the rest of the engine operates in. The Geometry Info panel shows the vertex coordinates from each method side by side, so you can see the precision difference for yourself.

As below, Connected Points and Lines can form first Polygons and Polygons can be Connected into Polyhedra. Similarly, Instances of Ideal Polyhedra can be Exploded into first Connected Polyhedra, then exploded again into Points, Lines and Faces, interchangeably referred to as Vertices, Edges and Polygons.

At the heart of ABCD.EARTH is a library of 32 polyhedra — every Platonic, Archimedean, and Catalan solid — all defined in pure Quadray ABCD coordinates. We call these Ideas, borrowing Plato’s (well, Socrates, but it goes back further still!) term for the eternal, perfect forms that underlie reality, where Instances are copies of the Ideas placed in time. Instances can be edited, scaled, moved, exploded, constrained, etc. where Ideas are parametric library objects and cannot be edited beyond their core parameter set (which is extensive).
The 6 Platonic Solids — Tetrahedron, Dual Tetrahedron, Cube, Octahedron, Icosahedron, Dodecahedron — form the foundation. The first four use only integer {0, 1} coordinates. The icosahedral family uses the golden ratio (φ), which is algebraic, never a decimal approximation.
The 13 Archimedean Solids are produced by general operations — truncation, rectification, cantellation — applied to Platonic parents. The 13 Catalan Solids are their duals, computed automatically. Toggle any Idea on with a single switch, and place instances of it into your scene.

Buckminster Fuller’s geodesic domes are perhaps the most famous application of polyhedral geometry. ABCD.EARTH generates geodesic subdivisions of all 6 Platonic bases at any frequency, using four projection modes: Spherical (vertices projected to circumsphere), Flat (planar subdivision), Dual (hexagonal tiling), and Goldberg (mixed hex-pent).
The Frequency slider in the sidebar controls the subdivision depth. At frequency 1 you see the base solid; at higher frequencies, the triangular grid becomes finer and the shape approaches a sphere. This is the same principle used in architectural dome construction — and here every strut length and node angle is algebraically exact.
Why is this more precise than conventional geodesic tools? Classical software subdivides in Cartesian XYZ space, then projects each vertex to a sphere using trigonometric functions — sin, cos, and normalize() — which introduce floating-point rounding at every step. ABCD.EARTH takes a fundamentally different approach rooted in Rational Trigonometry: all subdivision is performed in Quadray (ABCD) coordinate space using pure linear and barycentric interpolation — no trig functions, no angular measurements, no spherical linear interpolation (slerp). Vertices are placed on the circumsphere by scaling to a target quadrance (squared distance), requiring just a single square-root per vertex at the final step. For Platonic bases the target quadrance values are exact: pure rationals for Tetrahedron and Octahedron, and algebraic golden-ratio identities (φ² = φ+1) for the Icosahedron. Combined with the project’s Spread-Quadray Rotors (a tetrahedral alternative to quaternions) and the ABCD-to-clip shader pipeline, geodesic coordinates flow from construction through rotation to screen pixels without ever converting to Cartesian XYZ. The sole √ in the entire pipeline is the radius termination step — an intrinsic geometric operation, not an artefact of coordinate conversion.

Five general operations transform any polyhedron into new forms:
Truncation — slices off vertices, turning triangles into hexagons. A truncated Icosahedron is a football (soccer ball). Rectification — the extreme case: cut to the midpoints of every edge. Cantellation — bevel both vertices and edges simultaneously. Dual — swap vertices for faces and vice versa, generating the Catalan family from Archimedeans. Stellation — extrude faces outward to create star-like forms, with a height slider for continuous control.
All operations work via algebraic interpolation on ABCD coordinates. The truncation parameter t slides from 0 (original) to ½ (rectified), and the geometry updates live. No floating-point drift, no approximation — just pure algebraic transformation.

A Tetrahelix is a chain of tetrahedra where each shares a face with the next, forming a twisted, non-repeating spiral. Fuller studied these extensively — they appear in DNA helices, protein structures, and close-packed crystallography.
ABCD.EARTH generates three variants: Toroidal (closed ring), Linear bidirectional (extending in both directions), and Octahedral face-sharing. The length is controlled by the Frequency slider. Because tetrahedra are the native primitive of our Quadray coordinate system, tetrahelix construction is trivially exact — each new tetrahedron is placed by reflecting the previous one through a shared face.

Thomson Polyhedra are a construction method unique to ABCD.EARTH. Great circles (rendered as N-gon rings) are placed on the symmetry planes of a Platonic solid. Where these circles intersect, vertices emerge — and the convex hull of those vertices reproduces the Platonic and Archimedean solids.
This demonstrates that polyhedra are not arbitrary inventions — they are inevitable consequences of symmetry. The Thomson panel lets you choose the base symmetry (tetrahedral, octahedral, icosahedral), adjust the N-gon resolution of each circle, and watch the resulting polyhedron assemble itself from pure geometric constraint.

In Fuller’s Synergetics, Frequency is the fundamental scale parameter — it counts the number of sphere-radius intervals along a polyhedral edge. ABCD.EARTH uses this as its master scale control: cube_edge = 2F, where F is the frequency and 1 ABCD unit = 1 metre (1000mm in CAD units).
At integer frequencies, all polyhedra land exactly on integer Quadray grid points — the vertices of the Isotropic Vector Matrix lattice. The scale readout shows edge lengths in both Quadrance (algebraic, exact) and metric (mm/cm/m) units. Negative frequency triggers Janus Inversion — the geometry passes through the origin and re-emerges in the dual tetrahedron arena, accompanied by a background screen inversion from black to white and inverted basis vector arrowheads pointing AT origin instead of AWAY from origin.


Nodes are the visible, selectable spheres placed at each vertex of a polyhedron. They represent structural connection points — the hubs where struts meet in a real spaceframe.
ABCD.EARTH offers 7 geodesic node shapes: Tetrahedron, Octahedron, Cube, and Icosahedra at frequencies 1F through 4F. Higher frequencies produce smoother spheres with more polygons. Node diameter is continuously adjustable from 30mm to 300mm, with a Packed mode that sizes nodes to the close-packed sphere radius — touching but not overlapping, exactly as in Fuller’s IVM sphere packing. Each polyhedron type can have its own node shape and size, configured per-Idea.

Struts are the structural members that run along each edge of a polyhedron. In a built structure, these are the beams, tubes, or bars that form the frame. ABCD.EARTH supports three cross-section profiles:
THS (Triangular Hollow Section) — the most material-efficient profile for tetrahedral geometry. RHS (Rectangular Hollow Section) — standard structural steel/timber sections with independent Width × Depth control. Tube — circular hollow sections for pipe-frame construction.
All profiles support compound mitre cutting — the angled cuts at each end are computed from the exact dihedral angles at each node, so struts meet flush. An inset control shortens each strut to account for node hub dimensions, and a strut schedule table lists every unique strut length for cut-list fabrication. Double-hull mode generates inner and outer surfaces for hollow structural sections.

Planar Matrices replicate any polyhedron across a 2D/3D lattice, creating flat trusses, floor grids, or panel arrays. Five lattice types are available:
Cartesian Square and Cartesian Hex — the familiar orthogonal and hexagonal grids. IVM Taxicab, IVM Chebyshev, and IVM Hex — three tessellations derived from the Isotropic Vector Matrix, producing the close-packed arrangements that appear in crystallography and efficient structural layouts.
Each matrix type has independent Column × Row dimensions (1–24), spacing, and rotation controls. Rotation uses algebraic fast paths for all multiples of 15° — no trigonometric approximation. A space-filling toggle merges adjacent cells for continuous truss construction.
Advanced IVM matrix arrays in flat and vaulted configurations are also possible due to the special properties of the Tetrahedron we discovered called ‘Twerking‘


Radial Matrices extend into three dimensions, replicating polyhedra in concentric shells around a central origin. Five types are available:
Cartesian Cubic — the standard orthogonal 3D grid. IVM Tetrahedral, IVM Octahedral, IVM Cuboctahedral, and IVM Rhombic Dodecahedral — four arrangements derived from the Isotropic Vector Matrix. The Cuboctahedral matrix is the geometry of close-packed spheres (CCP) — every node touches 12 equidistant neighbours, the densest possible sphere packing in three dimensions.

These are the spatial grids used in crystallography (FCC, BCC, HCP lattices), structural engineering (space frames), and materials science. Here, every node position is an exact integer Quadray coordinate — no accumulated positioning error regardless of array size.

ABCD.EARTH includes a full PBR (Physically Based Rendering) material system with a library of 34 presets organised by CSI MasterFormat categories: metals (steel, aluminium, copper, brass), woods (oak, walnut, cedar, bamboo), minerals (marble, granite, concrete), and synthetics (carbon fibre, ETFE, polycarbonate).
Materials can be assigned at three levels: per-face (individual panels), per-strut (structural members), and per-node (connection hubs). The texture pipeline supports runtime hot-reload, tiled or stretched UV mapping, and rotation control. Base colour, metallic, and roughness parameters are adjustable per-material. A Preferences editor lets you customise the standard library to match your project’s palette.
ABCD.EARTH renders with Apple’s Metal. Material management is via Settings, PBR shaders and simple camera lighting are the current defaults with more advanced rendering planned. Materials with grain in textures (ie. Woods) default to align with the longer dimension of geometry, (a pet peeve among architects using conventional rendering solutions with inflexible UV texture alignment). Images can be tiled/stretched/rotated on any selected geometry.

Select any instance and the Gumball appears — a 3D manipulator with handles for Move, Rotate, and Scale. Uniquely, ABCD.EARTH offers both Cartesian (XYZ) and Quadray (ABCD) handle modes. The ABCD handles follow the four tetrahedral basis directions — natural for placing geometry along close-packed lattice directions.
Grid Snapping offers five modes: Free, Vertex-snap, 0.5m, 1m, and 2m. Vertex snap locks to existing geometry points for precise assembly. Object Snaps include vertex, edge midpoint, and face centre targets. Rotation handles use algebraic 24-gon rings — 15° increments computed via Wildberger’s tangent recurrence, not trigonometric functions. Geometry can be Grouped, Ungrouped and Moved/Scaled/Rotated in groups with two modes, orbital and locked-to-group.

The Scene Manager is your project’s table of contents. Every placed instance appears in a collapsible tree, automatically grouped when objects are Connected (sharing vertices or edges). Connected Polyhedra show their constituent Points, Lines, and Faces as child items.
Cmd+click for multi-select, Shift+click for range select, Select All Children to grab an entire group. Each instance has visibility and lock toggles. Right-click opens a context menu for Copy, Paste, Duplicate, Connect, Explode, Deform, Delete, and Group operations. Full undo/redo support covers all scene operations.

The View Manager lets you save the current camera position and scene state as a named View Snapshot. Views are stored as delta-compressed JSON — only the fields that changed from the previous view are recorded, keeping files compact.
Arrange views into sequences and play them back with smooth animated transitions — camera slerp (spherical interpolation for natural camera motion) and dissolve transitions for scene state changes. The playback transport offers play-all, stop, and per-view duration control (1–5 seconds). A built-in Demo Reel of 51 scripted views across 7 acts showcases every feature. A Randomizer mode generates endless random walks through polyhedra, matrices, and materials for ambient display or inspiration. Views can be exported/imported as JSON files.

Papercut places an infinite cutting plane through your scene, clipping geometry on one side to reveal internal structure. This is the architectural section cut — essential for understanding how a dome, truss, or spaceframe is assembled.
Choose between Cartesian basis (X, Y, or Z axis) or Tetrahedral basis (QA, QB, QC, or QD axis) for the cutting direction. A depth slider sweeps the plane through the model. Section circles mark where struts intersect the plane, and the cut profile can be exported as an SVG drawing for documentation.

Every 3D polyhedron can be unfolded into a flat 2D net — the pattern you would cut from sheet material and fold up to reconstruct the solid. ABCD.EARTH generates nets for all 32 polyhedra, geodesics, stellations, and truncations using a BFS (breadth-first search) face tree with circle-circle placement for zero-overlap layout.
The Unfold panel toggles four layers of fabrication detail: Glue Tabs (flaps along unshared edges for assembly), Hubcap Connectors (node junction diagrams showing how struts meet), Strut Elevations (side-view drawings of each unique strut with mitre angles), and Fold Angle Labels (the dihedral angle at each fold line). Select any face as the seed to control where the unfolding starts. The complete net exports as a dimensioned SVG with scale bar — ready for laser cutting, CNC routing, or hand fabrication.

The 3D Fold Overlay is a parametric animation that shows a polyhedron assembling itself from its flat net. A t-slider controls the fold progress: at t=0 the faces lie flat; at t=1 they close into the finished solid. Drag the slider and every hinge folds simultaneously — a kinetic sculpture on your screen.
Fold direction at each hinge is detected using RT-pure (Rational Trigonometry) methods — a cross-product sign test that requires no surface normals and no atan2. The animation works across all polyhedra families including Catalans, stellations, and geodesics. At t=1, a snap mechanism ensures faces close precisely to the target dihedral angle.

Keystone deformation warps a polyhedron by sliding vertices along algebraically defined paths. Imagine squeezing the top of a tetrahedron while its base expands to compensate — the shape changes but the total surface area is preserved exactly.
Mono mode moves only the top vertices while the bottom stays fixed. Balanced mode moves top and bottom symmetrically — top inward by t/2, bottom outward by t/2 — conserving both area and volume. The deformation parameter t is a rational slider, and the vertex paths are computed via height-function projection in Quadray space. Available for Tetrahedron, Cube, and Octahedron.

Auto-Dimensions measure your geometry in real time. Three types are available: Perimeter chains (sequential edge lengths around each face), Bounding extents (overall width/height/depth), and Radial measurements (circumsphere radius). Dimensions appear as live overlays on the 3D viewport and export cleanly to SVG.
Edge Callout Labels attach text readouts to individual edges — displaying edge length, quadrance, face spread, dihedral angle, instance name, or custom text. Each label has a perpendicular leader line with auto-justified layout to avoid overlaps. A shared DimensionStyle controls font size, line weight, units (mm/cm/m/in/ft), and decimal places across all annotations.
Labels and dimensions use direct control-surface editing — grab them on the viewport to reposition, no need to navigate to a UI panel. What you see is what you get.

The Storefront is a transparent glass panel that floats over the 3D viewport — like the glass front of a shop window, used here for documentation and presentation. It provides a layer for titleblock fields (project name, drawing number, scale, author, date), free text annotations, and drawing metadata that persist across view changes.
Text fields support direct control-surface editing — click and type right on the viewport. No modal dialogs, no panel navigation. The Storefront automatically flips its colours for SVG export: white text on the dark viewport becomes black text on the white SVG background. Storefront content can export independently or layered with the 3D geometry views beneath it — producing presentation-ready architectural drawings directly from the modelling environment.

The Tag System attaches key-value metadata to any instance — material specifications, fabrication notes, structural classification, or any custom property. Tags can be text, numeric, boolean, or list values. Option Sets provide group filtering — toggle visibility of entire categories (e.g., show only structural members, hide decorative panels).
The Knowledge Graph is a unique feature: it visualises the ABCD.EARTH codebase itself as a 3D polyhedral scene. 63 source modules are rendered as polyhedra on concentric IVM shells — math modules (innermost, as Tetrahedra), polyhedra modules (middle, as Cubes), application modules (outer, as Octahedra). Dependency edges connect them. It is both a navigation tool for developers and AI-agents, and a demonstration of the engine’s own capabilities — the tool models itself. Open it via Help > Knowledge Graph (Cmd+Shift+K).

ABCD.EARTH supports four export formats, each serving a different stage of the design-to-fabrication workflow:
JSON — the native scene format. Full parametric persistence: geometry instances, camera state, tags, labels, materials, View Manager sequences. Backward-compatible across versions.
SVG — 2D projected views with auto-dimensions, edge callout labels, leader lines, and Storefront overlays. Sized for A4, A3, or Letter sheets. Also used for net patterns with fold angles, glue tabs, and strut elevation drawings.
DXF — 2D projected polyhedra with dimensions and layers, formatted for CAD/CAM fabrication software. Line weights and layer organisation follow drafting conventions.
GLTF — 3D mesh with PBR materials for web-based 3D viewers, game engines, and CAD/BIM import. Embeds geometry, textures, and material properties in a single file.
All export formats derive from the same native ABCD coordinates — geometry integrity is guaranteed from math core to output file. Planned additions include STL (3D printing), OBJ (mesh exchange), STEP (mechanical CAD), and CSV (structural analysis tables).

The Geometry Info panel is always visible at the bottom of the sidebar, providing a live readout of the mathematics behind your geometry. For each polyhedron type it displays:
Topology — vertex, edge, and face counts, plus the Euler characteristic (V−E+F=2 for all convex polyhedra). Face data — face type breakdown (triangles, squares, pentagons, hexagons) and face spread values. Edge data — edge quadrance (the algebraic squared-distance) at the current frequency, plus dihedral angles between adjacent faces. Scene totals — aggregate counts across all placed instances, useful for estimating fabrication quantities and structural complexity.
All values are computed from the exact ABCD vertex coordinates in real time. Quadrance values are displayed as exact rationals where possible — no rounding, no approximation. This panel is where the algebraic precision of the engine becomes directly visible.

ABCD.EARTH — 81,000 lines of Rust, 1025 tests, 32 exact polyhedra. From pure geometric exploration to precise construction documents.
