Somewhere to put the rest of the app, the menus a Mac app is expected to have,
and a website.
Modules you write
An action's body covers what a control does. Everything else an app is made of
— a data type, an API client, a parser — had nowhere to live, which made a
generated crate somewhere you could not actually build an app.
Your modules, in the Generator section: one name per line. Each is declared
by the generated main.rs and the file is created once, with a comment
saying it is yours, and never written again. An export reports them as kept
rather than replaced, and the code pane shows what is on disk rather than the
scaffold — once the file exists, showing the starting point would be showing
something nobody has.
ui, theme and main are refused, because they are the generator's own and
a second mod theme; does not compile.
In Split mode the canvas was down to ninety pixels of a 1440-wide window: the
four panels' default widths added up to more than there was. The canvas has a
floor and the code pane gives way instead, and the code pane's default is 420
rather than 520 — a default that does not fit is a default that is wrong.
Open in Editor (⌥⌘O) follows the code pane when it is showing a file,
opening it at the caret — which is how you edit a module you own, since the
pane is read-only. It also no longer insists on an export directory: it uses
the same workspace Run does, and a build now leaves the same trail in the
export index, so both directions of the jump work on a project you have only
ever run.
The menus a Mac app has
An audit of every action against every menu found the twelve that appear in
neither, and all twelve are correctly keyboard-only. What was missing was the
other kind of gap.
- Tailor gains About Tailor, which opens the settings sheet on its About
page, and the system Services submenu. - File gains Open Recent — eight slots and a Clear Menu, rebuilt
whenever the list moves, disambiguated by file name when two projects share
one. - Window is new: Minimize (⌘M), Zoom, Enter Full Screen (⌃⌘F). macOS
recognises it and adds its own tiling items. ⌘W closes the project. - Help gains Keyboard Shortcuts, Release Notes and Report an Issue, all
app-level so they work with no project open.
The console had no right-click menu, because it did not exist when the other
nine surfaces got theirs. It has Copy the output, Clear, Run/Stop and Reveal
the build folder; the code pane's gained Open in Editor, Find in this file,
and Run.
A website
wess.io/tailor — the markdown under docs/
rendered as a site, deployed on any push that touches it. The landing page's
hero is a design beside the Rust it generates, drawn as markup rather than
photographed, because that seam is the product and a screenshot of it would
start going out of date immediately.
Releasing
Releasing is bumping the version in Cargo.toml and pushing to main; the
workflow makes the tag. A tag typed into a terminal is a name anyone can put
anywhere, and that job turns one into a signed, notarized download — this
release is the first one cut that way.
And a Homebrew cask, in the same tap as the other apps:
brew install --cask wess/packages/tailor. It puts tailor-mcp on PATH
from inside the bundle, which is what an agent needs to drive Tailor.