UI pass: Script as a screenplay page, clearer Setups #218

Merged
crowmaki merged 1 commit from ui-pass-script-page into main 2026-10-16 07:30:47 +00:00
Owner

A UI pass inside ADR-0006's design language: dark, dense, neutral greys, one cool accent. It has one bold move, on the Script, and a handful of clarity fixes.

Script as a screenplay page

The Script is now set in Courier Prime, the open-licence face screenwriters use, on a centred page with Scene numbers in both margins, as in a shooting script. Lighting and flag badges move onto the heading line, so they no longer sit between the heading and the action.

The font ships as @fontsource/courier-prime, so the app stays offline. It sits behind a new --script token in app.css. In a narrow pane the page drops its border and the right-hand numbers.

This also fixes a bug: scene headings sat about 4px left of the action text, because the number's negative margin didn't account for the flex gap.

Before After
Script before Script after

Setups and Shots read as units

Each Setup's Subjects, Atlases, Blocking plan and Shots now hang under its letter on one left rule. Setup and Shot labels used to be the dimmest text in their blocks and are now full-strength. Each Shot has a hairline above it.

Before After
Setups before Setups after

Setup and Shot paths open the Scene

/scenes/…/setups/… and /scenes/…/shots/… still showed a "Not built yet" placeholder pointing at #40 and #41, both of which are closed. Storage's "Open Shot" led there. These paths now open the Scenes view scrolled to that Setup or Shot, with the accent on the Setup's rule or the selection tint on the Shot. PlaceholderView had no other users, so it's deleted.

Before After
Shot path before Shot path after

Smaller fixes

  • Lighting settings: the Phrase input was cut off at "soft daylight through th" in a wide column. It now fills the column, and Name gets a fixed 14rem.
  • Start screen: "App settings…" lines up with the buttons above it instead of its own invisible ghost-button padding, and the description wraps with text-wrap: pretty.
Before After
Lighting before Lighting after
Start before Start after

For review

ADR-0006's type line names only system-ui and ui-monospace. If the Courier Prime page stays, the ADR should name the script face too. That can go in this PR or a follow-up.

Testing

  • bun run check: 0 errors, 0 warnings.
  • bun test src: 323 pass.
  • Before and after screenshots were taken in the running app on the same Project (main stashed, then this branch).
A UI pass inside ADR-0006's design language: dark, dense, neutral greys, one cool accent. It has one bold move, on the Script, and a handful of clarity fixes. ## Script as a screenplay page The Script is now set in Courier Prime, the open-licence face screenwriters use, on a centred page with Scene numbers in both margins, as in a shooting script. Lighting and flag badges move onto the heading line, so they no longer sit between the heading and the action. The font ships as `@fontsource/courier-prime`, so the app stays offline. It sits behind a new `--script` token in `app.css`. In a narrow pane the page drops its border and the right-hand numbers. This also fixes a bug: scene headings sat about 4px left of the action text, because the number's negative margin didn't account for the flex gap. | Before | After | |---|---| | ![Script before](https://git.crowmaki.me/attachments/a8343273-009d-4d0b-8ecc-c230475763f5) | ![Script after](https://git.crowmaki.me/attachments/614e02e1-0836-4c85-96aa-bd931412be56) | ## Setups and Shots read as units Each Setup's Subjects, Atlases, Blocking plan and Shots now hang under its letter on one left rule. Setup and Shot labels used to be the dimmest text in their blocks and are now full-strength. Each Shot has a hairline above it. | Before | After | |---|---| | ![Setups before](https://git.crowmaki.me/attachments/86161b57-4ed0-470c-9e20-59477158367d) | ![Setups after](https://git.crowmaki.me/attachments/8dec5041-10e1-4030-82b9-1528c27f512e) | ## Setup and Shot paths open the Scene `/scenes/…/setups/…` and `/scenes/…/shots/…` still showed a "Not built yet" placeholder pointing at #40 and #41, both of which are closed. Storage's "Open Shot" led there. These paths now open the Scenes view scrolled to that Setup or Shot, with the accent on the Setup's rule or the selection tint on the Shot. `PlaceholderView` had no other users, so it's deleted. | Before | After | |---|---| | ![Shot path before](https://git.crowmaki.me/attachments/e11749ca-1a57-4c68-b611-7e05a5765d93) | ![Shot path after](https://git.crowmaki.me/attachments/d4d3934a-a901-4d76-a0c0-8f8742beb992) | ## Smaller fixes - **Lighting settings:** the Phrase input was cut off at "soft daylight through th" in a wide column. It now fills the column, and Name gets a fixed 14rem. - **Start screen:** "App settings…" lines up with the buttons above it instead of its own invisible ghost-button padding, and the description wraps with `text-wrap: pretty`. | Before | After | |---|---| | ![Lighting before](https://git.crowmaki.me/attachments/a5f8dd35-d08a-49cb-a66f-d1146bbaf5a5) | ![Lighting after](https://git.crowmaki.me/attachments/66a9af62-5880-4498-abac-1c1354843a28) | | ![Start before](https://git.crowmaki.me/attachments/adbb6fdb-1477-43ce-99e2-9047383283d2) | ![Start after](https://git.crowmaki.me/attachments/7433e17e-c1cc-45fd-8799-8b15e589b612) | ## For review ADR-0006's type line names only system-ui and ui-monospace. If the Courier Prime page stays, the ADR should name the script face too. That can go in this PR or a follow-up. ## Testing - `bun run check`: 0 errors, 0 warnings. - `bun test src`: 323 pass. - Before and after screenshots were taken in the running app on the same Project (`main` stashed, then this branch).
- Script: Courier Prime on a centred page, Scene numbers in both
  margins, Lighting badges on the heading line, and headings aligned
  with action (the number offset left them ~4px out).
- Scenes: a rule ties each Setup's parts together under its letter,
  and Setup and Shot labels are no longer the dimmest text.
- Setup and Shot paths open the Scenes view scrolled to and tinting
  that Setup or Shot, instead of a stale "Not built yet" placeholder
  (#40 and #41 are closed). Storage's "Open Shot" lands there.
- Lighting settings: the Phrase input fills its column.
- Start screen: "App settings…" lines up with the buttons above it.
crowmaki deleted branch ui-pass-script-page 2026-10-16 07:30:47 +00:00
Sign in to join this conversation.
No description provided.