No phone, so stop designing for one

Targets are a 12-inch tablet and a desktop (D15). That removes most of the
navigation question rather than answering it.

`EXPANDED_MIN_WIDTH` is 820 logical pixels and a 12-inch tablet is ~1024
across in portrait, so both orientations of both targets are the expanded
class. The compact class now fires only when a desktop window is dragged
narrow — graceful degradation, not a second interface. The bottom tool strip
and the one-tool-at-a-time sheet were solving a phone, and there is no phone.

What survives is input, not size, and the architecture had already decided
it: `WidgetDemand::precise_pointing` exists for a television remote, and its
own documentation says touch is fine because hit regions grow to the
modality. Touch changes hit regions, not layout. The rules that fall out are
worth stating because they are easy to violate by accident — no hover-only
affordance and no modifier key may be the sole route to anything, since a
tablet has neither. Local masking already lost its shift-click extend for
exactly this reason.

The guaranteed-wide viewport also pays for a better answer to the extent
problem than hiding things. The complaint was never that the column is long;
it is that the histogram scrolls away from the sliders it reports on.
Collapsing shortens the scroll, pinning removes the problem, and ~260px of
fixed height is affordable on a viewport that is never under 820 wide.
This commit is contained in:
2026-08-22 09:55:09 +02:00
parent 85dafd78b7
commit acd694c2cf
3 changed files with 104 additions and 40 deletions
+24
View File
@@ -1192,6 +1192,30 @@ both a smaller build and a usable one — it needs no develop chain.
Resolving D12 sets D3 and [architecture.md §10](architecture.md)'s Phase 2.
### D15 — target devices · **DECIDED 2026-08-22**
**A 12-inch tablet and a desktop. No phone.**
Recorded because it is load-bearing for the interface and invisible in the
code. Every phone-shaped answer — a bottom tool strip, a one-tool-at-a-time
sheet, thumb-reach zones — is designing for hardware this project does not
target, and each would have cost a second layout to keep in step with the
first.
What survives the decision is the *input* difference rather than the size one:
a 12-inch tablet is touched, and NFR/FR-UI-7's position already covers it —
hit regions grow to the modality, layout does not move. The practical rules
that fall out are in `docs/ui-navigation.md` D-N2: no hover-only affordance
and no modifier key may be the sole route to anything, because a tablet has
neither.
`EXPANDED_MIN_WIDTH` is 820 logical pixels and a 12-inch tablet is ~1024
across in portrait, so **both orientations of both targets are the expanded
layout**. The compact class remains as graceful degradation for a narrowed
desktop window, not as a second interface.
---
### D13 — face inference runtime and model licensing · **RUNTIME ANSWERED, LICENSING OPEN**
> **Updated 2026-08-21.** The runtime half of this decision is settled, and by a route the table