@mkbabb/glass-ui 6.0.0 → 8.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.
- package/README.md +40 -37
- package/dist/DialogContent-4hzLiaCQ.js +152 -0
- package/dist/DotRing-Blh4Mc3Q.js +27 -0
- package/dist/DropdownMenuTrigger-8UZsBtZ8.js +93 -0
- package/dist/Surface-i1tWC-Ga.js +48 -0
- package/dist/accent-tone-solve-Cw7WkRD9.js +14 -0
- package/dist/asElement-CRnm6A2v.js +9 -0
- package/dist/aurora.d.ts +1 -1
- package/dist/aurora.js +832 -767
- package/dist/axes.d.ts +1 -1
- package/dist/axes.js +16 -26
- package/dist/badge-owUOaaba.js +63 -0
- package/dist/badge.d.ts +1 -1
- package/dist/badge.js +2 -2
- package/dist/blob-config.d.ts +1 -1
- package/dist/blob-config.js +1 -1
- package/dist/blob.d.ts +1 -1
- package/dist/blob.js +442 -395
- package/dist/button-yvGPb0Bx.js +110 -0
- package/dist/button.d.ts +1 -1
- package/dist/button.js +2 -2
- package/dist/canvas.d.ts +1 -1
- package/dist/canvas.js +2 -2
- package/dist/card-3HFFpC7_.js +190 -0
- package/dist/card.d.ts +1 -1
- package/dist/card.js +2 -2
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +191 -239
- package/dist/checkbox-BnXuGgJ3.js +64 -0
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.js +2 -0
- package/dist/chip.d.ts +1 -1
- package/dist/chip.js +101 -53
- package/dist/{class-names-5jotTFzp.js → class-names-q-UGOkHH.js} +26 -5
- package/dist/collapsible-B7O6m-Ch.js +154 -0
- package/dist/collapsible.d.ts +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color.d.ts +1 -1
- package/dist/color.js +46 -50
- package/dist/{procedural-color.wgsl-B9mLK7v0.js → color.wgsl-B0N3mKMb.js} +200 -165
- package/dist/command-BuBnYpxF.js +340 -0
- package/dist/command.d.ts +1 -1
- package/dist/command.js +1 -1
- package/dist/component-styles.css +4 -0
- package/dist/components/_shared/axes.d.ts +13 -4
- package/dist/components/_shared/class-names.d.ts +10 -9
- package/dist/components/_shared/control.d.ts +11 -0
- package/dist/components/_shared/disclosure/disclosure-context.d.ts +7 -0
- package/dist/components/_shared/feedback/DotRing.vue.d.ts +3 -0
- package/dist/components/_shared/feedback/dot-ring.css +1 -0
- package/dist/components/_shared/feedback/feedback-tone.css +1 -0
- package/dist/components/_shared/field/control.d.ts +13 -0
- package/dist/components/_shared/focus.d.ts +11 -0
- package/dist/components/_shared/index.d.ts +2 -6
- package/dist/components/_shared/interaction.d.ts +23 -0
- package/dist/components/_shared/menu/menu.css +1 -0
- package/dist/components/_shared/menu/rowClass.d.ts +2 -0
- package/dist/components/_shared/overlay/content.d.ts +40 -0
- package/dist/components/_shared/overlay/index.d.ts +12 -0
- package/dist/components/{dock/composables → _shared/overlay}/isTeleportedTarget.d.ts +5 -0
- package/dist/components/_shared/overlay/participation.d.ts +66 -0
- package/dist/components/_shared/overlay/placement.d.ts +22 -0
- package/dist/components/_shared/primitive.d.ts +19 -0
- package/dist/components/_shared/selection.d.ts +46 -0
- package/dist/components/_shared/surface/resolve.d.ts +17 -0
- package/dist/components/_shared/useMotionAxis.d.ts +3 -8
- package/dist/components/accordion/Accordion.vue.d.ts +41 -16
- package/dist/components/accordion/AccordionContent.vue.d.ts +11 -9
- package/dist/components/accordion/AccordionItem.vue.d.ts +12 -9
- package/dist/components/accordion/AccordionTrigger.vue.d.ts +8 -11
- package/dist/components/accordion/index.d.ts +4 -4
- package/dist/components/alert/Alert.vue.d.ts +9 -5
- package/dist/components/alert/AlertDescription.vue.d.ts +2 -2
- package/dist/components/alert/AlertTitle.vue.d.ts +2 -2
- package/dist/components/alert/index.d.ts +17 -8
- package/dist/components/aurora/Aurora.vue.d.ts +41 -46
- package/dist/components/aurora/composables/atoms-fields.d.ts +13 -2
- package/dist/components/aurora/composables/atoms.d.ts +54 -52
- package/dist/components/aurora/composables/auroraFallbackGround.d.ts +14 -14
- package/dist/components/aurora/composables/auroraImageSource.d.ts +6 -7
- package/dist/components/aurora/composables/color.d.ts +18 -24
- package/dist/components/aurora/composables/frameLoop.d.ts +17 -14
- package/dist/components/aurora/composables/glSetup.d.ts +19 -7
- package/dist/components/aurora/composables/runtime.d.ts +58 -62
- package/dist/{composables/glass → components/aurora/composables}/textureUpload.d.ts +8 -23
- package/dist/components/aurora/composables/uniformBridge.d.ts +11 -33
- package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +23 -24
- package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +15 -15
- package/dist/components/aurora/composables/useAurora.d.ts +23 -34
- package/dist/components/aurora/composables/useCursorInteraction.d.ts +2 -2
- package/dist/components/aurora/composables/wgpuSetup.d.ts +14 -12
- package/dist/components/aurora/constants/budget.d.ts +5 -54
- package/dist/components/aurora/constants/presets.d.ts +49 -60
- package/dist/components/aurora/constants/renderMode.d.ts +21 -36
- package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +0 -2
- package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +1 -3
- package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/composition.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -2
- package/dist/components/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -1
- package/dist/components/aurora/index.d.ts +15 -13
- package/dist/components/avatar/Avatar.vue.d.ts +72 -11
- package/dist/components/avatar/AvatarFallback.vue.d.ts +1 -2
- package/dist/components/avatar/AvatarImage.vue.d.ts +7 -8
- package/dist/components/avatar/index.d.ts +3 -9
- package/dist/components/badge/Badge.vue.d.ts +3 -17
- package/dist/components/badge/index.d.ts +33 -9
- package/dist/components/blob/Blob.vue.d.ts +8 -15
- package/dist/components/blob/composables/blobSimulation.d.ts +80 -0
- package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
- package/dist/components/blob/composables/resolveBlobSurface.d.ts +6 -0
- package/dist/components/blob/composables/satelliteKinematics.d.ts +4 -4
- package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +4 -4
- package/dist/components/blob/composables/uploadBlobUniforms.d.ts +7 -34
- package/dist/components/blob/composables/useBlobMood.d.ts +6 -6
- package/dist/components/blob/composables/useBlobPointer.d.ts +11 -15
- package/dist/components/blob/composables/useBlobSatellites.d.ts +1 -1
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +32 -29
- package/dist/components/blob/composables/wgpuSetup.d.ts +10 -8
- package/dist/components/blob/config.d.ts +3 -3
- package/dist/components/blob/constants.d.ts +1 -3
- package/dist/components/blob/index.d.ts +8 -8
- package/dist/components/blob/presets.d.ts +3 -3
- package/dist/components/blob/shaders/metaball-palette.wgsl.d.ts +1 -1
- package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -1
- package/dist/components/blob/shaders/sdf-body.glsl.d.ts +1 -1
- package/dist/components/blob/shaders/watercolor-edges.glsl.d.ts +1 -1
- package/dist/components/blob/types.d.ts +28 -60
- package/dist/components/button/Button.vue.d.ts +32 -20
- package/dist/components/button/index.d.ts +1 -9
- package/dist/components/button/styles.css +1 -0
- package/dist/components/card/Card.vue.d.ts +24 -162
- package/dist/components/card/CardContent.vue.d.ts +2 -2
- package/dist/components/card/CardDescription.vue.d.ts +2 -2
- package/dist/components/card/CardFooter.vue.d.ts +2 -2
- package/dist/components/card/CardHeader.vue.d.ts +8 -40
- package/dist/components/card/CardTitle.vue.d.ts +6 -3
- package/dist/components/card/index.d.ts +6 -9
- package/dist/components/card/scroll.css +1 -0
- package/dist/components/card/styles.css +1 -1
- package/dist/components/carousel/Carousel.vue.d.ts +14 -19
- package/dist/components/carousel/CarouselContent.vue.d.ts +2 -12
- package/dist/components/carousel/CarouselItem.vue.d.ts +14 -3
- package/dist/components/carousel/CarouselPager.vue.d.ts +2 -2
- package/dist/components/carousel/index.d.ts +7 -8
- package/dist/components/carousel/projection.d.ts +23 -0
- package/dist/components/carousel/styles.css +1 -0
- package/dist/components/carousel/types.d.ts +47 -0
- package/dist/components/carousel/useCarousel.d.ts +4 -21
- package/dist/components/checkbox/Checkbox.vue.d.ts +17 -9
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/chip/Chip.vue.d.ts +12 -7
- package/dist/components/chip/accent-tone.css +1 -0
- package/dist/components/chip/chipVariants.d.ts +20 -43
- package/dist/components/chip/index.d.ts +3 -3
- package/dist/components/chip/types.d.ts +46 -31
- package/dist/components/collapsible/Collapsible.vue.d.ts +22 -9
- package/dist/components/collapsible/CollapsibleContent.vue.d.ts +11 -5
- package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +12 -9
- package/dist/components/collapsible/index.d.ts +3 -3
- package/dist/components/command/Command.vue.d.ts +11 -23
- package/dist/components/command/CommandDialog.vue.d.ts +10 -11
- package/dist/components/command/CommandEmpty.vue.d.ts +2 -6
- package/dist/components/command/CommandGroup.vue.d.ts +2 -7
- package/dist/components/command/CommandInput.vue.d.ts +6 -7
- package/dist/components/command/CommandItem.vue.d.ts +7 -11
- package/dist/components/command/CommandList.vue.d.ts +12 -19
- package/dist/components/command/CommandSeparator.vue.d.ts +2 -6
- package/dist/components/command/CommandShortcut.vue.d.ts +2 -2
- package/dist/components/command/index.d.ts +11 -10
- package/dist/components/command/types.d.ts +32 -0
- package/dist/components/configurator/Configurator.vue.d.ts +7 -7
- package/dist/components/configurator/ConfiguratorLayer.vue.d.ts +14 -18
- package/dist/components/configurator/ConfiguratorRow.vue.d.ts +15 -18
- package/dist/components/configurator/index.d.ts +6 -6
- package/dist/components/configurator/size.d.ts +5 -7
- package/dist/components/configurator/styles.css +1 -1
- package/dist/components/configurator/useConfiguratorState.d.ts +1 -1
- package/dist/components/constellation/Constellation.vue.d.ts +4 -6
- package/dist/components/constellation/composables/createConstellationField.d.ts +3 -3
- package/dist/components/constellation/composables/useConstellation.d.ts +2 -2
- package/dist/components/constellation/constants.d.ts +9 -9
- package/dist/components/constellation/constellationField.d.ts +8 -10
- package/dist/components/constellation/constellationInteraction.d.ts +9 -13
- package/dist/components/constellation/constellationRender.d.ts +1 -3
- package/dist/components/constellation/constellationTypes.d.ts +51 -63
- package/dist/components/constellation/constellationWell.d.ts +3 -3
- package/dist/components/constellation/index.d.ts +8 -6
- package/dist/components/dark-mode-toggle/DarkModeToggle.vue.d.ts +12 -0
- package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -0
- package/dist/components/dark-mode-toggle/index.d.ts +2 -0
- package/dist/components/data-table/DataTable.vue.d.ts +11 -59
- package/dist/components/data-table/composables/useDataTableResponsive.d.ts +1 -1
- package/dist/components/data-table/composables/useDataTableRowIdentity.d.ts +5 -23
- package/dist/components/data-table/index.d.ts +2 -2
- package/dist/components/data-table/types.d.ts +10 -12
- package/dist/components/{card/CardAction.vue.d.ts → deck/DeckSlide.vue.d.ts} +12 -8
- package/dist/components/deck/DeckStage.vue.d.ts +36 -0
- package/dist/components/deck/composables/useDeck.d.ts +35 -10
- package/dist/components/deck/composables/useDeckCapture.d.ts +26 -0
- package/dist/components/deck/composables/useDeckHashSync.d.ts +8 -0
- package/dist/components/deck/composables/useDeckKeyboard.d.ts +16 -8
- package/dist/components/deck/composables/useDeckSnap.d.ts +20 -0
- package/dist/components/deck/composables/useDeckSwipe.d.ts +13 -0
- package/dist/components/deck/composables/useEdgeZones.d.ts +14 -0
- package/dist/components/deck/constants.d.ts +0 -3
- package/dist/components/deck/index.d.ts +22 -7
- package/dist/components/deck/slideContext.d.ts +21 -0
- package/dist/components/deck/styles/capture.css +1 -0
- package/dist/components/deck/styles/index.css +1 -0
- package/dist/components/deck/styles/reveal.css +1 -0
- package/dist/components/deck/styles/stage.css +1 -0
- package/dist/components/deck/styles/turn.css +1 -0
- package/dist/components/deck/types.d.ts +26 -0
- package/dist/components/deck/window.d.ts +27 -0
- package/dist/components/dialog/Dialog.vue.d.ts +21 -3
- package/dist/components/dialog/DialogContent.vue.d.ts +32 -99
- package/dist/components/dialog/DialogDescription.vue.d.ts +5 -6
- package/dist/components/dialog/DialogFooter.vue.d.ts +2 -2
- package/dist/components/dialog/DialogHeader.vue.d.ts +2 -2
- package/dist/components/dialog/DialogTitle.vue.d.ts +5 -6
- package/dist/components/dialog/ModalOverlay.vue.d.ts +66 -0
- package/dist/components/dialog/index.d.ts +7 -8
- package/dist/components/dialog/styles.css +1 -0
- package/dist/components/dock/DockControl.vue.d.ts +15 -14
- package/dist/components/dock/DockCrossfade.vue.d.ts +6 -10
- package/dist/components/dock/DockLayer.vue.d.ts +3 -4
- package/dist/components/dock/DockLayerGroup.vue.d.ts +18 -18
- package/dist/components/dock/DockSeparator.vue.d.ts +25 -20
- package/dist/components/dock/GlassDock.vue.d.ts +4 -4
- package/dist/components/dock/composables/dockContext.d.ts +33 -19
- package/dist/components/dock/composables/dockCrossfadeContext.d.ts +10 -11
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +7 -87
- package/dist/components/dock/composables/dockSwitcherContext.d.ts +29 -0
- package/dist/components/dock/composables/index.d.ts +10 -10
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +1 -1
- package/dist/components/dock/composables/useDockHold.d.ts +24 -10
- package/dist/components/dock/composables/useDockMorph.d.ts +26 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +4 -6
- package/dist/components/dock/composables/useDockSearch.d.ts +12 -12
- package/dist/components/dock/composables/useDockShellProps.d.ts +44 -65
- package/dist/components/dock/composables/useDockSpring.d.ts +7 -11
- package/dist/components/dock/composables/useDockState.d.ts +28 -6
- package/dist/components/dock/composables/useDockTouchGate.d.ts +14 -23
- package/dist/components/dock/constants.d.ts +21 -80
- package/dist/components/dock/index.d.ts +15 -20
- package/dist/components/dock/styles/adaptive-legibility.css +1 -1
- package/dist/components/dock/styles/controls/icon-button.css +1 -1
- package/dist/components/dock/styles/controls/tab-button.css +1 -1
- package/dist/components/dock/styles/controls/touch-floor.css +1 -1
- package/dist/components/dock/styles/controls/triggers.css +1 -1
- package/dist/components/dock/styles/controls.css +1 -1
- package/dist/components/dock/styles/crossfade.css +1 -1
- package/dist/components/dock/styles/cta-seat.css +1 -1
- package/dist/components/dock/styles/density.css +1 -1
- package/dist/components/dock/styles/dock.css +1 -1
- package/dist/components/dock/styles/index.css +1 -1
- package/dist/components/dock/styles/layer-group.css +1 -1
- package/dist/components/dock/styles/layers.css +1 -1
- package/dist/components/dock/styles/morph.css +1 -1
- package/dist/components/dock/styles/overflow.css +1 -1
- package/dist/components/dock/styles/search.css +1 -1
- package/dist/components/dock/styles/shape.css +1 -1
- package/dist/components/dock/styles/shell-regions.css +1 -1
- package/dist/components/dock/styles/shell.css +1 -1
- package/dist/components/easing/EasingCurve.vue.d.ts +51 -0
- package/dist/components/easing/EasingPicker.vue.d.ts +16 -32
- package/dist/components/easing/constants.d.ts +16 -14
- package/dist/components/easing/index.d.ts +5 -3
- package/dist/components/easing/{composables/useEasingPicker.d.ts → usePicker.d.ts} +31 -30
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -25
- package/dist/components/expandable-container/index.d.ts +1 -1
- package/dist/components/fading-scroll/FadingScroll.vue.d.ts +4 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +4 -0
- package/dist/components/fading-scroll/constants.d.ts +2 -10
- package/dist/components/fading-scroll/index.d.ts +2 -2
- package/dist/components/fourier-field/FourierField.vue.d.ts +9 -13
- package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +5 -5
- package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +5 -5
- package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +2 -4
- package/dist/components/fourier-field/composables/useFourierField.d.ts +8 -8
- package/dist/components/fourier-field/constants.d.ts +11 -11
- package/dist/components/fourier-field/index.d.ts +10 -12
- package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +2 -2
- package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
- package/dist/components/handmark/HandMark.vue.d.ts +6 -6
- package/dist/components/handmark/brush.d.ts +1 -1
- package/dist/components/handmark/composables/useHandMark.d.ts +8 -8
- package/dist/components/handmark/constants.d.ts +10 -10
- package/dist/components/handmark/geometry.d.ts +9 -12
- package/dist/components/handmark/index.d.ts +17 -16
- package/dist/components/handmark/ink.d.ts +1 -1
- package/dist/components/handmark/noise.d.ts +3 -3
- package/dist/components/handmark/texture.d.ts +2 -2
- package/dist/components/handmark/types.d.ts +3 -3
- package/dist/components/index.d.ts +30 -35
- package/dist/components/infinite-scroll/InfiniteScroll.vue.d.ts +3 -3
- package/dist/components/infinite-scroll/composables/index.d.ts +2 -2
- package/dist/components/infinite-scroll/composables/types.d.ts +1 -1
- package/dist/components/infinite-scroll/composables/useInfiniteScroll.d.ts +1 -1
- package/dist/components/infinite-scroll/index.d.ts +2 -2
- package/dist/components/input/Input.vue.d.ts +15 -35
- package/dist/components/input/index.d.ts +3 -1
- package/dist/components/input/types.d.ts +62 -0
- package/dist/components/label/Label.vue.d.ts +9 -14
- package/dist/components/label/index.d.ts +1 -1
- package/dist/components/labeled-field/LabeledField.vue.d.ts +10 -108
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +3 -23
- package/dist/components/labeled-field/LabeledSlider.vue.d.ts +12 -18
- package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +14 -17
- package/dist/components/labeled-field/index.d.ts +5 -5
- package/dist/components/labeled-field/types.d.ts +41 -0
- package/dist/components/menu/DropdownMenu.vue.d.ts +51 -0
- package/dist/components/menu/DropdownMenuCheckboxItem.vue.d.ts +33 -0
- package/dist/components/menu/DropdownMenuContent.vue.d.ts +42 -0
- package/dist/components/{dropdown-menu → menu}/DropdownMenuGroup.vue.d.ts +6 -4
- package/dist/components/menu/DropdownMenuItem.vue.d.ts +31 -0
- package/dist/components/menu/DropdownMenuLabel.vue.d.ts +19 -0
- package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioGroup.vue.d.ts +13 -6
- package/dist/components/menu/DropdownMenuRadioItem.vue.d.ts +29 -0
- package/dist/components/menu/DropdownMenuSeparator.vue.d.ts +7 -0
- package/dist/components/menu/DropdownMenuShortcut.vue.d.ts +16 -0
- package/dist/components/{dropdown-menu → menu}/DropdownMenuSub.vue.d.ts +15 -7
- package/dist/components/menu/DropdownMenuSubContent.vue.d.ts +41 -0
- package/dist/components/menu/DropdownMenuSubTrigger.vue.d.ts +20 -0
- package/dist/components/menu/DropdownMenuTrigger.vue.d.ts +27 -0
- package/dist/components/menu/context.d.ts +7 -0
- package/dist/components/menu/index.d.ts +15 -0
- package/dist/components/metric/Metric.vue.d.ts +26 -0
- package/dist/components/metric/MetricRow.vue.d.ts +14 -0
- package/dist/components/metric/MetricStack.vue.d.ts +16 -0
- package/dist/components/metric/coalesce-metric.d.ts +31 -24
- package/dist/components/metric/index.d.ts +6 -0
- package/dist/components/metric/styles.css +1 -0
- package/dist/components/metric/types.d.ts +44 -0
- package/dist/components/music-staff/MusicStaff.vue.d.ts +22 -0
- package/dist/components/music-staff/glyphs.d.ts +74 -0
- package/dist/components/music-staff/index.d.ts +4 -0
- package/dist/components/music-staff/midiAdapter.d.ts +22 -0
- package/dist/components/music-staff/staffGeometry.d.ts +216 -0
- package/dist/components/music-staff/styles.css +1 -0
- package/dist/components/number-field/NumberField.vue.d.ts +27 -10
- package/dist/components/number-field/NumberFieldInput.vue.d.ts +1 -6
- package/dist/components/number-field/NumberFieldStep.vue.d.ts +31 -0
- package/dist/components/number-field/context.d.ts +10 -0
- package/dist/components/number-field/index.d.ts +3 -5
- package/dist/components/pager-dots/PagerDots.vue.d.ts +22 -10
- package/dist/components/pager-dots/index.d.ts +3 -4
- package/dist/components/pager-dots/worm.d.ts +42 -0
- package/dist/components/popover/Popover.vue.d.ts +45 -35
- package/dist/components/popover/PopoverContent.vue.d.ts +27 -30
- package/dist/components/popover/PopoverTrigger.vue.d.ts +12 -7
- package/dist/components/popover/index.d.ts +3 -3
- package/dist/components/popover/popoverContext.d.ts +13 -4
- package/dist/components/progress/Progress.vue.d.ts +6 -14
- package/dist/components/progress/index.d.ts +2 -1
- package/dist/components/progress/types.d.ts +29 -0
- package/dist/components/radio-group/RadioGroup.vue.d.ts +25 -15
- package/dist/components/radio-group/RadioGroupItem.vue.d.ts +10 -6
- package/dist/components/radio-group/index.d.ts +4 -2
- package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +2 -14
- package/dist/components/scroll-progress-rim/index.d.ts +2 -3
- package/dist/components/scroll-progress-rim/styles.css +1 -1
- package/dist/components/scroll-progress-rim/types.d.ts +20 -2
- package/dist/components/search/SearchBar.vue.d.ts +4 -4
- package/dist/components/search/composables/fuzzySearchIndex.d.ts +1 -1
- package/dist/components/search/composables/index.d.ts +5 -5
- package/dist/components/search/composables/useFuzzySearch.d.ts +1 -1
- package/dist/components/search/index.d.ts +8 -9
- package/dist/components/search/searchVariants.d.ts +15 -18
- package/dist/components/select/Select.vue.d.ts +25 -14
- package/dist/components/select/SelectContent.vue.d.ts +24 -32
- package/dist/components/select/SelectGroup.vue.d.ts +7 -11
- package/dist/components/select/SelectItem.vue.d.ts +24 -13
- package/dist/components/select/SelectLabel.vue.d.ts +7 -11
- package/dist/components/select/SelectScrollButton.vue.d.ts +18 -0
- package/dist/components/select/SelectSeparator.vue.d.ts +5 -6
- package/dist/components/select/SelectTrigger.vue.d.ts +8 -41
- package/dist/components/select/SelectValue.vue.d.ts +11 -7
- package/dist/components/select/index.d.ts +18 -8
- package/dist/components/separator/Separator.vue.d.ts +11 -6
- package/dist/components/separator/index.d.ts +1 -1
- package/dist/components/sheet/SheetContent.vue.d.ts +60 -0
- package/dist/components/sheet/detents/projection.d.ts +42 -0
- package/dist/components/sheet/detents/use.d.ts +27 -0
- package/dist/components/sheet/index.d.ts +4 -0
- package/dist/components/sheet/motion.d.ts +29 -0
- package/dist/components/sheet/styles.css +1 -0
- package/dist/components/skeleton/Skeleton.vue.d.ts +3 -31
- package/dist/components/skeleton/index.d.ts +1 -1
- package/dist/components/slider/Slider.vue.d.ts +10 -38
- package/dist/components/slider/index.d.ts +2 -46
- package/dist/components/slider/styles.css +1 -0
- package/dist/components/slider/types.d.ts +34 -0
- package/dist/components/sortable-list/SortableItem.vue.d.ts +1 -1
- package/dist/components/sortable-list/SortableList.vue.d.ts +2 -3
- package/dist/components/sortable-list/context.d.ts +1 -1
- package/dist/components/sortable-list/drag.d.ts +52 -0
- package/dist/components/sortable-list/ghost.d.ts +40 -0
- package/dist/components/sortable-list/index.d.ts +4 -4
- package/dist/components/sortable-list/motion.d.ts +75 -0
- package/dist/components/sortable-list/resolve.d.ts +56 -0
- package/dist/components/sortable-list/{composables/types.d.ts → types.d.ts} +14 -7
- package/dist/components/sortable-list/{composables/useSortable.d.ts → useSortable.d.ts} +2 -4
- package/dist/components/status-dot/StatusDot.vue.d.ts +14 -10
- package/dist/components/status-dot/index.d.ts +3 -1
- package/dist/components/status-dot/states.d.ts +4 -0
- package/dist/components/surface/Surface.vue.d.ts +33 -24
- package/dist/components/surface/index.d.ts +2 -2
- package/dist/components/switch/Switch.vue.d.ts +15 -11
- package/dist/components/switch/index.d.ts +2 -1
- package/dist/components/table/Table.vue.d.ts +1 -1
- package/dist/components/table/index.d.ts +8 -8
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +28 -24
- package/dist/components/tabs/composables/useTabDragMorph.d.ts +7 -7
- package/dist/components/tabs/composables/useTabResponsive.d.ts +6 -7
- package/dist/components/tabs/composables/useTabRovingFocus.d.ts +31 -23
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/styles/drag.css +1 -1
- package/dist/components/tabs/styles/segmented.css +1 -1
- package/dist/components/textarea/Textarea.vue.d.ts +14 -54
- package/dist/components/textarea/index.d.ts +2 -1
- package/dist/components/textarea/types.d.ts +45 -0
- package/dist/components/timeline/Timeline.vue.d.ts +41 -0
- package/dist/components/timeline/geometry.d.ts +53 -79
- package/dist/components/timeline/index.d.ts +2 -2
- package/dist/components/timeline/types.d.ts +42 -42
- package/dist/components/toast/Toast.vue.d.ts +39 -81
- package/dist/components/toast/ToastAction.vue.d.ts +5 -5
- package/dist/components/toast/ToastClose.vue.d.ts +4 -5
- package/dist/components/toast/ToastDescription.vue.d.ts +4 -5
- package/dist/components/toast/ToastTitle.vue.d.ts +4 -5
- package/dist/components/toast/Toaster.vue.d.ts +1 -1
- package/dist/components/toast/index.d.ts +8 -9
- package/dist/components/toast/use-toast.d.ts +27 -163
- package/dist/components/toggle-group/ToggleGroup.vue.d.ts +25 -14
- package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +14 -12
- package/dist/components/toggle-group/context.d.ts +28 -0
- package/dist/components/toggle-group/index.d.ts +2 -2
- package/dist/components/tooltip/Tooltip.vue.d.ts +20 -7
- package/dist/components/tooltip/TooltipContent.vue.d.ts +16 -13
- package/dist/components/tooltip/TooltipProvider.vue.d.ts +12 -5
- package/dist/components/tooltip/TooltipTrigger.vue.d.ts +12 -5
- package/dist/components/tooltip/index.d.ts +4 -4
- package/dist/components/typewriter/TypewriterText.vue.d.ts +12 -32
- package/dist/components/typewriter/composables/useTypewriter.d.ts +2 -1
- package/dist/components/typewriter/index.d.ts +7 -7
- package/dist/components/typewriter/types.d.ts +1 -1
- package/dist/components/typewriter/utils/timing.d.ts +1 -3
- package/dist/components/typewriter/utils/typoStateMachine.d.ts +1 -1
- package/dist/composables/color/accent-tone-solve.d.ts +3 -6
- package/dist/composables/color/index.d.ts +36 -43
- package/dist/composables/color/useAccentTone.d.ts +0 -3
- package/dist/composables/color/value.d.ts +21 -0
- package/dist/composables/context/createContext.d.ts +2 -2
- package/dist/composables/context/index.d.ts +1 -1
- package/dist/composables/dark/index.d.ts +5 -5
- package/dist/composables/dark/useGlobalDark.d.ts +7 -6
- package/dist/composables/dom/index.d.ts +10 -10
- package/dist/composables/dom/useBreakpoint.d.ts +2 -2
- package/dist/composables/dom/useClipboard.d.ts +28 -52
- package/dist/composables/dom/useDocumentVisibility.d.ts +3 -1
- package/dist/composables/dom/useDragVelocity.d.ts +7 -0
- package/dist/composables/dom/useIdleReady.d.ts +5 -6
- package/dist/composables/dom/useTokenColor.d.ts +2 -2
- package/dist/composables/dom/useUserInvalidAria.d.ts +2 -3
- package/dist/composables/dom/useViewportReady.d.ts +4 -4
- package/dist/composables/glass/backdropLuminanceSample.d.ts +23 -24
- package/dist/composables/glass/backdropSampleMath.d.ts +10 -0
- package/dist/composables/glass/canvas2d/index.d.ts +3 -3
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +8 -10
- package/dist/composables/glass/index.d.ts +5 -7
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +13 -22
- package/dist/composables/glass/useSpecularTracking.d.ts +13 -16
- package/dist/composables/glass/webgl/backingSize.d.ts +5 -8
- package/dist/composables/glass/webgl/compile.d.ts +1 -1
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +25 -34
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +24 -39
- package/dist/composables/glass/webgl/visibility.d.ts +4 -5
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +20 -23
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +4 -5
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +19 -19
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +8 -26
- package/dist/composables/keyboard/index.d.ts +1 -1
- package/dist/composables/motion/core/asElement.d.ts +2 -0
- package/dist/composables/motion/core/constants.d.ts +25 -0
- package/dist/composables/motion/core/index.d.ts +21 -24
- package/dist/composables/motion/{motionTempo.d.ts → core/motionTempo.d.ts} +0 -2
- package/dist/composables/motion/core/useReducedMotion.d.ts +5 -0
- package/dist/composables/motion/core/useViewTransition.d.ts +44 -0
- package/dist/composables/motion/dissolve/dissolveGrammar.d.ts +88 -0
- package/dist/composables/motion/engage/engageEnvelopes.d.ts +45 -0
- package/dist/composables/motion/engage/engageLadder.d.ts +86 -0
- package/dist/composables/motion/index.d.ts +14 -16
- package/dist/composables/motion/morph/eyeglass.d.ts +141 -0
- package/dist/composables/motion/{useDockCtaReceive.d.ts → morph/useDockCtaReceive.d.ts} +8 -9
- package/dist/composables/motion/{useDragMorph.d.ts → morph/useDragMorph.d.ts} +7 -7
- package/dist/composables/motion/morph/useElementMorph.d.ts +50 -0
- package/dist/composables/motion/morph/useLeadTrail.d.ts +71 -0
- package/dist/composables/motion/morph/useSelectionGroup.d.ts +123 -0
- package/dist/composables/motion/morph/useSelectionIndicator.d.ts +113 -0
- package/dist/composables/motion/{useAnimatedNumberMap.d.ts → number/useAnimatedNumberMap.d.ts} +1 -1
- package/dist/composables/motion/{pointerFieldMappings.d.ts → pointer/pointerFieldMappings.d.ts} +8 -11
- package/dist/composables/motion/{usePointerVelocityField.d.ts → pointer/usePointerVelocityField.d.ts} +1 -1
- package/dist/composables/motion/{useRoutePointer.d.ts → pointer/useRoutePointer.d.ts} +1 -1
- package/dist/composables/motion/{useLiquidReveal.d.ts → reveal/useLiquidReveal.d.ts} +11 -10
- package/dist/composables/motion/{useStagger.d.ts → reveal/useStagger.d.ts} +3 -3
- package/dist/composables/motion/route/routeGrammar.d.ts +60 -0
- package/dist/composables/motion/route/useRouteTransition.d.ts +45 -0
- package/dist/composables/motion/{useScrollChrome.d.ts → scroll/useScrollChrome.d.ts} +2 -2
- package/dist/composables/motion/{useScrollProgress.d.ts → scroll/useScrollProgress.d.ts} +9 -6
- package/dist/composables/motion/{useScrollScene.d.ts → scroll/useScrollScene.d.ts} +5 -4
- package/dist/composables/motion/spring/springPresets.d.ts +32 -0
- package/dist/composables/motion/{springProjection.d.ts → spring/springProjection.d.ts} +6 -4
- package/dist/composables/motion/{useLiquidFlex.d.ts → spring/useLiquidFlex.d.ts} +11 -12
- package/dist/composables/motion/{useLiquidPress.d.ts → spring/useLiquidPress.d.ts} +5 -5
- package/dist/composables/motion/{useSpring.d.ts → spring/useSpring.d.ts} +5 -2
- package/dist/composables/motion/{useSpringMount.d.ts → spring/useSpringMount.d.ts} +14 -4
- package/dist/composables/motion/{useSpringPress.d.ts → spring/useSpringPress.d.ts} +6 -6
- package/dist/composables/reactive/index.d.ts +2 -2
- package/dist/composables/sidebar/index.d.ts +10 -10
- package/dist/composables/sidebar/types.d.ts +3 -3
- package/dist/composables/sidebar/useClickDelegate.d.ts +1 -1
- package/dist/composables/sidebar/useLazyLoader.d.ts +1 -1
- package/dist/composables/sidebar/useScrollTo.d.ts +1 -1
- package/dist/composables/sidebar/useScrollTracker.d.ts +1 -1
- package/dist/composables/sidebar/useSidebarState.d.ts +1 -1
- package/dist/composables/sidebar/useTreeIndex.d.ts +1 -1
- package/dist/{configurator-CSENXXSy.js → configurator-BoeScnDL.js} +12 -12
- package/dist/configurator.d.ts +1 -1
- package/dist/configurator.js +1 -1
- package/dist/{constants-DRZmNIY-.js → constants-Dk96HZHu.js} +3 -3
- package/dist/constellation.d.ts +1 -1
- package/dist/constellation.js +198 -196
- package/dist/content-CWO-XL7o.js +18 -0
- package/dist/control-Da4XeT43.js +11 -0
- package/dist/control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js +21 -0
- package/dist/{createCanvasLifecycle-hsFkQVdl.js → createCanvasLifecycle-hJHobVTn.js} +84 -82
- package/dist/dark-mode-toggle.d.ts +1 -0
- package/dist/dark-mode-toggle.js +43 -0
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table-_RrOEdiw.js +493 -0
- package/dist/data-table.d.ts +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck-Ci6YjB5e.js +453 -0
- package/dist/deck.d.ts +1 -1
- package/dist/deck.js +2 -94
- package/dist/dialog-CbRnTRtg.js +78 -0
- package/dist/dialog.d.ts +1 -1
- package/dist/dialog.js +3 -2
- package/dist/dock.d.ts +1 -1
- package/dist/dock.js +654 -1044
- package/dist/dom.d.ts +1 -1
- package/dist/dom.js +65 -105
- package/dist/easing.d.ts +1 -1
- package/dist/easing.js +709 -522
- package/dist/expandable-container.d.ts +1 -1
- package/dist/expandable-container.js +109 -93
- package/dist/fading-scroll-CTeW3KNS.js +96 -0
- package/dist/fading-scroll.d.ts +1 -1
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-Duf7EpUu.js +13 -0
- package/dist/fourier-field.d.ts +1 -1
- package/dist/fourier-field.js +172 -174
- package/dist/fourier-math.d.ts +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +295 -505
- package/dist/handmark.d.ts +1 -1
- package/dist/handmark.js +4 -4
- package/dist/index.d.ts +41 -51
- package/dist/infinite-scroll.d.ts +1 -1
- package/dist/infinite-scroll.js +59 -43
- package/dist/input-Bls2A4Tt.js +54 -0
- package/dist/input.d.ts +1 -0
- package/dist/input.js +2 -0
- package/dist/keyboard.d.ts +1 -1
- package/dist/label-BQEZhnK_.js +53 -0
- package/dist/label.d.ts +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.d.ts +1 -1
- package/dist/labeled-field.js +232 -239
- package/dist/menu-wLu1XGKn.js +501 -0
- package/dist/menu.d.ts +1 -0
- package/dist/{dropdown-menu.js → menu.js} +2 -2
- package/dist/metric.d.ts +1 -0
- package/dist/metric.js +139 -0
- package/dist/motion-D4uYE0UM.js +61 -0
- package/dist/motion-core.d.ts +1 -1
- package/dist/motion-core.js +206 -165
- package/dist/motion.d.ts +1 -1
- package/dist/motion.js +164 -239
- package/dist/music-staff.d.ts +1 -0
- package/dist/music-staff.js +915 -0
- package/dist/number-field-NFAwQ0HK.js +111 -0
- package/dist/number-field.d.ts +1 -1
- package/dist/number-field.js +2 -2
- package/dist/pager-dots.d.ts +1 -1
- package/dist/pager-dots.js +362 -2
- package/dist/participation-B0hdsIRo.js +42 -0
- package/dist/{pointerFieldMappings-CZojkgKj.js → pointerFieldMappings-DP5tla5z.js} +4 -7
- package/dist/popover-DBMKTPkL.js +181 -0
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-CxeNvxuO.js → presets-5myqNv59.js} +1 -1
- package/dist/primitive-B2t2jdqM.js +11 -0
- package/dist/progress-DF8dWZIX.js +74 -0
- package/dist/progress.d.ts +1 -1
- package/dist/progress.js +1 -1
- package/dist/radio-group-Ci8o-pDx.js +85 -0
- package/dist/radio-group.d.ts +1 -0
- package/dist/radio-group.js +2 -0
- package/dist/reactive.d.ts +1 -1
- package/dist/reactive.js +1 -1
- package/dist/resolve-DdrNvBby.js +6 -0
- package/dist/resolveCanvasColor-6MCrswTB.js +81 -0
- package/dist/rowClass-DYOXwxhO.js +10 -0
- package/dist/scroll-progress-rim.d.ts +1 -1
- package/dist/scroll-progress-rim.js +48 -42
- package/dist/{scrollReader-C2oK9Hb8.js → scrollReader-Brf5cQNo.js} +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.js +33 -296
- package/dist/select-CDgwGH_P.js +290 -0
- package/dist/select.d.ts +1 -1
- package/dist/select.js +2 -2
- package/dist/selection-DqIULxRG.js +6 -0
- package/dist/separator-CN11t406.js +73 -0
- package/dist/separator.d.ts +1 -1
- package/dist/separator.js +1 -1
- package/dist/sheet-BEFvnO_u.js +340 -0
- package/dist/sheet.d.ts +1 -0
- package/dist/sheet.js +3 -0
- package/dist/sidebar.d.ts +1 -1
- package/dist/sidebar.js +53 -42
- package/dist/slider-gsc8jDIo.js +227 -0
- package/dist/slider.d.ts +1 -1
- package/dist/slider.js +2 -2
- package/dist/sortable-list.d.ts +1 -1
- package/dist/sortable-list.js +412 -286
- package/dist/springPresets-Cbe0Voqg.js +52 -0
- package/dist/status-dot-BpnqOP5N.js +56 -0
- package/dist/status-dot.d.ts +1 -1
- package/dist/status-dot.js +2 -59
- package/dist/styles/accessibility.css +1 -1
- package/dist/styles/animations.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/fonts.css +1 -1
- package/dist/styles/glass/a11y-fallback.css +1 -1
- package/dist/styles/glass/control-bit.css +1 -0
- package/dist/styles/glass/control-edge.css +1 -0
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/deep.css +1 -1
- package/dist/styles/glass/defined.css +1 -1
- package/dist/styles/glass/dissolve.css +1 -0
- package/dist/styles/glass/focus-veil.css +1 -0
- package/dist/styles/glass/glass-atom.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/glass-chip.css +1 -1
- package/dist/styles/glass/grasp.css +1 -0
- package/dist/styles/glass/ladder-undershadow.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-enter.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/mark.css +1 -0
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/overlay-plate.css +1 -0
- package/dist/styles/glass/reveal.css +1 -1
- package/dist/styles/glass/rim.css +1 -1
- package/dist/styles/glass/squircle.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass/track-flow.css +1 -0
- package/dist/styles/glass/value-marks.css +1 -0
- package/dist/styles/glass/veil.css +1 -0
- package/dist/styles/glass-specular-track.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/paper.css +1 -1
- package/dist/styles/scroll-choreography.css +1 -1
- package/dist/styles/scroll-chrome.css +1 -1
- package/dist/styles/scroll-driven.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/theme/dark.css +1 -1
- package/dist/styles/theme/literals.css +1 -1
- package/dist/styles/theme/radius.css +1 -1
- package/dist/styles/theme.css +1 -1
- package/dist/styles/tokens/color-radius.css +1 -1
- package/dist/styles/tokens/dark-arm-glass.css +1 -1
- package/dist/styles/tokens/dark-arm.css +1 -1
- package/dist/styles/tokens/glass-deep.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/light-dark.css +1 -1
- package/dist/styles/tokens/manifest.d.ts +14 -0
- package/dist/styles/tokens/motion-registers.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/on-glass-fg.css +1 -1
- package/dist/styles/tokens/property-regs-specular.css +1 -1
- package/dist/styles/tokens/property-regs.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-motion.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/scroll-tokens.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens/sizing-config.css +1 -1
- package/dist/styles/tokens/sizing.css +1 -1
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/tokens.d.ts +5 -10
- package/dist/styles/track-well.css +1 -0
- package/dist/styles/transitions.css +1 -1
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/typography.css +1 -1
- package/dist/styles/utilities/a11y-overrides.css +1 -1
- package/dist/styles/utilities/base-misc.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities/metal.css +1 -1
- package/dist/styles/utilities/responsive.css +1 -0
- package/dist/styles/utilities.css +1 -1
- package/dist/styles/view-transition.css +1 -1
- package/dist/styles/viz-reveal.css +1 -1
- package/dist/{supportsCssTimeline-Dz-GVxXM.js → supportsCssTimeline-Di9gzleG.js} +6 -5
- package/dist/surface.d.ts +1 -1
- package/dist/surface.js +2 -3
- package/dist/switch-DxZzDrmV.js +49 -0
- package/dist/switch.d.ts +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs-CYscnq5H.js +268 -0
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +2 -339
- package/dist/textarea.d.ts +1 -0
- package/dist/textarea.js +58 -0
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +241 -532
- package/dist/toast-9c6Kp58L.js +269 -0
- package/dist/toast.d.ts +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group-11aPGMfE.js +125 -0
- package/dist/toggle-group.d.ts +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.js +98 -5
- package/dist/tooltip-DqKMZ4dn.js +142 -0
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.d.ts +1 -1
- package/dist/typewriter.js +215 -208
- package/dist/useAccentTone-DFAh1osB.js +47 -0
- package/dist/useClipboard-D36OTaeT.js +53 -0
- package/dist/useDockCtaReceive-BSSgD6mu.js +146 -0
- package/dist/useDragMorph-B363RUbF.js +293 -0
- package/dist/{useDragVelocity-CbMZEBaC.js → useDragVelocity-C5BkKiNf.js} +28 -24
- package/dist/useIntersectionPause-CzKR3EyP.js +57 -0
- package/dist/useLeadTrail-DQWdpFN1.js +83 -0
- package/dist/{useLiquidFlex-Ch4exNvN.js → useLiquidFlex-TJZmRqyY.js} +1 -1
- package/dist/useLiquidPress-h1scrPtP.js +101 -0
- package/dist/useMotionAxis-D-rtIhca.js +19 -0
- package/dist/usePointerVelocityField-DsIf7yyq.js +121 -0
- package/dist/useReducedMotion-vCXA_vyM.js +27 -0
- package/dist/{useTouchGate-Cj5fOkTv.js → useResolveTokenColor-CspQv_ik.js} +25 -2
- package/dist/useRoutePointer-B8itM7Ka.js +53 -0
- package/dist/useScrollChrome-BJbWV32F.js +162 -0
- package/dist/useScrollProgress-Bq-KPaKM.js +41 -0
- package/dist/useScrollTrigger-Abe5dEeO.js +86 -0
- package/dist/useSelectionGroup-zsEwitF6.js +291 -0
- package/dist/{useSpring-BBSKFx_0.js → useSpring-9u2_shxV.js} +2 -2
- package/dist/useSpringMount-OA-0mTNv.js +73 -0
- package/dist/vReveal-B5WYGofz.js +44 -0
- package/dist/vSpecular-DMJo8pfD.js +68 -0
- package/dist/value-DMhh2R94.js +33 -0
- package/dist/{valueDomain-B8L04u3U.js → valueDomain-DXRzfc8l.js} +1 -1
- package/package.json +183 -291
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +0 -65
- package/dist/FadingScroll-C1ZWEjmG.js +0 -83
- package/dist/Input-B4WQ_CMc.js +0 -57
- package/dist/PagerDots-BoTQ7g5l.js +0 -307
- package/dist/Surface-BWRfwyn8.js +0 -59
- package/dist/accent-tone-solve-Dii9ePhK.js +0 -20
- package/dist/animated-digit.d.ts +0 -1
- package/dist/animated-digit.js +0 -44
- package/dist/badge-C0C-rTBu.js +0 -80
- package/dist/button-32mg6xA8.js +0 -194
- package/dist/card-16xmzIr3.js +0 -303
- package/dist/coalesce-metric-znAcLzkB.js +0 -13
- package/dist/collapsible-bPzS1aQk.js +0 -63
- package/dist/color-swatch.d.ts +0 -1
- package/dist/color-swatch.js +0 -48
- package/dist/command-BjPjUU9z.js +0 -307
- package/dist/completion-seal.d.ts +0 -1
- package/dist/completion-seal.js +0 -132
- package/dist/components/_shared/ModalOverlay.vue.d.ts +0 -43
- package/dist/components/_shared/feedback-tone.css +0 -1
- package/dist/components/_shared/field-surfaces.css +0 -1
- package/dist/components/_shared/menu.css +0 -1
- package/dist/components/_shared/menuItemVariants.d.ts +0 -51
- package/dist/components/_shared/useControlSize.d.ts +0 -46
- package/dist/components/_shared/useStalePropWarning.d.ts +0 -27
- package/dist/components/_shared/useSurfaceAxis.d.ts +0 -64
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +0 -56
- package/dist/components/animated-digit/index.d.ts +0 -2
- package/dist/components/card/ScrollCard.vue.d.ts +0 -33
- package/dist/components/card/ScrollCardHeader.vue.d.ts +0 -17
- package/dist/components/card/card-scroll.css +0 -1
- package/dist/components/carousel/CarouselNext.vue.d.ts +0 -21
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +0 -21
- package/dist/components/carousel/interface.d.ts +0 -20
- package/dist/components/color-swatch/ColorSwatch.vue.d.ts +0 -22
- package/dist/components/color-swatch/index.d.ts +0 -1
- package/dist/components/combobox/Combobox.vue.d.ts +0 -32
- package/dist/components/combobox/ComboboxAnchor.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxEmpty.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxGroup.vue.d.ts +0 -19
- package/dist/components/combobox/ComboboxInput.vue.d.ts +0 -23
- package/dist/components/combobox/ComboboxItem.vue.d.ts +0 -22
- package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxList.vue.d.ts +0 -32
- package/dist/components/combobox/index.d.ts +0 -9
- package/dist/components/completion-seal/CompletionSeal.vue.d.ts +0 -28
- package/dist/components/completion-seal/composables/useCompletionSeal.d.ts +0 -37
- package/dist/components/completion-seal/constants.d.ts +0 -66
- package/dist/components/completion-seal/index.d.ts +0 -4
- package/dist/components/completion-seal/styles.css +0 -1
- package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -32
- package/dist/components/controls/dark-mode-toggle.css +0 -1
- package/dist/components/controls/index.d.ts +0 -1
- package/dist/components/data-table/DataTablePagination.vue.d.ts +0 -13
- package/dist/components/deck/DeckPager.vue.d.ts +0 -29
- package/dist/components/dialog/DialogClose.vue.d.ts +0 -14
- package/dist/components/dialog/DialogTrigger.vue.d.ts +0 -14
- package/dist/components/dialog/placement.css +0 -1
- package/dist/components/dock/DockSection.vue.d.ts +0 -69
- package/dist/components/dock/DockStack.vue.d.ts +0 -73
- package/dist/components/dock/composables/dockMorphContext.d.ts +0 -91
- package/dist/components/dock/composables/useDockFisheye.d.ts +0 -24
- package/dist/components/dock/composables/useDockPopover.d.ts +0 -70
- package/dist/components/dock/styles/fisheye.css +0 -1
- package/dist/components/dock/styles/popover.css +0 -1
- package/dist/components/dock/styles/section.css +0 -1
- package/dist/components/drawer/Drawer.vue.d.ts +0 -85
- package/dist/components/drawer/DrawerContent.vue.d.ts +0 -40
- package/dist/components/drawer/DrawerDescription.vue.d.ts +0 -18
- package/dist/components/drawer/DrawerFooter.vue.d.ts +0 -17
- package/dist/components/drawer/DrawerHeader.vue.d.ts +0 -17
- package/dist/components/drawer/DrawerOverlay.vue.d.ts +0 -8
- package/dist/components/drawer/DrawerTitle.vue.d.ts +0 -18
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +0 -28
- package/dist/components/drawer/composables/useDrawerSnap.d.ts +0 -24
- package/dist/components/drawer/constants.d.ts +0 -50
- package/dist/components/drawer/index.d.ts +0 -33
- package/dist/components/drawer/styles.css +0 -1
- package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +0 -24
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +0 -24
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
- package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +0 -19
- package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +0 -19
- package/dist/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +0 -22
- package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +0 -8
- package/dist/components/dropdown-menu/DropdownMenuShortcut.vue.d.ts +0 -17
- package/dist/components/dropdown-menu/DropdownMenuSubContent.vue.d.ts +0 -34
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +0 -18
- package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +0 -20
- package/dist/components/dropdown-menu/index.d.ts +0 -15
- package/dist/components/dropdown-menu/useMenuTrigger.d.ts +0 -14
- package/dist/components/easing/EasingConfigurator.vue.d.ts +0 -33
- package/dist/components/focus-scope/FocusScope.vue.d.ts +0 -20
- package/dist/components/focus-scope/index.d.ts +0 -2
- package/dist/components/fourier-field/presets.d.ts +0 -54
- package/dist/components/goo-filter/GooFilter.vue.d.ts +0 -22
- package/dist/components/goo-filter/index.d.ts +0 -1
- package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
- package/dist/components/header-ribbon/index.d.ts +0 -2
- package/dist/components/header-ribbon/types.d.ts +0 -7
- package/dist/components/icon-chip/IconChip.vue.d.ts +0 -4
- package/dist/components/icon-chip/index.d.ts +0 -2
- package/dist/components/icon-chip/styles.css +0 -1
- package/dist/components/icon-chip/types.d.ts +0 -92
- package/dist/components/icon-tooltip/IconTooltip.vue.d.ts +0 -16
- package/dist/components/icon-tooltip/index.d.ts +0 -1
- package/dist/components/instrument-chassis/ChassisDivider.vue.d.ts +0 -30
- package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +0 -97
- package/dist/components/instrument-chassis/index.d.ts +0 -3
- package/dist/components/instrument-chassis/styles.css +0 -1
- package/dist/components/labeled-field/LabeledSelect.vue.d.ts +0 -26
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +0 -46
- package/dist/components/liquid-grid/composables/liquidGrid.d.ts +0 -113
- package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +0 -18
- package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +0 -21
- package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +0 -16
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +0 -32
- package/dist/components/liquid-grid/constants.d.ts +0 -93
- package/dist/components/liquid-grid/index.d.ts +0 -5
- package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +0 -4
- package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +0 -1
- package/dist/components/metric-badge/MetricBadge.vue.d.ts +0 -40
- package/dist/components/metric-badge/index.d.ts +0 -2
- package/dist/components/metric-cell/MetricCell.vue.d.ts +0 -108
- package/dist/components/metric-cell/index.d.ts +0 -2
- package/dist/components/metric-stack/MetricRow.vue.d.ts +0 -120
- package/dist/components/metric-stack/MetricStack.vue.d.ts +0 -92
- package/dist/components/metric-stack/index.d.ts +0 -4
- package/dist/components/notification/Notification.vue.d.ts +0 -16
- package/dist/components/notification/index.d.ts +0 -1
- package/dist/components/number-field/NumberFieldContent.vue.d.ts +0 -17
- package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +0 -18
- package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +0 -18
- package/dist/components/pager-dots/composables/usePagerWorm.d.ts +0 -26
- package/dist/components/pager-dots/constants.d.ts +0 -15
- package/dist/components/pager-dots/pagerWindow.d.ts +0 -9
- package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +0 -21
- package/dist/components/paper-backdrop/index.d.ts +0 -2
- package/dist/components/progress/ProgressDefault.vue.d.ts +0 -9
- package/dist/components/progress/ProgressGradient.vue.d.ts +0 -26
- package/dist/components/progress/ProgressLiquid.vue.d.ts +0 -22
- package/dist/components/progress/valueMarks.css +0 -1
- package/dist/components/pulse/Pulse.vue.d.ts +0 -53
- package/dist/components/pulse/index.d.ts +0 -1
- package/dist/components/search/FuzzySearch.vue.d.ts +0 -24
- package/dist/components/select/SelectScrollDownButton.vue.d.ts +0 -18
- package/dist/components/select/SelectScrollUpButton.vue.d.ts +0 -18
- package/dist/components/sortable-list/composables/dragController.d.ts +0 -29
- package/dist/components/sortable-list/composables/dropResolver.d.ts +0 -34
- package/dist/components/sortable-list/composables/ghostRenderer.d.ts +0 -44
- package/dist/components/sortable-list/composables/index.d.ts +0 -1
- package/dist/components/sortable-list/composables/touchGate.d.ts +0 -26
- package/dist/components/sortable-list/composables/transitionTiming.d.ts +0 -50
- package/dist/components/spa-view/SpaView.vue.d.ts +0 -50
- package/dist/components/spa-view/index.d.ts +0 -2
- package/dist/components/split-chars/SplitChars.vue.d.ts +0 -53
- package/dist/components/split-chars/index.d.ts +0 -1
- package/dist/components/tabs/composables/useEyeglassLive.d.ts +0 -17
- package/dist/components/tabs/constants.d.ts +0 -1
- package/dist/components/tags-input/TagsInput.vue.d.ts +0 -28
- package/dist/components/tags-input/TagsInputInput.vue.d.ts +0 -8
- package/dist/components/tags-input/TagsInputItem.vue.d.ts +0 -18
- package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +0 -18
- package/dist/components/tags-input/TagsInputItemText.vue.d.ts +0 -8
- package/dist/components/tags-input/index.d.ts +0 -5
- package/dist/components/timeline/ContinuousMarkers.vue.d.ts +0 -49
- package/dist/components/timeline/ContinuousRail.vue.d.ts +0 -26
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +0 -118
- package/dist/components/timeline/GlassTimeline.vue.d.ts +0 -114
- package/dist/components/timeline/ScrubberTimeline.vue.d.ts +0 -45
- package/dist/components/timeline/SegmentedTimeline.vue.d.ts +0 -46
- package/dist/components/toggle/Toggle.vue.d.ts +0 -29
- package/dist/components/toggle/index.d.ts +0 -26
- package/dist/components/toggle-group/toggleGroupContext.d.ts +0 -20
- package/dist/components/typewriter/composables/index.d.ts +0 -1
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +0 -74
- package/dist/components/watercolor-dot/index.d.ts +0 -3
- package/dist/components/watercolor-dot/prng.d.ts +0 -5
- package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +0 -31
- package/dist/composables/glass/ambientHueHistogram.d.ts +0 -27
- package/dist/composables/glass/useSpecularPointer.d.ts +0 -52
- package/dist/composables/glass/wave/index.d.ts +0 -4
- package/dist/composables/glass/wave/waveField.d.ts +0 -136
- package/dist/composables/glass/wave/waveField.glsl.d.ts +0 -1
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +0 -1
- package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +0 -36
- package/dist/composables/glass/webgpu/index.d.ts +0 -3
- package/dist/composables/index.d.ts +0 -9
- package/dist/composables/motion/bloomUpField.d.ts +0 -29
- package/dist/composables/motion/constants.d.ts +0 -19
- package/dist/composables/motion/curves.d.ts +0 -48
- package/dist/composables/motion/gooBarbellGeometry.d.ts +0 -79
- package/dist/composables/motion/morphSignatures.d.ts +0 -88
- package/dist/composables/motion/springPresets.d.ts +0 -45
- package/dist/composables/motion/suite.d.ts +0 -2
- package/dist/composables/motion/useBloomUp.d.ts +0 -97
- package/dist/composables/motion/useCharStagger.d.ts +0 -44
- package/dist/composables/motion/useCountup.d.ts +0 -30
- package/dist/composables/motion/useElementMorph.d.ts +0 -107
- package/dist/composables/motion/useGooMorph.d.ts +0 -72
- package/dist/composables/motion/useLeadTrail.d.ts +0 -69
- package/dist/composables/motion/useNumericTransition.d.ts +0 -56
- package/dist/composables/motion/usePrioritizedTask.d.ts +0 -41
- package/dist/composables/motion/useScrollPin.d.ts +0 -49
- package/dist/composables/motion/useSelectionGroup.d.ts +0 -83
- package/dist/composables/motion/useSelectionIndicator.d.ts +0 -90
- package/dist/composables/motion/useStaggerReveal.d.ts +0 -52
- package/dist/composables/motion/useTextHighlight.d.ts +0 -41
- package/dist/composables/motion/useViewTransition.d.ts +0 -81
- package/dist/composables/virtual/index.d.ts +0 -4
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +0 -72
- package/dist/composables/virtual/useWindowedStore.d.ts +0 -43
- package/dist/composables/virtual/virtualSectionLayout.d.ts +0 -103
- package/dist/controls.d.ts +0 -1
- package/dist/controls.js +0 -83
- package/dist/data-table-DveMdgBM.js +0 -629
- package/dist/dialog-BzQxKrUr.js +0 -281
- package/dist/dockContext-4S9qP0Z4.js +0 -13
- package/dist/drawer.d.ts +0 -1
- package/dist/drawer.js +0 -443
- package/dist/dropdown-menu-DORIA52F.js +0 -378
- package/dist/dropdown-menu.d.ts +0 -1
- package/dist/flow.glsl-DEGFGE11.js +0 -4
- package/dist/focus-scope-DUTKveod.js +0 -23
- package/dist/focus-scope.d.ts +0 -1
- package/dist/focus-scope.js +0 -2
- package/dist/fonts/README.md +0 -124
- package/dist/fonts/fira-code/OFL.txt +0 -93
- package/dist/fonts/plus-jakarta-sans/OFL.txt +0 -93
- package/dist/forms.d.ts +0 -5
- package/dist/forms.js +0 -298
- package/dist/header-ribbon.d.ts +0 -1
- package/dist/header-ribbon.js +0 -74
- package/dist/icon-chip-BWuxz1-u.js +0 -57
- package/dist/icon-chip.d.ts +0 -1
- package/dist/icon-chip.js +0 -2
- package/dist/icon-tooltip-CO6rw0dZ.js +0 -25
- package/dist/icon-tooltip.d.ts +0 -1
- package/dist/icon-tooltip.js +0 -2
- package/dist/instrument-chassis-Cvstg4_U.js +0 -65
- package/dist/instrument-chassis.d.ts +0 -1
- package/dist/instrument-chassis.js +0 -2
- package/dist/label-Cj38tJKG.js +0 -36
- package/dist/liquid-grid.d.ts +0 -1
- package/dist/liquid-grid.js +0 -1075
- package/dist/menuItemVariants-D6AOzzND.js +0 -36
- package/dist/metric-badge.d.ts +0 -1
- package/dist/metric-badge.js +0 -79
- package/dist/metric-cell.d.ts +0 -1
- package/dist/metric-cell.js +0 -61
- package/dist/metric-stack.d.ts +0 -1
- package/dist/metric-stack.js +0 -113
- package/dist/motion-curves.d.ts +0 -1
- package/dist/motion-curves.js +0 -146
- package/dist/notification-DVs7ODMg.js +0 -52
- package/dist/notification.d.ts +0 -1
- package/dist/notification.js +0 -2
- package/dist/number-field-PvkGedHk.js +0 -140
- package/dist/paper-backdrop.d.ts +0 -1
- package/dist/paper-backdrop.js +0 -31
- package/dist/popover-WMgyRSyN.js +0 -256
- package/dist/progress-C-HHuFZy.js +0 -192
- package/dist/pulse.d.ts +0 -1
- package/dist/pulse.js +0 -56
- package/dist/resolveCanvasColor-yarP5bdk.js +0 -93
- package/dist/select-BIv4R3Ir.js +0 -326
- package/dist/separator-CBU94kTM.js +0 -62
- package/dist/slider-Cc_qw6GA.js +0 -166
- package/dist/spa-view.d.ts +0 -1
- package/dist/spa-view.js +0 -46
- package/dist/springPresets-h5VKJQqG.js +0 -58
- package/dist/styles/draw-in.css +0 -1
- package/dist/styles/glass/accent-tone.css +0 -1
- package/dist/styles/glass/grain-overlay.css +0 -1
- package/dist/styles/glass/material-roles.css +0 -1
- package/dist/styles/glass/progress-rail.css +0 -1
- package/dist/styles/glass-refract.css +0 -1
- package/dist/styles/tokens.ts +0 -58
- package/dist/switch-Boj4Ucn5.js +0 -49
- package/dist/toast-kAbchIN2.js +0 -281
- package/dist/toggle-group-BPchFsns.js +0 -178
- package/dist/tooltip-BmOQJzh0.js +0 -111
- package/dist/useAccentTone-C-p6WdPe.js +0 -23
- package/dist/useAnimatedNumber-BRVVaFFc.js +0 -40
- package/dist/useControlSize-CFfOk8I-.js +0 -9
- package/dist/useDockCtaReceive-CK-RLASa.js +0 -257
- package/dist/useDocumentVisibility-YeBDGqtI.js +0 -17
- package/dist/useDragMorph-7ygF9O0m.js +0 -93
- package/dist/useGooMorph-D1F6QJlH.js +0 -349
- package/dist/useIntersectionPause-B-dbxl9w.js +0 -39
- package/dist/useLeadTrail-BYu8dq4G.js +0 -74
- package/dist/useLiquidPress-BYcwwGQV.js +0 -68
- package/dist/useMotionAxis-DCCXMC-i.js +0 -20
- package/dist/usePointerVelocityField-BdvnO0py.js +0 -122
- package/dist/useRAFLoop-BtwQ9DyY.js +0 -109
- package/dist/useResolveTokenColor-C07e-qaT.js +0 -24
- package/dist/useRoutePointer-BDNMFN73.js +0 -52
- package/dist/useScrollProgress-DZI4nf4v.js +0 -35
- package/dist/useSelectionGroup-LDzBdR1Y.js +0 -215
- package/dist/useSpringMount-C6-DBx4e.js +0 -71
- package/dist/useSpringPress-BypV_KO-.js +0 -36
- package/dist/useSurfaceAxis-DudiZVOR.js +0 -10
- package/dist/useTabRovingFocus-DkLYwo4L.js +0 -143
- package/dist/useUserInvalidAria-Cr4nR3tu.js +0 -25
- package/dist/vReveal-DZfWl9XI.js +0 -10
- package/dist/vSpecular-CQFmLNzA.js +0 -68
- package/dist/watercolor-dot.d.ts +0 -1
- package/dist/watercolor-dot.js +0 -175
- package/src/fonts/README.md +0 -124
- package/src/fonts/fira-code/OFL.txt +0 -93
- package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/OFL.txt +0 -93
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/src/styles/accessibility.css +0 -48
- package/src/styles/animations.css +0 -468
- package/src/styles/draw-in.css +0 -89
- package/src/styles/fonts.css +0 -143
- package/src/styles/glass/a11y-fallback.css +0 -188
- package/src/styles/glass/accent-tone.css +0 -66
- package/src/styles/glass/control-surfaces.css +0 -171
- package/src/styles/glass/deep.css +0 -114
- package/src/styles/glass/defined.css +0 -88
- package/src/styles/glass/glass-atom.css +0 -247
- package/src/styles/glass/glass-capsule.css +0 -175
- package/src/styles/glass/glass-chip.css +0 -211
- package/src/styles/glass/grain-overlay.css +0 -79
- package/src/styles/glass/ladder-undershadow.css +0 -61
- package/src/styles/glass/ladder.css +0 -452
- package/src/styles/glass/liquid-enter.css +0 -240
- package/src/styles/glass/liquid-fill.css +0 -65
- package/src/styles/glass/material-roles.css +0 -18
- package/src/styles/glass/material.css +0 -500
- package/src/styles/glass/progress-rail.css +0 -78
- package/src/styles/glass/reveal.css +0 -333
- package/src/styles/glass/rim.css +0 -122
- package/src/styles/glass/squircle.css +0 -58
- package/src/styles/glass/surface-axis.css +0 -136
- package/src/styles/glass/surfaces-pager.css +0 -79
- package/src/styles/glass/surfaces.css +0 -434
- package/src/styles/glass-refract.css +0 -112
- package/src/styles/glass-specular-track.css +0 -74
- package/src/styles/glass.css +0 -110
- package/src/styles/index.css +0 -288
- package/src/styles/paper.css +0 -187
- package/src/styles/scroll-choreography.css +0 -294
- package/src/styles/scroll-chrome.css +0 -123
- package/src/styles/scroll-driven.css +0 -123
- package/src/styles/theme/bridges.css +0 -380
- package/src/styles/theme/dark.css +0 -7
- package/src/styles/theme/literals.css +0 -104
- package/src/styles/theme/radius.css +0 -148
- package/src/styles/theme.css +0 -33
- package/src/styles/tokens/color-radius.css +0 -308
- package/src/styles/tokens/dark-arm-glass.css +0 -55
- package/src/styles/tokens/dark-arm.css +0 -455
- package/src/styles/tokens/glass-deep.css +0 -126
- package/src/styles/tokens/glass-fx.css +0 -480
- package/src/styles/tokens/glass.css +0 -477
- package/src/styles/tokens/light-dark.css +0 -216
- package/src/styles/tokens/motion-registers.css +0 -93
- package/src/styles/tokens/offsets.css +0 -142
- package/src/styles/tokens/on-glass-fg.css +0 -39
- package/src/styles/tokens/property-regs-specular.css +0 -160
- package/src/styles/tokens/property-regs.css +0 -448
- package/src/styles/tokens/scale-paper.css +0 -495
- package/src/styles/tokens/scheme-motion.css +0 -425
- package/src/styles/tokens/scheme-spring.css +0 -282
- package/src/styles/tokens/scroll-tokens.css +0 -137
- package/src/styles/tokens/shadow.css +0 -206
- package/src/styles/tokens/sizing-config.css +0 -110
- package/src/styles/tokens/sizing.css +0 -505
- package/src/styles/tokens.css +0 -68
- package/src/styles/tokens.ts +0 -58
- package/src/styles/transitions.css +0 -228
- package/src/styles/typography/scale.css +0 -166
- package/src/styles/typography/semantic.css +0 -233
- package/src/styles/typography/utilities.css +0 -197
- package/src/styles/typography.css +0 -46
- package/src/styles/utilities/a11y-overrides.css +0 -184
- package/src/styles/utilities/base-misc.css +0 -307
- package/src/styles/utilities/base.css +0 -337
- package/src/styles/utilities/btn.css +0 -306
- package/src/styles/utilities/components.css +0 -337
- package/src/styles/utilities/metal.css +0 -272
- package/src/styles/utilities.css +0 -24
- package/src/styles/view-transition.css +0 -67
- package/src/styles/viz-reveal.css +0 -63
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
- /package/dist/{compile-DK3Fri1B.js → compile-D7VYG3gi.js} +0 -0
- /package/dist/components/_shared/{valueDomain.d.ts → field/valueDomain.d.ts} +0 -0
- /package/dist/composables/glass/{webgl/shaders/procedural-color.glsl.d.ts → procedural/color.glsl.d.ts} +0 -0
- /package/dist/{components/aurora/constants/shaders/procedural-color.wgsl.d.ts → composables/glass/procedural/color.wgsl.d.ts} +0 -0
- /package/dist/composables/motion/{useIntersectionPause.d.ts → core/useIntersectionPause.d.ts} +0 -0
- /package/dist/composables/motion/{useRAFLoop.d.ts → core/useRAFLoop.d.ts} +0 -0
- /package/dist/composables/motion/{useYieldToMain.d.ts → core/useYieldToMain.d.ts} +0 -0
- /package/dist/composables/motion/{useAnimatedNumber.d.ts → number/useAnimatedNumber.d.ts} +0 -0
- /package/dist/composables/motion/{vReveal.d.ts → reveal/vReveal.d.ts} +0 -0
- /package/dist/composables/motion/{scrollReader.d.ts → scroll/scrollReader.d.ts} +0 -0
- /package/dist/composables/motion/{supportsCssTimeline.d.ts → scroll/supportsCssTimeline.d.ts} +0 -0
- /package/dist/composables/motion/{useScrollTrigger.d.ts → scroll/useScrollTrigger.d.ts} +0 -0
- /package/dist/{createContext-FU0n5MGK.js → createContext-BhkE9mLH.js} +0 -0
- /package/dist/{dark-DIH-blY1.js → dark-z_P5QwqI.js} +0 -0
- /package/dist/{motionTempo-CMS5b0Vu.js → motionTempo-tscp92Nm.js} +0 -0
- /package/dist/{prng-Dz2_9RJu.js → prng-2uS6J_A1.js} +0 -0
- /package/dist/{rendererStatus-C2-zC2Q-.js → rendererStatus-BxUlBLVy.js} +0 -0
- /package/dist/{useFuzzySearch-BOgep7RE.js → useFuzzySearch-CUnZknpm.js} +0 -0
- /package/dist/{useResizeObserver-BcUTquV7.js → useResizeObserver-CdUlm2QZ.js} +0 -0
- /package/dist/{useTimer-D8koDvJS.js → useTimer-C3yfti4C.js} +0 -0
- /package/dist/{writeVelocityWeight-D_AcvTsE.js → writeVelocityWeight-DoGOCW3e.js} +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { mulberry32, hashString } from "../../composables/glass/procedural/prng";
|
|
2
|
-
/** Generate 8 random border-radius percentages in [lo, hi] using the given PRNG. */
|
|
3
|
-
export declare function randomRadii(rng: () => number, lo: number, hi: number): number[];
|
|
4
|
-
/** Serialise 8 radii into a CSS `border-radius` shorthand (4 corners / 4 corners). */
|
|
5
|
-
export declare function radiiToCSS(r: number[]): string;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type Ref } from "vue";
|
|
2
|
-
export interface UseWatercolorBlobOptions {
|
|
3
|
-
/** Enable the rAF animation loop (drives a COMPOSITOR transform wobble). */
|
|
4
|
-
animate?: boolean;
|
|
5
|
-
/** Base cycle duration in ms (default 4000). */
|
|
6
|
-
cycleDuration?: number;
|
|
7
|
-
/** Border-radius range [lo, hi] as percentages (default [20, 80]). */
|
|
8
|
-
range?: [number, number];
|
|
9
|
-
/** Extra seed string mixed into the hash for unique shapes. */
|
|
10
|
-
seed?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Drives a watercolor dot's organic blob shape. Deterministic given `color + seed`
|
|
14
|
-
* (seeds the PRNG), so the same color reproduces the same shape across mounts. The
|
|
15
|
-
* seeded `border-radius` silhouette is set ONCE (the dot's identity) and is STATIC —
|
|
16
|
-
* the box never re-paints its radius per frame (the §H Safari fix: a per-frame
|
|
17
|
-
* `border-radius` write under the SVG filter forces the filter graph to RE-RASTERIZE
|
|
18
|
-
* every frame, which flashes Safari). In `animate` mode the liveness rides a seeded
|
|
19
|
-
* COMPOSITOR `transform` wobble (scale/skew/rotate) the compositor handles WITHOUT
|
|
20
|
-
* touching the cached filter — the HandMark static-filter idiom. The wobble is driven
|
|
21
|
-
* by the library's ONE `useRAFLoop` (BG.W-WATERCOLOR-RAF) — parked when the tab is
|
|
22
|
-
* hidden, frozen under `prefers-reduced-motion` — never a hand-rolled zombie rAF.
|
|
23
|
-
* `nudge()` retargets the wobble for a quick jiggle on hover.
|
|
24
|
-
*/
|
|
25
|
-
export declare function useWatercolorBlob(color: Ref<string> | (() => string), options?: UseWatercolorBlobOptions): {
|
|
26
|
-
borderRadius: Ref<string, string>;
|
|
27
|
-
hoverBorderRadius: Ref<string, string>;
|
|
28
|
-
transform: Ref<string, string>;
|
|
29
|
-
nudge: () => void;
|
|
30
|
-
};
|
|
31
|
-
export type WatercolorBlob = ReturnType<typeof useWatercolorBlob>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/** A 12-bucket chroma×alpha-weighted OKLCh hue accumulator over the SAME pixel pass. */
|
|
2
|
-
export interface HueHistogram {
|
|
3
|
-
/** chroma×alpha mass per hue bucket (the bucket weight). */
|
|
4
|
-
weight: Float64Array;
|
|
5
|
-
/** Σ chroma×alpha·cos(h) per bucket (for the circular-mean refine). */
|
|
6
|
-
sumCos: Float64Array;
|
|
7
|
-
/** Σ chroma×alpha·sin(h) per bucket. */
|
|
8
|
-
sumSin: Float64Array;
|
|
9
|
-
/** total chroma×alpha mass (the null-detection denominator numerator). */
|
|
10
|
-
totalMass: number;
|
|
11
|
-
/** total pixels accumulated (the null-mass denominator). */
|
|
12
|
-
n: number;
|
|
13
|
-
}
|
|
14
|
-
export declare function makeHueHistogram(): HueHistogram;
|
|
15
|
-
/**
|
|
16
|
-
* Bin ONE sRGB pixel (composited triple, already over-white) into the histogram,
|
|
17
|
-
* weighted by its OKLCh chroma × the source alpha — a low-chroma/gray pixel
|
|
18
|
-
* contributes ~0. The sRGB→OKLCh math is value.js's primitives (NOT hand-rolled).
|
|
19
|
-
*/
|
|
20
|
-
export declare function accumulateHuePixel(h: HueHistogram, r: number, g: number, b: number, alpha: number): void;
|
|
21
|
-
/**
|
|
22
|
-
* Resolve the histogram → a complete `oklch()` ambient-hue string, or `transparent`
|
|
23
|
-
* for a NULL (gray) sample. The modal bucket's chroma-weighted CIRCULAR MEAN is the
|
|
24
|
-
* picked hue; it is emitted at the FIXED sub-perceptual chroma/L (a HUE event, never
|
|
25
|
-
* the backdrop's saturation).
|
|
26
|
-
*/
|
|
27
|
-
export declare function resolveAmbientHue(h: HueHistogram): string;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter } from "vue";
|
|
2
|
-
/**
|
|
3
|
-
* `useSpecularPointer` — the EVOLUTION of `useSpecularTracking` (BB.W-LENSING). It
|
|
4
|
-
* writes the catch-light POSITION (`--mouse-x`/`--mouse-y`, as today) PLUS the
|
|
5
|
-
* `--specular-angle` channel — the pointer's angle-from-center the EDGE-glint conic
|
|
6
|
-
* sweep reads (the `.glass-material::before` recipe, material.css). The angle feed is
|
|
7
|
-
* what turns the centered disc into a motion-reactive RIM glint (the glass-THICKNESS
|
|
8
|
-
* read); the leaf is the ONE shared specular source the hover/button waves consume.
|
|
9
|
-
*
|
|
10
|
-
* SINGLE-SOURCE (the W-LIQUIDHOVER reconcile, EXTENDED here — NOT a fork). There is
|
|
11
|
-
* exactly ONE position-write core: `createSpecularWriter` (useSpecularTracking.ts) —
|
|
12
|
-
* the rAF-coalesced, cached-PRM, scope-dispose seam. This composable WRAPS that core;
|
|
13
|
-
* the angle is DERIVED in the sink from the SAME `(x, y)` percentage the core already
|
|
14
|
-
* computes (`angle = atan2(y - 50, x - 50)`), so there is NO duplicate
|
|
15
|
-
* `getBoundingClientRect` / `--mouse-x` write — the core owns the layout read + the
|
|
16
|
-
* coordinate math, this leaf only adds the angle derivation onto the existing sink.
|
|
17
|
-
* `useSpecularTracking` (the position-only delivery) STAYS for the bare-position call
|
|
18
|
-
* sites; `useSpecularPointer` is the angle-adding delivery for an edge-glint consumer.
|
|
19
|
-
* Both wrap the ONE core — never two copies of the rAF/PRM/coordinate logic.
|
|
20
|
-
*
|
|
21
|
-
* PRM-aware by construction (the wrapped core skips the write under
|
|
22
|
-
* `prefers-reduced-motion: reduce` — the CSS bracket pins `--specular-x/y` to the
|
|
23
|
-
* centred 50% and `--specular-angle` to its `0deg` static rest). The composable
|
|
24
|
-
* disposes the core (cancel the pending rAF + drop the cached PRM listener) on scope
|
|
25
|
-
* teardown.
|
|
26
|
-
*
|
|
27
|
-
* BG.W-GLASS-DYNAMICS — the OPTIONAL press-couple (absorbs 13.5, soft-gated by F5.1).
|
|
28
|
-
* A consumer may pass `press` (a 0..1 press scalar — a `useSpringPress` `.value`, or
|
|
29
|
-
* any press signal); it is folded reactively into the emitted style as the ONE
|
|
30
|
-
* `--glass-btn-press-t` channel the `.glass-material::before` specular magnitude reads
|
|
31
|
-
* (material.css). Reusing the SINGLE press channel (never a forked `--*-press-t`) keeps
|
|
32
|
-
* ONE drive, two legs — the gleam SWELLS + SETTLES with the press spring. The merge is
|
|
33
|
-
* a `computed` so the press tracks the spring INDEPENDENTLY of pointer moves (a press
|
|
34
|
-
* settles while the pointer is still). SOFT-GATED: when `press` is OMITTED the emitted
|
|
35
|
-
* style carries NO press channel (the CSS `--glass-btn-press-t` default 0 holds — no
|
|
36
|
-
* hard F5.1 dependency), and the position/angle write is byte-identical to before.
|
|
37
|
-
*/
|
|
38
|
-
export interface UseSpecularPointerOptions {
|
|
39
|
-
/** Optional 0..1 press scalar (soft-gated) folded into `--glass-btn-press-t`. */
|
|
40
|
-
press?: MaybeRefOrGetter<number>;
|
|
41
|
-
}
|
|
42
|
-
export interface UseSpecularPointer {
|
|
43
|
-
/**
|
|
44
|
-
* Bind to the host element's `:style`. Carries `--mouse-x/--mouse-y` +
|
|
45
|
-
* `--specular-angle` (+ the press-coupled `--glass-btn-press-t` when `press` is
|
|
46
|
-
* supplied).
|
|
47
|
-
*/
|
|
48
|
-
specularStyle: ComputedRef<CSSProperties>;
|
|
49
|
-
/** Bind to the host's `@pointermove`. Schedules the rAF-coalesced position+angle write (PRM-gated). */
|
|
50
|
-
onPointerMove: (event: PointerEvent) => void;
|
|
51
|
-
}
|
|
52
|
-
export declare function useSpecularPointer(options?: UseSpecularPointerOptions): UseSpecularPointer;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type { Vec2, CellDriver } from "./waveField";
|
|
2
|
-
export { travelingEnvelope, curlScalar, cellTwist, cellDriver, cellHeight, faceRelief, facePlateau, waveFlow, cursorSwirl, heightField, waveSwell, cellWarpBeforeHeight, } from "./waveField";
|
|
3
|
-
export { WAVE_FIELD_GLSL } from "./waveField.glsl";
|
|
4
|
-
export { WAVE_FIELD_WGSL } from "./waveField.wgsl";
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/** A 2-vector. */
|
|
2
|
-
export interface Vec2 {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* The directed-twist magnitude FLOOR (the visibility cure — shared across JS↔GLSL↔WGSL).
|
|
8
|
-
* The curl scalar alone sits ~|0.3|, damping the crest twist to a whisper; a cell in the
|
|
9
|
-
* crest band always rotates at least this fraction of `twistMax` so the wave READS.
|
|
10
|
-
*/
|
|
11
|
-
export declare const TWIST_FLOOR = 0.62;
|
|
12
|
-
/**
|
|
13
|
-
* A moving Gaussian crest band sweeping along `waveDir` at angular speed `waveOmega`.
|
|
14
|
-
* Returns the envelope in [0,1]: ~0 where the wave has NOT reached, ~1 at the crest,
|
|
15
|
-
* relaxing back to ~0 behind it. `coord` is the wave phase at a point; `crest` wraps it
|
|
16
|
-
* to a single 0..1 cycle and `env` is the Gaussian about the cycle midpoint. The crest
|
|
17
|
-
* "passes OVER and THROUGH" the field — the cells are calm ahead, twist HARD at the
|
|
18
|
-
* crest, relax behind.
|
|
19
|
-
*/
|
|
20
|
-
export declare function travelingEnvelope(pivot: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number): number;
|
|
21
|
-
/**
|
|
22
|
-
* The curl-noise vorticity read at the cell center — a smooth low-frequency scalar in
|
|
23
|
-
* roughly [-1,1] that DIRECTS the per-cell twist so adjacent cells lean TOGETHER (a
|
|
24
|
-
* flowing read, never per-cell noise). The host supplies `curlFn(p) -> Vec2` (the shared
|
|
25
|
-
* divergence-free curl of its own noise basis); this takes the x-component as the signed
|
|
26
|
-
* director and folds a slow time drift so the flow itself evolves. Basis-agnostic.
|
|
27
|
-
*/
|
|
28
|
-
export declare function curlScalar(curlFn: (p: Vec2) => Vec2, cc: Vec2, t: number): number;
|
|
29
|
-
/** The cell pivot `cc` + the spring-eased crest envelope `env` a cell rides. */
|
|
30
|
-
export interface CellDriver {
|
|
31
|
-
/** The PRE-twist cell center (the per-cell pivot the twist rotates about). */
|
|
32
|
-
cc: Vec2;
|
|
33
|
-
/** The traveling-Gaussian crest envelope × amp at that pivot ([0,1] · amp). */
|
|
34
|
-
env: number;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* The pre-twist driver for the grid coordinate `g`: floor `g` to its cell, return that cell's
|
|
38
|
-
* center `cc` + the traveling-wave crest envelope `env` evaluated AT that center (= `cellHeight`,
|
|
39
|
-
* so there is provably ONE envelope). FOLD A: the face must sample its height/relief at THIS
|
|
40
|
-
* pre-twist `cc`, NOT at `floor(twisted_g)` (the crest twist crosses the cell boundary → the
|
|
41
|
-
* face would light a NEIGHBOUR cell). `cellTwist` rides the SAME driver, so twist and face fuse.
|
|
42
|
-
*/
|
|
43
|
-
export declare function cellDriver(g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): CellDriver;
|
|
44
|
-
/**
|
|
45
|
-
* Twist the grid coordinate `g` about its OWN cell center, gated by the traveling wave
|
|
46
|
-
* and directed by the curl flow. The pivot is the cell center (a per-cell constant) so the
|
|
47
|
-
* box rotates about its middle — the cell stays in place but TWISTS (a windmill of warped
|
|
48
|
-
* boxes where the crest passes; calm square cells elsewhere). `amp` is the spring-eased
|
|
49
|
-
* envelope amplitude the JS host drives (the liquid-weight inertia). Returns the twisted
|
|
50
|
-
* coordinate (still in grid space; the host evaluates its extraction at it).
|
|
51
|
-
*
|
|
52
|
-
* FOLD C — the `TWIST_FLOOR` is CREST-GATED: the floor is multiplied by the crest envelope so
|
|
53
|
-
* OFF-crest cells relax to near-flat (calm paper) and only the crest band crinkles. Without
|
|
54
|
-
* this every cell crinkles regardless of the wave (static foil, no traveling read).
|
|
55
|
-
*/
|
|
56
|
-
export declare function cellTwist(curlFn: (p: Vec2) => Vec2, g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, shearMax: number, amp: number): Vec2;
|
|
57
|
-
/**
|
|
58
|
-
* The sheet displacement at a cell center `cc` — the EXACT traveling-wave scalar the twist
|
|
59
|
-
* rides (`travelingEnvelope · amp`), surfaced as a named leaf fn so the face reads ONE
|
|
60
|
-
* envelope. Range [0,1]·amp: ~0 ahead of / behind the crest, ~amp at the crest. `cellTwist`
|
|
61
|
-
* (via `cellDriver`) calls this, so a sign drift reds the numeric parity gate everywhere.
|
|
62
|
-
*/
|
|
63
|
-
export declare function cellHeight(cc: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): number;
|
|
64
|
-
/**
|
|
65
|
-
* The central-difference slope of `cellHeight` across a cell (`ε = 0.5·cellSize`) — the lit-fold
|
|
66
|
-
* normal source. Pure, derivative-FREE (NO `dFdx` on the height) → Safari WebGL2-safe by
|
|
67
|
-
* construction (only the Golus AA uses `fwidth`). Returns ∇H = (∂H/∂x, ∂H/∂y) at `cc`.
|
|
68
|
-
*/
|
|
69
|
-
export declare function faceRelief(cc: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): Vec2;
|
|
70
|
-
/**
|
|
71
|
-
* Soft inset-square coverage inside a (warped) cell — the filled FACE plateau. `d` is the
|
|
72
|
-
* distance into the cell from the nearest gutter (per axis, on the triangle-wave the Golus
|
|
73
|
-
* grid already uses); `smoothstep(inset, inset+2·aa, d)` floors the face to a soft-edged tile
|
|
74
|
-
* that retreats as `inset` grows (the squash). The shaders pass `aa = fwidth(g)` (crisp at any
|
|
75
|
-
* DPR — the Golus precedent); the JS round-trip passes a fixed `uvDeriv` (reproducible).
|
|
76
|
-
* Returns face coverage [0..1].
|
|
77
|
-
*/
|
|
78
|
-
export declare function facePlateau(g: Vec2, inset: number, uvDeriv: Vec2): number;
|
|
79
|
-
/**
|
|
80
|
-
* A LOCAL Gaussian-gated rotation about the cursor — the finger twists the cells around
|
|
81
|
-
* it (the re-aimed `cursorBulge`: a swirl, not a radial push). `strength` is the peak
|
|
82
|
-
* twist angle at the cursor; `radius` the Gaussian falloff (grid units). Returns the
|
|
83
|
-
* swirled coordinate.
|
|
84
|
-
*/
|
|
85
|
-
export declare function cursorSwirl(g: Vec2, cursor: Vec2, strength: number, radius: number): Vec2;
|
|
86
|
-
/**
|
|
87
|
-
* The `waveFlow` second-flow FREQUENCY RATIO (shared across JS↔GLSL↔WGSL — the round-trip fence).
|
|
88
|
-
* The secondary counter-flow term samples the curl at `warpFreq · this` so it drifts on a slightly
|
|
89
|
-
* different spatial scale (the anti-loop variety) while staying the SAME order of magnitude as the
|
|
90
|
-
* primary. `0.6 · 1.833333 ≈ 1.1` reproduces concentric's unit-scale pair; the GLSL/WGSL
|
|
91
|
-
* transcriptions carry the identical literal.
|
|
92
|
-
*/
|
|
93
|
-
export declare const WAVE_FLOW_SECOND_RATIO = 1.833333;
|
|
94
|
-
/**
|
|
95
|
-
* A CONTINUOUS divergence-free flow warp gated by the traveling wave — the SMOOTH twin of
|
|
96
|
-
* `cellTwist` for surfaces that need an unbroken coordinate (the level-set contours shatter
|
|
97
|
-
* into a mesh under the per-cell discontinuity; they need this continuous warp). The curl
|
|
98
|
-
* flow direction is read at `g` itself (no per-cell pivot → no seam), its magnitude gated by
|
|
99
|
-
* the SAME traveling Gaussian crest sweeping along `waveDir`. So the contours flow + twist as
|
|
100
|
-
* the wave passes OVER and THROUGH them, with NO cell-boundary discontinuity. Returns the
|
|
101
|
-
* warped coordinate.
|
|
102
|
-
*
|
|
103
|
-
* BG.W-GRID-AFFINE — the LOCALLY-AFFINE frequency law. `warpFreq` is the HOST-supplied spatial
|
|
104
|
-
* frequency (in the caller's OWN coordinate units) at which the curl-flow potential is sampled.
|
|
105
|
-
* The caller passes a frequency an ORDER OF MAGNITUDE BELOW its own grid/contour frequency, so
|
|
106
|
-
* the warp-displacement gradient is ~constant across any ONE cell (the warp Jacobian is locally
|
|
107
|
-
* affine): the major gridlines bow as ONE smooth continuous curve across the frame, NEVER the
|
|
108
|
-
* per-cell crackle a cell-scale sampling frequency produces. liquid-grid feeds a CELL-scale
|
|
109
|
-
* coordinate (`uv · gridScale`, span ~14–40 cells) so it passes a tiny `warpFreq` (~0.03 →
|
|
110
|
-
* wavelength of MANY cells); concentric feeds a UNIT-scale domain (`vUv`, span ~1) so it passes
|
|
111
|
-
* the unit-scale `0.6`. The amplitude is UNCHANGED (the curl magnitude is the intrinsic q-space
|
|
112
|
-
* gradient at the fixed `CURL_EPS`, independent of `warpFreq` — only the spatial frequency drops,
|
|
113
|
-
* the bow amplitude `twistMax · env` is preserved). The `t·` drift coefficients are host-agnostic
|
|
114
|
-
* (they set the flow's temporal evolution rate in q-space, independent of `warpFreq`).
|
|
115
|
-
*/
|
|
116
|
-
export declare function waveFlow(curlFn: (p: Vec2) => Vec2, g: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, amp: number, warpFreq?: number): Vec2;
|
|
117
|
-
/**
|
|
118
|
-
* A LOW-octave value-noise topography H(p) — the scalar field concentric extracts level-set
|
|
119
|
-
* contours of. `octaves` LOW (3) keeps the nested loops CLEAN (not high-freq speckle — the
|
|
120
|
-
* legibility floor). The host supplies its `noiseFn(x,y)` (the SAME value-noise basis its
|
|
121
|
-
* `potentialFBM` uses, basis-agnostic). Returns the un-normalized height.
|
|
122
|
-
*/
|
|
123
|
-
export declare function heightField(noiseFn: (x: number, y: number) => number, p: Vec2, octaves: number, seed: number): number;
|
|
124
|
-
/**
|
|
125
|
-
* The ω=√(g·k) breathing swell — a slow global rise/fall the topography rides so basins
|
|
126
|
-
* inflate/deflate with weight (the deep-water dispersion the suite shares). A pure
|
|
127
|
-
* f(t) the host adds onto H. `phase` lets a host offset its own swell.
|
|
128
|
-
*/
|
|
129
|
-
export declare function waveSwell(t: number, phase: number): number;
|
|
130
|
-
/**
|
|
131
|
-
* The cell-warp applied BEFORE the height eval (concentric's `cellWarpBeforeHeight`). It
|
|
132
|
-
* is the SAME `cellTwist` paper-grid runs — concentric warps the SAMPLING coordinate so
|
|
133
|
-
* the contours twist/flow as the traveling wave crosses (kinship with paper-grid). A thin
|
|
134
|
-
* alias for the gate's by-name assert + the host's call-site clarity.
|
|
135
|
-
*/
|
|
136
|
-
export declare function cellWarpBeforeHeight(curlFn: (p: Vec2) => Vec2, g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, shearMax: number, amp: number): Vec2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const WAVE_FIELD_GLSL = "\n#ifndef WAVE_FIELD_TAU\n#define WAVE_FIELD_TAU 6.283185307179586\n#endif\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfloat travelingEnvelope(vec2 pivot, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma) {\n float coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n float crest = fract(coord / WAVE_FIELD_TAU);\n float z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfloat curlScalar(vec2 cc, float t) {\n vec2 f = curlFBM(vec2(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\n#ifndef WAVE_FIELD_TWIST_FLOOR\n#define WAVE_FIELD_TWIST_FLOOR 0.62\n#endif\nfloat directedTwist(float s, float floorMag) {\n float mag = max(floorMag, abs(s));\n float sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// Defined ABOVE cellTwist: cellTwist rides cellHeight via the driver so twist + face read ONE\n// envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfloat cellHeight(vec2 cc, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma, float amp) {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (floor(twisted_g) at the\n// crest lights a NEIGHBOUR cell). cc in .xy, env in .z.\nvec3 cellDriver(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float cs = max(cellSize, 1e-3);\n vec2 cc = (floor(g / cs) + 0.5) * cs;\n float env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nvec2 faceRelief(vec2 cc, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float eps = max(cellSize, 1e-3) * 0.5;\n float hxp = cellHeight(cc + vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hxm = cellHeight(cc - vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hyp = cellHeight(cc + vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hym = cellHeight(cc - vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the distance\n// into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats as it grows\n// (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfloat facePlateau(vec2 g, float inset, vec2 uvDeriv) {\n vec2 tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n float d = min(tri.x, tri.y);\n float aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nvec2 cellTwist(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float twistMax, float shearMax, float amp) {\n vec3 drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n vec2 cc = drv.xy;\n float env = drv.z;\n float floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n float theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n float shear = shearMax * env * directedTwist(curlScalar(cc + vec2(17.3, 9.1), t), floorMag);\n vec2 local = g - cc;\n float ct = cos(theta);\n float st = sin(theta);\n vec2 rot = vec2(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x += shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// BG.W-GRID-AFFINE \u2014 warpFreq is the HOST-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as ONE smooth curve, no sub-cell crackle). liquid-grid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nvec2 waveFlow(vec2 g, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma,\n float twistMax, float amp, float warpFreq) {\n float env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n vec2 f = curlFBM(vec2(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n float wf2 = warpFreq * 1.833333;\n vec2 f2 = curlFBM(vec2(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n float k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nvec2 cursorSwirl(vec2 g, vec2 cursor, float strength, float radius) {\n vec2 to = g - cursor;\n float d2 = dot(to, to);\n float r = max(radius, 1e-4);\n float theta = strength * exp(-d2 / (2.0 * r * r));\n float ct = cos(theta);\n float st = sin(theta);\n return cursor + vec2(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfloat heightField(vec2 p, float octavesF, float seed) {\n float v = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n float px = p.x + seed;\n float py = p.y - seed;\n int n = int(clamp(octavesF, 1.0, 6.0));\n for (int i = 0; i < 6; i++) {\n if (i >= n) break;\n v += amp * valueNoise(px * freq, py * freq);\n float rx = 0.8 * px - 0.6 * py;\n float ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfloat waveSwell(float t, float phase) {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const WAVE_FIELD_WGSL = "\nconst WAVE_FIELD_TAU: f32 = 6.283185307179586;\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfn travelingEnvelope(pivot: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32) -> f32 {\n let coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n let crest = fract(coord / WAVE_FIELD_TAU);\n let z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfn curlScalar(cc: vec2f, t: f32) -> f32 {\n let f = curlFBM(vec2f(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\nconst WAVE_FIELD_TWIST_FLOOR: f32 = 0.62;\nfn directedTwist(s: f32, floorMag: f32) -> f32 {\n let mag = max(floorMag, abs(s));\n let sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// DECLARED ABOVE cellTwist (no WGSL forward declaration): cellTwist rides cellHeight via the\n// driver so twist + face read ONE envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfn cellHeight(cc: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32, amp: f32) -> f32 {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (the crest twist crosses\n// the cell boundary \u2192 floor(twisted_g) would light a NEIGHBOUR cell). cc in .xy, env in .z.\nfn cellDriver(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec3f {\n let cs = max(cellSize, 1e-3);\n let cc = (floor(g / cs) + 0.5) * cs;\n let env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3f(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nfn faceRelief(cc: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec2f {\n let eps = max(cellSize, 1e-3) * 0.5;\n let hxp = cellHeight(cc + vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hxm = cellHeight(cc - vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hyp = cellHeight(cc + vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hym = cellHeight(cc - vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2f((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the\n// distance into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats\n// as it grows (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfn facePlateau(g: vec2f, inset: f32, uvDeriv: vec2f) -> f32 {\n let tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n let d = min(tri.x, tri.y);\n let aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nfn cellTwist(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, twistMax: f32, shearMax: f32, amp: f32) -> vec2f {\n let drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n let cc = drv.xy;\n let env = drv.z;\n let floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n let theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n let shear = shearMax * env * directedTwist(curlScalar(cc + vec2f(17.3, 9.1), t), floorMag);\n let local = g - cc;\n let ct = cos(theta);\n let st = sin(theta);\n var rot = vec2f(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x = rot.x + shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// BG.W-GRID-AFFINE \u2014 warpFreq is the HOST-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as ONE smooth curve, no sub-cell crackle). liquid-grid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nfn waveFlow(g: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32,\n twistMax: f32, amp: f32, warpFreq: f32) -> vec2f {\n let env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n let f = curlFBM(vec2f(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n let wf2 = warpFreq * 1.833333;\n let f2 = curlFBM(vec2f(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n let k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nfn cursorSwirl(g: vec2f, cursor: vec2f, strength: f32, radius: f32) -> vec2f {\n let to = g - cursor;\n let d2 = dot(to, to);\n let r = max(radius, 1e-4);\n let theta = strength * exp(-d2 / (2.0 * r * r));\n let ct = cos(theta);\n let st = sin(theta);\n return cursor + vec2f(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfn heightField(p: vec2f, octavesF: f32, seed: f32) -> f32 {\n var v = 0.0;\n var amp = 0.5;\n var freq = 1.0;\n var px = p.x + seed;\n var py = p.y - seed;\n let n = i32(clamp(octavesF, 1.0, 6.0));\n for (var i = 0; i < 6; i = i + 1) {\n if (i >= n) { break; }\n v = v + amp * valueNoise(px * freq, py * freq);\n let rx = 0.8 * px - 0.6 * py;\n let ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq = freq * 2.0;\n amp = amp * 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfn waveSwell(t: f32, phase: f32) -> f32 {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The pinned chromatic-dispersion scale — ONE source-of-truth across BOTH refraction
|
|
3
|
-
* stacks (this GLSL floor + the WGSL `glassShader.wgsl` twin). An ABSOLUTE rim-offset
|
|
4
|
-
* multiplier: `|ca| = inward · rim · uChromatic · CHROMATIC_SCALE`. Pinned here so a
|
|
5
|
-
* cross-stack drift (the 0.003/0.004/0.0045 three-way split the Tier-2 literal `0.004`
|
|
6
|
-
* carried) is impossible — the shipped WGSL twin replaces its literal with this value.
|
|
7
|
-
*/
|
|
8
|
-
export declare const CHROMATIC_SCALE = 0.0045;
|
|
9
|
-
/** The uniform-name contract — the ONE spelling map the JS binder + the fence read. */
|
|
10
|
-
export declare const GLASS_REFRACT_UNIFORMS: {
|
|
11
|
-
readonly resolution: "uResolution";
|
|
12
|
-
readonly time: "uTime";
|
|
13
|
-
readonly panelCount: "uPanelCount";
|
|
14
|
-
readonly bounds: "uBounds";
|
|
15
|
-
readonly lightPos: "uLightPos";
|
|
16
|
-
readonly blurRadius: "uBlurRadius";
|
|
17
|
-
readonly refractionStrength: "uRefractionStrength";
|
|
18
|
-
/** the fence operator — refraction=depth, hue=this absolute rim offset. */
|
|
19
|
-
readonly chromatic: "uChromatic";
|
|
20
|
-
readonly metalStrength: "uMetalStrength";
|
|
21
|
-
readonly valveKnee: "uValveKnee";
|
|
22
|
-
readonly plateAlphaMax: "uPlateAlphaMax";
|
|
23
|
-
readonly backdrop: "uBackdrop";
|
|
24
|
-
};
|
|
25
|
-
/** The maximum panel count the fragment loop unrolls (mirrors Tier-2 `MAX_PANELS`). */
|
|
26
|
-
export declare const GLASS_REFRACT_MAX_PANELS = 8;
|
|
27
|
-
/** The full-screen-triangle vertex pass (the substrate's standard fullscreen pass). */
|
|
28
|
-
export declare const GLASS_REFRACT_VERT_GLSL = "#version 300 es\nprecision highp float;\nin vec2 aPosition;\nout vec2 vUv;\nvoid main() {\n vUv = aPosition * 0.5 + 0.5; // [-1,1]\u00B2 clip \u2192 [0,1]\u00B2 UV\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}";
|
|
29
|
-
/**
|
|
30
|
-
* The Tier-1 WebGL2 refraction fragment source. Renders the FULL ship pass: squircle
|
|
31
|
-
* depth-refraction → 3×3 blur → absolute-rim chromatic split → curl drapery sheen →
|
|
32
|
-
* ridge-local plate-alpha valve → directional specular + Fresnel rim. Splices the
|
|
33
|
-
* SHARED `CURL_FBM_GLSL` chunk (the drapery term); `potentialFBM` is defined below
|
|
34
|
-
* the uniforms per the splice-order law (the host owns the noise basis).
|
|
35
|
-
*/
|
|
36
|
-
export declare const GLASS_REFRACT_FRAG_GLSL = "#version 300 es\nprecision highp float;\n\n#define MAX_PANELS 8\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform vec2 uResolution;\nuniform float uTime;\nuniform int uPanelCount;\nuniform vec4 uBounds[MAX_PANELS]; // per-panel rect: xy = origin (UV), zw = size (UV)\nuniform vec2 uLightPos; // key-light position (UV)\nuniform float uBlurRadius; // blur kernel px scale\nuniform float uRefractionStrength; // the DEPTH knob (squircle displacement)\nuniform float uChromatic; // the fence operator \u2014 the absolute rim hue split\nuniform float uMetalStrength; // the drapery/metal sheen composite\nuniform float uValveKnee; // the K12 plate valve knee (structLuma threshold)\nuniform float uPlateAlphaMax; // the alpha the valve firms to over a bright ridge\nuniform sampler2D uBackdrop; // the field render (bound by the keystone FBO pass)\n\n// The pinned cross-stack chromatic scale (ONE source-of-truth; see CHROMATIC_SCALE).\nconst float CHROMATIC_SCALE = 0.0045;\n\n// \u2500\u2500 the ONE backdrop-read wrapper (explicit LOD; the Tier-2 sampleBG discipline) \u2500\u2500\nvec3 sampleBG(vec2 uv) {\n return textureLod(uBackdrop, clamp(uv, 0.0, 1.0), 0.0).rgb;\n}\n\n// 4th-order squircle bevel profile: f(x)=\u2074\u221A(1-(1-x)\u2074). 0 at centre, 1 at rim, the\n// edge-concentrated slope (Snell n=1.5 thin-interior lens, NOT a uniform radial).\nfloat squircleProfile(float x) {\n float t = 1.0 - clamp(x, 0.0, 1.0);\n float t4 = t * t * t * t;\n return sqrt(sqrt(max(0.0, 1.0 - t4)));\n}\n\nfloat fresnel(float cosTheta, float ior) {\n float r0 = pow((1.0 - ior) / (1.0 + ior), 2.0);\n return r0 + (1.0 - r0) * pow(1.0 - cosTheta, 5.0);\n}\n\nfloat luma(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }\n\n// scalar fbm potential \u2014 the host's noise basis, wrapped so curlFBM stays basis-\n// agnostic (the flow.glsl splice-order law). A cheap value-noise fbm for the sheen.\nfloat hash21(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\nfloat vnoise(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n vec2 w = f * f * (3.0 - 2.0 * f);\n return mix(mix(hash21(i), hash21(i + vec2(1.0, 0.0)), w.x),\n mix(hash21(i + vec2(0.0, 1.0)), hash21(i + vec2(1.0, 1.0)), w.x), w.y);\n}\nfloat potentialFBM(vec2 p) {\n float v = 0.0, a = 0.5;\n vec2 q = p;\n for (int i = 0; i < 3; i++) { v += a * vnoise(q); q = q * 2.02 + vec2(1.7, 9.2); a *= 0.5; }\n return v;\n}\n\n\nconst float CURL_EPS = 0.012;\n\n// Scalar fbm potential psi \u2014 the host's noise basis, wrapped so the curl operator is\n// basis-agnostic. A host carrying its own fbm defines this as: return fbm(p);\nfloat potentialFBM(vec2 p);\n\n// \u2207\u00D7\u03C8 in 2D \u2014 the divergence-free flow direction. Central finite differences of the\n// scalar potential give the partials; the cross-pairing (\u2202y, \u2212\u2202x) is the 2D curl.\nvec2 curlFBM(vec2 p) {\n float dx = potentialFBM(p + vec2(CURL_EPS, 0.0)) - potentialFBM(p - vec2(CURL_EPS, 0.0));\n float dy = potentialFBM(p + vec2(0.0, CURL_EPS)) - potentialFBM(p - vec2(0.0, CURL_EPS));\n // \u03C8-gradient is (dx, dy)/(2\u00B7eps); the curl rotates it 90\u00B0: (\u2202\u03C8/\u2202y, \u2212\u2202\u03C8/\u2202x).\n vec2 g = vec2(dx, dy) / (2.0 * CURL_EPS);\n return vec2(g.y, -g.x);\n}\n\n\n// The glass material over one panel rect. Every sample flows through sampleBG.\nvec4 glassSample(vec2 uv, vec4 b) {\n vec2 gmin = b.xy;\n vec2 size = b.zw;\n vec2 local = (uv - gmin) / size; // 0..1 within panel\n vec2 centered = local - vec2(0.5); // -0.5..0.5\n\n // REFRACTION = DEPTH: rim-concentrated squircle displacement (a pure UV offset).\n float r = clamp(length(centered) * 2.0, 0.0, 1.0);\n float prof = squircleProfile(r);\n vec2 dir = normalize(centered + vec2(1e-5));\n vec2 disp = dir * prof * (uRefractionStrength * 0.04 / 1.5); // n=1.5\n vec2 refrUv = uv + disp;\n\n // the canonical edge-band rim mask (GLSL source-of-truth) \u2014 hue rides the RIM only.\n vec2 toEdge = vec2(0.5) - abs(centered); // 0 at the panel edge, 0.5 at centre\n float edge = min(toEdge.x, toEdge.y);\n float rim = 1.0 - smoothstep(0.0, 0.16, edge); // 1 at the rim band, 0 by 16% inward\n\n vec2 px = 1.0 / uResolution;\n\n // 3\u00D73 blur around the displaced UV (the demoted-blur read carrier) \u2014 explicit LOD.\n vec3 col = vec3(0.0);\n float wsum = 0.0;\n for (int x = -1; x <= 1; x++) {\n for (int y = -1; y <= 1; y++) {\n vec2 o = vec2(float(x), float(y)) * px * max(uBlurRadius, 0.5);\n float wgt = 1.0 - 0.25 * float(abs(x) + abs(y));\n col += sampleBG(refrUv + o) * wgt;\n wsum += wgt;\n }\n }\n col /= wsum;\n\n // HUE = ABSOLUTE rim offset: split R/B by ca = inward \u00B7 rim \u00B7 uChromatic \u00B7 CHROMATIC_SCALE.\n vec2 inward = dir;\n vec2 ca = inward * rim * uChromatic * CHROMATIC_SCALE;\n float cr = sampleBG(refrUv + ca).r;\n float cb = sampleBG(refrUv - ca).b;\n col.r = mix(col.r, cr, rim * 0.6);\n col.b = mix(col.b, cb, rim * 0.6);\n\n // FULL PASS \u2014 the curl-drapery metal sheen (2nd curlFBM), gated by uMetalStrength.\n vec2 flow = curlFBM(local * 3.0 + uTime * 0.05);\n float sheen = potentialFBM(local * 5.0 + flow * 1.5 + uTime * 0.08);\n col += vec3(smoothstep(0.55, 0.95, sheen) * uMetalStrength * 0.12);\n\n // directional specular + Fresnel rim.\n vec3 n = normalize(vec3(centered * 0.6, 1.0));\n float spec = fresnel(max(n.z, 0.0), 1.5);\n vec2 ldir = normalize(uLightPos - uv);\n float ldot = max(dot(centered, ldir), 0.0);\n col += vec3(spec * (0.3 + 0.7 * ldot) * 0.15);\n\n // K12 ridge-local plate VALVE: firm the alpha toward uPlateAlphaMax over a BRIGHT\n // ridge (AA legibility); the dim valley stays translucent so the metal reads.\n float structLuma = luma(col);\n float valve = smoothstep(uValveKnee, 1.0, structLuma);\n float plateA = mix(0.9, uPlateAlphaMax, valve);\n\n return vec4(col, plateA);\n}\n\nvoid main() {\n vec2 uv = vUv;\n vec3 color = sampleBG(uv); // BASE: the field passes through unchanged.\n float alpha = 1.0;\n\n for (int i = 0; i < MAX_PANELS; i++) {\n if (i >= uPanelCount) break;\n vec4 b = uBounds[i];\n vec2 gmin = b.xy;\n vec2 gmax = b.xy + b.zw;\n bool inside = uv.x >= gmin.x && uv.x <= gmax.x && uv.y >= gmin.y && uv.y <= gmax.y;\n if (inside) {\n vec4 s = glassSample(uv, b);\n color = s.rgb;\n alpha = s.a;\n }\n }\n\n fragColor = vec4(color, alpha);\n}";
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createWebGPUCanvas, supportsWebGPU, WebGPUInitError, type WebGPUCanvasFrame, type WebGPUCanvasHandle, type WebGPUCanvasOptions, type WebGPUSuspendReason, } from "./useWebGPUCanvas";
|
|
2
|
-
export { createGpuSubstrate, type GpuBackend, type GpuSubstrateHandle, type GpuSubstrateOptions, } from "./useGpuSubstrate";
|
|
3
|
-
export { sizeBacking, type BackingSize, type DprPolicy, } from "../webgl/createCanvasLifecycle";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from "./dark";
|
|
2
|
-
export * from "./keyboard";
|
|
3
|
-
export * from "./reactive";
|
|
4
|
-
export * from "./dom";
|
|
5
|
-
export * from "./motion";
|
|
6
|
-
export * from "./motion/core";
|
|
7
|
-
export * from "./glass";
|
|
8
|
-
export * from "./sidebar";
|
|
9
|
-
export * from "../components/infinite-scroll/composables";
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Ref } from "vue";
|
|
2
|
-
/** The BE.W-AMBIENT-TINT bound (sub-perceptual; never a flood — the warm-cream identity holds). */
|
|
3
|
-
export declare const AMBIENT_STRENGTH_CEILING = 8;
|
|
4
|
-
/** The live reduced-motion probe (matchMedia, SSR-safe). */
|
|
5
|
-
export declare function prefersReducedMotion(): boolean;
|
|
6
|
-
/** Clamp the ambient-strength target into the bounded warm-cream-identity band `[0, 8]`. */
|
|
7
|
-
export declare function clampStrength(n: number | undefined): number;
|
|
8
|
-
/**
|
|
9
|
-
* Resolve the FIELD container the 4th color channel writes onto. Explicit `field` ref
|
|
10
|
-
* wins; else walk up from `dest` to the nearest `[data-glass-field]` ancestor (the
|
|
11
|
-
* field-marker contract); else `dest.parentElement`. The field is a DIFFERENT element
|
|
12
|
-
* from the blooming surface — the compositor-only de-risk.
|
|
13
|
-
*/
|
|
14
|
-
export declare function resolveField(dest: HTMLElement, explicit: Ref<HTMLElement | null> | undefined): HTMLElement | null;
|
|
15
|
-
/**
|
|
16
|
-
* Read the source's dominant hue — the explicit `fieldHue` OR the `--glass-ambient-hue`
|
|
17
|
-
* computed off the source element (the AMBIENT-TINT source). Returns `null` for a
|
|
18
|
-
* neutral/absent hue (the field tints nothing).
|
|
19
|
-
*/
|
|
20
|
-
export declare function resolveHue(source: HTMLElement | null, explicit: string | undefined): string | null;
|
|
21
|
-
/** Set the field's dominant hue (the 4th-channel hue, set ONCE — not animated). */
|
|
22
|
-
export declare function writeFieldHue(field: HTMLElement, hue: string): void;
|
|
23
|
-
/** Write the field's ambient strength (the registered @property interpolates it). */
|
|
24
|
-
export declare function writeFieldStrength(field: HTMLElement, pct: number): void;
|
|
25
|
-
/**
|
|
26
|
-
* Release the field bias back to the no-op floor (0%) and clear the hue so the field returns
|
|
27
|
-
* to its un-biased `--glass-tint-ink` (the warm-cream identity).
|
|
28
|
-
*/
|
|
29
|
-
export declare function releaseField(field: HTMLElement | null): void;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared damping factors for live numeric motion.
|
|
3
|
-
*
|
|
4
|
-
* These values preserve the app-level tuning that used to live in
|
|
5
|
-
* speedtest's local animation utility while making glass-ui the owner of the
|
|
6
|
-
* generic motion contract.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DAMPING: {
|
|
9
|
-
readonly canvasNeedle: 0.08;
|
|
10
|
-
readonly domHero: 0.12;
|
|
11
|
-
readonly domPill: 0.14;
|
|
12
|
-
readonly domProgress: 0.18;
|
|
13
|
-
};
|
|
14
|
-
/** Shared absolute snap thresholds for live numeric motion. */
|
|
15
|
-
export declare const SNAP_THRESHOLD: {
|
|
16
|
-
readonly canvas: 0.002;
|
|
17
|
-
readonly dom: 0.05;
|
|
18
|
-
readonly domProgress: 0.5;
|
|
19
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { type easeInQuad } from "@mkbabb/value.js";
|
|
2
|
-
import { type Easing, type TimingFunction } from "@mkbabb/keyframes.js";
|
|
3
|
-
/** A value.js easing callable `(t: number) => number` (the family's shape). */
|
|
4
|
-
export type CurveFn = typeof easeInQuad;
|
|
5
|
-
/** The kind of a `MOTION_CURVES` row — a spring `linear()` or a cubic-bezier. */
|
|
6
|
-
export type MotionCurveKind = "spring" | "bezier";
|
|
7
|
-
/**
|
|
8
|
-
* One row of the CSS↔JS curve table. CANONICAL rows carry their own JS twin;
|
|
9
|
-
* ALIAS rows resolve through a `canonical` target (no duplicated twin).
|
|
10
|
-
*/
|
|
11
|
-
export interface MotionCurve {
|
|
12
|
-
/** The CSS token name, including the leading `--`. */
|
|
13
|
-
readonly token: `--${string}`;
|
|
14
|
-
/** `spring` (a solved `linear()` token) or `bezier` (a cubic-bezier token). */
|
|
15
|
-
readonly kind: MotionCurveKind;
|
|
16
|
-
/**
|
|
17
|
-
* The JS twin — a callable `Easing` (springs, via `springTimingFunction`) or a
|
|
18
|
-
* `TimingFunction` (`(t) => number`, beziers via `CSSCubicBezier`). For ALIAS
|
|
19
|
-
* rows this is the canonical row's twin (resolve-through, not a copy).
|
|
20
|
-
*/
|
|
21
|
-
readonly js: Easing | TimingFunction;
|
|
22
|
-
/**
|
|
23
|
-
* For an ALIAS row: the canonical `--token` this resolves through. `undefined`
|
|
24
|
-
* on a canonical row.
|
|
25
|
-
*/
|
|
26
|
-
readonly canonical?: `--${string}`;
|
|
27
|
-
/** The register doc (springs lift it from the shared preset table). */
|
|
28
|
-
readonly note: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* The CSS↔JS curve table, keyed by CSS token name. Covers EVERY `--ease-*` /
|
|
32
|
-
* `--spring-*` token declared in `tokens.css §2` + `theme.css` (CURVE-TABLE-BOUND
|
|
33
|
-
* gate §3.2). Spring rows carry a keyframes.js `Easing`; bezier rows a value.js
|
|
34
|
-
* `TimingFunction`; alias rows resolve through their `canonical` target.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* import { MOTION_CURVES } from "@mkbabb/glass-ui/motion";
|
|
38
|
-
* const easing = MOTION_CURVES["--spring-snappy"].js; // the iOS-control twin
|
|
39
|
-
* new NumericAnimation(frames, { timingFunction: easing });
|
|
40
|
-
*/
|
|
41
|
-
export declare const MOTION_CURVES: Readonly<Record<string, MotionCurve>>;
|
|
42
|
-
/** The canonical (non-alias) curve rows, in declaration order. */
|
|
43
|
-
export declare const MOTION_CURVES_CANONICAL: readonly MotionCurve[];
|
|
44
|
-
/** Look up a curve's JS twin by CSS token name (throws on an unknown token). */
|
|
45
|
-
export declare function motionCurve(token: string): MotionCurve;
|
|
46
|
-
export { linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInSine, easeOutSine, easeInOutSine, easeInCirc, easeOutCirc, easeInOutCirc, easeInExpo, easeOutExpo, easeInOutExpo, easeInBounce, CSSCubicBezier, } from "@mkbabb/value.js";
|
|
47
|
-
export { SPRING_PRESETS, springPreset } from "./springPresets";
|
|
48
|
-
export type { SpringPresetRow, SpringPresetName } from "./springPresets";
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/** The golden ratio — the barbell body diameter is the golden-minor of the slot pitch. */
|
|
2
|
-
export declare const PHI = 1.618033988749895;
|
|
3
|
-
/** sin(π·p)^k — 0 at the ends, peak at the midpoint. The well shape. */
|
|
4
|
-
export declare function bell(p: number, k: number): number;
|
|
5
|
-
/**
|
|
6
|
-
* The barbell body diameter `D = step/φ` (a round BLOB, not a plate — the
|
|
7
|
-
* golden-minor of the slot pitch). Floors the step at 1 so a zero pitch never
|
|
8
|
-
* collapses D to 0.
|
|
9
|
-
*/
|
|
10
|
-
export declare function bodyDiameter(step: number): number;
|
|
11
|
-
/** The inputs to a single barbell projection frame — all numeric, all pure. */
|
|
12
|
-
export interface BarbellSpan {
|
|
13
|
-
/** The trailing slot center (px on the travel axis). */
|
|
14
|
-
A: number;
|
|
15
|
-
/** The leading slot center (px on the travel axis). */
|
|
16
|
-
B: number;
|
|
17
|
-
/** The `from` slot index. */
|
|
18
|
-
fromIdx: number;
|
|
19
|
-
/** The `to` slot index. */
|
|
20
|
-
toIdx: number;
|
|
21
|
-
/** The live interpolated `--goo-t` scalar (∈ [fromIdx, toIdx] in flight). */
|
|
22
|
-
gooT: number;
|
|
23
|
-
/** The resting slot pitch (px) — `D = step/φ` lands the body diameter. */
|
|
24
|
-
step: number;
|
|
25
|
-
/** The neck-gap fraction: how near the two bodies draw at the midpoint. */
|
|
26
|
-
neckGap: number;
|
|
27
|
-
/** The cartoon-weight lever (0..1; clamped here — 0 under PRM/auto). */
|
|
28
|
-
weight: number;
|
|
29
|
-
}
|
|
30
|
-
/** The projected barbell geometry the engine writes onto the three elements. */
|
|
31
|
-
export interface BarbellGeometry {
|
|
32
|
-
/** The body diameter `D = step/φ`. */
|
|
33
|
-
D: number;
|
|
34
|
-
/** The trailing body center (bodyA). */
|
|
35
|
-
cA: number;
|
|
36
|
-
/** The leading body center (bodyB). */
|
|
37
|
-
cB: number;
|
|
38
|
-
/** The neck center (the midpoint of the two bodies). */
|
|
39
|
-
mid: number;
|
|
40
|
-
/** The on-axis neck span scale `gap/D` (spans the live centre-to-centre gap). */
|
|
41
|
-
neckSpanScale: number;
|
|
42
|
-
/** The cross-axis neck girth (wells → pinches, ~0 at the ends). */
|
|
43
|
-
neckGirth: number;
|
|
44
|
-
/** The on-axis body squash (the necking-taffy stretch). */
|
|
45
|
-
stretchOn: number;
|
|
46
|
-
/** The cross-axis body stretch (volume-preserving reciprocal). */
|
|
47
|
-
stretchCross: number;
|
|
48
|
-
/** The cross-axis lob arc (overlapping action — the merge LOBS, not slides). */
|
|
49
|
-
arc: number;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Project the BARBELL for the in-flight scalar `gooT`. `p` is the NORMALIZED
|
|
53
|
-
* progress over the WHOLE from→to travel (a multi-gap morph spans p∈[0,1] over
|
|
54
|
-
* the full span, so the barbell necks across the BIG gap on the SAME slow flow
|
|
55
|
-
* curve). Pure — no closure, no DOM, no state.
|
|
56
|
-
* sep(p) = 1 − bell(p,1)·(1 − neckGap) // 1 at the slots → neckGap at mid
|
|
57
|
-
* mid = (A + B) / 2 ; half = (B − A)/2 · sep(p)
|
|
58
|
-
* cA = mid − half ; cB = mid + half // bodies travel apart-then-together
|
|
59
|
-
* neckGirth(p)= bell(p,1.5) // wells, peaks mid, ~0 at the ends
|
|
60
|
-
*/
|
|
61
|
-
export declare function projectBarbell(span: BarbellSpan): BarbellGeometry;
|
|
62
|
-
/**
|
|
63
|
-
* Compose a BODY transform on the travel axis: translate(center) → -50% → scale +
|
|
64
|
-
* the on-axis squash-&-stretch reciprocal (volume-preserving). `el` is sized to the
|
|
65
|
-
* body diameter D, so no scale-to-fit is needed; the squash is the `--stretch` taffy.
|
|
66
|
-
* The `arc` lobs the body centre on the CROSS axis (overlapping action). Pure string.
|
|
67
|
-
*/
|
|
68
|
-
export declare function composeBodyTransform(center: number, arc: number, stretchOn: number, stretchCross: number, vertical: boolean): string;
|
|
69
|
-
/**
|
|
70
|
-
* Compose the NECK transform: translate(mid) on-axis, scaleX(gap/D) on-axis so it
|
|
71
|
-
* spans the live gap, scaleY(neckGirth) cross-axis so it WELLS then PINCHES (~0 at
|
|
72
|
-
* the ends → the neck vanishes at rest, no ghost throat). Pure string.
|
|
73
|
-
*/
|
|
74
|
-
export declare function composeNeckTransform(mid: number, neckSpanScale: number, neckGirth: number, vertical: boolean): string;
|
|
75
|
-
/**
|
|
76
|
-
* Compose the RESTING NECK transform — the neck pinched to ~0 at the coalesced
|
|
77
|
-
* center (no ghost throat at rest). Pure string.
|
|
78
|
-
*/
|
|
79
|
-
export declare function composeRestNeckTransform(center: number, vertical: boolean): string;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/** The five motion VECTORS a signature selects (geometry/motion, never an app name). */
|
|
2
|
-
export type MorphVector = "lateral" | "radial" | "inward" | "axial" | "directed";
|
|
3
|
-
/**
|
|
4
|
-
* The motion SIGNATURE — DATA, the only thing that distinguishes the morphs. `vector`
|
|
5
|
-
* picks the geometry; `kRest`/`kPeak` are gap-FRACTIONS (not px) the threshold band
|
|
6
|
-
* scales by; `neckHold` is how long the neck holds before it pinches; `maxStretch` the
|
|
7
|
-
* LOW squish cap (the anti-taffy fence).
|
|
8
|
-
*/
|
|
9
|
-
export interface MorphSignature {
|
|
10
|
-
vector: MorphVector;
|
|
11
|
-
/** The neck-gap fraction at REST (bodies apart) — the threshold band floor. */
|
|
12
|
-
kRest: number;
|
|
13
|
-
/** The neck-gap fraction at the PEAK (bodies near, the gooey waist) — the band ceiling. */
|
|
14
|
-
kPeak: number;
|
|
15
|
-
/** How long (0..1 of t) the neck HOLDS its girth before it pinches (the tense pop). */
|
|
16
|
-
neckHold: number;
|
|
17
|
-
/** The LOW on-axis squish cap (≤~1.14 — the loud register lives in NECK girth, not body taffy). */
|
|
18
|
-
maxStretch: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* The canonical, motion-named SIGNATURE map (DATA — the FLOOR). Every consumer reads a
|
|
22
|
-
* `MorphSignatureName` row. NO app names, NO three code paths.
|
|
23
|
-
*/
|
|
24
|
-
export declare const MORPH_SIGNATURES: {
|
|
25
|
-
/** carousel / deck / pager goo: two equal beads bud apart, a concave neck wells, the
|
|
26
|
-
* filter merges them into one barbell with a thin pinched waist, then they coalesce. */
|
|
27
|
-
readonly lateralNeck: {
|
|
28
|
-
readonly vector: "lateral";
|
|
29
|
-
readonly kRest: 0.92;
|
|
30
|
-
readonly kPeak: 0.34;
|
|
31
|
-
readonly neckHold: 0.5;
|
|
32
|
-
readonly maxStretch: 1.12;
|
|
33
|
-
};
|
|
34
|
-
/** dock fission media: the now-playing anchor stays; flanking transport PEELS along
|
|
35
|
-
* the cross axis with a long tapering neck tail. */
|
|
36
|
-
readonly lateralPeel: {
|
|
37
|
-
readonly vector: "lateral";
|
|
38
|
-
readonly kRest: 0.88;
|
|
39
|
-
readonly kPeak: 0.4;
|
|
40
|
-
readonly neckHold: 0.4;
|
|
41
|
-
readonly maxStretch: 1.08;
|
|
42
|
-
};
|
|
43
|
-
/** dock fission search: controls fly outward like a bloom; the neck NECKS LATE (the
|
|
44
|
-
* tense radial pop), innermost-first — an outward ripple, not a simultaneous scatter. */
|
|
45
|
-
readonly radialBurst: {
|
|
46
|
-
readonly vector: "radial";
|
|
47
|
-
readonly kRest: 0.85;
|
|
48
|
-
readonly kPeak: 0.3;
|
|
49
|
-
readonly neckHold: 0.55;
|
|
50
|
-
readonly maxStretch: 1.08;
|
|
51
|
-
};
|
|
52
|
-
/** dock fission nav: the negative radial — N masses collapse INWARD to ONE; the bridge
|
|
53
|
-
* runs backward; --stretch peaks at coalescence. */
|
|
54
|
-
readonly inwardMerge: {
|
|
55
|
-
readonly vector: "inward";
|
|
56
|
-
readonly kRest: 0.8;
|
|
57
|
-
readonly kPeak: 0.28;
|
|
58
|
-
readonly neckHold: 0.35;
|
|
59
|
-
readonly maxStretch: 1.1;
|
|
60
|
-
};
|
|
61
|
-
/** dock V↔H: column-mass + row-mass are two distributions in ONE topology-free field;
|
|
62
|
-
* a gooey teardrop LOBS column→row through the midpoint (no crossfade dodge). */
|
|
63
|
-
readonly axialNeck: {
|
|
64
|
-
readonly vector: "axial";
|
|
65
|
-
readonly kRest: 0.9;
|
|
66
|
-
readonly kPeak: 0.36;
|
|
67
|
-
readonly neckHold: 0.5;
|
|
68
|
-
readonly maxStretch: 1.14;
|
|
69
|
-
};
|
|
70
|
-
/** dock collapse: the DEGENERATE 1-body field — a single mass squishes between two
|
|
71
|
-
* footprints (no waist, Tier-C). The ratio-free convex blend. */
|
|
72
|
-
readonly collapse: {
|
|
73
|
-
readonly vector: "axial";
|
|
74
|
-
readonly kRest: 1;
|
|
75
|
-
readonly kPeak: 1;
|
|
76
|
-
readonly neckHold: 0;
|
|
77
|
-
readonly maxStretch: 1.14;
|
|
78
|
-
};
|
|
79
|
-
/** drag morph: a grabbed rect → drop rect, an optional directed neck. */
|
|
80
|
-
readonly directed: {
|
|
81
|
-
readonly vector: "directed";
|
|
82
|
-
readonly kRest: 0.9;
|
|
83
|
-
readonly kPeak: 0.42;
|
|
84
|
-
readonly neckHold: 0.45;
|
|
85
|
-
readonly maxStretch: 1.1;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
export type MorphSignatureName = keyof typeof MORPH_SIGNATURES;
|