diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-19 00:40:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-19 00:40:30 -0500 |
| commit | 3e2adc828860075e205d4b43c0b17fd8d448459b (patch) | |
| tree | 39036f095d7a9e6cb408e66afc587c21fb90bd0a /scripts/theme-studio/WIP.json | |
| parent | 65bccaed1ab56538c654919420d7977777395490 (diff) | |
| download | dotemacs-3e2adc828860075e205d4b43c0b17fd8d448459b.tar.gz dotemacs-3e2adc828860075e205d4b43c0b17fd8d448459b.zip | |
refactor(theme-studio): polish the expander (underline inside, dynamic colspan, nd flag)
Three cleanups to the per-row expander from 3B-2.
The underline control moves from the in-row style cell into the expander, next to overline. The row keeps weight, slant, and strike inline, so the style cell drops from three wrapped rows to two and the table reads flatter.
mkExpander no longer hardcodes each table's colspan. tableColCount reads the column count from the table's header, so a detail row spans correctly even if a column is added later.
A collapsed expander now flags itself when it hides an attribute that differs from the face's default, so a non-default value is never invisible. overflowNonDefault (app-core.js, unit-tested) compares the expander's attributes against the default. The toggle re-checks after every edit and gets the gold marker when any differ. faceBoxNonDefaults drops underline from the in-row style box in the same move, since underline is now the expander's concern.
The #expandtest gate covers the underline control in its new home, its wavy write, and the flag appearing then clearing. Full suite green: Python 59, Node 201, ERT 41, plus the browser hash gates.
Diffstat (limited to 'scripts/theme-studio/WIP.json')
0 files changed, 0 insertions, 0 deletions
