# TraceCad Architecture

TraceCad is split into small .NET projects with one-way dependencies.

```text
TraceCad.App    -> TraceCad.Core, TraceCad.Dxf
TraceCad.Dxf    -> TraceCad.Core
TraceCad.Vision -> TraceCad.Core
TraceCad.Core   -> no UI, OpenCV, or DXF package dependencies
```

## Coordinate Spaces

- Model space: millimetres, used for all stored CAD geometry.
- View space: screen pixels, used only by the Avalonia canvas.
- Export space: millimetres, mapped directly to DXF output.
- Reference space: reserved for calibrated background images in later phases.

## MVP Boundaries

MVP 0.1 intentionally excludes OpenCV, marker detection, automatic tracing, constraints, and dimensions. The first implementation proves deterministic CAD entity creation and DXF export.
