@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
@@ -61,22 +61,9 @@
61
61
  authority, and at rest `--dock-expand-t` resolves to the class endpoint (0
62
62
  collapsed / 1 expanded) so the resting look is exact. */
63
63
  .glass-dock.variant-dock:not(.vertical) {
64
- /* AY.W-A11Y-PERF O-1 — the resting-endpoint dock bg composes the W55 oklab
65
- adaptive tint so the bright bucket (engaged when a consumer/page marks
66
- `--glass-backdrop: light` on the dock's ancestor — the @container block
67
- below + the page-redesign W60 wiring) reaches the LIVE `.variant-dock`
68
- surface (this 0,3,0 morph interp OVERRIDES the 0,1,0 shell.css bg, so the
69
- tint must be applied HERE too). The srgb transition mix is preserved between
70
- the two color endpoints; the adaptive darken rides the resting endpoint
71
- (`--glass-bg-dock` wrapped in the oklab tint) — at the `0%` rest default the
72
- inner oklab mix is a no-op so this is byte-identical to today. */
73
64
  background: color-mix(
74
65
  in srgb,
75
- color-mix(
76
- in oklab,
77
- var(--glass-bg-dock, var(--glass-bg-resting)),
78
- var(--glass-tint-source) var(--glass-tint-strength)
79
- )
66
+ var(--glass-bg-dock, var(--glass-bg-resting))
80
67
  calc(var(--dock-expand-t, 1) * 100%),
81
68
  var(--glass-bg-wash)
82
69
  );
@@ -91,40 +78,18 @@
91
78
  /* The padding morph is split out + scoped `:not(.dock-overflow-wrap)` so the
92
79
  wrap variant's own padding rules (W04 territory — `.dock-overflow-wrap` +
93
80
  its `@media` snap-back) are NOT clobbered by this higher-specificity longhand.
94
-
95
- AY.W-DOCK-CHROME §1 — the LAYOUT-ISOLATION fix: the collapse↔expand morph is
96
- an INLINE-WIDTH aperture by contract ("horizontal docks animate width"), so
97
- the BLOCK axis MUST be invariant across the morph — otherwise the dock's
98
- outer height shrinks ~4px on collapse (the collapsed-pad 0.25rem vs the
99
- expanded pad-block 0.375rem, ×2) and, because a free-floating / inline dock
100
- sits in normal flow (`display:inline-flex`), that height delta REFLOWS its
101
- siblings — the page content jumped as the dock animated (the user's 13:27
102
- audit item 1). The fix holds `padding-block` PINNED at the expanded value in
103
- BOTH states (no `--dock-expand-t` interpolation on the block axis) so the
104
- outer block-size is constant; ONLY `padding-inline` morphs to tighten the
105
- collapsed pill inline. The collapsed circle is unaffected — its diameter is
106
- owned by the summary pane's own symmetric `block-size` + `aspect-ratio:1`
107
- (the `.collapsed .dock-layer--summary` rule below), CENTRED on the dock's
108
- stable-height plate by the root `align-items:center`, not by the root pad. So
109
- the morph reflows NOTHING vertically: 0px container-height delta. */
81
+ Padding interpolates linearly between the collapsed floor and the expanded
82
+ block/inline padding on the same `--dock-expand-t` scalar. */
110
83
  .glass-dock.variant-dock:not(.vertical):not(.dock-overflow-wrap) {
111
- /* The collapsed inline-pad endpoint is the EXPANDED block pad (max'd with the
112
- consumer `--dock-collapsed-padding` handle) so the height-pinned collapsed
113
- pill is SYMMETRIC → a clean circle at the `--radius-dock` 9999px. The block
114
- axis is pinned to the expanded pad (below), so matching the inline collapsed
115
- endpoint to it keeps the box square (the B4 "symmetric collapsed padding
116
- keeps the pill a circle" intent, preserved through the §1 height-pin). The
117
- `max()` lets a consumer set `--dock-collapsed-padding` LARGER for a looser
118
- pill but never SMALLER than the block pad (which would re-introduce the
119
- narrower-than-tall oval the height-pin would otherwise leave). */
120
- --dock-pad-collapsed: max(
121
- var(--dock-padding-block, 0.375rem),
122
- var(--dock-collapsed-padding, 0px)
84
+ --dock-pad-collapsed: var(
85
+ --dock-collapsed-padding,
86
+ var(--dock-padding-block, 0.375rem)
87
+ );
88
+ padding-block: calc(
89
+ var(--dock-pad-collapsed) +
90
+ (var(--dock-padding-block, 0.375rem) - var(--dock-pad-collapsed)) *
91
+ var(--dock-expand-t, 1)
123
92
  );
124
- /* block padding is INVARIANT — the expanded value, both states (the
125
- layout-isolation contract above): the inline aperture morphs, the block
126
- axis is pinned so the outer height never changes → 0px container reflow. */
127
- padding-block: var(--dock-padding-block, 0.375rem);
128
93
  padding-inline: calc(
129
94
  var(--dock-pad-collapsed) +
130
95
  (var(--dock-padding-inline, 0.5rem) - var(--dock-pad-collapsed)) *
@@ -145,17 +110,14 @@
145
110
  box-shadow: var(--shadow-dock-override, var(--shadow-dock-collapsed));
146
111
  }
147
112
 
148
-
149
- /* AY.W-DOCK-NAV B4 — the collapsed summary is a PERFECT CIRCLE. The `.dock-layer`
150
- base rule (`.glass-dock:not(.vertical) .dock-layer`) locks `height:
151
- var(--dock-layer-height)` (40px) on EVERY layer including the summary; against
152
- the 0.85× `--dock-collapsed-summary-min-size` min-width that made the pane
153
- 40h × 30w — an oval (the user's "circle, not oval"). This rule (1) LIFTS the
154
- height-lock so the summary block-sizes to the SAME token its width floors at,
155
- and (2) floors both axes to that ONE token, so the collapsed pane is a square
156
- and the root's symmetric collapsed padding keeps the pill a circle. The glyph
157
- sits centred on both axes. The `aspect-ratio: 1` belt-and-braces guarantees
158
- 1:1 even if a consumer's collapsed-slot content is wider than the floor. */
113
+ /* AX.W45-TUNE Q1 — the collapsed summary floors on BOTH axes off the SAME
114
+ `--dock-collapsed-summary-min-size` token (now MINTED in tokens.css §10 as a
115
+ tight ≈0.7× of the full control height). The prior rule floored ONLY
116
+ `min-width` and let the token fall to `--dock-layer-height` (the full control
117
+ height) — so the collapsed pill read as a full-row stub, not a proportioned
118
+ squircle. Adding the symmetric `min-block-size` makes the collapsed pill a
119
+ tight square-ish dot the consumer's glyph sits centred in (the proportioned-
120
+ pill target the user's Q1 named). */
159
121
  .glass-dock.collapsed .dock-layer--summary {
160
122
  min-width: var(
161
123
  --dock-collapsed-summary-min-size,
@@ -165,15 +127,6 @@
165
127
  --dock-collapsed-summary-min-size,
166
128
  var(--dock-layer-height, 2.5rem)
167
129
  );
168
- block-size: var(
169
- --dock-collapsed-summary-min-size,
170
- var(--dock-layer-height, 2.5rem)
171
- );
172
- height: var(
173
- --dock-collapsed-summary-min-size,
174
- var(--dock-layer-height, 2.5rem)
175
- );
176
- aspect-ratio: 1;
177
130
  justify-content: center;
178
131
  }
179
132
 
@@ -193,35 +146,6 @@
193
146
  --dock-expand-t: var(--dock-morph-t);
194
147
  }
195
148
 
196
- /* AY.W-DOCK-NAV B15 — the EMPTY-collapsed-summary trap. A dock with a
197
- `#persistent` control but NO `#collapsed` slot (the overview first-section
198
- dock) still renders a `.dock-layer--summary` pane that floors to the circle
199
- min-width — so collapsed it read as a WIDE pill: the persistent Home glyph on
200
- the LEFT + an empty circle of dead space on the RIGHT (the measured 84×50
201
- oval). Expanding then grew the content INTO that right-side void, so the
202
- morph read "from the right" not center-out (the user's B15). When the summary
203
- slot is EMPTY (`:not(:has(*))`), collapse it to zero width + no floor so the
204
- persistent control stands alone as the collapsed circle, and the morph grows
205
- symmetrically about the persistent. An empty Vue `#collapsed` slot renders
206
- ZERO child nodes (no whitespace text node either), so `:empty` matches it
207
- exactly — and a flat `:empty` avoids the nested-`:has()` form Lightning CSS
208
- drops. An authored `#collapsed` slot (non-empty summary) keeps its circle
209
- pill. */
210
- .glass-dock.collapsed .dock-layer--summary:empty {
211
- min-width: 0;
212
- inline-size: 0;
213
- padding: 0;
214
- margin: 0;
215
- border: 0;
216
- }
217
-
218
- /* The persistent control IS the collapsed pill in the empty-summary case — drop
219
- the inter-region gap so the collapsed circle is exactly the persistent box. */
220
- .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent
221
- + .dock-layers {
222
- margin-inline-start: 0;
223
- }
224
-
225
149
  /* AW.W3 — the collapsed-hover scale rides the unified dock spring vocabulary.
226
150
  The `scale var(--dock-motion-resize)` arm was added to the `.glass-dock`
227
151
  root transition above, so this hover scale settles on the SAME spring curve
@@ -64,18 +64,6 @@
64
64
  stacking-context guarantee). Covers every dock scale site. */
65
65
  scale: 1;
66
66
  position: relative;
67
- /* AY.W-A11Y-PERF O-1 — engage the W55 bright-backdrop bucket BY DEFAULT on
68
- the dock (the surface the user reported unreadable over light content). The
69
- SELF-engage rule in dock/morph.css darkens the dock's OWN plate toward ink
70
- unconditionally (a dock floats over arbitrary — frequently light — page
71
- content). `dark` (the :root default) stays the inherited value a consumer
72
- re-reads; the descendant/nested-glass reach uses the @container block. */
73
- --glass-backdrop: light;
74
- /* AY.W-A11Y-PERF O-4 — paint containment so the maximal-glass nested
75
- backdrop-filter sample does not escape the dock box (the standard nested-
76
- backdrop-cost mitigation; the Button-in-glass-in-dock stack re-samples the
77
- already-blurred buffer at each level without it). */
78
- contain: paint;
79
67
  display: inline-flex;
80
68
  align-items: center;
81
69
  /* AW.W1 — the dock does NOT establish a default inline-size container.
@@ -225,22 +225,7 @@
225
225
  [data-size="control"]
226
226
  ) {
227
227
  --dark-mode-toggle-size: var(--dock-control-size, var(--size-icon-btn));
228
- /* AY.W-DOCK-CHROME §2 — the in-dock toggle GLYPH insets to the nav-glyph
229
- register. The toggle SVG carries `h-full w-full` (the utility layer, which
230
- BEATS the component-layer `> svg { width: --dock-control-glyph-size }` rule
231
- below), so the glyph fills whatever the PADDED box leaves. Prior the in-dock
232
- padding fell to `var(--dock-icon-padding, 0)` (the token is never defined →
233
- 0 pad → the glyph filled the whole 40px box edge-to-edge, ~2.5× the 16-20px
234
- nav glyphs — the user's "too large" read). Pad the box by HALF the box↔glyph
235
- difference so the `h-full` SVG lands at exactly `--dock-icon-glyph` (the
236
- `--dock-scale`-keyed size the nav icons paint) — optically UNIFORM with the
237
- nav glyphs through the utility-win path, not fighting it. */
238
- --dark-mode-toggle-padding: calc(
239
- (
240
- var(--dock-control-size, var(--size-icon-btn)) -
241
- var(--dock-icon-glyph, 1.25rem)
242
- ) / 2
243
- );
228
+ --dark-mode-toggle-padding: var(--dock-icon-padding, 0);
244
229
  }
245
230
 
246
231
  /* AX.W06 USF-2 — the dock-control optical-size contract. The
@@ -342,21 +327,28 @@
342
327
  /* Tier — primary ────────────────────────────────────────────
343
328
  *
344
329
  * Per W2.7 §9, §12, §13, §17. The primary tier composes three at-rest
345
- * marks (top-highlight, bottom under-shadow, baseline glass) with three
346
- * disco accents on hover (specular swap, sparkle sweep, disco-grain).
330
+ * marks (top-highlight, bottom under-shadow, baseline glass) with two
331
+ * disco accents on hover (specular swap, disco-grain).
332
+ *
333
+ * D6.b — the disco-STAR is GONE (the sparkle-sweep sweep is excised from the
334
+ * underlying `btn-audacious`, utilities.css). The primary dock button's gold
335
+ * identity — the "golden dock button" the user likes — is RE-EXPRESSED sans
336
+ * star: a tooled `--gold-rim` gilt edge (the brushed-brass-under-glass read)
337
+ * plus the surviving specular catch-light + disco-grain on hover. Three quiet
338
+ * golds replacing one loud star.
347
339
  *
348
340
  * Reservation: disco fires on hover only. At rest the button reads as
349
- * a Vignelli-restrained composed glass surface. The `--phase-color`
350
- * cascade (provided by `<InstrumentChassis>` via `data-phase`) tints
351
- * the disco-grain radial only on hover; idle is neutral.
341
+ * a Vignelli-restrained composed glass surface with a hairline gilt edge.
342
+ * The `--phase-color` cascade (provided by `<InstrumentChassis>` via
343
+ * `data-phase`) tints the disco-grain radial only on hover; idle is neutral.
352
344
  *
353
- * K.W6 Lane B — the canonical disco-grain + sparkle-sweep + specular
354
- * recipe lifted to `@utility btn-audacious` (utilities.css). The Vue
355
- * <DockTabButton> attaches `btn-audacious` automatically when the
356
- * consumer passes `data-tier="primary"`. The dock-local rules below
357
- * are STRICTLY the dock extension: structural shell (padding, base
358
- * surface tint, min-height) + phase-tint extensions (hover radial
359
- * uses `--phase-color`, plus the `[data-phase]` `::before` halo).
345
+ * K.W6 Lane B — the canonical disco-grain + specular recipe lifted to
346
+ * `@utility btn-audacious` (utilities.css). The Vue <DockTabButton> attaches
347
+ * `btn-audacious` automatically when the consumer passes `data-tier="primary"`.
348
+ * The dock-local rules below are STRICTLY the dock extension: structural shell
349
+ * (padding, base surface tint, min-height) + the gilt-edge gold identity +
350
+ * phase-tint extensions (hover radial uses `--phase-color`, plus the
351
+ * `[data-phase]` `::before` halo).
360
352
  */
361
353
  .dock-tab-button[data-tier="primary"] {
362
354
  --dock-tab-min-height: 4rem;
@@ -364,6 +356,17 @@
364
356
  background: color-mix(in srgb, var(--card) 60%, transparent);
365
357
  color: var(--foreground);
366
358
 
359
+ /* D6.b — the gilt edge: a 1px inner `--gold-rim` ring + a faint gold
360
+ top-catch, the tooled-brass identity that replaces the excised star.
361
+ A box-shadow (no layout, no paint cost), composing UNDER the hover
362
+ specular/grain. The gold reads as a bevel light at the edge, never a
363
+ fill — the surface still reads as composed glass. Idiom mirrors the
364
+ `.glass-gilt` modifier (glass.css region) at the dock-button scale. */
365
+ box-shadow:
366
+ inset 0 0 0 1px var(--gold-rim),
367
+ inset 0 0.5px 0 0
368
+ color-mix(in oklab, var(--gold-light) 30%, transparent);
369
+
367
370
  /* Phase-tint hover override — same disco-grain composition as
368
371
  * `btn-audacious`, but the radial uses `--phase-color` (instrument-
369
372
  * cluster axis) instead of the canonical `--primary`. The `--paper-