@mkbabb/glass-ui 4.0.1 → 4.2.0

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 (606) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
  4. package/dist/ContextMenuContent-CMWn6huB.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/DialogFooter-DoLy0ewI.js +80 -0
  9. package/dist/DialogScrollContent-BMekN7gq.js +93 -0
  10. package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
  11. package/dist/HoverCardContent-DAmGYglo.js +88 -0
  12. package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
  13. package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
  14. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
  15. package/dist/Input-CyU4_hIC.js +57 -0
  16. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  17. package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
  18. package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
  19. package/dist/PagerDots-CYlqVFd4.js +196 -0
  20. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  21. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  22. package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
  23. package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
  24. package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
  25. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
  26. package/dist/Separator-Cf9-JFgi.js +44 -0
  27. package/dist/Switch-uf-UKPA2.js +49 -0
  28. package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
  29. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
  30. package/dist/TooltipProvider-QQVM_80r.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +16 -32
  33. package/dist/api/types-extra.d.ts +33 -0
  34. package/dist/api.js +2 -2
  35. package/dist/aurora.js +629 -269
  36. package/dist/badge-Bt14yURi.js +72 -0
  37. package/dist/badge.js +1 -1
  38. package/dist/border-progress.js +49 -57
  39. package/dist/button-D1W9PrzI.js +130 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +1 -1
  43. package/dist/carousel.js +235 -106
  44. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  45. package/dist/collapsible.js +1 -1
  46. package/dist/color-B9jZdhJX.js +116 -0
  47. package/dist/color.js +2 -2
  48. package/dist/command.js +1 -1
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  53. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  54. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  55. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  56. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
  57. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  58. package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
  59. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  60. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  62. package/dist/components/custom/aurora/index.d.ts +1 -1
  63. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  64. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  65. package/dist/components/custom/border-progress/index.d.ts +1 -1
  66. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  67. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  68. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  69. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  70. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  71. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
  72. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  73. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  74. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
  75. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  76. package/dist/components/custom/concentric/constants.d.ts +69 -24
  77. package/dist/components/custom/concentric/index.d.ts +2 -2
  78. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  79. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  80. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  81. package/dist/components/custom/configurator/index.d.ts +1 -1
  82. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  83. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  84. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  85. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  86. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  87. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  88. package/dist/components/custom/constellation/constants.d.ts +33 -0
  89. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  90. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  91. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  92. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  93. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  94. package/dist/components/custom/constellation/index.d.ts +5 -5
  95. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  96. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  97. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  98. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  99. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  100. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  101. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  102. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  103. package/dist/components/custom/deck/constants.d.ts +14 -0
  104. package/dist/components/custom/deck/index.d.ts +8 -0
  105. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  106. package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
  107. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  108. package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
  109. package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
  110. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  111. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
  112. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  113. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  114. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  115. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  116. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  117. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  118. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
  119. package/dist/components/custom/dock/constants.d.ts +32 -17
  120. package/dist/components/custom/dock/index.d.ts +8 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
  123. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  124. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  125. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  126. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  127. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
  128. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  129. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
  130. package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
  131. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  132. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  133. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
  134. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  135. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  136. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  137. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
  138. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  139. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
  140. package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
  141. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  142. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  143. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  144. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  145. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  146. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  147. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
  148. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  149. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  150. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
  151. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
  152. package/dist/components/custom/fourier-field/constants.d.ts +114 -4
  153. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  156. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  158. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  159. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  160. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  161. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  163. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  165. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/types.d.ts +86 -1
  167. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  168. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  172. package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
  173. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  174. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
  176. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  177. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  178. package/dist/components/custom/handmark/brush.d.ts +17 -17
  179. package/dist/components/custom/handmark/constants.d.ts +28 -8
  180. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  181. package/dist/components/custom/handmark/index.d.ts +1 -1
  182. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  183. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  184. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  185. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  186. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  187. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  188. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  189. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  190. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
  191. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
  192. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
  193. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  194. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  195. package/dist/components/custom/paper-grid/constants.d.ts +95 -0
  196. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  197. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  198. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  199. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  200. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  201. package/dist/components/custom/search/index.d.ts +2 -0
  202. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  203. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  204. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  205. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  206. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
  207. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  208. package/dist/components/custom/split-chars/index.d.ts +1 -0
  209. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  210. package/dist/components/custom/tabs/constants.d.ts +28 -2
  211. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  212. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  213. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  214. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
  215. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  216. package/dist/components/ui/_shared/index.d.ts +2 -0
  217. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  218. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  219. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  220. package/dist/components/ui/badge/index.d.ts +1 -0
  221. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  222. package/dist/components/ui/button/index.d.ts +1 -1
  223. package/dist/components/ui/card/Card.vue.d.ts +46 -1
  224. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  225. package/dist/components/ui/card/index.d.ts +1 -1
  226. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  227. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  228. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  229. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  230. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  231. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  232. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  233. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  234. package/dist/components/ui/drawer/constants.d.ts +8 -6
  235. package/dist/components/ui/drawer/index.d.ts +12 -2
  236. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  237. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  238. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  239. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  240. package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
  241. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  242. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  243. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  244. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  245. package/dist/composables/color/index.d.ts +2 -0
  246. package/dist/composables/color/useAccentTone.d.ts +34 -0
  247. package/dist/composables/dom/index.d.ts +1 -0
  248. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  249. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  250. package/dist/composables/glass/wave/index.d.ts +4 -0
  251. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  252. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  253. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  254. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
  255. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  256. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  257. package/dist/composables/glass/webgpu/index.d.ts +2 -1
  258. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
  259. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
  260. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  261. package/dist/composables/motion/core/index.d.ts +7 -0
  262. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  263. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  264. package/dist/composables/motion/index.d.ts +2 -0
  265. package/dist/composables/motion/scrollReader.d.ts +25 -0
  266. package/dist/composables/motion/springPresets.d.ts +19 -1
  267. package/dist/composables/motion/suite.d.ts +2 -2
  268. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  269. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  270. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  271. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
  272. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  273. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  274. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  275. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  276. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  277. package/dist/composables/motion/useMorphField.d.ts +157 -0
  278. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  279. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  280. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  281. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  282. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  283. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  284. package/dist/composables/sidebar/index.d.ts +4 -1
  285. package/dist/composables/sidebar/types.d.ts +68 -3
  286. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  287. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  288. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  289. package/dist/composables/virtual/index.d.ts +4 -0
  290. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  291. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  292. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  293. package/dist/concentric.js +552 -309
  294. package/dist/configurator.js +2 -2
  295. package/dist/confirm-dialog.js +62 -47
  296. package/dist/constellation.js +635 -235
  297. package/dist/context-menu.js +2 -2
  298. package/dist/controls.js +2 -2
  299. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  300. package/dist/dark.js +1 -1
  301. package/dist/data-table.js +1 -1
  302. package/dist/deck.d.ts +1 -0
  303. package/dist/deck.js +105 -0
  304. package/dist/dialog.js +4 -3
  305. package/dist/dock.js +1320 -631
  306. package/dist/dockContext-gFVS2gMg.js +18 -0
  307. package/dist/dom.js +7 -6
  308. package/dist/dot-flow-field.js +1268 -387
  309. package/dist/dot-matrix.d.ts +1 -0
  310. package/dist/dot-matrix.js +774 -0
  311. package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
  312. package/dist/drawer.js +106 -96
  313. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
  314. package/dist/dropdown-menu.js +1 -1
  315. package/dist/easing.js +188 -176
  316. package/dist/expandable-container.js +43 -21
  317. package/dist/fading-scroll.js +1 -1
  318. package/dist/flow.glsl-DqEGRpl4.js +4 -0
  319. package/dist/forms.js +64 -62
  320. package/dist/fourier-field.js +1069 -178
  321. package/dist/fourier-math.js +1 -1
  322. package/dist/glass-panel.js +2 -2
  323. package/dist/glass-ui.css +1 -1
  324. package/dist/glass-ui.js +164 -119
  325. package/dist/goo-blob.js +175 -1230
  326. package/dist/goo-dot-matrix.d.ts +1 -0
  327. package/dist/goo-dot-matrix.js +811 -0
  328. package/dist/handmark.js +137 -94
  329. package/dist/header-ribbon.js +1 -1
  330. package/dist/hover-card.js +1 -1
  331. package/dist/hover-popover.js +1 -1
  332. package/dist/icon-chip.js +1 -1
  333. package/dist/icon-tooltip.js +1 -1
  334. package/dist/index.d.ts +5 -0
  335. package/dist/instrument-chassis.js +1 -1
  336. package/dist/keyboard.js +1 -1
  337. package/dist/label.js +1 -1
  338. package/dist/labeled-field.js +70 -60
  339. package/dist/metric-badge.js +1 -1
  340. package/dist/metric-cell.js +1 -1
  341. package/dist/metric-stack.js +12 -3
  342. package/dist/motion-core.js +59 -34
  343. package/dist/motion-curves.js +30 -14
  344. package/dist/motion.js +231 -96
  345. package/dist/notification.js +1 -1
  346. package/dist/number-field.js +1 -1
  347. package/dist/pager-dots.js +2 -91
  348. package/dist/paper-backdrop.js +1 -1
  349. package/dist/paper-grid.d.ts +1 -0
  350. package/dist/paper-grid.js +761 -0
  351. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  352. package/dist/popover.js +1 -1
  353. package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
  354. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
  355. package/dist/progress.js +1 -1
  356. package/dist/pulse.js +2 -2
  357. package/dist/reactive.js +2 -2
  358. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
  359. package/dist/scrollReader-rc3Ns_NM.js +42 -0
  360. package/dist/scrolling-text.js +1 -1
  361. package/dist/search.js +162 -306
  362. package/dist/select.js +3 -3
  363. package/dist/selectable-chip.d.ts +1 -0
  364. package/dist/selectable-chip.js +48 -0
  365. package/dist/separator.js +1 -1
  366. package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
  367. package/dist/sheet.js +1 -1
  368. package/dist/sidebar.js +216 -114
  369. package/dist/slider-CcICPe3u.js +149 -0
  370. package/dist/slider.js +1 -1
  371. package/dist/sortable-list.js +3 -3
  372. package/dist/spectrum-walk-cBNSx_zm.js +33 -0
  373. package/dist/springPresets-DfoQ6XRY.js +64 -0
  374. package/dist/stacked-icons.js +54 -39
  375. package/dist/styles/animations.css +13 -3
  376. package/dist/styles/cards.css +271 -2
  377. package/dist/styles/completion-seal.css +131 -0
  378. package/dist/styles/components.css +1 -4
  379. package/dist/styles/configurator.css +221 -1
  380. package/dist/styles/critical-partition.mjs +66 -11
  381. package/dist/styles/deferred.css +4 -0
  382. package/dist/styles/dock/adaptive-legibility.css +119 -0
  383. package/dist/styles/dock/cta-seat.css +87 -0
  384. package/dist/styles/dock/density.css +167 -6
  385. package/dist/styles/dock/fission-bridge.css +552 -0
  386. package/dist/styles/dock/layers.css +90 -78
  387. package/dist/styles/dock/morph-bridge.css +67 -18
  388. package/dist/styles/dock/morph.css +57 -118
  389. package/dist/styles/dock/overflow.css +12 -0
  390. package/dist/styles/dock/search.css +68 -0
  391. package/dist/styles/dock/shape.css +250 -0
  392. package/dist/styles/dock/shell.css +24 -8
  393. package/dist/styles/dock/stack-rail.css +352 -0
  394. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  395. package/dist/styles/dock-controls/icon-button.css +46 -0
  396. package/dist/styles/dock-controls/triggers.css +23 -1
  397. package/dist/styles/dock-controls.css +18 -0
  398. package/dist/styles/dock.css +27 -2
  399. package/dist/styles/drawer.css +166 -0
  400. package/dist/styles/glass/accent-tone.css +66 -0
  401. package/dist/styles/glass/control-surfaces.css +167 -0
  402. package/dist/styles/glass/glass-atom.css +244 -0
  403. package/dist/styles/glass/glass-capsule.css +143 -0
  404. package/dist/styles/glass/glass-chip.css +215 -0
  405. package/dist/styles/glass/ladder.css +67 -17
  406. package/dist/styles/glass/liquid-enter.css +252 -0
  407. package/dist/styles/glass/liquid-morph.css +850 -0
  408. package/dist/styles/glass/material.css +70 -1
  409. package/dist/styles/glass/reveal.css +22 -2
  410. package/dist/styles/glass/rim.css +31 -9
  411. package/dist/styles/glass/surfaces.css +81 -150
  412. package/dist/styles/glass.css +21 -0
  413. package/dist/styles/icon-chip.css +45 -0
  414. package/dist/styles/index.css +26 -0
  415. package/dist/styles/jubilance.css +65 -0
  416. package/dist/styles/motion/morph-field.css +229 -0
  417. package/dist/styles/paper.css +230 -14
  418. package/dist/styles/scroll-choreography.css +135 -78
  419. package/dist/styles/scroll-chrome.css +123 -0
  420. package/dist/styles/scroll-driven.css +38 -0
  421. package/dist/styles/segmented-tabs.css +110 -40
  422. package/dist/styles/select.css +151 -0
  423. package/dist/styles/theme/bridges.css +22 -0
  424. package/dist/styles/theme/radius.css +18 -1
  425. package/dist/styles/tokens/color-radius.css +14 -4
  426. package/dist/styles/tokens/dark-arm.css +94 -12
  427. package/dist/styles/tokens/glass-deep.css +33 -4
  428. package/dist/styles/tokens/glass-fx.css +122 -1
  429. package/dist/styles/tokens/glass.css +226 -34
  430. package/dist/styles/tokens/light-dark.css +3 -3
  431. package/dist/styles/tokens/offsets.css +27 -0
  432. package/dist/styles/tokens/property-regs.css +277 -0
  433. package/dist/styles/tokens/scale-paper.css +86 -30
  434. package/dist/styles/tokens/scheme-motion.css +106 -133
  435. package/dist/styles/tokens/scheme-spring.css +239 -0
  436. package/dist/styles/tokens/scroll-tokens.css +15 -15
  437. package/dist/styles/tokens/shadow.css +73 -13
  438. package/dist/styles/tokens/sizing-config.css +110 -0
  439. package/dist/styles/tokens/sizing.css +55 -104
  440. package/dist/styles/tokens.css +14 -2
  441. package/dist/styles/typography/semantic.css +18 -5
  442. package/dist/styles/utilities/a11y-overrides.css +20 -5
  443. package/dist/styles/utilities/base-misc.css +52 -0
  444. package/dist/styles/utilities/btn.css +84 -3
  445. package/dist/styles/utilities/components.css +31 -6
  446. package/dist/styles/utilities/metal.css +26 -0
  447. package/dist/switch.js +1 -1
  448. package/dist/tabs.js +199 -182
  449. package/dist/timeline.js +241 -206
  450. package/dist/toast.js +1 -1
  451. package/dist/toggle-chip.js +14 -41
  452. package/dist/toggle-group.js +1 -1
  453. package/dist/tooltip.js +1 -1
  454. package/dist/typewriter.js +2 -2
  455. package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
  456. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  457. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
  458. package/dist/useControlSize-DAZ062x7.js +9 -0
  459. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  460. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
  461. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  462. package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
  463. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  464. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  465. package/dist/useHaptic-CPz5BT9I.js +134 -0
  466. package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  467. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  468. package/dist/useMorphField-ogBM7ubT.js +141 -0
  469. package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
  470. package/dist/useScrollChrome-JuImi1DM.js +258 -0
  471. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
  472. package/dist/useSpringPress-VM9RgVq3.js +36 -0
  473. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  474. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  475. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  476. package/dist/virtual.d.ts +1 -0
  477. package/dist/virtual.js +225 -0
  478. package/dist/watercolor-dot.js +107 -74
  479. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  480. package/package.json +140 -9
  481. package/src/styles/animations.css +13 -3
  482. package/src/styles/cards.css +271 -2
  483. package/src/styles/completion-seal.css +131 -0
  484. package/src/styles/configurator.css +221 -1
  485. package/src/styles/critical-partition.mjs +66 -11
  486. package/src/styles/dock/adaptive-legibility.css +119 -0
  487. package/src/styles/dock/cta-seat.css +87 -0
  488. package/src/styles/dock/density.css +167 -6
  489. package/src/styles/dock/fission-bridge.css +552 -0
  490. package/src/styles/dock/layers.css +90 -78
  491. package/src/styles/dock/morph-bridge.css +67 -18
  492. package/src/styles/dock/morph.css +57 -118
  493. package/src/styles/dock/overflow.css +12 -0
  494. package/src/styles/dock/search.css +68 -0
  495. package/src/styles/dock/shape.css +250 -0
  496. package/src/styles/dock/shell.css +24 -8
  497. package/src/styles/dock/stack-rail.css +352 -0
  498. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  499. package/src/styles/dock-controls/icon-button.css +46 -0
  500. package/src/styles/dock-controls/triggers.css +23 -1
  501. package/src/styles/dock-controls.css +18 -0
  502. package/src/styles/dock.css +27 -2
  503. package/src/styles/drawer.css +164 -0
  504. package/src/styles/glass/accent-tone.css +66 -0
  505. package/src/styles/glass/control-surfaces.css +167 -0
  506. package/src/styles/glass/glass-atom.css +244 -0
  507. package/src/styles/glass/glass-capsule.css +143 -0
  508. package/src/styles/glass/glass-chip.css +215 -0
  509. package/src/styles/glass/ladder.css +67 -17
  510. package/src/styles/glass/liquid-enter.css +252 -0
  511. package/src/styles/glass/liquid-morph.css +850 -0
  512. package/src/styles/glass/material.css +70 -1
  513. package/src/styles/glass/reveal.css +22 -2
  514. package/src/styles/glass/rim.css +31 -9
  515. package/src/styles/glass/surfaces.css +81 -150
  516. package/src/styles/glass.css +21 -0
  517. package/src/styles/icon-chip.css +45 -0
  518. package/src/styles/index.css +26 -0
  519. package/src/styles/jubilance.css +65 -0
  520. package/src/styles/motion/morph-field.css +229 -0
  521. package/src/styles/paper.css +230 -14
  522. package/src/styles/scroll-choreography.css +135 -78
  523. package/src/styles/scroll-chrome.css +123 -0
  524. package/src/styles/scroll-driven.css +38 -0
  525. package/src/styles/segmented-tabs.css +110 -36
  526. package/src/styles/select.css +151 -0
  527. package/src/styles/theme/bridges.css +22 -0
  528. package/src/styles/theme/radius.css +18 -1
  529. package/src/styles/tokens/color-radius.css +14 -4
  530. package/src/styles/tokens/dark-arm.css +94 -12
  531. package/src/styles/tokens/glass-deep.css +33 -4
  532. package/src/styles/tokens/glass-fx.css +122 -1
  533. package/src/styles/tokens/glass.css +226 -34
  534. package/src/styles/tokens/light-dark.css +3 -3
  535. package/src/styles/tokens/offsets.css +27 -0
  536. package/src/styles/tokens/property-regs.css +277 -0
  537. package/src/styles/tokens/scale-paper.css +86 -30
  538. package/src/styles/tokens/scheme-motion.css +106 -133
  539. package/src/styles/tokens/scheme-spring.css +239 -0
  540. package/src/styles/tokens/scroll-tokens.css +15 -15
  541. package/src/styles/tokens/shadow.css +73 -13
  542. package/src/styles/tokens/sizing-config.css +110 -0
  543. package/src/styles/tokens/sizing.css +55 -104
  544. package/src/styles/tokens.css +14 -2
  545. package/src/styles/typography/semantic.css +18 -5
  546. package/src/styles/utilities/a11y-overrides.css +20 -5
  547. package/src/styles/utilities/base-misc.css +52 -0
  548. package/src/styles/utilities/btn.css +84 -3
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +26 -0
  551. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  552. package/dist/DialogContent-DcKK8k9i.js +0 -103
  553. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  554. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  555. package/dist/Input-h9v5LeXf.js +0 -55
  556. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  557. package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
  558. package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
  559. package/dist/Separator-pKF0oA4M.js +0 -37
  560. package/dist/Switch-CwYNf8bo.js +0 -47
  561. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  562. package/dist/badge-D9XWW4GT.js +0 -53
  563. package/dist/button-DYCUa-tH.js +0 -126
  564. package/dist/color-DweYl7pE.js +0 -86
  565. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
  566. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  567. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  568. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  569. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  570. package/dist/dockContext-BNfyPLe9.js +0 -17
  571. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  572. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  573. package/dist/slider-DVb4HXU-.js +0 -142
  574. package/dist/springPresets-CFQGQfdl.js +0 -40
  575. package/dist/styles/dock/rail-extend.css +0 -397
  576. package/dist/useLiquidPress-kfb4KX79.js +0 -39
  577. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  578. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  579. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  580. package/src/styles/dock/rail-extend.css +0 -397
  581. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  582. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  583. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  584. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  585. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
  586. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  587. /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
  588. /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
  589. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  590. /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
  591. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  592. /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
  593. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
  594. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  595. /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
  596. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  597. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  598. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  599. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
  600. /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
  601. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
  602. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  603. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  604. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  605. /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
  606. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
@@ -27,13 +27,22 @@
27
27
  * component recipes) — under the recorded gzip ceiling (W3).
28
28
  *
29
29
  * DEFERRED (./styles/deferred) — the below-the-fold + late-mount tail: every
30
- * component recipe + the transitions/animations/scroll-driven/view-transition
31
- * grammar + utilities + the menu/configurator/instrument-chassis/hover-popover/
32
- * drawer/segmented-tabs/select/icon-chip component partials, PLUS the folded SFC
33
- * `<style scoped>` payload (`../glass-ui.css`) and the emitted Tailwind
34
- * component-utility surface (`components.css`). These decorate components that
35
- * mount after first paint or sit below the fold; their late arrival shifts no
36
- * above-the-fold pixel (the FOUC-safe floor, W5).
30
+ * component recipe + the transitions/animations/scroll-driven/scroll-chrome/
31
+ * view-transition grammar + utilities + the menu/configurator/instrument-chassis/
32
+ * hover-popover/drawer/segmented-tabs/select/icon-chip/border-progress/
33
+ * completion-seal component partials, PLUS the folded SFC `<style scoped>`
34
+ * payload (`../glass-ui.css`) and the emitted Tailwind component-utility surface
35
+ * (`components.css`). These decorate components that mount after first paint or
36
+ * sit below the fold; their late arrival shifts no above-the-fold pixel (the
37
+ * FOUC-safe floor, W5). The BC-added `scroll-chrome.css` (the scroll-driven
38
+ * floating-CHROME collapse recipe — a late-mount surface decoration) and
39
+ * `completion-seal.css` (the one-shot earned-gold feedback seal — a focal opt-in
40
+ * surface that mounts on a completion event) are BOTH deferred: neither paints
41
+ * an above-the-fold first-paint chrome pixel. The BD-added `motion/morph-field.css`
42
+ * (the ONE `useMorphField` goo recipe — the body/neck/waist silhouette + the
43
+ * dedicated squish channel) is likewise DEFERRED: it is gated to `[data-morphing]`
44
+ * and paints only while a morph drive is live (a late-mount compositor decoration),
45
+ * never a steady-state first-paint chrome pixel.
37
46
  *
38
47
  * The `paper.css` partial is bucketed DEFERRED — the paper underpaint/grain
39
48
  * utilities pair with glass for paper-on-glass compositions that mount with the
@@ -63,8 +72,11 @@ export const DEFERRED_PARTIALS = Object.freeze([
63
72
  "floating-panel.css",
64
73
  "transitions.css",
65
74
  "animations.css",
75
+ "motion/morph-field.css",
76
+ "jubilance.css",
66
77
  "scroll-driven.css",
67
78
  "scroll-choreography.css",
79
+ "scroll-chrome.css",
68
80
  "view-transition.css",
69
81
  "utilities.css",
70
82
  "menu.css",
@@ -76,6 +88,7 @@ export const DEFERRED_PARTIALS = Object.freeze([
76
88
  "select.css",
77
89
  "icon-chip.css",
78
90
  "border-progress.css",
91
+ "completion-seal.css",
79
92
  ]);
80
93
 
81
94
  /**
@@ -133,8 +146,50 @@ export const DEFERRED_SOURCE_DIRECTIVE = '@source "../*.js";';
133
146
  * dark-arm + the on-glass-fg / surface-axis registers — all of which live in the
134
147
  * critical tokens/* + glass/* sub-partials by construction. Ceiling lifted
135
148
  * 110000 → 137000 (~4.2% headroom over the measured 131469, the profile-bundle
136
- * re-base convention) to carry the BB glass-band critical surface. The
137
- * render-block FLOOR stays W-LIGHTHOUSE's W3-arm-1 mobile-ms gate (the binding
138
- * perf truth); this ceiling guards against a recipe revert-toward-monolith.
149
+ * re-base convention) to carry the BB glass-band critical surface.
150
+ *
151
+ * RE-BASE (BC.W-CSS-CRITICAL — re-measured over the SETTLED BC cascade): the
152
+ * critical subset grew to raw 482228 / gzip 149748 — AGAIN not a component-recipe
153
+ * leak (the critical bucket is STILL the 6 documented token+glass+type partials;
154
+ * the BC visual bands 1-7 + 9 re-authored the critical tokens/* + glass/* sub-
155
+ * partials — the warm-cream page chassis tokens, the on-glass-fg/surface-axis
156
+ * registers, the calm/deep glass ladder, the scroll/motion token additions in
157
+ * scale-paper.css — all of which live in the critical token cascade by
158
+ * construction; the two BC-added PARTIALS scroll-chrome.css + completion-seal.css
159
+ * are bucketed DEFERRED, NOT critical). The critical subset is 47.3% of the
160
+ * settled monolith's resolved gzip (316614) — the spec's ~46% small-above-the-
161
+ * fold-subset bar HELD over the settled cascade. Ceiling re-pinned 137000 →
162
+ * 156000 (~4.2% headroom over the measured 149748, the profile-bundle re-base
163
+ * convention — the reviewed write, NEVER a silent component-recipe swallow to
164
+ * stay under the old number). The render-block FLOOR stays W-LIGHTHOUSE's
165
+ * W3-arm-1 mobile-ms gate (the binding perf truth); this ceiling guards against a
166
+ * recipe revert-toward-monolith.
167
+ *
168
+ * RE-BASE (BD greenfield band — re-measured over the SETTLED BD cascade): the
169
+ * critical subset grew to raw 561233 / gzip 174231 — AGAIN not a component-recipe
170
+ * leak into the critical BUCKET (the critical bucket is STILL the SAME 6 documented
171
+ * token+glass+type partials; w2 partials-disjoint + w4 hold, and the two recipe-shaped
172
+ * BD additions that COULD have leaked do NOT: `motion/morph-field.css` is bucketed
173
+ * DEFERRED, `glass-atom.css`/`glass-chip.css` are @import-ed by the DEFERRED
174
+ * `icon-chip.css` (not by `glass.css`), and `liquid-morph.css` is demo-only — it is
175
+ * @import-ed by NO src partial). The growth is the legitimate BD GREENFIELD enrichment
176
+ * of the critical TOKEN CASCADE + glass ladder, which lives in the critical tokens/* +
177
+ * glass/* sub-partials by construction: the NEW `tokens/property-regs.css` (the
178
+ * @property registrations a bare var() interpolates over), the `tokens/scheme-motion.css`
179
+ * --motion-weight × --ease-cartoon-punch motion grammar, the `tokens/shadow.css` cartoon
180
+ * cast rungs, the `tokens/dark-arm.css` dark-mode arms, the `tokens/glass.css` squish/tint
181
+ * axes, and the `tokens/glass-fx.css` / `tokens/scale-paper.css` page-chassis registers —
182
+ * all custom-property registers the chrome reads at first paint. The ONE borderline
183
+ * residual is `glass/liquid-enter.css` (a late-mount entrance @keyframes recipe, ~3.7KiB
184
+ * gzip) which rides `glass.css` over its `reveal.css` `--lq-enter-*` substrate; carving it
185
+ * to a deferred top-level partial is a structural cascade-order change reserved for the
186
+ * named BB.W-CSS-CRITICAL-INLINE successor (a triumvirate trigger, NOT a token-edit here),
187
+ * and it recovers only ~3.7KiB — the bucket would still sit ~170KiB, well over the old
188
+ * 156000. The critical subset is 49.5% of the settled monolith's resolved gzip — the
189
+ * spec's ~46% small-above-the-fold-subset bar HELD over the settled cascade. Ceiling
190
+ * re-pinned 156000 → 182000 (~4.5% headroom over the measured 174231, the profile-bundle
191
+ * re-base convention — the reviewed write, NEVER a silent component-recipe swallow). The
192
+ * render-block FLOOR stays W-LIGHTHOUSE's W3-arm-1 mobile-ms gate (the binding perf truth);
193
+ * this ceiling guards against a recipe revert-toward-monolith.
139
194
  */
140
- export const CRITICAL_GZIP_CEILING = 137000;
195
+ export const CRITICAL_GZIP_CEILING = 182000;
@@ -12,8 +12,11 @@
12
12
  @import "./floating-panel.css";
13
13
  @import "./transitions.css";
14
14
  @import "./animations.css";
15
+ @import "./motion/morph-field.css";
16
+ @import "./jubilance.css";
15
17
  @import "./scroll-driven.css";
16
18
  @import "./scroll-choreography.css";
19
+ @import "./scroll-chrome.css";
17
20
  @import "./view-transition.css";
18
21
  @import "./utilities.css";
19
22
  @import "./menu.css";
@@ -25,6 +28,7 @@
25
28
  @import "./select.css";
26
29
  @import "./icon-chip.css";
27
30
  @import "./border-progress.css";
31
+ @import "./completion-seal.css";
28
32
  @import "../glass-ui.css";
29
33
  @import "./components.css";
30
34
 
@@ -0,0 +1,119 @@
1
+ /* dock/adaptive-legibility.css — the dock's ADAPTIVE-LEGIBILITY self-engage (carved
2
+ * from dock/morph.css to hold both partials under the 500-line no-god-module bound).
3
+ *
4
+ * This partial owns the darken-over-light legibility concern, distinct from the morph
5
+ * chrome: the unconditional `:where(.glass-dock)` self-engage (AZ.W-ADAPTIVE-AUTO), the
6
+ * continuous backdrop-luma tint clamp (BC.W-ADAPTIVE-RECONCILE), the BD.W-DOCK-CORE D2
7
+ * warm-chromatic dock ink, the ancestor `@container style(--glass-backdrop: light)`
8
+ * descendant bucket, the AX.W55 contrast-color() progressive refinement, and the
9
+ * BB.W-LIQUID-REVEAL / BC.W-DOCK-SHRINK-BLUR PRM reveal-blur carve.
10
+ *
11
+ * @import-ed by dock.css in cascade order, in the SAME `@layer components` as morph.css
12
+ * (the carve is isomorphic — same layer, source order preserved → ZERO visual delta). */
13
+
14
+ @layer components {
15
+ /* ── Adaptive legibility: SELF-ENGAGE the dock over a light backdrop by default
16
+ (AZ.W-ADAPTIVE-AUTO Arm 1 — the literal G2 surface; "Glass dock over VERY
17
+ LIGHT materials is unreadable, darken DYNAMICALLY like iOS 27") ─────────────
18
+ The dock floats over WHATEVER the consumer painted — frequently a light/near-
19
+ white app surface (the canonical G2 case the user reported). AY.W-A11Y-PERF
20
+ O-1 set `--glass-backdrop: light` on the dock's OWN root (shell.css) intending
21
+ a self-darken, but CSS style queries NEVER self-match (the `@container
22
+ style()` block below reads an ANCESTOR — verified on Chrome 148), so the
23
+ self-declaration was a NO-OP. This `:where(.glass-dock)` rule is the genuine
24
+ UNCONDITIONAL self-engage — mirroring the overlay band's `ladder.css:169` —
25
+ re-pointing the INHERITING tint tokens DIRECTLY on the dock root so the
26
+ shell (`--glass-bg-dock`), chassis-strip, and held/open tiers (which compose
27
+ the oklab tint AT THE ELEMENT — the substitution-vs-inheritance-safe targets)
28
+ darken toward warm-ink in lockstep. `--dock-fg-on-aurora` re-points to the
29
+ warm-ink here too — ONE reconciled path, the foreground twin folded in (it
30
+ reaches the dock CONTROLS' glyph/label color). Over a DARK page the darken is
31
+ sub-perceptual; a dark-substrate consumer opts out via `--glass-tint-strength:
32
+ 0%` on the dock root. The morph-root interp (`.glass-dock:not(.vertical)`
33
+ above) stays `color-mix(in srgb …)` for the transition — the adaptive darken
34
+ rides its RESTING endpoint (`--glass-bg-dock`), the in-flight morph frames are
35
+ sub-perceptual (the ratified resting-endpoint-only default). The muted body
36
+ register lifts to the full warm-ink under the engaged plate (the muted L40
37
+ tier cannot clear 4.5:1 on a translucent darkened plate — darkening moves the
38
+ plate TOWARD muted's own luminance; the low-contrast muted register is
39
+ inappropriate over a busy glass plate, so it resolves to the legible dark
40
+ ink, which clears ~10:1). */
41
+ :where(.glass-dock) {
42
+ /* BD.W-DOCK-CORE (D2) — the dock self-engage reads the warm-CHROMATIC dock ink
43
+ (glass-fx.css), NOT the frozen global `--glass-tint-ink` (W-DARK-MATERIAL's
44
+ whole-system register). So the darken-over-light RAISES chroma toward a warm
45
+ material (H ≈ 62°, C ≈ 0.016 at AA) rather than dropping L with chroma flat (the
46
+ gray dock). ONE dock tint source, ONE global ink — file-line-disjoint. */
47
+ --glass-tint-source: var(--glass-tint-ink-dock);
48
+ /* BC.W-ADAPTIVE-RECONCILE — the dock JOINS the continuous observer driver (the
49
+ literal G2 surface: "darken DYNAMICALLY like iOS 27"). The dock's own
50
+ `useGlassBackdropLuminance` observer samples the threaded `:background-canvas`
51
+ (aurora/blob) and WRITES `--glass-backdrop-luma`; this clamp READS it and lerps
52
+ the plate from the warm-cream floor toward the ≤24% AA ceiling as the field
53
+ brightens past the knee — deepening over a bright bleed, lifting translucent over
54
+ a dark trough (the SAME clamp the content/overlay tiers get — ONE axis/driver/
55
+ signal; the discrete `@container` bucket RETIRED). Calm (luma ≤ knee) → floor. */
56
+ --glass-tint-strength: clamp(
57
+ var(--glass-tint-strength-floor),
58
+ calc(
59
+ var(--glass-tint-strength-floor) +
60
+ (var(--glass-tint-strength-aa) - var(--glass-tint-strength-floor)) *
61
+ max(0, (var(--glass-backdrop-luma, 0) - var(--glass-backdrop-luma-knee, 0.6)) / (1 - var(--glass-backdrop-luma-knee, 0.6)))
62
+ ),
63
+ var(--glass-tint-strength-aa)
64
+ );
65
+ --dock-fg-on-aurora: var(--glass-tint-ink);
66
+ --muted-foreground: var(--foreground);
67
+ }
68
+
69
+ /* The ancestor-querying `@container` block KEPT — it reaches the DESCENDANT
70
+ nested-glass surfaces inside a dock when a consumer marks `--glass-backdrop:
71
+ light` on the dock's ancestor (the self-engage above re-points only the dock
72
+ root's own inheriting tokens; a consumer's explicit ancestor bucket still
73
+ cascades to nested glass through this block). */
74
+ @container style(--glass-backdrop: light) {
75
+ .glass-dock {
76
+ --glass-tint-source: var(--glass-tint-ink);
77
+ --glass-tint-strength: var(--glass-tint-strength-aa);
78
+ --dock-fg-on-aurora: var(--glass-tint-ink);
79
+ }
80
+ }
81
+
82
+ /* AX.W55 — the `contrast-color()` flip for the dock control foreground (Chrome
83
+ 147+/Safari 26+; progressive enhancement, NEVER the load-bearing floor). The
84
+ declarative bucket above already carries AA on all engines (it darkens the dock
85
+ plate so the warm-dark `--dock-fg-on-aurora` clears ~17:1 over white at the 18%
86
+ floor). On a supporting engine `contrast-color()` REFINES the control ink,
87
+ anchored on the LIGHT BACKDROP signal (`--card`, the warm-white surface base the
88
+ bright bucket implies) — `contrast-color(var(--card))` resolves to the legible
89
+ DARK ink. Anchoring on the dark ink instead inverts to white (illegible on the
90
+ still-light dock plate), so the anchor is the light surface, matching the rung
91
+ refinement in glass.css. The bucket is the floor; this is the native pick. */
92
+ @supports (color: contrast-color(white)) {
93
+ /* The SELF-ENGAGED dock refinement (the unconditional self-engage above);
94
+ progressive enhancement only — the declarative darken is the AA floor. */
95
+ :where(.glass-dock) {
96
+ --dock-fg-on-aurora: contrast-color(var(--card));
97
+ --muted-foreground: contrast-color(var(--card));
98
+ }
99
+ @container style(--glass-backdrop: light) {
100
+ .glass-dock {
101
+ --dock-fg-on-aurora: contrast-color(var(--card));
102
+ }
103
+ }
104
+ }
105
+ }
106
+
107
+ /* BB.W-LIQUID-REVEAL — the dock-expand bloom beat's blur-settle is OFF under
108
+ `prefers-reduced-motion: reduce` (the vestibular floor): a reduced-motion dock reads
109
+ crisp at every state, no in-between blur frames.
110
+ BC.W-DOCK-SHRINK-BLUR — the self-blur is now gated to `[data-morphing]`, so the PRM
111
+ carve zeroes it on the ARMED scope too (specificity 0,2,0) — a PRM dock that briefly
112
+ arms `[data-morphing]` carries no 3px bloom; the resting `.glass-dock` is already
113
+ crisp by the re-gate. */
114
+ @media (prefers-reduced-motion: reduce) {
115
+ .glass-dock,
116
+ .glass-dock[data-morphing] {
117
+ --dock-reveal-blur: 0px;
118
+ }
119
+ }
@@ -0,0 +1,87 @@
1
+ /* dock/cta-seat.css — the `[data-cta-pending]` CTA-receive landing SEAT (BC.W-AX-DOCK-
2
+ * CTA-SEAT; the speedtest-AX BC-W2 + BC-W3 fold).
3
+ *
4
+ * THE MOVE. `useDockCtaReceive` (the BB.B2 morph half) flies an EXTERNAL CTA onto a
5
+ * dock control's rect; this partial makes the control it lands on a SEAT that was
6
+ * visibly RESERVED for it. While the CTA is in flight (or pending), the target dock
7
+ * control carries `data-cta-pending` (written by `setPending()` on the
8
+ * `useDockCtaReceive` return): the control shows a quiet dim GHOST (a placeholder
9
+ * awaiting its arrival) AND reserves its resting footprint from frame 0 so the dock
10
+ * box does NOT jump when the CTA lands. On `clearPending()` (the default hand-off
11
+ * fires it as the CTA lands) the attribute is removed and the seat REVEALS its real
12
+ * content with a plain `transition: opacity` FLIP.
13
+ *
14
+ * THE NO-BOX-JUMP (T2). The reserve is a STATIC `min-inline-size`/`min-block-size`
15
+ * keyed off `--dock-control-size`/`--dock-layer-height` (the control's resting box) —
16
+ * a ONE-TIME reservation set the instant `setPending()` fires, NEVER an animated
17
+ * dimension (the W-DESKTOP-RESERVE static-frame-0 precedent). The dock's shrink-wrap
18
+ * is already at the seated width, so the CTA lands into an already-sized hole; the box
19
+ * never grows on reveal. `proof:no-layout-animation` holds — no `transition: width`/
20
+ * animated min-* anywhere here.
21
+ *
22
+ * THE FLIP REVEAL (T3). The seat is a CONTENT swap on an already-sized box, NOT a box
23
+ * morph — so the reveal is a PLAIN `transition: opacity` on the `--ease-out`
24
+ * no-overshoot register (a content reveal must not overshoot — W-MOTION-CANON P2). It
25
+ * does NOT ride the dock collapse/expand morph-stagger (`--dock-expand-t`/the child
26
+ * stagger); re-using the morph clock would read as a janky stagger-restart on a
27
+ * content reveal.
28
+ *
29
+ * RECT-DRIVEN, LAYOUT-AGNOSTIC (Gate-1 Q5). The seat targets `[data-cta-pending]` on
30
+ * ANY dock control — it makes NO assumption about a skip-arrow affordance (a
31
+ * consumer-side functional skip control that may or may not be present). The reserve
32
+ * is the control's own resting footprint; the seat works with or without arrows.
33
+ *
34
+ * COMPOSITOR-ONLY. `setPending`/`clearPending` toggle the data attribute; this partial
35
+ * paints with `opacity` + the static reserve. No layout property is animated. The
36
+ * `--cta-seat-*` knobs are the consumer retune seam.
37
+ *
38
+ * @import-ed by dock.css in the dock partial cascade, in the SAME `@layer components`. */
39
+
40
+ @layer components {
41
+ /* The armed seat — the control is RESERVED. The static min-*-size locks the resting
42
+ footprint from frame 0 (the no-box-jump); the dim opacity is the placeholder
43
+ ghost awaiting the CTA's arrival. The `transition: opacity` is declared HERE (not
44
+ only on the cleared state) so the GHOST→content reveal is a smooth fade in BOTH
45
+ directions on the SAME compositor-safe register — the box is already sized, only
46
+ the opacity moves. */
47
+ [data-cta-pending] {
48
+ /* The STATIC resting-geometry reserve (T2) — a one-time min-*-size off the
49
+ control's own resting box. NEVER transitioned (an animated dimension
50
+ CLS-storms — the proof:no-layout-animation floor). */
51
+ min-inline-size: var(--dock-control-size, var(--size-icon-btn));
52
+ min-block-size: var(
53
+ --dock-layer-height,
54
+ var(--dock-control-size, var(--size-icon-btn))
55
+ );
56
+
57
+ /* The dim GHOST placeholder — the control awaits its arrival (T3). */
58
+ opacity: var(--cta-seat-ghost-opacity, 0.35);
59
+
60
+ /* The FLIP reveal register — a PLAIN opacity transition on --ease-out
61
+ (no-overshoot). Default duration tracks the snappy spring envelope so the
62
+ reveal reads as the same family as the morph that lands the CTA. */
63
+ transition: opacity
64
+ var(--cta-seat-reveal-duration, var(--spring-snappy-duration))
65
+ var(--ease-out);
66
+ }
67
+
68
+ /* The seated CONTENT also dims while pending — the icon/label is the thing that
69
+ fades back in on reveal. Direct-child targeting keeps the seat layout-agnostic
70
+ (it does not name a control class — Q5). */
71
+ [data-cta-pending] > * {
72
+ opacity: var(--cta-seat-ghost-opacity, 0.35);
73
+ transition: opacity
74
+ var(--cta-seat-reveal-duration, var(--spring-snappy-duration))
75
+ var(--ease-out);
76
+ }
77
+
78
+ /* PRM — the reveal is an INSTANT opacity swap (the vestibular floor; the seat snaps
79
+ to its content, zero transition frames). The reserve is unchanged (it is static,
80
+ not a motion). The gesture completes; the animation is off. */
81
+ @media (prefers-reduced-motion: reduce) {
82
+ [data-cta-pending],
83
+ [data-cta-pending] > * {
84
+ transition: none;
85
+ }
86
+ }
87
+ }
@@ -33,6 +33,66 @@
33
33
  consumers). NEVER re-point this AT --dock-control-safe-inset (the de-overload). */
34
34
  :root {
35
35
  --dock-content-safe-inset: var(--dock-rail-extend-length, 2.5rem);
36
+
37
+ /* ── BC.W-DOCK-ARBITRARY — the arbitrary-shape morph tokens ─────────────────
38
+ The dock morph is no longer locked to circle↔pill. The shape is now a SCALAR
39
+ PARAMETER: a `--dock-shape-from`/`--dock-shape-to` corner-radius pair the chrome
40
+ radius arm interpolates on `--dock-morph-t`, an OPT-IN `--dock-shape-clip-from`/
41
+ `--dock-shape-clip-to` clip-path silhouette pair (compositor-only, no layout),
42
+ and a `--dock-morph-max-stretch` squish cap. The library DEFAULTS preserve the
43
+ collapsed-perfect-circle ↔ expanded-pill identity (CLAUDE.md `aspect-ratio: 1` +
44
+ `--radius-dock` 9999px), so the common case needs no consumer override; a consumer
45
+ sets these to morph to an arbitrary silhouette (a wide bar, a teardrop, a tall
46
+ rail). Clean break (MEMORY: no backwards compat) — the prior hardcoded circle/pill
47
+ endpoints become these token DEFAULTS, no `--dock-radius-legacy`. */
48
+
49
+ /* The corner profile span — the `from`-radius (the collapsed perfect circle, a
50
+ 9999px pill that rounds the height-pinned square into a circle) ↔ the `to`-radius
51
+ (the expanded pill, `--radius-dock`). Consumer-targetable: set either to any
52
+ radius to morph to an arbitrary corner profile. */
53
+ --dock-shape-from: var(--radius-dock, 9999px);
54
+ --dock-shape-to: var(--radius-dock, 9999px);
55
+
56
+ /* The arbitrary-silhouette span — an OPT-IN `clip-path` pair (a compositor property,
57
+ NO layout). DEFAULT-OFF: `none`/`none` means the rectangle/pill morph (the common
58
+ case) needs no clip. A consumer opts into a teardrop/blob silhouette by setting the
59
+ clip-from/to to two `inset()`/`path()`/`shape()` values the morph LERPS between on
60
+ `--dock-morph-t`. */
61
+ --dock-shape-clip-from: none;
62
+ --dock-shape-clip-to: none;
63
+
64
+ /* The squish cap — the LOW volume-preserving `--stretch` ceiling for the shape-morph
65
+ deformation, mirroring the tab-indicator's iOS-segmented register. BD.W-ANIM-IOS27-
66
+ TUNE lifts 1.08 → 1.14 so the box-morph reads as FLOWING MASS (the "MORPH MORE on
67
+ move" mandate; the dock is the most-visible morph surface) — a fast morph swells
68
+ the plate then caps, a gooey settle, never a taffy-pull (≤1.2 anti-taffy bar). */
69
+ --dock-morph-max-stretch: 1.14;
70
+
71
+ /* ── BC.W-LIQUID-MORPH — the reserve floor (the white morph can never paint) ──
72
+ The morph box reserves `inline-size`/`block-size: max(var(--dock-morph-to),
73
+ var(--dock-morph-min))` (layers.css). A degenerate `to:0` measurement (the
74
+ BA-VJS-1 nested-group race, glass-dock-codebase.md §2.2) would otherwise reserve
75
+ a ZERO-width footprint → `overflow: clip` blanks the content → the white/invisible
76
+ morph the user reports. The floor seats it at the collapsed-pill minimum (~44px,
77
+ the WCAG touch floor / `--dock-control-floor`), so a missed measurement degrades to
78
+ "visible at the floor," never "white." A SAFETY NET: on every healthy measurement
79
+ the `max()` resolves to the real `to` (inert above the floor); it fires ONLY on the
80
+ degenerate race. Density-scaled, riding `--dock-scale` transitively. */
81
+ --dock-morph-min: max(2.75rem, var(--dock-control-floor, 0px));
82
+
83
+ /* ── BC.W-DOCK-SEARCH — the collapse-on-scroll trigger-points ─────────────────
84
+ The dock-search optional shrink-on-scroll (composing useScrollChrome — the
85
+ native dual-path reader, persistent-default) reads these two tunable px
86
+ trigger-points: the shrink BEGINS at `--dock-search-shrink-start` of scroll and
87
+ reaches the compact form at `--dock-search-shrink-end` (the words
88
+ `scrollInflectionPoint` generalized into dock-scoped tokens). They ride
89
+ `--dock-scale` transitively (a coarse-pointer dock's trigger-points scale with
90
+ its geometry), and a consumer retunes the inflection in ONE write. NOTE the
91
+ PERSISTENT default — these are inert unless the consumer opts in via
92
+ `collapseOnScroll`; the morph itself NEVER fires on a passive scroll (the
93
+ iOS-27 lesson — the scroll path is the distinct compositor shrink). */
94
+ --dock-search-shrink-start: calc(0rem * var(--dock-scale));
95
+ --dock-search-shrink-end: calc(7.25rem * var(--dock-scale));
36
96
  }
37
97
 
38
98
  @layer components {
@@ -49,11 +109,14 @@
49
109
  control + glyph; it is a proportional `calc(control-size + tile-pad)` so the
50
110
  icon-to-tile margin is ONE knob, not a per-density literal. */
51
111
  .glass-dock[data-density="compact"] {
112
+ /* BD.W-DOCK-CORE (A11) — the OUTER pill pad floors lifted ~+50% for the generous
113
+ warm-cream liquid breath (the sliver-pill defect). The inner
114
+ `--dock-control-safe-inset` plate clearance is untouched (a distinct axis). */
52
115
  --dock-padding-block: calc(
53
- var(--dock-density-compact-padding-block, 0.25rem) * var(--dock-scale)
116
+ var(--dock-density-compact-padding-block, 0.375rem) * var(--dock-scale)
54
117
  );
55
118
  --dock-padding-inline: calc(
56
- var(--dock-density-compact-padding-inline, 0.375rem) * var(--dock-scale)
119
+ var(--dock-density-compact-padding-inline, 0.5rem) * var(--dock-scale)
57
120
  );
58
121
  --dock-control-size: max(
59
122
  calc(var(--dock-density-compact-control-size, 2rem) * var(--dock-scale)),
@@ -104,11 +167,14 @@
104
167
  /* Comfortable density — the GlassDock default. Sits between compact
105
168
  and spacious. */
106
169
  .glass-dock[data-density="comfortable"] {
170
+ /* BD.W-DOCK-CORE (A11) — the generous liquid-pill pad: inline 0.5 → 0.75rem (+8px
171
+ total breath), block 0.375 → 0.5rem (softer). The vertical sliver-around-40px
172
+ becomes a soft warm-cream capsule. */
107
173
  --dock-padding-block: calc(
108
- var(--dock-density-comfortable-padding-block, 0.375rem) * var(--dock-scale)
174
+ var(--dock-density-comfortable-padding-block, 0.5rem) * var(--dock-scale)
109
175
  );
110
176
  --dock-padding-inline: calc(
111
- var(--dock-density-comfortable-padding-inline, 0.5rem) * var(--dock-scale)
177
+ var(--dock-density-comfortable-padding-inline, 0.75rem) * var(--dock-scale)
112
178
  );
113
179
  --dock-control-size: max(
114
180
  calc(
@@ -152,11 +218,12 @@
152
218
  }
153
219
 
154
220
  .glass-dock[data-density="spacious"] {
221
+ /* BD.W-DOCK-CORE (A11) — the spacious rung breathes in lockstep (~+33%). */
155
222
  --dock-padding-block: calc(
156
- var(--dock-density-spacious-padding-block, 0.5rem) * var(--dock-scale)
223
+ var(--dock-density-spacious-padding-block, 0.625rem) * var(--dock-scale)
157
224
  );
158
225
  --dock-padding-inline: calc(
159
- var(--dock-density-spacious-padding-inline, 0.75rem) * var(--dock-scale)
226
+ var(--dock-density-spacious-padding-inline, 1rem) * var(--dock-scale)
160
227
  );
161
228
  --dock-control-size: max(
162
229
  calc(
@@ -246,6 +313,91 @@
246
313
  );
247
314
  }
248
315
 
316
+ /* ── BC.W-AX-DOCK-COCKPIT — the `cockpit` geometry PRESET ─────────────────────
317
+ The tight instrument-cockpit register: a FIXED `2.75rem` control floor (the
318
+ Gate-1 Q6 fixed value — NOT a range) with COMPACT-tight chrome (the tightest
319
+ padding/gap/tile-pad, distinct from `spacious`'s LOOSE chrome at the SAME
320
+ 2.75rem control). It closes the dock-oversize chronic (speedtest A-9): a
321
+ consumer opts into a dense, proportioned instrument strip — `2.75rem` control,
322
+ compact chrome, the label tracking the control by `--dock-label-ratio` (so the
323
+ label never reads OVERSIZE on the tight pill).
324
+
325
+ It is a NAMED preset, NOT a 5th density rung — the density axis stays FOUR rungs
326
+ (`proof:dock-unify`'s density census is unaffected). The preset is a geometry
327
+ OVERRIDE composing WITH a `data-density` base: `[data-preset="cockpit"]` wins the
328
+ control-size/layer-height/chrome by source-order (this block comes AFTER the rungs),
329
+ so a `<GlassDock data-density="comfortable" data-preset="cockpit">` resolves the
330
+ cockpit geometry. An ancestor `[data-preset="cockpit"]` scope re-declares these
331
+ tokens too (the substitution-vs-inheritance discipline) so descendant docks inherit.
332
+
333
+ The control floor rides the SAME `* var(--dock-scale)` thread + the `max(…,
334
+ --dock-control-floor)` WCAG 2.5.5 clamp as the rungs — the cockpit is tight, but
335
+ the coarse-pointer touch target NEVER drops below the 44px floor. */
336
+ .glass-dock[data-preset="cockpit"] {
337
+ /* The FIXED 2.75rem control floor (Q6) — the cockpit register, riding
338
+ `--dock-scale` + the 44px clamp. NOT a `clamp(2.5rem, …, 3rem)` range. */
339
+ --dock-control-size: max(
340
+ calc(2.75rem * var(--dock-scale)),
341
+ var(--dock-control-floor, 0px)
342
+ );
343
+ --dock-layer-height: max(
344
+ calc(2.75rem * var(--dock-scale)),
345
+ var(--dock-control-floor, 0px)
346
+ );
347
+ /* The TIGHT chrome — the COMPACT-rung tightness (the cockpit is a dense
348
+ instrument strip, NOT the spacious loosening). This is the distinction
349
+ from `spacious` (same control, LOOSE chrome). */
350
+ --dock-padding-block: calc(
351
+ var(--dock-density-compact-padding-block, 0.25rem) * var(--dock-scale)
352
+ );
353
+ --dock-padding-inline: calc(
354
+ var(--dock-density-compact-padding-inline, 0.375rem) * var(--dock-scale)
355
+ );
356
+ --dock-layer-gap: calc(
357
+ var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale)
358
+ );
359
+ /* BA.W-DOCK-GEOMETRY — the control-plate clearance inset, in lockstep with
360
+ the rungs (the 10%-per-side painted-plate inset). */
361
+ --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1);
362
+ --dock-tile-min: calc(
363
+ var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale)
364
+ );
365
+ --dock-trigger-padding-block: calc(
366
+ var(--dock-density-compact-trigger-padding-block, 0.1875rem) *
367
+ var(--dock-scale)
368
+ );
369
+ --dock-trigger-padding-inline: calc(
370
+ var(--dock-density-compact-trigger-padding-inline, 0.4375rem) *
371
+ var(--dock-scale)
372
+ );
373
+ --dock-tab-padding-block: calc(
374
+ var(--dock-density-compact-tab-padding-block, 0.3125rem) *
375
+ var(--dock-scale)
376
+ );
377
+ --dock-tab-padding-inline: calc(
378
+ var(--dock-density-compact-tab-padding-inline, 0.625rem) *
379
+ var(--dock-scale)
380
+ );
381
+ --dock-tab-h: calc(32px * var(--dock-scale));
382
+ /* The cockpit-tight label ratio — the label reads EVEN tighter relative to
383
+ its control than the `:root` default (the A-9 close). The `dock-label`
384
+ font-size is `calc(--dock-control-size * --dock-label-ratio)`; the cockpit
385
+ tunes the ratio DOWN so a 2.75rem cockpit control carries a label sized for
386
+ the dense strip, not the comfortable-default proportion. */
387
+ --dock-label-ratio: 0.42;
388
+ /* RE-RESOLVE the density-painted glyph tokens against the cockpit
389
+ `--dock-layer-height` (the same substitution-vs-inheritance trap the
390
+ `.glass-dock[data-density]` re-resolve below fixes — a `[data-preset]`
391
+ scope paints its OWN `--dock-layer-height`, so the `:root`-derived glyph
392
+ would freeze at the fallback). Identical formula to the density re-resolve;
393
+ only the resolution element moves so the cockpit height flows into the glyph. */
394
+ --dock-icon-glyph: max(
395
+ calc(var(--dock-layer-height) * var(--dock-icon-glyph-ratio)),
396
+ var(--dock-icon-glyph-floor)
397
+ );
398
+ --dock-control-glyph-size: var(--dock-icon-glyph);
399
+ }
400
+
249
401
  /* BB.W-PERF-PRODUCER A′-6 — RE-RESOLVE the glyph token inside the density-painted
250
402
  scope. `--dock-icon-glyph` (offsets-sizing.css) is a RATIO of
251
403
  `--dock-layer-height`, but density.css paints `--dock-layer-height` ONLY on
@@ -265,6 +417,15 @@
265
417
  calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)),
266
418
  var(--dock-icon-glyph-floor)
267
419
  );
420
+ /* BC.W-DOCK-ENGINE move 3 (the Atlas A-9 fold) — RE-RESOLVE the in-dock
421
+ control-glyph knob against the density-painted `--dock-icon-glyph` (the
422
+ same substitution-vs-inheritance trap as the glyph above: a `:root`-only
423
+ `--dock-control-glyph-size` would freeze at the `:root` glyph while
424
+ `--dock-icon-glyph` lifts per density). Re-declaring it HERE keeps the
425
+ docked dark-toggle glyph + its inset pad on the density axis with the nav
426
+ glyphs. Identical to the `:root` default; only the resolution element
427
+ moves so the density-painted glyph flows in. */
428
+ --dock-control-glyph-size: var(--dock-icon-glyph);
268
429
  }
269
430
 
270
431
  /* Density-audacious narrow-box carve (AV.W16 TW3) — when the dock's OWN