Skip to content

0.4.0 - the chrome row's shape

Choose a tag to compare

@uchimata2 uchimata2 released this 18 Aug 15:00
· 256 commits to master since this release

0.4.0 rebuilds the row of controls along the bottom of a deck.

Someone using 0.2.2 said the back and forward arrows read as an afterthought, and they were
right. The arrows sat between a slide counter and two wide labelled buttons, so the one control
you actually press was the quietest thing in the row.

The ruler, the counter and the arrows now share a drawn box, because between them they answer one
question: where am I, and how do I move. The arrows are filled and nothing else in the row is, so
they are easy to find. Everything else moved out to the right, behind a More button.

Motion is the exception. A deck with looping motion has to keep a visible way to stop it, so that
button stays outside the menu, and moves inside it only in decks with nothing running. The build
decides which, and a check enforces it.

The menu was also rendered open for the first time, which is how a defect nothing measures got
found: a menu item was drawn as a button inside a box. It is drawn as a row now.

Upgrading an existing deck

Your deck will fail the shell check until you migrate it. The report you get first is
NOT A SHELL, which reads worse than it is: it means your shell is one release behind, not that
your file is broken.

What it newly required

The chrome row's shape (T-114). New contracted parts — .navbox, .more, .more-menu and the .btn--pager modifier — and .controls is gone. .chrome carries a twelfth slot, CHROME_TAIL, holding More and, in a deck whose motion loops, Motion beside it. DS-218 is tightened from a control exists to a control not shut inside .more-menu; DS-217's measured bound moves 17 → 16 because the container is drawn. One new token, --more-menu-w. The shared shell moved in all three regions, and then in components.css once more before the tag: a menu item is drawn as a row rather than as a button in a box, which is a look fixed after rendering the menu open for the first time and requires nothing of a deck beyond the sync this row already asks for. T-177 requires nothing of a deck and the row says so rather than leaving it inferred: it fixes tokens --write carrying a dual-band colour's dark value into the light band, which is this repository's own tooling

What newly fails

shell.py check says NOT A SHELL, and that is the whole report — the deck has no CHROME_TAIL anchor, so the cut stops there and the three region failures behind it are never printed. It reads as your file is broken rather than your shell is one release behind, and it is the second. Then, after the repair below and because of it, audit.py — DS-218 on any deck whose motion loops or runs past 5 s, because the migration puts Motion in the menu and a control behind a click is not persistent. Also theme.py / shell.py check — TOKENS, --more-menu-w

The smallest edit

Three commands, in order, and the third is not optional on a deck with looping motion: python tools/deck/shell.py sync <deck> --write installs the anchor and settles the three regions, announcing MIGRATING when it does; python tools/deck/shell.py tokens <deck> --write adds --more-menu-w; then, if anything in the deck loops, python tools/deck/shell.py tail <deck> --loops --write moves Motion out beside More. Verified in that order on a deck built before this change: NOT A SHELL → three regions synced → one token → DS-218 pass

Known, and not fixed here

Past 16 slides the ruler goes dense and the mark for the current slide drops to 7 px beside 14 px
section marks, against 30 px for the ring below that bound. Both rules behind it predate this
release, but this release lowers the bound from 17 to 16, so one more deck length reaches it.
Tracked as T-178.