@mkbabb/glass-ui 4.0.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
- package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
- package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
- package/dist/ContextMenuContent-CMWn6huB.js +90 -0
- package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
- package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
- package/dist/DialogContent-D8U9ZfWS.js +121 -0
- package/dist/DialogFooter-DoLy0ewI.js +80 -0
- package/dist/DialogScrollContent-BMekN7gq.js +93 -0
- package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
- package/dist/HoverCardContent-DAmGYglo.js +88 -0
- package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
- package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
- package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
- package/dist/Input-CyU4_hIC.js +57 -0
- package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
- package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
- package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
- package/dist/PagerDots-CYlqVFd4.js +196 -0
- package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
- package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
- package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
- package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
- package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
- package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
- package/dist/Separator-Cf9-JFgi.js +44 -0
- package/dist/Switch-uf-UKPA2.js +49 -0
- package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
- package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
- package/dist/TooltipProvider-QQVM_80r.js +109 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -32
- package/dist/api/types-extra.d.ts +33 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +629 -269
- package/dist/badge-Bt14yURi.js +72 -0
- package/dist/badge.js +1 -1
- package/dist/border-progress.js +49 -57
- package/dist/button-D1W9PrzI.js +130 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -3
- package/dist/card.js +1 -1
- package/dist/carousel.js +235 -106
- package/dist/chipVariants-BJQ0I2kB.js +18 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-B9jZdhJX.js +116 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- package/dist/completion-seal.d.ts +1 -0
- package/dist/completion-seal.js +89 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
- package/dist/components/custom/aurora/composables/color.d.ts +13 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
- package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
- package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
- package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
- package/dist/components/custom/border-progress/index.d.ts +1 -1
- package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
- package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
- package/dist/components/custom/completion-seal/constants.d.ts +46 -0
- package/dist/components/custom/completion-seal/index.d.ts +4 -0
- package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
- package/dist/components/custom/concentric/constants.d.ts +69 -24
- package/dist/components/custom/concentric/index.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
- package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
- package/dist/components/custom/configurator/index.d.ts +1 -1
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
- package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
- package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
- package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
- package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
- package/dist/components/custom/constellation/constants.d.ts +33 -0
- package/dist/components/custom/constellation/constellationField.d.ts +31 -1
- package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
- package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
- package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
- package/dist/components/custom/constellation/index.d.ts +5 -5
- package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
- package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
- package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
- package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
- package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
- package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
- package/dist/components/custom/deck/constants.d.ts +14 -0
- package/dist/components/custom/deck/index.d.ts +8 -0
- package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
- package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
- package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
- package/dist/components/custom/dock/composables/index.d.ts +3 -0
- package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
- package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
- package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
- package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
- package/dist/components/custom/dock/constants.d.ts +32 -17
- package/dist/components/custom/dock/index.d.ts +8 -2
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
- package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
- package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
- package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
- package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
- package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
- package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
- package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
- package/dist/components/custom/dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
- package/dist/components/custom/fourier-field/constants.d.ts +114 -4
- package/dist/components/custom/fourier-field/index.d.ts +23 -18
- package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
- package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
- package/dist/components/custom/goo-blob/constants.d.ts +26 -1
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/types.d.ts +86 -1
- package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
- package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
- package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
- package/dist/components/custom/goo-filter/index.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +17 -17
- package/dist/components/custom/handmark/constants.d.ts +28 -8
- package/dist/components/custom/handmark/geometry.d.ts +34 -1
- package/dist/components/custom/handmark/index.d.ts +1 -1
- package/dist/components/custom/icon-chip/types.d.ts +10 -0
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
- package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
- package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
- package/dist/components/custom/paper-grid/constants.d.ts +95 -0
- package/dist/components/custom/paper-grid/index.d.ts +5 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
- package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
- package/dist/components/custom/search/index.d.ts +2 -0
- package/dist/components/custom/search/searchVariants.d.ts +19 -0
- package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
- package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
- package/dist/components/custom/selectable-chip/index.d.ts +2 -0
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
- package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
- package/dist/components/custom/split-chars/index.d.ts +1 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
- package/dist/components/custom/tabs/constants.d.ts +28 -2
- package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
- package/dist/components/custom/timeline/geometry.d.ts +0 -8
- package/dist/components/custom/toggle-chip/index.d.ts +15 -4
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
- package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
- package/dist/components/ui/badge/index.d.ts +1 -0
- package/dist/components/ui/button/Button.vue.d.ts +1 -0
- package/dist/components/ui/button/index.d.ts +1 -1
- package/dist/components/ui/card/Card.vue.d.ts +46 -1
- package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/ui/card/index.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
- package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
- package/dist/components/ui/drawer/constants.d.ts +8 -6
- package/dist/components/ui/drawer/index.d.ts +12 -2
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
- package/dist/components/ui/input/Input.vue.d.ts +3 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
- package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
- package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
- package/dist/composables/color/index.d.ts +2 -0
- package/dist/composables/color/useAccentTone.d.ts +34 -0
- package/dist/composables/dom/index.d.ts +1 -0
- package/dist/composables/dom/useDragVelocity.d.ts +46 -0
- package/dist/composables/glass/useVizChoreography.d.ts +123 -0
- package/dist/composables/glass/wave/index.d.ts +4 -0
- package/dist/composables/glass/wave/waveField.d.ts +115 -0
- package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
- package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
- package/dist/composables/glass/webgpu/index.d.ts +2 -1
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
- package/dist/composables/motion/core/index.d.ts +7 -0
- package/dist/composables/motion/core/useHaptic.d.ts +48 -0
- package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/scrollReader.d.ts +25 -0
- package/dist/composables/motion/springPresets.d.ts +19 -1
- package/dist/composables/motion/suite.d.ts +2 -2
- package/dist/composables/motion/useBloomUp.d.ts +97 -0
- package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
- package/dist/composables/motion/useCharStagger.d.ts +44 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
- package/dist/composables/motion/useGooMorph.d.ts +72 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
- package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
- package/dist/composables/motion/useMorphField.d.ts +157 -0
- package/dist/composables/motion/useScrollChrome.d.ts +58 -0
- package/dist/composables/motion/useScrollPin.d.ts +49 -0
- package/dist/composables/motion/useScrollScene.d.ts +67 -0
- package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
- package/dist/composables/motion/useSpringPress.d.ts +5 -5
- package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +4 -1
- package/dist/composables/sidebar/types.d.ts +68 -3
- package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
- package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
- package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
- package/dist/composables/virtual/index.d.ts +4 -0
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
- package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
- package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
- package/dist/concentric.js +552 -309
- package/dist/configurator.js +2 -2
- package/dist/confirm-dialog.js +62 -47
- package/dist/constellation.js +635 -235
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +2 -2
- package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck.d.ts +1 -0
- package/dist/deck.js +105 -0
- package/dist/dialog.js +4 -3
- package/dist/dock.js +1320 -631
- package/dist/dockContext-gFVS2gMg.js +18 -0
- package/dist/dom.js +7 -6
- package/dist/dot-flow-field.js +1268 -387
- package/dist/dot-matrix.d.ts +1 -0
- package/dist/dot-matrix.js +774 -0
- package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
- package/dist/drawer.js +106 -96
- package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.js +188 -176
- package/dist/expandable-container.js +43 -21
- package/dist/fading-scroll.js +1 -1
- package/dist/flow.glsl-DqEGRpl4.js +4 -0
- package/dist/forms.js +64 -62
- package/dist/fourier-field.js +1069 -178
- package/dist/fourier-math.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +164 -119
- package/dist/goo-blob.js +175 -1230
- package/dist/goo-dot-matrix.d.ts +1 -0
- package/dist/goo-dot-matrix.js +811 -0
- package/dist/handmark.js +137 -94
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +70 -60
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +1 -1
- package/dist/metric-stack.js +12 -3
- package/dist/motion-core.js +59 -34
- package/dist/motion-curves.js +30 -14
- package/dist/motion.js +231 -96
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +2 -91
- package/dist/paper-backdrop.js +1 -1
- package/dist/paper-grid.d.ts +1 -0
- package/dist/paper-grid.js +761 -0
- package/dist/paperGrid-CXCSMbZ1.js +191 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
- package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
- package/dist/progress.js +1 -1
- package/dist/pulse.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
- package/dist/scrollReader-rc3Ns_NM.js +42 -0
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +162 -306
- package/dist/select.js +3 -3
- package/dist/selectable-chip.d.ts +1 -0
- package/dist/selectable-chip.js +48 -0
- package/dist/separator.js +1 -1
- package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
- package/dist/sheet.js +1 -1
- package/dist/sidebar.js +216 -114
- package/dist/slider-CcICPe3u.js +149 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spectrum-walk-cBNSx_zm.js +33 -0
- package/dist/springPresets-DfoQ6XRY.js +64 -0
- package/dist/stacked-icons.js +54 -39
- package/dist/styles/animations.css +13 -3
- package/dist/styles/cards.css +271 -2
- package/dist/styles/completion-seal.css +131 -0
- package/dist/styles/components.css +1 -4
- package/dist/styles/configurator.css +221 -1
- package/dist/styles/critical-partition.mjs +66 -11
- package/dist/styles/deferred.css +4 -0
- package/dist/styles/dock/adaptive-legibility.css +119 -0
- package/dist/styles/dock/cta-seat.css +87 -0
- package/dist/styles/dock/density.css +167 -6
- package/dist/styles/dock/fission-bridge.css +552 -0
- package/dist/styles/dock/layers.css +90 -78
- package/dist/styles/dock/morph-bridge.css +67 -18
- package/dist/styles/dock/morph.css +57 -118
- package/dist/styles/dock/overflow.css +12 -0
- package/dist/styles/dock/search.css +68 -0
- package/dist/styles/dock/shape.css +250 -0
- package/dist/styles/dock/shell.css +24 -8
- package/dist/styles/dock/stack-rail.css +352 -0
- package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/dist/styles/dock-controls/icon-button.css +46 -0
- package/dist/styles/dock-controls/triggers.css +23 -1
- package/dist/styles/dock-controls.css +18 -0
- package/dist/styles/dock.css +27 -2
- package/dist/styles/drawer.css +166 -0
- package/dist/styles/glass/accent-tone.css +66 -0
- package/dist/styles/glass/control-surfaces.css +167 -0
- package/dist/styles/glass/glass-atom.css +244 -0
- package/dist/styles/glass/glass-capsule.css +143 -0
- package/dist/styles/glass/glass-chip.css +215 -0
- package/dist/styles/glass/ladder.css +67 -17
- package/dist/styles/glass/liquid-enter.css +252 -0
- package/dist/styles/glass/liquid-morph.css +850 -0
- package/dist/styles/glass/material.css +70 -1
- package/dist/styles/glass/reveal.css +22 -2
- package/dist/styles/glass/rim.css +31 -9
- package/dist/styles/glass/surfaces.css +81 -150
- package/dist/styles/glass.css +21 -0
- package/dist/styles/icon-chip.css +45 -0
- package/dist/styles/index.css +26 -0
- package/dist/styles/jubilance.css +65 -0
- package/dist/styles/motion/morph-field.css +229 -0
- package/dist/styles/paper.css +230 -14
- package/dist/styles/scroll-choreography.css +135 -78
- package/dist/styles/scroll-chrome.css +123 -0
- package/dist/styles/scroll-driven.css +38 -0
- package/dist/styles/segmented-tabs.css +110 -40
- package/dist/styles/select.css +151 -0
- package/dist/styles/theme/bridges.css +22 -0
- package/dist/styles/theme/radius.css +18 -1
- package/dist/styles/tokens/color-radius.css +14 -4
- package/dist/styles/tokens/dark-arm.css +94 -12
- package/dist/styles/tokens/glass-deep.css +33 -4
- package/dist/styles/tokens/glass-fx.css +122 -1
- package/dist/styles/tokens/glass.css +226 -34
- package/dist/styles/tokens/light-dark.css +3 -3
- package/dist/styles/tokens/offsets.css +27 -0
- package/dist/styles/tokens/property-regs.css +277 -0
- package/dist/styles/tokens/scale-paper.css +86 -30
- package/dist/styles/tokens/scheme-motion.css +106 -133
- package/dist/styles/tokens/scheme-spring.css +239 -0
- package/dist/styles/tokens/scroll-tokens.css +15 -15
- package/dist/styles/tokens/shadow.css +73 -13
- package/dist/styles/tokens/sizing-config.css +110 -0
- package/dist/styles/tokens/sizing.css +55 -104
- package/dist/styles/tokens.css +14 -2
- package/dist/styles/typography/semantic.css +18 -5
- package/dist/styles/utilities/a11y-overrides.css +20 -5
- package/dist/styles/utilities/base-misc.css +52 -0
- package/dist/styles/utilities/btn.css +84 -3
- package/dist/styles/utilities/components.css +31 -6
- package/dist/styles/utilities/metal.css +26 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +199 -182
- package/dist/timeline.js +241 -206
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +14 -41
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +2 -2
- package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
- package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
- package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
- package/dist/useControlSize-DAZ062x7.js +9 -0
- package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
- package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
- package/dist/useDragVelocity-CjcfX3dA.js +57 -0
- package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
- package/dist/useGooMorph-Cs13NgYL.js +104 -0
- package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
- package/dist/useHaptic-CPz5BT9I.js +134 -0
- package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
- package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
- package/dist/useMorphField-ogBM7ubT.js +141 -0
- package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
- package/dist/useScrollChrome-JuImi1DM.js +258 -0
- package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
- package/dist/useSpringPress-VM9RgVq3.js +36 -0
- package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
- package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
- package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
- package/dist/virtual.d.ts +1 -0
- package/dist/virtual.js +225 -0
- package/dist/watercolor-dot.js +107 -74
- package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
- package/package.json +140 -9
- package/src/styles/animations.css +13 -3
- package/src/styles/cards.css +271 -2
- package/src/styles/completion-seal.css +131 -0
- package/src/styles/configurator.css +221 -1
- package/src/styles/critical-partition.mjs +66 -11
- package/src/styles/dock/adaptive-legibility.css +119 -0
- package/src/styles/dock/cta-seat.css +87 -0
- package/src/styles/dock/density.css +167 -6
- package/src/styles/dock/fission-bridge.css +552 -0
- package/src/styles/dock/layers.css +90 -78
- package/src/styles/dock/morph-bridge.css +67 -18
- package/src/styles/dock/morph.css +57 -118
- package/src/styles/dock/overflow.css +12 -0
- package/src/styles/dock/search.css +68 -0
- package/src/styles/dock/shape.css +250 -0
- package/src/styles/dock/shell.css +24 -8
- package/src/styles/dock/stack-rail.css +352 -0
- package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/src/styles/dock-controls/icon-button.css +46 -0
- package/src/styles/dock-controls/triggers.css +23 -1
- package/src/styles/dock-controls.css +18 -0
- package/src/styles/dock.css +27 -2
- package/src/styles/drawer.css +164 -0
- package/src/styles/glass/accent-tone.css +66 -0
- package/src/styles/glass/control-surfaces.css +167 -0
- package/src/styles/glass/glass-atom.css +244 -0
- package/src/styles/glass/glass-capsule.css +143 -0
- package/src/styles/glass/glass-chip.css +215 -0
- package/src/styles/glass/ladder.css +67 -17
- package/src/styles/glass/liquid-enter.css +252 -0
- package/src/styles/glass/liquid-morph.css +850 -0
- package/src/styles/glass/material.css +70 -1
- package/src/styles/glass/reveal.css +22 -2
- package/src/styles/glass/rim.css +31 -9
- package/src/styles/glass/surfaces.css +81 -150
- package/src/styles/glass.css +21 -0
- package/src/styles/icon-chip.css +45 -0
- package/src/styles/index.css +26 -0
- package/src/styles/jubilance.css +65 -0
- package/src/styles/motion/morph-field.css +229 -0
- package/src/styles/paper.css +230 -14
- package/src/styles/scroll-choreography.css +135 -78
- package/src/styles/scroll-chrome.css +123 -0
- package/src/styles/scroll-driven.css +38 -0
- package/src/styles/segmented-tabs.css +110 -36
- package/src/styles/select.css +151 -0
- package/src/styles/theme/bridges.css +22 -0
- package/src/styles/theme/radius.css +18 -1
- package/src/styles/tokens/color-radius.css +14 -4
- package/src/styles/tokens/dark-arm.css +94 -12
- package/src/styles/tokens/glass-deep.css +33 -4
- package/src/styles/tokens/glass-fx.css +122 -1
- package/src/styles/tokens/glass.css +226 -34
- package/src/styles/tokens/light-dark.css +3 -3
- package/src/styles/tokens/offsets.css +27 -0
- package/src/styles/tokens/property-regs.css +277 -0
- package/src/styles/tokens/scale-paper.css +86 -30
- package/src/styles/tokens/scheme-motion.css +106 -133
- package/src/styles/tokens/scheme-spring.css +239 -0
- package/src/styles/tokens/scroll-tokens.css +15 -15
- package/src/styles/tokens/shadow.css +73 -13
- package/src/styles/tokens/sizing-config.css +110 -0
- package/src/styles/tokens/sizing.css +55 -104
- package/src/styles/tokens.css +14 -2
- package/src/styles/typography/semantic.css +18 -5
- package/src/styles/utilities/a11y-overrides.css +20 -5
- package/src/styles/utilities/base-misc.css +52 -0
- package/src/styles/utilities/btn.css +84 -3
- package/src/styles/utilities/components.css +31 -6
- package/src/styles/utilities/metal.css +26 -0
- package/dist/ContextMenuContent-uWnVxDab.js +0 -85
- package/dist/DialogContent-DcKK8k9i.js +0 -103
- package/dist/DialogFooter-BZNX5aVr.js +0 -165
- package/dist/HoverCardContent-b2uaAMRR.js +0 -83
- package/dist/Input-h9v5LeXf.js +0 -55
- package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
- package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
- package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
- package/dist/Separator-pKF0oA4M.js +0 -37
- package/dist/Switch-CwYNf8bo.js +0 -47
- package/dist/TooltipProvider-rzvnXz60.js +0 -104
- package/dist/badge-D9XWW4GT.js +0 -53
- package/dist/button-DYCUa-tH.js +0 -126
- package/dist/color-DweYl7pE.js +0 -86
- package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
- package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
- package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
- package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
- package/dist/dockContext-BNfyPLe9.js +0 -17
- package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
- package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
- package/dist/slider-DVb4HXU-.js +0 -142
- package/dist/springPresets-CFQGQfdl.js +0 -40
- package/dist/styles/dock/rail-extend.css +0 -397
- package/dist/useLiquidPress-kfb4KX79.js +0 -39
- package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
- package/dist/useRAFLoop-UYa4zoiN.js +0 -109
- package/dist/useSpringPress-BsqPr7FJ.js +0 -34
- package/src/styles/dock/rail-extend.css +0 -397
- /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
- /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
- /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
- /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
- /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
- /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
- /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
- /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
- /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
- /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
- /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
- /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
- /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
- /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
- /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
- /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
- /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
- /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
- /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
- /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface GooSpec {
|
|
2
|
+
/** The filter id consumers reference (`url(#<id>)`). */
|
|
3
|
+
id: string;
|
|
4
|
+
/** feGaussianBlur stdDeviation — the alpha-bleed radius (per-scale). */
|
|
5
|
+
blur: number;
|
|
6
|
+
/** feColorMatrix A-channel slope — the threshold steepness (the gooey shoulder). */
|
|
7
|
+
slope: number;
|
|
8
|
+
/** feColorMatrix A-channel offset (negative) — the alpha cut point. */
|
|
9
|
+
offset: number;
|
|
10
|
+
}
|
|
11
|
+
type __VLS_Props = {
|
|
12
|
+
/**
|
|
13
|
+
* Extra bespoke `<filter>` instances beyond the library register (a consumer
|
|
14
|
+
* tuning a one-off scale). Each is the SAME graph at its own knobs.
|
|
15
|
+
*/
|
|
16
|
+
extra?: GooSpec[];
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
extra: GooSpec[];
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as GooFilter } from "./GooFilter.vue";
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
* Field-count discipline (SPEC §2): resist a 13th scalar per new instrument —
|
|
11
11
|
* `blend` earned its place only because highlighter genuinely needed `multiply`.
|
|
12
12
|
*
|
|
13
|
-
* The shipped register: PEN is the default (clean ink, grain:0 ⇒ no filter
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* `ribbon:'
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
13
|
+
* The shipped register: PEN is the default (clean ink, grain:0 ⇒ no filter, the one
|
|
14
|
+
* `ribbon:'stroke'` clean voice). The variable-width VOICES — boil (the pressured
|
|
15
|
+
* pen-line), crayon (the waxy swell), marker (the juicy core), highlighter (the wide
|
|
16
|
+
* slab) — all ENGAGE `ribbon:'hull'`, the vendored perfect-freehand body, sharing the
|
|
17
|
+
* one curvature-coupled pressure profile (ink.ts `addPressure`). pen/pencil/ring stay
|
|
18
|
+
* `ribbon:'stroke'` by intent (pen clean, pencil's dry tooth-grain is its character,
|
|
19
|
+
* ring a thin whisper). The pf body ships whenever any hull brush does.
|
|
20
20
|
*/
|
|
21
21
|
export type BlendMode = "source-over" | "multiply" | "darken" | "screen";
|
|
22
22
|
export interface TaperSpec {
|
|
@@ -88,9 +88,9 @@ export interface InkPath {
|
|
|
88
88
|
cap?: "round" | "square" | "butt";
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
* The named points in the continuum. `pen` is the DEFAULT (clean ink, grain:0
|
|
92
|
-
* `crayon`
|
|
93
|
-
* `pencil`/`
|
|
91
|
+
* The named points in the continuum. `pen` is the DEFAULT (clean ink, grain:0,
|
|
92
|
+
* `ribbon:'stroke'`). `boil`/`crayon`/`marker`/`highlighter` engage `ribbon:'hull'`
|
|
93
|
+
* (the curvature-coupled variable-width body); `pencil`/`ring` stay clean stroke.
|
|
94
94
|
*/
|
|
95
95
|
export declare const BRUSHES: {
|
|
96
96
|
readonly pen: {
|
|
@@ -117,15 +117,15 @@ export declare const BRUSHES: {
|
|
|
117
117
|
readonly cap: "round";
|
|
118
118
|
};
|
|
119
119
|
readonly boil: {
|
|
120
|
-
readonly weight:
|
|
120
|
+
readonly weight: 7;
|
|
121
121
|
readonly weightJitter: 0.12;
|
|
122
|
-
readonly thinning: 0.
|
|
122
|
+
readonly thinning: 0.55;
|
|
123
123
|
readonly taper: {
|
|
124
|
-
readonly start:
|
|
125
|
-
readonly end:
|
|
124
|
+
readonly start: 14;
|
|
125
|
+
readonly end: 18;
|
|
126
126
|
readonly ease: "out-cubic";
|
|
127
127
|
};
|
|
128
|
-
readonly ribbon: "
|
|
128
|
+
readonly ribbon: "hull";
|
|
129
129
|
readonly opacity: 1;
|
|
130
130
|
readonly blend: "source-over";
|
|
131
131
|
readonly passes: 1;
|
|
@@ -171,7 +171,7 @@ export declare const BRUSHES: {
|
|
|
171
171
|
readonly end: 6;
|
|
172
172
|
readonly ease: "linear";
|
|
173
173
|
};
|
|
174
|
-
readonly ribbon: "
|
|
174
|
+
readonly ribbon: "hull";
|
|
175
175
|
readonly opacity: 0.8;
|
|
176
176
|
readonly blend: "source-over";
|
|
177
177
|
readonly passes: 2;
|
|
@@ -217,7 +217,7 @@ export declare const BRUSHES: {
|
|
|
217
217
|
readonly end: 10;
|
|
218
218
|
readonly ease: "out-cubic";
|
|
219
219
|
};
|
|
220
|
-
readonly ribbon: "
|
|
220
|
+
readonly ribbon: "hull";
|
|
221
221
|
readonly opacity: 0.92;
|
|
222
222
|
readonly blend: "source-over";
|
|
223
223
|
readonly passes: 1;
|
|
@@ -28,12 +28,32 @@ export declare const HIGHLIGHT_RISE = 0.22;
|
|
|
28
28
|
/** Pre-measure fallback for the highlight band's low seat (null baselineFrac). */
|
|
29
29
|
export declare const HIGHLIGHT_FALLBACK_FRAC = 0.66;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
31
|
+
* The boil voice — φ-incommensurate fractal value-noise (the masthead morphology).
|
|
32
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
33
|
+
* The boil centerline is a 1-D fractal value-noise displacement off the HOUSE
|
|
34
|
+
* `mulberry32`, NOT a seeded sinusoid. A sinusoid (the prior body) self-correlates
|
|
35
|
+
* into a near-period — it reads as a spell-check squiggle and a clean sine fails any
|
|
36
|
+
* honest non-periodicity discriminator (a sine's extrema are near-uniformly spaced).
|
|
37
|
+
* The value-noise sums octaves at φ-stepped frequencies (mutually irrational → the
|
|
38
|
+
* sum NEVER closes into a period); each octave's amplitude decays by 1/φ. The result
|
|
39
|
+
* is a hump-to-hump-IRREGULAR hand line whose inter-extremum spacing-CV is the honest
|
|
40
|
+
* teeth (measured: ~0.41 at the paint's segment count, ~0.71 resampled at RES=64,
|
|
41
|
+
* over 400 seeds — vs the prior sinusoid's ~0.14; a clean separation either side of a
|
|
42
|
+
* 0.30 floor). The amplitude is SCALE-RELATIVE (a fraction of the rendered span), so
|
|
43
|
+
* a long word and a short word wobble in proportion. FILTER-FREE — the wander lives
|
|
44
|
+
* in the control points + the hull width, never a feTurbulence.
|
|
45
|
+
*
|
|
46
|
+
* Constants pinned against a 400-seed spacing-CV spike (NOT the seed-overfit autocorr
|
|
47
|
+
* peak the prior gate keyed — autocorr cannot separate smooth low-frequency value-
|
|
48
|
+
* noise from a sinusoid at any resolution).
|
|
37
49
|
*/
|
|
38
|
-
|
|
39
|
-
export declare const
|
|
50
|
+
/** φ — the per-octave frequency step (mutually irrational → never periodic). */
|
|
51
|
+
export declare const NOISE_PHI = 1.618033988749895;
|
|
52
|
+
/** octave count of the fractal value-noise sum. */
|
|
53
|
+
export declare const NOISE_OCTAVES = 4;
|
|
54
|
+
/** base octave frequency (humps across the unit span); octave k rides F0·φ^k. */
|
|
55
|
+
export declare const NOISE_F0 = 2.5;
|
|
56
|
+
/** displacement amplitude as a fraction of the rendered span (scale-relative). */
|
|
57
|
+
export declare const NOISE_AMP_FRAC = 0.05;
|
|
58
|
+
/** endpoint-only cosine taper width (the ends settle to baseline; the BODY stays irregular). */
|
|
59
|
+
export declare const NOISE_EDGE = 0.12;
|
|
@@ -30,6 +30,39 @@ export interface ShapeGeom {
|
|
|
30
30
|
lines: [number, number][][];
|
|
31
31
|
closed: boolean;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* The boil voice — φ-incommensurate fractal value-noise (RE-INVENT; the masthead
|
|
35
|
+
* morphology). A 1-D fractal value-noise DISPLACEMENT off the HOUSE `mulberry32`,
|
|
36
|
+
* NOT a seeded sinusoid (the prior body self-correlated into a near-period — a spell-
|
|
37
|
+
* check squiggle):
|
|
38
|
+
*
|
|
39
|
+
* disp(t) = Σ_{k=0..OCT-1} aₖ · vnoiseₖ(t·fₖ + φₖ) normalised by Σaₖ
|
|
40
|
+
* fₖ = NOISE_F0 · φ^k (φ mutually-irrational steps → the sum NEVER closes
|
|
41
|
+
* into a period — the non-periodicity mechanism)
|
|
42
|
+
* aₖ = (1/φ)^k (per-octave decay)
|
|
43
|
+
* φₖ = seeded per-octave phase (house mulberry32)
|
|
44
|
+
* vnoiseₖ = seeded lattice value-noise, smootherstep-faired
|
|
45
|
+
*
|
|
46
|
+
* The four atlas axes:
|
|
47
|
+
* - amplitude SCALES with the rendered span (`(x2−x1) × NOISE_AMP_FRAC`), not a
|
|
48
|
+
* viewBox-stretched constant (a long word and a short word wobble in proportion);
|
|
49
|
+
* - the hump-to-hump spacing is IRREGULAR (the φ-incommensurate octave sum — the
|
|
50
|
+
* honest non-periodicity teeth, spacing-CV ~0.41 at the paint count vs the prior
|
|
51
|
+
* sinusoid's ~0.14, over 400 seeds);
|
|
52
|
+
* - the non-uniform body gives the pf hull a pressure-taper-friendly point stream;
|
|
53
|
+
* - the seed is the HOUSE mulberry32 (determinism + per-seed variation), ZERO
|
|
54
|
+
* pencil-boil `mulberry32` import.
|
|
55
|
+
*
|
|
56
|
+
* ENDPOINT anchor (NOT a body-wide envelope): a narrow cosine taper at the very ends
|
|
57
|
+
* only (`NOISE_EDGE`), so the ends settle to baseline (no draw-on pop) while the BODY
|
|
58
|
+
* amplitude stays irregular hump-to-hump (the prior `sin(π·t)` envelope made the body
|
|
59
|
+
* amplitude smooth-and-uniform — the clean-envelope tell). FILTER-FREE: the wander is
|
|
60
|
+
* in the control points + the hull width, never a feTurbulence.
|
|
61
|
+
*
|
|
62
|
+
* EXPORTED so the measuring gate samples the REAL emitted point-set (never a symbol-
|
|
63
|
+
* presence regex — the W-GATE-TRUTH-AUDIT discipline).
|
|
64
|
+
*/
|
|
65
|
+
export declare function naturalUnderlinePoints(x1: number, y: number, x2: number, seed: number, segments: number): [number, number][];
|
|
33
66
|
/**
|
|
34
67
|
* Semantic shape → { lines, closed } in the marking space (or a positioned box).
|
|
35
68
|
*
|
|
@@ -41,7 +74,7 @@ export interface ShapeGeom {
|
|
|
41
74
|
* back to the legacy `VB_H − 8` constant so first paint (and jsdom/SSR) still renders
|
|
42
75
|
* a line, replaced the instant the measure lands.
|
|
43
76
|
*
|
|
44
|
-
* `natural`
|
|
77
|
+
* `natural` routes the underline through the φ-incommensurate value-noise
|
|
45
78
|
* `naturalUnderlinePoints` morphology instead of pencil-boil's `wobbleLinePoints`
|
|
46
79
|
* (the masthead `boil` voice); the default underline keeps the pencil-boil line.
|
|
47
80
|
*/
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export { default as HandMark, default as InkMark } from "./HandMark.vue";
|
|
21
21
|
export { BRUSHES, resolveBrush, lerpBrush, type Brush, type BrushName, type BlendMode, type TaperSpec, type StampFn, type InkPath, } from "./brush";
|
|
22
|
-
export { shapeGeom, serialize, boilLines, VB_W, VB_H, UNDERLINE_GAP, type ShapeGeom, } from "./geometry";
|
|
22
|
+
export { shapeGeom, serialize, boilLines, naturalUnderlinePoints, VB_W, VB_H, UNDERLINE_GAP, type ShapeGeom, } from "./geometry";
|
|
23
23
|
export { ink, type SVGFragment } from "./ink";
|
|
24
24
|
export { grainFilter, hasGrain } from "./texture";
|
|
25
25
|
export { getStroke, getStrokePoints, getSvgPathFromStroke, type StrokeOptions, type InputPoint, } from "./freehand";
|
|
@@ -71,6 +71,16 @@ export interface IconChipProps {
|
|
|
71
71
|
* untouched. Default `false` (byte-identical to the reference register).
|
|
72
72
|
*/
|
|
73
73
|
saturated?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* The QUIET glass register (BD.W-GLASS-ATOM-REGISTER cross-link). The DEFAULT
|
|
76
|
+
* chip keeps its loud `in srgb` brand-overlay plate (AW.W26 fence); this opt-in
|
|
77
|
+
* routes the chip through the shared `.glass-atom` warm-glass capsule instead —
|
|
78
|
+
* a transmissive lozenge with the warm floor + the `--glass-blur-quiet` backdrop
|
|
79
|
+
* + the keyed rim, tinted by `--glass-fill-tint` toward the event hue. Two
|
|
80
|
+
* registers, exactly like Badge: loud brand pop (default) vs quiet glass lens
|
|
81
|
+
* (opt-in). Default `false`.
|
|
82
|
+
*/
|
|
83
|
+
glass?: boolean;
|
|
74
84
|
/**
|
|
75
85
|
* Entrance choreography — composes the shipped `vReveal` directive. A numeric
|
|
76
86
|
* value is the `--d` stagger index; `true` is index 0. PRM-gated by `vReveal`'s
|
|
@@ -67,16 +67,35 @@ type __VLS_Props = {
|
|
|
67
67
|
* (often raw-config-key) label. Default `false` (standalone behavior).
|
|
68
68
|
*/
|
|
69
69
|
hideLabel?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* BC.W-CONTROL-SMOOTH move C (kf-G3) — lay the field on the HORIZONTAL axis
|
|
72
|
+
* (label beside control, not above) for dense inline forms. ADDITIVE +
|
|
73
|
+
* default `false`: a bare `<LabeledField>` is byte-identical to HEAD (the
|
|
74
|
+
* stacked label-over-control layout). Pairs with the `#action` slot — a
|
|
75
|
+
* horizontal labeled control carrying a trailing action affordance is the
|
|
76
|
+
* REQ-sec20 horizontal-action case the kf-G3 row booked.
|
|
77
|
+
*/
|
|
78
|
+
horizontal?: boolean;
|
|
70
79
|
};
|
|
71
80
|
declare var __VLS_7: {
|
|
72
81
|
errorId: string;
|
|
73
82
|
controlId: string;
|
|
74
83
|
labelledBy: string;
|
|
75
|
-
}, __VLS_9: {
|
|
84
|
+
}, __VLS_9: {
|
|
85
|
+
controlId: string;
|
|
86
|
+
}, __VLS_11: {
|
|
87
|
+
errorId: string;
|
|
88
|
+
controlId: string;
|
|
89
|
+
labelledBy: string;
|
|
90
|
+
}, __VLS_13: {};
|
|
76
91
|
type __VLS_Slots = {} & {
|
|
77
92
|
default?: (props: typeof __VLS_7) => any;
|
|
78
93
|
} & {
|
|
79
|
-
|
|
94
|
+
action?: (props: typeof __VLS_9) => any;
|
|
95
|
+
} & {
|
|
96
|
+
default?: (props: typeof __VLS_11) => any;
|
|
97
|
+
} & {
|
|
98
|
+
error?: (props: typeof __VLS_13) => any;
|
|
80
99
|
};
|
|
81
100
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
82
101
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -72,6 +72,20 @@ export interface MetricRowProps {
|
|
|
72
72
|
* this to their active-row gating (e.g. the metric being sampled).
|
|
73
73
|
*/
|
|
74
74
|
active?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* BC.W-CONTROL-CUSTOM (CP1, the speedtest-AX `data-protagonist` fold) —
|
|
77
|
+
* marks this row as the ONE focal/protagonist metric per surface. When
|
|
78
|
+
* `true`, the value lifts to the emphasis register (the heavier
|
|
79
|
+
* `--metric-row-value-weight-emphasis` rung) and a `data-protagonist`
|
|
80
|
+
* attribute lands on the row so a consumer can re-tint the focal metric.
|
|
81
|
+
*
|
|
82
|
+
* This is the ONE focal emphasis event per surface (the W-SUFFUSE
|
|
83
|
+
* one-color-event proportion) — exactly one row per <MetricStack> should
|
|
84
|
+
* be the protagonist. The magnitude stays a `--metric-row-*` token read
|
|
85
|
+
* with a fallback, so a `:root`/per-row override of the emphasis weight
|
|
86
|
+
* cascades. A bare (`protagonist`-unset) row is byte-identical.
|
|
87
|
+
*/
|
|
88
|
+
protagonist?: boolean;
|
|
75
89
|
class?: HTMLAttributes["class"];
|
|
76
90
|
}
|
|
77
91
|
declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {}, __VLS_16: {};
|
|
@@ -94,6 +108,7 @@ declare const __VLS_base: import("vue").DefineComponent<MetricRowProps, {}, {},
|
|
|
94
108
|
iconSize: number;
|
|
95
109
|
digitCount: number;
|
|
96
110
|
colorTinted: boolean;
|
|
111
|
+
protagonist: boolean;
|
|
97
112
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
98
113
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
99
114
|
declare const _default: typeof __VLS_export;
|
|
@@ -12,6 +12,14 @@ export interface PagerDotsProps {
|
|
|
12
12
|
windowFit?: number;
|
|
13
13
|
/** Encapsulate the rail in the glass pager pill chassis. Default true. */
|
|
14
14
|
ring?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The ARIA register. `"tabs"` (default, byte-identical) is the carousel
|
|
17
|
+
* panel-nav register (`role="tablist"`/`role="tab"` + `aria-selected`);
|
|
18
|
+
* `"group"` is the full-viewport deck PRESENTATION register
|
|
19
|
+
* (`role="group"`/`aria-current`) the `<DeckPager>` selects. ONE windowing
|
|
20
|
+
* oracle, two aria registers — the `pagerWindow` math is NEVER re-forked.
|
|
21
|
+
*/
|
|
22
|
+
pattern?: "tabs" | "group";
|
|
15
23
|
/** Accessible name for the rail group. */
|
|
16
24
|
ariaLabel?: string;
|
|
17
25
|
/** Additional classes for the rail root. */
|
|
@@ -32,6 +40,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
|
|
|
32
40
|
"onUpdate:active"?: ((value: number) => any) | undefined;
|
|
33
41
|
}>, {
|
|
34
42
|
orientation: "horizontal" | "vertical";
|
|
43
|
+
pattern: "tabs" | "group";
|
|
35
44
|
ariaLabel: string;
|
|
36
45
|
ring: boolean;
|
|
37
46
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface PagerWindow {
|
|
2
|
+
/** The 0-based slide indices to render as dots. */
|
|
3
|
+
shown: number[];
|
|
4
|
+
/** The window is clipped at the start (a dimmed leading edge dot). */
|
|
5
|
+
clippedStart: boolean;
|
|
6
|
+
/** The window is clipped at the end (a dimmed trailing edge dot). */
|
|
7
|
+
clippedEnd: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function pagerWindow(total: number, activeIndex: number, fit: number): PagerWindow;
|
|
@@ -13,6 +13,24 @@ export interface PaperBackdropProps {
|
|
|
13
13
|
opacity?: number | string;
|
|
14
14
|
/** Override turbulence frequency (advisory only — swaps the texture var). */
|
|
15
15
|
frequency?: PaperBackdropFrequency;
|
|
16
|
+
/**
|
|
17
|
+
* BD.W-PAGE-FIELD — mount the WARM COLORFUL FIELD plane beneath the grain.
|
|
18
|
+
* When set, a `.paper-field` cel plane (amber→terracotta→sand at FIELD
|
|
19
|
+
* lightness, drifting on the compositor) paints UNDER the grain, so every
|
|
20
|
+
* glass surface over it reads transmissive/warm instead of gray. The grain
|
|
21
|
+
* rides ON TOP at its multiply opacity — one backdrop, two stacked planes.
|
|
22
|
+
* Opt-in (presets-in-consumers demo-chassis contract); the library glass
|
|
23
|
+
* primitive is UNCHANGED.
|
|
24
|
+
*/
|
|
25
|
+
field?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The warm route hue request (any degree). The field CLAMPS it to the warm
|
|
28
|
+
* band [25,95] IN THE CSS, so a cool/teal value cannot paint cool. Wire
|
|
29
|
+
* `warmFieldHue(category)` here per route.
|
|
30
|
+
*/
|
|
31
|
+
fieldHue?: number | string;
|
|
32
|
+
/** The field rung intensity (0.85 ground / 1.0 vivid hero / 0 = neutral). */
|
|
33
|
+
fieldIntensity?: number | string;
|
|
16
34
|
/** Additional class names. */
|
|
17
35
|
class?: HTMLAttributes["class"];
|
|
18
36
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PaperGridConfig } from "./constants";
|
|
2
|
+
/**
|
|
3
|
+
* PaperGrid — a liquid AA-grid: evenly-spaced LARGER lines on a slowly breathing
|
|
4
|
+
* curl-flow sheet.
|
|
5
|
+
*
|
|
6
|
+
* A calm engineering-graph-paper grid (evenly-spaced, LARGE cells, a crisp fine rule with
|
|
7
|
+
* a bolder major rule every 5 cells) drawn on a slowly breathing liquid sheet — adjacent
|
|
8
|
+
* lines bow and flow TOGETHER as if the grid is ruled on a gently rippling pond, never a
|
|
9
|
+
* per-line jitter. WebGPU-FIRST: a pure fullscreen fragment pass (the aurora/concentric
|
|
10
|
+
* shape-class) computes the grid at a curl-warped coordinate per pixel via the Ben Golus
|
|
11
|
+
* derivative-AA distance function (constant device-pixel-crisp lines, the CSS-blur kill),
|
|
12
|
+
* the Iñigo Quílez domain warp (the "liquid"), and the Bridson divergence-free curl flow
|
|
13
|
+
* (WHY it's liquid not noise). It composes `usePaperGrid` → the `createGpuSubstrate` picker
|
|
14
|
+
* over the ONE canvas lifecycle leaf (offscreen-pause, live-PRM freeze, consumer-owned DPR)
|
|
15
|
+
* — it never bootstraps its own context.
|
|
16
|
+
*
|
|
17
|
+
* The DEFAULT line ink is the warm-cream `--foreground` library identity (resolved live at
|
|
18
|
+
* mount); the demo themes it through a PRESET (presets-in-consumers — never a library
|
|
19
|
+
* token). The grid suffuses over the page (transparent ground) — teal-on-navy is gone.
|
|
20
|
+
*/
|
|
21
|
+
type __VLS_Props = {
|
|
22
|
+
/** The full author schema (the studio's `useConfiguratorState` model). */
|
|
23
|
+
config?: PaperGridConfig;
|
|
24
|
+
/**
|
|
25
|
+
* The declarative WCAG-2.2.2 pause seam. `v-model:paused` parks the render loop
|
|
26
|
+
* (the substrate's `manual` suspend) when `true`. Wire `<DockBackgroundToggle>`'s
|
|
27
|
+
* `@update:paused` to this `v-model`.
|
|
28
|
+
*/
|
|
29
|
+
paused?: boolean;
|
|
30
|
+
};
|
|
31
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
32
|
+
pause: () => void;
|
|
33
|
+
resume: () => void;
|
|
34
|
+
wake: () => void;
|
|
35
|
+
renderAt: (timeSec: number) => void;
|
|
36
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
|
+
"update:paused": (value: boolean) => any;
|
|
38
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
39
|
+
"onUpdate:paused"?: ((value: boolean) => any) | undefined;
|
|
40
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
41
|
+
declare const _default: typeof __VLS_export;
|
|
42
|
+
export default _default;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/** A 2-vector. */
|
|
2
|
+
export interface Vec2 {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
/** The curl central-difference epsilon (matches `flow.glsl.ts` / `flow.wgsl.ts`). */
|
|
7
|
+
export declare const CURL_EPS = 0.012;
|
|
8
|
+
/** A 3-octave scalar fbm potential (the host noise basis the curl operator wraps). */
|
|
9
|
+
export declare function potentialFBM(p: Vec2): number;
|
|
10
|
+
/** The 2D curl of the scalar fbm potential (the JS twin of `curlFBM`). */
|
|
11
|
+
export declare function curlFBM(p: Vec2): Vec2;
|
|
12
|
+
/**
|
|
13
|
+
* The Ben Golus derivative-AA grid line coverage at `g` (grid space). `targetWidth` is the
|
|
14
|
+
* desired line half-width in GRID UNITS (the caller passes `lineWidthPx / minorPitchPx` so
|
|
15
|
+
* the line is N device-pixels wide); `uvDeriv` is the per-axis screen-space derivative of
|
|
16
|
+
* `g` (in the shaders `length(vec2(dFdx(g), dFdy(g)))`; in JS the caller passes it
|
|
17
|
+
* analytically so the path is reproducible). Returns line coverage [0..1].
|
|
18
|
+
*
|
|
19
|
+
* The Golus pipeline (transcribed by the WGSL/GLSL EXACTLY):
|
|
20
|
+
* gridUV = 1 − |fract(g)·2 − 1| (triangle wave: 0 at line, 1 at center)
|
|
21
|
+
* drawW = clamp(targetWidth, uvDeriv, 0.5)
|
|
22
|
+
* lineAA = uvDeriv·1.5
|
|
23
|
+
* grid2 = smoothstep(drawW+lineAA, drawW−lineAA, gridUV)
|
|
24
|
+
* grid2 *= clamp(targetWidth/drawW, 0, 1) (preserve thin-line intensity)
|
|
25
|
+
* grid2 = mix(grid2, targetWidth, clamp(uvDeriv·2−1, 0, 1)) (Moiré suppression)
|
|
26
|
+
* line = max(grid2.x, grid2.y)
|
|
27
|
+
*/
|
|
28
|
+
export declare function gridCoverage(g: Vec2, targetWidth: number, uvDeriv: Vec2): number;
|
|
29
|
+
/**
|
|
30
|
+
* The complete paper-grid sample at a domain `uv` (the round-trip anchor). Composes the
|
|
31
|
+
* warp + the bulge + the two-tier Golus coverage EXACTLY as the WGSL/GLSL `fs_main` does,
|
|
32
|
+
* returning the premultiplied-alpha (the page reads through the troughs). `uvDeriv` is the
|
|
33
|
+
* FIXED analytic per-axis derivative (JS has no fragment derivatives); the shaders compute
|
|
34
|
+
* it from `dpdx`/`dpdy`. Returns `{ line, alpha }` — the line coverage + the global alpha.
|
|
35
|
+
*/
|
|
36
|
+
export interface PaperGridSampleParams {
|
|
37
|
+
/** The grid scale (view / minorPitch → LARGER cells = smaller scale). */
|
|
38
|
+
gridScale: number;
|
|
39
|
+
/** The traveling-wave front direction. */
|
|
40
|
+
waveDir: Vec2;
|
|
41
|
+
/** The crest-band spatial frequency. */
|
|
42
|
+
waveK: number;
|
|
43
|
+
/** The front speed (ω). */
|
|
44
|
+
waveOmega: number;
|
|
45
|
+
/** The crest-band width. */
|
|
46
|
+
waveSigma: number;
|
|
47
|
+
/** Max per-cell twist angle at the crest (rad). */
|
|
48
|
+
twistMax: number;
|
|
49
|
+
/** Max per-cell shear at the crest. */
|
|
50
|
+
shearMax: number;
|
|
51
|
+
/** The spring-eased envelope amplitude (0..1; PRM snaps to 0). */
|
|
52
|
+
amp: number;
|
|
53
|
+
/** The cursor in GRID space. */
|
|
54
|
+
cursor: Vec2;
|
|
55
|
+
/** The cursor-swirl peak twist (rad). */
|
|
56
|
+
bulgeStrength: number;
|
|
57
|
+
bulgeRadius: number;
|
|
58
|
+
/** +1 repel, −1 attract (signs the swirl). */
|
|
59
|
+
bulgeMode: number;
|
|
60
|
+
/** 1 = cursor swirl on. */
|
|
61
|
+
interactive: number;
|
|
62
|
+
/** Golus target half-widths in grid units (minor + major). */
|
|
63
|
+
targetWidth: number;
|
|
64
|
+
targetWidthMajor: number;
|
|
65
|
+
/** How many minor cells per major rule. */
|
|
66
|
+
majorEvery: number;
|
|
67
|
+
minorAlpha: number;
|
|
68
|
+
majorAlpha: number;
|
|
69
|
+
/** The GLOBAL subtlety knob (suffusion → tiny). */
|
|
70
|
+
fieldAlpha: number;
|
|
71
|
+
/** The FIXED per-axis derivative (the JS round-trip; shaders use dpdx/dpdy). */
|
|
72
|
+
uvDeriv: Vec2;
|
|
73
|
+
/** The filled-FACE opacity (0 → the face evaporates → byte-identical to HEAD). */
|
|
74
|
+
faceAlpha?: number;
|
|
75
|
+
/** The slope-shade ∇H Lambert gain. */
|
|
76
|
+
faceReliefGain?: number;
|
|
77
|
+
/** The volume-preserving squash (the inset retreats at the crest). */
|
|
78
|
+
squashK?: number;
|
|
79
|
+
/** The base inset-square coverage. */
|
|
80
|
+
baseInset?: number;
|
|
81
|
+
/** The fixed cel key-light direction. */
|
|
82
|
+
lightDir?: Vec2;
|
|
83
|
+
}
|
|
84
|
+
/** The face-shade scalars the FACE composite reads (the numeric-parity witness — FOLD B/C/D). */
|
|
85
|
+
export interface PaperGridFace {
|
|
86
|
+
/** The crest envelope at the pre-twist driver cc (FOLD A). */
|
|
87
|
+
env: number;
|
|
88
|
+
/** The sheet height at the driver cc (= env; the named leaf scalar). */
|
|
89
|
+
h: number;
|
|
90
|
+
/** The Lambert slope-shade [0,1] against the fixed key-light. */
|
|
91
|
+
shade: number;
|
|
92
|
+
/** The squashed inset-square face coverage [0,1]. */
|
|
93
|
+
faceCov: number;
|
|
94
|
+
/** The composited face alpha (FOLD D — face·faceAlpha·fieldAlpha, NO h-term). */
|
|
95
|
+
faceA: number;
|
|
96
|
+
/** The ramp parameter mix(shade, h) keying the multi-stop warm-divergent ink (FOLD B). */
|
|
97
|
+
rampT: number;
|
|
98
|
+
}
|
|
99
|
+
export declare function samplePaperGrid(uv: Vec2, t: number, p: PaperGridSampleParams): {
|
|
100
|
+
line: number;
|
|
101
|
+
alpha: number;
|
|
102
|
+
face: PaperGridFace;
|
|
103
|
+
};
|
|
104
|
+
/** The grid scale from the view + minor pitch (LARGER cells = smaller scale). */
|
|
105
|
+
export declare function gridScaleFor(viewExtentPx: number, minorPitchPx: number): number;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { WebGLCanvasFrame } from "../../../../composables/glass/webgl/useWebGLCanvas";
|
|
2
|
+
import type { PaperGridConfig } from "../constants";
|
|
3
|
+
import { type Vec2 } from "./paperGrid";
|
|
4
|
+
export interface PaperGridGLSetupDeps {
|
|
5
|
+
canvas: HTMLCanvasElement;
|
|
6
|
+
config: PaperGridConfig;
|
|
7
|
+
getCursor: () => Vec2;
|
|
8
|
+
/** The spring-eased traveling-wave envelope amplitude (0..1; PRM → 0). */
|
|
9
|
+
getAmp: () => number;
|
|
10
|
+
shouldContinue: () => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The per-frame pointer hook — usePaperGrid advances the shared pointer field + derives
|
|
13
|
+
* the transient cursor here (the no-own-rAF discipline). ZERO own rAF.
|
|
14
|
+
*/
|
|
15
|
+
onFrame?: (timeSec: number) => void;
|
|
16
|
+
}
|
|
17
|
+
/** Build the `setupGL(gl)` callback the `createGpuSubstrate` WebGL2 path invokes. */
|
|
18
|
+
export declare function createPaperGridGLSetup(deps: PaperGridGLSetupDeps): (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WebGPUCanvasFrame } from "../../../../composables/glass/webgpu/useWebGPUCanvas";
|
|
2
|
+
import type { PaperGridConfig } from "../constants";
|
|
3
|
+
import type { Vec2 } from "./paperGrid";
|
|
4
|
+
export interface PaperGridWGPUSetupDeps {
|
|
5
|
+
canvas: HTMLCanvasElement;
|
|
6
|
+
config: PaperGridConfig;
|
|
7
|
+
/** The transient pointer cursor in GRID space — re-read each frame (the cursor swirl). */
|
|
8
|
+
getCursor: () => Vec2;
|
|
9
|
+
/** The spring-eased traveling-wave envelope amplitude (0..1; PRM → 0). */
|
|
10
|
+
getAmp: () => number;
|
|
11
|
+
/** Demand-gate (the renderer's quiescence layer — substrate-agnostic). */
|
|
12
|
+
shouldContinue: () => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The per-frame pointer hook — usePaperGrid advances the shared `usePointerVelocityField`
|
|
15
|
+
* here (the no-own-rAF discipline: the renderer's frame loop FEEDS `tick(delta)`) and
|
|
16
|
+
* derives the transient cursor. ZERO own rAF.
|
|
17
|
+
*/
|
|
18
|
+
onFrame?: (timeSec: number) => void;
|
|
19
|
+
}
|
|
20
|
+
/** Build the paper-grid `setupWGPU(device, context, format)` callback. */
|
|
21
|
+
export declare function createPaperGridWGPUSetup(deps: PaperGridWGPUSetupDeps): (device: GPUDevice, context: GPUCanvasContext, format: GPUTextureFormat) => WebGPUCanvasFrame;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PaperGridConfig } from "../constants";
|
|
2
|
+
import type { Vec2 } from "./paperGrid";
|
|
3
|
+
export declare const PAPER_GRID_UNIFORM_BYTES = 224;
|
|
4
|
+
export interface PaperGridUniformScratch {
|
|
5
|
+
buffer: ArrayBuffer;
|
|
6
|
+
f32: Float32Array;
|
|
7
|
+
}
|
|
8
|
+
export declare function createPaperGridScratch(): PaperGridUniformScratch;
|
|
9
|
+
/**
|
|
10
|
+
* Pack the paper-grid uniforms in place. `viewExtentPx` is the canvas backing-store extent
|
|
11
|
+
* the grid scale derives from (so the cell pitch is honest in device px); `cursor` is the
|
|
12
|
+
* transient pointer in GRID space (the renderer derives it from `usePointerVelocityField`);
|
|
13
|
+
* `aspect` corrects the domain x. The line ink resolves the warm `--foreground` identity
|
|
14
|
+
* (the demo themes it via a preset, never a token edit).
|
|
15
|
+
*/
|
|
16
|
+
export declare function packPaperGridUniforms(scratch: PaperGridUniformScratch, config: PaperGridConfig, timeSec: number, aspect: number, viewExtentPx: number, cursor: Vec2, amp: number): PaperGridUniformScratch;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type GpuBackend } from "../../../../composables/glass/webgpu/useGpuSubstrate";
|
|
3
|
+
import type { PaperGridConfig } from "../constants";
|
|
4
|
+
export interface UsePaperGridOptions {
|
|
5
|
+
config: PaperGridConfig;
|
|
6
|
+
/** `"capture"` → renderAt-only (the deterministic π capture path). Default `"live"`. */
|
|
7
|
+
mode?: "live" | "capture";
|
|
8
|
+
}
|
|
9
|
+
/** The uniform handle a consumer wires its lifecycle against (backend-agnostic). */
|
|
10
|
+
export interface PaperGridHandle {
|
|
11
|
+
/** The resolved backend (`"webgpu"` where supported, else the WebGL2 GLSL fallback). */
|
|
12
|
+
readonly backend: GpuBackend;
|
|
13
|
+
/** Park the loop (the WCAG-2.2.2 pause seam — `DockBackgroundToggle` wires this). */
|
|
14
|
+
pause: () => void;
|
|
15
|
+
/** Re-arm the loop. */
|
|
16
|
+
resume: () => void;
|
|
17
|
+
/** Re-arm a parked loop on demand (a pointer that re-introduced motion). */
|
|
18
|
+
wake: () => void;
|
|
19
|
+
/** Draw one frame out-of-loop (capture / thumbnail). */
|
|
20
|
+
renderAt: (timeSec: number) => void;
|
|
21
|
+
/** The live `prefers-reduced-motion: reduce` state. */
|
|
22
|
+
readonly reducedMotion: boolean;
|
|
23
|
+
/** Tear down the renderer + release GPU/GL resources. */
|
|
24
|
+
dispose: () => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Mount the paper-grid renderer on `canvasRef`. The WebGPU primary + the WebGL2 fallback are
|
|
28
|
+
* BOTH pure fullscreen fragment passes evaluating the SAME liquid grid (the ONE math source
|
|
29
|
+
* `paperGrid.ts`), so the picker is the only seam. Returns the uniform lifecycle handle.
|
|
30
|
+
*/
|
|
31
|
+
export declare function usePaperGrid(canvasRef: Ref<HTMLCanvasElement | null>, options: UsePaperGridOptions): PaperGridHandle;
|