Skip to content

What's Working

LayerStatus
RenderingQuaternions, wireframe, depth-based alpha, 2D infinite-zoom, background grid, face intersections, face label occlusion, shrink-to-fit with red dashed bbox for invisible parts
MainThree regions -- controls, details, graph; Electron multi-window wrapper
InteractionHits managers -- 2D (RBush) and 3D, touch events (1-finger drag, 3-finger details)
DocsVitePress configured, new guides content
TestingUnit tests across types, algebra, orientation, units, constraints, coordinates, topology, history, errors; four browser-driven flow tests for editing-lock, view-mode-switch, rotation-snap, and drag-vs-tumble
AdherenceAll 58 rules pinned by stable name + proving test + proving code; auto dashboard every build, hand-recorded log alongside; all 26 areas green
HelpFull-screen help overlay; sidebar lists ten pages (walkthrough + nine reference topics) in a hand-set order; sidebar can be hidden via a hamburger and the choice survives reloads; the last visited page is remembered across reloads; markdown rendered live, internal links navigate inside the overlay
EditingSelect face, drag edge/vertex, inline dimension editing, face label editing, angular editing, snap-and-pin
Build Notes57 builds tracked, paginated 10 at a time
DimensionsDynamic value + layout, inline click-to-edit, unit-aware display
ControlsSave, fit, straighten, edit-lock, snap-lock, decorations, 2D/3D toggle, solid/x-ray, orient, scale, color picker, responsive wrap
Unitsmm storage, imperial fractions, compound display/parse, 22 units across 4 systems
PersistenceJSON serialize, localStorage auto-save, camera state, file import/export
HierarchyParent-child SOs, ancestry, parent-relative offsets, sibling-only name uniqueness (cousins may share names)
ScenesSO, camera orientation, scale, hierarchy, givens
AlgebraCompiler, evaluator, forward and reverse propagation through the AST, cycle detection, constraints, expanded error handling with suggestions
OrientationPer-axis angles, axis compaction, swap-two-axes, 90-degree steps, arbitrary-angle rotation, slider+sticky angles, root rotate with sticky dot
FormulasAliases (x/X/w), dot-prefix parent refs, empty=offset, invariants, name-with-spaces refs, follow part renames automatically
DetailsHideable panels -- Preferences, Library, Parts; preferences and library each have a small action button on the left of the banner
PartsHierarchy, position/size toggle, depth indent, repeat badges, select, name edit, row numbers, generational reveal/collapse (click triangle, arrow-left/right), arrow-up/down navigation, show-hidden-children count, persistent hide list; plus button auto-opens the panel and selects the new child; plus button is hidden when selection is a repeater or its clone (status strip shows the refusal if reached another way)
SelectionAdd child, add template (sized to parent for repeater seed), duplicate, delete, repeat/unrepeat, visible toggle, repeater options
RotationAxis picker, 90-degree steps, swap-two-axes, arbitrary-angle slider with sticky, editable per-axis, reset angle
Attributes9-row bounds (x/y/z/w/d/h/X/Y/Z), formula+value edit, invariants (cross marker), unlockable givens
LibraryBundled .di presets, IndexedDB user files, import/click-load/option-insert, reinstall button on banner
GivensScene-wide named values, usable in all formulas, rename propagates, lock toggle
RepeatersLinear repeat, gap constraints, spacing presets, stairs/studs/joists, fireblocks, "add template" button when no children yet
Versionsv1->v9 chain -- IDs, bounds->axes, offsets, constants->givens, repeater fields
CSS EngineDesign tokens from common_size, 3-tier pipeline (Constants -> CSS vars -> scoped styles), swept colors/fonts/spacing
UndoSnapshot-based, Cmd+Z / Cmd+Shift+Z, 50-state stack, covers drag/rotate/edit/delete/add/rename, chain survives repeated steps
MobileTouch-only input (no mouse wired), 3-finger details toggle, browser pinch-to-zoom, narrow-window controls layout
TopologyUnified endpoint pipeline -- intersection lines, edge splitting, endpoint identity, duplicate segment removal, nearby-point merge
LacemakerReplaced old topology -- unified key system, renamed pipeline stages, eliminated three merge steps, 46 tests
FacetsMothballed -- tracing, painting, even-odd fill work partially; blocked on clockwise direction inconsistency
PerformanceTwo passes shipped -- pooled clipper, scratch math objects, dashed-grey light variant; behind one-line rollback switch; tumble timing in place but silent
ManagersStores (session+persistent), Selection (paired read/write under one name), Parts (collapsed-rows + tree walks), Scenes, Preferences, History, Versions