Contact
Draftv0.5.0 · beta

The interface

The command line, the ribbon, the menu bar, the panel rail, tool palettes and workspaces — what each surface is for and why Draft ships more than one of them.

Draft has four command surfaces, and each of them exists because it does a job the others cannot.

SurfaceJob
Command lineTyping what you already know, fast
RibbonWhat a drafter reaches for often
Menu barEverything the application can do
Tool palettesThe drafter's own twenty commands, in their own order

The ribbon and the menu are generated from the same command registry through the same category schema, so neither can offer a command the other has never heard of, and a command added to the registry appears in both without either being edited by hand.

The command line#

The command line is the primary input surface and the one thing that has to work before anything else does. It occupies its own strip in the shell and shows the prompt, the current input, and a scrollback of what has happened.

Input routing. Every printable keystroke on the canvas is captured transparently into the command line. That is what makes L, LINE, 10,5, @10<45 and a keyword letter one input path rather than four.

Prompts and keywords read Specify next point or [Arc/Close/Undo]. Typing a keyword's capitalized letters invokes it, and a value in angle brackets is the default that Enter accepts.

Autocomplete matches command names and aliases fuzzily as you type, so the full canonical name of every command is reachable even where the two-letter alias is what is bound.

History. The scrollback holds prompts, answers and results. F2 opens the expanded history window, which is the searchable form of the same thing.

Appearance — height, opacity, font size, and whether the line floats over the canvas or docks — is configurable, because a drafter working on a laptop and one working on a 32-inch monitor want different amounts of it.

The ribbon#

Categorized panels — Draw, Modify, Layers, Dimensions, Properties, Blocks — generated from the command registry rather than from hardcoded markup.

  • Customization. Sections and individual tools can be hidden by right-click, persisted to your settings.
  • Docking. Top, bottom, left, right, or floating. Panels flow horizontally when docked top or bottom and vertically when docked to a side.
  • Collapse. Minimize to tabs only.
  • Overflow. Narrow windows collapse tool groups into flyouts rather than breaking the layout.
  • Layer dropdown. Lives in the Layers panel and binds two ways: it follows the active layer, and shows the selected object's layer while something is selected.

The ribbon is on by default. So is the menu bar. A default is a first impression, and the one that suits somebody opening the application for the first time is not the one that suits a command-line-first reader of the manual.

The menu bar#

Where the ribbon shows what a drafter reaches for often, the menu bar shows everything the application can do — which is a different job, and the reason both exist. It is where you look when you do not yet know what to type: on your first day, and on any day you reach for something you use twice a year.

MenuContents
FileOpen, Save, Save As, Import…, Export…, Plot, Settings ▸
EditUndo, Redo, Cut / Copy / Paste, Select All, Find
ViewZoom, Pan, Named views, Visual styles, 3D pane, Regen
DrawGenerated from the registry's Draw category
ModifyGenerated from the registry's Modify category
FormatLayers, Linetypes, Lineweights, Text styles, Dimension styles, Units
ToolsPalettes, Workspaces, Plugins, Drafting settings
HelpDocumentation, keyboard reference, about

The menu is drawn by Draft rather than by the operating system, for two reasons: it is then identical across macOS, Windows and Linux, and a native menu cannot show a command's alias — and Draw ▸ Circle C is worth far more than Draw ▸ Circle to somebody who is trying to stop using the menu.

MENUBAR 0 still works, because a drafter who knows the system variable will type it.

Panels and the rail#

Every palette in Draft is a dockable panel: dockable to any edge, tabbable with its neighbours, floatable, closable, and restored with the workspace. There is no separate notion of "a dialog that stays open" — a thing worth keeping open is a panel.

The activity rail lists the panel inventory and opens or brings forward the one you click. It exists because a closed panel is otherwise unreachable: a drafter who closes Properties would have to know the command name to get it back. Clicking a panel that is already in front closes it; clicking one that is open but behind brings it forward — those are different intentions, and one button has to tell them apart or the rail becomes a way to make panels disappear.

Panels that are not built yet are listed and disabled, with a tooltip saying so, so the roadmap is visible rather than absent as a mystery.

The shipped panels are Properties, Layers, Blocks, External references, Named views, Command history, Tool palettes, Undo history, and the parametric node graph — which is the one still disabled, because it is a canvas rather than a list.

Tool palettes#

The ribbon and the menu are generated from the registry and grouped by the schema, which is right for finding a command and wrong for using twenty of them all day. A palette is the drafter's own twenty, in their own order.

Palettes are managed from the command line as well as by mouse — TOOLPALETTE Add TRIM is one line, where the same thing by mouse means finding TRIM in a ribbon first. The verbs are Add, Remove, Up, Down, New, Switch, Delete and List.

A palette outlives the build that filled it. If a command comes from a plugin and the plugin is disabled, its button stays in the list and comes back when the plugin does — a disabled plugin must not silently edit somebody's palette.

Workspaces#

A workspace is which surfaces are showing and where the panels sit. "Drafting" is the properties bar and the toolbars; "Modelling" is the ribbon and the four-up 3D arrangement. That is what turns four independent toggles into one thing a drafter chooses.

Two things are deliberately kept apart:

  • The last layout is automatic. Rearrange anything and it comes back next launch. This is what makes panels stable rather than reset on every load.
  • Named workspaces are explicit — saved on request, restored by WORKSPACE.

Conflating them is the trap. Auto-saving over a named workspace means a drafter who drags one panel has silently redefined "Drafting"; asking before every automatic save means a dialog on every window resize.

A drawing may carry its own workspace. A drafter who arranged a four-up for a site model expects it back on that model, not the flat-plan arrangement they last used somewhere else. The precedence is: the drawing's workspace, then the application's last layout, then the shipped default. It is written only when there is an arrangement, so a headless save carries none.

A workspace saved by an older build that predates a surface has no opinion about that surface, and reading its silence as "off" would mean every older workspace quietly disabling each surface added after it. Absence and "off" are different states, and Draft treats them that way.

Theming#

Themes are data. The shipped set covers dark and light; a theme defines the canvas, chrome, grid, axis, selection, grip, snap-marker and accent colours, and everything on the canvas resolves its appearance through it.

One consequence is worth knowing about, because it shows up on paper. A layer's colour may be ByBackground — white on a dark screen and black on paper. It is what layer 0 and every new layer get. A colour you chose stays literal on every surface: pale yellow stays pale yellow. Only the default is background-aware, because it is the only colour nobody picked.