Skip to content

fix(schedule): give the HTML export a constant week pitch - #91

Merged
atman-33 merged 1 commit into
mainfrom
feature/schedule-export-cell-height
Jul 27, 2026
Merged

fix(schedule): give the HTML export a constant week pitch#91
atman-33 merged 1 commit into
mainfrom
feature/schedule-export-cell-height

Conversation

@atman-33

Copy link
Copy Markdown
Owner

What

The schedule's HTML export laid a week row out as three stacked blocks (day
numbers, bar lanes, milestone row) with no height of its own, so every week
was as tall as whatever it happened to hold. A week with a bar towered over an
empty one and the calendar lost its rhythm — the complaint behind T-0099.

The on-screen grid has given each day cell a minimum height all along; only
the export was missing it.

How

  • A week row is now a single seven-column table: one td per day, holding the
    date line, a spacer sized to the week's lane count, and that day's
    milestones. Bars and arrows span columns, so they stay an absolutely
    positioned overlay across the whole week.
  • Day cells get a 96px minimum height (a table cell's height is a minimum, so
    a week with more lanes than fit still grows), vertical column rules, and
    non-working shading over the whole cell rather than behind the date alone.
  • The date and its non-working label share one fixed-height line, so bars start
    at the same offset in every cell.
  • The weekday header's outer cell drops its padding — otherwise its column
    rules sit a few px off from the ones in the rows below.

Element geometry is untouched: it is still exactly buildLayout's output, as
§8.2 of the design note requires.

Trade-off

Taller rows fit fewer weeks per printed page — roughly 12 before, 6–7 now on
A4 landscape. Accepted for readability; recorded as §16.12 in the vault design
note.

Verification

  • Rendered the vault's test schedule and measured the output: all week rows
    97px, header and body column rules aligned to the pixel, bars at the head
    offset and milestones one lane below with no overlap.
  • npx vitest run (124 passed) and npm run build green. One existing test
    asserted the old daynum ... today class arrangement and was updated to the
    new daycell ... today.

🤖 Generated with Claude Code

Exported week rows were only as tall as their contents, so the grid's rhythm
changed from week to week and a row holding a bar towered over an empty one.
The on-screen grid already gives every day cell a minimum height; the export
did not.

Restructure a week row into a single seven-column table, one cell per day,
with the bars floating over it as an overlay (they span columns, so they
cannot live inside a cell) and milestones pushed below them by a spacer sized
to the week's lane count. Day cells get a minimum height, column rules, and
whole-cell non-working shading.

Element geometry is still exactly buildLayout's output; only the space around
it changed. Taller rows fit fewer weeks per printed page (~12 -> 6-7 on A4
landscape), traded for readability.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 56011714-abde-4669-a7c5-b7f6df6e5fcc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/schedule-export-cell-height

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@atman-33
atman-33 merged commit 9881472 into main Jul 27, 2026
2 checks passed
@atman-33
atman-33 deleted the feature/schedule-export-cell-height branch July 27, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant