Skip to content

Add HIG semantic haptic adapters and migrate docs shell tokens - #25

Merged
joeblau merged 3 commits into
mainfrom
feat/hig-feedback-docs
Oct 14, 2026
Merged

joeblau merged 3 commits into
mainfrom
feat/hig-feedback-docs

Conversation

@joeblau

@joeblau joeblau commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

HIG consumers can now use a platform-free semantic haptic adapter or inject the native Expo facade without installing native dependencies in a web app. Physical targets accept host-owned haptic preferences and an application veto. Silent phases, eligibility, background/disposal and backend failure remain no-ops that preserve the host action; motion and sound are independent. HIG continues to own storage, cadence and deduplication.

The docs retain their Fumadocs shell/static search and SDK-specific demos while using the approved HIG plain CSS distribution pinned to 1a776b9326c6ba03702894943b3edbfd178c4b40 (0.1.0 candidate). Remove the independent display font/palette, add reduced-motion alternatives and enforce token provenance in CI. Registry-package adoption is a dated exception until HIG publishes; no npm release is assumed.

Relates to bloxwap/hig#21, #22, #24, #25, #34 and #36; supplies integration boundaries for #23, #33 and #35. These organization-wide issues are not closed or claimed complete.

Validation:

  • Build/typecheck and lint pass; 79 unit tests with 100% statement/branch/function/line coverage.
  • React 18.3.1/19.3.0 complete coverage matrix passes.
  • Packed ESM/CJS consumers, SSR and declarations pass for both React versions; /feedback types compile with ES2020 only and no DOM or ambient platform types.
  • Docs check typechecks all 9 snippets; production static export verifies routes, /haptic paths/assets, search and licenses.
  • 16 docs browser tests pass in Chromium/Firefox/WebKit/mobile Chromium, including delayed hydration, search, responsive navigation, forms/drawer, distinctive haptic board and reduced motion.
  • Browser interaction/action/routing tests pass in all three engines. Local Firefox debug audio initially lacked an output sink; after extracting PulseAudio within this directory, its real WebAudio startup/teardown test passed with a null sink (isolated 120s retry under shared VM load). Final CI runs the existing test under its standard budget. Final CI passed on f9dbe26: Tests, Documentation. gh pr checks --watch completed green; deploy/live smoke jobs were skipped for the PR.
  • Additional Chromium verification passes package-manager keyboard navigation and actual clipboard readback of yarn add @bloxwap/haptic.
  • npm audit: zero vulnerabilities. Browser SDK entry: 3,840 gzip bytes, within 8,192-byte budget.

Before/after captures, measured bytes, adoption row and issue-by-issue remaining work: static CSS −2,886 bytes, fonts −116,056 bytes, exported JS +136 bytes for live-mute cleanup. Measurement limitations are recorded in bytes.json. Rollback is reverting this PR.

Physical iPhone/Android/iPadOS and VoiceOver/TalkBack cannot be tested on this Linux VM. No tactile output, physical latency or native-device behavior is certified. API mocks and desktop WebKit are identified separately. iOS physical ticks precede delegated cancellation and cannot provide programmable outcome patterns/intensity; Expo cannot retract an already submitted tick. Device certification remains haptic#9/#7 and native/product adoption stays in owning repositories. No production deploy, tag, release or npm publish is performed by this work.

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