Skip to content

Make three substitution controls look like what they are - #9

Merged
donislawdev merged 1 commit into
mainfrom
fix/gui-three-affordances
Sep 8, 2026
Merged

Make three substitution controls look like what they are#9
donislawdev merged 1 commit into
mainfrom
fix/gui-three-affordances

Conversation

@donislawdev

Copy link
Copy Markdown
Owner

Three controls on the substitution screen did not look like what they are. Each fix is independent of layout, which is why they are here on their own.

Scenario chips

Eight loose phrases with no edges. Nothing said they could be pressed, and nothing showed which one was chosen - the stock item template only reveals a selected state on hover. They are chips now: a drawn border, a filled selected state, and the choice carried by weight and border as well as by colour, so it survives a colour-blind reader and a monochrome screenshot.

The moment row

One centred horizontal stack of nine controls, with two faults a form should not have. The labels did not line up under one another, and a stack overflows on both sides rather than shrinking when it is wider than what holds it - measured while trying a wider layout, where the At label and the date fell off the left edge while the zone was cut off on the right.

It is a grid now. At and Zone sit on their own rows with their labels aligned, and the zone shrinks instead of being clipped.

Start

It looked like every other button on the screen: same size, same grey, in a row of secondary controls. It is the one action this screen exists for, so it carries the accent fill and a width nothing else here has. The meaning stays in the label - the fill only makes it the obvious thing to press. The width is a named value in the theme, like every other design number here.

What is deliberately not here

A two-column layout. It was tried, rendered, and thrown away.

The screen has almost nothing to show before a session starts - no running clocks, no verdict, no coverage, no history. Any layout that reserves half the window for the session is therefore empty half the time, and it looked it. That screen needs a shape that differs between idle and running, which is a design question rather than a layout tweak, and it is left for its own change.

🤖 Generated with Claude Code

Three affordances on the substitution screen, each one a thing the user could not see.

The scenarios were eight loose phrases with no edges. Nothing said they could be pressed and
nothing showed which one was chosen, because the stock item template only reveals a selected
state on hover. They are chips now: a drawn border, a filled selected state, and the choice
carried by weight and border as well as by colour, so it survives a colour-blind reader.

The moment row was one centred horizontal stack of nine controls. Two faults a form should
not have: labels that do not line up under one another, and a stack that overflows on BOTH
sides rather than shrinking when it is wider than what holds it - measured while trying a
wider layout, where the At label and the date fell off the left edge while the zone was cut
off on the right. It is a grid now, At and Zone on their own rows with their labels aligned.

Start looked like every other button on the screen: same size, same grey, in a row of
secondary controls. It is the one action this screen exists for, so it carries the accent
fill and a width nothing else here has. The meaning stays in the label - the fill only makes
it the obvious thing to press.

The width is a named value in the theme, like every other design number here.

What is deliberately NOT in this commit: a two-column layout. It was tried, rendered, and
thrown away. The screen has almost nothing to show before a session starts - no running
clocks, no verdict, no coverage, no history - so any layout that reserves half the window
for the session is empty half the time, and it looked it. That screen needs a shape that
differs between idle and running, which is a design question rather than a layout tweak.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@donislawdev
donislawdev merged commit 6607d21 into main Sep 8, 2026
8 checks passed
@donislawdev
donislawdev deleted the fix/gui-three-affordances branch September 8, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant