── The circle says what pressing it does ── "ONE TOUCH" named the *mechanism* — one gesture, no form — which is something the product team knows and a customer has to be taught. Nobody arrives at that screen wanting a touch; they want a parcel collected. The caption under the sphere still carries what makes it different from the form below. Renamed in the comments too. A codebase explaining "One Touch" against a button that says BOOK NOW is a trap for whoever reads it next. ── OpenStreetMap everywhere ── One line: the default provider was CARTO, it is `osm`. Nothing else moves — `DmMapTiles` already reads the template, subdomains, retina flag and attribution off the provider, so the credit line follows on its own. One thing recorded on the provider itself rather than left to be discovered: these are donated servers and the OSM Foundation's tile policy does not permit a distributed app to lean on them. A block looks like every tile turning into the ground colour at once, with no other symptom. Moving off it is one define — `DM_MAP_PROVIDER=carto|maptiler|stadia`, all serving OpenStreetMap data — and the map_config test now asserts the identifying User-Agent rather than only the URL, because that is what attributable traffic depends on. ── Orders had a second copy of the segmented control ── Its own `_Tab`, a pill radius, 3pt of padding and the count folded into the label's text — beside the pickup window's day switcher, which is DmChoiceChip in a rounded groove with 4pt of padding and the count in a bubble. Two controls doing one job, drifting apart a padding value at a time. It is the same control now, and `_Tab` is gone. DmChoiceChip's horizontal padding drops 12 → 9: three of them split a 390pt phone and "Cancelled" truncated to "Cancell…" at the old value. The day switcher has two chips and acres of room, so it loses nothing.
Screens
Every screen in the app, at 390×844 @3x, with the real fonts.
These are the golden files from test/snapshots/, copied here under readable
names so the set can be browsed, shared or dropped into a deck without anyone
having to know what a golden is. test/snapshots/ is the source of truth —
this folder is a copy, and a stale copy is worse than none, so refresh it
whenever the design moves:
flutter test test/design_snapshot_test.dart --run-skipped --update-goldens
tool/screens.sh
They are rendered by the test harness rather than captured from a handset, so
they are identical on any machine and need no device attached. Two consequences
worth knowing: map tiles are blank, because the harness has no network and
CARTO is fetched live; and the data is DevDoormileApi's, so the names,
addresses and references are invented.
| File | Screen | |
|---|---|---|
00-splash-truck.png |
Splash · first beat | What the app does, in white on the brand crimson the launcher icon opens from. |
00b-splash-invert.png |
Splash · second beat | The invert, caught halfway: the ground lightening as the truck darkens, both on one curve. |
00c-splash-mark.png |
Splash · third beat | Whose app it is. The same mark the launcher icon is cut from. |
01-sign-in.png |
Sign in | One question, one field, one button. |
02-sign-up.png |
Create account | The same shell, three fields. |
03-verify-code.png |
Verify the code | One field behind four boxes that only draw. |
04-home.png |
Home | Welcome, the pickup address, BOOK, and the live booking. |
05-pickup-search.png |
Collect from | Changing the pickup address from the Home header. |
06-orders-active.png |
Orders · Active | State, date, route, packages, reference. |
07-orders-completed.png |
Orders · Completed | Delivered orders and what they cost. |
08-account.png |
Account | Grouped rows, and the build this handset is running. |
09-tracking.png |
Live tracking | The live card, the map, the Miler, the journey rail. |
10-cancel-pickup.png |
Cancel this pickup | The one destructive action, behind a reason. |
11-pickup-where.png |
Pickup · where | Every city Doormile serves, headed by state. One list, no level to open — and the answer to "where do you deliver?". |
12-pickup-when.png |
Pickup · when | The same sheet's second question. It never leaves and never changes height. |
14-send-a-parcel.png |
Send a parcel | The route, the packages, the two commitments. |
15-pickup-map.png |
Pickup point | The map editor, and who the Miler asks for. |
16-pickup-booked.png |
Pickup booked | White tick on green. The reference and the live search. |
17-receipt.png |
Order details | What was collected, weighed, photographed and paid. |
Not here yet
First-run Home — the sphere's caption and the "How it works" rail only
appear for a customer with no orders, and the dev backend seeds three. It needs
a flag on DevFlags to capture, which is not worth adding for a picture.