Redo of the earlier audit after ~100 PRs landed on 2026-10-13. Every change cites a merged PR, a file or a count taken from the code; claims that could not be verified are left as they were. Percentages and hours are not re-scored (listed in the PR description). Corrected: REFEDIT (#818), dynamic block references (#838-#883), Block Editor, MLEADEREDIT/ALIGN/COLLECT (#816), in-place MTEXT editor (#792), AutoLISP (#855), MVIEW Restore and model-space PDF margins (#633), SpaceMouse 2D navigation (#650), ACIS data kept on save (#781), attribute modes (#876), polyline offset bulges (#825), acadrust 0.6.4 (#859), twelve interface catalogs with re-measured row counts, closed winit PRs #110-#119, PR/issue counts and test counts, and ui-parity rows that earlier work had already closed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
4.5 KiB
Hardware parity
Last reviewed: 2026-10-13 · Last updated: 2026-10-13 · Change: minor (re-audit against main
e707ab4d: SpaceMouse 2D navigation, magnifier option, winit PR state, plotter devices; the 45% is not re-measured) · Target: Autodesk AutoCAD 2027 (Mac and Windows)
The hardware AutoCAD uses and how CADCraft compares, per platform. Work items: gaps.md.
Headline (estimated): hardware ≈ 45%. 2D GPU drawing, HiDPI and trackpads are covered on every platform. Missing: 3D navigation with a 3D mouse (2D pan and zoom landed on Windows and Linux, #650), tablets/digitizers, GPU-accelerated 3D (there is no 3D), and any deliberate multi-monitor handling. Remaining: ≈ 15–25 Opus 5.5 hours, plus a human with the devices to test 3D mice and tablets.
Measured from the source on 2026-10-10 (crates/ui-egui/src/gpu.rs, canvas.rs,
apps/cadcraft/src/graphics.rs, apps/cadcraft-web); AutoCAD's side from Autodesk's system
requirements and graphics-performance documentation. Nothing was benchmarked in this pass.
| Feature | AutoCAD 2027 | CADCraft macOS | CADCraft Windows | CADCraft Linux / FreeBSD | CADCraft web |
|---|---|---|---|---|---|
| GPU canvas for 2D | yes (hardware acceleration, GPU smoothing, high-quality geometry) | wgpu on Metal | wgpu on DirectX 12 by default (WGPU_BACKEND overrides; GL avoided after AMD crashes, #31) |
wgpu on Vulkan (or GL) | WebGPU, WebGL2 fallback |
| CPU fallback | software mode | yes (tiny-skia rasteriser) |
yes | yes | — |
| GPU for 3D (shaded visual styles, ray-traced rendering) | yes | no (no 3D) | no | no | no |
| Low-latency presentation | yes | vsync or low-latency via CADCRAFT_VSYNC |
same | no vsync queue so the crosshair keeps up (#183) | browser-controlled |
| HiDPI / Retina, display scaling | yes | yes (egui points per pixel) | yes; the Windows 11 DPI fix is in open PR #668 (PR #110 was closed in its favour) | yes | yes |
| Multi-monitor (palettes on other screens, per-monitor DPI) | yes | not handled deliberately; one window | same | same | — |
| Trackpad pan, pinch zoom | yes (Mac) | yes, with trackpad vs wheel detection (#58) | wheel only (precision touchpad untested) | wheel; delay reported on Linux Mint (#25) | browser events |
| Magic Mouse | yes | treated as a trackpad | — | — | — |
| Wheel mouse, middle-button pan | yes | yes | yes | yes | yes |
| 3D mouse (3Dconnexion SpaceMouse) | yes | no | 2D pan and zoom through raw HID (#650, Tools ▸ 3D Mouse); not checked on a physical device in the PR | same (hidapi, udev) | no |
| Pen tablet / digitizer (TABLET command, calibration) | yes (Windows) | no | no | no | no |
| Screen magnifier following the cursor | yes | — | breaks (#39 is open; the option to keep the system cursor over the drawing area landed, #187) | — | — |
| Plotters and printers (PC3 devices, system printers) | yes | no system printers: PDF, PNG and SVG plotter devices only (#564); the Plot dialog writes the file (#160); CUPS printing is open PR #755 | same | same | PDF bytes shown instead of a download (#134) |
Performance on hardware (internal numbers only)
From the earlier roadmap (measured by the agents that built it, 2026-10-06, cadcraft-cli perf):
200,000 entities pick in 0.001 ms, about 4 ms after an edit (incremental R-tree), and the GPU
canvas draws a frame in about 4 ms. Nothing has been compared with AutoCAD on the same machine,
and 1M-entity drawings are untested. A 10 MB DWG took about two minutes to fail (#57).
Zoom and pan no longer freeze the window (2026-10-13). On a hatched 12k-entity architect's DWG (about 340k display primitives) each zoom step used to block the UI for 2–4.5 s while the display list, its vertex data and its GPU buffers were rebuilt. These rebuilds now run on a worker thread while the previous list is drawn, so the longest stall is 26–64 ms (M-series Mac). Edits still rebuild on the UI thread (about 1.8 s on that drawing): per-entity caching is the next step.
Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-13 | minor | Re-audit against main e707ab4d: SpaceMouse 2D pan/zoom (#650), magnifier option (#187), winit PRs #110–#119 closed in favour of open PR #668, system printers still open (PR #755); percentage and hours not re-measured |
| 2026-10-13 | minor | Zoom and pan regenerate in the background: 2–4.5 s stalls down to 26–64 ms on a hatched DWG |
| 2026-10-10 | major | First hardware parity doc: GPU backends per platform, input devices, displays, plotters |