@mkbabb/glass-ui 3.8.0 → 3.10.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 (228) hide show
  1. package/README.md +1 -6
  2. package/dist/{CardAction-q2qHCJFG.js → CardAction-DuArVky-.js} +4 -4
  3. package/dist/{CommandShortcut-SzWRhROC.js → CommandShortcut-CefCj5mt.js} +7 -7
  4. package/dist/{ContextMenuSubContent-Do977Cbf.js → ContextMenuSubContent-Bhg4f5jX.js} +3 -3
  5. package/dist/{DataTable-CvlWXz65.js → DataTable-CUHMukiQ.js} +1 -1
  6. package/dist/{DialogContent-DjZWT3lK.js → DialogContent-BRkT1cjP.js} +1 -1
  7. package/dist/{MetricBadge-lTc002u2.js → MetricBadge-BZVWIxNy.js} +6 -4
  8. package/dist/{Notification-BxK8LZMw.js → Notification-DLMhblXR.js} +2 -2
  9. package/dist/{NumberFieldContent-CLNVR1iY.js → NumberFieldContent-BbLOh8RU.js} +2 -2
  10. package/dist/{SelectScrollDownButton-C7TRe-ep.js → SelectScrollDownButton-T32cVFeM.js} +3 -3
  11. package/dist/{SelectSeparator-L8pPEn4L.js → SelectSeparator-C4Ql0gzV.js} +1 -1
  12. package/dist/{Switch-LDKLmmgx.js → Switch-Ch-k3Rv-.js} +1 -1
  13. package/dist/{TabsList-qyHZ2lKY.js → TabsList-B8CVOQPC.js} +2 -2
  14. package/dist/{Toaster-CabYEEF_.js → Toaster-1rYWrmAm.js} +1 -1
  15. package/dist/{ToggleGroupItem-CkXUcBlt.js → ToggleGroupItem-Cev4pOVK.js} +4 -4
  16. package/dist/animated-digit.js +1 -1
  17. package/dist/api/index.d.ts +2 -1
  18. package/dist/api.js +1 -1
  19. package/dist/aurora.js +236 -545
  20. package/dist/{badge-DHQrc_GQ.js → badge-CaoFJzRb.js} +5 -5
  21. package/dist/badge.js +1 -1
  22. package/dist/{button-CAywcrhO.js → button-DN39cGqL.js} +13 -12
  23. package/dist/button.js +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/carousel.js +1 -1
  26. package/dist/color.js +1 -1
  27. package/dist/command.js +1 -1
  28. package/dist/{compile-BBTRjvQS.js → compile-BOXjLUxu.js} +24 -24
  29. package/dist/components/custom/aurora/composables/atoms.d.ts +21 -4
  30. package/dist/components/custom/aurora/composables/runtime.d.ts +0 -9
  31. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -11
  32. package/dist/components/custom/aurora/constants/renderMode.d.ts +0 -32
  33. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  34. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -2
  35. package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -1
  36. package/dist/components/custom/aurora/index.d.ts +1 -1
  37. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +1 -1
  38. package/dist/components/custom/constellation/Constellation.vue.d.ts +73 -1
  39. package/dist/components/custom/constellation/constellationField.d.ts +255 -3
  40. package/dist/components/custom/constellation/index.d.ts +2 -2
  41. package/dist/components/custom/dock/DockSeparator.vue.d.ts +3 -0
  42. package/dist/components/custom/dock/DockTabButton.vue.d.ts +4 -3
  43. package/dist/components/custom/dock/GlassDock.vue.d.ts +45 -63
  44. package/dist/components/custom/dock/composables/dockContext.d.ts +7 -0
  45. package/dist/components/custom/dock/index.d.ts +2 -1
  46. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +29 -0
  47. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +6 -0
  48. package/dist/components/custom/fourier-field/index.d.ts +25 -1
  49. package/dist/components/custom/fourier-field/math.d.ts +3 -8
  50. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +8 -10
  51. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +19 -5
  52. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +6 -14
  53. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  54. package/dist/components/custom/goo-blob/types.d.ts +59 -25
  55. package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
  56. package/dist/components/custom/handmark/brush.d.ts +219 -0
  57. package/dist/components/custom/handmark/freehand.d.ts +69 -0
  58. package/dist/components/custom/handmark/geometry.d.ts +32 -0
  59. package/dist/components/custom/handmark/index.d.ts +21 -0
  60. package/dist/components/custom/handmark/ink.d.ts +11 -0
  61. package/dist/components/custom/handmark/texture.d.ts +39 -0
  62. package/dist/components/custom/handmark/types.d.ts +53 -0
  63. package/dist/components/custom/handmark/useHandMark.d.ts +66 -0
  64. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +8 -0
  65. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +92 -0
  66. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +49 -0
  67. package/dist/components/custom/tabs/index.d.ts +2 -5
  68. package/dist/components/ui/button/index.d.ts +1 -1
  69. package/dist/components/ui/card/Card.vue.d.ts +5 -3
  70. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  71. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  72. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +3 -4
  73. package/dist/components/ui/slider/index.d.ts +22 -11
  74. package/dist/components/ui/tabs/TabsList.vue.d.ts +1 -1
  75. package/dist/composables/color/index.d.ts +12 -7
  76. package/dist/composables/context/createContext.d.ts +1 -1
  77. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +1 -6
  78. package/dist/composables/motion/core/index.d.ts +1 -0
  79. package/dist/composables/motion/useRouteTransition.d.ts +42 -0
  80. package/dist/configurator.js +1 -1
  81. package/dist/confirm-dialog.js +1 -1
  82. package/dist/constellation.js +212 -72
  83. package/dist/context-menu.js +1 -1
  84. package/dist/controls.js +1 -1
  85. package/dist/dark.js +1 -1
  86. package/dist/data-table.js +1 -1
  87. package/dist/deck-progress.js +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/dock.js +257 -243
  90. package/dist/{dropdown-menu-B_4bWyyG.js → dropdown-menu-D77jX6Df.js} +3 -3
  91. package/dist/dropdown-menu.js +1 -1
  92. package/dist/expandable-container.js +61 -38
  93. package/dist/forms.js +5 -5
  94. package/dist/fourier-field.js +89 -97
  95. package/dist/fourier-math.d.ts +1 -0
  96. package/dist/fourier-math.js +2 -0
  97. package/dist/glass-panel.js +1 -1
  98. package/dist/glass-ui.css +1 -1
  99. package/dist/glass-ui.js +107 -109
  100. package/dist/goo-blob.js +316 -297
  101. package/dist/handmark.d.ts +1 -0
  102. package/dist/handmark.js +609 -0
  103. package/dist/hover-popover.js +1 -1
  104. package/dist/icon-tooltip.js +1 -1
  105. package/dist/index.d.ts +1 -2
  106. package/dist/keyboard.js +1 -1
  107. package/dist/labeled-field.js +5 -5
  108. package/dist/math-DTpRVC0e.js +27 -0
  109. package/dist/{menuItemVariants-DKM85SNE.js → menuItemVariants-CCoBNkU5.js} +1 -1
  110. package/dist/metric-badge.js +1 -1
  111. package/dist/metric-stack.js +1 -1
  112. package/dist/motion-core.js +70 -69
  113. package/dist/motion.js +2 -2
  114. package/dist/notification.js +1 -1
  115. package/dist/number-field.js +1 -1
  116. package/dist/pulse.js +1 -1
  117. package/dist/reactive.js +1 -1
  118. package/dist/scrolling-text.js +1 -1
  119. package/dist/search.js +4 -4
  120. package/dist/select.js +2 -2
  121. package/dist/{slider-D9puf-Ko.js → slider-CyzcxBoh.js} +6 -6
  122. package/dist/slider.js +1 -1
  123. package/dist/sortable-list.js +1 -1
  124. package/dist/status-dot.js +17 -16
  125. package/dist/styles/animations.css +80 -20
  126. package/dist/styles/cards.css +2 -2
  127. package/dist/styles/components.css +1 -1
  128. package/dist/styles/dock/density.css +230 -0
  129. package/dist/styles/dock/layer-group.css +275 -0
  130. package/dist/styles/dock/layers.css +355 -0
  131. package/dist/styles/dock/morph.css +244 -0
  132. package/dist/styles/dock/overflow.css +201 -0
  133. package/dist/styles/dock/shell.css +457 -0
  134. package/dist/styles/dock-controls.css +205 -55
  135. package/dist/styles/dock.css +42 -1349
  136. package/dist/styles/drawer.css +12 -4
  137. package/dist/styles/glass.css +535 -78
  138. package/dist/styles/index.css +12 -11
  139. package/dist/styles/paper.css +68 -2
  140. package/dist/styles/theme.css +58 -0
  141. package/dist/styles/tokens.css +601 -69
  142. package/dist/styles/transitions.css +20 -2
  143. package/dist/styles/utilities.css +218 -78
  144. package/dist/styles/view-transition.css +51 -0
  145. package/dist/switch.js +1 -1
  146. package/dist/tabs.js +182 -151
  147. package/dist/timeline.js +1 -1
  148. package/dist/toast.js +1 -1
  149. package/dist/toggle-group.js +1 -1
  150. package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-Bcpy5Etf.js} +1 -1
  151. package/dist/{useConfiguratorState-CMff4GzH.js → useConfiguratorState-DxAqksK6.js} +21 -10
  152. package/dist/{useGlassRenderer-5I0YkI4t.js → useGlassRenderer-D7YGOYiM.js} +1 -1
  153. package/dist/useViewTransition-DaN5Zrox.js +21 -0
  154. package/dist/vReveal-zUIQk-rJ.js +53 -0
  155. package/dist/watercolor-dot.js +1 -1
  156. package/package.json +80 -39
  157. package/src/styles/animations.css +80 -20
  158. package/src/styles/cards.css +2 -2
  159. package/src/styles/dock/density.css +230 -0
  160. package/src/styles/dock/layer-group.css +275 -0
  161. package/src/styles/dock/layers.css +355 -0
  162. package/src/styles/dock/morph.css +244 -0
  163. package/src/styles/dock/overflow.css +201 -0
  164. package/src/styles/dock/shell.css +457 -0
  165. package/src/styles/dock-controls.css +205 -55
  166. package/src/styles/dock.css +42 -1349
  167. package/src/styles/drawer.css +12 -4
  168. package/src/styles/glass.css +535 -78
  169. package/src/styles/index.css +12 -11
  170. package/src/styles/paper.css +68 -2
  171. package/src/styles/theme.css +58 -0
  172. package/src/styles/tokens.css +601 -69
  173. package/src/styles/transitions.css +20 -2
  174. package/src/styles/utilities.css +218 -78
  175. package/src/styles/view-transition.css +51 -0
  176. package/dist/DiscoGlyph-CG0F410s.js +0 -132
  177. package/dist/GlyphFace-DRjDkB0s.js +0 -51
  178. package/dist/UnderlineTabs-Uxn-R3MT.js +0 -39
  179. package/dist/components/custom/aurora/composables/gpuRuntime.d.ts +0 -16
  180. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -7
  181. package/dist/components/custom/aurora/constants/shaders/painterly.wgsl.d.ts +0 -7
  182. package/dist/components/custom/aurora/constants/shaders/wake.wgsl.d.ts +0 -4
  183. package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +0 -58
  184. package/dist/components/custom/disco-glyph/index.d.ts +0 -1
  185. package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +0 -36
  186. package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +0 -28
  187. package/dist/components/custom/glass-carousel/index.d.ts +0 -4
  188. package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +0 -30
  189. package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +0 -64
  190. package/dist/components/custom/glyph-face/index.d.ts +0 -2
  191. package/dist/components/custom/glyph-face/keys.d.ts +0 -9
  192. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +0 -73
  193. package/dist/components/custom/responsive-tabs/index.d.ts +0 -2
  194. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +0 -27
  195. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +0 -60
  196. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +0 -20
  197. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +0 -39
  198. package/dist/composables/glass/createGPUCanvas.d.ts +0 -40
  199. package/dist/disco-glyph.d.ts +0 -1
  200. package/dist/disco-glyph.js +0 -2
  201. package/dist/glass-carousel.d.ts +0 -1
  202. package/dist/glass-carousel.js +0 -219
  203. package/dist/glyph-face.d.ts +0 -1
  204. package/dist/glyph-face.js +0 -3
  205. package/dist/keys-BsYjEFOW.js +0 -9
  206. package/dist/responsive-tabs.d.ts +0 -1
  207. package/dist/responsive-tabs.js +0 -95
  208. package/dist/styles/disco-glyph.css +0 -26
  209. package/dist/styles/glyph-face.css +0 -92
  210. package/dist/vReveal-CqaCz_mC.js +0 -44
  211. package/src/styles/disco-glyph.css +0 -26
  212. package/src/styles/glyph-face.css +0 -92
  213. /package/dist/{DeckProgress-AVgbIULY.js → DeckProgress-Dmk4_AKN.js} +0 -0
  214. /package/dist/{HoverPopover-D56O6Ylp.js → HoverPopover-2LOIW34a.js} +0 -0
  215. /package/dist/{IconTooltip-D2T5nYOM.js → IconTooltip-Cus0fvK0.js} +0 -0
  216. /package/dist/{Input-DVG_J0ne.js → Input-xuDwALQR.js} +0 -0
  217. /package/dist/{ScrollingText-CVyqxvfv.js → ScrollingText-BPP84wKo.js} +0 -0
  218. /package/dist/{color-DMLTunJK.js → color-C5ls_QF7.js} +0 -0
  219. /package/dist/{constants-BPOqYJAm.js → constants-yKeKnE84.js} +0 -0
  220. /package/dist/{presets-D1XPuTj-.js → presets-Dkdv55Gt.js} +0 -0
  221. /package/dist/{prng-COGhh02-.js → prng-D27-B3tK.js} +0 -0
  222. /package/dist/{useGlobalDark-D3EBWzXK.js → useGlobalDark-d6waty-X.js} +0 -0
  223. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Cck5Uxk8.js} +0 -0
  224. /package/dist/{useInterval-CcLfq2WU.js → useInterval-Dsmqwi03.js} +0 -0
  225. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-CyIYrndH.js} +0 -0
  226. /package/dist/{useScrollProgress-C9ysDic5.js → useScrollProgress-CffFGLa5.js} +0 -0
  227. /package/dist/{useSortable-MGAbCGVJ.js → useSortable-C8ReQ50P.js} +0 -0
  228. /package/dist/{useTextHighlight-9nMW23Qb.js → useTextHighlight-CWEi25hf.js} +0 -0
@@ -1,33 +1,8 @@
1
1
  type DockDensity = "compact" | "comfortable" | "spacious" | "audacious";
2
- type __VLS_Props = {
3
- collapseDelay?: number;
4
- startCollapsed?: boolean;
2
+ interface DockCommonProps {
5
3
  fitContent?: boolean;
6
4
  position?: "fixed" | "inline" | "sticky";
7
5
  alwaysExpanded?: boolean;
8
- /**
9
- * Visual/behavioral preset.
10
- * `dock` — the horizontal floating dock (default).
11
- * `rail` — the vertical icon rail variant used by
12
- * app chrome (stadium-pill silhouette,
13
- * `--glass-bg-wash` plate).
14
- * `instrument-strip` — vertical chassis-strip mode for consumer
15
- * cockpits composing an instrument-cluster
16
- * gauge column (the speedtest
17
- * SurveyResultDock consumer). Drops the
18
- * rail variant's `--radius-pill` extreme
19
- * and adopts the `<InstrumentChassis>`
20
- * family's surface vocabulary
21
- * (`--radius-card` border-radius,
22
- * `--glass-bg-chassis` background,
23
- * `--glass-border-quiet` border,
24
- * `--glass-shadow-quiet` shadow, plus an
25
- * engraved-bezel `::before` inner stroke
26
- * matching `InstrumentChassis::before`).
27
- * No new tokens — lifts the existing
28
- * chassis vocabulary. AJ-W1-δ / G-AJ-D7.
29
- */
30
- variant?: "dock" | "rail" | "instrument-strip";
31
6
  /**
32
7
  * Corner treatment.
33
8
  * `"pill"` — the stadium silhouette (default).
@@ -36,9 +11,12 @@ type __VLS_Props = {
36
11
  * radius (`--dock-card-radius`, default `--radius-3xl`)
37
12
  * ABOVE 2xl, below pill — does NOT collapse to a stadium.
38
13
  * Collapsed it returns to a pill; the pill↔card swap
39
- * morphs on the `--dock-motion-resize` spring. A `@supports
40
- * (corner-shape: squircle)` enhancement reads better at the
41
- * large radius (the border-radius arc is the contract).
14
+ * morphs on the `--dock-motion-resize` spring. AX.W56's
15
+ * squircle policy applies `corner-shape:
16
+ * var(--corner-shape-bigdock)` here under `@supports
17
+ * (corner-shape: superellipse(2))` — the big-dock is the ONE
18
+ * surface where the superellipse reads (cards/pills stay
19
+ * round); the border-radius arc is the cross-engine contract.
42
20
  *
43
21
  * `"pill"`/`"rounded"` previously bound ONLY under the vertical rail
44
22
  * variant — on a horizontal dock the prop silently no-op'd. AW.W3b adds
@@ -46,24 +24,11 @@ type __VLS_Props = {
46
24
  * so `shape` now paints on a horizontal dock too.
47
25
  */
48
26
  shape?: "pill" | "rounded" | "card";
49
- /**
50
- * In-cap arrangement. `"linear"` (default) lays the active layer out as a
51
- * linear row/column. `"grid"` makes the active layer a self-wrapping tile
52
- * grid (Launchpad/Stage-Manager track symmetry — `auto-fill` columns of
53
- * `--dock-tile-min`). ORTHOGONAL to `overflow` (the OVER-cap strategy):
54
- * `layout` is the IN-cap arrangement.
55
- *
56
- * Hard contract: a `layout="grid"` dock is `alwaysExpanded` (a 2D panel
57
- * does not read as a collapsible pill, and no width morph means no
58
- * per-frame grid reflow). The canonical pairing is
59
- * `shape="card" layout="grid"` (the props stay independent — no
60
- * auto-implication of `shape`).
61
- */
62
- layout?: "linear" | "grid";
63
27
  /**
64
28
  * Layout axis of the dock. `"horizontal"` (default) lays items out
65
29
  * left-to-right and animates `width`; `"vertical"` lays items out
66
- * top-to-bottom and animates `height`.
30
+ * top-to-bottom and animates `height`. IGNORED under `variant="rail"` /
31
+ * `"instrument-strip"` (those force vertical by construction).
67
32
  */
68
33
  orientation?: "horizontal" | "vertical";
69
34
  /**
@@ -115,16 +80,45 @@ type __VLS_Props = {
115
80
  * size the dock relies on.
116
81
  */
117
82
  containerName?: string;
118
- };
119
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
83
+ }
84
+ interface DockVariantProps extends DockCommonProps {
85
+ variant?: "dock";
86
+ /** Idle-collapse delay in ms (default 2000). DOCK-ONLY — a rail never collapses. */
87
+ collapseDelay?: number;
88
+ /** Start in the collapsed state (default true). DOCK-ONLY — a rail is always expanded. */
89
+ startCollapsed?: boolean;
90
+ /**
91
+ * In-cap arrangement. `"linear"` (default) lays the active layer out as a
92
+ * linear row/column. `"grid"` makes the active layer a self-wrapping tile
93
+ * grid (Launchpad/Stage-Manager track symmetry — `auto-fill` columns of
94
+ * `--dock-tile-min`). ORTHOGONAL to `overflow` (the OVER-cap strategy):
95
+ * `layout` is the IN-cap arrangement.
96
+ *
97
+ * Hard contract: a `layout="grid"` dock is `alwaysExpanded` (a 2D panel
98
+ * does not read as a collapsible pill, and no width morph means no
99
+ * per-frame grid reflow). The canonical pairing is
100
+ * `shape="card" layout="grid"` (the props stay independent — no
101
+ * auto-implication of `shape`). DOCK-ONLY — the grid is a horizontal big-dock
102
+ * arrangement, never a rail's.
103
+ */
104
+ layout?: "linear" | "grid";
105
+ }
106
+ interface DockRailProps extends DockCommonProps {
107
+ variant: "rail" | "instrument-strip";
108
+ }
109
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_14: {};
120
110
  type __VLS_Slots = {} & {
121
- default?: (props: typeof __VLS_1) => any;
111
+ persistent?: (props: typeof __VLS_1) => any;
112
+ } & {
113
+ default?: (props: typeof __VLS_3) => any;
114
+ } & {
115
+ collapsed?: (props: typeof __VLS_5) => any;
122
116
  } & {
123
- collapsed?: (props: typeof __VLS_3) => any;
117
+ default?: (props: typeof __VLS_7) => any;
124
118
  } & {
125
- default?: (props: typeof __VLS_5) => any;
119
+ collapsed?: (props: typeof __VLS_14) => any;
126
120
  };
127
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
121
+ declare const __VLS_base: import("vue").DefineComponent<DockVariantProps | DockRailProps, {
128
122
  expanded: import("vue").Ref<boolean, boolean>;
129
123
  isPinned: import("vue").Ref<boolean, boolean>;
130
124
  isHeld: import("vue").ComputedRef<boolean>;
@@ -133,19 +127,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
133
127
  collapse: () => void;
134
128
  keepOpen: () => void;
135
129
  release: () => void;
136
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
137
- position: "fixed" | "inline" | "sticky";
138
- overflow: "grow" | "wrap" | "scroll";
139
- orientation: "horizontal" | "vertical";
140
- variant: "dock" | "rail" | "instrument-strip";
141
- density: DockDensity;
142
- shape: "pill" | "rounded" | "card";
143
- layout: "linear" | "grid";
144
- collapseDelay: number;
145
- alwaysExpanded: boolean;
146
- startCollapsed: boolean;
147
- fitContent: boolean;
148
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
130
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DockVariantProps | DockRailProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
149
131
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
150
132
  declare const _default: typeof __VLS_export;
151
133
  export default _default;
@@ -1,5 +1,6 @@
1
1
  import type { ComputedRef } from "vue";
2
2
  export type DockOrientation = "horizontal" | "vertical";
3
+ export type DockLayout = "linear" | "grid";
3
4
  /**
4
5
  * Dock context surfaces the dock id + orientation + held-state coordination
5
6
  * to descendants.
@@ -25,6 +26,12 @@ export type DockOrientation = "horizontal" | "vertical";
25
26
  export interface DockContext {
26
27
  id: string;
27
28
  orientation: ComputedRef<DockOrientation>;
29
+ /**
30
+ * In-cap arrangement (`linear` row/column vs `grid` tile panel). AX.W45 —
31
+ * `<DockSeparator>` reads this to paint a full-row section break in a grid dock
32
+ * (a 1px perpendicular hairline is useless in a 2D tile grid).
33
+ */
34
+ layout: ComputedRef<DockLayout>;
28
35
  /** Acquire a keep-open token; suppresses timer-based collapse. */
29
36
  keepOpen: () => void;
30
37
  /** Release a previously-acquired keep-open token. */
@@ -6,7 +6,8 @@ export { default as DockBackgroundToggle } from "./DockBackgroundToggle.vue";
6
6
  export { default as DockTabButton } from "./DockTabButton.vue";
7
7
  export { default as DockSelectTrigger } from "./DockSelectTrigger.vue";
8
8
  export { default as DockDropdownTrigger } from "./DockDropdownTrigger.vue";
9
+ export { default as DockSeparator } from "./DockSeparator.vue";
9
10
  export type { UseDockStateOptions, UseDockStateReturn, DockState } from "./composables";
10
11
  export { useLayerTransition } from "./composables";
11
12
  export type { UseLayerTransitionOptions, UseLayerTransitionReturn, } from "./composables";
12
- export { DOCK_CONTEXT_KEY, useDockContext, useOptionalDockContext, provideDockContext, type DockContext, type DockOrientation, } from "./composables/dockContext";
13
+ export { DOCK_CONTEXT_KEY, useDockContext, useOptionalDockContext, provideDockContext, type DockContext, type DockOrientation, type DockLayout, } from "./composables/dockContext";
@@ -6,6 +6,20 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
6
6
  expandLabel?: string;
7
7
  /** Accessible name for the collapse (exit fullscreen) button. */
8
8
  collapseLabel?: string;
9
+ /**
10
+ * Opt into the `gl-expand` plate → fullscreen MORPH (D6.c M7). When set,
11
+ * the inline plate and the teleported fullscreen surface share ONE
12
+ * `view-transition-name` (this prop, suffixed by an app-unique `useId()`
13
+ * so two ExpandableContainers on a page never collide their groups — the
14
+ * proof:vt-names mandate), and the open/close toggle is wrapped in
15
+ * `startViewTransition` so the plate's rect MORPHS to the fullscreen rect
16
+ * (and back) instead of jump-cutting. A passed string namespaces the pair
17
+ * (e.g. `"chart"`); pass an empty string for a bare `useId()` name.
18
+ * Omitted (default) ⇒ NO view-transition-name, the legacy instant toggle —
19
+ * byte-identical to the pre-M7 behaviour. PRM + unsupported engines take
20
+ * `startViewTransition`'s instant fallback (the open/close still runs).
21
+ */
22
+ viewTransitionName?: string;
9
23
  } & {
10
24
  /**
11
25
  * Two-way `open` model so consumers can drive fullscreen externally
@@ -21,6 +35,20 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
21
35
  expandLabel?: string;
22
36
  /** Accessible name for the collapse (exit fullscreen) button. */
23
37
  collapseLabel?: string;
38
+ /**
39
+ * Opt into the `gl-expand` plate → fullscreen MORPH (D6.c M7). When set,
40
+ * the inline plate and the teleported fullscreen surface share ONE
41
+ * `view-transition-name` (this prop, suffixed by an app-unique `useId()`
42
+ * so two ExpandableContainers on a page never collide their groups — the
43
+ * proof:vt-names mandate), and the open/close toggle is wrapped in
44
+ * `startViewTransition` so the plate's rect MORPHS to the fullscreen rect
45
+ * (and back) instead of jump-cutting. A passed string namespaces the pair
46
+ * (e.g. `"chart"`); pass an empty string for a bare `useId()` name.
47
+ * Omitted (default) ⇒ NO view-transition-name, the legacy instant toggle —
48
+ * byte-identical to the pre-M7 behaviour. PRM + unsupported engines take
49
+ * `startViewTransition`'s instant fallback (the open/close still runs).
50
+ */
51
+ viewTransitionName?: string;
24
52
  } & {
25
53
  /**
26
54
  * Two-way `open` model so consumers can drive fullscreen externally
@@ -31,6 +59,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
31
59
  }> & Readonly<{
32
60
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
33
61
  }>, {
62
+ viewTransitionName: string;
34
63
  buttonPosition: "left" | "right";
35
64
  expandLabel: string;
36
65
  collapseLabel: string;
@@ -32,6 +32,12 @@ type __VLS_Props = {
32
32
  seed?: string;
33
33
  /** When true, paint ONE static deterministic best-frame and never animate (the capture/export lever). Default false. */
34
34
  freeze?: boolean;
35
+ /** Outer loudness envelope (the Aurora `opacityCeiling` shape). Scales the
36
+ * resolved `peakAlpha`/`headGlowAlpha` at the PAINT layer (a per-LAYER
37
+ * multiply, not a uniform CSS opacity). Default 1 (the bundle's resting
38
+ * loudness); clamped [0, 2] — the field's ~2 upper bound lets a hero push
39
+ * brighter than the recessed default without runaway. */
40
+ intensity?: number;
35
41
  };
36
42
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
43
  declare const _default: typeof __VLS_export;
@@ -1,2 +1,26 @@
1
+ import type { ColorResolver } from "../../../composables/color";
1
2
  export { default as FourierField } from "./FourierField.vue";
2
- export { comp, evalFourier, positionsAt, makeEllipticSpectrum, type BasisComponent, type EllipticSpectrumOptions, } from "./math";
3
+ export { comp, positionsAt, makeEllipticSpectrum, type BasisComponent, type EllipticSpectrumOptions, } from "./math";
4
+ /** The configuration-BUNDLE axis — `hero` (epicycles on, fewer harmonics) vs
5
+ * `final` (epicycles off, denser). Not a recolour of one curve; one engine,
6
+ * two presets. */
7
+ export type FourierFieldVariant = "hero" | "final";
8
+ /** The props a consumer forwards when wrapping `<FourierField>` (the seeded
9
+ * inverse-DFT epicycle background; ships via `/fourier-field`). Mirrors the
10
+ * component's inline `defineProps` shape (an SFC cannot export its inline
11
+ * props type). */
12
+ export interface FourierFieldProps {
13
+ /** Configuration bundle. Default `hero`. */
14
+ variant?: FourierFieldVariant;
15
+ /** Base CSS color (a `var()`/`light-dark()` token resolves against the host). */
16
+ color: string;
17
+ /** REQUIRED color seam — resolves a concrete color to a gamma-sRGB [r,g,b] triple in [0,1]. */
18
+ colorResolver: ColorResolver;
19
+ /** Extra seed mixed into the spectrum PRNG for a unique-but-reproducible curve. Default "". */
20
+ seed?: string;
21
+ /** Paint ONE static deterministic best-frame and never animate (the capture lever). Default false. */
22
+ freeze?: boolean;
23
+ /** Outer loudness envelope (the Aurora `opacityCeiling` shape). Scales the
24
+ * resolved `peakAlpha`/`headGlowAlpha` at the paint layer. Default 1; clamped [0, 2]. */
25
+ intensity?: number;
26
+ }
@@ -15,17 +15,12 @@ export interface BasisComponent {
15
15
  * coefficient `(re, im)`, deriving the polar `amplitude`/`phase`.
16
16
  */
17
17
  export declare function comp(index: number, re: number, im: number): BasisComponent;
18
- /**
19
- * Sum `c_k * exp(2*pi*i*k*t)` — the curve point at parameter `t`. `maxTerms`
20
- * truncates the series (the partial-sum read). Returns the complex value as
21
- * `[re, im]` (the curve's `[x, y]` before view-fit).
22
- */
23
- export declare function evalFourier(components: BasisComponent[], t: number, maxTerms?: number): [number, number];
24
18
  /**
25
19
  * The epicycle chain at parameter `t`: the running tip of each phasor stacked on
26
20
  * the last, starting at the origin. `positions[0]` is `[0, 0]`; the final entry
27
- * is the curve point ({@link evalFourier} at the same `t`). `maxCircles`
28
- * truncates the chain (draw fewer arms than the spectrum carries).
21
+ * is the curve point — the inverse-DFT sum `Σ c_k * exp(2*pi*i*k*t)` at the same
22
+ * `t`. `maxCircles` truncates the chain (draw fewer arms than the spectrum
23
+ * carries).
29
24
  */
30
25
  export declare function positionsAt(components: BasisComponent[], t: number, maxCircles?: number): [number, number][];
31
26
  /** Tuning for {@link makeEllipticSpectrum}. */
@@ -1,4 +1,3 @@
1
- import type { ColorResolver } from "../../../composables/color";
2
1
  import type { BlobMood, BlobConfig } from "./types";
3
2
  /**
4
3
  * GooBlob — a gooey metaball creature on a WebGL2 canvas.
@@ -8,23 +7,22 @@ import type { BlobMood, BlobConfig } from "./types";
8
7
  * satellite system drive the motion. The renderer composes the `useWebGLCanvas`
9
8
  * substrate — it never bootstraps its own context.
10
9
  *
11
- * Color is resolved through an INJECTED `colorResolver` seam (DEC-AT-2): the blob
12
- * paints the GAMMA-sRGB triple it returns. The prop is REQUIRED — pass
13
- * `defaultBlobColorResolver` from `@mkbabb/glass-ui/color` (or your own) so a
14
- * `lab()`/`oklch()`/`hsl()`/hex string resolves correctly. A missing resolver
15
- * throws (the loud failure, not a silent gray).
10
+ * Color is resolved INTERNALLY through the `/color` leaf (`cssToOklch →
11
+ * oklchToGammaRgb`): the blob paints the GAMMA-sRGB triple of the `color` prop. A
12
+ * `lab()`/`oklch()`/`hsl()`/hex string resolves correctly; a `var(--token)` is
13
+ * un-wrapped to a concrete string by the SFC's `resolveTokenColor` leaf BEFORE the
14
+ * renderer sees it (the DOM-free renderer contract).
16
15
  *
17
- * Config is resolved with the SAME loud discipline as the resolver: either
16
+ * Config is resolved with a loud discipline: either
18
17
  * `provide(BLOB_CONFIG_KEY, cfg)` from an ancestor OR pass an explicit `config`
19
18
  * prop. A mount with NEITHER throws — there is no silent reactive-defaults
20
19
  * synthesis. A consumer that genuinely wants the stock tuning passes
21
20
  * `BLOB_CONFIG_DEFAULTS` explicitly.
22
21
  */
23
22
  type __VLS_Props = {
24
- /** Base CSS color string (any form the `colorResolver` understands). */
23
+ /** Base CSS color string (a `var()`/`oklch()`/`lab()`/`hsl()`/hex form; resolved
24
+ * internally through the `/color` leaf to a gamma-sRGB triple). */
25
25
  color: string;
26
- /** REQUIRED color seam — resolves `color` to a gamma-sRGB [r,g,b] triple in [0,1]. */
27
- colorResolver: ColorResolver;
28
26
  /**
29
27
  * REQUIRED unless an ancestor `provide(BLOB_CONFIG_KEY, …)` supplies it.
30
28
  * The metaball tuning. Pass `BLOB_CONFIG_DEFAULTS` for the stock look.
@@ -9,17 +9,31 @@ export interface MoodInteraction {
9
9
  /** ms since the last pointer activity (drives `sleepy` past IDLE_SLEEP_MS). */
10
10
  idleMs: number;
11
11
  }
12
+ /**
13
+ * Who is driving a `setMood` retarget (AX.W46 D7). `"auto"` — the autonomic arc
14
+ * (`update` from the pointer/idle state); `"manual"` — the public expose (an imperative
15
+ * `setMood` from a consumer / the demo mood pills). A manual retarget arms the
16
+ * `manualOverride` latch the auto-arc respects.
17
+ */
18
+ export type MoodSource = "auto" | "manual";
19
+ /** The options bag for `setMood` — the source discriminant (default `"manual"`). */
20
+ export interface SetMoodOptions {
21
+ /** Who is driving the retarget. Defaults to `"manual"` (the public-expose default). */
22
+ source?: MoodSource;
23
+ }
12
24
  /**
13
25
  * Animates the blob's mood parameters — a cross-fade between named mood targets
14
- * driven per frame by `tick(dt)`. `setMood` retargets; `update(interaction)` wires
15
- * `setMood` internally from the AW.W10 pointer/idle state (curious on approach,
16
- * excited on click, sleepy after inactivity); `params` is the eased current value
17
- * the renderer reads.
26
+ * driven per frame by `tick(dt)`. `setMood(mood, { source })` retargets (a `"manual"`
27
+ * source — the default — pins the mood above the auto-arc, AX.W46 D7);
28
+ * `update(interaction)` drives the AUTONOMIC arc from the AW.W10 pointer/idle state
29
+ * (curious on approach, excited on click, sleepy after inactivity), always
30
+ * `source: "auto"`, and early-returns while a manual mood is pinned; `params` is the
31
+ * eased current value the renderer reads.
18
32
  */
19
33
  export declare function useBlobMood(): {
20
34
  currentMood: Readonly<Ref<BlobMood>>;
21
35
  params: Readonly<Ref<MoodParams>>;
22
- setMood: (mood: BlobMood) => void;
36
+ setMood: (mood: BlobMood, options?: SetMoodOptions) => void;
23
37
  update: (interaction: MoodInteraction) => void;
24
38
  tick: (dt: number) => void;
25
39
  /** AX.W16 — the quiescence at-rest predicate the renderer's demand gate reads. */
@@ -1,5 +1,4 @@
1
1
  import { type Ref } from "vue";
2
- import type { ColorResolver } from "../../../../composables/color";
3
2
  import type { BlobConfig } from "../types";
4
3
  import type { BlobMoodSystem } from "./useBlobMood";
5
4
  import type { BlobPointer } from "./useBlobPointer";
@@ -24,23 +23,13 @@ export interface UseMetaballRendererOptions {
24
23
  pointer: BlobPointer;
25
24
  satellites: BlobSatelliteSystem;
26
25
  config: BlobConfig;
27
- /**
28
- * The injected color seam (DEC-AT-2). Resolves a CONCRETE CSS color string to a
29
- * GAMMA-sRGB triple in [0,1] fed straight into the shader's base-color uniform —
30
- * the faithful AU.W7 lift paints gamma. REQUIRED: a no-resolver mount throws (the
31
- * loud failure, not a silent gray) instructing the consumer to pass
32
- * `defaultBlobColorResolver` from `@mkbabb/glass-ui/color` (or their own). The
33
- * renderer is DOM-FREE: it never un-wraps a `var(--token)` — the SFC's
34
- * `resolveTokenColor` leaf does that BEFORE handing strings here (inv-K-3 seam).
35
- */
36
- colorResolver: ColorResolver;
37
26
  }
38
27
  /**
39
28
  * The GooBlob WebGL renderer — composes the `useWebGLCanvas` substrate (AU.W6).
40
29
  *
41
30
  * This module owns ONLY the metaball-specific concerns: compiling the shader,
42
31
  * building the quad + uniform cache, and uploading the per-frame uniforms derived
43
- * from the mood / pointer / satellite systems and the injected color resolver. The
32
+ * from the mood / pointer / satellite systems and the resolved base color. The
44
33
  * generic WebGL2 lifecycle — context creation, the suspend/resume model, the
45
34
  * demand-driven rAF loop, the tab-visibility owner, the ResizeObserver, and the
46
35
  * webglcontextlost/restored robustness — lives in the substrate; this renderer
@@ -48,8 +37,11 @@ export interface UseMetaballRendererOptions {
48
37
  * `setup`/`frame`/`shouldContinue`/`resize`/`teardown` callbacks. It does NOT call
49
38
  * `getContext("webgl2")` itself (the single-bootstrap contract).
50
39
  *
51
- * Colors arrive ALREADY resolved to a gamma-sRGB triple via the injected
52
- * `colorResolver`; the value.js 1×1-canvas DOM probe is gone (the seam replaces it).
40
+ * Color is resolved INTERNALLY through the `/color` leaf (`cssToOklch →
41
+ * oklchToGammaRgb`) — the GAMMA-sRGB triple fed straight into the base-color uniform
42
+ * (the faithful AU.W7 lift paints gamma). The renderer is DOM-FREE: it never un-wraps
43
+ * a `var(--token)` — the SFC's `resolveTokenColor` leaf does that BEFORE handing
44
+ * concrete strings here (inv-K-3 seam); the value.js 1×1-canvas DOM probe is gone.
53
45
  */
54
46
  export declare function useMetaballRenderer(options: UseMetaballRendererOptions): {
55
47
  pause: () => void;
@@ -1,5 +1,5 @@
1
1
  export { default as GooBlob } from "./GooBlob.vue";
2
- export type { BlobMood, BlobMerge, BlobQuality, MoodParams, MetaballSource, BlobConfig, SatellitePhase, SatelliteInternal, } from "./types";
2
+ export type { BlobMood, BlobMerge, BlobQuality, MoodParams, MetaballSource, BlobConfig, BlobGeometry, BlobSatelliteTiming, BlobMembrane, BlobColor, BlobSurface, BlobInteraction, SatellitePhase, SatelliteInternal, } from "./types";
3
3
  export { BLOB_CONFIG_DEFAULTS, BLOB_CONFIG_KEY } from "./types";
4
4
  export { useBlobMood, type BlobMoodSystem } from "./composables/useBlobMood";
5
5
  export { useBlobPointer, type BlobPointer } from "./composables/useBlobPointer";
@@ -55,15 +55,24 @@ export interface SatelliteInternal {
55
55
  endX: number;
56
56
  endY: number;
57
57
  }
58
- /** Externally tunable blob configuration — all fields concrete, defaults applied via `BLOB_CONFIG_DEFAULTS`. */
59
- export interface BlobConfig {
58
+ /** Body / orbit / satellite geometry — the contained-droplet length cohort (W15). */
59
+ export interface BlobGeometry {
60
60
  canvasSize: number;
61
61
  bodyRadius: number;
62
62
  satelliteCount: number;
63
63
  satelliteRadius: number;
64
64
  orbitRadius: number;
65
- quality: BlobQuality;
66
- tempo: number;
65
+ eccentricity: number;
66
+ }
67
+ /** Satellite merge/absorb/emerge/orbit lifecycle DURATIONS (ms). */
68
+ export interface BlobSatelliteTiming {
69
+ mergeDuration: number;
70
+ absorbedDuration: [number, number];
71
+ emergeDuration: number;
72
+ orbitDuration: [number, number];
73
+ }
74
+ /** The living membrane — smin merge + surface noise/warp + pulsation. */
75
+ export interface BlobMembrane {
67
76
  smoothK: number;
68
77
  /** Smin merge variant — `quadratic` (default) | `circular` (rounder menisci). */
69
78
  merge: BlobMerge;
@@ -77,12 +86,29 @@ export interface BlobConfig {
77
86
  warpAmp: number;
78
87
  pulseFreq: number;
79
88
  pulseAmp: number;
89
+ }
90
+ /** Palette + OKLCh color-perturbation atom. */
91
+ export interface BlobColor {
92
+ paletteStops: string[];
80
93
  hueRange: number;
81
94
  satShift: number;
82
95
  brightnessShift: number;
83
96
  colorNoiseFreq: number;
84
97
  colorNoiseSpeed: number;
85
- paletteStops: string[];
98
+ }
99
+ /** The lit-glass surface — Blinn-Phong glint + Fresnel rim + iridescence/SSS/core-glow. */
100
+ export interface BlobSurface {
101
+ lit: boolean;
102
+ /** CSS color for the Fresnel rim tint (resolved through the `/color` leaf). */
103
+ rimColor: string;
104
+ /** Light direction [x, y, z] (normalized in-shader). */
105
+ lightDir: [number, number, number];
106
+ specStrength: number;
107
+ /** Specular exponent (16-64 — a tight glint). */
108
+ specShininess: number;
109
+ /** Fresnel/Schlick exponent (~2-3). */
110
+ rimPower: number;
111
+ rimStrength: number;
86
112
  /** Warm-pearl rim sheen weight (0 = off). */
87
113
  iridescence: number;
88
114
  /** Base hue (degrees) the warm-biased cosine palette centres on. */
@@ -95,31 +121,39 @@ export interface BlobConfig {
95
121
  sssPower: number;
96
122
  /** Thickness-driven inner-luminosity (core glow) lift. */
97
123
  coreGlow: number;
98
- lit: boolean;
99
- /** CSS color for the Fresnel rim tint (resolved through the ColorResolver). */
100
- rimColor: string;
101
- /** Light direction [x, y, z] (normalized in-shader). */
102
- lightDir: [number, number, number];
103
- specStrength: number;
104
- /** Specular exponent (16-64 — a tight glint). */
105
- specShininess: number;
106
- /** Fresnel/Schlick exponent (~2-3). */
107
- rimPower: number;
108
- rimStrength: number;
124
+ }
125
+ /** Pointer interaction — lean / squash-stretch / click-impulse. */
126
+ export interface BlobInteraction {
109
127
  pointerAttraction: number;
110
128
  pointerStrength: number;
111
- /** Velocity-driven volume-preserving squash-and-stretch magnitude (0 = off). */
129
+ /**
130
+ * Velocity-driven volume-preserving squash-and-stretch magnitude (0 = off).
131
+ *
132
+ * AY.W-BLOB-CONFIG D3 — a SWAMPED fine-detail axis. The squash rides the smoothed
133
+ * spring velocity (`useBlobPointer`'s critically-damped `response: 0.18` follow),
134
+ * which is heavily damped and down-scaled into body space — so the tanh-saturated
135
+ * elongation reads at the noise floor (a live readback measured 0% body-aspect change
136
+ * between `stretch=0` and `stretch=1.5`). It is NOT a primary axis: it adds a subtle
137
+ * elongation on a FAST flick over the much louder lean/follow/pseudopod channel that
138
+ * dominates the deformation. Kept (the volume-preserving map is correct and lands a
139
+ * whisper on the fastest flicks) but DEMOTED — the demo no longer surfaces it as a
140
+ * top-level slider (the flick blurb is honest-down to match). A consumer that wants a
141
+ * pronounced taffy-pull raises this AND uncouples the velocity from the spring smooth.
142
+ */
112
143
  stretch: number;
113
144
  /** Click spring-impulse amplitude (a one-shot bouncy pulse on the body radius). */
114
145
  clickImpulse: number;
115
- eccentricity: number;
116
- orbitSpeedScale: number;
117
- wobbleScale: number;
118
- mergeRate: number;
119
- mergeDuration: number;
120
- absorbedDuration: [number, number];
121
- emergeDuration: number;
122
- orbitDuration: [number, number];
146
+ }
147
+ /** Externally tunable blob configuration — EIGHT cohesive atoms, defaults via `BLOB_CONFIG_DEFAULTS`. */
148
+ export interface BlobConfig {
149
+ geometry: BlobGeometry;
150
+ satellites: BlobSatelliteTiming;
151
+ membrane: BlobMembrane;
152
+ color: BlobColor;
153
+ surface: BlobSurface;
154
+ interaction: BlobInteraction;
155
+ quality: BlobQuality;
156
+ tempo: number;
123
157
  }
124
158
  export declare const BLOB_CONFIG_DEFAULTS: BlobConfig;
125
159
  export declare const BLOB_CONFIG_KEY: InjectionKey<BlobConfig>;
@@ -0,0 +1,29 @@
1
+ import type { HandMarkProps } from "./types";
2
+ declare function play(): void;
3
+ declare var __VLS_1: {};
4
+ type __VLS_Slots = {} & {
5
+ default?: (props: typeof __VLS_1) => any;
6
+ };
7
+ declare const __VLS_base: import("vue").DefineComponent<HandMarkProps, {
8
+ play: typeof play;
9
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HandMarkProps> & Readonly<{}>, {
10
+ color: string;
11
+ seed: number;
12
+ shape: import("./types").HandShape;
13
+ animation: import("./types").HandAnimation;
14
+ appear: "mount" | "visible" | "manual";
15
+ jagged: boolean;
16
+ brush: import("./brush").BrushName | Partial<import("./brush").Brush>;
17
+ drawMs: number;
18
+ drawDelayMs: number;
19
+ boilFps: number;
20
+ boilFrames: number;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };