commit 1869615e0c4dc8fa0d59f1e016fd9a13ca7b6d11
parent f1e8c2bafa1eef225de4c8d5146bfdbe6556d7fe
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Thu, 1 Oct 2026 21:27:15 -0400
plans: "Fix pass after the review" under "Dip F2, as built" -- the review's LOWs to their commits, L8 left, the gates; the F1 regex item points at its fix
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/plans/deck-posts.md b/plans/deck-posts.md
@@ -484,7 +484,8 @@ Found and left:
- **The popup page's clamp regex reaches the page as `/s+$/`** (the template literal eats the
backslash; quirk recorded). It runs only for a clamped card whose later paragraphs were dropped
after one that fit exactly, and strips trailing letters "s" rather than spaces. Not fixed here:
- it would change the popup page and its cached windows; the feed's page writes `\\s`.
+ it would change the popup page and its cached windows; the feed's page writes `\\s`. (Fixed
+ after the F2 review: "Dip F2, as built", "Fix pass after the review".)
- A card is in the feed whole or not at all, so an overflowing column can show a gap at its
bottom (on ferret at 133 s: 216 px free under two cards, the third needing 288).
- The umtool preview shows the feed's composition and frames the backdrop in the feed's box; it
@@ -626,3 +627,26 @@ Found and left:
- `deck.motion.in` longer than the transition no longer matters to a dipped boundary (the hide
is instant), but a popup-layout clip's posts still leave over the overlap as they always do,
now under the fade.
+
+### Fix pass after the review
+
+The read-only review of 90bd8384..76c93607 (F1, V1, F2) said SHIP, with M1 (the umtool e2e and
+the capped `next build` for F2, owed at the merge) and eight LOWs. L8 (a dip's `black` alone
+changes the hard-cut prerail record) is left: a `black` change rebuilds the prerail anyway.
+
+| Commit | What |
+|---|---|
+| 6dc0c464 | L1: the popup page's clamp writes `\\s` in its template, so the page gets `/\s+$/` and a clamped quoted paragraph ending in "s" keeps it. A test reads the regex off a composed page. The popup page's hash changes, so cached popup windows re-render once |
+| 3e3980c4 | L2: `--chrome-only` / `--chrome-preview` check the segments on disk (all but the teasers', which are built next) and `framingProblems` before rendering any teaser. A test drives `buildVideo` over deck-framed segments under a feed with a stub renderer that is never run |
+| b096557c | L4: `dipOf(entry, fps)` snaps `black` to whole frames (`snapToFrames`; a value already whole, 0.6 at 30 fps, is returned as given). `teaserLead`, `teaserSeconds`, `teaserMotionOf`, `teaserHits`, the page, the schedule's `dip` and `cutJoins` take the render's fps, so the lead, the page's rise, the frame count and `dipWindows`' `until` agree (0.45 at 30 fps is 14 frames, 0.4667 s) |
+| 2504823b | L5: the teaser's record (`<id>.teaser.json`) names the `transition` it was built at, and verify-build counts its frames at it; an older record falls back to the schedule's, then 0 under verify-build's new `--no-xfade`, which umtool's driver passes whenever the build had it |
+| 41980cb9 | L6: wording only. A feed post ticks in at its clip's start + D on every clip, the first included; the JSDoc, the page module's header, the README, the `[Unreleased]` bullet and the timing line above say so. No schedule changed |
+| e23c9b89 | L7: the umtool layout hint says a switch takes a full build (cached windows reused) and re-render on-screen is refused until one has run. No e2e spec asserts the hint's text |
+| 2093ef9b | L3: documented only (quirks): `overCards` toggles on full-frame cards are not in the framing record, and `scroll` / `chart` / `ledger` are never framed, so under the feed with `overCards: "show"` the column covers their right third |
+| (this) | this subsection |
+
+Gates at 2093ef9b:
+
+- Workspace tsc (`pnpm -r --no-bail --workspace-concurrency=1 exec tsc --noEmit`) clean (73 s).
+- `test:scripts`: 417 tests, 415 pass, 2 skipped, 0 failed (62 s).
+- e2e and the capped umtool `next build` (M1) are run at the merge, not here.