From 1400d5c6a7166a123fdef7be4045e012b00d6a8b Mon Sep 17 00:00:00 2001 From: quotentiroler Date: Sun, 30 Aug 2026 12:08:48 +0200 Subject: [PATCH] feat(maxhealth): a real radius ladder above lg, which is what it always rendered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.7.0 completed the ladder and set `radius-xl` through `radius-4xl` to `0rem` on this brand, reasoning that a brand flat at radius/sm/md/lg is flat all the way down. The reasoning was sound and the premise was wrong: those steps had never rendered flat. The contract did not define them, so they fell through to Tailwind's defaults, and every component built on this brand has been designed against those values for as long as the brand has existed. Zeroing them squared 24 corners on maxhealth.tech (product cards, the countdown page) and every chat bubble in AIHR. Both read as broken rather than as flat, which is the signal that the tail was never the accident — the missing declaration was. So the ladder is now the design, written down: flat at the sizes that trim a CONTROL (button, input, badge, table cell — everything through `lg`, all still `0rem`), soft at the sizes that shape a SURFACE, where the step draws a card or a bubble rather than an edge of one. Values are Tailwind's, so no consumer needs an edit to get back what it had before 0.7.0. `dashboard` is untouched. Also merges main's release commit, which develop was behind — without it this PR's CHANGELOG would have reverted 0.7.0 back out of its released section. Verified: npm run check (tsc, build, 38 tests). --- CHANGELOG.md | 17 +++++++++++++++++ package.json | 2 +- src/tokens.ts | 21 ++++++++++++++++----- theme.css | 8 ++++---- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33f218a..a2fd377 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,23 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning: [S ## [Unreleased] +### Changed + +- **`maxhealth` gets a real radius ladder above `lg`: 0.75 / 1 / 1.5 / 2rem.** 0.7.0 set the + new `radius-xl` … `radius-4xl` steps to `0rem` on the reasoning that a flat brand is flat + all the way down. It turned out those steps had never rendered flat: they fell through to + Tailwind's own defaults, which are the values restored here, so every component built on + this brand had been designed against them for as long as the brand has existed. + + Setting them to `0rem` squared 24 corners on maxhealth.tech (product cards, the countdown + page) and every chat bubble in AIHR, and both read as broken rather than as flat. The brand + is flat at the sizes that trim a CONTROL — button, input, badge, table cell, everything + through `lg`, all still `0rem` — and soft at the sizes that shape a SURFACE, where the step + is drawing a card or a bubble rather than an edge. + + `dashboard` is unchanged. No consumer needs an edit: the values are what they already + rendered before 0.7.0. + ## [0.7.0] — 2026-08-30 ### Added diff --git a/package.json b/package.json index 7c4dc15..1089360 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "brandc", - "version": "0.7.0", + "version": "0.8.0", "description": "Brand compiler: author a Brand as data and emit the shared design-token contract as CSS (toCss), Tailwind v4 (toTailwindCss) and prefab wire (toPrefabTheme). Ships an example brand you can use as-is or override.", "type": "module", "license": "MIT", diff --git a/src/tokens.ts b/src/tokens.ts index dbfa721..3e47042 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -126,15 +126,26 @@ export const maxhealth = { "sidebar-ring": { light: "oklch(0.708 0 0)", dark: "oklch(0.556 0 0)" }, }, scalars: { - // Shape + elevation — Max Health is flat and sharp. Rebrand by overriding these. + // Shape + elevation — Max Health is flat and sharp at the sizes that carry a control, + // and soft at the sizes that carry a surface. Everything through `lg` is 0rem: buttons, + // inputs, badges, table cells. From `xl` up the step is no longer trimming a control, it + // is shaping a panel, a card or a chat bubble, and those read as objects on the page + // rather than edges of one. + // + // The tail was 0rem for one release (0.7.0) on the reasoning that a flat brand is flat + // all the way. In practice it was not: the values below are what maxhealth.tech and AIHR + // had always rendered, because a step the contract did not define fell through to + // Tailwind's own defaults. Squaring them squared 24 corners on the marketing site and + // every chat bubble in AIHR, and both read as broken rather than as flat. So the ladder + // is the design, written down — not the accident it used to be. radius: "0rem", "radius-sm": "0rem", "radius-md": "0rem", "radius-lg": "0rem", - "radius-xl": "0rem", - "radius-2xl": "0rem", - "radius-3xl": "0rem", - "radius-4xl": "0rem", + "radius-xl": "0.75rem", + "radius-2xl": "1rem", + "radius-3xl": "1.5rem", + "radius-4xl": "2rem", "shadow-sm": "none", shadow: "none", "shadow-md": "none", diff --git a/theme.css b/theme.css index 5d384c3..f784f58 100644 --- a/theme.css +++ b/theme.css @@ -165,10 +165,10 @@ --radius-sm: 0rem; --radius-md: 0rem; --radius-lg: 0rem; - --radius-xl: 0rem; - --radius-2xl: 0rem; - --radius-3xl: 0rem; - --radius-4xl: 0rem; + --radius-xl: 0.75rem; + --radius-2xl: 1rem; + --radius-3xl: 1.5rem; + --radius-4xl: 2rem; --shadow-sm: none; --shadow: none; --shadow-md: none;