@mkbabb/glass-ui 5.0.0 → 7.0.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 (1048) hide show
  1. package/README.md +61 -56
  2. package/dist/DropdownMenuTrigger-ClIq8RJE.js +93 -0
  3. package/dist/FeedbackMark-DZq5001h.js +23 -0
  4. package/dist/Input-9BlLluik.js +77 -0
  5. package/dist/PagerDots-BEq0MgtH.js +311 -0
  6. package/dist/Surface-kFQeYrYv.js +82 -0
  7. package/dist/accent-tone-solve-Cw7WkRD9.js +14 -0
  8. package/dist/animated-digit.js +5 -5
  9. package/dist/asElement-CRnm6A2v.js +9 -0
  10. package/dist/aurora.js +858 -793
  11. package/dist/axes.js +25 -14
  12. package/dist/badge-u65NClWn.js +62 -0
  13. package/dist/badge.js +1 -1
  14. package/dist/blob-config.d.ts +0 -4
  15. package/dist/blob-config.js +1 -1
  16. package/dist/blob.js +490 -424
  17. package/dist/button-Bu9F4uU6.js +98 -0
  18. package/dist/button.js +2 -2
  19. package/dist/canvas.js +1 -1
  20. package/dist/card-Bk96VI2R.js +234 -0
  21. package/dist/card.js +2 -2
  22. package/dist/carousel.d.ts +1 -2
  23. package/dist/carousel.js +109 -238
  24. package/dist/chip-DFZQr6rV.js +129 -0
  25. package/dist/chip.d.ts +0 -9
  26. package/dist/chip.js +2 -81
  27. package/dist/{class-names-5jotTFzp.js → class-names-Cpy5eaBk.js} +11 -4
  28. package/dist/collapsible-BAP95XTt.js +154 -0
  29. package/dist/collapsible.js +1 -1
  30. package/dist/color.js +83 -3
  31. package/dist/{procedural-color.wgsl-ByduxnzV.js → color.wgsl-Ct5o9dpf.js} +410 -3
  32. package/dist/command-SFqDQ65h.js +320 -0
  33. package/dist/command.js +1 -1
  34. package/dist/completion-seal.js +72 -63
  35. package/dist/components/_shared/FeedbackMark.vue.d.ts +11 -0
  36. package/dist/components/_shared/axes.d.ts +9 -3
  37. package/dist/components/_shared/class-names.d.ts +9 -8
  38. package/dist/components/_shared/control-size.d.ts +2 -0
  39. package/dist/components/_shared/disclosure-context.d.ts +7 -0
  40. package/dist/components/_shared/disclosure.css +1 -0
  41. package/dist/components/_shared/feedback.d.ts +7 -0
  42. package/dist/components/_shared/field-control.css +1 -0
  43. package/dist/components/_shared/field-surfaces.css +1 -0
  44. package/dist/components/_shared/fieldControl.d.ts +13 -0
  45. package/dist/components/_shared/floating.d.ts +14 -0
  46. package/dist/components/_shared/index.d.ts +2 -6
  47. package/dist/components/_shared/interaction.d.ts +23 -0
  48. package/dist/components/_shared/menu.css +1 -0
  49. package/dist/components/_shared/menuRowClass.d.ts +2 -0
  50. package/dist/components/_shared/primitive.d.ts +19 -0
  51. package/dist/components/_shared/resolveSurfaceClass.d.ts +3 -0
  52. package/dist/components/_shared/selection.d.ts +7 -0
  53. package/dist/components/_shared/useMotionAxis.d.ts +5 -4
  54. package/dist/components/_shared/valueDomain.d.ts +6 -0
  55. package/dist/components/accordion/Accordion.vue.d.ts +41 -16
  56. package/dist/components/accordion/AccordionContent.vue.d.ts +11 -9
  57. package/dist/components/accordion/AccordionItem.vue.d.ts +12 -9
  58. package/dist/components/accordion/AccordionTrigger.vue.d.ts +8 -11
  59. package/dist/components/accordion/index.d.ts +4 -4
  60. package/dist/components/alert/Alert.vue.d.ts +9 -5
  61. package/dist/components/alert/index.d.ts +17 -8
  62. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +3 -4
  63. package/dist/components/aurora/Aurora.vue.d.ts +44 -43
  64. package/dist/components/aurora/composables/atoms-fields.d.ts +13 -2
  65. package/dist/components/aurora/composables/atoms.d.ts +52 -50
  66. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +13 -13
  67. package/dist/components/aurora/composables/auroraImageSource.d.ts +4 -5
  68. package/dist/components/aurora/composables/color.d.ts +15 -20
  69. package/dist/components/aurora/composables/frameLoop.d.ts +14 -11
  70. package/dist/components/aurora/composables/glSetup.d.ts +19 -2
  71. package/dist/components/aurora/composables/runtime.d.ts +58 -60
  72. package/dist/components/aurora/composables/uniformBridge.d.ts +9 -14
  73. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +21 -22
  74. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +13 -13
  75. package/dist/components/aurora/composables/useAurora.d.ts +21 -30
  76. package/dist/components/aurora/composables/wgpuSetup.d.ts +10 -8
  77. package/dist/components/aurora/constants/budget.d.ts +12 -25
  78. package/dist/components/aurora/constants/presets.d.ts +47 -58
  79. package/dist/components/aurora/constants/renderMode.d.ts +21 -36
  80. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +1 -1
  81. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -1
  82. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  83. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  84. package/dist/components/aurora/constants/shaders/composition.glsl.d.ts +1 -1
  85. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -1
  86. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -2
  87. package/dist/components/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -1
  88. package/dist/components/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -1
  89. package/dist/components/aurora/index.d.ts +2 -1
  90. package/dist/components/avatar/Avatar.vue.d.ts +72 -11
  91. package/dist/components/avatar/AvatarFallback.vue.d.ts +1 -2
  92. package/dist/components/avatar/AvatarImage.vue.d.ts +12 -6
  93. package/dist/components/avatar/index.d.ts +3 -9
  94. package/dist/components/avatar/styles.css +1 -0
  95. package/dist/components/badge/Badge.vue.d.ts +2 -9
  96. package/dist/components/badge/index.d.ts +32 -9
  97. package/dist/components/blob/Blob.vue.d.ts +16 -12
  98. package/dist/components/blob/composables/blobSimulation.d.ts +80 -0
  99. package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
  100. package/dist/components/blob/composables/resolveBlobSurface.d.ts +6 -0
  101. package/dist/components/blob/composables/satelliteKinematics.d.ts +3 -3
  102. package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +1 -1
  103. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +4 -31
  104. package/dist/components/blob/composables/useBlobMood.d.ts +5 -5
  105. package/dist/components/blob/composables/useBlobPointer.d.ts +11 -12
  106. package/dist/components/blob/composables/useMetaballRenderer.d.ts +29 -24
  107. package/dist/components/blob/composables/wgpuSetup.d.ts +7 -5
  108. package/dist/components/blob/config.d.ts +1 -1
  109. package/dist/components/blob/index.d.ts +2 -2
  110. package/dist/components/blob/presets.d.ts +2 -2
  111. package/dist/components/blob/shaders/metaball-palette.wgsl.d.ts +1 -1
  112. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  113. package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -1
  114. package/dist/components/blob/shaders/sdf-body.glsl.d.ts +1 -1
  115. package/dist/components/blob/shaders/watercolor-edges.glsl.d.ts +1 -1
  116. package/dist/components/blob/types.d.ts +28 -60
  117. package/dist/components/button/Button.vue.d.ts +27 -19
  118. package/dist/components/button/index.d.ts +1 -9
  119. package/dist/components/button/styles.css +1 -0
  120. package/dist/components/card/Card.vue.d.ts +20 -155
  121. package/dist/components/card/CardAction.vue.d.ts +0 -7
  122. package/dist/components/card/CardContent.vue.d.ts +2 -2
  123. package/dist/components/card/CardDescription.vue.d.ts +2 -2
  124. package/dist/components/card/CardFooter.vue.d.ts +2 -2
  125. package/dist/components/card/CardHeader.vue.d.ts +3 -42
  126. package/dist/components/card/CardTitle.vue.d.ts +6 -3
  127. package/dist/components/card/card-scroll.css +1 -0
  128. package/dist/components/card/index.d.ts +1 -3
  129. package/dist/components/card/styles.css +1 -0
  130. package/dist/components/carousel/Carousel.vue.d.ts +2 -2
  131. package/dist/components/carousel/index.d.ts +0 -3
  132. package/dist/components/carousel/interface.d.ts +2 -0
  133. package/dist/components/carousel/useCarousel.d.ts +2 -2
  134. package/dist/components/checkbox/Checkbox.vue.d.ts +17 -9
  135. package/dist/components/checkbox/index.d.ts +1 -1
  136. package/dist/components/checkbox/styles.css +1 -0
  137. package/dist/components/chip/Chip.vue.d.ts +12 -7
  138. package/dist/components/chip/chipVariants.d.ts +20 -43
  139. package/dist/components/chip/index.d.ts +1 -1
  140. package/dist/components/chip/types.d.ts +45 -30
  141. package/dist/components/collapsible/Collapsible.vue.d.ts +22 -9
  142. package/dist/components/collapsible/CollapsibleContent.vue.d.ts +11 -5
  143. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +12 -9
  144. package/dist/components/collapsible/index.d.ts +3 -3
  145. package/dist/components/combobox/Combobox.vue.d.ts +10 -20
  146. package/dist/components/combobox/ComboboxAnchor.vue.d.ts +2 -6
  147. package/dist/components/combobox/ComboboxEmpty.vue.d.ts +2 -6
  148. package/dist/components/combobox/ComboboxGroup.vue.d.ts +2 -7
  149. package/dist/components/combobox/ComboboxInput.vue.d.ts +7 -12
  150. package/dist/components/combobox/ComboboxItem.vue.d.ts +7 -11
  151. package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +2 -6
  152. package/dist/components/combobox/ComboboxList.vue.d.ts +14 -17
  153. package/dist/components/combobox/ComboboxTrigger.vue.d.ts +16 -0
  154. package/dist/components/combobox/index.d.ts +2 -3
  155. package/dist/components/combobox/types.d.ts +87 -0
  156. package/dist/components/command/Command.vue.d.ts +9 -23
  157. package/dist/components/command/CommandDialog.vue.d.ts +8 -10
  158. package/dist/components/command/CommandEmpty.vue.d.ts +2 -6
  159. package/dist/components/command/CommandGroup.vue.d.ts +2 -7
  160. package/dist/components/command/CommandInput.vue.d.ts +6 -7
  161. package/dist/components/command/CommandItem.vue.d.ts +7 -11
  162. package/dist/components/command/CommandList.vue.d.ts +12 -19
  163. package/dist/components/command/CommandSeparator.vue.d.ts +2 -6
  164. package/dist/components/command/CommandShortcut.vue.d.ts +2 -2
  165. package/dist/components/command/dialogContext.d.ts +6 -0
  166. package/dist/components/command/index.d.ts +10 -10
  167. package/dist/components/command/styles.css +1 -0
  168. package/dist/components/command/types.d.ts +27 -0
  169. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +2 -2
  170. package/dist/components/completion-seal/constants.d.ts +2 -2
  171. package/dist/components/completion-seal/styles.css +1 -0
  172. package/dist/components/configurator/Configurator.vue.d.ts +6 -6
  173. package/dist/components/configurator/ConfiguratorLayer.vue.d.ts +14 -18
  174. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +14 -17
  175. package/dist/components/configurator/size.d.ts +5 -7
  176. package/dist/components/configurator/styles.css +1 -0
  177. package/dist/components/constellation/Constellation.vue.d.ts +7 -2
  178. package/dist/components/constellation/composables/createConstellationField.d.ts +2 -2
  179. package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
  180. package/dist/components/constellation/constants.d.ts +14 -24
  181. package/dist/components/constellation/constellationField.d.ts +8 -11
  182. package/dist/components/constellation/constellationInteraction.d.ts +9 -9
  183. package/dist/components/constellation/constellationRender.d.ts +11 -21
  184. package/dist/components/constellation/constellationTypes.d.ts +64 -62
  185. package/dist/components/constellation/constellationWell.d.ts +2 -2
  186. package/dist/components/constellation/index.d.ts +1 -1
  187. package/dist/components/dark-mode-toggle/DarkModeToggle.vue.d.ts +12 -0
  188. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -0
  189. package/dist/components/dark-mode-toggle/index.d.ts +2 -0
  190. package/dist/components/data-table/DataTable.vue.d.ts +12 -48
  191. package/dist/components/data-table/composables/useDataTableRowIdentity.d.ts +5 -23
  192. package/dist/components/data-table/index.d.ts +1 -2
  193. package/dist/components/data-table/styles.css +1 -0
  194. package/dist/components/data-table/types.d.ts +36 -13
  195. package/dist/components/deck/constants.d.ts +0 -10
  196. package/dist/components/deck/index.d.ts +0 -2
  197. package/dist/components/dialog/Dialog.vue.d.ts +8 -3
  198. package/dist/components/dialog/DialogClose.vue.d.ts +3 -1
  199. package/dist/components/dialog/DialogContent.vue.d.ts +28 -85
  200. package/dist/components/dialog/DialogDescription.vue.d.ts +5 -6
  201. package/dist/components/dialog/DialogTitle.vue.d.ts +5 -6
  202. package/dist/components/dialog/DialogTrigger.vue.d.ts +3 -1
  203. package/dist/components/dialog/ModalOverlay.vue.d.ts +45 -0
  204. package/dist/components/dialog/dialogStageContext.d.ts +7 -0
  205. package/dist/components/dialog/index.d.ts +8 -9
  206. package/dist/components/dialog/placement.css +1 -0
  207. package/dist/components/dialog/sheet-motion.d.ts +17 -0
  208. package/dist/components/dock/DockControl.vue.d.ts +13 -16
  209. package/dist/components/dock/DockCrossfade.vue.d.ts +4 -8
  210. package/dist/components/dock/DockLayer.vue.d.ts +2 -3
  211. package/dist/components/dock/DockLayerGroup.vue.d.ts +6 -6
  212. package/dist/components/dock/DockSeparator.vue.d.ts +8 -8
  213. package/dist/components/dock/GlassDock.vue.d.ts +1 -0
  214. package/dist/components/dock/composables/dockContext.d.ts +4 -14
  215. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +6 -7
  216. package/dist/components/dock/composables/dockMorphMeasure.d.ts +6 -75
  217. package/dist/components/dock/composables/index.d.ts +1 -1
  218. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +5 -1
  219. package/dist/components/dock/composables/useDockHold.d.ts +4 -5
  220. package/dist/components/dock/composables/useDockMorph.d.ts +26 -0
  221. package/dist/components/dock/composables/useDockOverflowFit.d.ts +7 -9
  222. package/dist/components/dock/composables/useDockSearch.d.ts +8 -8
  223. package/dist/components/dock/composables/useDockShellProps.d.ts +53 -43
  224. package/dist/components/dock/composables/useDockSpring.d.ts +7 -11
  225. package/dist/components/dock/composables/useDockState.d.ts +14 -5
  226. package/dist/components/dock/composables/useDockTouchGate.d.ts +14 -23
  227. package/dist/components/dock/constants.d.ts +5 -90
  228. package/dist/components/dock/index.d.ts +2 -6
  229. package/dist/components/dock/styles/adaptive-legibility.css +1 -0
  230. package/dist/components/dock/styles/controls/icon-button.css +1 -0
  231. package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
  232. package/dist/components/dock/styles/controls.css +1 -0
  233. package/dist/components/dock/styles/crossfade.css +1 -0
  234. package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
  235. package/dist/components/dock/styles/dock.css +1 -0
  236. package/dist/components/dock/styles/index.css +1 -0
  237. package/dist/components/dock/styles/layer-group.css +1 -0
  238. package/dist/components/dock/styles/layers.css +1 -0
  239. package/dist/components/dock/styles/morph.css +1 -0
  240. package/dist/components/dock/styles/overflow.css +1 -0
  241. package/dist/components/dock/styles/shape.css +1 -0
  242. package/dist/components/dock/styles/shell.css +1 -0
  243. package/dist/components/drawer/Drawer.vue.d.ts +20 -23
  244. package/dist/components/drawer/DrawerContent.vue.d.ts +15 -16
  245. package/dist/components/drawer/DrawerDescription.vue.d.ts +5 -6
  246. package/dist/components/drawer/DrawerOverlay.vue.d.ts +6 -6
  247. package/dist/components/drawer/DrawerTitle.vue.d.ts +5 -6
  248. package/dist/components/drawer/composables/drawerSnapContext.d.ts +9 -1
  249. package/dist/components/drawer/composables/useDrawerSnap.d.ts +3 -1
  250. package/dist/components/drawer/constants.d.ts +10 -28
  251. package/dist/components/drawer/index.d.ts +13 -15
  252. package/dist/components/drawer/styles.css +1 -0
  253. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +43 -16
  254. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +22 -13
  255. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +28 -19
  256. package/dist/components/dropdown-menu/DropdownMenuGroup.vue.d.ts +6 -4
  257. package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +21 -9
  258. package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +9 -9
  259. package/dist/components/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +13 -6
  260. package/dist/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +18 -11
  261. package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +5 -6
  262. package/dist/components/dropdown-menu/DropdownMenuShortcut.vue.d.ts +7 -8
  263. package/dist/components/dropdown-menu/DropdownMenuSub.vue.d.ts +15 -7
  264. package/dist/components/dropdown-menu/DropdownMenuSubContent.vue.d.ts +24 -17
  265. package/dist/components/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +11 -9
  266. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +18 -5
  267. package/dist/components/dropdown-menu/index.d.ts +15 -16
  268. package/dist/components/dropdown-menu/styles.css +1 -0
  269. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +2 -9
  270. package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
  271. package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
  272. package/dist/components/easing/composables/useEasingPicker.d.ts +8 -7
  273. package/dist/components/easing/constants.d.ts +3 -1
  274. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -25
  275. package/dist/components/expandable-container/styles.css +1 -0
  276. package/dist/components/fading-scroll/FadingScroll.vue.d.ts +4 -0
  277. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +7 -3
  278. package/dist/components/fading-scroll/constants.d.ts +1 -2
  279. package/dist/components/fourier-field/FourierField.vue.d.ts +10 -6
  280. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +1 -1
  281. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +1 -1
  282. package/dist/components/fourier-field/composables/useFourierField.d.ts +6 -5
  283. package/dist/components/fourier-field/constants.d.ts +10 -10
  284. package/dist/components/fourier-field/index.d.ts +3 -3
  285. package/dist/components/fourier-field/presets.d.ts +3 -3
  286. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +2 -2
  287. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
  288. package/dist/components/handmark/HandMark.vue.d.ts +2 -2
  289. package/dist/components/handmark/brush.d.ts +1 -1
  290. package/dist/components/handmark/composables/useHandMark.d.ts +4 -4
  291. package/dist/components/handmark/constants.d.ts +10 -10
  292. package/dist/components/handmark/geometry.d.ts +9 -9
  293. package/dist/components/handmark/index.d.ts +11 -14
  294. package/dist/components/handmark/noise.d.ts +3 -3
  295. package/dist/components/handmark/types.d.ts +2 -2
  296. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +3 -21
  297. package/dist/components/header-ribbon/styles.css +1 -0
  298. package/dist/components/header-ribbon/types.d.ts +5 -2
  299. package/dist/components/index.d.ts +0 -4
  300. package/dist/components/infinite-scroll/composables/types.d.ts +1 -1
  301. package/dist/components/infinite-scroll/index.d.ts +1 -0
  302. package/dist/components/input/Input.vue.d.ts +10 -35
  303. package/dist/components/input/index.d.ts +2 -1
  304. package/dist/components/input/types.d.ts +22 -0
  305. package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +10 -84
  306. package/dist/components/instrument-chassis/index.d.ts +1 -2
  307. package/dist/components/instrument-chassis/styles.css +1 -0
  308. package/dist/components/instrument-chassis/types.d.ts +13 -0
  309. package/dist/components/label/Label.vue.d.ts +9 -14
  310. package/dist/components/label/index.d.ts +1 -1
  311. package/dist/components/labeled-field/LabeledField.vue.d.ts +11 -99
  312. package/dist/components/labeled-field/LabeledInput.vue.d.ts +5 -18
  313. package/dist/components/labeled-field/LabeledSelect.vue.d.ts +12 -18
  314. package/dist/components/labeled-field/LabeledSlider.vue.d.ts +12 -18
  315. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +14 -17
  316. package/dist/components/labeled-field/index.d.ts +1 -0
  317. package/dist/components/labeled-field/types.d.ts +50 -0
  318. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
  319. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +5 -5
  320. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
  321. package/dist/components/liquid-grid/constants.d.ts +6 -7
  322. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +1 -1
  323. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -1
  324. package/dist/components/metric/Metric.vue.d.ts +24 -0
  325. package/dist/components/metric/MetricCell.vue.d.ts +26 -0
  326. package/dist/components/metric/MetricRow.vue.d.ts +22 -0
  327. package/dist/components/metric/MetricStack.vue.d.ts +16 -0
  328. package/dist/components/metric/coalesce-metric.d.ts +7 -28
  329. package/dist/components/metric/index.d.ts +5 -0
  330. package/dist/components/metric/styles.css +1 -0
  331. package/dist/components/metric/types.d.ts +32 -0
  332. package/dist/components/number-field/NumberField.vue.d.ts +21 -9
  333. package/dist/components/number-field/NumberFieldContent.vue.d.ts +2 -2
  334. package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +6 -6
  335. package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +6 -6
  336. package/dist/components/number-field/NumberFieldInput.vue.d.ts +1 -6
  337. package/dist/components/number-field/context.d.ts +6 -0
  338. package/dist/components/number-field/index.d.ts +5 -5
  339. package/dist/components/number-field/styles.css +1 -0
  340. package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
  341. package/dist/components/pager-dots/constants.d.ts +1 -2
  342. package/dist/components/pager-dots/index.d.ts +0 -2
  343. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +1 -14
  344. package/dist/components/paper-backdrop/index.d.ts +1 -1
  345. package/dist/components/popover/Popover.vue.d.ts +24 -36
  346. package/dist/components/popover/PopoverContent.vue.d.ts +23 -29
  347. package/dist/components/popover/PopoverTrigger.vue.d.ts +12 -7
  348. package/dist/components/popover/index.d.ts +3 -3
  349. package/dist/components/popover/popoverContext.d.ts +3 -4
  350. package/dist/components/progress/Progress.vue.d.ts +6 -49
  351. package/dist/components/progress/index.d.ts +1 -5
  352. package/dist/components/progress/types.d.ts +19 -0
  353. package/dist/components/pulse/Pulse.vue.d.ts +8 -47
  354. package/dist/components/pulse/index.d.ts +1 -0
  355. package/dist/components/radio-group/RadioGroup.vue.d.ts +27 -15
  356. package/dist/components/radio-group/RadioGroupItem.vue.d.ts +9 -6
  357. package/dist/components/radio-group/index.d.ts +2 -0
  358. package/dist/components/radio-group/styles.css +1 -0
  359. package/dist/components/scroll-progress-rim/styles.css +1 -0
  360. package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
  361. package/dist/components/search/SearchBar.vue.d.ts +3 -3
  362. package/dist/components/search/searchVariants.d.ts +15 -17
  363. package/dist/components/select/Select.vue.d.ts +25 -14
  364. package/dist/components/select/SelectContent.vue.d.ts +26 -29
  365. package/dist/components/select/SelectGroup.vue.d.ts +7 -11
  366. package/dist/components/select/SelectItem.vue.d.ts +24 -13
  367. package/dist/components/select/SelectLabel.vue.d.ts +7 -11
  368. package/dist/components/select/SelectScrollDownButton.vue.d.ts +3 -4
  369. package/dist/components/select/SelectScrollUpButton.vue.d.ts +3 -4
  370. package/dist/components/select/SelectSeparator.vue.d.ts +5 -6
  371. package/dist/components/select/SelectTrigger.vue.d.ts +15 -41
  372. package/dist/components/select/SelectValue.vue.d.ts +13 -7
  373. package/dist/components/select/index.d.ts +16 -10
  374. package/dist/components/separator/Separator.vue.d.ts +11 -6
  375. package/dist/components/separator/index.d.ts +1 -1
  376. package/dist/components/skeleton/Skeleton.vue.d.ts +3 -31
  377. package/dist/components/slider/Slider.vue.d.ts +10 -35
  378. package/dist/components/slider/index.d.ts +1 -45
  379. package/dist/components/slider/types.d.ts +25 -0
  380. package/dist/components/sortable-list/SortableList.vue.d.ts +1 -1
  381. package/dist/components/sortable-list/composables/ghostRenderer.d.ts +1 -1
  382. package/dist/components/sortable-list/composables/touchGate.d.ts +1 -1
  383. package/dist/components/sortable-list/composables/transitionTiming.d.ts +1 -1
  384. package/dist/components/status-dot/StatusDot.vue.d.ts +7 -10
  385. package/dist/components/status-dot/index.d.ts +1 -0
  386. package/dist/components/surface/Surface.vue.d.ts +13 -21
  387. package/dist/components/surface/index.d.ts +2 -2
  388. package/dist/components/switch/Switch.vue.d.ts +20 -11
  389. package/dist/components/switch/index.d.ts +2 -1
  390. package/dist/components/switch/styles.css +1 -0
  391. package/dist/components/table/Table.vue.d.ts +5 -1
  392. package/dist/components/tabs/SegmentedTabs.vue.d.ts +31 -13
  393. package/dist/components/tabs/composables/useTabDragMorph.d.ts +6 -6
  394. package/dist/components/tabs/composables/useTabResponsive.d.ts +5 -6
  395. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +16 -16
  396. package/dist/components/tabs/constants.d.ts +1 -1
  397. package/dist/components/tabs/index.d.ts +1 -1
  398. package/dist/components/tabs/styles/drag.css +1 -0
  399. package/dist/components/tabs/styles/segmented.css +1 -0
  400. package/dist/components/tags-input/TagsInput.vue.d.ts +28 -15
  401. package/dist/components/tags-input/TagsInputInput.vue.d.ts +8 -6
  402. package/dist/components/tags-input/TagsInputItem.vue.d.ts +9 -8
  403. package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +5 -6
  404. package/dist/components/tags-input/TagsInputItemText.vue.d.ts +5 -6
  405. package/dist/components/tags-input/context.d.ts +5 -0
  406. package/dist/components/tags-input/index.d.ts +5 -5
  407. package/dist/components/tags-input/styles.css +1 -0
  408. package/dist/components/textarea/Textarea.vue.d.ts +10 -55
  409. package/dist/components/textarea/index.d.ts +2 -1
  410. package/dist/components/textarea/types.d.ts +22 -0
  411. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +2 -4
  412. package/dist/components/timeline/ContinuousRail.vue.d.ts +3 -6
  413. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +11 -12
  414. package/dist/components/timeline/GlassTimeline.vue.d.ts +9 -10
  415. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +4 -4
  416. package/dist/components/timeline/SegmentedTimeline.vue.d.ts +2 -3
  417. package/dist/components/timeline/geometry.d.ts +3 -4
  418. package/dist/components/timeline/types.d.ts +3 -3
  419. package/dist/components/toast/Toast.vue.d.ts +38 -80
  420. package/dist/components/toast/ToastAction.vue.d.ts +5 -5
  421. package/dist/components/toast/ToastClose.vue.d.ts +4 -5
  422. package/dist/components/toast/ToastDescription.vue.d.ts +4 -5
  423. package/dist/components/toast/ToastTitle.vue.d.ts +4 -5
  424. package/dist/components/toast/Toaster.vue.d.ts +1 -1
  425. package/dist/components/toast/index.d.ts +8 -9
  426. package/dist/components/toast/use-toast.d.ts +20 -163
  427. package/dist/components/toggle-group/ToggleGroup.vue.d.ts +44 -22
  428. package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +11 -9
  429. package/dist/components/toggle-group/index.d.ts +3 -2
  430. package/dist/components/toggle-group/styles.css +1 -0
  431. package/dist/components/toggle-group/toggleGroupContext.d.ts +4 -15
  432. package/dist/components/tooltip/Tooltip.vue.d.ts +20 -7
  433. package/dist/components/tooltip/TooltipContent.vue.d.ts +20 -12
  434. package/dist/components/tooltip/TooltipProvider.vue.d.ts +12 -5
  435. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +12 -5
  436. package/dist/components/tooltip/index.d.ts +4 -4
  437. package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
  438. package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -1
  439. package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
  440. package/dist/components/typewriter/utils/timing.d.ts +0 -2
  441. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +5 -18
  442. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +1 -4
  443. package/dist/composables/color/accent-tone-solve.d.ts +2 -5
  444. package/dist/composables/color/index.d.ts +31 -38
  445. package/dist/composables/color/useAccentTone.d.ts +0 -3
  446. package/dist/composables/color/value.d.ts +21 -0
  447. package/dist/composables/context/createContext.d.ts +2 -2
  448. package/dist/composables/dark/index.d.ts +1 -1
  449. package/dist/composables/dark/useGlobalDark.d.ts +7 -6
  450. package/dist/composables/dom/useBreakpoint.d.ts +2 -2
  451. package/dist/composables/dom/useClipboard.d.ts +28 -52
  452. package/dist/composables/dom/useDocumentVisibility.d.ts +3 -1
  453. package/dist/composables/dom/useIdleReady.d.ts +5 -6
  454. package/dist/composables/dom/useTokenColor.d.ts +2 -2
  455. package/dist/composables/dom/useUserInvalidAria.d.ts +2 -3
  456. package/dist/composables/dom/useViewportReady.d.ts +4 -4
  457. package/dist/composables/glass/backdropLuminanceSample.d.ts +7 -6
  458. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +7 -1
  459. package/dist/composables/glass/textureUpload.d.ts +8 -10
  460. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +42 -19
  461. package/dist/composables/glass/useSpecularPointer.d.ts +6 -6
  462. package/dist/composables/glass/useSpecularTracking.d.ts +12 -15
  463. package/dist/composables/glass/wave/waveField.d.ts +2 -2
  464. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
  465. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
  466. package/dist/composables/glass/webgl/backingSize.d.ts +5 -8
  467. package/dist/composables/glass/webgl/compile.d.ts +1 -1
  468. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +20 -20
  469. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -28
  470. package/dist/composables/glass/webgl/visibility.d.ts +3 -4
  471. package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
  472. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +13 -10
  473. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +1 -1
  474. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +14 -10
  475. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +15 -16
  476. package/dist/composables/motion/core/asElement.d.ts +2 -0
  477. package/dist/composables/motion/{constants.d.ts → core/constants.d.ts} +2 -3
  478. package/dist/composables/motion/core/index.d.ts +20 -23
  479. package/dist/composables/motion/core/useReducedMotion.d.ts +5 -0
  480. package/dist/composables/motion/core/useViewTransition.d.ts +44 -0
  481. package/dist/composables/motion/index.d.ts +14 -16
  482. package/dist/composables/motion/{useDockCtaReceive.d.ts → morph/useDockCtaReceive.d.ts} +57 -3
  483. package/dist/composables/motion/{useDragMorph.d.ts → morph/useDragMorph.d.ts} +7 -7
  484. package/dist/composables/motion/morph/useElementMorph.d.ts +50 -0
  485. package/dist/composables/motion/{useLeadTrail.d.ts → morph/useLeadTrail.d.ts} +6 -6
  486. package/dist/composables/motion/{useSelectionGroup.d.ts → morph/useSelectionGroup.d.ts} +7 -5
  487. package/dist/composables/motion/{useSelectionIndicator.d.ts → morph/useSelectionIndicator.d.ts} +9 -16
  488. package/dist/composables/motion/{useAnimatedNumber.d.ts → number/useAnimatedNumber.d.ts} +1 -6
  489. package/dist/composables/motion/{useCountup.d.ts → number/useCountup.d.ts} +1 -6
  490. package/dist/composables/motion/{useNumericTransition.d.ts → number/useNumericTransition.d.ts} +4 -2
  491. package/dist/composables/motion/{pointerFieldMappings.d.ts → pointer/pointerFieldMappings.d.ts} +7 -10
  492. package/dist/composables/motion/{usePointerVelocityField.d.ts → pointer/usePointerVelocityField.d.ts} +1 -1
  493. package/dist/composables/motion/{bloomUpField.d.ts → reveal/bloomUpField.d.ts} +1 -1
  494. package/dist/composables/motion/reveal/useBloomUp.d.ts +33 -0
  495. package/dist/composables/motion/{useLiquidReveal.d.ts → reveal/useLiquidReveal.d.ts} +5 -5
  496. package/dist/composables/motion/{useStagger.d.ts → reveal/useStagger.d.ts} +3 -3
  497. package/dist/composables/motion/reveal/useStaggerReveal.d.ts +28 -0
  498. package/dist/composables/motion/{useTextHighlight.d.ts → reveal/useTextHighlight.d.ts} +2 -1
  499. package/dist/composables/motion/{useScrollChrome.d.ts → scroll/useScrollChrome.d.ts} +2 -2
  500. package/dist/composables/motion/{useScrollProgress.d.ts → scroll/useScrollProgress.d.ts} +12 -2
  501. package/dist/composables/motion/{springPresets.d.ts → spring/springPresets.d.ts} +8 -7
  502. package/dist/composables/motion/spring/springProjection.d.ts +19 -0
  503. package/dist/composables/motion/{useLiquidFlex.d.ts → spring/useLiquidFlex.d.ts} +11 -12
  504. package/dist/composables/motion/{useLiquidPress.d.ts → spring/useLiquidPress.d.ts} +15 -7
  505. package/dist/composables/motion/{useSpring.d.ts → spring/useSpring.d.ts} +5 -2
  506. package/dist/composables/motion/{useSpringMount.d.ts → spring/useSpringMount.d.ts} +8 -1
  507. package/dist/composables/sidebar/types.d.ts +3 -3
  508. package/dist/configurator-M5OaIlJd.js +311 -0
  509. package/dist/configurator.js +2 -3
  510. package/dist/{constants-D8lSMkOz.js → constants-nBz23tJE.js} +1 -1
  511. package/dist/constellation.js +230 -565
  512. package/dist/createCanvasLifecycle-DbXRwjU_.js +214 -0
  513. package/dist/dark-mode-toggle.d.ts +1 -0
  514. package/dist/dark-mode-toggle.js +43 -0
  515. package/dist/dark-z_P5QwqI.js +70 -0
  516. package/dist/dark.d.ts +1 -2
  517. package/dist/dark.js +2 -20
  518. package/dist/data-table-BygKg6ZA.js +491 -0
  519. package/dist/data-table.js +2 -2
  520. package/dist/deck.js +12 -23
  521. package/dist/dialog-TNRDkcE4.js +385 -0
  522. package/dist/dialog.js +2 -3
  523. package/dist/dock.js +624 -908
  524. package/dist/dockContext-BUTlGRNJ.js +13 -0
  525. package/dist/dom.js +134 -7
  526. package/dist/drawer.js +291 -193
  527. package/dist/dropdown-menu-BlbnvMaZ.js +507 -0
  528. package/dist/dropdown-menu.js +3 -2
  529. package/dist/easing.d.ts +0 -9
  530. package/dist/easing.js +385 -222
  531. package/dist/expandable-container.js +107 -85
  532. package/dist/fading-scroll-DhxXIhm2.js +96 -0
  533. package/dist/fading-scroll.js +1 -1
  534. package/dist/field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js +21 -0
  535. package/dist/floating-dB5TD88k.js +7 -0
  536. package/dist/{flow.glsl-CVqPSj8_.js → flow.wgsl-Cd2GUkPx.js} +2 -2
  537. package/dist/fonts/README.md +14 -18
  538. package/dist/forms.js +268 -204
  539. package/dist/fourier-field.js +298 -288
  540. package/dist/fourier-math.d.ts +0 -6
  541. package/dist/fourier-math.js +112 -2
  542. package/dist/glass-ui.css +1 -1
  543. package/dist/glass-ui.js +512 -437
  544. package/dist/handmark.d.ts +0 -2
  545. package/dist/handmark.js +84 -84
  546. package/dist/header-ribbon.js +37 -57
  547. package/dist/index.d.ts +9 -19
  548. package/dist/infinite-scroll.d.ts +0 -1
  549. package/dist/infinite-scroll.js +39 -34
  550. package/dist/instrument-chassis.js +54 -2
  551. package/dist/keyboard.js +104 -2
  552. package/dist/label-DnMqH7jr.js +55 -0
  553. package/dist/label.js +1 -1
  554. package/dist/labeled-field.js +295 -192
  555. package/dist/liquid-grid.js +199 -198
  556. package/dist/menuRowClass-Nh7CtMON.js +12 -0
  557. package/dist/metric.d.ts +1 -0
  558. package/dist/metric.js +192 -0
  559. package/dist/motion-core.js +73 -166
  560. package/dist/motion.js +111 -167
  561. package/dist/number-field-Boe09SvX.js +154 -0
  562. package/dist/number-field.js +1 -1
  563. package/dist/pager-dots.js +2 -2
  564. package/dist/paper-backdrop.js +23 -2
  565. package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-DP5tla5z.js} +4 -7
  566. package/dist/popover-BQGYXZyO.js +244 -0
  567. package/dist/popover.js +1 -1
  568. package/dist/{presets-B07HzyKd.js → presets-5myqNv59.js} +1 -1
  569. package/dist/primitive-B2t2jdqM.js +11 -0
  570. package/dist/progress-DClbhRAT.js +88 -0
  571. package/dist/progress.js +2 -2
  572. package/dist/pulse.js +29 -41
  573. package/dist/reactive.js +19 -3
  574. package/dist/rendererStatus-BxUlBLVy.js +40 -0
  575. package/dist/resolveCanvasColor-DS_6DBxA.js +82 -0
  576. package/dist/resolveSurfaceClass-DCZ4PZcy.js +6 -0
  577. package/dist/scroll-progress-rim.js +1 -1
  578. package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-Brf5cQNo.js} +1 -1
  579. package/dist/search.js +287 -218
  580. package/dist/select-BcBAyLXA.js +336 -0
  581. package/dist/select.js +2 -4
  582. package/dist/selection-DqIULxRG.js +6 -0
  583. package/dist/separator-CgZInrX-.js +75 -0
  584. package/dist/separator.js +1 -1
  585. package/dist/sidebar.js +53 -42
  586. package/dist/slider-DzqeQmMu.js +162 -0
  587. package/dist/slider.js +2 -2
  588. package/dist/sortable-list.js +51 -50
  589. package/dist/springPresets-rCii5KqX.js +52 -0
  590. package/dist/status-dot.js +26 -43
  591. package/dist/styles/accessibility.css +1 -0
  592. package/dist/styles/animations.css +1 -1
  593. package/dist/styles/components.css +1 -1
  594. package/dist/styles/glass/a11y-fallback.css +1 -1
  595. package/dist/styles/glass/accent-tone.css +1 -1
  596. package/dist/styles/glass/control-surfaces.css +1 -1
  597. package/dist/styles/glass/defined.css +1 -1
  598. package/dist/styles/glass/glass-atom.css +1 -1
  599. package/dist/styles/glass/glass-capsule.css +1 -1
  600. package/dist/styles/glass/glass-chip.css +1 -1
  601. package/dist/styles/glass/ladder.css +1 -1
  602. package/dist/styles/glass/liquid-fill.css +1 -1
  603. package/dist/styles/glass/material-roles.css +1 -0
  604. package/dist/styles/glass/material.css +1 -1
  605. package/dist/styles/glass/reveal.css +1 -1
  606. package/dist/styles/glass/squircle.css +1 -1
  607. package/dist/styles/glass/surface-axis.css +1 -1
  608. package/dist/styles/glass/surfaces-pager.css +1 -1
  609. package/dist/styles/glass/surfaces.css +1 -1
  610. package/dist/styles/glass-refract.css +1 -1
  611. package/dist/styles/glass.css +1 -1
  612. package/dist/styles/index.css +1 -1
  613. package/dist/styles/paper.css +1 -1
  614. package/dist/styles/scroll-driven.css +1 -1
  615. package/dist/styles/theme/bridges.css +1 -1
  616. package/dist/styles/theme/radius.css +1 -1
  617. package/dist/styles/tokens/color-radius.css +1 -1
  618. package/dist/styles/tokens/dark-arm.css +1 -1
  619. package/dist/styles/tokens/glass-deep.css +1 -1
  620. package/dist/styles/tokens/glass-fx.css +1 -1
  621. package/dist/styles/tokens/glass.css +1 -1
  622. package/dist/styles/tokens/light-dark.css +1 -1
  623. package/dist/styles/tokens/manifest.d.ts +14 -0
  624. package/dist/styles/tokens/manifest.ts +56 -0
  625. package/dist/styles/tokens/motion-registers.css +1 -1
  626. package/dist/styles/tokens/offsets.css +1 -1
  627. package/dist/styles/tokens/property-regs-specular.css +1 -1
  628. package/dist/styles/tokens/property-regs.css +1 -1
  629. package/dist/styles/tokens/scale-paper.css +1 -1
  630. package/dist/styles/tokens/scheme-motion.css +1 -1
  631. package/dist/styles/tokens/scheme-spring.css +1 -1
  632. package/dist/styles/tokens/scroll-tokens.css +1 -1
  633. package/dist/styles/tokens/shadow.css +1 -1
  634. package/dist/styles/tokens/sizing-config.css +1 -1
  635. package/dist/styles/tokens/sizing.css +1 -1
  636. package/dist/styles/tokens.d.ts +48 -0
  637. package/dist/styles/tokens.ts +54 -0
  638. package/dist/styles/transitions.css +1 -1
  639. package/dist/styles/typography/scale.css +1 -1
  640. package/dist/styles/typography/semantic.css +1 -1
  641. package/dist/styles/typography/utilities.css +1 -1
  642. package/dist/styles/utilities/a11y-overrides.css +1 -1
  643. package/dist/styles/utilities/base-misc.css +1 -1
  644. package/dist/styles/utilities/base.css +1 -1
  645. package/dist/styles/utilities/btn.css +1 -1
  646. package/dist/styles/utilities/components.css +1 -1
  647. package/dist/styles/utilities/metal.css +1 -1
  648. package/dist/styles/utilities/responsive.css +1 -0
  649. package/dist/styles/utilities.css +1 -1
  650. package/dist/styles/view-transition.css +1 -1
  651. package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-C2zyWpl8.js} +1 -1
  652. package/dist/surface.js +2 -3
  653. package/dist/switch-DZjQuFLa.js +54 -0
  654. package/dist/switch.js +1 -1
  655. package/dist/tabs.js +146 -168
  656. package/dist/timeline.js +86 -87
  657. package/dist/toast-CH5mnsYT.js +267 -0
  658. package/dist/toast.js +1 -1
  659. package/dist/toggle-group-O6jBo7AE.js +150 -0
  660. package/dist/toggle-group.js +1 -1
  661. package/dist/tokens.d.ts +1 -53
  662. package/dist/tokens.js +96 -5
  663. package/dist/tooltip-Drx5qnw_.js +148 -0
  664. package/dist/tooltip.js +1 -1
  665. package/dist/typewriter.js +233 -219
  666. package/dist/{useAccentTone-D25DxviG.js → useAccentTone-DyInfHXE.js} +2 -2
  667. package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-WPtMz0AN.js} +2 -2
  668. package/dist/useClipboard-D36OTaeT.js +53 -0
  669. package/dist/useDockCtaReceive-DkrOTM0q.js +146 -0
  670. package/dist/useDocumentVisibility-Dh_TGXsU.js +21 -0
  671. package/dist/useDragMorph-BogSV_nv.js +293 -0
  672. package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B5mAU6XY.js} +15 -15
  673. package/dist/useLeadTrail-AW1-zZcd.js +74 -0
  674. package/dist/{useLiquidFlex-Ch4exNvN.js → useLiquidFlex-TJZmRqyY.js} +1 -1
  675. package/dist/useLiquidPress-BOxuDkKa.js +101 -0
  676. package/dist/useMotionAxis-D-rtIhca.js +19 -0
  677. package/dist/usePointerVelocityField-DsIf7yyq.js +121 -0
  678. package/dist/useRAFLoop-B3YlWK4M.js +98 -0
  679. package/dist/useReducedMotion-vCXA_vyM.js +27 -0
  680. package/dist/useRoutePointer-B8itM7Ka.js +53 -0
  681. package/dist/useScrollProgress-CSFYXIZT.js +43 -0
  682. package/dist/useScrollTrigger-BDdqptlc.js +87 -0
  683. package/dist/useSelectionGroup-B5XplBbo.js +132 -0
  684. package/dist/{useSpring-BBSKFx_0.js → useSpring-9u2_shxV.js} +2 -2
  685. package/dist/useSpringMount-uQ8QL9Ff.js +74 -0
  686. package/dist/useTabRovingFocus-YnWh-Ytr.js +169 -0
  687. package/dist/useTextHighlight-mfwNIC1f.js +112 -0
  688. package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-B4mzQcHJ.js} +1 -1
  689. package/dist/vSpecular-DMJo8pfD.js +68 -0
  690. package/dist/value-DMhh2R94.js +33 -0
  691. package/dist/valueDomain-SbVzoHMH.js +13 -0
  692. package/dist/watercolor-dot.js +77 -101
  693. package/package.json +166 -242
  694. package/dist/CardAction-2uUvjMQK.js +0 -285
  695. package/dist/CollapsibleContent-DiHcB_HH.js +0 -63
  696. package/dist/CommandShortcut-fmdbsEJL.js +0 -302
  697. package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
  698. package/dist/DataTable-Bxya8nBn.js +0 -518
  699. package/dist/DialogContent-Bl4v10AC.js +0 -192
  700. package/dist/DialogFooter-C0v4Hz2F.js +0 -168
  701. package/dist/FadingScroll-BSRLqQCx.js +0 -76
  702. package/dist/FocusScope-BzKwhsBn.js +0 -23
  703. package/dist/IconChip-CwLmBJ_K.js +0 -57
  704. package/dist/IconTooltip-D9sbK-Mk.js +0 -25
  705. package/dist/Input-DKf-XwUM.js +0 -57
  706. package/dist/InstrumentChassis-Dss5Tjcm.js +0 -65
  707. package/dist/Label-C84TaQiw.js +0 -36
  708. package/dist/Notification-DQv2cOh9.js +0 -43
  709. package/dist/NumberFieldContent-BkE7xPS9.js +0 -140
  710. package/dist/PagerDots-BP6jh7z4.js +0 -279
  711. package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
  712. package/dist/PopoverContent-DOtszFWK.js +0 -251
  713. package/dist/Progress-uWLyXE7J.js +0 -308
  714. package/dist/SelectGroup-BuEptUsa.js +0 -31
  715. package/dist/SelectScrollDownButton-CDtwaWkZ.js +0 -261
  716. package/dist/SelectSeparator-4QGephvr.js +0 -49
  717. package/dist/Separator-DqJ6PfOd.js +0 -44
  718. package/dist/Surface-BWRfwyn8.js +0 -59
  719. package/dist/Switch-BPBfhMU3.js +0 -49
  720. package/dist/Toaster-C_-WeU9W.js +0 -281
  721. package/dist/ToggleGroupItem-DNWx2aSW.js +0 -175
  722. package/dist/TooltipProvider-GtfYdSVf.js +0 -110
  723. package/dist/accent-tone-solve-CBw3L0cy.js +0 -20
  724. package/dist/badge-C0C-rTBu.js +0 -80
  725. package/dist/button-BXzhydVB.js +0 -187
  726. package/dist/coalesce-metric-B8o7zT9u.js +0 -13
  727. package/dist/color-Bp5jmv4Z.js +0 -86
  728. package/dist/color-swatch.d.ts +0 -1
  729. package/dist/color-swatch.js +0 -47
  730. package/dist/components/_shared/ModalOverlay.vue.d.ts +0 -90
  731. package/dist/components/_shared/menuItemVariants.d.ts +0 -51
  732. package/dist/components/_shared/useControlSize.d.ts +0 -46
  733. package/dist/components/_shared/useStalePropWarning.d.ts +0 -27
  734. package/dist/components/_shared/useSurfaceAxis.d.ts +0 -64
  735. package/dist/components/card/ScrollCard.vue.d.ts +0 -33
  736. package/dist/components/card/ScrollCardHeader.vue.d.ts +0 -17
  737. package/dist/components/carousel/CarouselNext.vue.d.ts +0 -21
  738. package/dist/components/carousel/CarouselPrevious.vue.d.ts +0 -21
  739. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
  740. package/dist/components/color-swatch/ColorSwatch.vue.d.ts +0 -22
  741. package/dist/components/color-swatch/index.d.ts +0 -1
  742. package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
  743. package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
  744. package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
  745. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  746. package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
  747. package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
  748. package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
  749. package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
  750. package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
  751. package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -34
  752. package/dist/components/controls/index.d.ts +0 -1
  753. package/dist/components/data-table/DataTablePagination.vue.d.ts +0 -13
  754. package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
  755. package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
  756. package/dist/components/dock/DockSection.vue.d.ts +0 -69
  757. package/dist/components/dock/DockStack.vue.d.ts +0 -73
  758. package/dist/components/dock/composables/dockMorphContext.d.ts +0 -89
  759. package/dist/components/dock/composables/useDockFisheye.d.ts +0 -24
  760. package/dist/components/dock/composables/useDockPopover.d.ts +0 -68
  761. package/dist/components/focus-scope/FocusScope.vue.d.ts +0 -20
  762. package/dist/components/focus-scope/index.d.ts +0 -2
  763. package/dist/components/goo-filter/GooFilter.vue.d.ts +0 -22
  764. package/dist/components/goo-filter/index.d.ts +0 -1
  765. package/dist/components/icon-chip/IconChip.vue.d.ts +0 -4
  766. package/dist/components/icon-chip/index.d.ts +0 -2
  767. package/dist/components/icon-chip/types.d.ts +0 -92
  768. package/dist/components/icon-tooltip/IconTooltip.vue.d.ts +0 -16
  769. package/dist/components/icon-tooltip/index.d.ts +0 -1
  770. package/dist/components/instrument-chassis/ChassisDivider.vue.d.ts +0 -30
  771. package/dist/components/metric-badge/MetricBadge.vue.d.ts +0 -40
  772. package/dist/components/metric-badge/index.d.ts +0 -2
  773. package/dist/components/metric-cell/MetricCell.vue.d.ts +0 -108
  774. package/dist/components/metric-cell/index.d.ts +0 -2
  775. package/dist/components/metric-stack/MetricRow.vue.d.ts +0 -120
  776. package/dist/components/metric-stack/MetricStack.vue.d.ts +0 -92
  777. package/dist/components/metric-stack/index.d.ts +0 -4
  778. package/dist/components/notification/Notification.vue.d.ts +0 -16
  779. package/dist/components/notification/index.d.ts +0 -1
  780. package/dist/components/progress/ProgressDefault.vue.d.ts +0 -25
  781. package/dist/components/progress/ProgressGradient.vue.d.ts +0 -25
  782. package/dist/components/progress/ProgressLiquid.vue.d.ts +0 -21
  783. package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
  784. package/dist/components/progress/useProgressGeometry.d.ts +0 -60
  785. package/dist/components/section/Section.vue.d.ts +0 -73
  786. package/dist/components/section/index.d.ts +0 -1
  787. package/dist/components/spa-view/SpaView.vue.d.ts +0 -50
  788. package/dist/components/spa-view/index.d.ts +0 -2
  789. package/dist/components/split-chars/SplitChars.vue.d.ts +0 -53
  790. package/dist/components/split-chars/index.d.ts +0 -1
  791. package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
  792. package/dist/components/stacked-icons/index.d.ts +0 -2
  793. package/dist/components/stacked-icons/types.d.ts +0 -19
  794. package/dist/components/tabs/composables/useEyeglassLive.d.ts +0 -17
  795. package/dist/components/toggle/Toggle.vue.d.ts +0 -29
  796. package/dist/components/toggle/index.d.ts +0 -26
  797. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +0 -36
  798. package/dist/composables/motion/curves.d.ts +0 -48
  799. package/dist/composables/motion/gooBarbellGeometry.d.ts +0 -79
  800. package/dist/composables/motion/morphSignatures.d.ts +0 -88
  801. package/dist/composables/motion/suite.d.ts +0 -2
  802. package/dist/composables/motion/useBloomUp.d.ts +0 -97
  803. package/dist/composables/motion/useCharStagger.d.ts +0 -44
  804. package/dist/composables/motion/useElementMorph.d.ts +0 -99
  805. package/dist/composables/motion/useGooMorph.d.ts +0 -72
  806. package/dist/composables/motion/usePrioritizedTask.d.ts +0 -41
  807. package/dist/composables/motion/useStaggerReveal.d.ts +0 -52
  808. package/dist/composables/motion/useViewTransition.d.ts +0 -81
  809. package/dist/composables/virtual/index.d.ts +0 -4
  810. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +0 -72
  811. package/dist/composables/virtual/useWindowedStore.d.ts +0 -43
  812. package/dist/composables/virtual/virtualSectionLayout.d.ts +0 -103
  813. package/dist/controls.d.ts +0 -1
  814. package/dist/controls.js +0 -91
  815. package/dist/createCanvasLifecycle-DlrcvWbb.js +0 -209
  816. package/dist/dockContext-d-WpJN2Z.js +0 -13
  817. package/dist/dropdown-menu-DaGlVdp9.js +0 -421
  818. package/dist/focus-scope.d.ts +0 -1
  819. package/dist/focus-scope.js +0 -2
  820. package/dist/icon-chip.d.ts +0 -1
  821. package/dist/icon-chip.js +0 -2
  822. package/dist/icon-tooltip.d.ts +0 -1
  823. package/dist/icon-tooltip.js +0 -2
  824. package/dist/math-CIEcwsYi.js +0 -112
  825. package/dist/menuItemVariants-DbO-Fr74.js +0 -36
  826. package/dist/metric-badge.d.ts +0 -1
  827. package/dist/metric-badge.js +0 -79
  828. package/dist/metric-cell.d.ts +0 -1
  829. package/dist/metric-cell.js +0 -61
  830. package/dist/metric-stack.d.ts +0 -1
  831. package/dist/metric-stack.js +0 -113
  832. package/dist/motion-curves.d.ts +0 -21
  833. package/dist/motion-curves.js +0 -146
  834. package/dist/notification.d.ts +0 -1
  835. package/dist/notification.js +0 -2
  836. package/dist/resolveCanvasColor-B3L-akX0.js +0 -93
  837. package/dist/slider-Cxuj_W_H.js +0 -151
  838. package/dist/spa-view.d.ts +0 -1
  839. package/dist/spa-view.js +0 -46
  840. package/dist/springPresets-h5VKJQqG.js +0 -58
  841. package/dist/stacked-icons.d.ts +0 -1
  842. package/dist/stacked-icons.js +0 -98
  843. package/dist/styles/card-scroll.css +0 -1
  844. package/dist/styles/cards.css +0 -1
  845. package/dist/styles/completion-seal.css +0 -1
  846. package/dist/styles/configurator.css +0 -1
  847. package/dist/styles/dialog-placement.css +0 -1
  848. package/dist/styles/dock/adaptive-legibility.css +0 -1
  849. package/dist/styles/dock/crossfade.css +0 -1
  850. package/dist/styles/dock/dock.css +0 -1
  851. package/dist/styles/dock/fisheye.css +0 -1
  852. package/dist/styles/dock/layer-group.css +0 -1
  853. package/dist/styles/dock/layers.css +0 -1
  854. package/dist/styles/dock/morph.css +0 -1
  855. package/dist/styles/dock/overflow.css +0 -1
  856. package/dist/styles/dock/popover.css +0 -1
  857. package/dist/styles/dock/section.css +0 -1
  858. package/dist/styles/dock/shape.css +0 -1
  859. package/dist/styles/dock/shell.css +0 -1
  860. package/dist/styles/dock-controls/dark-mode-toggle.css +0 -1
  861. package/dist/styles/dock-controls/icon-button.css +0 -1
  862. package/dist/styles/dock-controls.css +0 -1
  863. package/dist/styles/dock.css +0 -1
  864. package/dist/styles/drawer.css +0 -1
  865. package/dist/styles/glass/progress-rail.css +0 -1
  866. package/dist/styles/icon-chip.css +0 -1
  867. package/dist/styles/instrument-chassis.css +0 -1
  868. package/dist/styles/menu.css +0 -1
  869. package/dist/styles/scroll-progress-rim.css +0 -1
  870. package/dist/styles/segmented-tabs.css +0 -1
  871. package/dist/styles/select.css +0 -1
  872. package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
  873. package/dist/styles/utilities/animate.css +0 -0
  874. package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
  875. package/dist/useControlSize-DJwe-7ZQ.js +0 -9
  876. package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
  877. package/dist/useDocumentVisibility-CpJGUgcJ.js +0 -17
  878. package/dist/useDragMorph-65ihHePq.js +0 -93
  879. package/dist/useGlobalDark-DjKMEQE2.js +0 -53
  880. package/dist/useGooMorph-CU1pwuC6.js +0 -268
  881. package/dist/useGpuSubstrate-DcY584kE.js +0 -347
  882. package/dist/useInterval-ZATRi-1T.js +0 -18
  883. package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
  884. package/dist/useLeadTrail-DOH4XkL1.js +0 -74
  885. package/dist/useLiquidPress-BXNHydZh.js +0 -40
  886. package/dist/useMotionAxis-DCCXMC-i.js +0 -20
  887. package/dist/usePointerVelocityField-CwXyeW0Z.js +0 -122
  888. package/dist/useRAFLoop-CvOo_kgb.js +0 -109
  889. package/dist/useRoutePointer-DL7I0gY4.js +0 -52
  890. package/dist/useScrollProgress-C-yImzhU.js +0 -35
  891. package/dist/useSelectionGroup-Btpf24aY.js +0 -215
  892. package/dist/useSpringMount-CNvvgGiC.js +0 -71
  893. package/dist/useSpringPress-BypV_KO-.js +0 -36
  894. package/dist/useSurfaceAxis-DudiZVOR.js +0 -10
  895. package/dist/useTabRovingFocus-CG1H1k1J.js +0 -143
  896. package/dist/useTextHighlight-C46Le9u_.js +0 -72
  897. package/dist/useViewportReady-c0isoKL8.js +0 -191
  898. package/dist/vReveal-DUmiEkX_.js +0 -10
  899. package/dist/vSpecular-DlYN0UZy.js +0 -68
  900. package/src/fonts/README.md +0 -124
  901. package/src/fonts/fira-code/OFL.txt +0 -93
  902. package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
  903. package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
  904. package/src/fonts/plus-jakarta-sans/OFL.txt +0 -93
  905. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
  906. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
  907. package/src/styles/animations.css +0 -468
  908. package/src/styles/card-scroll.css +0 -189
  909. package/src/styles/cards.css +0 -485
  910. package/src/styles/completion-seal.css +0 -205
  911. package/src/styles/configurator.css +0 -359
  912. package/src/styles/dialog-placement.css +0 -68
  913. package/src/styles/dock/adaptive-legibility.css +0 -119
  914. package/src/styles/dock/crossfade.css +0 -139
  915. package/src/styles/dock/cta-seat.css +0 -87
  916. package/src/styles/dock/density.css +0 -458
  917. package/src/styles/dock/dock.css +0 -199
  918. package/src/styles/dock/fisheye.css +0 -81
  919. package/src/styles/dock/layer-group.css +0 -329
  920. package/src/styles/dock/layers.css +0 -438
  921. package/src/styles/dock/morph.css +0 -455
  922. package/src/styles/dock/overflow.css +0 -332
  923. package/src/styles/dock/popover.css +0 -249
  924. package/src/styles/dock/search.css +0 -68
  925. package/src/styles/dock/section.css +0 -59
  926. package/src/styles/dock/shape.css +0 -188
  927. package/src/styles/dock/shell-regions.css +0 -73
  928. package/src/styles/dock/shell.css +0 -500
  929. package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
  930. package/src/styles/dock-controls/icon-button.css +0 -221
  931. package/src/styles/dock-controls/tab-button.css +0 -143
  932. package/src/styles/dock-controls/touch-floor.css +0 -119
  933. package/src/styles/dock-controls/triggers.css +0 -157
  934. package/src/styles/dock-controls.css +0 -92
  935. package/src/styles/dock.css +0 -219
  936. package/src/styles/draw-in.css +0 -89
  937. package/src/styles/drawer.css +0 -434
  938. package/src/styles/feedback-tone.css +0 -104
  939. package/src/styles/fonts.css +0 -143
  940. package/src/styles/glass/a11y-fallback.css +0 -188
  941. package/src/styles/glass/accent-tone.css +0 -66
  942. package/src/styles/glass/control-surfaces.css +0 -171
  943. package/src/styles/glass/deep.css +0 -114
  944. package/src/styles/glass/defined.css +0 -88
  945. package/src/styles/glass/glass-atom.css +0 -247
  946. package/src/styles/glass/glass-capsule.css +0 -175
  947. package/src/styles/glass/glass-chip.css +0 -211
  948. package/src/styles/glass/grain-overlay.css +0 -79
  949. package/src/styles/glass/ladder-undershadow.css +0 -61
  950. package/src/styles/glass/ladder.css +0 -452
  951. package/src/styles/glass/liquid-enter.css +0 -240
  952. package/src/styles/glass/liquid-fill.css +0 -65
  953. package/src/styles/glass/material.css +0 -494
  954. package/src/styles/glass/progress-rail.css +0 -78
  955. package/src/styles/glass/reveal.css +0 -333
  956. package/src/styles/glass/rim.css +0 -122
  957. package/src/styles/glass/squircle.css +0 -58
  958. package/src/styles/glass/surface-axis.css +0 -136
  959. package/src/styles/glass/surfaces-pager.css +0 -79
  960. package/src/styles/glass/surfaces.css +0 -434
  961. package/src/styles/glass-refract.css +0 -112
  962. package/src/styles/glass-specular-track.css +0 -74
  963. package/src/styles/glass.css +0 -110
  964. package/src/styles/icon-chip.css +0 -256
  965. package/src/styles/index.css +0 -280
  966. package/src/styles/instrument-chassis.css +0 -449
  967. package/src/styles/menu.css +0 -187
  968. package/src/styles/paper.css +0 -187
  969. package/src/styles/scroll-choreography.css +0 -294
  970. package/src/styles/scroll-chrome.css +0 -123
  971. package/src/styles/scroll-driven.css +0 -123
  972. package/src/styles/scroll-progress-rim.css +0 -87
  973. package/src/styles/segmented-tabs.css +0 -424
  974. package/src/styles/select.css +0 -201
  975. package/src/styles/tabs/segmented-tabs-drag.css +0 -200
  976. package/src/styles/theme/bridges.css +0 -386
  977. package/src/styles/theme/dark.css +0 -7
  978. package/src/styles/theme/literals.css +0 -104
  979. package/src/styles/theme/radius.css +0 -148
  980. package/src/styles/theme.css +0 -33
  981. package/src/styles/tokens/color-radius.css +0 -308
  982. package/src/styles/tokens/dark-arm-glass.css +0 -55
  983. package/src/styles/tokens/dark-arm.css +0 -455
  984. package/src/styles/tokens/glass-deep.css +0 -126
  985. package/src/styles/tokens/glass-fx.css +0 -484
  986. package/src/styles/tokens/glass.css +0 -478
  987. package/src/styles/tokens/light-dark.css +0 -216
  988. package/src/styles/tokens/motion-registers.css +0 -93
  989. package/src/styles/tokens/offsets.css +0 -143
  990. package/src/styles/tokens/on-glass-fg.css +0 -39
  991. package/src/styles/tokens/property-regs-specular.css +0 -160
  992. package/src/styles/tokens/property-regs.css +0 -447
  993. package/src/styles/tokens/scale-paper.css +0 -496
  994. package/src/styles/tokens/scheme-motion.css +0 -422
  995. package/src/styles/tokens/scheme-spring.css +0 -292
  996. package/src/styles/tokens/scroll-tokens.css +0 -137
  997. package/src/styles/tokens/shadow.css +0 -232
  998. package/src/styles/tokens/sizing-config.css +0 -110
  999. package/src/styles/tokens/sizing.css +0 -505
  1000. package/src/styles/tokens.css +0 -68
  1001. package/src/styles/transitions.css +0 -228
  1002. package/src/styles/typography/scale.css +0 -163
  1003. package/src/styles/typography/semantic.css +0 -233
  1004. package/src/styles/typography/utilities.css +0 -197
  1005. package/src/styles/typography.css +0 -46
  1006. package/src/styles/utilities/a11y-overrides.css +0 -184
  1007. package/src/styles/utilities/animate.css +0 -29
  1008. package/src/styles/utilities/base-misc.css +0 -307
  1009. package/src/styles/utilities/base.css +0 -337
  1010. package/src/styles/utilities/btn.css +0 -327
  1011. package/src/styles/utilities/components.css +0 -337
  1012. package/src/styles/utilities/metal.css +0 -272
  1013. package/src/styles/utilities.css +0 -26
  1014. package/src/styles/view-transition.css +0 -67
  1015. package/src/styles/viz-reveal.css +0 -63
  1016. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
  1017. /package/dist/{compile-C55K3P9g.js → compile-D7VYG3gi.js} +0 -0
  1018. /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
  1019. /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
  1020. /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
  1021. /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
  1022. /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
  1023. /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
  1024. /package/dist/composables/glass/{webgl/shaders/procedural-color.glsl.d.ts → procedural/color.glsl.d.ts} +0 -0
  1025. /package/dist/{components/aurora/constants/shaders/procedural-color.wgsl.d.ts → composables/glass/procedural/color.wgsl.d.ts} +0 -0
  1026. /package/dist/composables/motion/{motionTempo.d.ts → core/motionTempo.d.ts} +0 -0
  1027. /package/dist/composables/motion/{useIntersectionPause.d.ts → core/useIntersectionPause.d.ts} +0 -0
  1028. /package/dist/composables/motion/{useRAFLoop.d.ts → core/useRAFLoop.d.ts} +0 -0
  1029. /package/dist/composables/motion/{useYieldToMain.d.ts → core/useYieldToMain.d.ts} +0 -0
  1030. /package/dist/composables/motion/{useAnimatedNumberMap.d.ts → number/useAnimatedNumberMap.d.ts} +0 -0
  1031. /package/dist/composables/motion/{useRoutePointer.d.ts → pointer/useRoutePointer.d.ts} +0 -0
  1032. /package/dist/composables/motion/{vReveal.d.ts → reveal/vReveal.d.ts} +0 -0
  1033. /package/dist/composables/motion/{scrollReader.d.ts → scroll/scrollReader.d.ts} +0 -0
  1034. /package/dist/composables/motion/{supportsCssTimeline.d.ts → scroll/supportsCssTimeline.d.ts} +0 -0
  1035. /package/dist/composables/motion/{useScrollPin.d.ts → scroll/useScrollPin.d.ts} +0 -0
  1036. /package/dist/composables/motion/{useScrollScene.d.ts → scroll/useScrollScene.d.ts} +0 -0
  1037. /package/dist/composables/motion/{useScrollTrigger.d.ts → scroll/useScrollTrigger.d.ts} +0 -0
  1038. /package/dist/composables/motion/{useSpringPress.d.ts → spring/useSpringPress.d.ts} +0 -0
  1039. /package/dist/{createContext-BQ1Gy_LB.js → createContext-BhkE9mLH.js} +0 -0
  1040. /package/dist/{motionTempo-CMS5b0Vu.js → motionTempo-tscp92Nm.js} +0 -0
  1041. /package/dist/{prng-B0PLRmR6.js → prng-2uS6J_A1.js} +0 -0
  1042. /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-6ONX0sr0.js} +0 -0
  1043. /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-CUnZknpm.js} +0 -0
  1044. /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-CdUlm2QZ.js} +0 -0
  1045. /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-B2FfJnd9.js} +0 -0
  1046. /package/dist/{useTimer-CkDV8SC2.js → useTimer-C3yfti4C.js} +0 -0
  1047. /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-0GNrddMX.js} +0 -0
  1048. /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-DoGOCW3e.js} +0 -0
@@ -1,11 +1,11 @@
1
1
  import { type Ref } from "vue";
2
2
  import { type BackgroundCanvasSource } from "./backdropLuminanceSample";
3
- /** The discrete bucket the observer derives + writes (re-engages the W55 machinery). */
3
+ /** The discrete backdrop bucket derived and written by the observer. */
4
4
  export type GlassBackdropBucket = "light" | "dark";
5
5
  export interface UseGlassBackdropLuminanceOptions {
6
6
  /**
7
7
  * The KNOWN background-layer source for the ANIMATED case — an HTMLCanvasElement
8
- * (or a getter / a CSS selector resolved against the document). When present, the
8
+ * (or a getter, a CSS selector resolved against the document). When present, the
9
9
  * observer downsamples this canvas under the surface's bounding box each settle
10
10
  * instead of the static `elementsFromPoint` stack-walk. The aurora/blob `<canvas>`
11
11
  * the surface floats over.
@@ -26,8 +26,7 @@ export interface UseGlassBackdropLuminanceOptions {
26
26
  lightThreshold?: number;
27
27
  /**
28
28
  * Minimum milliseconds between samples on the live loop (the ≤ 4 Hz throttle floor).
29
- * Default 250 (4 Hz). Bounded ≥ 250 (the budget floor — a faster sample is the
30
- * C5-9 frame-budget risk the H3 arm-(a) default-on profile must hold).
29
+ * Default 250 (4 Hz) and bounded to at least 250ms.
31
30
  */
32
31
  minSampleIntervalMs?: number;
33
32
  /**
@@ -37,10 +36,10 @@ export interface UseGlassBackdropLuminanceOptions {
37
36
  */
38
37
  writeBucket?: boolean;
39
38
  /**
40
- * BI.W-DOCK-LUMA-SHARE — mark this as the SHARED per-ROUTE observer. It stamps
39
+ * mark this as the SHARED per-ROUTE observer. It stamps
41
40
  * `GLASS_BACKDROP_SHARED_ATTR` on its target (the route/stage scope) so descendant
42
41
  * glass surfaces (docks) DETECT the coverage and STAND DOWN — inheriting the route's
43
- * `--glass-backdrop-luma` / `--glass-backdrop` / `--glass-ambient-*` via the cascade
42
+ * `--glass-backdrop-luma`, `--glass-backdrop`, `--glass-ambient-*` via the cascade
44
43
  * rather than each mounting its own readback loop (12 per-dock observers over ONE
45
44
  * aurora → ONE per-route readback). Default false: a per-SURFACE observer, which
46
45
  * stands down when a shared ancestor covers it and self-samples as the honest floor
@@ -53,29 +52,53 @@ export interface UseGlassBackdropLuminanceControls {
53
52
  readonly luma: Readonly<Ref<number | null>>;
54
53
  /** The last derived bucket, or null before the first sample. */
55
54
  readonly bucket: Readonly<Ref<GlassBackdropBucket | null>>;
55
+ /**
56
+ * The observer's explicit sample provenance. A live request is never represented
57
+ * as a static sample: a missing or unreadable canvas reports `unavailable`.
58
+ */
59
+ readonly sample: Readonly<Ref<GlassBackdropSample>>;
56
60
  /** Force one sample now (bypasses the throttle — used on mount + resize-settle). */
57
61
  sampleNow: () => void;
58
62
  /** Stop the loop + detach every observer/listener. */
59
63
  dispose: () => void;
60
64
  }
65
+ export type GlassBackdropSample = {
66
+ state: "pending";
67
+ mode: "live" | "static";
68
+ source: "canvas" | "elements";
69
+ } | {
70
+ state: "sampled";
71
+ mode: "live" | "static";
72
+ source: "canvas" | "elements";
73
+ luma: number;
74
+ ambientHue: string;
75
+ sampledAt: number;
76
+ targetRect: GlassBackdropTargetRect;
77
+ } | {
78
+ state: "unavailable";
79
+ mode: "live" | "static";
80
+ source: "canvas" | "elements";
81
+ reason: "source-unavailable" | "sample-unavailable";
82
+ sampledAt: number;
83
+ targetRect: GlassBackdropTargetRect;
84
+ };
85
+ export interface GlassBackdropTargetRect {
86
+ x: number;
87
+ y: number;
88
+ width: number;
89
+ height: number;
90
+ }
61
91
  /**
62
- * BI.W-DOCK-LUMA-SHARE — the shared-coverage marker. A SHARED route observer
63
- * (`shared: true`) stamps this attribute on its target (the route/stage scope); a
64
- * per-SURFACE observer detects it on an ANCESTOR (`.closest`) and STANDS DOWN —
65
- * inheriting the route's `--glass-backdrop-luma` / `--glass-backdrop` /
66
- * `--glass-ambient-*` via the registered inheriting @property cascade instead of
67
- * mounting its OWN `drawImage + getImageData` readback loop (the 12 per-dock observers
68
- * over ONE DockStage aurora collapse to ONE per-route readback — PERF-6/FAM-5). A DOM
69
- * marker, NOT provide/inject: provide/inject does not cross the `<slot>` boundary (the
70
- * DockStage renders `<slot>`, the docks are slotted from the route, so the slotted
71
- * content's instance-parent is the slot OWNER not the stage), and the marker rides the
72
- * SAME DOM ancestry the inheriting custom property itself cascades over.
92
+ * Shared-coverage marker. A route observer stamps this on its target; descendant
93
+ * surface observers stand down and inherit its custom properties. A DOM marker is
94
+ * required because provide/inject does not follow the rendered slot ancestry that
95
+ * the custom properties use.
73
96
  */
74
97
  export declare const GLASS_BACKDROP_SHARED_ATTR = "data-glass-backdrop-shared";
75
98
  /**
76
99
  * The sampled-luminance observer. Wire it on a glass surface (the dock root, a
77
- * content-glass panel) to write a DYNAMIC backdrop-luminance signal that refines the
78
- * W55 declarative bucket. Default-on for the dock (H3 arm a); a dark-substrate consumer
100
+ * content-glass panel) to write a dynamic backdrop-luminance signal that refines the
101
+ * declarative bucket. Default on for Dock; a dark-substrate consumer
79
102
  * opts out by setting `--glass-tint-strength: 0%` on the surface (the declarative floor
80
103
  * stays the guarantee — the observer only refines).
81
104
  *
@@ -1,18 +1,18 @@
1
1
  import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter } from "vue";
2
2
  /**
3
- * `useSpecularPointer` — the EVOLUTION of `useSpecularTracking` (BB.W-LENSING). It
3
+ * `useSpecularPointer` — the EVOLUTION of `useSpecularTracking`. It
4
4
  * writes the catch-light POSITION (`--mouse-x`/`--mouse-y`, as today) PLUS the
5
5
  * `--specular-angle` channel — the pointer's angle-from-center the EDGE-glint conic
6
6
  * sweep reads (the `.glass-material::before` recipe, material.css). The angle feed is
7
7
  * what turns the centered disc into a motion-reactive RIM glint (the glass-THICKNESS
8
8
  * read); the leaf is the ONE shared specular source the hover/button waves consume.
9
9
  *
10
- * SINGLE-SOURCE (the W-LIQUIDHOVER reconcile, EXTENDED here — NOT a fork). There is
10
+ * SINGLE-SOURCE (the reconcile, EXTENDED here — NOT a fork). There is
11
11
  * exactly ONE position-write core: `createSpecularWriter` (useSpecularTracking.ts) —
12
12
  * the rAF-coalesced, cached-PRM, scope-dispose seam. This composable WRAPS that core;
13
13
  * the angle is DERIVED in the sink from the SAME `(x, y)` percentage the core already
14
14
  * computes (`angle = atan2(y - 50, x - 50)`), so there is NO duplicate
15
- * `getBoundingClientRect` / `--mouse-x` write — the core owns the layout read + the
15
+ * `getBoundingClientRect`, `--mouse-x` write — the core owns the layout read + the
16
16
  * coordinate math, this leaf only adds the angle derivation onto the existing sink.
17
17
  * `useSpecularTracking` (the position-only delivery) STAYS for the bare-position call
18
18
  * sites; `useSpecularPointer` is the angle-adding delivery for an edge-glint consumer.
@@ -24,8 +24,8 @@ import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter } from "vue
24
24
  * disposes the core (cancel the pending rAF + drop the cached PRM listener) on scope
25
25
  * teardown.
26
26
  *
27
- * BG.W-GLASS-DYNAMICS — the OPTIONAL press-couple (absorbs 13.5, soft-gated by F5.1).
28
- * A consumer may pass `press` (a 0..1 press scalar — a `useSpringPress` `.value`, or
27
+ * The optional press coupling.
28
+ * A consumer may pass `press` (a 0..1 press scalar — a `useLiquidPress` `.value`, or
29
29
  * any press signal); it is folded reactively into the emitted style as the ONE
30
30
  * `--glass-btn-press-t` channel the `.glass-material::before` specular magnitude reads
31
31
  * (material.css). Reusing the SINGLE press channel (never a forked `--*-press-t`) keeps
@@ -33,7 +33,7 @@ import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter } from "vue
33
33
  * a `computed` so the press tracks the spring INDEPENDENTLY of pointer moves (a press
34
34
  * settles while the pointer is still). SOFT-GATED: when `press` is OMITTED the emitted
35
35
  * style carries NO press channel (the CSS `--glass-btn-press-t` default 0 holds — no
36
- * hard F5.1 dependency), and the position/angle write is byte-identical to before.
36
+ * hard press dependency), and the position/angle write is unchanged.
37
37
  */
38
38
  export interface UseSpecularPointerOptions {
39
39
  /** Optional 0..1 press scalar (soft-gated) folded into `--glass-btn-press-t`. */
@@ -1,15 +1,14 @@
1
1
  import { ref, type CSSProperties } from "vue";
2
2
  /**
3
- * `useSpecularTracking` — the pointer-anchored moving-specular write seam
4
- * (AX.W09). The single DRY home for the catch-light position write that was
5
- * hand-copied VERBATIM in `Card.vue` and `DockControl.vue`.
3
+ * `useSpecularTracking` is the pointer-anchored moving-specular writer shared by
4
+ * Card and DockControl.
6
5
  *
7
6
  * On pointer-move it writes the cursor position (`--mouse-x`/`--mouse-y`, as
8
7
  * percentages of the host box) onto the host's inline style; the unified
9
8
  * `.glass-material::before` recipe (`glass.css`) MAPS that host write onto its
10
9
  * typed `--specular-x`/`--specular-y` channel and paints the travelling glow.
11
10
  *
12
- * VOCAB (HARDENING §G #28): `--mouse-x`/`--mouse-y` is the HOST WRITE this seam
11
+ * VOCAB: `--mouse-x`/`--mouse-y` is the HOST WRITE this seam
13
12
  * owns; `--specular-x`/`--specular-y` is the CSS-internal MAPPED channel the
14
13
  * recipe reads. The host writes `--mouse-x/y`; the recipe maps it.
15
14
  *
@@ -21,20 +20,18 @@ import { ref, type CSSProperties } from "vue";
21
20
  *
22
21
  * PRM-aware: under `prefers-reduced-motion: reduce` the seam DOES NOT write the
23
22
  * position (the CSS half pins the catch-light static at the centred `50%`
24
- * fallback). The PRM signal is read from a SINGLE cached `matchMedia` listener
25
- * minted once at composable setup (NOT a fresh `matchMedia` per pointer event) —
26
- * the AV.W7 `useWebGLCanvas` substrate pattern.
23
+ * fallback). The PRM signal comes from the shared reduced-motion authority, never a
24
+ * fresh `matchMedia` read per pointer event.
27
25
  *
28
- * AY.W-A11Y-PERF O-3 — the pointer write is rAF-COALESCED: `onPointerMove` only
26
+ * The pointer write is rAF-coalesced: `onPointerMove` only
29
27
  * stashes the raw event + schedules ONE `requestAnimationFrame`; the rAF callback
30
28
  * does the single `getBoundingClientRect()` + style write, so a 120–1000 Hz pointer
31
29
  * collapses to ONE batched layout read + ONE style write per animation frame (under
32
- * W54 maximal-glass every blurred-surface repaint is amortized to the frame, not the
33
- * event). The composable cancels the pending rAF + removes the matchMedia listener on
30
+ * each blurred-surface repaint is amortized to the frame rather than the
31
+ * event). The composable cancels the pending rAF + its shared-preference watch on
34
32
  * scope dispose (cleanup discipline).
35
33
  *
36
- * BB.W-LIQUIDHOVER — the rAF-coalesce + cached-PRM + cleanup LOGIC is extracted to
37
- * `createSpecularWriter()`, the SINGLE position-write core. The composable below wraps
34
+ * `createSpecularWriter()` owns rAF coalescing, cached PRM, and cleanup. The composable wraps
38
35
  * it for the Vue `:style`-ref case (Card's prop-gated `specular` opt-in); the
39
36
  * tier-root auto-arm (`vSpecular`) wraps the SAME core to write directly on the
40
37
  * directive host's `el.style` (the zero-wiring delivery). ONE position-write source,
@@ -47,12 +44,12 @@ export interface UseSpecularTracking {
47
44
  onPointerMove: (event: PointerEvent) => void;
48
45
  }
49
46
  /**
50
- * The SINGLE position-write core (BB.W-LIQUIDHOVER) — the rAF-coalesced,
47
+ * The SINGLE position-write core — the rAF-coalesced,
51
48
  * PRM-aware `--mouse-x/y` write seam, sink-agnostic. `sink(x, y)` receives the
52
49
  * percentage position once per animation frame; the composable sinks into its
53
50
  * `specularStyle` ref, the `vSpecular` directive sinks into `el.style.setProperty`.
54
- * Returns the event handler + a `dispose` (cancel the pending rAF + drop the cached
55
- * PRM listener) so BOTH deliveries share ONE cleanup discipline.
51
+ * Returns the event handler + a `dispose` (cancel the pending rAF + preference watch)
52
+ * so BOTH deliveries share ONE cleanup discipline.
56
53
  */
57
54
  export interface SpecularWriter {
58
55
  onPointerMove: (event: PointerEvent) => void;
@@ -57,7 +57,7 @@ export declare function cellTwist(curlFn: (p: Vec2) => Vec2, g: Vec2, cellSize:
57
57
  /**
58
58
  * The sheet displacement at a cell center `cc` — the EXACT traveling-wave scalar the twist
59
59
  * rides (`travelingEnvelope · amp`), surfaced as a named leaf fn so the face reads ONE
60
- * envelope. Range [0,1]·amp: ~0 ahead of / behind the crest, ~amp at the crest. `cellTwist`
60
+ * envelope. Range [0,1]·amp: ~0 ahead of, behind the crest, ~amp at the crest. `cellTwist`
61
61
  * (via `cellDriver`) calls this, so a sign drift reds the numeric parity gate everywhere.
62
62
  */
63
63
  export declare function cellHeight(cc: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): number;
@@ -100,7 +100,7 @@ export declare const WAVE_FLOW_SECOND_RATIO = 1.833333;
100
100
  * the wave passes OVER and THROUGH them, with NO cell-boundary discontinuity. Returns the
101
101
  * warped coordinate.
102
102
  *
103
- * BG.W-GRID-AFFINE — the LOCALLY-AFFINE frequency law. `warpFreq` is the HOST-supplied spatial
103
+ * the LOCALLY-AFFINE frequency law. `warpFreq` is the HOST-supplied spatial
104
104
  * frequency (in the caller's OWN coordinate units) at which the curl-flow potential is sampled.
105
105
  * The caller passes a frequency an ORDER OF MAGNITUDE BELOW its own grid/contour frequency, so
106
106
  * the warp-displacement gradient is ~constant across any ONE cell (the warp Jacobian is locally
@@ -1 +1 @@
1
- export declare const WAVE_FIELD_GLSL = "\n#ifndef WAVE_FIELD_TAU\n#define WAVE_FIELD_TAU 6.283185307179586\n#endif\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfloat travelingEnvelope(vec2 pivot, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma) {\n float coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n float crest = fract(coord / WAVE_FIELD_TAU);\n float z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfloat curlScalar(vec2 cc, float t) {\n vec2 f = curlFBM(vec2(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\n#ifndef WAVE_FIELD_TWIST_FLOOR\n#define WAVE_FIELD_TWIST_FLOOR 0.62\n#endif\nfloat directedTwist(float s, float floorMag) {\n float mag = max(floorMag, abs(s));\n float sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// Defined ABOVE cellTwist: cellTwist rides cellHeight via the driver so twist + face read ONE\n// envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfloat cellHeight(vec2 cc, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma, float amp) {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (floor(twisted_g) at the\n// crest lights a NEIGHBOUR cell). cc in .xy, env in .z.\nvec3 cellDriver(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float cs = max(cellSize, 1e-3);\n vec2 cc = (floor(g / cs) + 0.5) * cs;\n float env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nvec2 faceRelief(vec2 cc, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float eps = max(cellSize, 1e-3) * 0.5;\n float hxp = cellHeight(cc + vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hxm = cellHeight(cc - vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hyp = cellHeight(cc + vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hym = cellHeight(cc - vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the distance\n// into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats as it grows\n// (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfloat facePlateau(vec2 g, float inset, vec2 uvDeriv) {\n vec2 tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n float d = min(tri.x, tri.y);\n float aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nvec2 cellTwist(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float twistMax, float shearMax, float amp) {\n vec3 drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n vec2 cc = drv.xy;\n float env = drv.z;\n float floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n float theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n float shear = shearMax * env * directedTwist(curlScalar(cc + vec2(17.3, 9.1), t), floorMag);\n vec2 local = g - cc;\n float ct = cos(theta);\n float st = sin(theta);\n vec2 rot = vec2(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x += shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// BG.W-GRID-AFFINE \u2014 warpFreq is the HOST-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as ONE smooth curve, no sub-cell crackle). liquid-grid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nvec2 waveFlow(vec2 g, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma,\n float twistMax, float amp, float warpFreq) {\n float env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n vec2 f = curlFBM(vec2(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n float wf2 = warpFreq * 1.833333;\n vec2 f2 = curlFBM(vec2(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n float k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nvec2 cursorSwirl(vec2 g, vec2 cursor, float strength, float radius) {\n vec2 to = g - cursor;\n float d2 = dot(to, to);\n float r = max(radius, 1e-4);\n float theta = strength * exp(-d2 / (2.0 * r * r));\n float ct = cos(theta);\n float st = sin(theta);\n return cursor + vec2(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfloat heightField(vec2 p, float octavesF, float seed) {\n float v = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n float px = p.x + seed;\n float py = p.y - seed;\n int n = int(clamp(octavesF, 1.0, 6.0));\n for (int i = 0; i < 6; i++) {\n if (i >= n) break;\n v += amp * valueNoise(px * freq, py * freq);\n float rx = 0.8 * px - 0.6 * py;\n float ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfloat waveSwell(float t, float phase) {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
1
+ export declare const WAVE_FIELD_GLSL = "\n#ifndef WAVE_FIELD_TAU\n#define WAVE_FIELD_TAU 6.283185307179586\n#endif\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfloat travelingEnvelope(vec2 pivot, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma) {\n float coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n float crest = fract(coord / WAVE_FIELD_TAU);\n float z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfloat curlScalar(vec2 cc, float t) {\n vec2 f = curlFBM(vec2(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\n#ifndef WAVE_FIELD_TWIST_FLOOR\n#define WAVE_FIELD_TWIST_FLOOR 0.62\n#endif\nfloat directedTwist(float s, float floorMag) {\n float mag = max(floorMag, abs(s));\n float sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// Defined ABOVE cellTwist: cellTwist rides cellHeight via the driver so twist + face read ONE\n// envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfloat cellHeight(vec2 cc, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma, float amp) {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (floor(twisted_g) at the\n// crest lights a neighbouring cell). cc is in .xy and env in .z.\nvec3 cellDriver(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float cs = max(cellSize, 1e-3);\n vec2 cc = (floor(g / cs) + 0.5) * cs;\n float env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nvec2 faceRelief(vec2 cc, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float eps = max(cellSize, 1e-3) * 0.5;\n float hxp = cellHeight(cc + vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hxm = cellHeight(cc - vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hyp = cellHeight(cc + vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hym = cellHeight(cc - vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the distance\n// into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats as it grows\n// (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfloat facePlateau(vec2 g, float inset, vec2 uvDeriv) {\n vec2 tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n float d = min(tri.x, tri.y);\n float aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nvec2 cellTwist(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float twistMax, float shearMax, float amp) {\n vec3 drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n vec2 cc = drv.xy;\n float env = drv.z;\n float floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n float theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n float shear = shearMax * env * directedTwist(curlScalar(cc + vec2(17.3, 9.1), t), floorMag);\n vec2 local = g - cc;\n float ct = cos(theta);\n float st = sin(theta);\n vec2 rot = vec2(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x += shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// warpFreq is the host-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as one smooth curve, no sub-cell crackle). LiquidGrid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nvec2 waveFlow(vec2 g, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma,\n float twistMax, float amp, float warpFreq) {\n float env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n vec2 f = curlFBM(vec2(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n float wf2 = warpFreq * 1.833333;\n vec2 f2 = curlFBM(vec2(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n float k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nvec2 cursorSwirl(vec2 g, vec2 cursor, float strength, float radius) {\n vec2 to = g - cursor;\n float d2 = dot(to, to);\n float r = max(radius, 1e-4);\n float theta = strength * exp(-d2 / (2.0 * r * r));\n float ct = cos(theta);\n float st = sin(theta);\n return cursor + vec2(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfloat heightField(vec2 p, float octavesF, float seed) {\n float v = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n float px = p.x + seed;\n float py = p.y - seed;\n int n = int(clamp(octavesF, 1.0, 6.0));\n for (int i = 0; i < 6; i++) {\n if (i >= n) break;\n v += amp * valueNoise(px * freq, py * freq);\n float rx = 0.8 * px - 0.6 * py;\n float ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfloat waveSwell(float t, float phase) {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
@@ -1 +1 @@
1
- export declare const WAVE_FIELD_WGSL = "\nconst WAVE_FIELD_TAU: f32 = 6.283185307179586;\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfn travelingEnvelope(pivot: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32) -> f32 {\n let coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n let crest = fract(coord / WAVE_FIELD_TAU);\n let z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfn curlScalar(cc: vec2f, t: f32) -> f32 {\n let f = curlFBM(vec2f(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\nconst WAVE_FIELD_TWIST_FLOOR: f32 = 0.62;\nfn directedTwist(s: f32, floorMag: f32) -> f32 {\n let mag = max(floorMag, abs(s));\n let sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// DECLARED ABOVE cellTwist (no WGSL forward declaration): cellTwist rides cellHeight via the\n// driver so twist + face read ONE envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfn cellHeight(cc: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32, amp: f32) -> f32 {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (the crest twist crosses\n// the cell boundary \u2192 floor(twisted_g) would light a NEIGHBOUR cell). cc in .xy, env in .z.\nfn cellDriver(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec3f {\n let cs = max(cellSize, 1e-3);\n let cc = (floor(g / cs) + 0.5) * cs;\n let env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3f(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nfn faceRelief(cc: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec2f {\n let eps = max(cellSize, 1e-3) * 0.5;\n let hxp = cellHeight(cc + vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hxm = cellHeight(cc - vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hyp = cellHeight(cc + vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hym = cellHeight(cc - vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2f((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the\n// distance into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats\n// as it grows (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfn facePlateau(g: vec2f, inset: f32, uvDeriv: vec2f) -> f32 {\n let tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n let d = min(tri.x, tri.y);\n let aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nfn cellTwist(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, twistMax: f32, shearMax: f32, amp: f32) -> vec2f {\n let drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n let cc = drv.xy;\n let env = drv.z;\n let floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n let theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n let shear = shearMax * env * directedTwist(curlScalar(cc + vec2f(17.3, 9.1), t), floorMag);\n let local = g - cc;\n let ct = cos(theta);\n let st = sin(theta);\n var rot = vec2f(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x = rot.x + shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// BG.W-GRID-AFFINE \u2014 warpFreq is the HOST-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as ONE smooth curve, no sub-cell crackle). liquid-grid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nfn waveFlow(g: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32,\n twistMax: f32, amp: f32, warpFreq: f32) -> vec2f {\n let env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n let f = curlFBM(vec2f(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n let wf2 = warpFreq * 1.833333;\n let f2 = curlFBM(vec2f(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n let k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nfn cursorSwirl(g: vec2f, cursor: vec2f, strength: f32, radius: f32) -> vec2f {\n let to = g - cursor;\n let d2 = dot(to, to);\n let r = max(radius, 1e-4);\n let theta = strength * exp(-d2 / (2.0 * r * r));\n let ct = cos(theta);\n let st = sin(theta);\n return cursor + vec2f(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfn heightField(p: vec2f, octavesF: f32, seed: f32) -> f32 {\n var v = 0.0;\n var amp = 0.5;\n var freq = 1.0;\n var px = p.x + seed;\n var py = p.y - seed;\n let n = i32(clamp(octavesF, 1.0, 6.0));\n for (var i = 0; i < 6; i = i + 1) {\n if (i >= n) { break; }\n v = v + amp * valueNoise(px * freq, py * freq);\n let rx = 0.8 * px - 0.6 * py;\n let ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq = freq * 2.0;\n amp = amp * 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfn waveSwell(t: f32, phase: f32) -> f32 {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
1
+ export declare const WAVE_FIELD_WGSL = "\nconst WAVE_FIELD_TAU: f32 = 6.283185307179586;\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfn travelingEnvelope(pivot: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32) -> f32 {\n let coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n let crest = fract(coord / WAVE_FIELD_TAU);\n let z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfn curlScalar(cc: vec2f, t: f32) -> f32 {\n let f = curlFBM(vec2f(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\nconst WAVE_FIELD_TWIST_FLOOR: f32 = 0.62;\nfn directedTwist(s: f32, floorMag: f32) -> f32 {\n let mag = max(floorMag, abs(s));\n let sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// DECLARED ABOVE cellTwist (no WGSL forward declaration): cellTwist rides cellHeight via the\n// driver so twist + face read ONE envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfn cellHeight(cc: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32, amp: f32) -> f32 {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (the crest twist crosses\n// the cell boundary \u2192 floor(twisted_g) would light a neighbouring cell). cc is in .xy and env in .z.\nfn cellDriver(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec3f {\n let cs = max(cellSize, 1e-3);\n let cc = (floor(g / cs) + 0.5) * cs;\n let env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3f(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nfn faceRelief(cc: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec2f {\n let eps = max(cellSize, 1e-3) * 0.5;\n let hxp = cellHeight(cc + vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hxm = cellHeight(cc - vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hyp = cellHeight(cc + vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hym = cellHeight(cc - vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2f((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the\n// distance into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats\n// as it grows (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfn facePlateau(g: vec2f, inset: f32, uvDeriv: vec2f) -> f32 {\n let tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n let d = min(tri.x, tri.y);\n let aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nfn cellTwist(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, twistMax: f32, shearMax: f32, amp: f32) -> vec2f {\n let drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n let cc = drv.xy;\n let env = drv.z;\n let floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n let theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n let shear = shearMax * env * directedTwist(curlScalar(cc + vec2f(17.3, 9.1), t), floorMag);\n let local = g - cc;\n let ct = cos(theta);\n let st = sin(theta);\n var rot = vec2f(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x = rot.x + shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// warpFreq is the host-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as one smooth curve, no sub-cell crackle). LiquidGrid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nfn waveFlow(g: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32,\n twistMax: f32, amp: f32, warpFreq: f32) -> vec2f {\n let env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n let f = curlFBM(vec2f(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n let wf2 = warpFreq * 1.833333;\n let f2 = curlFBM(vec2f(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n let k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nfn cursorSwirl(g: vec2f, cursor: vec2f, strength: f32, radius: f32) -> vec2f {\n let to = g - cursor;\n let d2 = dot(to, to);\n let r = max(radius, 1e-4);\n let theta = strength * exp(-d2 / (2.0 * r * r));\n let ct = cos(theta);\n let st = sin(theta);\n return cursor + vec2f(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfn heightField(p: vec2f, octavesF: f32, seed: f32) -> f32 {\n var v = 0.0;\n var amp = 0.5;\n var freq = 1.0;\n var px = p.x + seed;\n var py = p.y - seed;\n let n = i32(clamp(octavesF, 1.0, 6.0));\n for (var i = 0; i < 6; i = i + 1) {\n if (i >= n) { break; }\n v = v + amp * valueNoise(px * freq, py * freq);\n let rx = 0.8 * px - 0.6 * py;\n let ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq = freq * 2.0;\n amp = amp * 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfn waveSwell(t: f32, phase: f32) -> f32 {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
@@ -21,24 +21,21 @@ export type DprPolicy = number | ((box: {
21
21
  h: number;
22
22
  }) => number);
23
23
  /**
24
- * BD.W-SUBSTRATE-SIZE-UNIFY (G1) — the ONE canonical backing-store sizer.
24
+ * The canonical backing-store sizer.
25
25
  *
26
- * Aurora's PROVEN gBCR-ancestor sizer, lifted into the agnostic leaf so it lives ONCE
27
- * (DRY) instead of in N drifted consumer `resize()` closures (the three incompatible
28
- * `clientWidth || 320` / `clientWidth || canvasSize` / one-parent-gBCR conventions the
29
- * DELTA-ASSAY reproduced as the live 300×150 stuck-canvas).
26
+ * The shared ancestor-aware sizer replaces per-consumer `resize()` conventions.
30
27
  *
31
28
  * Measures the LAID-OUT border-box via `getBoundingClientRect` — NOT `clientWidth`,
32
29
  * which reads 0 under a `content-visibility:auto` skip (the born-skipped trap). Walks
33
30
  * ancestors ONLY when our own rect is still zero (truly un-laid-out), and the walk is
34
- * BOUNDED (H-B): cap depth at 3 AND stop at the first sized / contained / container /
35
- * positioned ancestor — never an unbounded gBCR storm to `<body>` (O(depth) reflow per
31
+ * Bounded: cap depth at 3 and stop at the first sized, contained, container-positioned
32
+ * ancestor — never an unbounded gBCR walk to `<body>` (O(depth) reflow per
36
33
  * tick), never an over-recovered wide flex/grid grandparent that sizes the backing to
37
34
  * the viewport. Idempotent: the realloc (which CLEARS the drawing buffer) is skipped
38
35
  * when the buffer already matches the box.
39
36
  *
40
37
  * Pure CSS-geometry — ZERO dependency on which GPU API is live, so it runs SYNCHRONOUSLY
41
- * at mount before the async WebGPU device resolves (G2). Engine-identical in Chromium +
38
+ * at mount before the async WebGPU device resolves. Engine-identical in Chromium and
42
39
  * WebKit (gBCR reflects the real box across a CV skip in both).
43
40
  */
44
41
  export declare function sizeBacking(canvas: HTMLCanvasElement, dprPolicy: DprPolicy): BackingSize;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Shared WebGL2 shader compile/link pair (AV.W14) — the single error-checked
2
+ * Shared WebGL2 shader compile/link pair: the single error-checked
3
3
  * source the aurora GL setup (`glSetup.ts`) and the goo-blob renderer
4
4
  * (`useMetaballRenderer.ts`) both build their program from. Each consumer was
5
5
  * hand-rolling a byte-identical `compile`/`link` differing only in the error
@@ -19,36 +19,32 @@ export interface CanvasLifecycleOptions {
19
19
  respectReducedMotion?: boolean;
20
20
  /**
21
21
  * Acquire the backend context + build the per-frame hooks. Called on `arm()` AND
22
- * on a backend context-restore. Throws on backend-unavailable / setup failure.
22
+ * on a backend context-restore. Throws on backend-unavailable, setup failure.
23
23
  */
24
24
  buildContext: () => CanvasFrameHooks;
25
25
  /**
26
26
  * Upload the backing geometry to the viewport/uniforms.
27
27
  *
28
- * BD.W-SUBSTRATE-SIZE-UNIFY (G1): the leaf MEASURES + sizes the backing store (via
28
+ * The leaf measures and sizes the backing store via
29
29
  * `sizeBacking`, the ONE sizer) and passes the freshly-computed `BackingSize` here so
30
30
  * the consumer can never re-derive a wrong one. When the leaf owns sizing (`dprPolicy`
31
31
  * provided) the buffer is already correct on entry — the consumer body is UPLOAD-ONLY,
32
- * shrinking to `gl.viewport(0,0,s.w,s.h)` / `uploadResolution` (a WGPU swap-chain leg
32
+ * shrinking to `gl.viewport(0,0,s.w,s.h)`, `uploadResolution` (a WGPU swap-chain leg
33
33
  * is a no-op — it auto-resizes to the backing the leaf set).
34
34
  *
35
- * BG.W-VIZ-RESIZE-ADOPT: every GL/WGPU procedural viz has HARD-ADOPTED the leaf sizer
36
- * (all 9 pass `dprPolicy` + read `s` upload-only; ZERO viz self-measures the backing —
37
- * `proof:viz` enforces `backing == round(gBCR × dpr)` with no surviving `canvas.width =`
38
- * self-size). The arg stays optional ONLY for the un-migrated `useCanvas2D` leg + the
39
- * substrate contract tests; dropping the `?` (the flag-day) is booked to their adopt.
35
+ * Procedural scenes, including Canvas2D, pass `dprPolicy` and use this upload-only
36
+ * size. The optional argument remains only for direct legacy WebGL/WebGPU callers
37
+ * that omit a DPR policy.
40
38
  */
41
39
  resize: (s?: BackingSize) => void;
42
40
  /**
43
41
  * The consumer's DPR policy, handed to the leaf's `sizeBacking`. When PRESENT the
44
- * leaf owns the backing-store MEASUREMENT + sizing (the G1 inversion) and the live
42
+ * leaf owns backing-store measurement and sizing, and the live
45
43
  * `BackingSize` rides every `resize` call. When ABSENT the leaf falls back to the
46
44
  * legacy behaviour (the consumer's `resize()` self-measures) — the migration seam.
47
45
  *
48
- * BG.W-VIZ-RESIZE-ADOPT: the GL/WGPU substrate (the `createGpuSubstrate` picker + both
49
- * legs) is UNIVERSALLY on this seam now — every one of the 9 procedural viz threads its
50
- * budget DPR here (`resolveBudgetDpr` / `resolveAuroraWashDpr`), so the STANDARD is
51
- * `dprPolicy`-present; the ABSENT branch survives only for `useCanvas2D`.
46
+ * Procedural scenes use the present branch. The absent branch remains for direct
47
+ * legacy WebGL/WebGPU callers.
52
48
  */
53
49
  dprPolicy?: DprPolicy;
54
50
  /**
@@ -59,8 +55,12 @@ export interface CanvasLifecycleOptions {
59
55
  */
60
56
  bindContextEvents?: (rebuild: () => void, markContextLost: () => void) => void;
61
57
  unbindContextEvents?: () => void;
58
+ /** Project the lifecycle's existing loss/rebuild state without creating a second clock. */
59
+ onContextStateChange?: (state: "lost" | "restored") => void;
60
+ /** Surface a failed restore or a bounded context-loss storm to the owner. */
61
+ onContextError?: (error: Error) => void;
62
62
  /**
63
- * BD.W-SUBSTRATE-SIZE-UNIFY (G3) — compose the IntersectionObserver park detector
63
+ * Compose the IntersectionObserver park detector
64
64
  * at the leaf (DRY) so a consumer inherits the off-screen IO-park ORed with the
65
65
  * content-visibility park, with NO per-viz `useIntersectionPause` wiring. The leaf
66
66
  * wires a plain (scope-free, reactivity-free) IO observing the canvas, writing the
@@ -73,16 +73,16 @@ export interface CanvasLifecycleOptions {
73
73
  * defaulting on would DOUBLE-WRITE that reason and breach the one-writer invariant.
74
74
  * The atomic retirement of those per-consumer calls (so the leaf IO becomes the sole
75
75
  * writer, default-on) lands in the viz lanes. Until then a viz with NO IO wiring
76
- * (concentric / fourier / dot-flow — the live PARK gap) opts IN to inherit the park.
76
+ * (concentric, fourier, dot-flow — the live PARK gap) opts IN to inherit the park.
77
77
  */
78
78
  composeIntersectionPark?: boolean;
79
- /** `rootMargin` for the leaf-composed IO park (G3). Default `"256px"` (pre-warm). */
79
+ /** `rootMargin` for the leaf-composed IO park. Default `"256px"` for pre-warm. */
80
80
  intersectionRootMargin?: string;
81
81
  /**
82
- * BG.W-VIZ-REVEAL-BLOOM — the one-shot cold-first-VISIBLE entrance bloom. When set,
82
+ * the one-shot cold-first-VISIBLE entrance bloom. When set,
83
83
  * the leaf sets a one-shot `data-substrate-reveal` ATTRIBUTE on the canvas at the
84
84
  * moment it FIRST becomes visible (a dedicated one-shot IntersectionObserver — NOT
85
- * at `arm()`, which a content-skipped / below-fold viz would burn on an invisible
85
+ * at `arm()`, which a content-skipped, below-fold viz would burn on an invisible
86
86
  * paint). The CANVAS-targeted CSS `@keyframes substrate-reveal-bloom` (`viz-reveal.css`)
87
87
  * then ramps `filter: brightness()/saturate()` from a dim floor, OVERSHOOTS past 1.0
88
88
  * on the `--ease-cartoon-punch` linear() curve (the EFFECTS-channel sanctioned
@@ -99,7 +99,7 @@ export interface CanvasLifecycleOptions {
99
99
  export interface CanvasLifecycleHandle {
100
100
  arm: () => void;
101
101
  /**
102
- * BD.W-SUBSTRATE-SIZE-UNIFY (G2) — size the backing store + start the leaf RO
102
+ * Size the backing store and start the leaf RO
103
103
  * SYNCHRONOUSLY, decoupled from the (async) context acquire. The WebGPU backend
104
104
  * calls this BEFORE `armAsync`'s device request so the canvas is sharp from frame 0
105
105
  * while the device resolves behind it (the ≤6s blurry-flash close). Idempotent: a
@@ -116,7 +116,7 @@ export interface CanvasLifecycleHandle {
116
116
  readonly running: boolean;
117
117
  readonly reducedMotion: boolean;
118
118
  /**
119
- * BC.W-SAFARI-WEBGL — the circuit-breaker has tripped: the surface lost-and-restored
119
+ * the circuit-breaker has tripped: the surface lost-and-restored
120
120
  * its context more than N times within T ms (a real eviction storm), so the lifecycle
121
121
  * is HOLDING the parked state without re-arming (no throw). Resets once the loss window
122
122
  * passes quiet; a healthy single loss never trips it.
@@ -1,36 +1,20 @@
1
1
  import { type BackingSize, type DprPolicy } from "./createCanvasLifecycle";
2
2
  export type { BackingSize, DprPolicy } from "./createCanvasLifecycle";
3
3
  /**
4
- * The ONE `getContext("webgl2")` capability probe (BB.W-CI-GREEN — the
5
- * single-bootstrap rule). A throwaway WebGL2 context is created here, in the
6
- * substrate (the sole webgl2-creating module per `proof:webgl-substrate-single`),
7
- * so a consumer feature-detecting WebGL2 / reading the unmasked renderer string
4
+ * The one `getContext("webgl2")` capability probe. A throwaway WebGL2 context is
5
+ * created here in the substrate,
6
+ * so a consumer feature-detecting WebGL2, reading the unmasked renderer string
8
7
  * NEVER creates a second context of its own. The probe canvas is detached, its
9
8
  * context released via `WEBGL_lose_context` under the per-page context cap; the
10
9
  * read is one-shot (a mount-time device-tier decision, not a reactive one).
11
10
  *
12
11
  * Returns the lower-cased `UNMASKED_RENDERER_WEBGL` string (e.g.
13
- * `"google swiftshader"`), or `null` when WebGL2 / the debug-renderer extension
12
+ * `"google swiftshader"`), or `null` when WebGL2, the debug-renderer extension
14
13
  * is unavailable or the probe throws — the caller treats `null` as "cannot prove"
15
14
  * (the conservative-but-lossy fall-back). SSR-safe (returns `null` with no
16
15
  * `document`).
17
16
  */
18
17
  export declare function probeWebGL2Renderer(): string | null;
19
- /**
20
- * The WebGPU→WebGL2 fall POISON test — can THIS specific canvas still host WebGL2?
21
- * (BD.W-VIZ-BROKEN-FIX — the single-bootstrap home for the probe.) Once `getContext("webgpu")`
22
- * has run on a canvas, the HTML one-context-type rule locks it to `webgpu` forever and
23
- * `getContext("webgl2")` returns `null`. The picker's fall-to-WebGL2 path probes this to
24
- * decide whether it must clone+swap the canvas (genuinely poisoned) or can keep the original
25
- * (a fall that ran BEFORE any `getContext("webgpu")` — no-adapter / device-reject / acquire-
26
- * timeout — never poisoned it; reusing it avoids orphaning the consumer's captured canvas
27
- * reference). The `getContext("webgl2")` bootstrap stays in THIS substrate (the sole webgl2-
28
- * creating module per `proof:webgl-substrate-single` clause B); the picker composes this
29
- * helper rather than calling `getContext("webgl2")` itself. `getContext` is idempotent for
30
- * the same type, so on a clean canvas the probe returns the very context the net re-acquires
31
- * (no extra cost). Returns `true` if the canvas can host WebGL2, `false` if poisoned/unable.
32
- */
33
- export declare function canvasCanHostWebGL2(canvas: HTMLCanvasElement): boolean;
34
18
  export type WebGLSuspendReason = "tab-hidden" | "off-screen" | "off-screen-io" | "manual";
35
19
  /** The per-frame hooks a consumer's `setup(gl)` returns. */
36
20
  export interface WebGLCanvasFrame {
@@ -39,7 +23,7 @@ export interface WebGLCanvasFrame {
39
23
  /** Demand-gate: is there live motion to render next frame? `false` → park. */
40
24
  shouldContinue: () => boolean;
41
25
  /**
42
- * Upload the backing geometry to the viewport/uniforms. BD.W-SUBSTRATE-SIZE-UNIFY:
26
+ * Upload the backing geometry to the viewport/uniforms.:
43
27
  * when a `dprPolicy` is supplied the leaf MEASURES + sizes the backing and passes
44
28
  * the live `BackingSize` here (the consumer body shrinks to
45
29
  * `gl.viewport(0,0,s.w,s.h)`); the arg is optional so a legacy self-measuring
@@ -66,37 +50,41 @@ export interface WebGLCanvasOptions {
66
50
  */
67
51
  respectReducedMotion?: boolean;
68
52
  /**
69
- * BD.W-SUBSTRATE-SIZE-UNIFY (G1/G2) — the consumer's DPR policy. When PRESENT the
53
+ * The consumer's DPR policy. When present the
70
54
  * leaf owns the backing-store measurement + sizing (the ONE sizer, sized
71
55
  * synchronously at mount before any acquire) and hands the live `BackingSize` to
72
56
  * `resize(s)`. When ABSENT the legacy path runs (the consumer self-measures).
73
57
  */
74
58
  dprPolicy?: DprPolicy;
75
- /** Compose the leaf IO park (G3). Default `false` (opt-in; see createCanvasLifecycle). */
59
+ /** Compose the leaf IO park. Default `false`; see createCanvasLifecycle. */
76
60
  composeIntersectionPark?: boolean;
77
- /** `rootMargin` for the leaf IO park (G3). */
61
+ /** `rootMargin` for the leaf IO park. */
78
62
  intersectionRootMargin?: string;
79
- /** Fire the one-shot cold-first-VISIBLE entrance bloom (BG.W-VIZ-REVEAL-BLOOM — the `data-substrate-reveal` attr). Default `false`. */
63
+ /** Fire the one-shot cold-first-visible entrance bloom via `data-substrate-reveal`. Default `false`. */
80
64
  revealBloom?: boolean;
81
65
  /**
82
66
  * Build the program + geometry on a fresh context. Called on `arm()` AND on
83
67
  * every `webglcontextrestored`. Returns the per-frame hooks.
84
68
  */
85
69
  setup: (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
70
+ /** Internal lifecycle projection used by the shared renderer-status owner. */
71
+ onContextStateChange?: (state: "lost" | "restored") => void;
72
+ /** Surface a failed context restore or a bounded loss storm. */
73
+ onContextError?: (error: Error) => void;
86
74
  }
87
75
  export interface WebGLCanvasHandle {
88
76
  /** Run the expensive init (context + `setup` + arm the loop). Idempotent; no-op post-dispose. */
89
77
  arm: () => void;
90
- /** BD.W-SUBSTRATE-SIZE-UNIFY (G2) — size the backing + start the leaf RO synchronously (pre-acquire). */
78
+ /** Size the backing and start the leaf RO synchronously before acquire. */
91
79
  presize: () => void;
92
80
  suspend: (reason?: WebGLSuspendReason) => void;
93
81
  resume: (reason?: WebGLSuspendReason) => void;
94
82
  /** Re-arm a parked loop (a setter that re-introduced motion calls this). */
95
83
  wake: () => void;
96
- /** Draw one frame at `timeSec` out-of-loop (capture / thumbnail). */
84
+ /** Draw one frame at `timeSec` out-of-loop (capture, thumbnail). */
97
85
  renderAt: (timeSec: number) => void;
98
86
  dispose: () => void;
99
- /** The live context (null before arm / after dispose / mid-loss). */
87
+ /** The live context (null before arm, after dispose, mid-loss). */
100
88
  readonly gl: WebGL2RenderingContext | null;
101
89
  /**
102
90
  * The live `prefers-reduced-motion: reduce` state. The shared lifecycle core
@@ -1,7 +1,7 @@
1
1
  import type { CanvasSuspendReason } from "./createCanvasLifecycle";
2
2
  /**
3
3
  * The scheduler seam the observers drive. Each observer writes a DISTINCT suspend
4
- * reason (`tab-hidden` / `off-screen` / `off-screen-io`) — the one-writer-per-reason
4
+ * reason (`tab-hidden`, `off-screen`, `off-screen-io`) — the one-writer-per-reason
5
5
  * invariant — and reads the scheduler's live `armed`/`hooks`/`disposed`/`reducedMotion`
6
6
  * state through the getters (never a shared closure var, so the two files stay decoupled).
7
7
  */
@@ -21,7 +21,7 @@ export interface CanvasVisibilityDeps {
21
21
  }
22
22
  export interface CanvasVisibility {
23
23
  /**
24
- * BD.W-SUBSTRATE-SIZE-UNIFY (G2) — size the backing store + start the leaf RO
24
+ * Size the backing store and start the leaf RO
25
25
  * SYNCHRONOUSLY, decoupled from the (async) context acquire. Idempotent: a no-op
26
26
  * once it has run. The WebGPU backend calls this BEFORE its async device request so
27
27
  * the canvas is sharp from frame 0 while the device resolves.
@@ -36,7 +36,6 @@ export interface CanvasVisibility {
36
36
  }
37
37
  /**
38
38
  * The canvas visibility observers. Constructing this binds the tab-visibility owner +
39
- * seeds the initial `document.hidden` suspend (the pre-arm seed), matching the prior
40
- * inline behaviour byte-for-byte.
39
+ * seeds the initial `document.hidden` suspend (the pre-arm seed).
41
40
  */
42
41
  export declare function createCanvasVisibility(deps: CanvasVisibilityDeps): CanvasVisibility;
@@ -0,0 +1,13 @@
1
+ export type RendererEngine = "webgpu" | "webgl2" | "canvas2d" | "css";
2
+ export interface RendererStatus {
3
+ phase: "initializing" | "ready" | "error";
4
+ engine: RendererEngine;
5
+ adapter: string;
6
+ error?: string;
7
+ }
8
+ export declare const pendingRenderer: (engine: RendererEngine) => RendererStatus;
9
+ export declare const canvas2DRenderer: () => RendererStatus;
10
+ export declare const cssRenderer: () => RendererStatus;
11
+ export declare function describeWebGPUAdapter(info?: GPUAdapterInfo): string;
12
+ export declare function describeWebGL2Adapter(gl: WebGL2RenderingContext | null): string;
13
+ export declare function rendererFailure(engine: RendererEngine, adapter: string, error: unknown): RendererStatus;