Resolve the gaps and parity-doc conflicts: keep this branch's re-audit rows and history, fold in upstream's newer QSAVE and justification changes, and recount the file tests (88) and catalogs (16). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
14 KiB
CADCraft roadmap
Stage: pre-alpha · next: alpha, ~2 points (38% → 40% ready for real work) and ~125–190 Opus 5.5 hours away (the four failing core workflows of the alpha gate)
Last reviewed: 2026-10-24 · Last updated: 2026-10-24 · Change: minor (re-audit against main
41d9b5e95: language table, CI gate, open-PR count; previously: progress log: proxy objects keep their class through a save, #1812; previously minor: HATCHEDIT boundary add/remove progress) · Target: Autodesk AutoCAD 2027
CADCraft targets full parity with AutoCAD (2D drafting first, then annotation, layouts and plotting, DWG, parametrics and 3D), plus what AutoCAD doesn't have: agent control over MCP, a scriptable CLI, a web build, Linux and FreeBSD builds, and a free licence.
Why pre-alpha: four of AutoCAD's five core workflows fail the alpha gate. Precise drafting still has approximate ellipse and spline intersections and a few stubbed prompt options (object snap tracking, TRIM/EXTEND/OFFSET options and typed snap overrides have landed); dynamic blocks can't be authored and xrefs can't be edited in place or clipped (the Block Editor, REFEDIT and dynamic block editing have landed); plots go only to PDF, PNG and SVG files (plot styles and the Plot dialog have landed); and a DWG saved by CADCraft drops what acadrust doesn't model and has never been checked in AutoCAD. Dimensioning passes. Ready for real work (≈ 38%) is also under the ~40% alpha bar. Beta is ≈ 600–930 h away.
Headline numbers
| Number | Value | Kind |
|---|---|---|
| Feature breadth (AutoCAD for Mac menu items with a live command) | 50% (245 / 491; 2D menus only ≈ 65%) | measured (parity-checklist.md + UI-only commands) |
| Ready for real work | ≈ 38% | estimated (target-app-parity.md) |
| Mainstream practitioner (2D drafter) | ≈ 28% (lower than the full number: file exchange, stability and interaction discounts multiply) | estimated (target-app-parity.md) |
| Essentials user | ≈ 46% | estimated (target-app-parity.md) |
| Remaining to alpha | ≈ 125–190 h (the gate rows) | estimated |
| Remaining to beta | ≈ 600–930 h (≈ 150–250 h elapsed with 4–6 agents) | estimated |
| Remaining to full parity | ≈ 1,300–2,100 h (≈ 330–550 h elapsed) | estimated |
Readiness by audience
| Audience | Ready % | Opus 5.5 agent wall-clock hours to ~95% | Work that dominates |
|---|---|---|---|
| Full target (ready for real work) | ≈ 38% | ≈ 1,150–1,850 h (≈ 70% parallelises across 4–6 agents: ≈ 300–480 h elapsed) | 3D kernel (300–450 h), DWG/DXF and other formats, AutoLISP and ecosystem, blocks/xrefs/dynamic blocks, localization |
| Mainstream practitioner (2D drafter) | ≈ 28% | ≈ 570–880 h (≈ 70% parallelises: ≈ 150–240 h elapsed) | lossless DWG exchange and a real-file corpus, precision input (tracking, dynamic input), 2D geometry precision, blocks/xrefs, annotation depth, stability backlog |
| Essentials user | ≈ 46% | ≈ 140–225 h (≈ 50% parallelises across 3 agents: ≈ 60–110 h elapsed) | stubbed options in basic draw/modify commands, opening DWGs people send, launch/stability fixes, plot dialog, context menus and dynamic input |
Hours are subsets (essentials ⊂ mainstream ⊂ full) and use the calibration in target-app-parity.md: ≈ 25 commands per agent-hour at presence quality in the first build (≈ 11.5 agent-hours), 0.3–0.7 h per option or bug fix (≈ 60 such fixes on 2026-10-10), 2–5 h per moderate feature, 15–100 h per subsystem.
Hours are Opus 5.5 agent wall-clock hours, calibrated on this repo's own build: the first version (51k lines, 290 commands) took ≈ 11.5 agent-hours at presence quality, while depth work runs at 0.3–0.7 h per option or bug fix (≈ 60 such fixes landed on 2026-10-10). Details: target-app-parity.md.
By dimension
| Dimension | Parity | Remaining (h) | Doc |
|---|---|---|---|
| Features (depth, weighted by use) | 41% | 735–1,115 | target-app-parity.md |
| UI/UX fidelity | 43% | 100–160 | ui-parity.md |
| File formats | 30% | 170–280 | file-format-parity.md |
| Hardware | 45% | 15–25 | hardware-parity.md |
| Localization | 5% | 60–100 | localization-parity.md |
| Performance | 60% | 20–40 | hardware-parity.md |
| Stability | 35% | 30–50 | gaps.md |
| Platforms | 75% | 15–25 | gaps.md |
| Ecosystem and automation | 10% | 120–200 | gaps.md |
| AI features | 20% | 40–80 | gaps.md |
Features
| Area | Parity | Remaining (h) | Doc |
|---|---|---|---|
| Draw (2D) | 60% | 15–25 | gaps.md |
| Modify | 50% | 40–60 | gaps.md |
| Geometry precision | 40% | 70–110 | geometry-parity.md |
| Layers and properties | 70% | 10–15 | gaps.md |
| Dimensions | 45% | 25–35 | gaps.md |
| Text and MTEXT | 35% | 30–45 | gaps.md |
| Leaders, tables, fields | 25% | 25–35 | gaps.md |
| Hatch and gradients | 35% | 15–25 | gaps.md |
| Blocks, attributes, xrefs, groups | 25% | 80–120 | gaps.md |
| Layouts, viewports, plotting | 35% | 35–50 | gaps.md |
| Inquiry and utilities | 30% | 30–45 | gaps.md |
| Parametric constraints | 50% | 20–30 | geometry-parity.md |
| 3D modelling and rendering | 2% | 300–450 | gaps.md |
| Collaboration and cloud | 5% | 40–70 | gaps.md |
Languages
AutoCAD 2027 for Mac ships 8 interface languages; CADCraft ships English plus fifteen catalogs (Ukrainian, Brazilian Portuguese, German, Spanish, Czech, Russian, French, Simplified Chinese, Italian, Korean, Swedish, Arabic, Greek, Hungarian and Turkish). Detail: localization-parity.md.
| Language | Status | UI translated |
|---|---|---|
| English | full | 100% |
| Simplified Chinese | partial | 1,337 catalog rows |
| Spanish | partial | 1,243 catalog rows |
| Hindi | none | 0% |
| Arabic | partial | 1,229 catalog rows |
| French | partial | 1,004 catalog rows |
| Portuguese (Brazilian) | partial | 1,243 catalog rows |
| Indonesian | none | 0% |
| Japanese | none | 0% |
| Greek | partial | 1,330 catalog rows; independent proofreading pending |
| German | partial | 1,031 catalog rows |
| Korean | partial | 1,235 catalog rows |
| Vietnamese | none | 0% |
Other languages shipped: Ukrainian (1,357 rows, the reference catalog, #36), Czech (1,215), Russian (1,005), Italian (1,352), Swedish (1,382), Hungarian (1,326) and Turkish (1,330), counted 2026-10-24; engine messages stay English. Every catalog but Ukrainian's has strings added since it landed that still fall back to English: 6 (Italian, Swedish) to 296 (French) per cargo xtask i18n (localization-parity.md).
Upcoming
Ranked; detail and the full beta checklist in docs/roadmap.md.
- Gate and land: CI runs
cargo xtask cion every PR since #1987 (fmt on main is fixed); land the 450 open PRs (2026-10-24) (15–25 h). - Stop losing data on save (DXF done, #528; native MULTILEADER, #459, and the save version, #421, done; through DWG, acadrust still drops some content) (30–45 h).
- Real-file DWG/DXF corpus and a black-box check in AutoCAD (10–15 h + owner).
Precision input: object snap tracking, extension/parallel snaps, FROM/M2P/TK, snap overrides, editable dynamic input.Done (#379, #441, #60, #519;snap/tracking.rs,pointmod.rs,dyninput.rs).Unstub prompt options in TRIM/EXTEND, OFFSET, ROTATE, PLINE, SPLINE, MTEXT, MLEADER.Done (#397, #408, #547); the stubs left are in gaps F1.Autosave, recovery, AUDIT, RECOVER.Done on the desktop (#406, #416); the web build has no autosave (gaps F4).- Exact ellipse/spline geometry and correct polyline offsets (30–50 h).
- Xrefs, block editor, groups, then dynamic blocks (80–120 h): xrefs (#525), groups (#417), the Block Editor (#824, #833, #885), REFEDIT (#818) and dynamic block references (#838–#883) landed; left: dynamic-block authoring, XCLIP, editing an xref in place.
Progress log
| Date | Entry |
|---|---|
| 2026-10-21 | DXF save keeps each proxy object's and proxy entity's class: its class number (group 91) is renumbered to the rewritten CLASSES instead of naming another class, so AutoCAD's visual styles in an R14 file no longer come back as SCALE or MLEADERSTYLE (#1812) |
| 2026-10-14 | HATCHEDIT adds boundaries from internal points or closed objects and removes selected loops in the dialog, command line and JSON command; associative links and undo are covered by tests. |
| 2026-10-12 | TRIM: a pick after a closed polyline's last cut keeps only the complementary run instead of an extra circuit of the outline (#726) |
| 2026-10-12 | HATCHEDIT refuses an explicit bad scale or angle before it edits anything, so a rejected request leaves the drawing, undo and redo as they were (#724) |
| 2026-10-10 | Merged main: Ukrainian interface (#36, first string catalog), Dynamic Input pointer boxes with Tab and relative entry (#60), press-drag selection windows (#63), WIPEOUT and hatch gradients kept through DXF/DWG save (#147, #162), SETVAR DIM* as style overrides (#129), UNITS dialog (#38), close-window save prompt (#47), DIMANGULAR on circles (#20), cargo fmt fixed on main. UI/UX 40% → 43% (dynamic input 15% → 45%), localization 3% → 5%; ready for real work ≈ 37% → 38% (weighted 37.2% → 37.7%), mainstream 27% → 28%, essentials 45% → 46%. Beta is now ~37 points away; hours unchanged within rounding. |
| 2026-10-10 | Added mainstream practitioner (≈ 27%) and essentials user (≈ 45%) numbers; ready for real work unchanged at ≈ 37%. User evidence: 2 praise comments, 0 "switched from AutoCAD" reports, 27 of 37 open issues on the core path. |
| 2026-10-10 | Stage re-normalized from alpha to pre-alpha under the core-workflow gate: drafting with tracking, blocks, plotting and lossless DWG save fail; dimensioning passes. Alpha is ≈ 125–190 h away. |
| 2026-10-10 | Full re-measure against AutoCAD 2027 for Mac: menu breadth 245/491 (50%), ready for real work ≈ 37%, stage alpha. Remaining estimates rose (≈ 570 h → 1,300–2,100 h) on new evidence: behaviour audits found tracking/extension/parallel snaps and dynamic input are not real, saves drop unmodelled content, DWG saves as R2000, and the old estimate had no localization, ecosystem, stability, platform or AI rows. New docs: target-app-parity, gaps, roadmap, architecture, localization, file-format, hardware, UI and geometry parity; docs/parity.md became docs/parity-checklist.md. |
| 2026-10-10 | About 60 community PRs merged in a day: DXF fidelity (transparency, LWPOLYLINE elevation, frozen VP layers, dimension text rotation, arc-length dims, non-ASCII escapes), CJK font fallback, Save/Don't Save on close, Light/System themes, F2 history, trackpad pan, Linux XWayland drag-and-drop, correctness fixes across draw/modify/constraints. Release v0.4.0. |
| 2026-10-08 | Releases v0.1.0–v0.3.0: Flatpak, AppImage updates, signed macOS universal, Windows x64/x86/arm64, Linux, FreeBSD and web builds. |
| 2026-10-07 | Old assessment: menu breadth 233/491 (47%), ≈ 29% weighted parity, 2D drafting ≈ 55%, ≈ 570 h remaining; milestones as reported then: M1 ~85%, M2 ~65%, M3 ~75%, M4 ~50%, M5 ~35%, M6 ~55%, M7 ~55%, M8 ~20%, M9 ~60%, M10 ~70%, M11 0%, M12 ~25%, M13 ~10%. |
| 2026-10-07 | First version built in one session (≈ 6.9 h elapsed, ≈ 11.5 agent-hours): M0 vertical slice, dimensions, hatch, blocks, DWG bridge, layouts and PDF plotting, GPU canvas, R-tree, constraints, Layer Properties Manager, QSELECT, release pipeline. |
Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-24 | minor | Re-audit against main 41d9b5e95: language table, CI gate and open-PR count re-checked against main 41d9b5e95 |
| 2026-10-21 | trivial | Progress log: proxy objects keep their class through a save (#1812) |
| 2026-10-14 | minor | Progress log: HATCHEDIT boundary add/remove |
| 2026-10-12 | trivial | Progress log: closed-polyline TRIM (#726) |
| 2026-10-12 | trivial | Progress log: HATCHEDIT numeric validation (#724) |
| 2026-10-10 | minor | Merged main's changes (Ukrainian catalog, dynamic input pointer boxes, DXF fixes); UI/UX and localization numbers updated |
| 2026-10-10 | minor | Readiness-by-audience table with hours to ~95% for each number |
| 2026-10-10 | minor | Mainstream practitioner and essentials user headline numbers |
| 2026-10-10 | minor | Stage alpha → pre-alpha under the core-workflow gate; banner, why, headline row |
| 2026-10-10 | major | Progress docs restructured (stage, two numbers, dimensions, features, languages, upcoming, log); full re-measure; milestone detail moved to docs/roadmap.md, parity assessment to docs/target-app-parity.md |
| 2026-10-07 | major | Alpha checklist, milestone table, ≈ 29% weighted parity estimate |
Shared UI workspace integration
Tool Sets, Layers and Properties use shared docking with persisted layouts, keyboard focus and compact toolbar overflow. No milestone percentage change.