Commit Graph
4 Commits
Author SHA1 Message Date
Miguel Ángel 2d84937e1f feat(studio): export the header logo, button sizes and a stable styles.css subpath (#4197)
A host mounting Studio's header reuses HyperframesLogo and buttonSizes for
matching chrome, and imports the compiled stylesheet as a fixed-name package
export instead of a hash that changes on every rebuild.
2026-09-19 19:06:01 -04:00
Miguel Ángel 339dc76026 feat(studio): move every design value into one theme file (#3621)
* feat(studio): move every design value into one theme file

Studio's design values lived in three places: a JS Tailwind preset, an
inline @theme block, and raw hex and pixel literals in markup and CSS.
theme.css is now the single owner. Tailwind v4 turns it into both the
utility classes and the CSS custom properties, so markup, plain CSS and
canvas code all read the same number.

- semantic colour palette (background levels, surfaces, borders, text
  levels, accent, selection, playhead, danger, media, container), radii,
  control heights, the micro type scale, font stacks, shadows, easings
  and motion durations
- the stock Tailwind palette is cleared with --color-*: initial, so a
  colour that is not a Studio token cannot be reached from markup; the
  entries Studio's markup still names are re-declared as deprecated
  aliases and removed once the sweep converts them
- motion durations ship as @utility rules that zero themselves under
  prefers-reduced-motion, since Tailwind has no duration namespace
- Phosphor icons get one default size and weight, read off the theme at
  the app root; icons that pass their own still win
- published as @hyperframes/studio/theme.css; the JS preset export stays
  as a deprecated shim for v3 consumers, with a test that fails if the
  two drift apart

* docs(studio): trim theme token comments to pass the comment-length gate

* docs(studio): shorten theme test docblock to fit the comment gate

* refactor(studio): collapse the duration utilities into one functional rule

* refactor(studio): trim theme.css comments to three lines

* test(studio): fail when a legacy palette entry is not a Tailwind default

* fix(studio): keep the palette reset out of the exported theme.css

* style(studio): format theme.css with the repo formatter

* fix(studio): declare theme.css browser-only so the packed-consumer smoke does not import it in node
2026-09-19 04:48:05 -04:00
James 3454a80eb2 test(repo): execute packed subpaths 2026-07-18 18:27:44 -04:00
James 8d9d9c016e refactor(repo): centralize package subpaths 2026-07-18 15:58:23 -04:00