Skip to content

Commit e1becb7

Browse files
authored
docs(devlog): back 020's withdrawal with the horizontal measurement (#2911)
* docs(devlog): back 020's withdrawal with the horizontal measurement The file carried a WITHDRAWN banner and then, three lines later, a full "## Change" section prescribing a rewrite of both dashboard grids from repeat(auto-fit, ...) to a hard-coded two-up, plus an "## Acceptance" section demanding no 0px track. A maintainer reading top-down got "nothing here ships" followed by a complete diff to apply. Worse, the withdrawal rested on an unmeasured claim. "The trailing gap measures 0, so nothing shifts today" was the whole reason to withdraw, and the axis it concerns is the horizontal one the original request named first. Nothing in the landed record backed it. Measured now, by auditing the rendered edges of each grid's direct children rather than reading the computed track list: vw widths topSpread botSpread gutters 1600 556 / 556 0.0px 0.0px one 16px 1440 555 / 555 0.0px 0.0px one 16px 1280 475 / 475 0.0px 0.0px one 16px 1100 385 / 385 0.0px 0.0px one 16px 1024 347 / 347 0.0px 0.0px one 16px Identical widths, shared top and bottom edges, exactly one gutter, no trailing gap after the second card. The collapsed third track displaces nothing on either axis in either grid, so there is no horizontal misalignment here and the generated-but-collapsed track is not a defect. The rewrite is kept as a named rejected option rather than deleted: it fixes nothing measurable today and would trade auto-fit's automatic behaviour for a count that a third card would have to come back and change. The note says plainly that it did not ship and is not recommended, and points at the audit as the procedure to re-run if a third card ever lands. Documentation only; no stylesheet is touched. * docs(devlog): anchor 030's citations to selectors, not drifted lines Two defects in the landed file, both verified against origin/dev rather than assumed. The banner said "Implemented by this pull request". That was true while #2906 was open and is meaningless on dev, where a reader cannot tell which PR it means. It now names #2906 and 4d646c4. Every line number it cited had drifted, and the cause is the fix the document itself describes: that change inserted lines above the rules being cited. Read straight off origin/dev: cited actually there now styles.css:2003 min-width: 220px (.logs-table-wrap is 2011) styles.css:755 the cap line INSIDE .action-toast (rule is 749) styles.css:1222 z-index: var(--z-modal) (.notice is 1215) styles.css:2198 (dvh) background: var(--glass-rail) (drawer is 2213) So a maintainer following any citation landed on unrelated CSS. Renumbering would just re-arm the same trap on the next insertion, so the rules are now named by selector with the line as a hint, and the banner says why. Documentation only; no stylesheet is touched.
1 parent 4d646c4 commit e1becb7

2 files changed

Lines changed: 52 additions & 35 deletions

File tree

devlog/_plan/260829_gui_dashboard_slop/020_phantom_grid_track.md

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,41 @@ container is wide enough to nominally fit it. With only two children the track
2121
collapses to 0 and the trailing gap measures 0, so nothing shifts today. It
2222
becomes a real phantom gap the moment a third card is added.
2323

24-
## Change
25-
26-
Both grids hold a *known* number of cards, so express that instead of asking
27-
`auto-fit` to guess:
28-
29-
```css
30-
grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
31-
```
32-
33-
becomes an explicit two-up that collapses to one column by container width:
34-
35-
```css
36-
grid-template-columns: 1fr; /* narrow: stack */
37-
@container / min-width: two-up → 1fr 1fr /* wide: matched pair */
38-
```
39-
40-
Applies to `.dash-sidecar-grid` and `.dash-overview-tools`. The wrap width stays
41-
`21rem` per card so the responsive behaviour is unchanged — verified by the same
42-
sweep, which must keep reporting STACKED at 900/430 and PAIRED at 1024+.
43-
44-
## Acceptance
45-
46-
- No `0px` track in either grid's computed columns at any swept width.
47-
- The PAIRED/STACKED pattern per width matches the baseline exactly (no
48-
behavioural change, only the phantom track removed).
24+
## Why this was withdrawn — measured
25+
26+
The claim above ("the trailing gap measures 0, so nothing shifts today") was the
27+
reason to withdraw, but it went unmeasured on the axis the request named first —
28+
the horizontal one. It has now been measured, by auditing the rendered edges of
29+
each grid's direct children rather than reading the computed track list.
30+
31+
`.dash-sidecar-grid` and `.dash-overview-tools`, two-up regime:
32+
33+
| vw | card widths | top spread | bottom spread | gutters |
34+
|----|-------------|-----------|---------------|---------|
35+
| 1600 | 556 / 556 | 0.0px | 0.0px | one 16px |
36+
| 1440 | 555 / 555 | 0.0px | 0.0px | one 16px |
37+
| 1280 | 475 / 475 | 0.0px | 0.0px | one 16px |
38+
| 1100 | 385 / 385 | 0.0px | 0.0px | one 16px |
39+
| 1024 | 347 / 347 | 0.0px | 0.0px | one 16px |
40+
41+
Identical widths, shared top and bottom edges, and exactly one gutter — no
42+
trailing gap after the second card at any width. The collapsed third track
43+
consumes no space and displaces nothing, in either grid, on both axes. So there
44+
is no horizontal misalignment to fix here, and the generated-but-collapsed track
45+
is not a defect.
46+
47+
## The rewrite that was considered and rejected
48+
49+
Recorded so it is not mistaken for a pending plan: **none of this shipped, and
50+
applying it is not recommended.**
51+
52+
The option was to stop asking `auto-fit` to guess and state the known card count
53+
— `grid-template-columns: 1fr` with a container query promoting to `1fr 1fr` —
54+
for both grids. It was rejected on cost against benefit: it fixes nothing
55+
measurable today (see the table above), and it trades `auto-fit`'s automatic
56+
behaviour for a hard-coded count, so a third card would then need a stylesheet
57+
change instead of just appearing. The phantom track only becomes real if a third
58+
card is added, and at that point `auto-fit` is what handles it correctly.
59+
60+
If a future change does add a third card to either grid, re-measure the trailing
61+
gap first; the audit above is the procedure.

devlog/_plan/260829_gui_dashboard_slop/030_dynamic_viewport_units.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
# 030 — Dynamic viewport units in scroll surfaces (wp3)
22

3-
> **Implemented by this pull request**, separately from the sidecar alignment fix
4-
> that the rest of this unit records. It is a different change to a different
5-
> file (`gui/src/styles.css`), kept in the same unit because one audit pass found
6-
> both.
3+
> **Shipped in #2906** (`4d646c494`), separately from the sidecar alignment fix in
4+
> #2905 that the rest of this unit records. It is a different change to a
5+
> different file (`gui/src/styles.css`), kept in the same unit because one audit
6+
> pass found both.
7+
>
8+
> Rules below are named by selector, not line number: the fix this document
9+
> describes inserted lines above the very rules it cites, so the original
10+
> citations (`styles.css:2003`, `:755`, `:1222`) now land on unrelated CSS.
711
812
## Defect
913

10-
`gui/src/styles.css:2003`:
14+
`.logs-table-wrap` in `gui/src/styles.css` (line 2011 as shipped):
1115

1216
```css
1317
.logs-table-wrap { max-height: calc(100vh - 260px); }
1418
```
1519

1620
`vh` is the *large* viewport: it ignores mobile browser chrome, so the log table
1721
is capped for a viewport taller than the one the user can see, pushing the last
18-
rows under the browser UI. The rest of the shell already moved to `100dvh`
19-
(styles.css:244, 247, 411, 412, 2198), so this line is an outlier, not a
20-
convention.
22+
rows under the browser UI. The rest of the shell already moved to `100dvh`
23+
`.app` (244), the sidebar (247), `.main-inner--combos` (411-412) and the mobile
24+
drawer (2213) — so this line is an outlier, not a convention.
2125

22-
`styles.css:755` and `1222` cap toast width with `calc(100vw - Npx)`. Per CSS
26+
`.action-toast` (749) and `.notice` (1215) cap toast width with `calc(100vw - Npx)`. Per CSS
2327
Values and Units 4, `100vw` includes the classic scrollbar gutter, so a
2428
scrollbar-reserving platform can in principle render a cap wider than the visible
2529
area.
@@ -37,7 +41,7 @@ file at equal specificity, so source order won and the toast resolved to 70ch
3741
classes so it beats the later `.notice` rule. Both halves of the cap are
3842
restated: dropping the viewport term let the toast reach the screen edge at
3943
430px (measured `left = 0`, losing the 24px inset the right side keeps).
40-
- `styles.css:2003` is the only static `vh` in a scroll surface; the `12vh`
44+
- `.logs-table-wrap` was the only static `vh` in a scroll surface; the `12vh`
4145
padding on the toast wrapper is decorative offset, not a size cap, and stays.
4246

4347
### Not changed: the `vw` → containing-block rewrite

0 commit comments

Comments
 (0)