@mkbabb/glass-ui 3.10.1 → 3.11.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.
Files changed (279) hide show
  1. package/dist/{CardAction-DrAcAV4d.js → CardAction-DuArVky-.js} +2 -2
  2. package/dist/{CommandShortcut-mV2e1aG6.js → CommandShortcut-CefCj5mt.js} +2 -2
  3. package/dist/{DataTable-C3E6jZ5B.js → DataTable-CUHMukiQ.js} +2 -2
  4. package/dist/DeckProgress-Dmk4_AKN.js +23 -0
  5. package/dist/{DialogContent-BxaaafFi.js → DialogContent-BRkT1cjP.js} +1 -1
  6. package/dist/{HoverPopover-CDA_SaCe.js → HoverPopover-2LOIW34a.js} +1 -1
  7. package/dist/InstrumentRail-CUJ05YVG.js +44 -0
  8. package/dist/{MetricBadge-idgrkqoP.js → MetricBadge-BZVWIxNy.js} +7 -5
  9. package/dist/{Notification-Cu0nN17_.js → Notification-DLMhblXR.js} +1 -1
  10. package/dist/{NumberFieldContent-CHEWghnY.js → NumberFieldContent-BbLOh8RU.js} +2 -2
  11. package/dist/{PopoverContent-DpUvdYY-.js → PopoverContent-BId6ggf_.js} +1 -1
  12. package/dist/{Progress-BW-StFw2.js → Progress-iEuD9pxG.js} +1 -1
  13. package/dist/{ScrollingText-DruYCni_.js → ScrollingText-BPP84wKo.js} +1 -1
  14. package/dist/{SelectScrollDownButton-pirzjm--.js → SelectScrollDownButton-T32cVFeM.js} +3 -3
  15. package/dist/{Switch-DeAqg6pi.js → Switch-Ch-k3Rv-.js} +1 -1
  16. package/dist/{TabsList-BAVzOZpg.js → TabsList-B8CVOQPC.js} +2 -2
  17. package/dist/{Toaster-CvuuW_y9.js → Toaster-1rYWrmAm.js} +46 -49
  18. package/dist/{ToggleGroupItem-DtD37b4G.js → ToggleGroupItem-COu_4IW4.js} +21 -17
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -4
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +70 -70
  23. package/dist/{badge-NdCQMvvB.js → badge-CaoFJzRb.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DyiWFAOE.js → button-DN39cGqL.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/canvas.js +2 -2
  28. package/dist/card.js +1 -1
  29. package/dist/carousel.js +5 -5
  30. package/dist/collapsible.js +1 -1
  31. package/dist/{color-B65wWyQz.js → color-C5ls_QF7.js} +7 -9
  32. package/dist/color.js +1 -1
  33. package/dist/command.js +1 -1
  34. package/dist/components/custom/aurora/constants/presets.d.ts +62 -5
  35. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  36. package/dist/components/custom/aurora/index.d.ts +1 -1
  37. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -12
  38. package/dist/components/custom/constellation/constellationField.d.ts +151 -10
  39. package/dist/components/custom/constellation/index.d.ts +1 -3
  40. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +0 -11
  41. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +27 -0
  42. package/dist/components/custom/deck-progress/index.d.ts +2 -0
  43. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +57 -0
  44. package/dist/components/custom/dialog-native/index.d.ts +1 -0
  45. package/dist/components/custom/dock/DockTabButton.vue.d.ts +4 -3
  46. package/dist/components/custom/dock/GlassDock.vue.d.ts +115 -3
  47. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -36
  48. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -44
  49. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +37 -5
  50. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  51. package/dist/components/custom/fourier-field/math.d.ts +0 -17
  52. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +41 -0
  53. package/dist/components/custom/glass-panel/index.d.ts +2 -0
  54. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +3 -4
  55. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +8 -11
  56. package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
  57. package/dist/components/custom/handmark/brush.d.ts +242 -0
  58. package/dist/components/custom/handmark/freehand.d.ts +69 -0
  59. package/dist/components/custom/handmark/geometry.d.ts +50 -0
  60. package/dist/components/custom/handmark/index.d.ts +21 -0
  61. package/dist/components/custom/handmark/ink.d.ts +11 -0
  62. package/dist/components/custom/handmark/texture.d.ts +39 -0
  63. package/dist/components/custom/handmark/types.d.ts +53 -0
  64. package/dist/components/custom/handmark/useHandMark.d.ts +87 -0
  65. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  66. package/dist/components/custom/header-ribbon/index.d.ts +2 -0
  67. package/dist/components/custom/header-ribbon/types.d.ts +7 -0
  68. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  69. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +91 -0
  70. package/dist/components/custom/instrument-rail/index.d.ts +2 -0
  71. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +8 -0
  72. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -1
  73. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  74. package/dist/components/ui/slider/index.d.ts +19 -22
  75. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  76. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  77. package/dist/components/ui/toggle/index.d.ts +1 -1
  78. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +7 -1
  79. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +3 -1
  80. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +13 -0
  81. package/dist/composables/color/index.d.ts +0 -12
  82. package/dist/composables/dark/index.d.ts +1 -1
  83. package/dist/composables/dark/useGlobalDark.d.ts +21 -1
  84. package/dist/composables/glass/useSpecularTracking.d.ts +3 -12
  85. package/dist/composables/motion/core/index.d.ts +1 -0
  86. package/dist/composables/motion/index.d.ts +0 -2
  87. package/dist/composables/motion/useRouteTransition.d.ts +42 -0
  88. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  89. package/dist/configurator.js +1 -1
  90. package/dist/confirm-dialog.js +2 -2
  91. package/dist/constellation.js +225 -260
  92. package/dist/controls.js +14 -48
  93. package/dist/dark.d.ts +1 -1
  94. package/dist/dark.js +1 -1
  95. package/dist/data-table.js +1 -1
  96. package/dist/deck-progress.d.ts +1 -0
  97. package/dist/deck-progress.js +2 -0
  98. package/dist/dialog.js +2 -2
  99. package/dist/dock.js +345 -340
  100. package/dist/dockContext-BKeIMmNk.js +9 -0
  101. package/dist/{dropdown-menu-DVnQcA0E.js → dropdown-menu-D77jX6Df.js} +4 -7
  102. package/dist/dropdown-menu.js +1 -1
  103. package/dist/expandable-container.js +79 -38
  104. package/dist/forms.js +2 -2
  105. package/dist/fourier-field.js +102 -137
  106. package/dist/fourier-math.js +2 -2
  107. package/dist/glass-panel.d.ts +1 -0
  108. package/dist/glass-panel.js +44 -0
  109. package/dist/glass-ui.css +1 -1
  110. package/dist/glass-ui.js +209 -287
  111. package/dist/goo-blob.js +212 -243
  112. package/dist/handmark.d.ts +1 -0
  113. package/dist/handmark.js +663 -0
  114. package/dist/header-ribbon.d.ts +1 -0
  115. package/dist/header-ribbon.js +63 -0
  116. package/dist/hover-popover.js +1 -1
  117. package/dist/icon-tooltip.js +1 -1
  118. package/dist/index.d.ts +3 -0
  119. package/dist/instrument-rail.d.ts +1 -0
  120. package/dist/instrument-rail.js +2 -0
  121. package/dist/keyboard.js +1 -1
  122. package/dist/labeled-field.js +5 -5
  123. package/dist/{math-BUU9hHID.js → math-DTpRVC0e.js} +2 -18
  124. package/dist/metric-badge.js +1 -1
  125. package/dist/metric-stack.js +1 -1
  126. package/dist/motion-core.js +70 -69
  127. package/dist/motion.js +37 -38
  128. package/dist/notification.js +1 -1
  129. package/dist/number-field.js +1 -1
  130. package/dist/popover.js +1 -1
  131. package/dist/{presets-1OhFpaIC.js → presets-BP_ALM0m.js} +14 -1
  132. package/dist/progress.js +1 -1
  133. package/dist/pulse.js +1 -1
  134. package/dist/reactive.js +1 -1
  135. package/dist/scrolling-text.js +1 -1
  136. package/dist/search.js +6 -6
  137. package/dist/select.js +1 -1
  138. package/dist/{sheet-ChSXcJpU.js → sheet-VZEtNFvO.js} +1 -1
  139. package/dist/sheet.js +1 -1
  140. package/dist/{slider-sfl8gFDD.js → slider-ClgpP7EB.js} +4 -4
  141. package/dist/slider.js +1 -1
  142. package/dist/sortable-list.js +2 -2
  143. package/dist/stacked-icons.js +6 -6
  144. package/dist/styles/animations.css +111 -15
  145. package/dist/styles/components.css +1 -1
  146. package/dist/styles/dock/layer-group.css +0 -22
  147. package/dist/styles/dock/layers.css +1 -11
  148. package/dist/styles/dock/morph.css +19 -95
  149. package/dist/styles/dock/shell.css +0 -12
  150. package/dist/styles/dock-controls.css +31 -28
  151. package/dist/styles/drawer.css +0 -2
  152. package/dist/styles/floating-panel.css +0 -2
  153. package/dist/styles/glass-refract.css +0 -2
  154. package/dist/styles/glass.css +1188 -31
  155. package/dist/styles/hover-popover.css +0 -2
  156. package/dist/styles/index.css +6 -24
  157. package/dist/styles/instrument-chassis.css +0 -4
  158. package/dist/styles/paper.css +68 -2
  159. package/dist/styles/theme.css +20 -13
  160. package/dist/styles/tokens.css +2360 -22
  161. package/dist/styles/typography.css +6 -18
  162. package/dist/styles/utilities.css +1291 -19
  163. package/dist/styles/view-transition.css +51 -0
  164. package/dist/switch.js +1 -1
  165. package/dist/tabs.js +98 -98
  166. package/dist/timeline.js +2 -2
  167. package/dist/toast.js +1 -1
  168. package/dist/toggle-group.js +1 -1
  169. package/dist/typewriter.js +1 -1
  170. package/dist/{useAnimatedNumber-DfVgP4te.js → useAnimatedNumber-Bcpy5Etf.js} +1 -1
  171. package/dist/{useConfiguratorState-BdQXh9ie.js → useConfiguratorState-DxAqksK6.js} +1 -1
  172. package/dist/useGlassRenderer-D7YGOYiM.js +69 -0
  173. package/dist/{useGlobalDark-D7R9OypB.js → useGlobalDark-D1wgEqfW.js} +21 -2
  174. package/dist/useSpecularTracking-BVRZsRHA.js +26 -0
  175. package/dist/useSpringMount-BJSHcLl3.js +113 -0
  176. package/dist/useViewTransition-DaN5Zrox.js +21 -0
  177. package/dist/vReveal-zUIQk-rJ.js +53 -0
  178. package/dist/watercolor-dot.js +2 -2
  179. package/package.json +57 -33
  180. package/src/styles/animations.css +111 -15
  181. package/src/styles/dock/layer-group.css +0 -22
  182. package/src/styles/dock/layers.css +1 -11
  183. package/src/styles/dock/morph.css +19 -95
  184. package/src/styles/dock/shell.css +0 -12
  185. package/src/styles/dock-controls.css +31 -28
  186. package/src/styles/glass.css +1188 -31
  187. package/src/styles/index.css +6 -24
  188. package/src/styles/paper.css +68 -2
  189. package/src/styles/theme.css +20 -13
  190. package/src/styles/tokens.css +2360 -22
  191. package/src/styles/typography.css +6 -18
  192. package/src/styles/utilities.css +1291 -19
  193. package/src/styles/view-transition.css +51 -0
  194. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +0 -1
  195. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +0 -35
  196. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  197. package/dist/components/custom/constellation/constants.d.ts +0 -36
  198. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -18
  199. package/dist/components/custom/constellation/constellationInteraction.d.ts +0 -102
  200. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  201. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -131
  202. package/dist/components/custom/dock/constants.d.ts +0 -23
  203. package/dist/components/custom/fourier-field/presets.d.ts +0 -54
  204. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +0 -18
  205. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  206. package/dist/components/custom/goo-blob/constants.d.ts +0 -52
  207. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  208. package/dist/components/custom/tabs/constants.d.ts +0 -12
  209. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
  210. package/dist/components/custom/underline/index.d.ts +0 -2
  211. package/dist/components/custom/underline/types.d.ts +0 -56
  212. package/dist/composables/motion/curves.d.ts +0 -48
  213. package/dist/composables/motion/springPresets.d.ts +0 -33
  214. package/dist/composables/motion/suite.d.ts +0 -2
  215. package/dist/dockContext-bho8B1A4.js +0 -17
  216. package/dist/motion-curves.d.ts +0 -1
  217. package/dist/motion-curves.js +0 -130
  218. package/dist/springPresets-aRSm-4_k.js +0 -40
  219. package/dist/styles/glass/a11y-fallback.css +0 -245
  220. package/dist/styles/glass/ladder.css +0 -304
  221. package/dist/styles/glass/material.css +0 -238
  222. package/dist/styles/glass/progress-rail.css +0 -78
  223. package/dist/styles/glass/squircle.css +0 -66
  224. package/dist/styles/glass/surfaces.css +0 -306
  225. package/dist/styles/tokens/color-radius.css +0 -250
  226. package/dist/styles/tokens/dark-arm.css +0 -194
  227. package/dist/styles/tokens/glass.css +0 -413
  228. package/dist/styles/tokens/light-dark.css +0 -158
  229. package/dist/styles/tokens/offsets-sizing.css +0 -406
  230. package/dist/styles/tokens/property-regs.css +0 -169
  231. package/dist/styles/tokens/scale-paper.css +0 -361
  232. package/dist/styles/tokens/scheme-motion.css +0 -334
  233. package/dist/styles/tokens/shadow.css +0 -132
  234. package/dist/styles/utilities/a11y-overrides.css +0 -140
  235. package/dist/styles/utilities/animate.css +0 -26
  236. package/dist/styles/utilities/base.css +0 -365
  237. package/dist/styles/utilities/btn.css +0 -399
  238. package/dist/styles/utilities/components.css +0 -317
  239. package/dist/underline.d.ts +0 -1
  240. package/dist/underline.js +0 -85
  241. package/dist/useSpecularTracking-DFK_fhpG.js +0 -32
  242. package/dist/useSpringMount-DXUzxBjV.js +0 -108
  243. package/dist/vReveal-CqaCz_mC.js +0 -44
  244. package/src/styles/glass/a11y-fallback.css +0 -245
  245. package/src/styles/glass/ladder.css +0 -304
  246. package/src/styles/glass/material.css +0 -238
  247. package/src/styles/glass/progress-rail.css +0 -78
  248. package/src/styles/glass/squircle.css +0 -66
  249. package/src/styles/glass/surfaces.css +0 -306
  250. package/src/styles/tokens/color-radius.css +0 -250
  251. package/src/styles/tokens/dark-arm.css +0 -194
  252. package/src/styles/tokens/glass.css +0 -413
  253. package/src/styles/tokens/light-dark.css +0 -158
  254. package/src/styles/tokens/offsets-sizing.css +0 -406
  255. package/src/styles/tokens/property-regs.css +0 -169
  256. package/src/styles/tokens/scale-paper.css +0 -361
  257. package/src/styles/tokens/scheme-motion.css +0 -334
  258. package/src/styles/tokens/shadow.css +0 -132
  259. package/src/styles/utilities/a11y-overrides.css +0 -140
  260. package/src/styles/utilities/animate.css +0 -26
  261. package/src/styles/utilities/base.css +0 -365
  262. package/src/styles/utilities/btn.css +0 -399
  263. package/src/styles/utilities/components.css +0 -317
  264. /package/dist/{CollapsibleContent-Drow5WkV.js → CollapsibleContent-CP9qF1v4.js} +0 -0
  265. /package/dist/{DialogFooter-DufLHi0y.js → DialogFooter-Gprw8H_A.js} +0 -0
  266. /package/dist/{IconTooltip-BrQ5p181.js → IconTooltip-Cus0fvK0.js} +0 -0
  267. /package/dist/{Input-B-F818RU.js → Input-xuDwALQR.js} +0 -0
  268. /package/dist/{_plugin-vue_export-helper-DWghtRt7.js → _plugin-vue_export-helper-ok8pgSl5.js} +0 -0
  269. /package/dist/{compile-Ce_V55zi.js → compile-BOXjLUxu.js} +0 -0
  270. /package/dist/{constants-C8NMonuo.js → constants-yKeKnE84.js} +0 -0
  271. /package/dist/{prng-CjVgzjQT.js → prng-D27-B3tK.js} +0 -0
  272. /package/dist/{resolveCanvasColor-CRvVzOvP.js → resolveCanvasColor-BBiYfp8g.js} +0 -0
  273. /package/dist/{useCanvas2D-CSeH8h16.js → useCanvas2D-ClrQuZtp.js} +0 -0
  274. /package/dist/{useIntersectionPause-DAdVPVp4.js → useIntersectionPause-Cck5Uxk8.js} +0 -0
  275. /package/dist/{useInterval-D3USn0yc.js → useInterval-Dsmqwi03.js} +0 -0
  276. /package/dist/{useKeyboardShortcuts-i8tHd5WO.js → useKeyboardShortcuts-CyIYrndH.js} +0 -0
  277. /package/dist/{useScrollProgress-CcgmgMQt.js → useScrollProgress-CffFGLa5.js} +0 -0
  278. /package/dist/{useSortable-DnyGXKKY.js → useSortable-C8ReQ50P.js} +0 -0
  279. /package/dist/{useTextHighlight-B3b10W6r.js → useTextHighlight-CWEi25hf.js} +0 -0
@@ -19,8 +19,6 @@
19
19
  padding-inline: 0.625rem;
20
20
  border-radius: var(--radius-lg, 0.5rem);
21
21
  background: var(--glass-bg-floating, var(--popover, white));
22
- -webkit-backdrop-filter: var(--glass-blur-floating);
23
-
24
22
  backdrop-filter: var(--glass-blur-floating);
25
23
  border: 1px solid var(--glass-border-floating, var(--border, transparent));
26
24
  color: var(--popover-foreground, var(--foreground));
@@ -40,20 +40,7 @@
40
40
  * above it via CSS custom properties or selector cascade; reordering breaks
41
41
  * fallbacks. Documented at L.W2 Lane B per Rε §B.5.1.
42
42
  *
43
- * WHERE each idiom LIVES (the localized design-idiom home, complementing the
44
- * load-ORDER below): see docs/precepts/design-idioms.md — @theme aliases live
45
- * in theme.css, @utility recipes in their cohesion-domain file, the
46
- * cohesion-aware @import-partial carve rule, and the var-in-arbitrary syntax.
47
- * tokens.css / glass.css / utilities.css are thin @import ROOTS over cohesive
48
- * tokens/* · glass/* · utilities/* partials (each < 500 lines, in cascade order
49
- * — the dock.css precedent, AX.W06; generalized AY.W-CSS1). The carve is
50
- * cascade-isomorphic: the partials @import in the recorded cascade order so this
51
- * load order is preserved bit-for-bit.
52
- *
53
- * 1. tokens.css — thin @import root over tokens/{scheme-motion,
54
- * color-radius,shadow,glass,offsets-sizing,
55
- * scale-paper,light-dark,dark-arm,property-regs}.css.
56
- * CSS custom properties (color, easing, glass,
43
+ * 1. tokens.css — CSS custom properties (color, easing, glass,
57
44
  * paper, shadow, surface-tint rungs). Source-of-
58
45
  * record for every visual axis.
59
46
  * 2. typography.css — golden-ratio scale (√φ); semantic type classes.
@@ -61,9 +48,7 @@
61
48
  * 3. theme.css — @theme block (Tailwind aliases). Reads tokens
62
49
  * from (1) so MUST come after them; defines the
63
50
  * `dark` variant selector consumed by the cascade.
64
- * 4. glass.css — thin @import root over glass/{material,ladder,
65
- * surfaces,progress-rail,squircle,a11y-fallback}.css.
66
- * .glass-{wash,quiet,resting,floating,overlay}
51
+ * 4. glass.css — .glass-{wash,quiet,resting,floating,overlay}
67
52
  * 5-rung ladder + .glass-card / -pill / -btn.
68
53
  * Consumes tokens (1) + theme aliases (3).
69
54
  * 4a. glass-specular-track.css — the pointer-anchored MOVING specular rung
@@ -108,12 +93,10 @@
108
93
  * 10b. view-transition.css — the `.gl-list-item` View-Transitions group
109
94
  * recipe + `--vt-*` axes (AQ.W5; the
110
95
  * `useViewTransition` substrate's CSS half).
111
- * 11. utilities.css — thin @import root over utilities/{animate,base,
112
- * components,btn,a11y-overrides}.css. focus-ring,
113
- * btn-audacious + btn-interactive (press cluster;
114
- * K W6 + Q.W3 Lane E), rainbow-vivid +
115
- * rainbow-pastel. Consumes earlier animations +
116
- * tokens.
96
+ * 11. utilities.css — focus-ring, btn-audacious + btn-interactive
97
+ * (press cluster; K W6 + Q.W3 Lane E),
98
+ * rainbow-vivid + rainbow-pastel. Consumes earlier
99
+ * animations + tokens.
117
100
  * 12. instrument-chassis.css — P-tranche component CSS (chassis bezel +
118
101
  * groove dividers). Loaded after utilities so
119
102
  * component-local recipes can override.
@@ -149,7 +132,6 @@
149
132
  @import "./instrument-rail.css";
150
133
  @import "./hover-popover.css";
151
134
  @import "./drawer.css";
152
- @import "../components/custom/tabs/segmented-tabs.css";
153
135
 
154
136
  /* Ensure consumer's Tailwind scans glass-ui components for utility classes
155
137
  (e.g. CVA button variants like text-destructive-foreground) */
@@ -44,8 +44,6 @@
44
44
  transition: --phase-tint-amount
45
45
  var(--motion-duration-phase-handoff, 600ms)
46
46
  var(--motion-ease-standard);
47
- -webkit-backdrop-filter: var(--glass-blur-quiet);
48
-
49
47
  backdrop-filter: var(--glass-blur-quiet);
50
48
  /* AK-FD1 §2.4 — glass-variant outer border softened one rung down the
51
49
  foreground-tinted border ladder (quiet 10% → wash 8%) so it reads at
@@ -135,8 +133,6 @@
135
133
  ───────────────────────────────────────────────────────────── */
136
134
  .instrument-chassis[data-variant="spine"] {
137
135
  background: var(--glass-spine-vignette);
138
- -webkit-backdrop-filter: none;
139
-
140
136
  backdrop-filter: none;
141
137
  border: 1px solid var(--glass-spine-border);
142
138
  box-shadow: var(--glass-under-shadow-spine);
@@ -7,8 +7,54 @@
7
7
  *
8
8
  * Texture: feTurbulence baseFrequency 0.65, 4 octaves, desaturated via
9
9
  * feColorMatrix, blended multiply (light) / soft-light (dark). Tiles ~60px.
10
+ *
11
+ * ── THE GRAIN RUNGS (D6.c M5 — the printed-paper tooth, FELT not seen) ─────────
12
+ * The warm-paper grain must be FELT at rest — a premium editorial stock has a
13
+ * felt depth, and the measured finding (ds2-medium M5 / fd-usf-gallery §F) is
14
+ * that the shipped `--glass-grain-opacity: 0.025` floor reads as NOTHING. This
15
+ * file lifts the grain off that floor and mints a SECOND rung for chart plates:
16
+ *
17
+ * --glass-grain-opacity — the PAGE grain. Lifted here to a perceptible-
18
+ * but-deft 0.038 default (the local floor below).
19
+ * Numeric justification: the kitsch line is
20
+ * ~0.05 (above it the grain reads as screen-noise
21
+ * / a dirty monitor, ds2-medium M5); 0.025 is
22
+ * sub-perceptual ("felt as nothing"). 0.038 is
23
+ * the calibrated MIDPOINT — ~1.5× the dead floor,
24
+ * ~0.76× the kitsch ceiling — felt at rest, never
25
+ * seen AS grain. (The canonical token still lives
26
+ * in tokens.css; this utility reads it with the
27
+ * lifted fallback so a no-override mount is felt.)
28
+ * --glass-grain-opacity-plate — the PLATE grain (NEW rung). A chart plate is
29
+ * the FIGURE's "paper", so it wants slightly more
30
+ * tooth than the page (M5): 0.045 — still below
31
+ * the 0.05 kitsch ceiling, distinctly felt so the
32
+ * plate reads as PRINTED on the same stock as the
33
+ * page, not pasted onto it.
34
+ *
35
+ * THE DATA-REGION MASK CONTRACT (M5, non-negotiable). Grain on the FRAME, never
36
+ * under the FIGURE — a fleck over a choropleth reads as a data artifact; on the
37
+ * plate margin it reads as paper. `paper-grain-overlay` exposes a custom-property
38
+ * MASK SLOT (`--paper-grain-mask`) so a consumer can carve the data viewport out
39
+ * of the grain ::after: set it to a gradient/`url()` that is transparent over the
40
+ * data region and opaque over the frame, and the grain is masked off the figure.
41
+ * Default `none` (the whole surface is grained — the page/card case, no data to
42
+ * fence). The plate rung is opt-in via `[data-grain="plate"]`.
10
43
  */
11
44
 
45
+ /* The grain rung DEFAULTS — lifted off the tokens.css floor (D6.c M5). These are
46
+ plain custom-property fallbacks the utilities read; a consumer/tokens.css value
47
+ still wins (`var(--glass-grain-opacity, <floor>)`), so this only sets the floor
48
+ a no-override mount inherits. The plate rung is minted here (no canonical
49
+ tokens.css home is touched in this lane — D6.b owns tokens.css). */
50
+ @layer components {
51
+ :root {
52
+ /* The PLATE grain rung — distinct from the page rung; the figure's paper
53
+ wants more tooth. Minted in this lane; a consumer overrides at :root. */
54
+ --glass-grain-opacity-plate: 0.045;
55
+ }
56
+ }
57
+
12
58
  @utility paper-underpaint {
13
59
  position: fixed;
14
60
  inset: 0;
@@ -17,7 +63,8 @@
17
63
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
18
64
  background-repeat: repeat;
19
65
  background-size: 60px 60px;
20
- opacity: var(--glass-grain-opacity);
66
+ /* Lifted floor — the page grain is FELT at rest (0.038), not the dead 0.025. */
67
+ opacity: var(--glass-grain-opacity, 0.038);
21
68
  mix-blend-mode: multiply;
22
69
  }
23
70
 
@@ -39,8 +86,27 @@
39
86
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
40
87
  background-repeat: repeat;
41
88
  background-size: 60px 60px;
42
- opacity: var(--glass-grain-opacity);
89
+ /* Lifted floor — felt on the frame at rest (0.038). */
90
+ opacity: var(--glass-grain-opacity, 0.038);
43
91
  mix-blend-mode: overlay;
92
+ /* THE DATA-REGION MASK SLOT (M5). Default `none` = the whole surface is
93
+ grained (page/card — no data to fence). A consumer that grains a chart
94
+ plate sets `--paper-grain-mask` to a gradient/url() transparent over the
95
+ data viewport + opaque over the frame, carving the figure out of the
96
+ grain so no fleck lands on a tier fill. `mask` is Baseline; a
97
+ non-supporting engine ignores it and keeps the full-surface grain (the
98
+ page case is unaffected — the mask only matters when a consumer fences
99
+ the data region). */
100
+ mask: var(--paper-grain-mask, none);
101
+ -webkit-mask: var(--paper-grain-mask, none);
102
+ }
103
+
104
+ /* The PLATE rung — a chart plate opts in via `[data-grain="plate"]` to the
105
+ higher-tooth `--glass-grain-opacity-plate` (the figure's paper reads as the
106
+ same stock as the page, with a touch more tooth). Pair with the mask slot to
107
+ fence the data viewport. */
108
+ &[data-grain="plate"]::after {
109
+ opacity: var(--glass-grain-opacity-plate, 0.045);
44
110
  }
45
111
  }
46
112
 
@@ -82,24 +82,25 @@
82
82
  --corner-k-soft: 1.7; /* gentler, between round and squircle — n≈3.4 */
83
83
  --corner-k-sharp: 2.4; /* crisper square-bias for large surfaces — n≈4.8 */
84
84
 
85
- /* Semantic per-surface SHAPE aliases — the rounded-vs-squircle POLICY (a
86
- RADIUS-THRESHOLD policy: the superellipse only READS at a LARGE radius
87
- ~--radius-xl/12px and up). ROUND set = card, pill (small controls + data
88
- cards + stadium pills — the superellipse is imperceptible, dropping it is
89
- free). SQUIRCLE set = bigdock, dialog, sheet, panel, hero (the large-radius
90
- glass overlays where the iOS-26 silhouette reads — the blur halo + cartoon
91
- under-shadow follow the shape). ALL ride the ONE --corner-k-squircle vocab.
92
- W56b (USER-DECISION R1) extended the family off big-dock-only onto the large
93
- glass overlays; @supports-gated in glass/squircle.css over the `border-radius`
94
- round CONTRACT. A consumer dials any surface back to round (or opts one in) by
95
- re-pointing its `--corner-shape-<surface>` alias. */
85
+ /* Semantic per-surface SHAPE aliases — the rounded-vs-squircle POLICY.
86
+ Cards, pills/buttons, small docks, and panels stay ROUND (the superellipse is
87
+ imperceptible at a 16px card radius or a stadium pill — dropping it there is
88
+ visually free). The big-dock card shell (the large --radius-dock-card / 24px
89
+ surface) is the one site where the squircle READS — the iOS-26 idiom the dock
90
+ wants. A consumer opts an additional large-radius surface in by re-pointing its
91
+ `--corner-shape-<surface>` at `superellipse(var(--corner-k-squircle))`. */
96
92
  --corner-shape-card: round;
97
93
  --corner-shape-pill: round;
94
+ --corner-shape-panel: round;
98
95
  --corner-shape-bigdock: superellipse(var(--corner-k-squircle));
96
+ /* AX.W56(R1) — the overlay-band glass surfaces W54 makes glass-default
97
+ (Dialog + Sheet content) ride the squircle alongside the big-dock. They
98
+ sit at the large `--radius-dialog` (16px) modal radius where the
99
+ superellipse READS — the same iOS-26 idiom. @supports-gated in glass.css
100
+ over the `border-radius` round CONTRACT; a consumer dials either back to
101
+ round by re-pointing the alias. */
99
102
  --corner-shape-dialog: superellipse(var(--corner-k-squircle));
100
103
  --corner-shape-sheet: superellipse(var(--corner-k-squircle));
101
- --corner-shape-panel: superellipse(var(--corner-k-squircle));
102
- --corner-shape-hero: superellipse(var(--corner-k-squircle));
103
104
  /* AX.W59 — the spectrum slider's track-height thumb reads as a SQUIRCLE
104
105
  (the iOS color-picker idiom). It rides the same --corner-k-squircle
105
106
  vocabulary; @supports-gated in Slider.vue over a --radius-* round
@@ -308,6 +309,12 @@
308
309
  --color-gold-light: var(--gold-light);
309
310
  --color-gold-dark: var(--gold-dark);
310
311
  --color-gold-deep: var(--gold-deep);
312
+ /* D6.b — the gilt family: the rim (gilt edge) + the legible gold ink. The
313
+ `@theme` bridge surfaces `text-gold-ink` / `border-gold-rim` utilities
314
+ beside the existing gold quad. `--gold-ink` clears cream-law ② on `--card`
315
+ in both arms (proof:gold-ink-contrast). */
316
+ --color-gold-rim: var(--gold-rim);
317
+ --color-gold-ink: var(--gold-ink);
311
318
 
312
319
  --color-rainbow-red: var(--rainbow-red);
313
320
  --color-rainbow-orange: var(--rainbow-orange);