Calendar: titles unreadable with dense or long data (Month, Week, Day, phone) #1610

Closed
opened 2026-10-12 11:41:38 +00:00 by kayg · 3 comments
Owner

Calendar breaks with dense and long data (break-ui review #1598, branch worktree-agent-a0afcda97025f5170, artifacts/ui-breakui/shots/worst/):

  1. Month at 1440: event titles shrink to 4 letters ("Busy d…") while the time keeps its full width (cal-month@1440-light). The title must get priority over the time.
  2. Day: 9 events at 10:00 show 3 lanes; the rest sit behind a "+27" chip drawn near 8:40, not at 10:00. The popover lists no times and repeats titles (cal-day@1440-light, shots/probe/cal-day-chip-click-1440-light.png). Event cards also stay tall and empty below their text; a timed all-day block fills a whole lane.
  3. Month at 390: cells show one-letter titles ("A…"). Use dots/compact marks per HIG instead of unreadable text (cal-month@390-light).
  4. Week at 390: every event is a "+2" chip and no title is readable (cal-week@390-light).
  5. Month at 390: the bottom row of a cell is clipped (shots/one/cal-month@390-light.png).
  6. Week and Day open with the "10 AM" row cut under the header.
  7. All-day row collapses to the first title plus "+3" even when space remains.
  8. Contrast under 4.5:1: weekend headers 3.37, Year-view today pill 2.76. Fix with text tokens; glass stays translucent.
Calendar breaks with dense and long data (break-ui review #1598, branch worktree-agent-a0afcda97025f5170, artifacts/ui-breakui/shots/worst/): 1. Month at 1440: event titles shrink to 4 letters ("Busy d…") while the time keeps its full width (cal-month@1440-light). The title must get priority over the time. 2. Day: 9 events at 10:00 show 3 lanes; the rest sit behind a "+27" chip drawn near 8:40, not at 10:00. The popover lists no times and repeats titles (cal-day@1440-light, shots/probe/cal-day-chip-click-1440-light.png). Event cards also stay tall and empty below their text; a timed all-day block fills a whole lane. 3. Month at 390: cells show one-letter titles ("A…"). Use dots/compact marks per HIG instead of unreadable text (cal-month@390-light). 4. Week at 390: every event is a "+2" chip and no title is readable (cal-week@390-light). 5. Month at 390: the bottom row of a cell is clipped (shots/one/cal-month@390-light.png). 6. Week and Day open with the "10 AM" row cut under the header. 7. All-day row collapses to the first title plus "+3" even when space remains. 8. Contrast under 4.5:1: weekend headers 3.37, Year-view today pill 2.76. Fix with text tokens; glass stays translucent.
Author
Owner

Branch worktree-agent-a394879989691c18f, head cb2977fe3f541e09a1b62ebc1bfafe46ce26e5dc (not pushed).

All eight items fixed in the Calendar components. Evidence: artifacts/ui-caldense/{before,after}/{worst,ordinary}/ (production build, Month, Week, Day, Year at 1440 and 390, light and dark, plus the "+N" popovers). Reproduce with artifacts/ui-caldense/shoot.mjs; summarize.py prints the mechanical findings.

Mechanical results (before -> after): weekend headings 3.37:1 -> pass; Year level-3 day 2.76:1 (light) and 3.88:1 (dark) -> pass; clipped Month foot row (every viewport) -> none; first hour label under the header in Week and Day -> none.

Gates: bun run check exit 0 (svelte-check 6317 files, 0 errors, 0 warnings, perf-lint PASS after --adopt-7c); bun run test -- --maxWorkers=2: Test Files 322 passed (322), Tests 2347 passed (2347).

Branch `worktree-agent-a394879989691c18f`, head `cb2977fe3f541e09a1b62ebc1bfafe46ce26e5dc` (not pushed). All eight items fixed in the Calendar components. Evidence: `artifacts/ui-caldense/{before,after}/{worst,ordinary}/` (production build, Month, Week, Day, Year at 1440 and 390, light and dark, plus the "+N" popovers). Reproduce with `artifacts/ui-caldense/shoot.mjs`; `summarize.py` prints the mechanical findings. Mechanical results (before -> after): weekend headings 3.37:1 -> pass; Year level-3 day 2.76:1 (light) and 3.88:1 (dark) -> pass; clipped Month foot row (every viewport) -> none; first hour label under the header in Week and Day -> none. Gates: `bun run check` exit 0 (svelte-check 6317 files, 0 errors, 0 warnings, perf-lint PASS after `--adopt-7c`); `bun run test -- --maxWorkers=2`: Test Files 322 passed (322), Tests 2347 passed (2347).
Author
Owner

Review fixes pushed to the same local branch (not pushed to remote), head 6e39c55f51c6fddec5b787adc4c15bf2d2d648a9. Commits were rewritten: artifacts/ is no longer in the branch; the files stay on disk in the worktree.

  • Day: whole-day timed Event is now a normal card in a narrow leading lane (title written upward) and stays out of the overlap cluster; no backdrop.
  • Day/Week opening hour: never past the end of the grid, and one hour earlier when a card ends in the hour above (no cut cards, no label under the header).
  • Day "+N" popover captured: artifacts/ui-caldense/after/worst/cal-day@1440-light-popover-timed.png.
  • Compact Month: dots are per-item buttons that open the list (real Task checkboxes); the dots and all-day chips reuse the existing loops/snippets so perf ratchet.json is unchanged.

Gates: bun run check exit 0 (0 errors, 0 warnings, perf-lint PASS 20352 exceptions); bun run test -- --maxWorkers=2: Test Files 322 passed (322), Tests 2347 passed (2347).

Review fixes pushed to the same local branch (not pushed to remote), head `6e39c55f51c6fddec5b787adc4c15bf2d2d648a9`. Commits were rewritten: `artifacts/` is no longer in the branch; the files stay on disk in the worktree. - Day: whole-day timed Event is now a normal card in a narrow leading lane (title written upward) and stays out of the overlap cluster; no backdrop. - Day/Week opening hour: never past the end of the grid, and one hour earlier when a card ends in the hour above (no cut cards, no label under the header). - Day "+N" popover captured: `artifacts/ui-caldense/after/worst/cal-day@1440-light-popover-timed.png`. - Compact Month: dots are per-item buttons that open the list (real Task checkboxes); the dots and all-day chips reuse the existing loops/snippets so perf `ratchet.json` is unchanged. Gates: `bun run check` exit 0 (0 errors, 0 warnings, perf-lint PASS 20352 exceptions); `bun run test -- --maxWorkers=2`: Test Files 322 passed (322), Tests 2347 passed (2347).
Author
Owner

Deployed to calternal.cloud as build 6f78b6780 (fast lane).

Deployed to calternal.cloud as build 6f78b6780 (fast lane).
kayg closed this issue 2026-10-12 14:38:06 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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/calternal-v0#1610
No description provided.