@mkbabb/glass-ui 4.2.0 → 6.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 (1465) hide show
  1. package/README.md +89 -172
  2. package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
  3. package/dist/FadingScroll-C1ZWEjmG.js +83 -0
  4. package/dist/Input-B4WQ_CMc.js +57 -0
  5. package/dist/PagerDots-BoTQ7g5l.js +307 -0
  6. package/dist/Surface-BWRfwyn8.js +59 -0
  7. package/dist/accent-tone-solve-Dii9ePhK.js +20 -0
  8. package/dist/animated-digit.d.ts +1 -1
  9. package/dist/animated-digit.js +5 -5
  10. package/dist/aurora.d.ts +1 -1
  11. package/dist/aurora.js +1438 -431
  12. package/dist/axes.d.ts +1 -0
  13. package/dist/axes.js +50 -0
  14. package/dist/badge-C0C-rTBu.js +80 -0
  15. package/dist/badge.d.ts +1 -1
  16. package/dist/badge.js +1 -1
  17. package/dist/blob-config.d.ts +1 -0
  18. package/dist/blob-config.js +2 -0
  19. package/dist/blob.d.ts +1 -0
  20. package/dist/blob.js +1601 -0
  21. package/dist/button-32mg6xA8.js +194 -0
  22. package/dist/button.d.ts +1 -1
  23. package/dist/button.js +1 -1
  24. package/dist/canvas.js +1 -1
  25. package/dist/card-16xmzIr3.js +303 -0
  26. package/dist/card.d.ts +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.d.ts +1 -2
  29. package/dist/carousel.js +148 -300
  30. package/dist/chip.d.ts +1 -0
  31. package/dist/chip.js +81 -0
  32. package/dist/class-names-5jotTFzp.js +97 -0
  33. package/dist/coalesce-metric-znAcLzkB.js +13 -0
  34. package/dist/collapsible-bPzS1aQk.js +63 -0
  35. package/dist/collapsible.d.ts +1 -1
  36. package/dist/collapsible.js +1 -1
  37. package/dist/color-swatch.d.ts +1 -1
  38. package/dist/color-swatch.js +3 -2
  39. package/dist/color.js +87 -2
  40. package/dist/command-BjPjUU9z.js +307 -0
  41. package/dist/command.d.ts +1 -1
  42. package/dist/command.js +1 -1
  43. package/dist/completion-seal.d.ts +1 -1
  44. package/dist/completion-seal.js +89 -46
  45. package/dist/components/_shared/ModalOverlay.vue.d.ts +43 -0
  46. package/dist/components/_shared/axes.d.ts +21 -0
  47. package/dist/components/_shared/class-names.d.ts +27 -0
  48. package/dist/components/_shared/feedback-tone.css +1 -0
  49. package/dist/components/_shared/field-surfaces.css +1 -0
  50. package/dist/components/_shared/index.d.ts +6 -0
  51. package/dist/components/_shared/menu.css +1 -0
  52. package/dist/components/_shared/menuItemVariants.d.ts +51 -0
  53. package/dist/components/_shared/useControlSize.d.ts +46 -0
  54. package/dist/components/_shared/useMotionAxis.d.ts +41 -0
  55. package/dist/components/_shared/useSurfaceAxis.d.ts +64 -0
  56. package/dist/components/_shared/valueDomain.d.ts +6 -0
  57. package/dist/components/alert/Alert.vue.d.ts +19 -0
  58. package/dist/components/alert/index.d.ts +8 -0
  59. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +56 -0
  60. package/dist/components/aurora/Aurora.vue.d.ts +110 -0
  61. package/dist/components/aurora/composables/atoms-fields.d.ts +43 -0
  62. package/dist/components/aurora/composables/atoms.d.ts +198 -0
  63. package/dist/components/aurora/composables/auroraImageSource.d.ts +44 -0
  64. package/dist/components/aurora/composables/color.d.ts +111 -0
  65. package/dist/components/aurora/composables/frameLoop.d.ts +66 -0
  66. package/dist/components/aurora/composables/glSetup.d.ts +29 -0
  67. package/dist/components/aurora/composables/runtime.d.ts +142 -0
  68. package/dist/components/aurora/composables/uniformBridge.d.ts +120 -0
  69. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
  70. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +39 -0
  71. package/dist/components/aurora/composables/useAurora.d.ts +82 -0
  72. package/dist/components/aurora/composables/useCursorInteraction.d.ts +25 -0
  73. package/dist/components/aurora/composables/wgpuSetup.d.ts +50 -0
  74. package/dist/components/aurora/constants/presets.d.ts +326 -0
  75. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +3 -0
  76. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +3 -0
  77. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  78. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  79. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  80. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  81. package/dist/components/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  82. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -0
  83. package/dist/components/aurora/index.d.ts +13 -0
  84. package/dist/components/avatar/Avatar.vue.d.ts +23 -0
  85. package/dist/components/avatar/AvatarImage.vue.d.ts +10 -0
  86. package/dist/components/avatar/index.d.ts +9 -0
  87. package/dist/components/badge/Badge.vue.d.ts +41 -0
  88. package/dist/components/badge/index.d.ts +9 -0
  89. package/dist/components/blob/Blob.vue.d.ts +83 -0
  90. package/dist/components/blob/composables/satelliteKinematics.d.ts +20 -0
  91. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +51 -0
  92. package/dist/components/blob/composables/useBlobPointer.d.ts +88 -0
  93. package/dist/components/blob/composables/useMetaballRenderer.d.ts +102 -0
  94. package/dist/components/blob/composables/wgpuSetup.d.ts +23 -0
  95. package/dist/components/blob/config.d.ts +3 -0
  96. package/dist/components/blob/constants.d.ts +82 -0
  97. package/dist/components/blob/index.d.ts +8 -0
  98. package/dist/components/blob/presets.d.ts +14 -0
  99. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  100. package/dist/components/blob/types.d.ts +256 -0
  101. package/dist/components/button/Button.vue.d.ts +33 -0
  102. package/dist/components/button/index.d.ts +9 -0
  103. package/dist/components/card/Card.vue.d.ts +180 -0
  104. package/dist/components/card/CardHeader.vue.d.ts +58 -0
  105. package/dist/components/card/ScrollCard.vue.d.ts +33 -0
  106. package/dist/components/card/card-scroll.css +1 -0
  107. package/dist/components/card/styles.css +1 -0
  108. package/dist/components/carousel/Carousel.vue.d.ts +44 -0
  109. package/dist/components/carousel/CarouselContent.vue.d.ts +24 -0
  110. package/dist/components/carousel/CarouselNext.vue.d.ts +21 -0
  111. package/dist/components/carousel/CarouselPrevious.vue.d.ts +21 -0
  112. package/dist/components/carousel/index.d.ts +8 -0
  113. package/dist/components/carousel/useCarousel.d.ts +21 -0
  114. package/dist/components/chip/Chip.vue.d.ts +20 -0
  115. package/dist/components/chip/chipVariants.d.ts +43 -0
  116. package/dist/components/chip/index.d.ts +3 -0
  117. package/dist/components/chip/types.d.ts +38 -0
  118. package/dist/components/combobox/Combobox.vue.d.ts +32 -0
  119. package/dist/components/combobox/ComboboxList.vue.d.ts +32 -0
  120. package/dist/components/combobox/index.d.ts +9 -0
  121. package/dist/components/command/Command.vue.d.ts +38 -0
  122. package/dist/components/command/CommandDialog.vue.d.ts +27 -0
  123. package/dist/components/command/index.d.ts +10 -0
  124. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +28 -0
  125. package/dist/components/completion-seal/constants.d.ts +66 -0
  126. package/dist/components/completion-seal/styles.css +1 -0
  127. package/dist/components/configurator/Configurator.vue.d.ts +160 -0
  128. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +96 -0
  129. package/dist/components/configurator/index.d.ts +6 -0
  130. package/dist/components/configurator/size.d.ts +26 -0
  131. package/dist/components/configurator/styles.css +1 -0
  132. package/dist/components/constellation/Constellation.vue.d.ts +39 -0
  133. package/dist/components/constellation/composables/useConstellation.d.ts +26 -0
  134. package/dist/components/constellation/constants.d.ts +87 -0
  135. package/dist/components/constellation/constellationField.d.ts +70 -0
  136. package/dist/components/constellation/constellationInteraction.d.ts +141 -0
  137. package/dist/components/constellation/constellationRender.d.ts +15 -0
  138. package/dist/components/constellation/constellationTypes.d.ts +423 -0
  139. package/dist/components/constellation/index.d.ts +6 -0
  140. package/dist/components/controls/DarkModeToggle.vue.d.ts +32 -0
  141. package/dist/components/controls/dark-mode-toggle.css +1 -0
  142. package/dist/components/data-table/DataTable.vue.d.ts +94 -0
  143. package/dist/components/data-table/index.d.ts +2 -0
  144. package/dist/components/data-table/types.d.ts +81 -0
  145. package/dist/components/deck/constants.d.ts +4 -0
  146. package/dist/components/deck/index.d.ts +7 -0
  147. package/dist/components/dialog/DialogContent.vue.d.ts +121 -0
  148. package/dist/components/dialog/index.d.ts +8 -0
  149. package/dist/components/dialog/placement.css +1 -0
  150. package/dist/components/dock/DockBackgroundToggle.vue.d.ts +46 -0
  151. package/dist/components/dock/DockControl.vue.d.ts +73 -0
  152. package/dist/components/dock/DockCrossfade.vue.d.ts +50 -0
  153. package/dist/components/dock/DockLayer.vue.d.ts +33 -0
  154. package/dist/components/dock/DockLayerGroup.vue.d.ts +65 -0
  155. package/dist/components/dock/DockStack.vue.d.ts +73 -0
  156. package/dist/components/dock/DockTrigger.vue.d.ts +27 -0
  157. package/dist/components/dock/GlassDock.vue.d.ts +34 -0
  158. package/dist/components/dock/composables/dockContext.d.ts +48 -0
  159. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +57 -0
  160. package/dist/components/dock/composables/dockMorphContext.d.ts +91 -0
  161. package/dist/components/dock/composables/dockMorphMeasure.d.ts +96 -0
  162. package/dist/components/dock/composables/index.d.ts +10 -0
  163. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +27 -0
  164. package/dist/components/dock/composables/useDockFisheye.d.ts +24 -0
  165. package/dist/components/dock/composables/useDockOverflowFit.d.ts +22 -0
  166. package/dist/components/dock/composables/useDockPopover.d.ts +70 -0
  167. package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
  168. package/dist/components/dock/composables/useDockShellProps.d.ts +185 -0
  169. package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
  170. package/dist/components/dock/composables/useDockState.d.ts +70 -0
  171. package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
  172. package/dist/components/dock/constants.d.ts +95 -0
  173. package/dist/components/dock/index.d.ts +20 -0
  174. package/dist/components/dock/styles/adaptive-legibility.css +1 -0
  175. package/dist/components/dock/styles/controls/icon-button.css +1 -0
  176. package/dist/components/dock/styles/controls/tab-button.css +1 -0
  177. package/dist/components/dock/styles/controls/touch-floor.css +1 -0
  178. package/dist/components/dock/styles/controls/triggers.css +1 -0
  179. package/dist/components/dock/styles/controls.css +1 -0
  180. package/dist/components/dock/styles/crossfade.css +1 -0
  181. package/dist/components/dock/styles/cta-seat.css +1 -0
  182. package/dist/components/dock/styles/density.css +1 -0
  183. package/dist/components/dock/styles/dock.css +1 -0
  184. package/dist/components/dock/styles/fisheye.css +1 -0
  185. package/dist/components/dock/styles/index.css +1 -0
  186. package/dist/components/dock/styles/layer-group.css +1 -0
  187. package/dist/components/dock/styles/layers.css +1 -0
  188. package/dist/components/dock/styles/morph.css +1 -0
  189. package/dist/components/dock/styles/overflow.css +1 -0
  190. package/dist/components/dock/styles/popover.css +1 -0
  191. package/dist/components/dock/styles/search.css +1 -0
  192. package/dist/components/dock/styles/section.css +1 -0
  193. package/dist/components/dock/styles/shape.css +1 -0
  194. package/dist/components/dock/styles/shell-regions.css +1 -0
  195. package/dist/components/dock/styles/shell.css +1 -0
  196. package/dist/components/drawer/Drawer.vue.d.ts +85 -0
  197. package/dist/components/drawer/DrawerContent.vue.d.ts +40 -0
  198. package/dist/components/drawer/composables/drawerSnapContext.d.ts +28 -0
  199. package/dist/components/drawer/composables/useDrawerSnap.d.ts +24 -0
  200. package/dist/components/drawer/constants.d.ts +50 -0
  201. package/dist/components/drawer/index.d.ts +33 -0
  202. package/dist/components/drawer/styles.css +1 -0
  203. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +24 -0
  204. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +36 -0
  205. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +20 -0
  206. package/dist/components/dropdown-menu/index.d.ts +15 -0
  207. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
  208. package/dist/components/easing/EasingConfigurator.vue.d.ts +33 -0
  209. package/dist/components/easing/EasingPicker.vue.d.ts +49 -0
  210. package/dist/components/easing/composables/useEasingPicker.d.ts +84 -0
  211. package/dist/components/easing/constants.d.ts +30 -0
  212. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
  213. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  214. package/dist/components/fourier-field/FourierField.vue.d.ts +60 -0
  215. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  216. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  217. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  218. package/dist/components/fourier-field/composables/useFourierField.d.ts +56 -0
  219. package/dist/components/fourier-field/constants.d.ts +134 -0
  220. package/dist/components/fourier-field/index.d.ts +31 -0
  221. package/dist/components/fourier-field/math.d.ts +111 -0
  222. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  223. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  224. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +51 -0
  225. package/dist/components/handmark/HandMark.vue.d.ts +29 -0
  226. package/dist/components/handmark/composables/useHandMark.d.ts +99 -0
  227. package/dist/components/handmark/constants.d.ts +69 -0
  228. package/dist/components/handmark/geometry.d.ts +65 -0
  229. package/dist/components/handmark/index.d.ts +25 -0
  230. package/dist/components/handmark/noise.d.ts +30 -0
  231. package/dist/components/handmark/types.d.ts +70 -0
  232. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  233. package/dist/components/header-ribbon/index.d.ts +2 -0
  234. package/dist/components/header-ribbon/types.d.ts +7 -0
  235. package/dist/components/icon-chip/styles.css +1 -0
  236. package/dist/components/index.d.ts +35 -0
  237. package/dist/components/infinite-scroll/index.d.ts +2 -0
  238. package/dist/components/instrument-chassis/styles.css +1 -0
  239. package/dist/components/labeled-field/LabeledField.vue.d.ts +118 -0
  240. package/dist/components/labeled-field/LabeledInput.vue.d.ts +38 -0
  241. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +46 -0
  242. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +113 -0
  243. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +18 -0
  244. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +21 -0
  245. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  246. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +32 -0
  247. package/dist/components/liquid-grid/constants.d.ts +93 -0
  248. package/dist/components/liquid-grid/index.d.ts +5 -0
  249. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +4 -0
  250. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -0
  251. package/dist/components/metric-badge/MetricBadge.vue.d.ts +40 -0
  252. package/dist/components/metric-cell/MetricCell.vue.d.ts +108 -0
  253. package/dist/components/metric-stack/MetricRow.vue.d.ts +120 -0
  254. package/dist/components/metric-stack/MetricStack.vue.d.ts +92 -0
  255. package/dist/components/notification/Notification.vue.d.ts +16 -0
  256. package/dist/components/pager-dots/PagerDots.vue.d.ts +48 -0
  257. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +26 -0
  258. package/dist/components/pager-dots/constants.d.ts +15 -0
  259. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
  260. package/dist/components/popover/Popover.vue.d.ts +54 -0
  261. package/dist/components/popover/PopoverContent.vue.d.ts +53 -0
  262. package/dist/components/popover/PopoverTrigger.vue.d.ts +16 -0
  263. package/dist/components/popover/popoverContext.d.ts +17 -0
  264. package/dist/components/progress/Progress.vue.d.ts +19 -0
  265. package/dist/components/progress/ProgressDefault.vue.d.ts +9 -0
  266. package/dist/components/progress/ProgressGradient.vue.d.ts +26 -0
  267. package/dist/components/progress/ProgressLiquid.vue.d.ts +22 -0
  268. package/dist/components/progress/index.d.ts +1 -0
  269. package/dist/components/progress/valueMarks.css +1 -0
  270. package/dist/components/pulse/Pulse.vue.d.ts +53 -0
  271. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +19 -0
  272. package/dist/components/scroll-progress-rim/index.d.ts +3 -0
  273. package/dist/components/scroll-progress-rim/styles.css +1 -0
  274. package/dist/components/scroll-progress-rim/types.d.ts +2 -0
  275. package/dist/components/search/FuzzySearch.vue.d.ts +24 -0
  276. package/dist/components/search/SearchBar.vue.d.ts +38 -0
  277. package/dist/components/search/searchVariants.d.ts +19 -0
  278. package/dist/components/select/SelectContent.vue.d.ts +42 -0
  279. package/dist/components/select/index.d.ts +8 -0
  280. package/dist/components/skeleton/Skeleton.vue.d.ts +35 -0
  281. package/dist/components/slider/Slider.vue.d.ts +42 -0
  282. package/dist/components/slider/index.d.ts +46 -0
  283. package/dist/components/sortable-list/SortableHandle.vue.d.ts +19 -0
  284. package/dist/components/sortable-list/SortableItem.vue.d.ts +22 -0
  285. package/dist/components/sortable-list/SortableList.vue.d.ts +39 -0
  286. package/dist/components/sortable-list/composables/dragController.d.ts +29 -0
  287. package/dist/components/sortable-list/composables/types.d.ts +50 -0
  288. package/dist/components/sortable-list/composables/useSortable.d.ts +5 -0
  289. package/dist/components/sortable-list/context.d.ts +11 -0
  290. package/dist/components/sortable-list/index.d.ts +4 -0
  291. package/dist/components/split-chars/SplitChars.vue.d.ts +53 -0
  292. package/dist/components/surface/Surface.vue.d.ts +45 -0
  293. package/dist/components/surface/index.d.ts +2 -0
  294. package/dist/components/table/Table.vue.d.ts +21 -0
  295. package/dist/components/tabs/SegmentedTabs.vue.d.ts +111 -0
  296. package/dist/components/tabs/composables/useEyeglassLive.d.ts +17 -0
  297. package/dist/components/tabs/composables/useTabDragMorph.d.ts +42 -0
  298. package/dist/components/tabs/composables/useTabResponsive.d.ts +43 -0
  299. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +51 -0
  300. package/dist/components/tabs/constants.d.ts +1 -0
  301. package/dist/components/tabs/index.d.ts +2 -0
  302. package/dist/components/tabs/styles/drag.css +1 -0
  303. package/dist/components/tabs/styles/segmented.css +1 -0
  304. package/dist/components/tags-input/TagsInput.vue.d.ts +28 -0
  305. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
  306. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +118 -0
  307. package/dist/components/timeline/GlassTimeline.vue.d.ts +114 -0
  308. package/dist/components/toast/Toast.vue.d.ts +107 -0
  309. package/dist/components/toast/index.d.ts +9 -0
  310. package/dist/components/toast/use-toast.d.ts +182 -0
  311. package/dist/components/toggle/Toggle.vue.d.ts +29 -0
  312. package/dist/components/toggle/index.d.ts +26 -0
  313. package/dist/components/typewriter/TypewriterText.vue.d.ts +82 -0
  314. package/dist/components/typewriter/composables/useTypewriter.d.ts +21 -0
  315. package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
  316. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +74 -0
  317. package/dist/components/watercolor-dot/prng.d.ts +5 -0
  318. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +31 -0
  319. package/dist/composables/color/accent-tone-solve.d.ts +11 -0
  320. package/dist/composables/color/index.d.ts +18 -1
  321. package/dist/composables/color/useAccentTone.d.ts +6 -8
  322. package/dist/composables/dom/useUserInvalidAria.d.ts +7 -11
  323. package/dist/composables/glass/ambientHueHistogram.d.ts +27 -0
  324. package/dist/composables/glass/backdropLuminanceSample.d.ts +56 -0
  325. package/dist/composables/glass/backdropSampleMath.d.ts +5 -0
  326. package/dist/composables/glass/textureUpload.d.ts +91 -0
  327. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +58 -1
  328. package/dist/composables/glass/useSpecularPointer.d.ts +23 -4
  329. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  330. package/dist/composables/glass/wave/waveField.d.ts +22 -1
  331. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
  332. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
  333. package/dist/composables/glass/webgl/backingSize.d.ts +44 -0
  334. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +36 -55
  335. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +36 -0
  336. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +1 -1
  337. package/dist/composables/glass/webgl/visibility.d.ts +42 -0
  338. package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
  339. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +8 -4
  340. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -111
  341. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +98 -0
  342. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +30 -0
  343. package/dist/composables/index.d.ts +1 -2
  344. package/dist/composables/motion/bloomUpField.d.ts +29 -0
  345. package/dist/composables/motion/core/index.d.ts +6 -2
  346. package/dist/composables/motion/gooBarbellGeometry.d.ts +79 -0
  347. package/dist/composables/motion/index.d.ts +1 -1
  348. package/dist/composables/motion/morphSignatures.d.ts +88 -0
  349. package/dist/composables/motion/motionTempo.d.ts +9 -0
  350. package/dist/composables/motion/pointerFieldMappings.d.ts +161 -0
  351. package/dist/composables/motion/springPresets.d.ts +17 -23
  352. package/dist/composables/motion/springProjection.d.ts +16 -0
  353. package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
  354. package/dist/composables/motion/useCountup.d.ts +1 -6
  355. package/dist/composables/motion/useDockCtaReceive.d.ts +87 -39
  356. package/dist/composables/motion/useElementMorph.d.ts +107 -0
  357. package/dist/composables/motion/useLeadTrail.d.ts +69 -0
  358. package/dist/composables/motion/useLiquidPress.d.ts +21 -4
  359. package/dist/composables/motion/useLiquidReveal.d.ts +15 -29
  360. package/dist/composables/motion/useNumericTransition.d.ts +2 -0
  361. package/dist/composables/motion/usePointerVelocityField.d.ts +59 -0
  362. package/dist/composables/motion/useRoutePointer.d.ts +41 -0
  363. package/dist/composables/motion/useSelectionGroup.d.ts +83 -0
  364. package/dist/composables/motion/useSelectionIndicator.d.ts +90 -0
  365. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  366. package/dist/composables/motion/useTextHighlight.d.ts +2 -1
  367. package/dist/configurator-CSENXXSy.js +311 -0
  368. package/dist/configurator.d.ts +1 -1
  369. package/dist/configurator.js +2 -3
  370. package/dist/constellation.d.ts +1 -1
  371. package/dist/constellation.js +271 -570
  372. package/dist/controls.d.ts +1 -1
  373. package/dist/controls.js +57 -65
  374. package/dist/createCanvasLifecycle-hsFkQVdl.js +209 -0
  375. package/dist/dark-DIH-blY1.js +70 -0
  376. package/dist/dark.d.ts +1 -2
  377. package/dist/dark.js +2 -20
  378. package/dist/data-table-DveMdgBM.js +629 -0
  379. package/dist/data-table.d.ts +1 -1
  380. package/dist/data-table.js +2 -2
  381. package/dist/deck.d.ts +1 -1
  382. package/dist/deck.js +14 -25
  383. package/dist/dialog-BzQxKrUr.js +281 -0
  384. package/dist/dialog.d.ts +1 -1
  385. package/dist/dialog.js +2 -4
  386. package/dist/dock.d.ts +1 -1
  387. package/dist/dock.js +1194 -1614
  388. package/dist/dockContext-4S9qP0Z4.js +13 -0
  389. package/dist/dom.js +196 -7
  390. package/dist/drawer.d.ts +1 -1
  391. package/dist/drawer.js +201 -148
  392. package/dist/dropdown-menu-DORIA52F.js +378 -0
  393. package/dist/dropdown-menu.d.ts +1 -1
  394. package/dist/dropdown-menu.js +3 -2
  395. package/dist/easing.d.ts +1 -1
  396. package/dist/easing.js +328 -181
  397. package/dist/expandable-container.d.ts +1 -1
  398. package/dist/expandable-container.js +93 -66
  399. package/dist/fading-scroll.d.ts +1 -1
  400. package/dist/fading-scroll.js +1 -1
  401. package/dist/focus-scope-DUTKveod.js +23 -0
  402. package/dist/focus-scope.d.ts +1 -1
  403. package/dist/focus-scope.js +2 -23
  404. package/dist/forms.d.ts +4 -3
  405. package/dist/forms.js +72 -104
  406. package/dist/fourier-field.d.ts +1 -1
  407. package/dist/fourier-field.js +641 -577
  408. package/dist/fourier-math.d.ts +1 -1
  409. package/dist/fourier-math.js +112 -2
  410. package/dist/glass-ui.css +1 -1
  411. package/dist/glass-ui.js +178 -390
  412. package/dist/handmark.d.ts +1 -1
  413. package/dist/handmark.js +143 -125
  414. package/dist/header-ribbon.d.ts +1 -1
  415. package/dist/header-ribbon.js +47 -36
  416. package/dist/icon-chip-BWuxz1-u.js +57 -0
  417. package/dist/icon-chip.d.ts +1 -1
  418. package/dist/icon-chip.js +1 -1
  419. package/dist/icon-tooltip-CO6rw0dZ.js +25 -0
  420. package/dist/icon-tooltip.d.ts +1 -1
  421. package/dist/icon-tooltip.js +1 -1
  422. package/dist/index.d.ts +41 -45
  423. package/dist/infinite-scroll.d.ts +1 -2
  424. package/dist/infinite-scroll.js +19 -17
  425. package/dist/instrument-chassis-Cvstg4_U.js +65 -0
  426. package/dist/instrument-chassis.d.ts +1 -1
  427. package/dist/instrument-chassis.js +1 -1
  428. package/dist/keyboard.js +104 -2
  429. package/dist/label-Cj38tJKG.js +36 -0
  430. package/dist/label.d.ts +1 -1
  431. package/dist/label.js +1 -1
  432. package/dist/labeled-field.d.ts +1 -1
  433. package/dist/labeled-field.js +100 -74
  434. package/dist/liquid-grid.d.ts +1 -0
  435. package/dist/liquid-grid.js +1075 -0
  436. package/dist/menuItemVariants-D6AOzzND.js +36 -0
  437. package/dist/metric-badge.d.ts +1 -1
  438. package/dist/metric-badge.js +79 -2
  439. package/dist/metric-cell.d.ts +1 -1
  440. package/dist/metric-cell.js +9 -9
  441. package/dist/metric-stack.d.ts +1 -1
  442. package/dist/metric-stack.js +23 -23
  443. package/dist/motion-core.js +47 -42
  444. package/dist/motion-curves.js +2 -2
  445. package/dist/motion.js +104 -219
  446. package/dist/motionTempo-CMS5b0Vu.js +7 -0
  447. package/dist/notification-DVs7ODMg.js +52 -0
  448. package/dist/notification.d.ts +1 -1
  449. package/dist/notification.js +1 -1
  450. package/dist/number-field-PvkGedHk.js +140 -0
  451. package/dist/number-field.d.ts +1 -1
  452. package/dist/number-field.js +1 -1
  453. package/dist/pager-dots.d.ts +1 -1
  454. package/dist/pager-dots.js +1 -1
  455. package/dist/paper-backdrop.d.ts +1 -1
  456. package/dist/paper-backdrop.js +31 -2
  457. package/dist/pointerFieldMappings-CZojkgKj.js +65 -0
  458. package/dist/popover-WMgyRSyN.js +256 -0
  459. package/dist/popover.d.ts +1 -1
  460. package/dist/popover.js +1 -1
  461. package/dist/presets-CxeNvxuO.js +95 -0
  462. package/dist/prng-Dz2_9RJu.js +15 -0
  463. package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
  464. package/dist/progress-C-HHuFZy.js +192 -0
  465. package/dist/progress.d.ts +1 -1
  466. package/dist/progress.js +2 -2
  467. package/dist/pulse.d.ts +1 -1
  468. package/dist/pulse.js +6 -4
  469. package/dist/reactive.js +19 -3
  470. package/dist/rendererStatus-C2-zC2Q-.js +40 -0
  471. package/dist/resolveCanvasColor-yarP5bdk.js +93 -0
  472. package/dist/scroll-progress-rim.d.ts +1 -0
  473. package/dist/scroll-progress-rim.js +61 -0
  474. package/dist/search.d.ts +1 -1
  475. package/dist/search.js +201 -160
  476. package/dist/select-BIv4R3Ir.js +326 -0
  477. package/dist/select.d.ts +1 -1
  478. package/dist/select.js +2 -4
  479. package/dist/separator-CBU94kTM.js +62 -0
  480. package/dist/separator.d.ts +1 -1
  481. package/dist/separator.js +1 -1
  482. package/dist/sidebar.js +1 -1
  483. package/dist/slider-Cc_qw6GA.js +166 -0
  484. package/dist/slider.d.ts +1 -1
  485. package/dist/slider.js +1 -1
  486. package/dist/sortable-list.d.ts +1 -1
  487. package/dist/sortable-list.js +384 -59
  488. package/dist/spa-view.d.ts +1 -1
  489. package/dist/spa-view.js +1 -1
  490. package/dist/springPresets-h5VKJQqG.js +58 -0
  491. package/dist/status-dot.d.ts +1 -1
  492. package/dist/status-dot.js +2 -2
  493. package/dist/styles/accessibility.css +1 -0
  494. package/dist/styles/animations.css +1 -409
  495. package/dist/styles/components.css +1 -45
  496. package/dist/styles/draw-in.css +1 -0
  497. package/dist/styles/fonts.css +1 -143
  498. package/dist/styles/glass/a11y-fallback.css +1 -245
  499. package/dist/styles/glass/accent-tone.css +1 -66
  500. package/dist/styles/glass/control-surfaces.css +1 -167
  501. package/dist/styles/glass/deep.css +1 -44
  502. package/dist/styles/glass/defined.css +1 -0
  503. package/dist/styles/glass/glass-atom.css +1 -244
  504. package/dist/styles/glass/glass-capsule.css +1 -143
  505. package/dist/styles/glass/glass-chip.css +1 -215
  506. package/dist/styles/glass/grain-overlay.css +1 -0
  507. package/dist/styles/glass/ladder-undershadow.css +1 -0
  508. package/dist/styles/glass/ladder.css +1 -489
  509. package/dist/styles/glass/liquid-enter.css +1 -252
  510. package/dist/styles/glass/liquid-fill.css +1 -0
  511. package/dist/styles/glass/material-roles.css +1 -0
  512. package/dist/styles/glass/material.css +1 -370
  513. package/dist/styles/glass/progress-rail.css +1 -78
  514. package/dist/styles/glass/reveal.css +1 -156
  515. package/dist/styles/glass/rim.css +1 -122
  516. package/dist/styles/glass/squircle.css +1 -66
  517. package/dist/styles/glass/surface-axis.css +1 -113
  518. package/dist/styles/glass/surfaces-pager.css +1 -0
  519. package/dist/styles/glass/surfaces.css +1 -411
  520. package/dist/styles/glass-refract.css +1 -114
  521. package/dist/styles/glass-specular-track.css +1 -74
  522. package/dist/styles/glass.css +1 -77
  523. package/dist/styles/index.css +1 -260
  524. package/dist/styles/paper.css +1 -284
  525. package/dist/styles/scroll-choreography.css +1 -357
  526. package/dist/styles/scroll-chrome.css +1 -123
  527. package/dist/styles/scroll-driven.css +1 -110
  528. package/dist/styles/theme/bridges.css +1 -380
  529. package/dist/styles/theme/dark.css +1 -7
  530. package/dist/styles/theme/literals.css +1 -103
  531. package/dist/styles/theme/radius.css +1 -117
  532. package/dist/styles/theme.css +1 -33
  533. package/dist/styles/tokens/color-radius.css +1 -297
  534. package/dist/styles/tokens/dark-arm-glass.css +1 -0
  535. package/dist/styles/tokens/dark-arm.css +1 -462
  536. package/dist/styles/tokens/glass-deep.css +1 -104
  537. package/dist/styles/tokens/glass-fx.css +1 -454
  538. package/dist/styles/tokens/glass.css +1 -412
  539. package/dist/styles/tokens/light-dark.css +1 -200
  540. package/dist/styles/tokens/motion-registers.css +1 -0
  541. package/dist/styles/tokens/offsets.css +1 -143
  542. package/dist/styles/tokens/on-glass-fg.css +1 -39
  543. package/dist/styles/tokens/property-regs-specular.css +1 -0
  544. package/dist/styles/tokens/property-regs.css +1 -566
  545. package/dist/styles/tokens/scale-paper.css +1 -493
  546. package/dist/styles/tokens/scheme-motion.css +1 -363
  547. package/dist/styles/tokens/scheme-spring.css +1 -239
  548. package/dist/styles/tokens/scroll-tokens.css +1 -123
  549. package/dist/styles/tokens/shadow.css +1 -226
  550. package/dist/styles/tokens/sizing-config.css +1 -110
  551. package/dist/styles/tokens/sizing.css +1 -450
  552. package/dist/styles/tokens.css +1 -52
  553. package/dist/styles/tokens.d.ts +53 -0
  554. package/dist/styles/tokens.ts +58 -0
  555. package/dist/styles/transitions.css +1 -263
  556. package/dist/styles/typography/scale.css +1 -153
  557. package/dist/styles/typography/semantic.css +1 -233
  558. package/dist/styles/typography/utilities.css +1 -174
  559. package/dist/styles/typography.css +1 -46
  560. package/dist/styles/utilities/a11y-overrides.css +1 -184
  561. package/dist/styles/utilities/base-misc.css +1 -307
  562. package/dist/styles/utilities/base.css +1 -327
  563. package/dist/styles/utilities/btn.css +1 -301
  564. package/dist/styles/utilities/components.css +1 -342
  565. package/dist/styles/utilities/metal.css +1 -215
  566. package/dist/styles/utilities.css +1 -26
  567. package/dist/styles/view-transition.css +1 -67
  568. package/dist/styles/viz-reveal.css +1 -0
  569. package/dist/surface.d.ts +1 -0
  570. package/dist/surface.js +3 -0
  571. package/dist/switch-Boj4Ucn5.js +49 -0
  572. package/dist/switch.d.ts +1 -1
  573. package/dist/switch.js +1 -1
  574. package/dist/tabs.d.ts +1 -1
  575. package/dist/tabs.js +198 -252
  576. package/dist/timeline.d.ts +1 -1
  577. package/dist/timeline.js +199 -183
  578. package/dist/toast-kAbchIN2.js +281 -0
  579. package/dist/toast.d.ts +1 -1
  580. package/dist/toast.js +1 -1
  581. package/dist/toggle-group-BPchFsns.js +178 -0
  582. package/dist/toggle-group.d.ts +1 -1
  583. package/dist/toggle-group.js +1 -1
  584. package/dist/tokens.d.ts +1 -53
  585. package/dist/tokens.js +1 -1
  586. package/dist/tooltip-BmOQJzh0.js +111 -0
  587. package/dist/tooltip.d.ts +1 -1
  588. package/dist/tooltip.js +1 -1
  589. package/dist/typewriter.d.ts +1 -1
  590. package/dist/typewriter.js +158 -173
  591. package/dist/useAccentTone-C-p6WdPe.js +23 -0
  592. package/dist/useAnimatedNumber-BRVVaFFc.js +40 -0
  593. package/dist/useControlSize-CFfOk8I-.js +9 -0
  594. package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
  595. package/dist/useDocumentVisibility-YeBDGqtI.js +17 -0
  596. package/dist/useDragMorph-7ygF9O0m.js +93 -0
  597. package/dist/useFuzzySearch-BOgep7RE.js +177 -0
  598. package/dist/useGooMorph-D1F6QJlH.js +349 -0
  599. package/dist/useIntersectionPause-B-dbxl9w.js +39 -0
  600. package/dist/useLeadTrail-BYu8dq4G.js +74 -0
  601. package/dist/useLiquidPress-BYcwwGQV.js +68 -0
  602. package/dist/useMotionAxis-DCCXMC-i.js +20 -0
  603. package/dist/usePointerVelocityField-BdvnO0py.js +122 -0
  604. package/dist/useRAFLoop-BtwQ9DyY.js +109 -0
  605. package/dist/useRoutePointer-BDNMFN73.js +52 -0
  606. package/dist/useScrollProgress-DZI4nf4v.js +35 -0
  607. package/dist/useSelectionGroup-LDzBdR1Y.js +215 -0
  608. package/dist/useSpring-BBSKFx_0.js +41 -0
  609. package/dist/useSpringMount-C6-DBx4e.js +71 -0
  610. package/dist/useSpringPress-BypV_KO-.js +36 -0
  611. package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
  612. package/dist/useTabRovingFocus-DkLYwo4L.js +143 -0
  613. package/dist/useTouchGate-Cj5fOkTv.js +84 -0
  614. package/dist/useUserInvalidAria-Cr4nR3tu.js +25 -0
  615. package/dist/valueDomain-B8L04u3U.js +13 -0
  616. package/dist/watercolor-dot.d.ts +1 -1
  617. package/dist/watercolor-dot.js +54 -50
  618. package/package.json +383 -831
  619. package/src/styles/accessibility.css +48 -0
  620. package/src/styles/animations.css +82 -23
  621. package/src/styles/draw-in.css +89 -0
  622. package/src/styles/glass/a11y-fallback.css +19 -76
  623. package/src/styles/glass/control-surfaces.css +20 -16
  624. package/src/styles/glass/deep.css +74 -4
  625. package/src/styles/glass/defined.css +88 -0
  626. package/src/styles/glass/glass-atom.css +23 -20
  627. package/src/styles/glass/glass-capsule.css +34 -2
  628. package/src/styles/glass/glass-chip.css +13 -17
  629. package/src/styles/glass/grain-overlay.css +79 -0
  630. package/src/styles/glass/ladder-undershadow.css +61 -0
  631. package/src/styles/glass/ladder.css +96 -133
  632. package/src/styles/glass/liquid-enter.css +12 -24
  633. package/src/styles/glass/liquid-fill.css +65 -0
  634. package/src/styles/glass/material-roles.css +18 -0
  635. package/src/styles/glass/material.css +152 -22
  636. package/src/styles/glass/reveal.css +197 -20
  637. package/src/styles/glass/squircle.css +18 -26
  638. package/src/styles/glass/surface-axis.css +24 -1
  639. package/src/styles/glass/surfaces-pager.css +79 -0
  640. package/src/styles/glass/surfaces.css +121 -98
  641. package/src/styles/glass.css +38 -5
  642. package/src/styles/index.css +86 -50
  643. package/src/styles/paper.css +105 -202
  644. package/src/styles/scroll-choreography.css +29 -92
  645. package/src/styles/scroll-driven.css +18 -5
  646. package/src/styles/theme/bridges.css +8 -8
  647. package/src/styles/theme/literals.css +2 -1
  648. package/src/styles/theme/radius.css +43 -12
  649. package/src/styles/tokens/color-radius.css +15 -4
  650. package/src/styles/tokens/dark-arm-glass.css +55 -0
  651. package/src/styles/tokens/dark-arm.css +62 -69
  652. package/src/styles/tokens/glass-deep.css +102 -80
  653. package/src/styles/tokens/glass-fx.css +36 -10
  654. package/src/styles/tokens/glass.css +143 -78
  655. package/src/styles/tokens/light-dark.css +20 -4
  656. package/src/styles/tokens/motion-registers.css +93 -0
  657. package/src/styles/tokens/offsets.css +0 -1
  658. package/src/styles/tokens/property-regs-specular.css +160 -0
  659. package/src/styles/tokens/property-regs.css +68 -186
  660. package/src/styles/tokens/scale-paper.css +6 -4
  661. package/src/styles/tokens/scheme-motion.css +62 -0
  662. package/src/styles/tokens/scheme-spring.css +147 -104
  663. package/src/styles/tokens/scroll-tokens.css +25 -11
  664. package/src/styles/tokens/shadow.css +31 -51
  665. package/src/styles/tokens/sizing.css +62 -7
  666. package/src/styles/tokens.css +16 -0
  667. package/src/styles/tokens.ts +58 -0
  668. package/src/styles/transitions.css +108 -143
  669. package/src/styles/typography/scale.css +13 -0
  670. package/src/styles/typography/semantic.css +10 -10
  671. package/src/styles/typography/utilities.css +30 -7
  672. package/src/styles/utilities/a11y-overrides.css +2 -2
  673. package/src/styles/utilities/base.css +18 -8
  674. package/src/styles/utilities/btn.css +35 -30
  675. package/src/styles/utilities/components.css +16 -21
  676. package/src/styles/utilities/metal.css +86 -29
  677. package/src/styles/utilities.css +4 -6
  678. package/src/styles/viz-reveal.css +63 -0
  679. package/dist/CardAction-DlVP2evz.js +0 -272
  680. package/dist/CollapsibleContent-D7UNsXQr.js +0 -63
  681. package/dist/CommandShortcut-By-VQcLO.js +0 -302
  682. package/dist/ConfiguratorRow-YMXdINHx.js +0 -143
  683. package/dist/ContextMenuContent-CMWn6huB.js +0 -90
  684. package/dist/ContextMenuSubContent-DvwWCUc0.js +0 -245
  685. package/dist/DataTable-C4tG3eIJ.js +0 -512
  686. package/dist/DialogContent-D8U9ZfWS.js +0 -121
  687. package/dist/DialogFooter-DoLy0ewI.js +0 -80
  688. package/dist/DialogScrollContent-BMekN7gq.js +0 -93
  689. package/dist/FadingScroll-P8B30rAD.js +0 -76
  690. package/dist/HoverCardContent-DAmGYglo.js +0 -88
  691. package/dist/HoverPopover-DYpBOzzF.js +0 -96
  692. package/dist/IconChip-CQa7XZYc.js +0 -57
  693. package/dist/IconTooltip-_df8M3xm.js +0 -25
  694. package/dist/Input-CyU4_hIC.js +0 -57
  695. package/dist/InstrumentChassis-UUJX0-mW.js +0 -65
  696. package/dist/Label-B_HPqi_q.js +0 -36
  697. package/dist/MetricBadge-DQt_dGah.js +0 -79
  698. package/dist/ModalOverlay-DfAf7o15.js +0 -53
  699. package/dist/Notification-BlSPJhtZ.js +0 -43
  700. package/dist/NumberFieldContent-Z3VxGu_6.js +0 -140
  701. package/dist/PagerDots-CYlqVFd4.js +0 -196
  702. package/dist/PaperBackdrop-DYWgrnh8.js +0 -42
  703. package/dist/PopoverContent-BuKyHZSz.js +0 -127
  704. package/dist/Progress-C9SsdwIZ.js +0 -274
  705. package/dist/ScrollingText-DY3W1Jfh.js +0 -40
  706. package/dist/SelectGroup-Dcczq44n.js +0 -31
  707. package/dist/SelectScrollDownButton-3mFHX_R-.js +0 -260
  708. package/dist/SelectSeparator-CNRGG7Ew.js +0 -49
  709. package/dist/Separator-Cf9-JFgi.js +0 -44
  710. package/dist/Switch-uf-UKPA2.js +0 -49
  711. package/dist/Toaster-ozrsR4mP.js +0 -274
  712. package/dist/ToggleGroupItem-BpzaVzNm.js +0 -170
  713. package/dist/TooltipProvider-QQVM_80r.js +0 -109
  714. package/dist/api/index.d.ts +0 -34
  715. package/dist/api/types-extra.d.ts +0 -39
  716. package/dist/api.js +0 -2
  717. package/dist/badge-Bt14yURi.js +0 -72
  718. package/dist/border-progress.d.ts +0 -1
  719. package/dist/border-progress.js +0 -98
  720. package/dist/button-D1W9PrzI.js +0 -130
  721. package/dist/chipVariants-BJQ0I2kB.js +0 -18
  722. package/dist/cn-DJXf4yaB.js +0 -97
  723. package/dist/coalesceMetric-5qIeZnTx.js +0 -13
  724. package/dist/color-B9jZdhJX.js +0 -116
  725. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +0 -56
  726. package/dist/components/custom/aurora/Aurora.vue.d.ts +0 -101
  727. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +0 -39
  728. package/dist/components/custom/aurora/composables/atoms.d.ts +0 -142
  729. package/dist/components/custom/aurora/composables/color.d.ts +0 -93
  730. package/dist/components/custom/aurora/composables/cursorModel.d.ts +0 -78
  731. package/dist/components/custom/aurora/composables/frameLoop.d.ts +0 -39
  732. package/dist/components/custom/aurora/composables/glSetup.d.ts +0 -29
  733. package/dist/components/custom/aurora/composables/runtime.d.ts +0 -127
  734. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -100
  735. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +0 -60
  736. package/dist/components/custom/aurora/composables/useAurora.d.ts +0 -86
  737. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +0 -33
  738. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +0 -37
  739. package/dist/components/custom/aurora/constants/presets.d.ts +0 -258
  740. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +0 -1
  741. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -1
  742. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +0 -1
  743. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +0 -1
  744. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +0 -2
  745. package/dist/components/custom/aurora/index.d.ts +0 -13
  746. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +0 -46
  747. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +0 -25
  748. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +0 -18
  749. package/dist/components/custom/border-progress/constants.d.ts +0 -59
  750. package/dist/components/custom/border-progress/index.d.ts +0 -4
  751. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +0 -21
  752. package/dist/components/custom/completion-seal/constants.d.ts +0 -46
  753. package/dist/components/custom/concentric/Concentric.vue.d.ts +0 -42
  754. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +0 -23
  755. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +0 -26
  756. package/dist/components/custom/concentric/composables/levelField.d.ts +0 -50
  757. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +0 -17
  758. package/dist/components/custom/concentric/composables/useConcentric.d.ts +0 -35
  759. package/dist/components/custom/concentric/constants.d.ts +0 -88
  760. package/dist/components/custom/concentric/index.d.ts +0 -5
  761. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +0 -4
  762. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +0 -1
  763. package/dist/components/custom/configurator/Configurator.vue.d.ts +0 -160
  764. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +0 -79
  765. package/dist/components/custom/configurator/density.d.ts +0 -25
  766. package/dist/components/custom/configurator/index.d.ts +0 -6
  767. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +0 -32
  768. package/dist/components/custom/confirm-dialog/index.d.ts +0 -1
  769. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -33
  770. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +0 -10
  771. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  772. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
  773. package/dist/components/custom/constellation/composables/useConstellation.d.ts +0 -19
  774. package/dist/components/custom/constellation/constants.d.ts +0 -94
  775. package/dist/components/custom/constellation/constellationField.d.ts +0 -72
  776. package/dist/components/custom/constellation/constellationInteraction.d.ts +0 -141
  777. package/dist/components/custom/constellation/constellationRender.d.ts +0 -25
  778. package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
  779. package/dist/components/custom/constellation/index.d.ts +0 -6
  780. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
  781. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
  782. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +0 -2
  783. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
  784. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +0 -34
  785. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +0 -22
  786. package/dist/components/custom/deck/constants.d.ts +0 -14
  787. package/dist/components/custom/deck/index.d.ts +0 -8
  788. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +0 -46
  789. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +0 -30
  790. package/dist/components/custom/dock/DockIconButton.vue.d.ts +0 -72
  791. package/dist/components/custom/dock/DockLayer.vue.d.ts +0 -34
  792. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +0 -51
  793. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +0 -19
  794. package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +0 -29
  795. package/dist/components/custom/dock/DockStack.vue.d.ts +0 -78
  796. package/dist/components/custom/dock/DockTabButton.vue.d.ts +0 -39
  797. package/dist/components/custom/dock/GlassDock.vue.d.ts +0 -47
  798. package/dist/components/custom/dock/composables/dockContext.d.ts +0 -47
  799. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +0 -36
  800. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -79
  801. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +0 -86
  802. package/dist/components/custom/dock/composables/index.d.ts +0 -14
  803. package/dist/components/custom/dock/composables/railProjection.d.ts +0 -45
  804. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +0 -23
  805. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +0 -192
  806. package/dist/components/custom/dock/composables/useDockFission.d.ts +0 -158
  807. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +0 -18
  808. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  809. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +0 -44
  810. package/dist/components/custom/dock/composables/useDockSearch.d.ts +0 -85
  811. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -214
  812. package/dist/components/custom/dock/composables/useDockState.d.ts +0 -70
  813. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -90
  814. package/dist/components/custom/dock/constants.d.ts +0 -98
  815. package/dist/components/custom/dock/index.d.ts +0 -24
  816. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +0 -42
  817. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +0 -104
  818. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +0 -8
  819. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +0 -9
  820. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +0 -12
  821. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +0 -7
  822. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +0 -65
  823. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +0 -35
  824. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +0 -32
  825. package/dist/components/custom/dot-flow-field/constants.d.ts +0 -120
  826. package/dist/components/custom/dot-flow-field/index.d.ts +0 -5
  827. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +0 -1
  828. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +0 -33
  829. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +0 -2
  830. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +0 -43
  831. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +0 -89
  832. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -61
  833. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +0 -34
  834. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +0 -34
  835. package/dist/components/custom/dot-matrix/constants.d.ts +0 -72
  836. package/dist/components/custom/dot-matrix/index.d.ts +0 -5
  837. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +0 -4
  838. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +0 -1
  839. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +0 -33
  840. package/dist/components/custom/easing/EasingPicker.vue.d.ts +0 -49
  841. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +0 -80
  842. package/dist/components/custom/easing/constants.d.ts +0 -28
  843. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
  844. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +0 -31
  845. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +0 -58
  846. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -24
  847. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -31
  848. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -56
  849. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +0 -63
  850. package/dist/components/custom/fourier-field/constants.d.ts +0 -117
  851. package/dist/components/custom/fourier-field/index.d.ts +0 -31
  852. package/dist/components/custom/fourier-field/math.d.ts +0 -86
  853. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  854. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  855. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -49
  856. package/dist/components/custom/glass-panel/index.d.ts +0 -2
  857. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +0 -71
  858. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  859. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +0 -62
  860. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +0 -69
  861. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +0 -23
  862. package/dist/components/custom/goo-blob/constants.d.ts +0 -82
  863. package/dist/components/custom/goo-blob/index.d.ts +0 -7
  864. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  865. package/dist/components/custom/goo-blob/types.d.ts +0 -244
  866. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +0 -49
  867. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +0 -24
  868. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +0 -79
  869. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -45
  870. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +0 -31
  871. package/dist/components/custom/goo-dot-matrix/constants.d.ts +0 -115
  872. package/dist/components/custom/goo-dot-matrix/index.d.ts +0 -5
  873. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +0 -13
  874. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +0 -4
  875. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  876. package/dist/components/custom/handmark/composables/useHandMark.d.ts +0 -89
  877. package/dist/components/custom/handmark/constants.d.ts +0 -59
  878. package/dist/components/custom/handmark/geometry.d.ts +0 -85
  879. package/dist/components/custom/handmark/index.d.ts +0 -27
  880. package/dist/components/custom/handmark/types.d.ts +0 -62
  881. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  882. package/dist/components/custom/header-ribbon/index.d.ts +0 -2
  883. package/dist/components/custom/header-ribbon/types.d.ts +0 -7
  884. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +0 -132
  885. package/dist/components/custom/hover-popover/index.d.ts +0 -1
  886. package/dist/components/custom/infinite-scroll/index.d.ts +0 -1
  887. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +0 -108
  888. package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +0 -31
  889. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -40
  890. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +0 -108
  891. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +0 -120
  892. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +0 -92
  893. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +0 -48
  894. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +0 -39
  895. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +0 -42
  896. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +0 -105
  897. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +0 -18
  898. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +0 -21
  899. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  900. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +0 -31
  901. package/dist/components/custom/paper-grid/constants.d.ts +0 -95
  902. package/dist/components/custom/paper-grid/index.d.ts +0 -5
  903. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +0 -4
  904. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +0 -1
  905. package/dist/components/custom/pulse/Pulse.vue.d.ts +0 -53
  906. package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +0 -20
  907. package/dist/components/custom/scrolling-text/index.d.ts +0 -1
  908. package/dist/components/custom/search/FuzzySearch.vue.d.ts +0 -22
  909. package/dist/components/custom/search/SearchBar.vue.d.ts +0 -38
  910. package/dist/components/custom/search/searchVariants.d.ts +0 -19
  911. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +0 -50
  912. package/dist/components/custom/selectable-chip/chipVariants.d.ts +0 -39
  913. package/dist/components/custom/selectable-chip/index.d.ts +0 -2
  914. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +0 -15
  915. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +0 -38
  916. package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +0 -38
  917. package/dist/components/custom/sortable-list/SortableList.vue.d.ts +0 -76
  918. package/dist/components/custom/sortable-list/context.d.ts +0 -25
  919. package/dist/components/custom/sortable-list/index.d.ts +0 -4
  920. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +0 -39
  921. package/dist/components/custom/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
  922. package/dist/components/custom/stacked-icons/index.d.ts +0 -2
  923. package/dist/components/custom/stacked-icons/types.d.ts +0 -18
  924. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +0 -99
  925. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +0 -42
  926. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +0 -58
  927. package/dist/components/custom/tabs/constants.d.ts +0 -44
  928. package/dist/components/custom/tabs/index.d.ts +0 -2
  929. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
  930. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +0 -118
  931. package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +0 -114
  932. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +0 -41
  933. package/dist/components/custom/toggle-chip/index.d.ts +0 -28
  934. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +0 -85
  935. package/dist/components/custom/typewriter/composables/useTypewriter.d.ts +0 -22
  936. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +0 -74
  937. package/dist/components/custom/watercolor-dot/prng.d.ts +0 -5
  938. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +0 -29
  939. package/dist/components/ui/_shared/ModalOverlay.vue.d.ts +0 -90
  940. package/dist/components/ui/_shared/index.d.ts +0 -6
  941. package/dist/components/ui/_shared/menuItemVariants.d.ts +0 -51
  942. package/dist/components/ui/_shared/useControlSize.d.ts +0 -46
  943. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +0 -55
  944. package/dist/components/ui/alert/Alert.vue.d.ts +0 -19
  945. package/dist/components/ui/alert/index.d.ts +0 -8
  946. package/dist/components/ui/avatar/Avatar.vue.d.ts +0 -23
  947. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +0 -8
  948. package/dist/components/ui/avatar/index.d.ts +0 -9
  949. package/dist/components/ui/badge/Badge.vue.d.ts +0 -34
  950. package/dist/components/ui/badge/index.d.ts +0 -8
  951. package/dist/components/ui/button/Button.vue.d.ts +0 -29
  952. package/dist/components/ui/button/index.d.ts +0 -7
  953. package/dist/components/ui/card/Card.vue.d.ts +0 -168
  954. package/dist/components/ui/card/CardHeader.vue.d.ts +0 -81
  955. package/dist/components/ui/card/ScrollCard.vue.d.ts +0 -33
  956. package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -37
  957. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +0 -14
  958. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +0 -22
  959. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +0 -22
  960. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +0 -50
  961. package/dist/components/ui/carousel/index.d.ts +0 -9
  962. package/dist/components/ui/carousel/useCarousel.d.ts +0 -20
  963. package/dist/components/ui/combobox/Combobox.vue.d.ts +0 -29
  964. package/dist/components/ui/combobox/ComboboxList.vue.d.ts +0 -32
  965. package/dist/components/ui/combobox/ComboboxSeparator.vue.d.ts +0 -18
  966. package/dist/components/ui/combobox/ComboboxViewport.vue.d.ts +0 -18
  967. package/dist/components/ui/combobox/index.d.ts +0 -11
  968. package/dist/components/ui/command/Command.vue.d.ts +0 -38
  969. package/dist/components/ui/command/CommandDialog.vue.d.ts +0 -24
  970. package/dist/components/ui/command/index.d.ts +0 -9
  971. package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +0 -18
  972. package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +0 -24
  973. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -34
  974. package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +0 -23
  975. package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +0 -19
  976. package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +0 -18
  977. package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +0 -22
  978. package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +0 -8
  979. package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +0 -17
  980. package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +0 -34
  981. package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +0 -19
  982. package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +0 -14
  983. package/dist/components/ui/context-menu/index.d.ts +0 -12
  984. package/dist/components/ui/data-table/DataTable.vue.d.ts +0 -82
  985. package/dist/components/ui/data-table/index.d.ts +0 -3
  986. package/dist/components/ui/data-table/types.d.ts +0 -56
  987. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -93
  988. package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +0 -33
  989. package/dist/components/ui/dialog/index.d.ts +0 -9
  990. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -86
  991. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +0 -47
  992. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +0 -26
  993. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +0 -17
  994. package/dist/components/ui/drawer/constants.d.ts +0 -47
  995. package/dist/components/ui/drawer/index.d.ts +0 -35
  996. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +0 -18
  997. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
  998. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +0 -14
  999. package/dist/components/ui/dropdown-menu/index.d.ts +0 -15
  1000. package/dist/components/ui/hover-card/HoverCard.vue.d.ts +0 -18
  1001. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +0 -23
  1002. package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +0 -14
  1003. package/dist/components/ui/hover-card/index.d.ts +0 -3
  1004. package/dist/components/ui/index.d.ts +0 -41
  1005. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +0 -46
  1006. package/dist/components/ui/metric-pill/index.d.ts +0 -1
  1007. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +0 -28
  1008. package/dist/components/ui/multi-select/index.d.ts +0 -7
  1009. package/dist/components/ui/notification/Notification.vue.d.ts +0 -16
  1010. package/dist/components/ui/popover/Popover.vue.d.ts +0 -18
  1011. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -42
  1012. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -14
  1013. package/dist/components/ui/progress/Progress.vue.d.ts +0 -49
  1014. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +0 -25
  1015. package/dist/components/ui/progress/ProgressGradient.vue.d.ts +0 -25
  1016. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +0 -47
  1017. package/dist/components/ui/progress/index.d.ts +0 -5
  1018. package/dist/components/ui/progress/useProgressGeometry.d.ts +0 -60
  1019. package/dist/components/ui/section/Section.vue.d.ts +0 -73
  1020. package/dist/components/ui/section/index.d.ts +0 -1
  1021. package/dist/components/ui/select/SelectContent.vue.d.ts +0 -42
  1022. package/dist/components/ui/select/index.d.ts +0 -10
  1023. package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -18
  1024. package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -14
  1025. package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -59
  1026. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -18
  1027. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -17
  1028. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -17
  1029. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -18
  1030. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -14
  1031. package/dist/components/ui/sheet/index.d.ts +0 -13
  1032. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +0 -35
  1033. package/dist/components/ui/slider/Slider.vue.d.ts +0 -37
  1034. package/dist/components/ui/slider/index.d.ts +0 -46
  1035. package/dist/components/ui/table/Table.vue.d.ts +0 -17
  1036. package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -19
  1037. package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -18
  1038. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +0 -11
  1039. package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -28
  1040. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -18
  1041. package/dist/components/ui/tabs/index.d.ts +0 -5
  1042. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +0 -28
  1043. package/dist/components/ui/toast/Toast.vue.d.ts +0 -107
  1044. package/dist/components/ui/toast/index.d.ts +0 -9
  1045. package/dist/components/ui/toast/use-toast.d.ts +0 -182
  1046. package/dist/components/ui/toggle/Toggle.vue.d.ts +0 -29
  1047. package/dist/components/ui/toggle/index.d.ts +0 -26
  1048. package/dist/composables/glass/useGlassRenderer.d.ts +0 -44
  1049. package/dist/composables/glass/useVizChoreography.d.ts +0 -123
  1050. package/dist/composables/motion/core/useHaptic.d.ts +0 -48
  1051. package/dist/composables/motion/useCelebrationBurst.d.ts +0 -50
  1052. package/dist/composables/motion/useLiquidMorph.d.ts +0 -108
  1053. package/dist/composables/motion/useMorphField.d.ts +0 -157
  1054. package/dist/composables/sortable/dragController.d.ts +0 -44
  1055. package/dist/composables/sortable/types.d.ts +0 -133
  1056. package/dist/composables/sortable/useSortable.d.ts +0 -34
  1057. package/dist/concentric.d.ts +0 -1
  1058. package/dist/concentric.js +0 -805
  1059. package/dist/confirm-dialog.d.ts +0 -1
  1060. package/dist/confirm-dialog.js +0 -82
  1061. package/dist/context-menu.d.ts +0 -1
  1062. package/dist/context-menu.js +0 -3
  1063. package/dist/createCanvasLifecycle-CuCrGRfq.js +0 -173
  1064. package/dist/dockContext-gFVS2gMg.js +0 -18
  1065. package/dist/dot-flow-field.d.ts +0 -1
  1066. package/dist/dot-flow-field.js +0 -1485
  1067. package/dist/dot-matrix.d.ts +0 -1
  1068. package/dist/dot-matrix.js +0 -774
  1069. package/dist/dotMatrixField-CRO0ZFk4.js +0 -48
  1070. package/dist/dropdown-menu-CCfcCQ68.js +0 -369
  1071. package/dist/glass-panel.d.ts +0 -1
  1072. package/dist/glass-panel.js +0 -113
  1073. package/dist/goo-blob.d.ts +0 -1
  1074. package/dist/goo-blob.js +0 -348
  1075. package/dist/goo-dot-matrix.d.ts +0 -1
  1076. package/dist/goo-dot-matrix.js +0 -811
  1077. package/dist/hover-card.d.ts +0 -1
  1078. package/dist/hover-card.js +0 -2
  1079. package/dist/hover-popover.d.ts +0 -1
  1080. package/dist/hover-popover.js +0 -2
  1081. package/dist/math-5RcIgCB4.js +0 -51
  1082. package/dist/menuItemVariants-DAXquKja.js +0 -36
  1083. package/dist/paper-grid.d.ts +0 -1
  1084. package/dist/paper-grid.js +0 -761
  1085. package/dist/paperGrid-CXCSMbZ1.js +0 -191
  1086. package/dist/presets-QvYgnFIZ.js +0 -85
  1087. package/dist/prng-B5tIXTtj.js +0 -15
  1088. package/dist/procedural-color.wgsl-C1Y5PkM6.js +0 -4
  1089. package/dist/resolveCanvasColor-DsSJk06I.js +0 -93
  1090. package/dist/scrolling-text.d.ts +0 -1
  1091. package/dist/scrolling-text.js +0 -2
  1092. package/dist/selectable-chip.d.ts +0 -1
  1093. package/dist/selectable-chip.js +0 -48
  1094. package/dist/sheet-DUCIoOe0.js +0 -218
  1095. package/dist/sheet.d.ts +0 -1
  1096. package/dist/sheet.js +0 -2
  1097. package/dist/slider-CcICPe3u.js +0 -149
  1098. package/dist/spectrum-walk-cBNSx_zm.js +0 -33
  1099. package/dist/springPresets-DfoQ6XRY.js +0 -64
  1100. package/dist/stacked-icons.d.ts +0 -1
  1101. package/dist/stacked-icons.js +0 -98
  1102. package/dist/styles/border-progress.css +0 -109
  1103. package/dist/styles/cards.css +0 -448
  1104. package/dist/styles/completion-seal.css +0 -131
  1105. package/dist/styles/configurator.css +0 -297
  1106. package/dist/styles/critical-partition.mjs +0 -195
  1107. package/dist/styles/critical.css +0 -12
  1108. package/dist/styles/deferred.css +0 -35
  1109. package/dist/styles/dock/adaptive-legibility.css +0 -119
  1110. package/dist/styles/dock/cta-seat.css +0 -87
  1111. package/dist/styles/dock/density.css +0 -455
  1112. package/dist/styles/dock/fission-bridge.css +0 -552
  1113. package/dist/styles/dock/layer-group.css +0 -333
  1114. package/dist/styles/dock/layers.css +0 -413
  1115. package/dist/styles/dock/morph-bridge.css +0 -172
  1116. package/dist/styles/dock/morph.css +0 -430
  1117. package/dist/styles/dock/overflow.css +0 -292
  1118. package/dist/styles/dock/search.css +0 -68
  1119. package/dist/styles/dock/section.css +0 -59
  1120. package/dist/styles/dock/shape.css +0 -250
  1121. package/dist/styles/dock/shell.css +0 -498
  1122. package/dist/styles/dock/stack-rail.css +0 -352
  1123. package/dist/styles/dock-controls/dark-mode-toggle.css +0 -122
  1124. package/dist/styles/dock-controls/icon-button.css +0 -189
  1125. package/dist/styles/dock-controls/tab-button.css +0 -143
  1126. package/dist/styles/dock-controls/touch-floor.css +0 -94
  1127. package/dist/styles/dock-controls/triggers.css +0 -157
  1128. package/dist/styles/dock-controls.css +0 -92
  1129. package/dist/styles/dock.css +0 -173
  1130. package/dist/styles/drawer.css +0 -406
  1131. package/dist/styles/feedback-tone.css +0 -104
  1132. package/dist/styles/floating-panel.css +0 -51
  1133. package/dist/styles/glass/liquid-morph.css +0 -850
  1134. package/dist/styles/hover-popover.css +0 -47
  1135. package/dist/styles/icon-chip.css +0 -256
  1136. package/dist/styles/instrument-chassis.css +0 -453
  1137. package/dist/styles/jubilance.css +0 -65
  1138. package/dist/styles/menu.css +0 -127
  1139. package/dist/styles/motion/morph-field.css +0 -229
  1140. package/dist/styles/segmented-tabs.css +0 -447
  1141. package/dist/styles/select.css +0 -201
  1142. package/dist/styles/utilities/animate.css +0 -29
  1143. package/dist/toggle-chip.d.ts +0 -1
  1144. package/dist/toggle-chip.js +0 -46
  1145. package/dist/uniformBridgeWGPU-BCse1SHU.js +0 -1268
  1146. package/dist/useAnimatedNumber-BntskVdQ.js +0 -40
  1147. package/dist/useConfiguratorState-22BcULzF.js +0 -164
  1148. package/dist/useControlSize-DAZ062x7.js +0 -9
  1149. package/dist/useDockCtaReceive-DX7RDb6_.js +0 -88
  1150. package/dist/useDragMorph-DGLSewwB.js +0 -102
  1151. package/dist/useFuzzySearch-0fTYOhS4.js +0 -177
  1152. package/dist/useGlobalDark-B4HO9LXG.js +0 -53
  1153. package/dist/useGooMorph-Cs13NgYL.js +0 -104
  1154. package/dist/useGpuSubstrate-Ceet70xq.js +0 -347
  1155. package/dist/useHaptic-CPz5BT9I.js +0 -134
  1156. package/dist/useIntersectionPause-DO8Vl4gs.js +0 -53
  1157. package/dist/useInterval-BVUI-sez.js +0 -18
  1158. package/dist/useKeyboardShortcuts-BEut54Tk.js +0 -99
  1159. package/dist/useLiquidPress-CtOQ8Z0_.js +0 -43
  1160. package/dist/useMorphField-ogBM7ubT.js +0 -141
  1161. package/dist/usePointerVelocityField-BrkqZFhj.js +0 -91
  1162. package/dist/useScrollChrome-JuImi1DM.js +0 -258
  1163. package/dist/useScrollProgress-A0M6qRl7.js +0 -35
  1164. package/dist/useSortable-DQV_UNDw.js +0 -246
  1165. package/dist/useSpring-C0jyvEJB.js +0 -40
  1166. package/dist/useSpringMount-DFxtzmkR.js +0 -71
  1167. package/dist/useSpringPress-VM9RgVq3.js +0 -36
  1168. package/dist/useSurfaceAxis-Ci7Dnaw2.js +0 -7
  1169. package/dist/useTextHighlight-Bma3UlKA.js +0 -72
  1170. package/dist/useTouchGate-B1Lf9XqN.js +0 -84
  1171. package/dist/useUserInvalidAria-EmmwWPOl.js +0 -29
  1172. package/dist/useViewportReady-C9pYnn7K.js +0 -191
  1173. package/dist/utils/cn.d.ts +0 -27
  1174. package/dist/utils/index.d.ts +0 -4
  1175. package/dist/utils/moveBefore.d.ts +0 -15
  1176. package/dist/utils/platformSupport.d.ts +0 -8
  1177. package/dist/vendor-B2qOlYY3.js +0 -239
  1178. package/dist/virtual.d.ts +0 -1
  1179. package/dist/virtual.js +0 -225
  1180. package/src/styles/border-progress.css +0 -109
  1181. package/src/styles/cards.css +0 -446
  1182. package/src/styles/completion-seal.css +0 -131
  1183. package/src/styles/configurator.css +0 -297
  1184. package/src/styles/critical-partition.mjs +0 -195
  1185. package/src/styles/dock/adaptive-legibility.css +0 -119
  1186. package/src/styles/dock/cta-seat.css +0 -87
  1187. package/src/styles/dock/density.css +0 -455
  1188. package/src/styles/dock/fission-bridge.css +0 -552
  1189. package/src/styles/dock/layer-group.css +0 -333
  1190. package/src/styles/dock/layers.css +0 -413
  1191. package/src/styles/dock/morph-bridge.css +0 -172
  1192. package/src/styles/dock/morph.css +0 -430
  1193. package/src/styles/dock/overflow.css +0 -292
  1194. package/src/styles/dock/search.css +0 -68
  1195. package/src/styles/dock/section.css +0 -59
  1196. package/src/styles/dock/shape.css +0 -250
  1197. package/src/styles/dock/shell.css +0 -498
  1198. package/src/styles/dock/stack-rail.css +0 -352
  1199. package/src/styles/dock-controls/dark-mode-toggle.css +0 -122
  1200. package/src/styles/dock-controls/icon-button.css +0 -189
  1201. package/src/styles/dock-controls/tab-button.css +0 -143
  1202. package/src/styles/dock-controls/touch-floor.css +0 -94
  1203. package/src/styles/dock-controls/triggers.css +0 -157
  1204. package/src/styles/dock-controls.css +0 -92
  1205. package/src/styles/dock.css +0 -173
  1206. package/src/styles/drawer.css +0 -398
  1207. package/src/styles/feedback-tone.css +0 -104
  1208. package/src/styles/floating-panel.css +0 -49
  1209. package/src/styles/glass/liquid-morph.css +0 -850
  1210. package/src/styles/hover-popover.css +0 -45
  1211. package/src/styles/icon-chip.css +0 -256
  1212. package/src/styles/instrument-chassis.css +0 -449
  1213. package/src/styles/jubilance.css +0 -65
  1214. package/src/styles/menu.css +0 -127
  1215. package/src/styles/motion/morph-field.css +0 -229
  1216. package/src/styles/segmented-tabs.css +0 -445
  1217. package/src/styles/select.css +0 -201
  1218. package/src/styles/utilities/animate.css +0 -29
  1219. /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  1220. /package/dist/{compile-INR_tPk_.js → compile-DK3Fri1B.js} +0 -0
  1221. /package/dist/components/{ui/_shared → _shared}/useStalePropWarning.d.ts +0 -0
  1222. /package/dist/components/{ui/accordion → accordion}/Accordion.vue.d.ts +0 -0
  1223. /package/dist/components/{ui/accordion → accordion}/AccordionContent.vue.d.ts +0 -0
  1224. /package/dist/components/{ui/accordion → accordion}/AccordionItem.vue.d.ts +0 -0
  1225. /package/dist/components/{ui/accordion → accordion}/AccordionTrigger.vue.d.ts +0 -0
  1226. /package/dist/components/{ui/accordion → accordion}/index.d.ts +0 -0
  1227. /package/dist/components/{ui/alert → alert}/AlertDescription.vue.d.ts +0 -0
  1228. /package/dist/components/{ui/alert → alert}/AlertTitle.vue.d.ts +0 -0
  1229. /package/dist/components/{custom/animated-digit → animated-digit}/index.d.ts +0 -0
  1230. /package/dist/components/{custom/aurora → aurora}/composables/auroraFallbackGround.d.ts +0 -0
  1231. /package/dist/components/{custom/aurora → aurora}/composables/configSource.d.ts +0 -0
  1232. /package/dist/components/{custom/aurora → aurora}/constants/budget.d.ts +0 -0
  1233. /package/dist/components/{custom/aurora → aurora}/constants/renderMode.d.ts +0 -0
  1234. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.frag.d.ts +0 -0
  1235. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.vert.d.ts +0 -0
  1236. /package/dist/components/{custom/aurora → aurora}/constants/shaders/composition.glsl.d.ts +0 -0
  1237. /package/dist/components/{custom/aurora → aurora}/constants/shaders/oil-modes.glsl.d.ts +0 -0
  1238. /package/dist/components/{custom/aurora → aurora}/constants/shaders/procedural-color.wgsl.d.ts +0 -0
  1239. /package/dist/components/{custom/aurora → aurora}/constants/shaders/tonemap.glsl.d.ts +0 -0
  1240. /package/dist/components/{custom/aurora → aurora}/constants/shaders/vangogh-medium.glsl.d.ts +0 -0
  1241. /package/dist/components/{ui/avatar → avatar}/AvatarFallback.vue.d.ts +0 -0
  1242. /package/dist/components/{custom/goo-blob → blob}/composables/buildMetaballProgram.d.ts +0 -0
  1243. /package/dist/components/{custom/goo-blob → blob}/composables/easing.d.ts +0 -0
  1244. /package/dist/components/{custom/goo-blob → blob}/composables/uniformBridgeWGPU.d.ts +0 -0
  1245. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobMood.d.ts +0 -0
  1246. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobSatellites.d.ts +0 -0
  1247. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-noise.wgsl.d.ts +0 -0
  1248. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-palette.wgsl.d.ts +0 -0
  1249. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.frag.d.ts +0 -0
  1250. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.vert.d.ts +0 -0
  1251. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.wgsl.d.ts +0 -0
  1252. /package/dist/components/{custom/goo-blob → blob}/shaders/oklch-perturb.glsl.d.ts +0 -0
  1253. /package/dist/components/{custom/goo-blob → blob}/shaders/sdf-body.glsl.d.ts +0 -0
  1254. /package/dist/components/{custom/goo-blob → blob}/shaders/watercolor-edges.glsl.d.ts +0 -0
  1255. /package/dist/components/{ui/card → card}/CardAction.vue.d.ts +0 -0
  1256. /package/dist/components/{ui/card → card}/CardContent.vue.d.ts +0 -0
  1257. /package/dist/components/{ui/card → card}/CardDescription.vue.d.ts +0 -0
  1258. /package/dist/components/{ui/card → card}/CardFooter.vue.d.ts +0 -0
  1259. /package/dist/components/{ui/card → card}/CardTitle.vue.d.ts +0 -0
  1260. /package/dist/components/{ui/card → card}/ScrollCardHeader.vue.d.ts +0 -0
  1261. /package/dist/components/{ui/card → card}/index.d.ts +0 -0
  1262. /package/dist/components/{ui/carousel → carousel}/CarouselItem.vue.d.ts +0 -0
  1263. /package/dist/components/{ui/carousel → carousel}/CarouselPager.vue.d.ts +0 -0
  1264. /package/dist/components/{ui/carousel → carousel}/interface.d.ts +0 -0
  1265. /package/dist/components/{ui/checkbox → checkbox}/Checkbox.vue.d.ts +0 -0
  1266. /package/dist/components/{ui/checkbox → checkbox}/index.d.ts +0 -0
  1267. /package/dist/components/{ui/collapsible → collapsible}/Collapsible.vue.d.ts +0 -0
  1268. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleContent.vue.d.ts +0 -0
  1269. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleTrigger.vue.d.ts +0 -0
  1270. /package/dist/components/{ui/collapsible → collapsible}/index.d.ts +0 -0
  1271. /package/dist/components/{custom/color-swatch → color-swatch}/ColorSwatch.vue.d.ts +0 -0
  1272. /package/dist/components/{custom/color-swatch → color-swatch}/index.d.ts +0 -0
  1273. /package/dist/components/{ui/combobox → combobox}/ComboboxAnchor.vue.d.ts +0 -0
  1274. /package/dist/components/{ui/combobox → combobox}/ComboboxEmpty.vue.d.ts +0 -0
  1275. /package/dist/components/{ui/combobox → combobox}/ComboboxGroup.vue.d.ts +0 -0
  1276. /package/dist/components/{ui/combobox → combobox}/ComboboxInput.vue.d.ts +0 -0
  1277. /package/dist/components/{ui/combobox → combobox}/ComboboxItem.vue.d.ts +0 -0
  1278. /package/dist/components/{ui/combobox → combobox}/ComboboxItemIndicator.vue.d.ts +0 -0
  1279. /package/dist/components/{ui/command → command}/CommandEmpty.vue.d.ts +0 -0
  1280. /package/dist/components/{ui/command → command}/CommandGroup.vue.d.ts +0 -0
  1281. /package/dist/components/{ui/command → command}/CommandInput.vue.d.ts +0 -0
  1282. /package/dist/components/{ui/command → command}/CommandItem.vue.d.ts +0 -0
  1283. /package/dist/components/{ui/command → command}/CommandList.vue.d.ts +0 -0
  1284. /package/dist/components/{ui/command → command}/CommandSeparator.vue.d.ts +0 -0
  1285. /package/dist/components/{ui/command → command}/CommandShortcut.vue.d.ts +0 -0
  1286. /package/dist/components/{custom/completion-seal → completion-seal}/composables/useCompletionSeal.d.ts +0 -0
  1287. /package/dist/components/{custom/completion-seal → completion-seal}/index.d.ts +0 -0
  1288. /package/dist/components/{custom/configurator → configurator}/ConfiguratorLayer.vue.d.ts +0 -0
  1289. /package/dist/components/{custom/configurator → configurator}/useConfiguratorState.d.ts +0 -0
  1290. /package/dist/components/{custom/constellation → constellation}/composables/createConstellationField.d.ts +0 -0
  1291. /package/dist/components/{custom/constellation → constellation}/constellationWell.d.ts +0 -0
  1292. /package/dist/components/{custom/controls → controls}/index.d.ts +0 -0
  1293. /package/dist/components/{ui/data-table → data-table}/DataTablePagination.vue.d.ts +0 -0
  1294. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableResponsive.d.ts +0 -0
  1295. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableRowIdentity.d.ts +0 -0
  1296. /package/dist/components/{custom/deck → deck}/DeckPager.vue.d.ts +0 -0
  1297. /package/dist/components/{custom/deck → deck}/composables/useDeck.d.ts +0 -0
  1298. /package/dist/components/{custom/deck → deck}/composables/useDeckKeyboard.d.ts +0 -0
  1299. /package/dist/components/{ui/dialog → dialog}/Dialog.vue.d.ts +0 -0
  1300. /package/dist/components/{ui/dialog → dialog}/DialogClose.vue.d.ts +0 -0
  1301. /package/dist/components/{ui/dialog → dialog}/DialogDescription.vue.d.ts +0 -0
  1302. /package/dist/components/{ui/dialog → dialog}/DialogFooter.vue.d.ts +0 -0
  1303. /package/dist/components/{ui/dialog → dialog}/DialogHeader.vue.d.ts +0 -0
  1304. /package/dist/components/{ui/dialog → dialog}/DialogTitle.vue.d.ts +0 -0
  1305. /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.d.ts +0 -0
  1306. /package/dist/components/{custom/dock → dock}/DockSection.vue.d.ts +0 -0
  1307. /package/dist/components/{custom/dock → dock}/DockSeparator.vue.d.ts +0 -0
  1308. /package/dist/components/{custom/dock → dock}/composables/isTeleportedTarget.d.ts +0 -0
  1309. /package/dist/components/{custom/dock → dock}/composables/useDockHold.d.ts +0 -0
  1310. /package/dist/components/{ui/drawer → drawer}/DrawerDescription.vue.d.ts +0 -0
  1311. /package/dist/components/{ui/drawer → drawer}/DrawerFooter.vue.d.ts +0 -0
  1312. /package/dist/components/{ui/drawer → drawer}/DrawerHeader.vue.d.ts +0 -0
  1313. /package/dist/components/{ui/drawer → drawer}/DrawerOverlay.vue.d.ts +0 -0
  1314. /package/dist/components/{ui/drawer → drawer}/DrawerTitle.vue.d.ts +0 -0
  1315. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuCheckboxItem.vue.d.ts +0 -0
  1316. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuGroup.vue.d.ts +0 -0
  1317. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuItem.vue.d.ts +0 -0
  1318. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuLabel.vue.d.ts +0 -0
  1319. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioGroup.vue.d.ts +0 -0
  1320. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioItem.vue.d.ts +0 -0
  1321. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  1322. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  1323. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSub.vue.d.ts +0 -0
  1324. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubContent.vue.d.ts +0 -0
  1325. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  1326. /package/dist/components/{custom/easing → easing}/index.d.ts +0 -0
  1327. /package/dist/components/{custom/expandable-container → expandable-container}/index.d.ts +0 -0
  1328. /package/dist/components/{custom/fading-scroll → fading-scroll}/FadingScroll.vue.d.ts +0 -0
  1329. /package/dist/components/{custom/fading-scroll → fading-scroll}/constants.d.ts +0 -0
  1330. /package/dist/components/{custom/fading-scroll → fading-scroll}/index.d.ts +0 -0
  1331. /package/dist/components/{ui/focus-scope → focus-scope}/FocusScope.vue.d.ts +0 -0
  1332. /package/dist/components/{ui/focus-scope → focus-scope}/index.d.ts +0 -0
  1333. /package/dist/components/{custom/fourier-field → fourier-field}/presets.d.ts +0 -0
  1334. /package/dist/components/{custom/fourier-field → fourier-field}/shaders/fourier-field.compute.wgsl.d.ts +0 -0
  1335. /package/dist/components/{custom/goo-filter → goo-filter}/GooFilter.vue.d.ts +0 -0
  1336. /package/dist/components/{custom/goo-filter → goo-filter}/index.d.ts +0 -0
  1337. /package/dist/components/{custom/handmark → handmark}/brush.d.ts +0 -0
  1338. /package/dist/components/{custom/handmark → handmark}/freehand.d.ts +0 -0
  1339. /package/dist/components/{custom/handmark → handmark}/ink.d.ts +0 -0
  1340. /package/dist/components/{custom/handmark → handmark}/texture.d.ts +0 -0
  1341. /package/dist/components/{custom/icon-chip → icon-chip}/IconChip.vue.d.ts +0 -0
  1342. /package/dist/components/{custom/icon-chip → icon-chip}/index.d.ts +0 -0
  1343. /package/dist/components/{custom/icon-chip → icon-chip}/types.d.ts +0 -0
  1344. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/IconTooltip.vue.d.ts +0 -0
  1345. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/index.d.ts +0 -0
  1346. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/InfiniteScroll.vue.d.ts +0 -0
  1347. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/index.d.ts +0 -0
  1348. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/types.d.ts +0 -0
  1349. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/useInfiniteScroll.d.ts +0 -0
  1350. /package/dist/components/{ui/input → input}/Input.vue.d.ts +0 -0
  1351. /package/dist/components/{ui/input → input}/index.d.ts +0 -0
  1352. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/ChassisDivider.vue.d.ts +0 -0
  1353. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/InstrumentChassis.vue.d.ts +0 -0
  1354. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/index.d.ts +0 -0
  1355. /package/dist/components/{ui/label → label}/Label.vue.d.ts +0 -0
  1356. /package/dist/components/{ui/label → label}/index.d.ts +0 -0
  1357. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSelect.vue.d.ts +0 -0
  1358. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSlider.vue.d.ts +0 -0
  1359. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSwitch.vue.d.ts +0 -0
  1360. /package/dist/components/{custom/labeled-field → labeled-field}/index.d.ts +0 -0
  1361. /package/dist/{utils/coalesceMetric.d.ts → components/metric/coalesce-metric.d.ts} +0 -0
  1362. /package/dist/components/{custom/metric-badge → metric-badge}/index.d.ts +0 -0
  1363. /package/dist/components/{custom/metric-cell → metric-cell}/index.d.ts +0 -0
  1364. /package/dist/components/{custom/metric-stack → metric-stack}/index.d.ts +0 -0
  1365. /package/dist/components/{ui/notification → notification}/index.d.ts +0 -0
  1366. /package/dist/components/{ui/number-field → number-field}/NumberField.vue.d.ts +0 -0
  1367. /package/dist/components/{ui/number-field → number-field}/NumberFieldContent.vue.d.ts +0 -0
  1368. /package/dist/components/{ui/number-field → number-field}/NumberFieldDecrement.vue.d.ts +0 -0
  1369. /package/dist/components/{ui/number-field → number-field}/NumberFieldIncrement.vue.d.ts +0 -0
  1370. /package/dist/components/{ui/number-field → number-field}/NumberFieldInput.vue.d.ts +0 -0
  1371. /package/dist/components/{ui/number-field → number-field}/index.d.ts +0 -0
  1372. /package/dist/components/{custom/pager-dots → pager-dots}/index.d.ts +0 -0
  1373. /package/dist/components/{custom/pager-dots → pager-dots}/pagerWindow.d.ts +0 -0
  1374. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/index.d.ts +0 -0
  1375. /package/dist/components/{ui/popover → popover}/index.d.ts +0 -0
  1376. /package/dist/components/{custom/pulse → pulse}/index.d.ts +0 -0
  1377. /package/dist/components/{ui/radio-group → radio-group}/RadioGroup.vue.d.ts +0 -0
  1378. /package/dist/components/{ui/radio-group → radio-group}/RadioGroupItem.vue.d.ts +0 -0
  1379. /package/dist/components/{ui/radio-group → radio-group}/index.d.ts +0 -0
  1380. /package/dist/components/{custom/search → search}/composables/fuzzySearchIndex.d.ts +0 -0
  1381. /package/dist/components/{custom/search → search}/composables/index.d.ts +0 -0
  1382. /package/dist/components/{custom/search → search}/composables/types.d.ts +0 -0
  1383. /package/dist/components/{custom/search → search}/composables/useFuzzySearch.d.ts +0 -0
  1384. /package/dist/components/{custom/search → search}/index.d.ts +0 -0
  1385. /package/dist/components/{ui/select → select}/Select.vue.d.ts +0 -0
  1386. /package/dist/components/{ui/select → select}/SelectGroup.vue.d.ts +0 -0
  1387. /package/dist/components/{ui/select → select}/SelectItem.vue.d.ts +0 -0
  1388. /package/dist/components/{ui/select → select}/SelectLabel.vue.d.ts +0 -0
  1389. /package/dist/components/{ui/select → select}/SelectScrollDownButton.vue.d.ts +0 -0
  1390. /package/dist/components/{ui/select → select}/SelectScrollUpButton.vue.d.ts +0 -0
  1391. /package/dist/components/{ui/select → select}/SelectSeparator.vue.d.ts +0 -0
  1392. /package/dist/components/{ui/select → select}/SelectTrigger.vue.d.ts +0 -0
  1393. /package/dist/components/{ui/select → select}/SelectValue.vue.d.ts +0 -0
  1394. /package/dist/components/{ui/separator → separator}/Separator.vue.d.ts +0 -0
  1395. /package/dist/components/{ui/separator → separator}/index.d.ts +0 -0
  1396. /package/dist/components/{ui/skeleton → skeleton}/index.d.ts +0 -0
  1397. /package/dist/{composables/sortable → components/sortable-list/composables}/dropResolver.d.ts +0 -0
  1398. /package/dist/{composables/sortable → components/sortable-list/composables}/ghostRenderer.d.ts +0 -0
  1399. /package/dist/{composables/sortable → components/sortable-list/composables}/index.d.ts +0 -0
  1400. /package/dist/{composables/sortable → components/sortable-list/composables}/touchGate.d.ts +0 -0
  1401. /package/dist/{composables/sortable → components/sortable-list/composables}/transitionTiming.d.ts +0 -0
  1402. /package/dist/components/{custom/spa-view → spa-view}/SpaView.vue.d.ts +0 -0
  1403. /package/dist/components/{custom/spa-view → spa-view}/index.d.ts +0 -0
  1404. /package/dist/components/{custom/split-chars → split-chars}/index.d.ts +0 -0
  1405. /package/dist/components/{custom/status-dot → status-dot}/StatusDot.vue.d.ts +0 -0
  1406. /package/dist/components/{custom/status-dot → status-dot}/index.d.ts +0 -0
  1407. /package/dist/components/{ui/switch → switch}/Switch.vue.d.ts +0 -0
  1408. /package/dist/components/{ui/switch → switch}/index.d.ts +0 -0
  1409. /package/dist/components/{ui/table → table}/TableBody.vue.d.ts +0 -0
  1410. /package/dist/components/{ui/table → table}/TableCaption.vue.d.ts +0 -0
  1411. /package/dist/components/{ui/table → table}/TableCell.vue.d.ts +0 -0
  1412. /package/dist/components/{ui/table → table}/TableEmpty.vue.d.ts +0 -0
  1413. /package/dist/components/{ui/table → table}/TableHead.vue.d.ts +0 -0
  1414. /package/dist/components/{ui/table → table}/TableHeader.vue.d.ts +0 -0
  1415. /package/dist/components/{ui/table → table}/TableRow.vue.d.ts +0 -0
  1416. /package/dist/components/{ui/table → table}/index.d.ts +0 -0
  1417. /package/dist/components/{ui/tags-input → tags-input}/TagsInputInput.vue.d.ts +0 -0
  1418. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItem.vue.d.ts +0 -0
  1419. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemDelete.vue.d.ts +0 -0
  1420. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemText.vue.d.ts +0 -0
  1421. /package/dist/components/{ui/tags-input → tags-input}/index.d.ts +0 -0
  1422. /package/dist/components/{ui/textarea → textarea}/Textarea.vue.d.ts +0 -0
  1423. /package/dist/components/{ui/textarea → textarea}/index.d.ts +0 -0
  1424. /package/dist/components/{custom/timeline → timeline}/ContinuousRail.vue.d.ts +0 -0
  1425. /package/dist/components/{custom/timeline → timeline}/ScrubberTimeline.vue.d.ts +0 -0
  1426. /package/dist/components/{custom/timeline → timeline}/SegmentedTimeline.vue.d.ts +0 -0
  1427. /package/dist/components/{custom/timeline → timeline}/geometry.d.ts +0 -0
  1428. /package/dist/components/{custom/timeline → timeline}/index.d.ts +0 -0
  1429. /package/dist/components/{custom/timeline → timeline}/types.d.ts +0 -0
  1430. /package/dist/components/{ui/toast → toast}/ToastAction.vue.d.ts +0 -0
  1431. /package/dist/components/{ui/toast → toast}/ToastClose.vue.d.ts +0 -0
  1432. /package/dist/components/{ui/toast → toast}/ToastDescription.vue.d.ts +0 -0
  1433. /package/dist/components/{ui/toast → toast}/ToastTitle.vue.d.ts +0 -0
  1434. /package/dist/components/{ui/toast → toast}/Toaster.vue.d.ts +0 -0
  1435. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroup.vue.d.ts +0 -0
  1436. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroupItem.vue.d.ts +0 -0
  1437. /package/dist/components/{ui/toggle-group → toggle-group}/index.d.ts +0 -0
  1438. /package/dist/components/{ui/toggle-group → toggle-group}/toggleGroupContext.d.ts +0 -0
  1439. /package/dist/components/{ui/tooltip → tooltip}/Tooltip.vue.d.ts +0 -0
  1440. /package/dist/components/{ui/tooltip → tooltip}/TooltipContent.vue.d.ts +0 -0
  1441. /package/dist/components/{ui/tooltip → tooltip}/TooltipProvider.vue.d.ts +0 -0
  1442. /package/dist/components/{ui/tooltip → tooltip}/TooltipTrigger.vue.d.ts +0 -0
  1443. /package/dist/components/{ui/tooltip → tooltip}/index.d.ts +0 -0
  1444. /package/dist/components/{custom/typewriter → typewriter}/composables/index.d.ts +0 -0
  1445. /package/dist/components/{custom/typewriter → typewriter}/index.d.ts +0 -0
  1446. /package/dist/components/{custom/typewriter → typewriter}/types.d.ts +0 -0
  1447. /package/dist/components/{custom/typewriter → typewriter}/utils/keyboard.d.ts +0 -0
  1448. /package/dist/components/{custom/typewriter → typewriter}/utils/pausePatterns.d.ts +0 -0
  1449. /package/dist/components/{custom/typewriter → typewriter}/utils/timing.d.ts +0 -0
  1450. /package/dist/components/{custom/typewriter → typewriter}/utils/typoStateMachine.d.ts +0 -0
  1451. /package/dist/components/{custom/watercolor-dot → watercolor-dot}/index.d.ts +0 -0
  1452. /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
  1453. /package/dist/{constants-BWj7DkMn.js → constants-DRZmNIY-.js} +0 -0
  1454. /package/dist/{createContext-Cd23P9j0.js → createContext-FU0n5MGK.js} +0 -0
  1455. /package/dist/{flow.glsl-DqEGRpl4.js → flow.glsl-DEGFGE11.js} +0 -0
  1456. /package/dist/{scrollReader-rc3Ns_NM.js → scrollReader-C2oK9Hb8.js} +0 -0
  1457. /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
  1458. /package/dist/{useDragVelocity-CjcfX3dA.js → useDragVelocity-CbMZEBaC.js} +0 -0
  1459. /package/dist/{useLiquidFlex-Cc6PjVJD.js → useLiquidFlex-Ch4exNvN.js} +0 -0
  1460. /package/dist/{useResizeObserver-DdEn3v2f.js → useResizeObserver-BcUTquV7.js} +0 -0
  1461. /package/dist/{useResolveTokenColor-ChOnCckA.js → useResolveTokenColor-C07e-qaT.js} +0 -0
  1462. /package/dist/{useTimer-BBLGPXR8.js → useTimer-D8koDvJS.js} +0 -0
  1463. /package/dist/{vReveal-CT1KtwZA.js → vReveal-DZfWl9XI.js} +0 -0
  1464. /package/dist/{vSpecular-EX7loENl.js → vSpecular-CQFmLNzA.js} +0 -0
  1465. /package/dist/{writeVelocityWeight-Bh83xZfs.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
@@ -1,15 +1,17 @@
1
- import { t as e } from "./_plugin-vue_export-helper-gLzyemvl.js";
2
- import { n as t } from "./useResolveTokenColor-ChOnCckA.js";
3
- import { t as n } from "./usePointerVelocityField-BrkqZFhj.js";
4
- import { n as r, o as i, r as a, s as o } from "./procedural-color.wgsl-C1Y5PkM6.js";
5
- import { a as s, t as c } from "./useGpuSubstrate-Ceet70xq.js";
6
- import { c as l, t as u } from "./color-B9jZdhJX.js";
7
- import { t as d } from "./useGlobalDark-B4HO9LXG.js";
8
- import { n as f, t as p } from "./prng-B5tIXTtj.js";
9
- import { a as m, i as h, n as g, r as _, t as v } from "./math-5RcIgCB4.js";
10
- import { computed as y, createElementBlock as b, createElementVNode as x, defineComponent as S, normalizeClass as C, onMounted as w, onScopeDispose as T, openBlock as E, shallowRef as D, useTemplateRef as O, watch as k } from "vue";
11
- //#region src/components/custom/fourier-field/constants.ts
12
- var A = 64, j = 384, M = .15, N = .12, P = .55, F = .35, I = [{
1
+ import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
+ import { n as t } from "./useResolveTokenColor-C07e-qaT.js";
3
+ import { t as n } from "./usePointerVelocityField-BdvnO0py.js";
4
+ import { t as r } from "./useRoutePointer-BDNMFN73.js";
5
+ import { d as i, u as a } from "./pointerFieldMappings-CZojkgKj.js";
6
+ import { i as o } from "./dark-DIH-blY1.js";
7
+ import { cssToOklch as s, oklchToLinear as c } from "./color.js";
8
+ import { FOURIER_FIGURES as l, FOURIER_FIGURE_KEYS as u, comp as d, dftFromPoints as f, makeEllipticSpectrum as p, makeHarmonicFigure as m, partialSumAt as h, positionsAt as g } from "./fourier-math.js";
9
+ import { a as _, d as v, f as y, l as b, n as x, r as S } from "./procedural-color.wgsl-B9mLK7v0.js";
10
+ import { a as C } from "./rendererStatus-C2-zC2Q-.js";
11
+ import { n as w, t as T } from "./prng-Dz2_9RJu.js";
12
+ import { computed as E, createElementBlock as D, createElementVNode as O, defineComponent as k, normalizeClass as A, onMounted as j, onScopeDispose as M, openBlock as N, readonly as P, shallowRef as F, useTemplateRef as I, watch as L } from "vue";
13
+ //#region src/components/fourier-field/constants.ts
14
+ var R = 64, z = 384, B = .15, V = .4, H = 2.5 / (V + (1 - V) * .5) + .05, ee = .55, te = .35, ne = [{
13
15
  L: .62,
14
16
  C: .19,
15
17
  h: 34
@@ -17,34 +19,38 @@ var A = 64, j = 384, M = .15, N = .12, P = .55, F = .35, I = [{
17
19
  L: .86,
18
20
  C: .06,
19
21
  h: 70
20
- }], L = {
22
+ }], re = {
21
23
  source: "elliptic",
22
24
  harmonics: 6,
23
25
  showEpicycles: !0,
24
26
  epicycleArms: 6,
25
27
  rainbowChain: !0,
26
28
  trailArc: .43,
27
- trailWidth: 3,
29
+ trailWidth: 5,
28
30
  intensity: 1,
29
31
  harmonicScale: .24,
30
32
  speed: 1,
31
- palette: I,
33
+ palette: ne,
32
34
  respectReducedMotion: !0,
33
35
  interactive: !0,
34
- squashGain: P,
35
- celGain: F
36
- }, R = "\nconst MAX_PHASORS: i32 = 64;\nconst TAU: f32 = 6.283185307179586;\n\nstruct Phasor {\n // (re, im, index, _pad)\n data: vec4<f32>,\n};\n\n// ── Compute uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──\nstruct ComputeUniforms {\n // c0: (headT, trailArc, _pad, _pad)\n c0: vec4<f32>,\n // ints: (harmonicN, epicycleArmN, sampleCount, phasorCount)\n ints: vec4<i32>,\n};\n\n@group(0) @binding(0) var<uniform> u: ComputeUniforms;\n@group(0) @binding(1) var<storage, read> phasors: array<Phasor>;\n// curveSamples[i] = (x, y, age, _pad)\n@group(0) @binding(2) var<storage, read_write> curveSamples: array<vec4<f32>>;\n// chainTips[k] = (x, y, _pad, _pad) — the running tip after stacking phasor k\n@group(0) @binding(3) var<storage, read_write> chainTips: array<vec4<f32>>;\n\n// The PARTIAL-SUM curve point at parameter t over the first n phasors — the WGSL\n// transcription of math.ts:78-95 (partialSumAt). EXACTLY:\n// c += vec2(re·cos − im·sin, re·sin + im·cos) with angle = TAU·index·t.\nfn partialSumAt(t: f32, n: i32) -> vec2<f32> {\n var c = vec2<f32>(0.0, 0.0);\n let phasorCount = u.ints.w;\n let lim = min(n, phasorCount);\n for (var i = 0; i < MAX_PHASORS; i = i + 1) {\n if (i >= lim) { break; }\n let p = phasors[i].data;\n let re = p.x;\n let im = p.y;\n let index = p.z;\n let angle = TAU * index * t;\n let cs = cos(angle);\n let sn = sin(angle);\n c = c + vec2<f32>(re * cs - im * sn, re * sn + im * cs);\n }\n return c;\n}\n\n// The epicycle chain tip after stacking the first k phasors at head_t — the WGSL\n// transcription of math.ts:41-60 (positionsAt, read at the running tip). The running tip\n// after phasor (k−1) is exactly the partial sum over the first k terms.\nfn epicycleChainTip(t: f32, k: i32) -> vec2<f32> {\n return partialSumAt(t, k);\n}\n\n@compute @workgroup_size(64)\nfn cs_main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = i32(gid.x);\n let headT = u.c0.x;\n let trailArc = u.c0.y;\n let harmonicN = u.ints.x;\n let armN = u.ints.y;\n let sampleCount = u.ints.z;\n\n // ── The comet body samples ──\n if (i < sampleCount) {\n // age: 0 at the oldest tail (i = sampleCount−1), 1 at the head (i = 0).\n let denom = max(f32(sampleCount - 1), 1.0);\n let frac = f32(i) / denom; // 0 = head, 1 = tail\n let age = 1.0 - frac; // 1 = head, 0 = tail\n // sample back along the period from the head by trailArc.\n var t = headT - trailArc * frac;\n t = t - floor(t); // fract → [0,1)\n let pt = partialSumAt(t, harmonicN);\n curveSamples[i] = vec4<f32>(pt.x, pt.y, age, 0.0);\n }\n\n // ── The epicycle chain tips (k = 0..armN, capped to harmonicN) ──\n // chainTips[0] is the origin; chainTips[k] is the tip after phasor (k−1).\n let armLim = min(armN, harmonicN);\n if (i <= armLim && i <= MAX_PHASORS) {\n let tip = epicycleChainTip(headT, i);\n chainTips[i] = vec4<f32>(tip.x, tip.y, 0.0, 0.0);\n }\n}\n", z = `
36
+ squashGain: ee,
37
+ celGain: te
38
+ }, ie = "\nconst MAX_PHASORS: i32 = 64;\nconst TAU: f32 = 6.283185307179586;\n\nstruct Phasor {\n // (re, im, index, _pad)\n data: vec4<f32>,\n};\n\n// ── Compute uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──\nstruct ComputeUniforms {\n // c0: (headT, trailArc, _pad, _pad)\n c0: vec4<f32>,\n // ints: (harmonicN, epicycleArmN, sampleCount, phasorCount)\n ints: vec4<i32>,\n};\n\n@group(0) @binding(0) var<uniform> u: ComputeUniforms;\n@group(0) @binding(1) var<storage, read> phasors: array<Phasor>;\n// curveSamples[i] = (x, y, age, _pad)\n@group(0) @binding(2) var<storage, read_write> curveSamples: array<vec4<f32>>;\n// chainTips[k] = (x, y, _pad, _pad) — the running tip after stacking phasor k\n@group(0) @binding(3) var<storage, read_write> chainTips: array<vec4<f32>>;\n\n// The PARTIAL-SUM curve point at parameter t over the first n phasors — the WGSL\n// transcription of math.ts:78-95 (partialSumAt). EXACTLY:\n// c += vec2(re·cos − im·sin, re·sin + im·cos) with angle = TAU·index·t.\nfn partialSumAt(t: f32, n: i32) -> vec2<f32> {\n var c = vec2<f32>(0.0, 0.0);\n let phasorCount = u.ints.w;\n let lim = min(n, phasorCount);\n for (var i = 0; i < MAX_PHASORS; i = i + 1) {\n if (i >= lim) { break; }\n let p = phasors[i].data;\n let re = p.x;\n let im = p.y;\n let index = p.z;\n let angle = TAU * index * t;\n let cs = cos(angle);\n let sn = sin(angle);\n c = c + vec2<f32>(re * cs - im * sn, re * sn + im * cs);\n }\n return c;\n}\n\n// The epicycle chain tip after stacking the first k phasors at head_t — the WGSL\n// transcription of math.ts:41-60 (positionsAt, read at the running tip). The running tip\n// after phasor (k−1) is exactly the partial sum over the first k terms.\nfn epicycleChainTip(t: f32, k: i32) -> vec2<f32> {\n return partialSumAt(t, k);\n}\n\n@compute @workgroup_size(64)\nfn cs_main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = i32(gid.x);\n let headT = u.c0.x;\n let trailArc = u.c0.y;\n let harmonicN = u.ints.x;\n let armN = u.ints.y;\n let sampleCount = u.ints.z;\n\n // ── The comet body samples ──\n if (i < sampleCount) {\n // age: 0 at the oldest tail (i = sampleCount−1), 1 at the head (i = 0).\n let denom = max(f32(sampleCount - 1), 1.0);\n let frac = f32(i) / denom; // 0 = head, 1 = tail\n let age = 1.0 - frac; // 1 = head, 0 = tail\n // sample back along the period from the head by trailArc.\n var t = headT - trailArc * frac;\n t = t - floor(t); // fract → [0,1)\n let pt = partialSumAt(t, harmonicN);\n curveSamples[i] = vec4<f32>(pt.x, pt.y, age, 0.0);\n }\n\n // ── The epicycle chain tips (k = 0..armN, capped to harmonicN) ──\n // chainTips[0] is the origin; chainTips[k] is the tip after phasor (k−1).\n let armLim = min(armN, harmonicN);\n if (i <= armLim && i <= MAX_PHASORS) {\n let tip = epicycleChainTip(headT, i);\n chainTips[i] = vec4<f32>(tip.x, tip.y, 0.0, 0.0);\n }\n}\n", ae = `
39
+ // The instanced-ribbon LAYER selector (a pipeline-overridable constant — 5 pipelines share the
40
+ // ONE module, each specializing this): 0 trail · 1 epicycle · 2 head · 3 cel-rope · 4 cel-arm.
41
+ override LAYER: i32 = 0;
42
+
37
43
  const PI: f32 = 3.141592653589793;
38
- const TAU: f32 = 6.283185307179586;
39
- const MAX_CURVE_SAMPLES: i32 = 384;
40
- const MAX_PHASORS: i32 = 64;
41
- const MAX_FOURIER_STOPS: i32 = 4;
42
44
  // BD.W-FOURIER-LOOM §2b — the degenerate-tangent guard (must equal FOURIER_TANGENT_EPS in
43
45
  // constants.ts + the GL CPU bead path so a cusp resolves IDENTICALLY across both engines).
44
46
  const TANGENT_EPS: f32 = 1e-4;
45
- // The speed yardstick: the head speed (model units between curveSamples[0] and [1]) is
46
- // normalized against this many trail half-widths so ŝ ∈ [0,1] is scale-free + parity-safe.
47
47
  const SPEED_REF_HALFWIDTHS: f32 = 6.0;
48
+ // BG.W-FOURIER-BEAUTY B1 — the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim
49
+ // from constants.ts (the WGSL twin cannot import a TS const); proof:viz FB1 cross-checks the
50
+ // two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.
51
+ const RIBBON_TAIL_FRAC: f32 = 0.4;
52
+ const RIBBON_UNDERGLOW_SCALE: f32 = 2.2;
53
+ const RIBBON_UNDERGLOW_ALPHA: f32 = 0.16;
48
54
 
49
55
  // ── Render uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──
50
56
  struct RenderUniforms {
@@ -54,7 +60,7 @@ struct RenderUniforms {
54
60
  r1: vec4<f32>,
55
61
  // r2: (trailFloor, intensity, showEpicycles, rainbowChain)
56
62
  r2: vec4<f32>,
57
- // r3: (squashGain, celGain, _pad, _pad) — FOURIER-LOOM §2b/§3b
63
+ // r3: (squashGain, celGain, edgeMargin, _pad) — FOURIER-LOOM §2b/§3b + the ribbon bbox slop
58
64
  r3: vec4<f32>,
59
65
  // ints: (sampleCount, armCount, stopCount, _pad)
60
66
  ints: vec4<i32>,
@@ -63,15 +69,14 @@ struct RenderUniforms {
63
69
  };
64
70
 
65
71
  @group(0) @binding(0) var<uniform> u: RenderUniforms;
66
- // curveSamples[i] = (x, y, age, _pad) in MODEL space
72
+ // curveSamples[i] = (x, y, age, _pad) in MODEL space — the render VERTEX-PULLS these.
67
73
  @group(0) @binding(1) var<storage, read> curveSamples: array<vec4<f32>>;
68
- // chainTips[k] = (x, y, _pad, _pad) in MODEL space
74
+ // chainTips[k] = (x, y, _pad, _pad) in MODEL space.
69
75
  @group(0) @binding(2) var<storage, read> chainTips: array<vec4<f32>>;
70
76
 
71
- ${r}
72
- ${a}
77
+ ${x}
78
+ ${S}
73
79
 
74
- // Sample the multi-stop palette (linear-sRGB stops, OKLab mix). t in [0,1].
75
80
  fn samplePaletteLin(t: f32) -> vec3<f32> {
76
81
  let stopCount = u.ints.z;
77
82
  if (stopCount <= 1) { return u.palette[0].rgb; }
@@ -85,21 +90,17 @@ fn samplePaletteLin(t: f32) -> vec3<f32> {
85
90
  return oklabToLinearSrgb(mix(labA, labB, f));
86
91
  }
87
92
 
88
- // A warm-anchored chain hue sweep over the palette base — the rainbow chain register.
89
- // Tilts the base hue by a tight warm-ward band so the chain stays colourful but warm.
90
93
  fn chainColorLin(seg: f32, rainbow: bool) -> vec3<f32> {
91
94
  let baseLin = u.palette[0].rgb;
92
95
  if (!rainbow) { return baseLin; }
93
96
  let lab = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * baseLin);
94
97
  let lch = oklabToOklch(lab);
95
- // warm-anchored: a touch cool at the root climbing warm toward the tips.
96
- let hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0)); // radians (~ -26°..+66°)
98
+ let hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0));
97
99
  let h = lch.z + hueShift;
98
100
  let lifted = vec3<f32>(0.66, max(lch.y, 0.14), h);
99
101
  return oklabToLinearSrgb(oklchToOklab(lifted));
100
102
  }
101
103
 
102
- // Distance from point p to segment ab (model space).
103
104
  fn segDist(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>) -> f32 {
104
105
  let pa = p - a;
105
106
  let ba = b - a;
@@ -107,9 +108,7 @@ fn segDist(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>) -> f32 {
107
108
  return length(pa - ba * h);
108
109
  }
109
110
 
110
- // BD.W-FOURIER-LOOM §2b — the head travel frame: the unit tangent T from curveSamples[0]
111
- // (head) vs [1] (one step back) + the normalized speed ŝ ∈ [0,1]. The cusp guard returns
112
- // the +x axis as the stable fallback when s ≤ TANGENT_EPS, identical to the GL CPU path.
111
+ // BD.W-FOURIER-LOOM §2b — the head travel frame + the volume-preserving anisotropic distance.
113
112
  struct HeadFrame { T: vec2<f32>, sHat: f32, };
114
113
  fn headFrame(head: vec2<f32>, headBack: vec2<f32>, halfW: f32) -> HeadFrame {
115
114
  let d = head - headBack;
@@ -126,9 +125,6 @@ fn headFrame(head: vec2<f32>, headBack: vec2<f32>, halfW: f32) -> HeadFrame {
126
125
  return out;
127
126
  }
128
127
 
129
- // The volume-preserving anisotropic head distance: project (p − head) onto T and T⊥, stretch
130
- // the tangent extent by (1 + k·ŝ) and squeeze the normal extent by 1/(1 + k·ŝ), then length.
131
- // k = 0 (or ŝ = 0) collapses to the round disc length(p − head) — byte-frozen at rest.
132
128
  fn headAniso(p: vec2<f32>, head: vec2<f32>, fr: HeadFrame, k: f32) -> f32 {
133
129
  let g = 1.0 + k * fr.sHat;
134
130
  let n = vec2<f32>(-fr.T.y, fr.T.x);
@@ -138,165 +134,226 @@ fn headAniso(p: vec2<f32>, head: vec2<f32>, fr: HeadFrame, k: f32) -> f32 {
138
134
  return length(vec2<f32>(along, across));
139
135
  }
140
136
 
137
+ // The cel ink lags behind the travel — the SAME −T·halfW·1.4 offset both engines apply (the
138
+ // head frame is read straight off the compute-filled curveSamples[0]/[1], parity by construction).
139
+ fn celOffset(halfW: f32) -> vec2<f32> {
140
+ let fr = headFrame(curveSamples[0].xy, curveSamples[1].xy, halfW);
141
+ return -fr.T * halfW * 1.4;
142
+ }
143
+
144
+ // The unit quad as two triangles (6 verts) in [0,1]² — the instanced vertex expands it.
145
+ fn quadCorner(vi: u32) -> vec2<f32> {
146
+ var c = array<vec2<f32>, 6>(
147
+ vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0),
148
+ vec2<f32>(0.0, 1.0), vec2<f32>(1.0, 0.0), vec2<f32>(1.0, 1.0),
149
+ );
150
+ return c[vi];
151
+ }
152
+
141
153
  struct VSOut {
142
154
  @builtin(position) pos: vec4<f32>,
143
- @location(0) model: vec2<f32>, // model-space coordinate of this fragment
155
+ @location(0) p: vec2<f32>, // model-space fragment coordinate
156
+ @location(1) a: vec2<f32>,
157
+ @location(2) b: vec2<f32>,
158
+ @location(3) segData: vec3<f32>, // (age, strokeHalf, arg2)
144
159
  };
145
160
 
146
161
  @vertex
147
- fn vs_main(@builtin(vertex_index) vi: u32) -> VSOut {
148
- // Full-screen triangle (covers the viewport with 3 verts).
149
- var p = array<vec2<f32>, 3>(
150
- vec2<f32>(-1.0, -3.0), vec2<f32>(-1.0, 1.0), vec2<f32>(3.0, 1.0),
151
- );
152
- let clip = p[vi];
153
- // Inverse of the model→clip fit: clip = (model − center)·scale, aspect-corrected x.
154
- // → model = center + clip·(1/scale), x un-aspect-corrected.
162
+ fn vs_main(@builtin(vertex_index) vi: u32, @builtin(instance_index) inst: u32) -> VSOut {
163
+ let corner = quadCorner(vi);
155
164
  let center = u.r0.xy;
156
165
  let scale = max(u.r0.z, 1e-6);
157
166
  let aspect = max(u.r0.w, 1e-4);
158
- let model = center + vec2<f32>(clip.x * aspect, clip.y) / scale;
167
+ let halfW = u.r1.x * 0.5;
168
+ let margin = u.r3.z;
159
169
 
170
+ var a: vec2<f32> = vec2<f32>(0.0);
171
+ var b: vec2<f32> = vec2<f32>(0.0);
172
+ var strokeHalf: f32 = halfW;
173
+ var age: f32 = 0.0;
174
+ var arg2: f32 = 0.0;
175
+ var isCapsule: bool = true;
176
+ var ext: f32 = halfW;
177
+
178
+ if (LAYER == 0) {
179
+ // TRAIL — the curve capsule; the covered extent is the head-width under-glow.
180
+ a = curveSamples[inst].xy;
181
+ b = curveSamples[inst + 1u].xy;
182
+ age = max(curveSamples[inst].z, curveSamples[inst + 1u].z);
183
+ ext = halfW * RIBBON_UNDERGLOW_SCALE;
184
+ isCapsule = true;
185
+ } else if (LAYER == 1) {
186
+ // EPICYCLE — the chain AABB around a (radius = |b−a|).
187
+ a = chainTips[inst].xy;
188
+ b = chainTips[inst + 1u].xy;
189
+ arg2 = f32(inst) / max(f32(u.ints.y - 1), 1.0);
190
+ ext = length(b - a) + halfW * 0.7;
191
+ isCapsule = false;
192
+ } else if (LAYER == 2) {
193
+ // HEAD — the comet head at curveSamples[0], AABB by the halo radius.
194
+ a = curveSamples[0].xy;
195
+ b = curveSamples[1].xy;
196
+ ext = halfW * 4.5;
197
+ isCapsule = false;
198
+ } else if (LAYER == 3) {
199
+ // CEL-ROPE — the curve capsule, offset opposite travel; full-width ink.
200
+ let off = celOffset(halfW);
201
+ a = curveSamples[inst].xy + off;
202
+ b = curveSamples[inst + 1u].xy + off;
203
+ arg2 = 1.0;
204
+ ext = halfW;
205
+ isCapsule = true;
206
+ } else {
207
+ // CEL-ARM (LAYER == 4) — the chain capsule, offset; the narrower arm ink (0.55·halfW).
208
+ let off = celOffset(halfW);
209
+ a = chainTips[inst].xy + off;
210
+ b = chainTips[inst + 1u].xy + off;
211
+ strokeHalf = halfW * 0.55;
212
+ arg2 = 0.7;
213
+ ext = halfW * 0.55;
214
+ isCapsule = true;
215
+ }
216
+ ext = ext + margin;
217
+
218
+ var pos: vec2<f32>;
219
+ if (isCapsule) {
220
+ let d = b - a;
221
+ let len = length(d);
222
+ var dir = vec2<f32>(1.0, 0.0);
223
+ if (len > 1e-6) { dir = d / len; }
224
+ let perp = vec2<f32>(-dir.y, dir.x);
225
+ let along = mix(a - dir * ext, b + dir * ext, corner.x);
226
+ pos = along + perp * (corner.y * 2.0 - 1.0) * ext;
227
+ } else {
228
+ pos = a + (corner * 2.0 - vec2<f32>(1.0)) * ext;
229
+ }
230
+
231
+ let clipX = (pos.x - center.x) * scale / aspect;
232
+ let clipY = (pos.y - center.y) * scale;
160
233
  var out: VSOut;
161
- out.pos = vec4<f32>(clip, 0.0, 1.0);
162
- out.model = model;
234
+ out.pos = vec4<f32>(clipX, clipY, 0.0, 1.0);
235
+ out.p = pos;
236
+ out.a = a;
237
+ out.b = b;
238
+ out.segData = vec3<f32>(age, strokeHalf, arg2);
163
239
  return out;
164
240
  }
165
241
 
166
242
  @fragment
167
243
  fn fs_main(in: VSOut) -> @location(0) vec4<f32> {
168
- let p = in.model;
169
- // AA feather: one device pixel in model units (fwidth of the model coord).
244
+ let p = in.p;
170
245
  let aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;
171
-
172
- let trailWidth = u.r1.x; // already in model units (packed CPU-side)
173
- let peak = u.r1.y * u.r2.y; // peakAlpha · intensity
246
+ let peak = u.r1.y * u.r2.y;
174
247
  let headGlow = u.r1.z * u.r2.y;
175
248
  let fadeExp = u.r1.w;
176
249
  let trailFloor = u.r2.x;
177
- let sampleCount = u.ints.x;
178
- let armCount = u.ints.y;
179
- let showEpicycles = u.r2.z > 0.5;
180
250
  let rainbow = u.r2.w > 0.5;
181
- let squashGain = u.r3.x; // FOURIER-LOOM §2b
182
- let celGain = u.r3.y; // FOURIER-LOOM §3b
183
- let halfW = trailWidth * 0.5;
251
+ let squashGain = u.r3.x;
252
+ let celGain = u.r3.y;
253
+ let halfW = in.segData.y;
254
+ let age = in.segData.x;
255
+ let arg2 = in.segData.z;
256
+ let a = in.a;
257
+ let b = in.b;
184
258
 
185
- // BD.W-FOURIER-LOOM §2b — the head travel frame (the SAME curveSamples[0]/[1] both engines
186
- // read → parity by construction). The cel offset (§3b) rides −T (opposite travel).
187
- var headFr: HeadFrame;
188
- headFr.T = vec2<f32>(1.0, 0.0);
189
- headFr.sHat = 0.0;
190
- if (sampleCount >= 2) {
191
- headFr = headFrame(curveSamples[0].xy, curveSamples[1].xy, halfW);
192
- }
193
- let celOff = -headFr.T * halfW * 1.4; // the ink lags behind the travel
194
-
195
- var accum = vec4<f32>(0.0); // premultiplied accumulation
196
-
197
- // ── §3b — the cartoon CEL-SHADOW: a darker offset copy of the chain + rope, opposite
198
- // travel, painted FIRST (it sits UNDER the lit chain). PRM-static (the frozen-T travel
199
- // frame is a fixed offset, no live sweep). celGain = 0 → no pass (byte-frozen). ──
200
- if (celGain > 0.001) {
201
- let ink = vec3<f32>(0.0); // pure ink — the technicolor 2-tone shadow
202
- let celA = clamp(celGain, 0.0, 1.0);
203
- // the rope cel (one offset distance-to-curve band).
204
- for (var i = 0; i < MAX_CURVE_SAMPLES; i = i + 1) {
205
- if (i >= sampleCount - 1) { break; }
206
- let sa = curveSamples[i].xy + celOff;
207
- let sb = curveSamples[i + 1].xy + celOff;
208
- let d = segDist(p, sa, sb);
209
- let cover = 1.0 - smoothstep(halfW, halfW + aa, d);
210
- if (cover < 0.002) { continue; }
211
- let m = cover * celA * peak;
212
- accum = vec4<f32>(ink * m, m) + accum * (1.0 - m);
213
- }
214
- // the chain cel (arms only — the bold scaffold ink).
215
- if (showEpicycles && armCount >= 1) {
216
- for (var k = 0; k < MAX_PHASORS; k = k + 1) {
217
- if (k >= armCount) { break; }
218
- let a = chainTips[k].xy + celOff;
219
- let b = chainTips[k + 1].xy + celOff;
220
- let dArm = segDist(p, a, b);
221
- let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
222
- let m = armMask * celA * peak * 0.7;
223
- accum = vec4<f32>(ink * m, m) + accum * (1.0 - m);
224
- }
225
- }
226
- }
227
-
228
- // ── Epicycle scaffolding (orbit rings + arms + joint dots) UNDER the curve ──
229
- if (showEpicycles && armCount >= 1) {
230
- for (var k = 0; k < MAX_PHASORS; k = k + 1) {
231
- if (k >= armCount) { break; }
232
- let a = chainTips[k].xy;
233
- let b = chainTips[k + 1].xy;
234
- let seg = f32(k) / max(f32(armCount - 1), 1.0);
235
- let lin = chainColorLin(seg, rainbow);
236
- // orbit RING around a (radius = arm length).
237
- let radius = length(b - a);
238
- let dRing = abs(length(p - a) - radius);
239
- let ringW = max(halfW * 0.45, aa);
240
- let ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
241
- // ARM segment a→b.
242
- let dArm = segDist(p, a, b);
243
- let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
244
- // joint DOT at a.
245
- let dotR = max(halfW * 0.7, aa * 2.0);
246
- let dDot = length(p - a);
247
- let dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
248
- let m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
249
- let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
250
- // over-composite (premultiplied).
251
- accum = vec4<f32>(rgb * m, m) + accum * (1.0 - m);
252
- }
253
- }
254
-
255
- // ── The comet TRAIL — min-distance to the curve polyline, per-segment age fade ──
256
- for (var i = 0; i < MAX_CURVE_SAMPLES; i = i + 1) {
257
- if (i >= sampleCount - 1) { break; }
258
- let sa = curveSamples[i];
259
- let sb = curveSamples[i + 1];
260
- let d = segDist(p, sa.xy, sb.xy);
261
- let cover = 1.0 - smoothstep(halfW, halfW + aa, d);
262
- if (cover < 0.002) { continue; }
263
- let age = max(sa.z, sb.z); // 1 at head, 0 at tail
264
- var a = peak * pow(age, fadeExp);
265
- a = max(a, peak * trailFloor);
266
- a = a * cover;
267
- let lin = samplePaletteLin(1.0 - age * 0.4); // warm core, lighter tail
259
+ if (LAYER == 0) {
260
+ // ── TRAIL — the tapered luminous ribbon over its own soft under-glow ──
261
+ let d = segDist(p, a, b);
262
+ let ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);
263
+ let lin = samplePaletteLin(1.0 - age * 0.4);
268
264
  let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
269
- accum = vec4<f32>(rgb * a, a) + accum * (1.0 - a);
270
- }
271
-
272
- // ── The comet HEAD — squash-and-stretch (§2b) halo + saturated core + white specular.
273
- // dHead is the volume-preserving anisotropic distance off the travel frame; at rest
274
- // (sHat=0) or squashGain=0 it collapses to the round disc length(p − head). ──
275
- if (sampleCount >= 1) {
276
- let head = curveSamples[0].xy;
277
- let dHead = headAniso(p, head, headFr, squashGain);
265
+ let glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;
266
+ let glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);
267
+ let ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;
268
+ let cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);
269
+ let ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;
270
+ let outA = ca + ga * (1.0 - ca);
271
+ return vec4<f32>(rgb * outA, outA);
272
+ } else if (LAYER == 1) {
273
+ // ── EPICYCLE — orbit RING + ARM + joint DOT union (MAX-blended, no join seam) ──
274
+ let lin = chainColorLin(arg2, rainbow);
275
+ let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
276
+ let radius = length(b - a);
277
+ let dRing = abs(length(p - a) - radius);
278
+ let ringW = max(halfW * 0.45, aa);
279
+ let ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
280
+ let dArm = segDist(p, a, b);
281
+ let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
282
+ let dotR = max(halfW * 0.7, aa * 2.0);
283
+ let dDot = length(p - a);
284
+ let dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
285
+ let m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
286
+ return vec4<f32>(rgb * m, m);
287
+ } else if (LAYER == 2) {
288
+ // ── HEAD — squash-and-stretch (§2b): halo + saturated core + white specular ──
289
+ let head = a;
290
+ let headBack = b;
291
+ let fr = headFrame(head, headBack, halfW);
292
+ let dHead = headAniso(p, head, fr, squashGain);
278
293
  let coreR = halfW * 1.5;
279
294
  let haloR = coreR * 3.0;
280
- let headLin = samplePaletteLin(0.0);
281
- let headRgb = clamp(linearToSrgb(headLin), vec3<f32>(0.0), vec3<f32>(1.0));
282
- // soft halo
295
+ let headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3<f32>(0.0), vec3<f32>(1.0));
283
296
  let halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;
284
- accum = vec4<f32>(headRgb * halo, halo) + accum * (1.0 - halo);
285
- // saturated core
297
+ var accum = vec4<f32>(headRgb * halo, halo);
286
298
  let core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;
287
299
  accum = vec4<f32>(headRgb * core, core) + accum * (1.0 - core);
288
- // white specular
289
300
  let spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;
290
301
  accum = vec4<f32>(vec3<f32>(1.0) * spec, spec) + accum * (1.0 - spec);
302
+ return accum;
303
+ } else {
304
+ // ── CEL — the technicolor ink shadow (rope LAYER==3 / arm LAYER==4) ──
305
+ let celA = clamp(celGain, 0.0, 1.0);
306
+ let d = segDist(p, a, b);
307
+ let cover = 1.0 - smoothstep(halfW, halfW + aa, d);
308
+ let m = cover * celA * peak * arg2; // arg2 = celStrength (1.0 rope / 0.7 arm)
309
+ return vec4<f32>(0.0, 0.0, 0.0, m);
291
310
  }
292
-
293
- return accum;
294
311
  }
295
- `, B = {
312
+ `, U = {
313
+ trail: 0,
314
+ epicycle: 1,
315
+ head: 2,
316
+ "cel-rope": 3,
317
+ "cel-arm": 4
318
+ };
319
+ function oe(e) {
320
+ let t = Math.max(0, Math.floor(e.sampleCount) - 1), n = e.showEpicycles ? Math.max(0, Math.floor(e.armCount)) : 0, r = e.celGain > .001, i = [];
321
+ return r && t > 0 && i.push({
322
+ kind: "cel-rope",
323
+ instanceCount: t,
324
+ blend: "over"
325
+ }), r && n > 0 && i.push({
326
+ kind: "cel-arm",
327
+ instanceCount: n,
328
+ blend: "over"
329
+ }), n > 0 && i.push({
330
+ kind: "epicycle",
331
+ instanceCount: n,
332
+ blend: "max"
333
+ }), t > 0 && i.push({
334
+ kind: "trail",
335
+ instanceCount: t,
336
+ blend: "over"
337
+ }), i.push({
338
+ kind: "head",
339
+ instanceCount: 1,
340
+ blend: "over"
341
+ }), i;
342
+ }
343
+ var se = new Float32Array([
344
+ 0,
345
+ 0,
346
+ 1,
347
+ 0,
348
+ 0,
349
+ 1,
350
+ 1,
351
+ 1
352
+ ]), W = {
296
353
  c0: 0,
297
354
  ints: 4
298
355
  };
299
- function V() {
356
+ function ce() {
300
357
  let e = /* @__PURE__ */ new ArrayBuffer(32);
301
358
  return {
302
359
  buffer: e,
@@ -304,11 +361,11 @@ function V() {
304
361
  i32: new Int32Array(e)
305
362
  };
306
363
  }
307
- function H(e, t, n, r, i, a, o) {
364
+ function le(e, t, n, r, i, a, o) {
308
365
  let { f32: s, i32: c } = e;
309
- return s[B.c0 + 0] = t, s[B.c0 + 1] = n, s[B.c0 + 2] = 0, s[B.c0 + 3] = 0, c[B.ints + 0] = r, c[B.ints + 1] = i, c[B.ints + 2] = a, c[B.ints + 3] = o, e;
366
+ return s[W.c0 + 0] = t, s[W.c0 + 1] = n, s[W.c0 + 2] = 0, s[W.c0 + 3] = 0, c[W.ints + 0] = r, c[W.ints + 1] = i, c[W.ints + 2] = a, c[W.ints + 3] = o, e;
310
367
  }
311
- var U = 144, W = {
368
+ var G = 144, K = {
312
369
  r0: 0,
313
370
  r1: 4,
314
371
  r2: 8,
@@ -316,18 +373,18 @@ var U = 144, W = {
316
373
  ints: 16,
317
374
  palette: 20
318
375
  };
319
- function G() {
320
- let e = new ArrayBuffer(U);
376
+ function q() {
377
+ let e = new ArrayBuffer(G);
321
378
  return {
322
379
  buffer: e,
323
380
  f32: new Float32Array(e),
324
381
  i32: new Int32Array(e)
325
382
  };
326
383
  }
327
- function K(e) {
384
+ function J(e) {
328
385
  let t = Infinity, n = Infinity, r = -Infinity, i = -Infinity, a = e;
329
386
  for (let e = 0; e < 720; e++) {
330
- let o = m(a, e / 720), [s, c] = o[o.length - 1];
387
+ let o = g(a, e / 720), [s, c] = o[o.length - 1];
331
388
  s < t && (t = s), c < n && (n = c), s > r && (r = s), c > i && (i = c);
332
389
  }
333
390
  if (!isFinite(t)) return {
@@ -342,29 +399,22 @@ function K(e) {
342
399
  scale: c
343
400
  };
344
401
  }
345
- function ee(e, t, n, r) {
346
- let i = Math.max(r, 1e-4), a = (e - n.centerX) * n.scale / i, o = (t - n.centerY) * n.scale;
347
- return {
348
- x: a * .5 + .5,
349
- y: 1 - (o * .5 + .5)
350
- };
351
- }
352
- function q(e, t, n) {
353
- let r = Math.max(n, 1) / 2;
354
- return e / Math.max(t, 1e-6) / r;
402
+ function ue(e, t, n) {
403
+ let r = Math.max(e, H), i = Math.max(n, 1) / 2;
404
+ return r / Math.max(t, 1e-6) / i;
355
405
  }
356
- function te(e, t, n, r, i, a, o, s, c, u, d, f, p, m, h, g) {
357
- let { f32: _, i32: v } = e;
358
- _[W.r0 + 0] = t.centerX, _[W.r0 + 1] = t.centerY, _[W.r0 + 2] = t.scale, _[W.r0 + 3] = n, _[W.r1 + 0] = r, _[W.r1 + 1] = i, _[W.r1 + 2] = a, _[W.r1 + 3] = o, _[W.r2 + 0] = s, _[W.r2 + 1] = c, _[W.r2 + 2] = +!!u, _[W.r2 + 3] = +!!d, _[W.r3 + 0] = f, _[W.r3 + 1] = p, _[W.r3 + 2] = 0, _[W.r3 + 3] = 0;
359
- let y = Math.min(g.length, 4);
360
- v[W.ints + 0] = m, v[W.ints + 1] = h, v[W.ints + 2] = y, v[W.ints + 3] = 0;
406
+ function Y(e, t, n, r, i, a, o, s, l, u, d, f, p, m, h, g, _) {
407
+ let { f32: v, i32: y } = e;
408
+ v[K.r0 + 0] = t.centerX, v[K.r0 + 1] = t.centerY, v[K.r0 + 2] = t.scale, v[K.r0 + 3] = n, v[K.r1 + 0] = r, v[K.r1 + 1] = i, v[K.r1 + 2] = a, v[K.r1 + 3] = o, v[K.r2 + 0] = s, v[K.r2 + 1] = l, v[K.r2 + 2] = +!!u, v[K.r2 + 3] = +!!d, v[K.r3 + 0] = f, v[K.r3 + 1] = p, v[K.r3 + 2] = m, v[K.r3 + 3] = 0;
409
+ let b = Math.min(_.length, 4);
410
+ y[K.ints + 0] = h, y[K.ints + 1] = g, y[K.ints + 2] = b, y[K.ints + 3] = 0;
361
411
  for (let e = 0; e < 4; e++) {
362
- let t = W.palette + e * 4, n = l(g[Math.min(e, y - 1)] ?? g[0]);
363
- _[t + 0] = n[0], _[t + 1] = n[1], _[t + 2] = n[2], _[t + 3] = 0;
412
+ let t = K.palette + e * 4, n = c(_[Math.min(e, b - 1)] ?? _[0]);
413
+ v[t + 0] = n[0], v[t + 1] = n[1], v[t + 2] = n[2], v[t + 3] = 0;
364
414
  }
365
415
  return e;
366
416
  }
367
- function ne(e) {
417
+ function X(e) {
368
418
  let t = Math.min(e.length, 64), n = new Float32Array(256);
369
419
  for (let r = 0; r < t; r++) {
370
420
  let t = e[r], i = r * 4;
@@ -373,87 +423,87 @@ function ne(e) {
373
423
  return n;
374
424
  }
375
425
  //#endregion
376
- //#region src/components/custom/fourier-field/composables/fourierFieldWGPUSetup.ts
377
- var J = 64, Y = 128, X = 8, re = 1, Z = 2, Q = 4, ie = 64, ae = .92, oe = .95, se = 1.35, ce = .34;
378
- function le(e) {
379
- let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: c } = e, l = e.getPointerLean;
380
- return function(e, u, d) {
381
- let f = e.createShaderModule({
426
+ //#region src/components/fourier-field/composables/fourierFieldWGPUSetup.ts
427
+ var de = 64, Z = 128, Q = 8, $ = 1, fe = 2, pe = 4, me = 64, he = .92, ge = .95, _e = 1.35, ve = .34;
428
+ function ye(e) {
429
+ let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: s } = e, c = e.getPointerLean;
430
+ return function(e, l, u) {
431
+ let d = e.createShaderModule({
382
432
  label: "[FourierField] fourier-field.compute.wgsl",
383
- code: R
384
- }), p = e.createShaderModule({
433
+ code: ie
434
+ }), f = e.createShaderModule({
385
435
  label: "[FourierField] fourier-field.render.wgsl",
386
- code: z
387
- }), m = e.createBuffer({
436
+ code: ae
437
+ }), p = e.createBuffer({
388
438
  label: "[FourierField] phasors",
389
439
  size: 1024,
390
- usage: Y | X
391
- }), h = e.createBuffer({
440
+ usage: Z | Q
441
+ }), m = e.createBuffer({
392
442
  label: "[FourierField] curve-samples",
393
443
  size: 384 * 16,
394
- usage: Y
395
- }), g = e.createBuffer({
444
+ usage: Z
445
+ }), h = e.createBuffer({
396
446
  label: "[FourierField] chain-tips",
397
447
  size: 1040,
398
- usage: Y
399
- }), _ = e.createBuffer({
448
+ usage: Z
449
+ }), g = e.createBuffer({
400
450
  label: "[FourierField] compute-uniforms",
401
- size: V().buffer.byteLength,
402
- usage: J | X
403
- }), v = e.createBuffer({
451
+ size: ce().buffer.byteLength,
452
+ usage: de | Q
453
+ }), _ = e.createBuffer({
404
454
  label: "[FourierField] render-uniforms",
405
- size: G().buffer.byteLength,
406
- usage: J | X
407
- }), y = e.createBindGroupLayout({
455
+ size: q().buffer.byteLength,
456
+ usage: de | Q
457
+ }), v = e.createBindGroupLayout({
408
458
  label: "[FourierField] compute-bgl",
409
459
  entries: [
410
460
  {
411
461
  binding: 0,
412
- visibility: Q,
462
+ visibility: pe,
413
463
  buffer: { type: "uniform" }
414
464
  },
415
465
  {
416
466
  binding: 1,
417
- visibility: Q,
467
+ visibility: pe,
418
468
  buffer: { type: "read-only-storage" }
419
469
  },
420
470
  {
421
471
  binding: 2,
422
- visibility: Q,
472
+ visibility: pe,
423
473
  buffer: { type: "storage" }
424
474
  },
425
475
  {
426
476
  binding: 3,
427
- visibility: Q,
477
+ visibility: pe,
428
478
  buffer: { type: "storage" }
429
479
  }
430
480
  ]
431
- }), b = e.createComputePipeline({
481
+ }), y = e.createComputePipeline({
432
482
  label: "[FourierField] compute-pipeline",
433
- layout: e.createPipelineLayout({ bindGroupLayouts: [y] }),
483
+ layout: e.createPipelineLayout({ bindGroupLayouts: [v] }),
434
484
  compute: {
435
- module: f,
485
+ module: d,
436
486
  entryPoint: "cs_main"
437
487
  }
438
488
  }), x = e.createBindGroup({
439
489
  label: "[FourierField] compute-bg",
440
- layout: y,
490
+ layout: v,
441
491
  entries: [
442
492
  {
443
493
  binding: 0,
444
- resource: { buffer: _ }
494
+ resource: { buffer: g }
445
495
  },
446
496
  {
447
497
  binding: 1,
448
- resource: { buffer: m }
498
+ resource: { buffer: p }
449
499
  },
450
500
  {
451
501
  binding: 2,
452
- resource: { buffer: h }
502
+ resource: { buffer: m }
453
503
  },
454
504
  {
455
505
  binding: 3,
456
- resource: { buffer: g }
506
+ resource: { buffer: h }
457
507
  }
458
508
  ]
459
509
  }), S = e.createBindGroupLayout({
@@ -461,94 +511,110 @@ function le(e) {
461
511
  entries: [
462
512
  {
463
513
  binding: 0,
464
- visibility: re | Z,
514
+ visibility: $ | fe,
465
515
  buffer: { type: "uniform" }
466
516
  },
467
517
  {
468
518
  binding: 1,
469
- visibility: Z,
519
+ visibility: $ | fe,
470
520
  buffer: { type: "read-only-storage" }
471
521
  },
472
522
  {
473
523
  binding: 2,
474
- visibility: Z,
524
+ visibility: $ | fe,
475
525
  buffer: { type: "read-only-storage" }
476
526
  }
477
527
  ]
478
- }), C = e.createRenderPipeline({
479
- label: "[FourierField] render-pipeline",
480
- layout: e.createPipelineLayout({ bindGroupLayouts: [S] }),
528
+ }), C = e.createPipelineLayout({ bindGroupLayouts: [S] }), w = {
529
+ color: {
530
+ srcFactor: "one",
531
+ dstFactor: "one-minus-src-alpha",
532
+ operation: "add"
533
+ },
534
+ alpha: {
535
+ srcFactor: "one",
536
+ dstFactor: "one-minus-src-alpha",
537
+ operation: "add"
538
+ }
539
+ }, T = {
540
+ color: {
541
+ srcFactor: "one",
542
+ dstFactor: "one",
543
+ operation: "max"
544
+ },
545
+ alpha: {
546
+ srcFactor: "one",
547
+ dstFactor: "one",
548
+ operation: "max"
549
+ }
550
+ }, E = (t, n) => e.createRenderPipeline({
551
+ label: `[FourierField] ribbon-pipeline-L${t}`,
552
+ layout: C,
481
553
  vertex: {
482
- module: p,
483
- entryPoint: "vs_main"
554
+ module: f,
555
+ entryPoint: "vs_main",
556
+ constants: { LAYER: t }
484
557
  },
485
558
  fragment: {
486
- module: p,
559
+ module: f,
487
560
  entryPoint: "fs_main",
561
+ constants: { LAYER: t },
488
562
  targets: [{
489
- format: d,
490
- blend: {
491
- color: {
492
- srcFactor: "one",
493
- dstFactor: "one-minus-src-alpha",
494
- operation: "add"
495
- },
496
- alpha: {
497
- srcFactor: "one",
498
- dstFactor: "one-minus-src-alpha",
499
- operation: "add"
500
- }
501
- }
563
+ format: u,
564
+ blend: n
502
565
  }]
503
566
  },
504
567
  primitive: { topology: "triangle-list" }
505
- }), w = e.createBindGroup({
568
+ }), D = {
569
+ trail: E(U.trail, w),
570
+ epicycle: E(U.epicycle, T),
571
+ head: E(U.head, w),
572
+ "cel-rope": E(U["cel-rope"], w),
573
+ "cel-arm": E(U["cel-arm"], w)
574
+ }, O = e.createBindGroup({
506
575
  label: "[FourierField] render-bg",
507
576
  layout: S,
508
577
  entries: [
509
578
  {
510
579
  binding: 0,
511
- resource: { buffer: v }
580
+ resource: { buffer: _ }
512
581
  },
513
582
  {
514
583
  binding: 1,
515
- resource: { buffer: h }
584
+ resource: { buffer: m }
516
585
  },
517
586
  {
518
587
  binding: 2,
519
- resource: { buffer: g }
588
+ resource: { buffer: h }
520
589
  }
521
590
  ]
522
- }), T = V(), E = G(), D = null, O = {
591
+ }), k = ce(), A = q(), j = null, M = {
523
592
  centerX: 0,
524
593
  centerY: 0,
525
594
  scale: 1
526
- }, k = 0;
527
- function A() {
595
+ }, N = 0;
596
+ function P() {
528
597
  let t = r();
529
- t !== D && (D = t, k = Math.min(t.length, 64), O = K(t), e.queue.writeBuffer(m, 0, ne(t)));
530
- }
531
- function j() {
532
- let e = s(), n = t.clientWidth || 320, r = t.clientHeight || 320, i = Math.max(1, Math.round(n * e)), a = Math.max(1, Math.round(r * e));
533
- (t.width !== i || t.height !== a) && (t.width = i, t.height = a);
598
+ t !== j && (j = t, N = Math.min(t.length, 64), M = J(t), e.queue.writeBuffer(p, 0, X(t)));
534
599
  }
535
- function M(r) {
536
- c?.(r), A();
537
- let o = a(), s = Math.max(1, Math.min(Math.round(n.harmonics), k)), d = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), s)) : 0;
538
- H(T, o, n.trailArc, s, d, 384, k), e.queue.writeBuffer(_, 0, T.buffer);
539
- let f = Math.min(t.clientWidth || 320, t.clientHeight || 320), p = (t.clientWidth || 320) / Math.max(t.clientHeight || 320, 1), m = q(n.trailWidth, O.scale, f), h = l?.() ?? {
600
+ function F(e) {}
601
+ function I(r) {
602
+ s?.(r), P();
603
+ let o = a(), u = Math.max(1, Math.min(Math.round(n.harmonics), N)), d = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), u)) : 0;
604
+ le(k, o, n.trailArc, u, d, 384, N), e.queue.writeBuffer(g, 0, k.buffer);
605
+ let f = Math.min(t.width, t.height) / Math.max(b(), 1), p = t.width / Math.max(t.height, 1), m = ue(n.trailWidth, M.scale, f), h = 12 / (Math.max(M.scale, 1e-6) * Math.max(f, 1)), v = c?.() ?? {
540
606
  x: 0,
541
607
  y: 0
542
608
  };
543
- te(E, h.x !== 0 || h.y !== 0 ? {
544
- ...O,
545
- centerX: O.centerX - h.x,
546
- centerY: O.centerY - h.y
547
- } : O, p, m, ae, oe, se, ce, n.intensity, n.showEpicycles, n.rainbowChain, n.squashGain, n.celGain, 384, d, i()), e.queue.writeBuffer(v, 0, E.buffer);
548
- let g = e.createCommandEncoder({ label: "[FourierField] frame" }), y = g.beginComputePass();
549
- y.setPipeline(b), y.setBindGroup(0, x), y.dispatchWorkgroups(Math.ceil(384 / ie)), y.end();
550
- let S = u.getCurrentTexture().createView(), D = g.beginRenderPass({ colorAttachments: [{
551
- view: S,
609
+ Y(A, v.x !== 0 || v.y !== 0 ? {
610
+ ...M,
611
+ centerX: M.centerX - v.x,
612
+ centerY: M.centerY - v.y
613
+ } : M, p, m, he, ge, _e, ve, n.intensity, n.showEpicycles, n.rainbowChain, n.squashGain, n.celGain, h, 384, d, i()), e.queue.writeBuffer(_, 0, A.buffer);
614
+ let S = e.createCommandEncoder({ label: "[FourierField] frame" }), C = S.beginComputePass();
615
+ C.setPipeline(y), C.setBindGroup(0, x), C.dispatchWorkgroups(Math.ceil(384 / me)), C.end();
616
+ let w = l.getCurrentTexture().createView(), T = S.beginRenderPass({ colorAttachments: [{
617
+ view: w,
552
618
  clearValue: {
553
619
  r: 0,
554
620
  g: 0,
@@ -558,48 +624,61 @@ function le(e) {
558
624
  loadOp: "clear",
559
625
  storeOp: "store"
560
626
  }] });
561
- D.setPipeline(C), D.setBindGroup(0, w), D.draw(3, 1, 0, 0), D.end(), e.queue.submit([g.finish()]);
627
+ T.setBindGroup(0, O);
628
+ let E = oe({
629
+ sampleCount: 384,
630
+ armCount: d,
631
+ showEpicycles: n.showEpicycles,
632
+ celGain: n.celGain
633
+ });
634
+ for (let e of E) T.setPipeline(D[e.kind]), T.draw(6, e.instanceCount, 0, 0);
635
+ T.end(), e.queue.submit([S.finish()]);
562
636
  }
563
637
  return {
564
- frame: M,
638
+ frame: I,
565
639
  shouldContinue: o,
566
- resize: j,
640
+ resize: F,
567
641
  teardown: () => {
568
- m.destroy(), h.destroy(), g.destroy(), _.destroy(), v.destroy();
642
+ p.destroy(), m.destroy(), h.destroy(), g.destroy(), _.destroy();
569
643
  }
570
644
  };
571
645
  };
572
646
  }
573
647
  //#endregion
574
- //#region src/components/custom/fourier-field/shaders/fourier-field.glsl.ts
575
- var ue = "#version 300 es\nin vec2 aPosition;\nout vec2 vClip;\nvoid main() {\n vClip = aPosition;\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}\n", de = `#version 300 es
648
+ //#region src/components/fourier-field/shaders/fourier-field.glsl.ts
649
+ var be = "#version 300 es\n// BI.W-FOURIER-RIBBON §2b — MUST equal the WGSL twin + FOURIER_TANGENT_EPS (constants.ts).\n#define RIBBON_UNDERGLOW_SCALE 2.2\n\nin vec2 aCorner; // the unit quad corner ∈ [0,1]²\nin vec4 aSeg; // (ax, ay, bx, by) — segment endpoints in MODEL space\nin vec4 aData; // (age, strokeHalf, arg2, _pad) — strokeHalf/age/arg2 per layer\n\nuniform vec4 uFit; // (centerX, centerY, scale, aspect) — model→clip fit\nuniform int uLayer; // 0 trail · 1 epicycle · 2 head · 3 cel-rope · 4 cel-arm\nuniform float uEdgeMargin; // AA-feather slop in MODEL units (a few CSS px), padding the bbox\n\nout vec2 vP; // the MODEL-space fragment coordinate (the fs runs the SDF on it)\nout vec2 vA;\nout vec2 vB;\nout float vAge;\nout float vHalf;\nout float vArg2;\n\nvoid main() {\n vec2 a = aSeg.xy;\n vec2 b = aSeg.zw;\n float strokeHalf = aData.y;\n vA = a; vB = b; vAge = aData.x; vHalf = strokeHalf; vArg2 = aData.z;\n\n vec2 pos;\n if (uLayer == 1 || uLayer == 2) {\n // AABB around a — the epicycle orbit RING (radius = |b-a|) or the head HALO.\n float ext = (uLayer == 1) ? (length(b - a) + strokeHalf * 0.7) : (strokeHalf * 4.5);\n ext += uEdgeMargin;\n pos = a + (aCorner * 2.0 - 1.0) * ext;\n } else {\n // Capsule along a→b padded by the covered extent (trail under-glow / cel stroke).\n float ext = (uLayer == 0) ? (strokeHalf * RIBBON_UNDERGLOW_SCALE) : strokeHalf;\n ext += uEdgeMargin;\n vec2 d = b - a;\n float len = length(d);\n vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);\n vec2 perp = vec2(-dir.y, dir.x);\n vec2 along = mix(a - dir * ext, b + dir * ext, aCorner.x);\n pos = along + perp * (aCorner.y * 2.0 - 1.0) * ext;\n }\n\n vP = pos;\n vec2 center = uFit.xy;\n float scale = max(uFit.z, 1e-6);\n float aspect = max(uFit.w, 1e-4);\n // model → clip (the inverse of the fs's p = center + vClip·aspect / scale).\n float clipX = (pos.x - center.x) * scale / aspect;\n float clipY = (pos.y - center.y) * scale;\n gl_Position = vec4(clipX, clipY, 0.0, 1.0);\n}\n", xe = `#version 300 es
576
650
  precision highp float;
577
651
 
578
- #define MAX_CURVE_SAMPLES 256
579
- #define MAX_PHASORS 64
652
+ #define MAX_FOURIER_STOPS 4
580
653
  // BD.W-FOURIER-LOOM §2b — MUST equal the WGSL twin + FOURIER_TANGENT_EPS (constants.ts).
581
654
  #define TANGENT_EPS 1e-4
582
655
  #define SPEED_REF_HALFWIDTHS 6.0
656
+ // BG.W-FOURIER-BEAUTY B1 — the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim
657
+ // from constants.ts (the GLSL twin cannot import a TS const); proof:viz FB1 cross-checks the
658
+ // two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.
659
+ #define RIBBON_TAIL_FRAC 0.4
660
+ #define RIBBON_UNDERGLOW_SCALE 2.2
661
+ #define RIBBON_UNDERGLOW_ALPHA 0.16
583
662
 
584
- in vec2 vClip;
663
+ in vec2 vP;
664
+ in vec2 vA;
665
+ in vec2 vB;
666
+ in float vAge;
667
+ in float vHalf;
668
+ in float vArg2;
585
669
  out vec4 fragColor;
586
670
 
587
- uniform vec4 uFit; // (centerX, centerY, scale, aspect)
588
- uniform vec4 uTrail; // (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)
589
- uniform vec4 uEnv; // (trailFloor, intensity, showEpicycles, rainbowChain)
590
- uniform vec4 uLoom; // (squashGain, celGain, _pad, _pad) — FOURIER-LOOM §2b/§3b
591
- uniform int uSampleCount;
592
- uniform int uArmCount;
671
+ uniform vec4 uTrail; // (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)
672
+ uniform vec4 uEnv; // (trailFloor, intensity, showEpicycles, rainbowChain)
673
+ uniform vec4 uLoom; // (squashGain, celGain, _pad, _pad) — FOURIER-LOOM §2b/§3b
674
+ uniform int uLayer; // 0 trail · 1 epicycle · 2 head · 3 cel-rope · 4 cel-arm
593
675
  uniform int uStopCount;
594
- uniform vec3 uPalette[4]; // linear-sRGB stops
595
- // curveSamples[i] = (x, y, age) in MODEL space; chainTips[k] = (x, y) in MODEL space.
596
- uniform vec3 uCurve[MAX_CURVE_SAMPLES];
597
- uniform vec2 uChain[MAX_PHASORS];
676
+ uniform vec3 uPalette[MAX_FOURIER_STOPS]; // linear-sRGB stops
598
677
 
599
678
  const float PI = 3.141592653589793;
600
679
 
601
- ${i}
602
- ${o}
680
+ ${v}
681
+ ${y}
603
682
 
604
683
  // Negative-safe cube root (the WGSL chunk's cbrt3 twin; the GLSL chunk inlines it).
605
684
  vec3 cbrt3(vec3 v) { return sign(v) * pow(abs(v), vec3(1.0 / 3.0)); }
@@ -634,8 +713,6 @@ float segDist(vec2 p, vec2 a, vec2 b) {
634
713
  }
635
714
 
636
715
  // BD.W-FOURIER-LOOM §2b — the head travel frame (T, ŝ), the GLSL twin of the WGSL headFrame.
637
- // The cusp guard returns +x as the stable fallback when s ≤ TANGENT_EPS — identical to the
638
- // WGSL twin + the CPU bead path.
639
716
  struct HeadFrame { vec2 T; float sHat; };
640
717
  HeadFrame headFrame(vec2 head, vec2 headBack, float halfW) {
641
718
  vec2 d = head - headBack;
@@ -659,119 +736,78 @@ float headAniso(vec2 p, vec2 head, HeadFrame fr, float k) {
659
736
  }
660
737
 
661
738
  void main() {
662
- vec2 center = uFit.xy;
663
- float scale = max(uFit.z, 1e-6);
664
- float aspect = max(uFit.w, 1e-4);
665
- // clip → model (the inverse of model→clip fit).
666
- vec2 p = center + vec2(vClip.x * aspect, vClip.y) / scale;
667
-
739
+ vec2 p = vP;
668
740
  float aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;
669
- float trailWidth = uTrail.x; // already in model units (packed CPU-side)
670
741
  float peak = uTrail.y * uEnv.y;
671
742
  float headGlow = uTrail.z * uEnv.y;
672
743
  float fadeExp = uTrail.w;
673
744
  float trailFloor = uEnv.x;
674
- bool showEpicycles = uEnv.z > 0.5;
675
745
  bool rainbow = uEnv.w > 0.5;
676
- float squashGain = uLoom.x; // FOURIER-LOOM §2b
677
- float celGain = uLoom.y; // FOURIER-LOOM §3b
678
- float halfW = trailWidth * 0.5;
679
-
680
- // §2b — the head travel frame (SAME uCurve[0]/[1] the WGSL twin reads → parity).
681
- HeadFrame headFr;
682
- headFr.T = vec2(1.0, 0.0);
683
- headFr.sHat = 0.0;
684
- if (uSampleCount >= 2) {
685
- headFr = headFrame(uCurve[0].xy, uCurve[1].xy, halfW);
686
- }
687
- vec2 celOff = -headFr.T * halfW * 1.4;
746
+ float squashGain = uLoom.x;
747
+ float celGain = uLoom.y;
748
+ float halfW = vHalf;
688
749
 
689
- vec4 accum = vec4(0.0);
690
-
691
- // §3b — the cartoon CEL-SHADOW: a darker offset copy of the rope + chain, opposite travel,
692
- // painted FIRST (under the lit chain). PRM-static; celGain = 0 → no pass (byte-frozen).
693
- if (celGain > 0.001) {
694
- vec3 ink = vec3(0.0);
695
- float celA = clamp(celGain, 0.0, 1.0);
696
- for (int i = 0; i < MAX_CURVE_SAMPLES; i++) {
697
- if (i >= uSampleCount - 1) break;
698
- vec2 sa = uCurve[i].xy + celOff;
699
- vec2 sb = uCurve[i + 1].xy + celOff;
700
- float d = segDist(p, sa, sb);
701
- float cover = 1.0 - smoothstep(halfW, halfW + aa, d);
702
- if (cover < 0.002) continue;
703
- float m = cover * celA * peak;
704
- accum = vec4(ink * m, m) + accum * (1.0 - m);
705
- }
706
- if (showEpicycles && uArmCount >= 1) {
707
- for (int k = 0; k < MAX_PHASORS; k++) {
708
- if (k >= uArmCount) break;
709
- vec2 a = uChain[k] + celOff;
710
- vec2 b = uChain[k + 1] + celOff;
711
- float dArm = segDist(p, a, b);
712
- float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
713
- float m = armMask * celA * peak * 0.7;
714
- accum = vec4(ink * m, m) + accum * (1.0 - m);
715
- }
716
- }
717
- }
718
-
719
- if (showEpicycles && uArmCount >= 1) {
720
- for (int k = 0; k < MAX_PHASORS; k++) {
721
- if (k >= uArmCount) break;
722
- vec2 a = uChain[k];
723
- vec2 b = uChain[k + 1];
724
- float seg = float(k) / max(float(uArmCount - 1), 1.0);
725
- vec3 lin = chainColorLin(seg, rainbow);
726
- float radius = length(b - a);
727
- float dRing = abs(length(p - a) - radius);
728
- float ringW = max(halfW * 0.45, aa);
729
- float ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
730
- float dArm = segDist(p, a, b);
731
- float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
732
- float dotR = max(halfW * 0.7, aa * 2.0);
733
- float dDot = length(p - a);
734
- float dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
735
- float m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
736
- vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
737
- accum = vec4(rgb * m, m) + accum * (1.0 - m);
738
- }
739
- }
740
-
741
- for (int i = 0; i < MAX_CURVE_SAMPLES; i++) {
742
- if (i >= uSampleCount - 1) break;
743
- vec3 sa = uCurve[i];
744
- vec3 sb = uCurve[i + 1];
745
- float d = segDist(p, sa.xy, sb.xy);
746
- float cover = 1.0 - smoothstep(halfW, halfW + aa, d);
747
- if (cover < 0.002) continue;
748
- float age = max(sa.z, sb.z);
749
- float a = peak * pow(age, fadeExp);
750
- a = max(a, peak * trailFloor) * cover;
750
+ if (uLayer == 0) {
751
+ // ── TRAIL — the tapered luminous ribbon over its own soft under-glow ──
752
+ float age = vAge;
753
+ float d = segDist(p, vA, vB);
754
+ // B1 — the head→tail TAPER: the ribbon half-width scales with age (thick head, thin tail).
755
+ float ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);
751
756
  vec3 lin = samplePaletteLin(1.0 - age * 0.4);
752
757
  vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
753
- accum = vec4(rgb * a, a) + accum * (1.0 - a);
754
- }
755
-
756
- if (uSampleCount >= 1) {
757
- vec2 head = uCurve[0].xy;
758
- // §2b — the squash-and-stretch anisotropic head (collapses to the round disc at rest).
759
- float dHead = headAniso(p, head, headFr, squashGain);
758
+ // B1 — the soft UNDER-GLOW: a wider, low-alpha copy UNDER the crisp ribbon (ONE color event).
759
+ float glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;
760
+ float glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);
761
+ float ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;
762
+ // the crisp tapered ribbon core.
763
+ float cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);
764
+ float ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;
765
+ // core OVER glow OVER transparent (both premultiplied on the SAME rgb → out = rgb·outA).
766
+ float outA = ca + ga * (1.0 - ca);
767
+ fragColor = vec4(rgb * outA, outA);
768
+ } else if (uLayer == 1) {
769
+ // ── EPICYCLE — orbit RING + ARM + joint DOT union (MAX-blended, no join seam) ──
770
+ float seg = vArg2;
771
+ vec3 lin = chainColorLin(seg, rainbow);
772
+ vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
773
+ float radius = length(vB - vA);
774
+ float dRing = abs(length(p - vA) - radius);
775
+ float ringW = max(halfW * 0.45, aa);
776
+ float ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
777
+ float dArm = segDist(p, vA, vB);
778
+ float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
779
+ float dotR = max(halfW * 0.7, aa * 2.0);
780
+ float dDot = length(p - vA);
781
+ float dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
782
+ float m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
783
+ fragColor = vec4(rgb * m, m);
784
+ } else if (uLayer == 2) {
785
+ // ── HEAD — squash-and-stretch (§2b): halo + saturated core + white specular ──
786
+ vec2 head = vA;
787
+ vec2 headBack = vB;
788
+ HeadFrame fr = headFrame(head, headBack, halfW);
789
+ float dHead = headAniso(p, head, fr, squashGain);
760
790
  float coreR = halfW * 1.5;
761
791
  float haloR = coreR * 3.0;
762
792
  vec3 headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3(0.0), vec3(1.0));
763
793
  float halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;
764
- accum = vec4(headRgb * halo, halo) + accum * (1.0 - halo);
794
+ vec4 accum = vec4(headRgb * halo, halo);
765
795
  float core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;
766
796
  accum = vec4(headRgb * core, core) + accum * (1.0 - core);
767
797
  float spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;
768
798
  accum = vec4(vec3(1.0) * spec, spec) + accum * (1.0 - spec);
799
+ fragColor = accum;
800
+ } else {
801
+ // ── CEL — the technicolor ink shadow (rope uLayer==3 / arm uLayer==4) ──
802
+ float celA = clamp(celGain, 0.0, 1.0);
803
+ float d = segDist(p, vA, vB);
804
+ float cover = 1.0 - smoothstep(halfW, halfW + aa, d);
805
+ float m = cover * celA * peak * vArg2; // vArg2 = celStrength (1.0 rope / 0.7 arm)
806
+ fragColor = vec4(0.0, 0.0, 0.0, m);
769
807
  }
770
-
771
- fragColor = accum;
772
808
  }
773
- `, fe = 256, $ = 64, pe = .92, me = .95, he = 1.35, ge = .34;
774
- function _e(e, t, n) {
809
+ `, Se = 256, Ce = 64, we = .92, Te = .95, Ee = 1.35, De = .34;
810
+ function Oe(e, t, n) {
775
811
  let r = e.createShader(t);
776
812
  if (e.shaderSource(r, n), e.compileShader(r), !e.getShaderParameter(r, e.COMPILE_STATUS)) {
777
813
  let t = e.getShaderInfoLog(r);
@@ -779,212 +815,239 @@ function _e(e, t, n) {
779
815
  }
780
816
  return r;
781
817
  }
782
- function ve(e) {
783
- let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: c } = e, u = e.getPointerLean;
818
+ function ke(e) {
819
+ let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: s } = e, l = e.getPointerLean;
784
820
  return function(e) {
785
- let d = _e(e, e.VERTEX_SHADER, ue), f = _e(e, e.FRAGMENT_SHADER, de), p = e.createProgram();
786
- if (e.attachShader(p, d), e.attachShader(p, f), e.linkProgram(p), !e.getProgramParameter(p, e.LINK_STATUS)) throw Error(`[FourierField] link failed: ${e.getProgramInfoLog(p)}`);
787
- e.deleteShader(d), e.deleteShader(f);
788
- let m = e.createVertexArray();
789
- e.bindVertexArray(m);
790
- let g = e.createBuffer();
791
- e.bindBuffer(e.ARRAY_BUFFER, g), e.bufferData(e.ARRAY_BUFFER, new Float32Array([
792
- -1,
793
- -1,
794
- 3,
795
- -1,
796
- -1,
797
- 3
798
- ]), e.STATIC_DRAW);
799
- let _ = e.getAttribLocation(p, "aPosition");
800
- e.enableVertexAttribArray(_), e.vertexAttribPointer(_, 2, e.FLOAT, !1, 0, 0), e.bindVertexArray(null);
801
- let v = (t) => e.getUniformLocation(p, t), y = v("uFit"), b = v("uTrail"), x = v("uEnv"), S = v("uLoom"), C = v("uSampleCount"), w = v("uArmCount"), T = v("uStopCount"), E = v("uPalette[0]"), D = v("uCurve[0]"), O = v("uChain[0]"), k = new Float32Array(fe * 3), A = new Float32Array(($ + 1) * 2), j = new Float32Array(12), M = null, N = {
821
+ let u = Oe(e, e.VERTEX_SHADER, be), d = Oe(e, e.FRAGMENT_SHADER, xe), f = e.createProgram();
822
+ if (e.attachShader(f, u), e.attachShader(f, d), e.linkProgram(f), !e.getProgramParameter(f, e.LINK_STATUS)) throw Error(`[FourierField] link failed: ${e.getProgramInfoLog(f)}`);
823
+ e.deleteShader(u), e.deleteShader(d);
824
+ let p = e.createVertexArray();
825
+ e.bindVertexArray(p);
826
+ let m = e.createBuffer();
827
+ e.bindBuffer(e.ARRAY_BUFFER, m), e.bufferData(e.ARRAY_BUFFER, se, e.STATIC_DRAW);
828
+ let g = e.getAttribLocation(f, "aCorner");
829
+ e.enableVertexAttribArray(g), e.vertexAttribPointer(g, 2, e.FLOAT, !1, 0, 0), e.vertexAttribDivisor(g, 0);
830
+ let _ = (Se - 1) * 2 + Ce * 2 + 1, v = new Float32Array(_ * 8), y = e.createBuffer();
831
+ e.bindBuffer(e.ARRAY_BUFFER, y), e.bufferData(e.ARRAY_BUFFER, v.byteLength, e.DYNAMIC_DRAW);
832
+ let x = e.getAttribLocation(f, "aSeg"), S = e.getAttribLocation(f, "aData");
833
+ e.enableVertexAttribArray(x), e.enableVertexAttribArray(S), e.vertexAttribPointer(x, 4, e.FLOAT, !1, 32, 0), e.vertexAttribPointer(S, 4, e.FLOAT, !1, 32, 16), e.vertexAttribDivisor(x, 1), e.vertexAttribDivisor(S, 1), e.bindVertexArray(null);
834
+ let C = (t) => e.getUniformLocation(f, t), w = C("uFit"), T = C("uTrail"), E = C("uEnv"), D = C("uLoom"), O = C("uLayer"), k = C("uEdgeMargin"), A = C("uStopCount"), j = C("uPalette[0]"), M = new Float32Array(Se * 3), N = new Float32Array((Ce + 1) * 2), P = new Float32Array(12), F = null, I = {
802
835
  centerX: 0,
803
836
  centerY: 0,
804
837
  scale: 1
805
- }, P = 0;
806
- function F() {
838
+ }, L = 0;
839
+ function R() {
807
840
  let e = r();
808
- e !== M && (M = e, P = Math.min(e.length, $), N = K(e));
841
+ e !== F && (F = e, L = Math.min(e.length, Ce), I = J(e));
809
842
  }
810
- function I() {
811
- let n = s(), r = t.clientWidth || 320, i = t.clientHeight || 320, a = Math.max(1, Math.round(r * n)), o = Math.max(1, Math.round(i * n));
812
- (t.width !== a || t.height !== o) && (t.width = a, t.height = o), e.viewport(0, 0, t.width, t.height);
843
+ function z(n) {
844
+ e.viewport(0, 0, n?.w ?? t.width, n?.h ?? t.height);
813
845
  }
814
- function L(r) {
815
- c?.(r), F();
816
- let o = M;
846
+ function B(r) {
847
+ s?.(r), R();
848
+ let o = F;
817
849
  if (!o) return;
818
- let s = a(), d = Math.max(1, Math.min(Math.round(n.harmonics), P)), f = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), d)) : 0, g = fe, _ = Math.max(g - 1, 1);
850
+ let u = a(), d = Math.max(1, Math.min(Math.round(n.harmonics), L)), m = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), d)) : 0, g = Se, _ = Math.max(g - 1, 1);
819
851
  for (let e = 0; e < g; e++) {
820
- let t = e / _, r = 1 - t, i = s - n.trailArc * t;
852
+ let t = e / _, r = 1 - t, i = u - n.trailArc * t;
821
853
  i -= Math.floor(i);
822
- let [a, c] = h(o, i, d), l = e * 3;
823
- k[l + 0] = a, k[l + 1] = c, k[l + 2] = r;
854
+ let [a, s] = h(o, i, d), c = e * 3;
855
+ M[c + 0] = a, M[c + 1] = s, M[c + 2] = r;
824
856
  }
825
- let v = Math.min(f, d);
826
- for (let e = 0; e <= $; e++) {
857
+ let C = Math.min(m, d);
858
+ for (let e = 0; e <= Ce; e++) {
827
859
  let t = e * 2;
828
- if (e <= v) {
829
- let [n, r] = h(o, s, e);
830
- A[t + 0] = n, A[t + 1] = r;
831
- } else A[t + 0] = 0, A[t + 1] = 0;
860
+ if (e <= C) {
861
+ let [n, r] = h(o, u, e);
862
+ N[t + 0] = n, N[t + 1] = r;
863
+ } else N[t + 0] = 0, N[t + 1] = 0;
864
+ }
865
+ let z = t.width / Math.max(t.height, 1), B = Math.min(t.width, t.height) / Math.max(b(), 1), V = ue(n.trailWidth, I.scale, B), H = V * .5, ee = 12 / (Math.max(I.scale, 1e-6) * Math.max(B, 1)), te = M[0], ne = M[1], re = M[3], ie = M[4], ae = te - re, se = ne - ie, W = Math.hypot(ae, se), ce = W > 1e-4 ? ae / W : 1, le = W > 1e-4 ? se / W : 0, G = -ce * H * 1.4, K = -le * H * 1.4, q = oe({
866
+ sampleCount: g,
867
+ armCount: m,
868
+ showEpicycles: n.showEpicycles,
869
+ celGain: n.celGain
870
+ }), J = /* @__PURE__ */ new Map(), Y = 0, X = (e, t, n, r, i, a, o) => {
871
+ v[Y++] = e, v[Y++] = t, v[Y++] = n, v[Y++] = r, v[Y++] = i, v[Y++] = a, v[Y++] = o, v[Y++] = 0;
872
+ };
873
+ for (let e of q) if (J.set(e.kind, Y), e.kind === "cel-rope") for (let e = 0; e < g - 1; e++) {
874
+ let t = e * 3;
875
+ X(M[t] + G, M[t + 1] + K, M[t + 3] + G, M[t + 4] + K, 0, H, 1);
876
+ }
877
+ else if (e.kind === "cel-arm") for (let e = 0; e < m; e++) {
878
+ let t = e * 2;
879
+ X(N[t] + G, N[t + 1] + K, N[t + 2] + G, N[t + 3] + K, 0, H * .55, .7);
880
+ }
881
+ else if (e.kind === "epicycle") {
882
+ let e = Math.max(m - 1, 1);
883
+ for (let t = 0; t < m; t++) {
884
+ let n = t * 2;
885
+ X(N[n], N[n + 1], N[n + 2], N[n + 3], 0, H, t / e);
886
+ }
887
+ } else if (e.kind === "trail") for (let e = 0; e < g - 1; e++) {
888
+ let t = e * 3, n = Math.max(M[t + 2], M[t + 5]);
889
+ X(M[t], M[t + 1], M[t + 3], M[t + 4], n, H, 0);
832
890
  }
833
- let I = t.clientWidth || 320, L = t.clientHeight || 320, R = Math.min(I, L), z = I / Math.max(L, 1), B = q(n.trailWidth, N.scale, R), V = i(), H = Math.min(V.length, 4);
891
+ else X(M[0], M[1], M[3], M[4], 0, H, 0);
892
+ let de = Y, Z = i(), Q = Math.min(Z.length, 4);
834
893
  for (let e = 0; e < 4; e++) {
835
- let t = l(V[Math.min(e, H - 1)] ?? V[0]);
836
- j[e * 3 + 0] = t[0], j[e * 3 + 1] = t[1], j[e * 3 + 2] = t[2];
894
+ let t = c(Z[Math.min(e, Q - 1)] ?? Z[0]);
895
+ P[e * 3 + 0] = t[0], P[e * 3 + 1] = t[1], P[e * 3 + 2] = t[2];
837
896
  }
838
- e.useProgram(p), e.bindVertexArray(m), e.enable(e.BLEND), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA), e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT);
839
- let U = u?.() ?? {
897
+ e.useProgram(f), e.bindVertexArray(p), e.enable(e.BLEND), e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT), e.bindBuffer(e.ARRAY_BUFFER, y), e.bufferSubData(e.ARRAY_BUFFER, 0, v.subarray(0, de));
898
+ let $ = l?.() ?? {
840
899
  x: 0,
841
900
  y: 0
842
901
  };
843
- e.uniform4f(y, N.centerX - U.x, N.centerY - U.y, N.scale, z), e.uniform4f(b, B, pe, me, he), e.uniform4f(x, ge, n.intensity, +!!n.showEpicycles, +!!n.rainbowChain), e.uniform4f(S, n.squashGain, n.celGain, 0, 0), e.uniform1i(C, g), e.uniform1i(w, f), e.uniform1i(T, H), e.uniform3fv(E, j), e.uniform3fv(D, k), e.uniform2fv(O, A), e.drawArrays(e.TRIANGLES, 0, 3);
902
+ e.uniform4f(w, I.centerX - $.x, I.centerY - $.y, I.scale, z), e.uniform4f(T, V, we, Te, Ee), e.uniform4f(E, De, n.intensity, +!!n.showEpicycles, +!!n.rainbowChain), e.uniform4f(D, n.squashGain, n.celGain, 0, 0), e.uniform1f(k, ee), e.uniform1i(A, Q), e.uniform3fv(j, P);
903
+ for (let t of q) {
904
+ let n = (J.get(t.kind) ?? 0) * 4;
905
+ e.vertexAttribPointer(x, 4, e.FLOAT, !1, 32, n), e.vertexAttribPointer(S, 4, e.FLOAT, !1, 32, n + 16), e.uniform1i(O, U[t.kind]), t.blend === "max" ? (e.blendEquation(e.MAX), e.blendFunc(e.ONE, e.ONE)) : (e.blendEquation(e.FUNC_ADD), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA)), e.drawArraysInstanced(e.TRIANGLE_STRIP, 0, 4, t.instanceCount);
906
+ }
907
+ e.blendEquation(e.FUNC_ADD);
844
908
  }
845
909
  return {
846
- frame: L,
910
+ frame: B,
847
911
  shouldContinue: o,
848
- resize: I,
912
+ resize: z,
849
913
  teardown: () => {
850
- e.deleteProgram(p), e.deleteBuffer(g), e.deleteVertexArray(m);
914
+ e.deleteProgram(f), e.deleteBuffer(m), e.deleteBuffer(y), e.deleteVertexArray(p);
851
915
  }
852
916
  };
853
917
  };
854
918
  }
855
919
  //#endregion
856
- //#region src/components/custom/fourier-field/composables/useFourierField.ts
857
- function ye(e, t) {
858
- let { config: r, getSpectrum: i, getPalette: a } = t, o = t.mode ?? "live", s = t.frozenT ?? .34, l = t.periodS ?? 16, u = 0, d = -1, f = 0, p = 0;
859
- function m(e) {
860
- if (f === 0 && p === 0) return;
861
- let t = -64 * f - 2 * .62 * 8 * p;
862
- p += t * e, f += p * e, Math.abs(f) < 1e-4 && Math.abs(p) < 1e-4 && (f = 0, p = 0);
863
- }
864
- let g = n({ respectReducedMotion: r.respectReducedMotion }), _ = () => (t.freeze?.() ?? !1) || (F?.reducedMotion ?? !1);
865
- function v(e) {
866
- y(e), t.onHeadFrame?.(E());
920
+ //#region src/components/fourier-field/composables/useFourierField.ts
921
+ function Ae(e, t) {
922
+ let { config: r, getSpectrum: o, getPalette: s } = t, c = t.mode ?? "live", l = t.frozenT ?? .34, u = t.periodS ?? 16, d = 0, f = -1, p = 0, m = 0;
923
+ function h(e) {
924
+ if (p === 0 && m === 0) return;
925
+ let t = -64 * p - 2 * .62 * 8 * m;
926
+ m += t * e, p += m * e, Math.abs(p) < 1e-4 && Math.abs(m) < 1e-4 && (p = 0, m = 0);
867
927
  }
928
+ let g = n({ respectReducedMotion: r.respectReducedMotion }), v = () => (t.freeze?.() ?? !1) || (I?.reducedMotion ?? !1);
868
929
  function y(e) {
869
- let t = d >= 0 ? (e - d) * 1e3 : 16.7;
870
- if (d = e, g.tick(t), _()) {
871
- u = s, f = 0, p = 0;
930
+ x(e);
931
+ }
932
+ function x(e) {
933
+ let n = f >= 0 ? (e - f) * 1e3 : 16.7;
934
+ f = e;
935
+ let i = t.routePointer?.();
936
+ if (t.routePointer && (g.setActive(i?.active ?? !1), i?.active && g.setPointer(i.x, i.y)), g.tick(n), v()) {
937
+ d = l, p = 0, m = 0;
872
938
  return;
873
939
  }
874
- let n = Math.min(Math.max(t / 1e3, 0), .05);
940
+ let a = Math.min(Math.max(n / 1e3, 0), .05);
875
941
  if (r.interactive && g.active.value) {
876
- let e = r.speed / l + g.velocity.value.x * M + f;
877
- u = (u + e * n) % 1, u < 0 && (u += 1);
942
+ let e = r.speed / u + g.velocity.value.x * B + p;
943
+ d = (d + e * a) % 1, d < 0 && (d += 1);
878
944
  let t = g.burst.value * 4;
879
- t !== 0 && (f = t, p = 0), m(n);
945
+ t !== 0 && (p = t, m = 0), h(a);
880
946
  return;
881
947
  }
882
- let i = r.speed / l + f;
883
- u = (u + i * n) % 1, u < 0 && (u += 1), m(n);
948
+ let o = r.speed / u + p;
949
+ d = (d + o * a) % 1, d < 0 && (d += 1), h(a);
884
950
  }
885
- let b = () => u, x = null, S = {
951
+ let S = () => d, w = null, T = {
886
952
  centerX: 0,
887
953
  centerY: 0,
888
954
  scale: 1
889
- }, C = () => {
890
- let e = i();
891
- return e !== x && (x = e, S = K(e)), S;
892
- }, w = () => {
893
- let e = i(), t = Math.max(1, Math.min(Math.round(r.harmonics), e.length, 64)), [n, a] = h(e, u, t);
894
- return {
895
- x: n,
896
- y: a
897
- };
898
955
  }, E = () => {
899
- let t = e.value;
900
- if (!t) return null;
901
- let n = t.clientWidth || 0, r = t.clientHeight || 0;
902
- if (n <= 0 || r <= 0) return null;
903
- let i = n / r, a = w(), o = C(), s = D(), c = s.x !== 0 || s.y !== 0 ? {
904
- ...o,
905
- centerX: o.centerX - s.x,
906
- centerY: o.centerY - s.y
907
- } : o;
908
- return ee(a.x, a.y, c, i);
956
+ let e = o();
957
+ return e !== w && (w = e, T = J(e)), T;
909
958
  }, D = () => {
910
- if (!r.interactive || !g.active.value) return {
959
+ if (!r.interactive) return {
960
+ x: 0,
961
+ y: 0
962
+ };
963
+ let t = e.value;
964
+ if (!t || !t.width || !t.height) return {
911
965
  x: 0,
912
966
  y: 0
913
967
  };
914
- let e = g.smoothedPosition.value;
968
+ let { leanX: n, leanY: o } = a(i(g), {
969
+ aspect: t.width / t.height,
970
+ scale: Math.max(E().scale, 1e-6)
971
+ });
915
972
  return {
916
- x: (e.x * 2 - 1) * N,
917
- y: (e.y * 2 - 1) * N
973
+ x: n,
974
+ y: o
918
975
  };
919
976
  }, O = (e) => {
920
- g.onPointerMove(e), r.interactive && F?.wake();
977
+ g.onPointerMove(e), r.interactive && I?.wake();
921
978
  }, k = () => {
922
- g.onPointerEnter(), r.interactive && F?.wake();
979
+ g.onPointerEnter(), r.interactive && I?.wake();
923
980
  }, A = (e) => e.parentElement ?? e;
924
981
  function j(e) {
925
982
  let t = A(e);
926
983
  t.addEventListener("pointermove", O), t.addEventListener("pointerenter", k), t.addEventListener("pointerleave", g.onPointerLeave);
927
984
  }
928
- function P(e) {
985
+ function N(e) {
929
986
  let t = A(e);
930
987
  t.removeEventListener("pointermove", O), t.removeEventListener("pointerenter", k), t.removeEventListener("pointerleave", g.onPointerLeave);
931
988
  }
932
- let F = null, I = () => {
989
+ let I = null, L = F(C("webgpu")), R = !1, z = () => {
990
+ if (R) return null;
933
991
  let t = e.value;
934
- return t ? (F || (j(t), F = c(t, {
935
- mode: o,
992
+ return t ? (I || (j(t), I = _(t, {
993
+ mode: c,
936
994
  respectReducedMotion: r.respectReducedMotion,
937
- setupWGPU: le({
995
+ dprPolicy: b,
996
+ revealBloom: !0,
997
+ setupWGPU: ye({
938
998
  canvas: t,
939
999
  config: r,
940
- getSpectrum: i,
941
- getPalette: a,
942
- getHeadT: b,
1000
+ getSpectrum: o,
1001
+ getPalette: s,
1002
+ getHeadT: S,
943
1003
  shouldContinue: () => !0,
944
- onFrame: v,
1004
+ onFrame: y,
945
1005
  getPointerLean: D
946
1006
  }),
947
- setupGL: ve({
1007
+ setupGL: ke({
948
1008
  canvas: t,
949
1009
  config: r,
950
- getSpectrum: i,
951
- getPalette: a,
952
- getHeadT: b,
1010
+ getSpectrum: o,
1011
+ getPalette: s,
1012
+ getHeadT: S,
953
1013
  shouldContinue: () => !0,
954
- onFrame: v,
1014
+ onFrame: y,
955
1015
  getPointerLean: D
956
- })
957
- }), F.armAsync()), F) : null;
1016
+ }),
1017
+ onStatus: (e) => L.value = e
1018
+ }), I.armAsync().catch(() => void 0)), I) : null;
958
1019
  };
959
- queueMicrotask(() => I());
960
- let L = {
1020
+ queueMicrotask(() => z());
1021
+ let V = {
961
1022
  get backend() {
962
- return I()?.backend ?? "webgpu";
1023
+ return z()?.backend ?? "webgpu";
963
1024
  },
964
- pause: () => I()?.suspend("manual"),
965
- resume: () => I()?.resume("manual"),
966
- wake: () => I()?.wake(),
967
- renderAt: (e) => I()?.renderAt(e),
1025
+ pause: () => z()?.suspend("manual"),
1026
+ resume: () => z()?.resume("manual"),
1027
+ wake: () => z()?.wake(),
1028
+ renderAt: (e) => z()?.renderAt(e),
968
1029
  get reducedMotion() {
969
- return F?.reducedMotion ?? !1;
1030
+ return I?.reducedMotion ?? !1;
970
1031
  },
971
1032
  get headT() {
972
- return u;
1033
+ return d;
973
1034
  },
1035
+ rendererStatus: P(L),
974
1036
  setHeadT: (e) => {
975
- u = (e % 1 + 1) % 1, I()?.wake();
1037
+ d = (e % 1 + 1) % 1, z()?.wake();
976
1038
  },
977
- headUnit: E,
978
1039
  dispose: () => {
1040
+ if (R) return;
1041
+ R = !0;
979
1042
  let t = e.value;
980
- t && P(t), g.dispose(), F?.dispose();
1043
+ t && N(t), g.dispose(), I?.dispose();
981
1044
  }
982
1045
  };
983
- return T(() => L.dispose()), L;
1046
+ return M(() => V.dispose()), V;
984
1047
  }
985
1048
  //#endregion
986
- //#region src/components/custom/fourier-field/FourierField.vue
987
- var be = /* @__PURE__ */ e(/* @__PURE__ */ S({
1049
+ //#region src/components/fourier-field/FourierField.vue
1050
+ var je = /* @__PURE__ */ e(/* @__PURE__ */ k({
988
1051
  __name: "FourierField",
989
1052
  props: {
990
1053
  config: {},
@@ -999,39 +1062,48 @@ var be = /* @__PURE__ */ e(/* @__PURE__ */ S({
999
1062
  },
1000
1063
  intensity: {}
1001
1064
  },
1002
- setup(e, { expose: n }) {
1003
- let r = e, i = O("hostRef"), a = O("canvasRef"), { isDark: o } = d(), s = y(() => {
1004
- let e = r.config ?? L, t = r.intensity == null ? e.intensity : Math.max(0, Math.min(2, r.intensity)), n = r.config ? e.interactive : !1;
1065
+ emits: ["rendererStatus"],
1066
+ setup(e, { expose: n, emit: i }) {
1067
+ let a = i, c = e, u = I("hostRef"), d = I("canvasRef"), { isDark: f } = o(), h = r(), g = E(() => {
1068
+ let e = c.config ?? re, t = c.intensity == null ? e.intensity : Math.max(0, Math.min(2, c.intensity)), n = c.config ? e.interactive : !0;
1005
1069
  return {
1006
1070
  ...e,
1007
1071
  intensity: t,
1008
1072
  interactive: n
1009
1073
  };
1010
- }), c = y(() => r.spectrum && r.spectrum.length > 0 ? r.spectrum : _(f(p((r.freeze ? "fourier-field/frozen" : r.seed || "fourier-field") + r.seed)), {
1011
- harmonics: Math.min(s.value.harmonics + 4, 62),
1012
- harmonicScale: s.value.harmonicScale
1013
- })), l = () => c.value;
1014
- function m(e) {
1074
+ }), _ = E(() => !!c.config && g.value.interactive), v = c.config ? void 0 : () => ({
1075
+ x: h.pointer.value.x,
1076
+ y: h.pointer.value.y,
1077
+ active: h.active.value
1078
+ }), y = E(() => {
1079
+ if (c.spectrum && c.spectrum.length > 0) return c.spectrum;
1080
+ let e = l[g.value.source];
1081
+ return e ? m(e) : p(w(T((c.freeze ? "fourier-field/frozen" : c.seed || "fourier-field") + c.seed)), {
1082
+ harmonics: Math.min(g.value.harmonics + 4, 62),
1083
+ harmonicScale: g.value.harmonicScale
1084
+ });
1085
+ }), b = () => y.value;
1086
+ function x(e) {
1015
1087
  if (!e.includes("var(") && !e.includes("light-dark(")) return e;
1016
- let n = i.value;
1088
+ let n = u.value;
1017
1089
  if (typeof window > "u" || !n) return e;
1018
1090
  if (e.includes("var(")) return t(e, n);
1019
1091
  let r = n.style.color;
1020
1092
  n.style.color = e;
1021
- let a = getComputedStyle(n).color;
1022
- return n.style.color = r, a || e;
1093
+ let i = getComputedStyle(n).color;
1094
+ return n.style.color = r, i || e;
1023
1095
  }
1024
- let h = D(s.value.palette);
1025
- function g() {
1026
- if (r.getPalette) {
1027
- h.value = r.getPalette();
1096
+ let S = F(g.value.palette);
1097
+ function C() {
1098
+ if (c.getPalette) {
1099
+ S.value = c.getPalette();
1028
1100
  return;
1029
1101
  }
1030
- if (o.value, r.color) {
1031
- let e = m(r.color);
1102
+ if (f.value, c.color) {
1103
+ let e = x(c.color);
1032
1104
  if (e.includes("var(") || e.includes("light-dark(")) return;
1033
- let t = u(e);
1034
- h.value = [{
1105
+ let t = s(e);
1106
+ S.value = [{
1035
1107
  L: Math.max(.5, t.L),
1036
1108
  C: Math.max(.12, t.C),
1037
1109
  h: t.h
@@ -1042,56 +1114,48 @@ var be = /* @__PURE__ */ e(/* @__PURE__ */ S({
1042
1114
  }];
1043
1115
  return;
1044
1116
  }
1045
- h.value = s.value.palette;
1046
- }
1047
- let v = () => h.value, S = new Proxy({}, {
1048
- get: (e, t) => Reflect.get(s.value, t),
1049
- has: (e, t) => Reflect.has(s.value, t),
1050
- ownKeys: () => Reflect.ownKeys(s.value),
1051
- getOwnPropertyDescriptor: (e, t) => Reflect.getOwnPropertyDescriptor(s.value, t)
1052
- });
1053
- function T(e) {
1054
- let t = i.value;
1055
- !t || !e || t.style.setProperty("--ff-head-xy", `${e.x.toFixed(4)} ${e.y.toFixed(4)}`);
1117
+ S.value = g.value.palette;
1056
1118
  }
1057
- let A = ye(a, {
1058
- config: S,
1059
- getSpectrum: l,
1060
- getPalette: v,
1061
- freeze: () => r.freeze,
1062
- onHeadFrame: T
1119
+ let k = Ae(d, {
1120
+ config: new Proxy({}, {
1121
+ get: (e, t) => Reflect.get(g.value, t),
1122
+ has: (e, t) => Reflect.has(g.value, t),
1123
+ ownKeys: () => Reflect.ownKeys(g.value),
1124
+ getOwnPropertyDescriptor: (e, t) => Reflect.getOwnPropertyDescriptor(g.value, t)
1125
+ }),
1126
+ getSpectrum: b,
1127
+ getPalette: () => S.value,
1128
+ freeze: () => c.freeze,
1129
+ routePointer: v
1063
1130
  });
1064
- function j() {
1065
- let e = i.value;
1066
- if (!e) return;
1067
- let t = h.value[0];
1068
- t && e.style.setProperty("--ff-head-hue", `${t.h.toFixed(1)}`);
1069
- }
1070
- return k(() => r.config, () => A.wake(), { deep: !0 }), k([
1071
- () => r.color,
1072
- () => r.getPalette,
1073
- o
1074
- ], g, { immediate: !0 }), k(h, j), w(() => {
1075
- g(), j();
1076
- }), k(o, () => A.wake()), k(() => r.freeze, () => A.wake()), n({
1077
- backend: () => A.backend,
1078
- pause: A.pause,
1079
- resume: A.resume,
1080
- wake: A.wake,
1081
- renderAt: A.renderAt,
1082
- setHeadT: A.setHeadT,
1083
- headUnit: A.headUnit
1084
- }), (e, t) => (E(), b("div", {
1131
+ return L(k.rendererStatus, (e) => a("rendererStatus", e), {
1132
+ immediate: !0,
1133
+ flush: "sync"
1134
+ }), L(() => c.config, () => k.wake(), { deep: !0 }), L([
1135
+ () => c.color,
1136
+ () => c.getPalette,
1137
+ f
1138
+ ], C, { immediate: !0 }), j(() => {
1139
+ C();
1140
+ }), L(f, () => k.wake()), L(() => c.freeze, () => k.wake()), n({
1141
+ backend: () => k.backend,
1142
+ pause: k.pause,
1143
+ resume: k.resume,
1144
+ wake: k.wake,
1145
+ renderAt: k.renderAt,
1146
+ setHeadT: k.setHeadT,
1147
+ rendererStatus: k.rendererStatus
1148
+ }), (e, t) => (N(), D("div", {
1085
1149
  ref_key: "hostRef",
1086
- ref: i,
1087
- class: C(["fourier-field", { "fourier-field--interactive": s.value.interactive }])
1088
- }, [x("canvas", {
1150
+ ref: u,
1151
+ class: A(["fourier-field", { "fourier-field--interactive": _.value }])
1152
+ }, [O("canvas", {
1089
1153
  ref_key: "canvasRef",
1090
- ref: a,
1154
+ ref: d,
1091
1155
  class: "fourier-field-canvas",
1092
1156
  "aria-hidden": "true"
1093
1157
  }, null, 512)], 2));
1094
1158
  }
1095
- }), [["__scopeId", "data-v-4914c4f3"]]);
1159
+ }), [["__scopeId", "data-v-1fd521e9"]]);
1096
1160
  //#endregion
1097
- export { L as DEFAULT_FOURIER_CONFIG, be as FourierField, j as MAX_CURVE_SAMPLES, A as MAX_PHASORS, I as WARM_IDENTITY_PALETTE, v as comp, g as dftFromPoints, _ as makeEllipticSpectrum, h as partialSumAt, m as positionsAt, ye as useFourierField };
1161
+ export { re as DEFAULT_FOURIER_CONFIG, l as FOURIER_FIGURES, u as FOURIER_FIGURE_KEYS, je as FourierField, z as MAX_CURVE_SAMPLES, R as MAX_PHASORS, ne as WARM_IDENTITY_PALETTE, d as comp, f as dftFromPoints, p as makeEllipticSpectrum, m as makeHarmonicFigure, h as partialSumAt, g as positionsAt, Ae as useFourierField };