Skip to content

feat: hexagon/heart shapes, toast preset, glass tab bar example + liquid-glass SEO - #92

Merged
himanshu-lal4 merged 4 commits into
mainfrom
feat/issues-88-89-90-and-liquid-glass-seo
Aug 20, 2026
Merged

feat: hexagon/heart shapes, toast preset, glass tab bar example + liquid-glass SEO#92
himanshu-lal4 merged 4 commits into
mainfrom
feat/issues-88-89-90-and-liquid-glass-seo

Conversation

@himanshu-lal4

Copy link
Copy Markdown
Owner

Closes #88, closes #89, closes #90 — plus a latent bug fix, the "liquid glass" discoverability work, and sponsor buttons.

Issues fixed

  • feat: add hexagon and heart to the shape prop #89hexagon and heart shapes. hexagon is first-class sugar for the 6-sided polygon (with rotation and cornerRadius); heart is two cubic lobes meeting at a cleft, proportions tuned to read at chip size, not just full-screen. Pure-TS, 8 new shape test cases.
  • Latent bug found on the way: polygon's cornerRadius was documented on the type but silently ignored by the implementation. Now implemented — each vertex rounds with one quadratic bézier, rounding distance capped at half the edge so adjacent roundings can't overlap. Anyone who set it and shipped sharp corners will now get the rounding they asked for (bug-fix class visual change).
  • feat: add a toast preset #90toast preset. Tuned legibility-first, per the issue's framing: the highest legibilityFloor of any preset (0.4) since a toast renders over content it can't predict, intensity: 78 to quiet the backdrop, and a shallow lens (thickness: 0.5) because deep refraction on a 60dp strip warps its own copy. Tuned against a white screen, a busy photo, and scrolling text. A test pins the "most legibility-protective preset" invariant so future presets can't silently take the title.
  • example: add a glass tab bar screen to the example app #88 — glass tab bar example screen. example/src/GlassTabBar.tsx — a floating preset="floatingTabBar" bar detached from the screen edge with real content scrolling underneath, registered as the "▬ Tab bar" gallery chip. Mirrors docs/react-native-glass-tab-bar.md so the documented recipe is exercised on-device.

Discoverability ("liquid glass" searches find nothing)

Root cause: the package name tokenizes as liquid + glassmorphism — the phrase "liquid glass" never appeared as a word pair in the README's H1, the strongest on-page element. And the exact-match npm name react-native-liquid-glass is owned by Evan Bacon, so the head query is contested by Expo-adjacent packages; the defensible wedge is Android + merging.

  • H1 → "React Native Liquid Glass — for Android AND iOS" (package name demoted to a subtitle)
  • Repo description now leads with the exact phrase + the wedge
  • New FAQ: honest comparison vs react-native-liquid-glass (Expo) and @callstack/liquid-glass — iOS-26-only wrappers vs. both-platform + merging. Claim discipline per growth/ notes: no "only Android glass" claims (@uginy/react-native-liquid-glass and react-native-android-liquid-glass exist).

Sponsors

GitHub Sponsors + Buy Me a Coffee buttons (theme-aware, matching the profile README style) + .github/FUNDING.yml (github: himanshu-lal4, buy_me_a_coffee: wrack).

Compatibility

All changes are additive (new union members, new preset key, example-only screen). Mechanical check: every export from the published 1.1.0 type surface is present in this branch's build. The cornerRadius fix is the only behavior change, and only for consumers who explicitly set the previously-ignored option. Suggested release: 1.2.0.

Verification

148 tests green (11 new) · tsc clean · eslint 0 errors · bob build clean.

- shape: { type: 'hexagon', rotation?, cornerRadius? } — first-class sugar
  for the six-sided polygon (closes #89, half one)
- shape: { type: 'heart' } — two cubic lobes meeting at a cleft, tuned to
  read at chip size (closes #89, half two)
- fix: polygon cornerRadius was documented on the type but silently
  ignored; vertices now round with one quadratic bézier each, capped at
  half the edge length so roundings can never overlap
- preset: 'toast' — legibility-first tuning for a surface that renders
  over unknown content: the highest legibilityFloor of any preset (0.4),
  heavy-ish blur (78) to quiet the backdrop, shallow lens (0.5) so the
  toast's own text stays crisp; tuned against white, a busy photo, and
  scrolling text (closes #90)

Shapes and presets are pure TS — covered by 11 new cases in
shapes.test.ts / presets.test.ts (148 total green).
A floating tab bar built from <LiquidGlassView preset="floatingTabBar">,
detached from the screen edge so the rim reads all the way around, with
real content scrolling underneath. Registered as the '▬ Tab bar' chip in
the API gallery, mirroring docs/react-native-glass-tab-bar.md so the
documented recipe is exercised on-device.
…buttons

- H1 now carries the exact phrase people actually search — 'React Native
  Liquid Glass' — with the package name demoted to a subtitle; the phrase
  never appeared as a token pair in the page's strongest element because
  'liquid-glassmorphism' tokenizes without the standalone word 'glass'
- FAQ: how this differs from react-native-liquid-glass (Expo) and
  @callstack/liquid-glass — they wrap UIGlassEffect (iOS-26-only); this
  drives the same native effect on iOS AND reproduces the optics on
  Android 13+, plus glass merging (claim-discipline per growth notes:
  no 'only Android glass' claims)
- GitHub Sponsors + Buy Me a Coffee buttons (theme-aware) and FUNDING.yml
Wrap-around vertex access goes through a bounds-safe accessor with an
unreachable fallback instead of seven `!` assertions.
@himanshu-lal4
himanshu-lal4 merged commit b3fc0a6 into main Aug 20, 2026
5 checks passed
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.

feat: add a toast preset feat: add hexagon and heart to the shape prop example: add a glass tab bar screen to the example app

1 participant