Sidebar: tree lines to the last child; header row for the toggle #166

Closed
opened 2026-10-11 12:09:45 +00:00 by kayg · 5 comments
Owner

Owner, iPhone production screenshots 2026-10-11:

  1. Sidebar tree guide lines fade/stop at the end of the first screenful instead of running to the last child.
  2. The sidebar toggle overlaps the first row count ("25").
    Branch sidebar-polish from release-prod-2 (89145f81). TASTE dev rows added today.
Owner, iPhone production screenshots 2026-10-11: 1. Sidebar tree guide lines fade/stop at the end of the first screenful instead of running to the last child. 2. The sidebar toggle overlaps the first row count ("25"). Branch `sidebar-polish` from release-prod-2 (89145f81). TASTE dev rows added today.
Author
Owner

Starting #166 sidebar-polish: branch sidebar-polish, base 63718f52bd. Two items: tree guide lines stop at first screenful; toggle overlaps first row.

Starting #166 sidebar-polish: branch sidebar-polish, base 63718f52bdbb7a91b50bb3488ab3df9771f0d452. Two items: tree guide lines stop at first screenful; toggle overlaps first row.
Author
Owner

Starting #166 sidebar-polish: branch sidebar-polish, base 63718f52bd. Two items: tree guide lines stop at first screenful; toggle overlaps first row.

Starting #166 sidebar-polish: branch sidebar-polish, base 63718f52bdbb7a91b50bb3488ab3df9771f0d452. Two items: tree guide lines stop at first screenful; toggle overlaps first row.
Author
Owner

Finish #166. Head 15d15c257c on sidebar-polish (pushed).

Root causes: (1) host-level line = one translucent stroke per leaf stacked from the top, so opacity decayed down the list; now one path per group. View-level trunk = absolutely positioned child of the scroller, scrollport-high and masked at its end; now per-section ::before ending at the last head centre. (2) .sidebar-head was a shrinkable flex item and collapsed to ~22 of 44 px; flex: none.

Gate: check 0, bun test src 147 pass 0 fail, build 0, transfer-budget exit 0:

JavaScript transfer, critical: identity=940367 gzip=291698/307200 brotli=242329/256000 bytes
JavaScript transfer, deferred: identity=138535 gzip=48839/51200 brotli=43064/45056 bytes
JavaScript transfer, onDemand: identity=181662 gzip=71468/20480 brotli=63569/18432 bytes
JavaScript transfer, onDemand largest chunk chunk-7j32d5kn.js: gzip=15016/20480 brotli=13324/18432 bytes (class total gzip=71468 brotli=63569, not limited)
Font transfer: monaspace-neon=84340/88064 jetbrains-mono=70384/75776 source-code-pro=46484/49152 geist-mono=41364/45056 ibm-plex-mono=41344/45056 cascadia-code=85008/88064 maple-mono-nf=99876/106496 (

Specs: sidebar-polish 4/4 pass; inbox 9/9, phone-gutter 4/4 pass. core-screen.spec.ts:150 fails on a palette-material colour comparison (oklab vs rgb channels, paper theme), unrelated to files touched here. Captures: apps/tracer/captures/sidebar-polish/

Finish #166. Head 15d15c257c6985c838b41f6db5216b6544f60bd0 on sidebar-polish (pushed). Root causes: (1) host-level line = one translucent stroke per leaf stacked from the top, so opacity decayed down the list; now one path per group. View-level trunk = absolutely positioned child of the scroller, scrollport-high and masked at its end; now per-section ::before ending at the last head centre. (2) .sidebar-head was a shrinkable flex item and collapsed to ~22 of 44 px; flex: none. Gate: check 0, bun test src 147 pass 0 fail, build 0, transfer-budget exit 0: ``` JavaScript transfer, critical: identity=940367 gzip=291698/307200 brotli=242329/256000 bytes JavaScript transfer, deferred: identity=138535 gzip=48839/51200 brotli=43064/45056 bytes JavaScript transfer, onDemand: identity=181662 gzip=71468/20480 brotli=63569/18432 bytes JavaScript transfer, onDemand largest chunk chunk-7j32d5kn.js: gzip=15016/20480 brotli=13324/18432 bytes (class total gzip=71468 brotli=63569, not limited) Font transfer: monaspace-neon=84340/88064 jetbrains-mono=70384/75776 source-code-pro=46484/49152 geist-mono=41364/45056 ibm-plex-mono=41344/45056 cascadia-code=85008/88064 maple-mono-nf=99876/106496 ( ``` Specs: sidebar-polish 4/4 pass; inbox 9/9, phone-gutter 4/4 pass. core-screen.spec.ts:150 fails on a palette-material colour comparison (oklab vs rgb channels, paper theme), unrelated to files touched here. Captures: apps/tracer/captures/sidebar-polish/
Author
Owner

Orchestrator: web-only deploy of 15d15c25 to production (backup /var/backups/infraternal/20261011-142612-15d15c25); release-prod-2 fast-forwarded. Verified captures (top/bottom phone ink): header row separate, guide lines end at the last child. Budget exit 0 on the production build. core-screen.spec.ts:150 also fails on the base 89145f81 (pre-existing paper palette colour-space comparison), not this change.

Orchestrator: web-only deploy of `15d15c25` to production (backup /var/backups/infraternal/20261011-142612-15d15c25); release-prod-2 fast-forwarded. Verified captures (top/bottom phone ink): header row separate, guide lines end at the last child. Budget exit 0 on the production build. core-screen.spec.ts:150 also fails on the base 89145f81 (pre-existing paper palette colour-space comparison), not this change.
Author
Owner

Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Sidebar polish 15d15c25 deployed web-only to production and is in dev and prod-live, captures verified. Reopen if anything is still missing.

Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Sidebar polish 15d15c25 deployed web-only to production and is in dev and prod-live, captures verified. Reopen if anything is still missing.
kayg closed this issue 2026-10-28 17:52:58 +00:00
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal#166
No description provided.