Features
- Command line redesigned as a bottom-centre overlay that floats above the viewport — the input pill no longer takes a full-width row at the bottom of the window.
- Autocomplete suggestions appear above the input as you type (substring match across every registered command); ↑ / ↓ navigates the list, Enter / click dispatches.
- Command names come from
inventory::submit!blocks placed next to eachCadCommandimpl, so the autocomplete corpus stays in sync without a hand-maintained central list. - History rows on the overlay fade off after 3 s; a ▸/▾ button next to the input opens a dropdown with the full backlog since startup.
- Keyboard always reaches the command line — typed characters land in the buffer even when focus is parked on the viewport / a ribbon button / a tab.
Spacesubmits the typed command the same wayEnterdoes, except in free-form text prompts (TEXT / MTEXT / DDEDIT / attribute value) where it stays a literal character via a newwants_text_with_spaces()flag.- Empty
Enter/Spacenow repeats the last dispatched command from anywhere. Escon a non-empty input clears the buffer first; a second press escalates to cancel-command / deselect.
Fixes
- Hatch wire outline no longer draws a ghost segment between disconnected boundary polylines — the missing NaN separator in the polyline arm is now emitted.
- Paper-canvas no longer panics with
IncorrectActiveEdgeOrderwhen a layout contains a multi-region hatch — the fill path now respects the NaN-NaN sub-path sentinels inHatchModel.boundary.
Chore
- Dependencies bumped to latest stable releases (bytemuck 1.25, glam 0.33, rfd 0.17, ureq 3, windows-sys 0.61).
ureq 3API migration handled inline. - Large internal refactor: per-entity tessellation moved out of
scene/tessellate.rsinto the entities' own files; bulge → arc geometry unified into a sharedBulgeArc;EntityTypeOpsdispatch macro-ized.
Full Changelog: v0.4.0...v0.4.1