shaders 3.1.462 → 3.1.463

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{CursorRipples-DB-pXdOa.js → CursorRipples-CgDYeS56.js} +1 -1
  3. package/dist/core/CursorTrail-CR8Yzb95.js +1687 -0
  4. package/dist/core/{Fog-Df_ScuGu.js → Fog-BZE-8zd_.js} +1 -1
  5. package/dist/core/{InkFlow-Bm5pXn7t.js → InkFlow-C8TiHmkM.js} +1 -1
  6. package/dist/core/{ParticleFlow-D5LhGlwp.js → ParticleFlow-CEWBGUct.js} +1 -1
  7. package/dist/core/{ReactionDiffusion-C7YAM_2K.js → ReactionDiffusion-z37SYWSB.js} +1 -1
  8. package/dist/core/{Smoke-B7-Lg6sy.js → Smoke-CK_dPkpu.js} +1 -1
  9. package/dist/core/{SmokeFill-g6J2PhDW.js → SmokeFill-BSu4o6eH.js} +1 -1
  10. package/dist/core/{SmokeFlow-Cin8S6uq.js → SmokeFlow-wijbufSp.js} +1 -1
  11. package/dist/core/gpu/index.d.ts +6 -0
  12. package/dist/core/gpu/index.d.ts.map +1 -1
  13. package/dist/core/gpu/kit/host/pointer.d.ts +9 -0
  14. package/dist/core/gpu/kit/host/pointer.d.ts.map +1 -1
  15. package/dist/core/index.js +37 -14
  16. package/dist/core/{pointer-DKBz1Qcc.js → pointer-CdyEZBpL.js} +11 -2
  17. package/dist/core/presetRenderer.d.ts.map +1 -1
  18. package/dist/core/registry.js +11 -11
  19. package/dist/core/{shaderRegistry-CpApZw3f.js → shaderRegistry-ByB1HjcV.js} +9 -9
  20. package/dist/core/shaders/CursorRipples/index.js +2 -2
  21. package/dist/core/shaders/CursorTrail/index.d.ts +33 -16
  22. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  23. package/dist/core/shaders/CursorTrail/index.js +3 -3
  24. package/dist/core/shaders/Fog/index.js +2 -2
  25. package/dist/core/shaders/InkFlow/index.js +2 -2
  26. package/dist/core/shaders/ParticleFlow/index.js +2 -2
  27. package/dist/core/shaders/ReactionDiffusion/index.js +2 -2
  28. package/dist/core/shaders/Smoke/index.js +2 -2
  29. package/dist/core/shaders/SmokeFill/index.js +2 -2
  30. package/dist/core/shaders/SmokeFlow/index.js +2 -2
  31. package/dist/js/bundle.js +149 -149
  32. package/dist/js/createShader.js +1 -1
  33. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  34. package/dist/js/utils/generatePresetCode.js +1 -0
  35. package/dist/react/Shader.js +1 -1
  36. package/dist/react/bundle.js +158 -158
  37. package/dist/react/components/CursorTrail.d.ts +4 -2
  38. package/dist/react/components/CursorTrail.d.ts.map +1 -1
  39. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  40. package/dist/react/utils/generatePresetCode.js +1 -0
  41. package/dist/registry.js +36 -6
  42. package/dist/solid/components/CursorTrail.d.ts +4 -2
  43. package/dist/solid/components/CursorTrail.d.ts.map +1 -1
  44. package/dist/solid/engine/Shader.js +1 -1
  45. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  46. package/dist/solid/utils/generatePresetCode.js +1 -0
  47. package/dist/svelte/components/CursorTrail.svelte.d.ts +2 -1
  48. package/dist/svelte/index.js +1 -1
  49. package/dist/svelte/source/components/CursorTrail.svelte +1 -0
  50. package/dist/svelte/utils/generatePresetCode.js +1 -0
  51. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +1 -0
  52. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  53. package/dist/vue/components/CursorTrail.vue.d.ts +2 -1
  54. package/dist/vue/components/CursorTrail.vue.d.ts.map +1 -1
  55. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  56. package/dist/vue/utils/generatePresetCode.js +1 -0
  57. package/package.json +1 -1
  58. package/dist/core/CursorTrail-Dk3-1Y0B.js +0 -1224
@@ -4,7 +4,7 @@ import { o as TAU$1 } from "./constants-BKlzQFdJ.js";
4
4
  import { a as gaussianBrushSq, c as createStableFluidsPasses, o as buildFluidOutputKernel, s as buildStableFluidsKernels } from "./porters-j7yWJYy2.js";
5
5
  import { o as hash11, s as hash12 } from "./noise-eXd1Bfrw.js";
6
6
  import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
7
- import { n as createPointerVelocityTracker } from "./pointer-DKBz1Qcc.js";
7
+ import { n as createPointerVelocityTracker } from "./pointer-CdyEZBpL.js";
8
8
  var N = 256;
9
9
  var COUNT = N * N;
10
10
  var JACOBI_ITERS = 10;
@@ -2,7 +2,7 @@ import { Ft as vec3f, G as mixPreconvertedLinear, Gt as textureStorage2d, K as m
2
2
  import { M as createGuardedCompute, P as createStateBuffer } from "./device-DKcu50_C.js";
3
3
  import { c as createStableFluidsPasses, i as gaussianBrushFnSq, o as buildFluidOutputKernel, s as buildStableFluidsKernels } from "./porters-j7yWJYy2.js";
4
4
  import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
5
- import { i as pathStampRibbon, n as createPointerVelocityTracker, r as decayFadeSeconds, t as createIdleGate } from "./pointer-DKBz1Qcc.js";
5
+ import { i as pathStampRibbon, n as createPointerVelocityTracker, r as decayFadeSeconds, t as createIdleGate } from "./pointer-CdyEZBpL.js";
6
6
  var N = 256;
7
7
  var COUNT = N * N;
8
8
  var JACOBI_ITERS = 10;
@@ -4,7 +4,7 @@ import { I as textureLoad, M as createGuardedCompute, P as createStateBuffer, R
4
4
  import { a as gaussianBrushSq, c as createStableFluidsPasses, l as neighbourIndex, s as buildStableFluidsKernels } from "./porters-j7yWJYy2.js";
5
5
  import { r as curl22z, u as hash33 } from "./noise-eXd1Bfrw.js";
6
6
  import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
7
- import { i as pathStampRibbon, n as createPointerVelocityTracker, t as createIdleGate } from "./pointer-DKBz1Qcc.js";
7
+ import { i as pathStampRibbon, n as createPointerVelocityTracker, t as createIdleGate } from "./pointer-CdyEZBpL.js";
8
8
  var N = 256;
9
9
  var FLUID_COUNT = N * N;
10
10
  var JACOBI_ITERS = isMobileGpuViewport() ? 6 : 10;
@@ -4,7 +4,7 @@ import { t as DEG_TO_RAD } from "./constants-BKlzQFdJ.js";
4
4
  import { O as createLateBoundChildInput } from "./porters-j7yWJYy2.js";
5
5
  import { s as hash12 } from "./noise-eXd1Bfrw.js";
6
6
  import { a as transformColor, i as transformBoolean, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
7
- import { n as createPointerVelocityTracker } from "./pointer-DKBz1Qcc.js";
7
+ import { n as createPointerVelocityTracker } from "./pointer-CdyEZBpL.js";
8
8
  var cm = colorMixing_exports;
9
9
  var N = 512;
10
10
  var COUNT = N * N;
@@ -2,7 +2,7 @@ import { Gt as textureStorage2d, I as colorMixing_exports, Kt as arrayOf, Lt as
2
2
  import { M as createGuardedCompute, P as createStateBuffer } from "./device-DKcu50_C.js";
3
3
  import { V as colorStopsPropConfig, a as gaussianBrushSq, c as createStableFluidsPasses, o as buildFluidOutputKernel, q as mixColorStopsRuntime, s as buildStableFluidsKernels } from "./porters-j7yWJYy2.js";
4
4
  import { a as transformColor, c as transformPosition, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
5
- import { n as createPointerVelocityTracker } from "./pointer-DKBz1Qcc.js";
5
+ import { n as createPointerVelocityTracker } from "./pointer-CdyEZBpL.js";
6
6
  var N = 256;
7
7
  var COUNT = N * N;
8
8
  var JACOBI_ITERS = 10;
@@ -4,7 +4,7 @@ import { c as createStableFluidsPasses, o as buildFluidOutputKernel, s as buildS
4
4
  import { i as shapeEffectBoundingBoxDeclaration, n as sdf3d_exports, r as resolveShapeType } from "./sdf3d-B8EwGL7R.js";
5
5
  import { n as glass_exports } from "./glass-Di_yYrw1.js";
6
6
  import { a as transformColor, c as transformPosition, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
7
- import { n as createPointerVelocityTracker } from "./pointer-DKBz1Qcc.js";
7
+ import { n as createPointerVelocityTracker } from "./pointer-CdyEZBpL.js";
8
8
  var { sdfSpaceUV } = glass_exports;
9
9
  var { createSvgSdfSampler, createSdfDataTexture, SVG_SDF_SIZE, createAnalyticSdfSampler, driveAnalyticSubProps, ANALYTIC_SDF_EXTRA_FIELDS, buildAnalyticSdfFn } = sdf_exports;
10
10
  var { createVolumetricFieldComputeNode, buildVolumetricFieldSampler, VOLUMETRIC_FIELD_EXTRA_FIELDS } = sdf3d_exports;
@@ -2,7 +2,7 @@ import { Gt as textureStorage2d, I as colorMixing_exports, Kt as arrayOf, Lt as
2
2
  import { M as createGuardedCompute, P as createStateBuffer } from "./device-DKcu50_C.js";
3
3
  import { V as colorStopsPropConfig, a as gaussianBrushSq, c as createStableFluidsPasses, o as buildFluidOutputKernel, q as mixColorStopsRuntime, s as buildStableFluidsKernels } from "./porters-j7yWJYy2.js";
4
4
  import { a as transformColor, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-u-UZrXjj.js";
5
- import { i as pathStampRibbon, n as createPointerVelocityTracker, r as decayFadeSeconds, t as createIdleGate } from "./pointer-DKBz1Qcc.js";
5
+ import { i as pathStampRibbon, n as createPointerVelocityTracker, r as decayFadeSeconds, t as createIdleGate } from "./pointer-CdyEZBpL.js";
6
6
  var N = 256;
7
7
  var COUNT = N * N;
8
8
  var JACOBI_ITERS = 10;
@@ -64,6 +64,12 @@ interface MouseDriverState {
64
64
  currentY: number;
65
65
  velocityX: number;
66
66
  velocityY: number;
67
+ /**
68
+ * Set once the state has seen a REAL pointer position. A state created before any pointer
69
+ * event seeds from the off-screen park (-10) — on the first real event it must SNAP to the
70
+ * cursor, not spring across the canvas (content visibly flying in from off-screen).
71
+ */
72
+ pointerSnapped?: boolean;
67
73
  /** Live pre-flip box-local point for UI readback (mouse-position). */
68
74
  liveX?: number;
69
75
  liveY?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gpu/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gpu/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,15 @@ import { ComputeStep } from '../../compute';
4
4
  export interface PointerLike {
5
5
  x?: number;
6
6
  y?: number;
7
+ /**
8
+ * `false` while NO real pointer event has ever reached the canvas (the renderer parks the
9
+ * pointer off-screen / at a fallback until then). While false the tracker treats the sample as
10
+ * absent — it will NOT adopt the parked position as its "previous" — and when the first real
11
+ * sample lands it SNAPS to it with zero delta, so no sim receives a giant impulse/streak from
12
+ * the park position to wherever the mouse actually is. Hosts that don't provide the flag get
13
+ * the legacy behaviour (every defined sample is real).
14
+ */
15
+ seen?: boolean;
7
16
  }
8
17
  /** One frame of resolved pointer motion. All positions are in [0, 1] viewport UV. */
9
18
  export interface PointerFrame {
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../../src/gpu/kit/host/pointer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../../src/gpu/kit/host/pointer.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,9 @@ import "./Cross-ob_ftCiT.js";
71
71
  import "./CRTScreen-BY4EuaEH.js";
72
72
  import "./Crystal-D434DG-P.js";
73
73
  import "./CurlNoise-BdNjQeqg.js";
74
- import "./pointer-DKBz1Qcc.js";
75
- import "./CursorRipples-DB-pXdOa.js";
76
- import "./CursorTrail-Dk3-1Y0B.js";
74
+ import "./pointer-CdyEZBpL.js";
75
+ import "./CursorRipples-CgDYeS56.js";
76
+ import "./CursorTrail-CR8Yzb95.js";
77
77
  import "./DataMosh-DOv5w8mq.js";
78
78
  import "./DiamondGradient-BjqWyhxG.js";
79
79
  import "./DiamondWipe-KFEhDDoA.js";
@@ -96,7 +96,7 @@ import "./Flower-DzK5D1gw.js";
96
96
  import "./FlowField-B4UfuI6k.js";
97
97
  import "./FlowingGradient-BbBfNWVt.js";
98
98
  import "./FlutedGlass-tleahatl.js";
99
- import "./Fog-Df_ScuGu.js";
99
+ import "./Fog-BZE-8zd_.js";
100
100
  import "./FractalNoise-Cp5VzY-P.js";
101
101
  import "./Frost-CH3pDx11.js";
102
102
  import "./GaborNoise-D1K3fmpq.js";
@@ -120,7 +120,7 @@ import "./Holographic-B7T5PO7A.js";
120
120
  import "./HTMLInCanvas-D-wwJDXY.js";
121
121
  import "./HueShift-NPrgvT8i.js";
122
122
  import "./ImageTexture-D_DuE22Q.js";
123
- import "./InkFlow-Bm5pXn7t.js";
123
+ import "./InkFlow-C8TiHmkM.js";
124
124
  import "./Invert-DSL_1AHp.js";
125
125
  import "./IrisWipe-DHqJsmdN.js";
126
126
  import "./IsometricCubes-BvXPOglM.js";
@@ -148,7 +148,7 @@ import "./PagePeel-CM0kk9ku.js";
148
148
  import "./Paper-CZxfSpk0.js";
149
149
  import "./Parallelogram-iC4nDSz9.js";
150
150
  import "./ParticleField-Br2-UoOj.js";
151
- import "./ParticleFlow-D5LhGlwp.js";
151
+ import "./ParticleFlow-CEWBGUct.js";
152
152
  import "./Particles-qM7v4_ds.js";
153
153
  import "./PerlinNoise-B94uI7_O.js";
154
154
  import "./Perspective-V0EYI6XF.js";
@@ -165,7 +165,7 @@ import "./ProgressiveBlur-DSQu7xZi.js";
165
165
  import "./RadialGradient-Sr3KGVMn.js";
166
166
  import "./RadialWipe-RcvBZdZS.js";
167
167
  import "./RandomBars-Cz8Q4TbS.js";
168
- import "./ReactionDiffusion-C7YAM_2K.js";
168
+ import "./ReactionDiffusion-z37SYWSB.js";
169
169
  import "./RectangularCoordinates-DMlN9TZ6.js";
170
170
  import "./ReflectivePlane-BCMn97BD.js";
171
171
  import "./Repeater-C5MAYSa4.js";
@@ -180,9 +180,9 @@ import "./Shatter-CSR4Hrfn.js";
180
180
  import "./SimplexNoise-CNEC7KTy.js";
181
181
  import "./SineWave-BJT7tIrR.js";
182
182
  import "./SliceWipe-BpL6ESuf.js";
183
- import "./Smoke-B7-Lg6sy.js";
184
- import "./SmokeFill-g6J2PhDW.js";
185
- import "./SmokeFlow-Cin8S6uq.js";
183
+ import "./Smoke-CK_dPkpu.js";
184
+ import "./SmokeFill-BSu4o6eH.js";
185
+ import "./SmokeFlow-wijbufSp.js";
186
186
  import "./Solarize-DgNG5mG2.js";
187
187
  import "./SolidColor-Bp_KSGbp.js";
188
188
  import "./Spherize-DdJ0QnmX.js";
@@ -222,7 +222,7 @@ import "./WebcamTexture-YMfcROPm.js";
222
222
  import "./Wool-ByX7xX7a.js";
223
223
  import "./WorleyNoise-D2jP9Pwt.js";
224
224
  import "./ZoomBlur-B7gpP676.js";
225
- import { n as getShaderByName, t as getAllShaders } from "./shaderRegistry-CpApZw3f.js";
225
+ import { n as getShaderByName, t as getAllShaders } from "./shaderRegistry-ByB1HjcV.js";
226
226
  const fullScreenTriangle = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(vertexFn({
227
227
  in: { vertexIndex: builtin.vertexIndex },
228
228
  out: {
@@ -1647,6 +1647,7 @@ function shaderRendererGPU() {
1647
1647
  let pointerX = -10;
1648
1648
  let pointerY = -10;
1649
1649
  let pointerActive = false;
1650
+ let pointerSeen = false;
1650
1651
  let cachedCanvasRect = null;
1651
1652
  let mouseListenersNeeded = false;
1652
1653
  let globalEventUnregister = null;
@@ -1677,7 +1678,8 @@ function shaderRendererGPU() {
1677
1678
  deltaTime: 0,
1678
1679
  pointer: {
1679
1680
  x: -10,
1680
- y: -10
1681
+ y: -10,
1682
+ seen: false
1681
1683
  },
1682
1684
  pointerActive: false,
1683
1685
  dimensions: {
@@ -1961,13 +1963,15 @@ function shaderRendererGPU() {
1961
1963
  currentX: trackX ? pointerX : driver.x,
1962
1964
  currentY: trackY ? pointerY : driver.y,
1963
1965
  velocityX: 0,
1964
- velocityY: 0
1966
+ velocityY: 0,
1967
+ pointerSnapped: pointerSeen
1965
1968
  };
1966
1969
  } else s = {
1967
1970
  currentX: Math.max(.001, driver.axis === "x" ? pointerX : pointerY),
1968
1971
  currentY: 0,
1969
1972
  velocityX: 0,
1970
- velocityY: 0
1973
+ velocityY: 0,
1974
+ pointerSnapped: pointerSeen
1971
1975
  };
1972
1976
  node.mouseDriverState[prop] = s;
1973
1977
  return s;
@@ -2723,6 +2727,17 @@ function shaderRendererGPU() {
2723
2727
  const momentum = driver.momentum ?? 0;
2724
2728
  const trackX = driver.x === void 0 || driver.x === "mouse";
2725
2729
  const trackY = driver.y === void 0 || driver.y === "mouse";
2730
+ if (!state.pointerSnapped && pointerSeen) {
2731
+ state.pointerSnapped = true;
2732
+ if (trackX) {
2733
+ state.currentX = pointerX;
2734
+ state.velocityX = 0;
2735
+ }
2736
+ if (trackY) {
2737
+ state.currentY = pointerY;
2738
+ state.velocityY = 0;
2739
+ }
2740
+ }
2726
2741
  let finalX;
2727
2742
  let finalY;
2728
2743
  if (trackX) {
@@ -2774,6 +2789,11 @@ function shaderRendererGPU() {
2774
2789
  const smoothing = driver.smoothing ?? 0;
2775
2790
  const momentum = driver.momentum ?? 0;
2776
2791
  const target = driver.axis === "x" ? pointerX : pointerY;
2792
+ if (!state.pointerSnapped && pointerSeen) {
2793
+ state.pointerSnapped = true;
2794
+ state.currentX = Math.max(.001, target);
2795
+ state.velocityX = 0;
2796
+ }
2777
2797
  const [nx, vx] = applySpring(state.currentX, state.velocityX, target, smoothing, momentum, deltaTime);
2778
2798
  state.currentX = nx;
2779
2799
  state.velocityX = vx;
@@ -2977,6 +2997,7 @@ function shaderRendererGPU() {
2977
2997
  frameParams.deltaTime = delta;
2978
2998
  frameParams.pointer.x = hasRealPointer ? pointerX : .5;
2979
2999
  frameParams.pointer.y = hasRealPointer ? pointerY : .5;
3000
+ frameParams.pointer.seen = pointerSeen;
2980
3001
  frameParams.pointerActive = pointerActive;
2981
3002
  frameParams.dimensions.width = currentWidth;
2982
3003
  frameParams.dimensions.height = currentHeight;
@@ -3089,6 +3110,7 @@ function shaderRendererGPU() {
3089
3110
  }
3090
3111
  pointerX = (clientX - cachedCanvasRect.left) / cachedCanvasRect.width;
3091
3112
  pointerY = (clientY - cachedCanvasRect.top) / cachedCanvasRect.height;
3113
+ pointerSeen = true;
3092
3114
  };
3093
3115
  const onPointerMove = (event) => {
3094
3116
  if (!isInitialized || !canvasElement) return;
@@ -3438,6 +3460,7 @@ function shaderRendererGPU() {
3438
3460
  pointerX = -10;
3439
3461
  pointerY = -10;
3440
3462
  pointerActive = false;
3463
+ pointerSeen = false;
3441
3464
  mouseListenersNeeded = false;
3442
3465
  onReadyCallback = null;
3443
3466
  hasEmittedReady = false;
@@ -6,11 +6,20 @@ function createPointerVelocityTracker(opts = {}) {
6
6
  let prevY = opts.initialY ?? .5;
7
7
  let smoothVelX = 0;
8
8
  let smoothVelY = 0;
9
+ let sawUnseen = false;
10
+ let snappedToFirstReal = false;
9
11
  return { update(pointer, dt) {
12
+ const parked = pointer?.seen === false;
13
+ if (parked) sawUnseen = true;
14
+ else if (pointer?.x !== void 0 && sawUnseen && !snappedToFirstReal) {
15
+ snappedToFirstReal = true;
16
+ prevX = pointer.x;
17
+ prevY = pointer.y ?? prevY;
18
+ }
10
19
  const oldX = prevX;
11
20
  const oldY = prevY;
12
- const x = pointer?.x ?? prevX;
13
- const y = pointer?.y ?? prevY;
21
+ const x = parked ? prevX : pointer?.x ?? prevX;
22
+ const y = parked ? prevY : pointer?.y ?? prevY;
14
23
  const rawDx = x - oldX;
15
24
  const rawDy = y - oldY;
16
25
  const dragDist = Math.sqrt(rawDx * rawDx + rawDy * rawDy);
@@ -1 +1 @@
1
- {"version":3,"file":"presetRenderer.d.ts","sourceRoot":"","sources":["../src/presetRenderer.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,CAAA;QACjB,OAAO,EAAE,UAAU,CAAA;KACpB,CAAA;IACD,OAAO,CAAC,EAAE,qBAAqB,GAAG,sBAAsB,CAAA;IAExD,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,qBAAqB,GAAG,sBAAsB,CAAA;IACxD,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,qBAAqB;yBAmBG,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC;4BA4B9B;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;8BAa5C,YAAY,KAAG,IAAI;yBAgB1B,UAAU;mBAchB,IAAI;IA8FtB;;;;;;OAMG;8EAM+n0I,CAAC;IAJno0I,+DAA+D;;EAGlE"}
1
+ {"version":3,"file":"presetRenderer.d.ts","sourceRoot":"","sources":["../src/presetRenderer.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,CAAA;QACjB,OAAO,EAAE,UAAU,CAAA;KACpB,CAAA;IACD,OAAO,CAAC,EAAE,qBAAqB,GAAG,sBAAsB,CAAA;IAExD,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,qBAAqB,GAAG,sBAAsB,CAAA;IACxD,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,qBAAqB;yBAmBG,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC;4BA4B9B;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;8BAa5C,YAAY,KAAG,IAAI;yBAgB1B,UAAU;mBAchB,IAAI;IA8FtB;;;;;;OAMG;8EAM+13I,CAAC;IAJn23I,+DAA+D;;EAGlE"}
@@ -71,9 +71,9 @@ import "./Cross-ob_ftCiT.js";
71
71
  import "./CRTScreen-BY4EuaEH.js";
72
72
  import "./Crystal-D434DG-P.js";
73
73
  import "./CurlNoise-BdNjQeqg.js";
74
- import "./pointer-DKBz1Qcc.js";
75
- import "./CursorRipples-DB-pXdOa.js";
76
- import "./CursorTrail-Dk3-1Y0B.js";
74
+ import "./pointer-CdyEZBpL.js";
75
+ import "./CursorRipples-CgDYeS56.js";
76
+ import "./CursorTrail-CR8Yzb95.js";
77
77
  import "./DataMosh-DOv5w8mq.js";
78
78
  import "./DiamondGradient-BjqWyhxG.js";
79
79
  import "./DiamondWipe-KFEhDDoA.js";
@@ -96,7 +96,7 @@ import "./Flower-DzK5D1gw.js";
96
96
  import "./FlowField-B4UfuI6k.js";
97
97
  import "./FlowingGradient-BbBfNWVt.js";
98
98
  import "./FlutedGlass-tleahatl.js";
99
- import "./Fog-Df_ScuGu.js";
99
+ import "./Fog-BZE-8zd_.js";
100
100
  import "./FractalNoise-Cp5VzY-P.js";
101
101
  import "./Frost-CH3pDx11.js";
102
102
  import "./GaborNoise-D1K3fmpq.js";
@@ -120,7 +120,7 @@ import "./Holographic-B7T5PO7A.js";
120
120
  import "./HTMLInCanvas-D-wwJDXY.js";
121
121
  import "./HueShift-NPrgvT8i.js";
122
122
  import "./ImageTexture-D_DuE22Q.js";
123
- import "./InkFlow-Bm5pXn7t.js";
123
+ import "./InkFlow-C8TiHmkM.js";
124
124
  import "./Invert-DSL_1AHp.js";
125
125
  import "./IrisWipe-DHqJsmdN.js";
126
126
  import "./IsometricCubes-BvXPOglM.js";
@@ -148,7 +148,7 @@ import "./PagePeel-CM0kk9ku.js";
148
148
  import "./Paper-CZxfSpk0.js";
149
149
  import "./Parallelogram-iC4nDSz9.js";
150
150
  import "./ParticleField-Br2-UoOj.js";
151
- import "./ParticleFlow-D5LhGlwp.js";
151
+ import "./ParticleFlow-CEWBGUct.js";
152
152
  import "./Particles-qM7v4_ds.js";
153
153
  import "./PerlinNoise-B94uI7_O.js";
154
154
  import "./Perspective-V0EYI6XF.js";
@@ -165,7 +165,7 @@ import "./ProgressiveBlur-DSQu7xZi.js";
165
165
  import "./RadialGradient-Sr3KGVMn.js";
166
166
  import "./RadialWipe-RcvBZdZS.js";
167
167
  import "./RandomBars-Cz8Q4TbS.js";
168
- import "./ReactionDiffusion-C7YAM_2K.js";
168
+ import "./ReactionDiffusion-z37SYWSB.js";
169
169
  import "./RectangularCoordinates-DMlN9TZ6.js";
170
170
  import "./ReflectivePlane-BCMn97BD.js";
171
171
  import "./Repeater-C5MAYSa4.js";
@@ -180,9 +180,9 @@ import "./Shatter-CSR4Hrfn.js";
180
180
  import "./SimplexNoise-CNEC7KTy.js";
181
181
  import "./SineWave-BJT7tIrR.js";
182
182
  import "./SliceWipe-BpL6ESuf.js";
183
- import "./Smoke-B7-Lg6sy.js";
184
- import "./SmokeFill-g6J2PhDW.js";
185
- import "./SmokeFlow-Cin8S6uq.js";
183
+ import "./Smoke-CK_dPkpu.js";
184
+ import "./SmokeFill-BSu4o6eH.js";
185
+ import "./SmokeFlow-wijbufSp.js";
186
186
  import "./Solarize-DgNG5mG2.js";
187
187
  import "./SolidColor-Bp_KSGbp.js";
188
188
  import "./Spherize-DdJ0QnmX.js";
@@ -222,5 +222,5 @@ import "./WebcamTexture-YMfcROPm.js";
222
222
  import "./Wool-ByX7xX7a.js";
223
223
  import "./WorleyNoise-D2jP9Pwt.js";
224
224
  import "./ZoomBlur-B7gpP676.js";
225
- import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-CpApZw3f.js";
225
+ import { a as shaderRegistry, i as getShadersByCategory, n as getShaderByName, r as getShaderCategories, t as getAllShaders } from "./shaderRegistry-ByB1HjcV.js";
226
226
  export { getAllShaders, getShaderByName, getShaderCategories, getShadersByCategory, shaderRegistry };
@@ -42,8 +42,8 @@ import { n as componentDefinition$36 } from "./Cross-ob_ftCiT.js";
42
42
  import { n as componentDefinition$37 } from "./CRTScreen-BY4EuaEH.js";
43
43
  import { r as componentDefinition$38 } from "./Crystal-D434DG-P.js";
44
44
  import { n as componentDefinition$39 } from "./CurlNoise-BdNjQeqg.js";
45
- import { n as componentDefinition$40 } from "./CursorRipples-DB-pXdOa.js";
46
- import { n as componentDefinition$41 } from "./CursorTrail-Dk3-1Y0B.js";
45
+ import { n as componentDefinition$40 } from "./CursorRipples-CgDYeS56.js";
46
+ import { n as componentDefinition$41 } from "./CursorTrail-CR8Yzb95.js";
47
47
  import { n as componentDefinition$42 } from "./DataMosh-DOv5w8mq.js";
48
48
  import { n as componentDefinition$43 } from "./DiamondGradient-BjqWyhxG.js";
49
49
  import { n as componentDefinition$44 } from "./DiamondWipe-KFEhDDoA.js";
@@ -66,7 +66,7 @@ import { n as componentDefinition$61 } from "./Flower-DzK5D1gw.js";
66
66
  import { n as componentDefinition$62 } from "./FlowField-B4UfuI6k.js";
67
67
  import { n as componentDefinition$63 } from "./FlowingGradient-BbBfNWVt.js";
68
68
  import { r as componentDefinition$64 } from "./FlutedGlass-tleahatl.js";
69
- import { a as componentDefinition$65 } from "./Fog-Df_ScuGu.js";
69
+ import { a as componentDefinition$65 } from "./Fog-BZE-8zd_.js";
70
70
  import { n as componentDefinition$67 } from "./FractalNoise-Cp5VzY-P.js";
71
71
  import { n as componentDefinition$68 } from "./Frost-CH3pDx11.js";
72
72
  import { n as componentDefinition$69 } from "./GaborNoise-D1K3fmpq.js";
@@ -90,7 +90,7 @@ import { n as componentDefinition$86 } from "./Holographic-B7T5PO7A.js";
90
90
  import { n as componentDefinition$87 } from "./HTMLInCanvas-D-wwJDXY.js";
91
91
  import { n as componentDefinition$88 } from "./HueShift-NPrgvT8i.js";
92
92
  import { n as componentDefinition$89 } from "./ImageTexture-D_DuE22Q.js";
93
- import { i as componentDefinition$90 } from "./InkFlow-Bm5pXn7t.js";
93
+ import { i as componentDefinition$90 } from "./InkFlow-C8TiHmkM.js";
94
94
  import { n as componentDefinition$91 } from "./Invert-DSL_1AHp.js";
95
95
  import { n as componentDefinition$92 } from "./IrisWipe-DHqJsmdN.js";
96
96
  import { n as componentDefinition$93 } from "./IsometricCubes-BvXPOglM.js";
@@ -117,7 +117,7 @@ import { r as componentDefinition$114 } from "./PagePeel-CM0kk9ku.js";
117
117
  import { n as componentDefinition$115 } from "./Paper-CZxfSpk0.js";
118
118
  import { n as componentDefinition$116 } from "./Parallelogram-iC4nDSz9.js";
119
119
  import { n as componentDefinition$117 } from "./ParticleField-Br2-UoOj.js";
120
- import { n as componentDefinition$118 } from "./ParticleFlow-D5LhGlwp.js";
120
+ import { n as componentDefinition$118 } from "./ParticleFlow-CEWBGUct.js";
121
121
  import { n as componentDefinition$119 } from "./Particles-qM7v4_ds.js";
122
122
  import { n as componentDefinition$120 } from "./PerlinNoise-B94uI7_O.js";
123
123
  import { n as componentDefinition$121 } from "./Perspective-V0EYI6XF.js";
@@ -134,7 +134,7 @@ import { a as componentDefinition$131 } from "./ProgressiveBlur-DSQu7xZi.js";
134
134
  import { n as componentDefinition$132 } from "./RadialGradient-Sr3KGVMn.js";
135
135
  import { n as componentDefinition$133 } from "./RadialWipe-RcvBZdZS.js";
136
136
  import { n as componentDefinition$134 } from "./RandomBars-Cz8Q4TbS.js";
137
- import { n as componentDefinition$135 } from "./ReactionDiffusion-C7YAM_2K.js";
137
+ import { n as componentDefinition$135 } from "./ReactionDiffusion-z37SYWSB.js";
138
138
  import { n as componentDefinition$136 } from "./RectangularCoordinates-DMlN9TZ6.js";
139
139
  import { r as componentDefinition$137 } from "./ReflectivePlane-BCMn97BD.js";
140
140
  import { n as componentDefinition$138 } from "./Repeater-C5MAYSa4.js";
@@ -149,9 +149,9 @@ import { i as componentDefinition$146 } from "./Shatter-CSR4Hrfn.js";
149
149
  import { n as componentDefinition$147 } from "./SimplexNoise-CNEC7KTy.js";
150
150
  import { n as componentDefinition$148 } from "./SineWave-BJT7tIrR.js";
151
151
  import { n as componentDefinition$149 } from "./SliceWipe-BpL6ESuf.js";
152
- import { i as componentDefinition$150 } from "./Smoke-B7-Lg6sy.js";
153
- import { i as componentDefinition$151 } from "./SmokeFill-g6J2PhDW.js";
154
- import { i as componentDefinition$152 } from "./SmokeFlow-Cin8S6uq.js";
152
+ import { i as componentDefinition$150 } from "./Smoke-CK_dPkpu.js";
153
+ import { i as componentDefinition$151 } from "./SmokeFill-BSu4o6eH.js";
154
+ import { i as componentDefinition$152 } from "./SmokeFlow-wijbufSp.js";
155
155
  import { n as componentDefinition$153 } from "./Solarize-DgNG5mG2.js";
156
156
  import { n as componentDefinition$154 } from "./SolidColor-Bp_KSGbp.js";
157
157
  import { n as componentDefinition$155 } from "./Spherize-DdJ0QnmX.js";
@@ -4,6 +4,6 @@ import "../../support-DVuLvN48.js";
4
4
  import "../../porters-j7yWJYy2.js";
5
5
  import "../../transformations-u-UZrXjj.js";
6
6
  import "../../propConfigs-CvzF7Ot8.js";
7
- import "../../pointer-DKBz1Qcc.js";
8
- import { a as propagateKernel, i as gradientKernel, n as componentDefinition, r as cursorRipplesUVs, t as CursorRipples_default } from "../../CursorRipples-DB-pXdOa.js";
7
+ import "../../pointer-CdyEZBpL.js";
8
+ import { a as propagateKernel, i as gradientKernel, n as componentDefinition, r as cursorRipplesUVs, t as CursorRipples_default } from "../../CursorRipples-CgDYeS56.js";
9
9
  export { componentDefinition, cursorRipplesUVs, CursorRipples_default as default, gradientKernel, propagateKernel };
@@ -21,26 +21,32 @@ export interface ComponentProps {
21
21
  colorB: Parameters<typeof transformColor>[0];
22
22
  stops: ColorStop[] | null;
23
23
  /**
24
- * Base radius of trail circles
24
+ * Base radius of the trail stroke
25
25
  *
26
26
  * Accepts a number between 0.5 and 2.
27
27
  * @default 0.5
28
28
  */
29
29
  radius: number;
30
30
  /**
31
- * How long trail circles persist (in seconds)
31
+ * How long the trail persists (in seconds)
32
32
  *
33
33
  * Accepts a number between 0.1 and 2.
34
34
  * @default 0.5
35
35
  */
36
36
  length: number;
37
37
  /**
38
- * How much circles shrink as they fade out (0 = no shrink, 1 = full shrink)
38
+ * How much the stroke tapers as it fades out (0 = no taper, 1 = full taper)
39
39
  *
40
40
  * Accepts a number between 0 and 1.
41
41
  * @default 1
42
42
  */
43
43
  shrink: number;
44
+ /**
45
+ * Edge softness of the trail (0 = crisp paint edge, 1 = very soft)
46
+ *
47
+ * @default 0
48
+ */
49
+ softness: number;
44
50
  /**
45
51
  * Color space for color interpolation
46
52
  *
@@ -49,19 +55,30 @@ export interface ComponentProps {
49
55
  */
50
56
  colorSpace: string;
51
57
  }
52
- /** Decay pass: fade every cell's intensity, recompute its shrink-size, and age it toward 1. */
53
- export declare const decayKernel: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
54
- /** Stamp pass: add a Gaussian trail dot at the cursor (dispatched once per path sub-step). */
55
- export declare const stampKernel: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
56
- /** Output pass: copy the state buffer into the sampled trail texture. */
57
- export declare const outputKernel: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>;
58
- /** One neighbour tap UV (offset by ±1 grid pixel). */
59
- export declare const cursorTrailTapUV: import('typegpu').TgpuFn<(uv: d.Vec2f, ox: d.F32, oy: d.F32) => d.Vec2f>;
60
- /** Weighted (centre 0.5 + 4 neighbours 0.125) smoothing of the trail intensity + age. */
61
- export declare const cursorTrailField: import('typegpu').TgpuFn<(c: d.Vec4f, s1: d.Vec4f, s2: d.Vec4f, s3: d.Vec4f, s4: d.Vec4f) => d.WgslStruct<{
62
- age: d.F32;
63
- mask: d.F32;
64
- }>>;
58
+ /**
59
+ * Per-pixel scan of the trail as a SMOOTH CURVE. Texel i = (x, y, age∈[0,1), signedWidth); age ≥ 1
60
+ * marks a dead/empty slot. The w channel packs two things: |w| is the speed-driven width scale
61
+ * (the pen-pressure analogue) and its SIGN is the link flag — positive = linked to texel i−1,
62
+ * negative = stroke start. The CPU appends a duplicate of the live head so the curve reaches the
63
+ * tip.
64
+ *
65
+ * The spine is the classic midpoint quadratic-Bézier chain: each linked point P_i draws the
66
+ * quadratic around joint P_{i−1} from mid(P_{i−2},P_{i−1}) to mid(P_{i−1},P_i) with P_{i−1} as
67
+ * control (falling back to the raw endpoint at a stroke start). That is C1-continuous through the
68
+ * whole path, so a drawn arc reads as a curve, not a chain of chords. Each quadratic is evaluated
69
+ * as BEZIER_SUBDIVISIONS sub-capsules (round-cones with age-shrunk radii); an unlinked survivor is
70
+ * a plain dot.
71
+ *
72
+ * Two accumulators, both chosen for CONTINUITY:
73
+ * - `minSdf` — plain min-union (adjacent pieces share endpoints/radii, so the union is already
74
+ * smooth; smooth-min would bulge every overlap into a scallop).
75
+ * - `age` — exponentially depth-weighted blend of each joint's age at its closest point: the
76
+ * stroke a pixel is deepest inside dominates (newest-on-top in spirit at crossings)
77
+ * but the handoff is a smooth band ~r/4 wide, never a seam.
78
+ * `softness` widens the edge band in radius units on top of the ~1.5px AA floor; a late-life fade
79
+ * (age 0.8→1) removes the pop when a piece is culled.
80
+ */
81
+ export declare const cursorTrailScan: import('typegpu').TgpuFn<(pointsTex: d.WgslTexture2d<d.F32>, uv: d.Vec2f, aspect: d.F32, radius: d.F32, shrink: d.F32, softness: d.F32, viewportH: d.F32) => d.Vec2f>;
65
82
  export declare const componentDefinition: GpuShaderDefinition<ComponentProps>;
66
83
  export default componentDefinition;
67
84
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorTrail/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAsC,MAAM,uBAAuB,CAAA;AAGnG,OAAO,EAAO,CAAC,EAAgD,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAC1G,OAAO,EAAuB,KAAK,SAAS,EAAC,MAAM,gCAAgC,CAAA;AAEnF,YAAY,EAAC,SAAS,EAAC,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAA;CACrB;AA2BD,+FAA+F;AAC/F,eAAO,MAAM,WAAW,4DASI,CAAA;AAE5B,8FAA8F;AAC9F,eAAO,MAAM,WAAW,4DAgBI,CAAA;AAE5B,yEAAyE;AACzE,eAAO,MAAM,YAAY,4DAKI,CAAA;AAG7B,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,0EAG3B,CAAA;AAEF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB;;;GAQ5B,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAyKnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/CursorTrail/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAA0B,MAAM,uBAAuB,CAAA;AAGvF,OAAO,EAAO,CAAC,EAA6D,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAC,cAAc,EAAyC,MAAM,qCAAqC,CAAA;AAC1G,OAAO,EAAuB,KAAK,SAAS,EAAC,MAAM,gCAAgC,CAAA;AAEnF,YAAY,EAAC,SAAS,EAAC,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAA;CACrB;AA8BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,eAAe,uKAuFD,CAAA;AAE3B,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAkMnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -4,6 +4,6 @@ import "../../support-DVuLvN48.js";
4
4
  import "../../porters-j7yWJYy2.js";
5
5
  import "../../transformations-u-UZrXjj.js";
6
6
  import "../../propConfigs-CvzF7Ot8.js";
7
- import "../../pointer-DKBz1Qcc.js";
8
- import { a as decayKernel, i as cursorTrailTapUV, n as componentDefinition, o as outputKernel, r as cursorTrailField, s as stampKernel, t as CursorTrail_default } from "../../CursorTrail-Dk3-1Y0B.js";
9
- export { componentDefinition, cursorTrailField, cursorTrailTapUV, decayKernel, CursorTrail_default as default, outputKernel, stampKernel };
7
+ import "../../pointer-CdyEZBpL.js";
8
+ import { n as componentDefinition, r as cursorTrailScan, t as CursorTrail_default } from "../../CursorTrail-CR8Yzb95.js";
9
+ export { componentDefinition, cursorTrailScan, CursorTrail_default as default };
@@ -7,6 +7,6 @@ import "../../porters-j7yWJYy2.js";
7
7
  import "../../noise-eXd1Bfrw.js";
8
8
  import "../../transformations-u-UZrXjj.js";
9
9
  import "../../propConfigs-CvzF7Ot8.js";
10
- import "../../pointer-DKBz1Qcc.js";
11
- import { a as componentDefinition, c as curlKernel, d as gradSubtractKernel, f as initKernel, h as vorticityKernel, i as colorRestoreKernel, l as divergenceKernel, m as outputKernel, n as advectDensKernel, o as copyDensKernel, p as jacobiKernel, r as advectVelKernel, s as copyVelKernel, t as Fog_default, u as forceKernel } from "../../Fog-Df_ScuGu.js";
10
+ import "../../pointer-CdyEZBpL.js";
11
+ import { a as componentDefinition, c as curlKernel, d as gradSubtractKernel, f as initKernel, h as vorticityKernel, i as colorRestoreKernel, l as divergenceKernel, m as outputKernel, n as advectDensKernel, o as copyDensKernel, p as jacobiKernel, r as advectVelKernel, s as copyVelKernel, t as Fog_default, u as forceKernel } from "../../Fog-BZE-8zd_.js";
12
12
  export { advectDensKernel, advectVelKernel, colorRestoreKernel, componentDefinition, copyDensKernel, copyVelKernel, curlKernel, Fog_default as default, divergenceKernel, forceKernel, gradSubtractKernel, initKernel, jacobiKernel, outputKernel, vorticityKernel };
@@ -4,6 +4,6 @@ import "../../support-DVuLvN48.js";
4
4
  import "../../porters-j7yWJYy2.js";
5
5
  import "../../transformations-u-UZrXjj.js";
6
6
  import "../../propConfigs-CvzF7Ot8.js";
7
- import "../../pointer-DKBz1Qcc.js";
8
- import { a as copyDyeKernel, c as divergenceKernel, d as jacobiKernel, f as outputKernel, i as componentDefinition, l as gradSubtractKernel, m as vorticityKernel, n as advectDyeKernel, o as copyVelKernel, p as splatKernel, r as advectVelKernel, s as curlKernel, t as InkFlow_default, u as inkFlowComposite } from "../../InkFlow-Bm5pXn7t.js";
7
+ import "../../pointer-CdyEZBpL.js";
8
+ import { a as copyDyeKernel, c as divergenceKernel, d as jacobiKernel, f as outputKernel, i as componentDefinition, l as gradSubtractKernel, m as vorticityKernel, n as advectDyeKernel, o as copyVelKernel, p as splatKernel, r as advectVelKernel, s as curlKernel, t as InkFlow_default, u as inkFlowComposite } from "../../InkFlow-C8TiHmkM.js";
9
9
  export { advectDyeKernel, advectVelKernel, componentDefinition, copyDyeKernel, copyVelKernel, curlKernel, InkFlow_default as default, divergenceKernel, gradSubtractKernel, inkFlowComposite, jacobiKernel, outputKernel, splatKernel, vorticityKernel };
@@ -7,6 +7,6 @@ import "../../porters-j7yWJYy2.js";
7
7
  import "../../noise-eXd1Bfrw.js";
8
8
  import "../../transformations-u-UZrXjj.js";
9
9
  import "../../propConfigs-CvzF7Ot8.js";
10
- import "../../pointer-DKBz1Qcc.js";
11
- import { a as particleFlowAdvectVelKernel, c as particleFlowDivergenceKernel, d as particleFlowInitKernel, f as particleFlowIntegrateKernel, g as particleFlowVorticityKernel, h as particleFlowSplatKernel, i as makeParticleFlowSplatKernel, l as particleFlowForceKernel, m as particleFlowResolveKernel, n as componentDefinition, o as particleFlowCopyVelKernel, p as particleFlowJacobiKernel, r as makeParticleFlowResolveKernel, s as particleFlowCurlKernel, t as ParticleFlow_default, u as particleFlowGradSubtractKernel } from "../../ParticleFlow-D5LhGlwp.js";
10
+ import "../../pointer-CdyEZBpL.js";
11
+ import { a as particleFlowAdvectVelKernel, c as particleFlowDivergenceKernel, d as particleFlowInitKernel, f as particleFlowIntegrateKernel, g as particleFlowVorticityKernel, h as particleFlowSplatKernel, i as makeParticleFlowSplatKernel, l as particleFlowForceKernel, m as particleFlowResolveKernel, n as componentDefinition, o as particleFlowCopyVelKernel, p as particleFlowJacobiKernel, r as makeParticleFlowResolveKernel, s as particleFlowCurlKernel, t as ParticleFlow_default, u as particleFlowGradSubtractKernel } from "../../ParticleFlow-CEWBGUct.js";
12
12
  export { componentDefinition, ParticleFlow_default as default, makeParticleFlowResolveKernel, makeParticleFlowSplatKernel, particleFlowAdvectVelKernel, particleFlowCopyVelKernel, particleFlowCurlKernel, particleFlowDivergenceKernel, particleFlowForceKernel, particleFlowGradSubtractKernel, particleFlowInitKernel, particleFlowIntegrateKernel, particleFlowJacobiKernel, particleFlowResolveKernel, particleFlowSplatKernel, particleFlowVorticityKernel };
@@ -7,6 +7,6 @@ import "../../porters-j7yWJYy2.js";
7
7
  import "../../noise-eXd1Bfrw.js";
8
8
  import "../../transformations-u-UZrXjj.js";
9
9
  import "../../propConfigs-CvzF7Ot8.js";
10
- import "../../pointer-DKBz1Qcc.js";
11
- import { a as rdPickSeg, c as rdSeg, d as reactionKernel, f as reactionKernelChild, i as rdChildDrive, l as rdShade, n as componentDefinition, o as rdRampT, p as seedKernel, r as outputKernel, s as rdSampleUV, t as ReactionDiffusion_default, u as rdShiftUV } from "../../ReactionDiffusion-C7YAM_2K.js";
10
+ import "../../pointer-CdyEZBpL.js";
11
+ import { a as rdPickSeg, c as rdSeg, d as reactionKernel, f as reactionKernelChild, i as rdChildDrive, l as rdShade, n as componentDefinition, o as rdRampT, p as seedKernel, r as outputKernel, s as rdSampleUV, t as ReactionDiffusion_default, u as rdShiftUV } from "../../ReactionDiffusion-z37SYWSB.js";
12
12
  export { componentDefinition, ReactionDiffusion_default as default, outputKernel, rdChildDrive, rdPickSeg, rdRampT, rdSampleUV, rdSeg, rdShade, rdShiftUV, reactionKernel, reactionKernelChild, seedKernel };