Skip to content

Refresh Haptic docs onto HIG 872906a9 candidate and drop HIG workarounds - #28

Merged
joeblau merged 1 commit into
mainfrom
hig-872906a9-refresh
Oct 15, 2026
Merged

joeblau merged 1 commit into
mainfrom
hig-872906a9-refresh

Conversation

@joeblau

@joeblau joeblau commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Moves the Haptic docs onto the HIG 0.1.0-candidate.sha872906a9 tarballs, built from bloxwap/hig@872906a. It also removes the workarounds from #26 that the upstream fixes replace.

Part of bloxwap/hig#63 · Part of bloxwap/hig#64 · Part of bloxwap/hig#65 · Part of bloxwap/hig#66 · Part of bloxwap/hig#69

  • #63 nested Radix removed: with caret peers, npm shares one Radix tree with Fumadocs and Vaul. Radix lockfile entries go from 82 to 34; nested entries go from 44 to 0.
  • #63 rebuilt recipe removed: the home code window imports @bloxwap/hig-react/recipes/code-window instead of rebuilding it from Surface + Text + pre.
  • #64 font export check simplified: the web tokens tarball now ships no font files (4,428,734 → 8,108 bytes). check-export.mjs no longer walks the export for .ttf files. Instead, npm run lint asserts in one line that the installed @bloxwap/hig-tokens contains no font binaries.
  • #65 font bridge removed: deletes .hig-button { font-family: var(--font-sans) }. The smoke test now asserts that the button's first font family is a loaded Bloxwap face.
  • #66 radius roles: --docs-radius-surface and --docs-radius-nested now point at --hig-radius-xl and --hig-radius-lg instead of literals.
  • #69 Callout: note and idea map to HIG note and tip, and titles accept a ReactNode. The install row stays SDK-specific. Its panel starts with text, so HIG Tabs correctly keeps the panel as the tab stop.
  • hig#80 side effect: HIG buttons are now 44 px by default. One host rule keeps 48 px on coarse pointers. The presentation test now expects at least 44 px on desktop and at least 48 px on the Pixel 7 profile; before, it expected at least 48 px everywhere.

Before / after

Baseline is 71f84f4 (main), built with the same /haptic export settings. Details: .github/evidence/hig-refresh-872906a9/README.md.

Metric Before After Δ
Vendored tarballs 4,446,466 B 34,514 B −4,411,952 B
Lockfile entries 608 560 −48
Radix entries (nested) 82 (44) 34 (0) −48 (−44)
Exported CSS (raw / gzip) 148,539 / 23,642 157,266 / 25,304 +8,727 / +1,662
Exported JS (raw / gzip) 1,125,248 / 363,743 1,130,670 / 365,449 +5,422 / +1,706
Exported fonts 12,965,628 12,965,628 0
Static export total (118 files) 15,681,140 15,695,084 +13,944

The nested Radix tree was never imported, so removing it does not shrink the export. CSS and JS grow because the HIG candidate now ships the role variables, the Callout severities and the Tabs focus handling.

Validation (automated + browser; macOS arm64, Node 24.10.0, npm 11.6.1)

  • rm -rf node_modules && npm ci: pass; npm ls shows no problems.
  • npm run lint: pass.
  • npm run build, npm run typecheck and npm run docs:check: pass. docs:check type-checked 9 snippets.
  • npm test: 79 passed.
  • npm run docs:build with /haptic: pass; routes, assets and base-path links verified.
  • Playwright site.spec.ts on chromium, webkit and mobile-chromium: 21/21 passed. This covers the preset board, the interaction examples and Vaul drawer, search to deep links, install tabs and copy, Callout geometry, and the new font and button-height checks.
  • Firefox does not launch in the local sandbox. CI runs all four projects.

Screenshots of 5 pages × 2 viewports, before and after, are in .github/evidence/hig-refresh-872906a9/. They look the same except that desktop buttons are 4 px shorter. No iOS Simulator, Android emulator, physical device or tactile observation is claimed (that work stays in haptic#9 and haptic#7).

Rollback: revert this PR. Nothing is published, tagged or released.

🤖 Generated with Claude Code

Vendors the hig@872906a9 candidate tarballs. Caret Radix peers (hig#63) remove
the 48 nested Radix lockfile entries, and the overlay-free recipes/code-window
entry replaces the locally composed CodeWindow. The web tokens package no longer
ships TTFs (hig#64), so the static-export TTF walk becomes a one-line lint check
on the installed package. HIG CSS reads --hig-font-sans (hig#65), so the button
font bridge goes; radius aliases point at the new token roles (hig#66); Callout
maps note/idea to HIG note/tip and accepts ReactNode titles (hig#69). Coarse
pointers keep 48px buttons now that HIG defaults to 44px (hig#80).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
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