Skip to content

Geometry editor specification — INDEX

This directory holds the behavior specification for every primitive, constraint, modify operation, and workflow feature in the motordevs.com 2D FEA editor.

It is the answer to: "What does feature X actually do, and how should a user invoke it?"

It is NOT:

  • A tutorial (no narrative; specs are reference material)
  • An implementation guide (no source-code listings beyond file:line cross-refs)
  • A roadmap (see the Backlog section below for items intentionally not yet specced)

If you're new here, read SPEC-STYLE-GUIDE.md first.


Primitives

SpecWhat it is
NodeA 2D point with a stable id; the only positional entity in the scene
SegmentA straight line between two nodes
ArcA circular arc between two nodes (3 construction methods)
CircleA standalone closed circle (no endpoint nodes until crossed)
SplineA Catmull-Rom curve through endpoints + interior control points
RectangleA 4-segment closed loop with auto parallel/perp constraints
PolygonAn n-sided regular polygon (segments + equal-length + radial distance constraints)
FilletA parametric rounded corner replacing a sharp segment-segment junction
CrossingAn auto-emitted virtual node at the intersection of two primitives
FrameA local coordinate system (origin + rotation) that other entities can reference

Constraints

SpecKinds
Geometrichorizontal, vertical, parallel, perpendicular, tangent, coincident, equal, midpoint, symmetric, onLine, onCircle, fixed
Dimensionaldistance, distanceH, distanceV, angle, radius, diameter

Modify operations

SpecWhat it does
MoveTranslate a selection in-place
RotateRotate a selection about a pivot
MirrorReflect a selection across an axis (in-place or as clone)
Copy + ArrayClone a selection (linear, radial, or single offset)
TrimRemove the segment portion bounded by intersections at click
DeleteRemove a selection, cascading through dependent features

Workflow

SpecWhat it covers
MotorScriptThe DSL: builtins, evaluation, error reporting, codegen ↔ canvas round-trip
Parameters + Smart dimensionsparam sliders, valVarRef-driven constraint values
Save / Load / TabsAutosave, save-or-discard banner on reload, archive recovery, multi-tab
Selection + Snapping + PaletteHit testing, snap targets, constraint palette UX

Cross-cutting references

Backlog (not yet specced)

These are roadmap items not yet shipped, and intentionally have no spec yet. Adding a spec is the commitment that says "we're committing to this design".

  • Materials catalogue + per-region material assignment
  • Boundary conditions (Dirichlet / Neumann / periodic)
  • Circuits + winding tie-in to coil regions
  • Physics (frequency, time step, magnetostatic vs transient)
  • Mesh controls (per-region size, growth ratio)
  • Export beyond DXF / SVG (PNG, PDF, print)
  • 3D / sketch-plane orientation metadata
  • History timeline ("undo to here")
  • Inline canvas smart-dim editor
  • Save-As dialog / scene-name management
  • Account storage (currently localStorage only)

If you're starting work on any of these, the first commit should be a spec under the relevant directory, drafted to this style guide.


End of index.

motordevs studio — geometry editor specification