@oxy.so/bloom 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/glass.mdx +15 -0
- package/docs/page-header.mdx +46 -1
- package/package.json +1 -1
package/docs/glass.mdx
CHANGED
|
@@ -138,3 +138,18 @@ Gate: `src/theme/__tests__/chrome-glass.test.ts`, which pins the two floors to t
|
|
|
138
138
|
An island also mounts a `ControlSurface` with `material: 'glass'`, so controls inside it paint flush. That is the material's rule rather than a preference: a translucent pane inside a translucent pane composites two alphas and two blurs for one pane's worth of depth, and on Android the second blur is not available at all.
|
|
139
139
|
|
|
140
140
|
Internal (`glass/` is not a published subpath). It is reached through `ButtonGroup`'s `glass` variant and `PageHeader`'s floating presentation.
|
|
141
|
+
|
|
142
|
+
### On a device: tint, and no blur
|
|
143
|
+
|
|
144
|
+
Measured on a **Pixel 8a** over a hard 10dp stripe pattern, sampling the same rows inside a chrome island and on the bare stripes beside it:
|
|
145
|
+
|
|
146
|
+
| backdrop stripe | bare | inside the island |
|
|
147
|
+
| --- | --- | --- |
|
|
148
|
+
| white | 255 | 254 |
|
|
149
|
+
| black | 0 | 210 |
|
|
150
|
+
|
|
151
|
+
The backdrop contributes **44 of 255** — the pane is translucent — and the stripe **edge stays sharp**, where a blur would smear a 26px transition. That is the Android behaviour this file describes: `expo-blur` is asked for no blur method, so it paints its tint and nothing else. Nothing in `logcat` asked for one or reported a crash.
|
|
152
|
+
|
|
153
|
+
The composite works out at ≈**0.83** opacity against the web pane's 0.72 plus sheen. The difference is `expo-blur`'s own tint — one `intensity` drives it together with the radius and a caller cannot decline it — which is the platform gap `GLASS_BLUR_INTENSITY` documents, appearing exactly where it said it would.
|
|
154
|
+
|
|
155
|
+
The ramp `PageHeader` draws over the same material was checked for the `stopColor` alpha trap at the same time: **0 achromatic rows of 311** in both modes, so the hue survives the SVG renderer.
|
package/docs/page-header.mdx
CHANGED
|
@@ -215,7 +215,52 @@ And the island fill in light mode is the card fill over a near-white page — th
|
|
|
215
215
|
|
|
216
216
|

|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
### Android, on a device
|
|
219
|
+
|
|
220
|
+
Run on a **Pixel 8a** (Android, `akita`) through Expo Go SDK 56, against the
|
|
221
|
+
**published** `@oxy.so/bloom@3.0.0` from npm rather than a local build — which is
|
|
222
|
+
what makes it a consumer's result rather than a rehearsal of one.
|
|
223
|
+
|
|
224
|
+
| property | result |
|
|
225
|
+
| --- | --- |
|
|
226
|
+
| the edge ramp, light | rgb(231,224,231) → rgb(29,59,83), travelled **202** of 255 |
|
|
227
|
+
| the edge ramp, dark | rgb(18,17,22) → rgb(29,59,83), travelled **61** of 255 |
|
|
228
|
+
| no horizontal cut | largest single-row step **1**, monotonic, in both modes |
|
|
229
|
+
| the ramp is CHROMATIC | **0 achromatic rows of 311**, in both modes |
|
|
230
|
+
| a matched `scrimColor` | travelled **1** over its own page colour |
|
|
231
|
+
| the island is translucent | the back capsule reads 244 over the page, **215** over a photograph |
|
|
232
|
+
| the island does NOT blur | see below |
|
|
233
|
+
|
|
234
|
+
The third row is the one worth having. `react-native-svg` reads `stopColor` for
|
|
235
|
+
its RGB and **discards any alpha inside it**, which once painted an Android pane
|
|
236
|
+
as a white-to-black wipe with R=G=B on every row while every gate stayed green
|
|
237
|
+
(the mechanism is on `GLASS_SHEEN` in `theme/glass-colors.ts`). Counting
|
|
238
|
+
achromatic rows is the direct refutation, and there are none: the ramp carries
|
|
239
|
+
the page's hue all the way down.
|
|
240
|
+
|
|
241
|
+
**No blur, measured rather than asserted.** Over a hard 10dp stripe pattern,
|
|
242
|
+
sampled at the same rows inside the back capsule and on the bare stripes beside
|
|
243
|
+
it:
|
|
244
|
+
|
|
245
|
+
| backdrop stripe | bare | inside the island |
|
|
246
|
+
| --- | --- | --- |
|
|
247
|
+
| white | 255 | **254** |
|
|
248
|
+
| black | 0 | **210** |
|
|
249
|
+
|
|
250
|
+
Two things follow. The backdrop contributes **44 of 255** — about 17%, so the
|
|
251
|
+
pane really is translucent. And the stripe EDGE stays sharp inside the island: a
|
|
252
|
+
blur would smear a 26px transition, and there is none. That is tint only, which
|
|
253
|
+
is the documented Android behaviour, and nothing in `logcat` asked for a blur
|
|
254
|
+
method or reported a crash across five screens in both modes.
|
|
255
|
+
|
|
256
|
+
The native pane is slightly more opaque than the web one (≈0.83 against 0.72),
|
|
257
|
+
and that is `expo-blur`'s own tint, which one `intensity` drives together with
|
|
258
|
+
the radius and which a caller cannot decline — the difference
|
|
259
|
+
`GLASS_BLUR_INTENSITY` documents, showing up where it said it would.
|
|
260
|
+
|
|
261
|
+
**iOS is still not verified on a device.** The material is `expo-blur` there
|
|
262
|
+
too and unchanged from the `GlassSurface` the library already shipped, but
|
|
263
|
+
nothing in this change has been run on an iPhone.
|
|
219
264
|
|
|
220
265
|
## Not included
|
|
221
266
|
|