stickyflow 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/dist/binding/index.cjs +9 -9
  4. package/dist/binding/index.d.cts +4 -4
  5. package/dist/binding/index.d.ts +4 -4
  6. package/dist/binding/index.js +3 -3
  7. package/dist/{chunk-OWNVXKXN.cjs → chunk-B3YRZVMR.cjs} +23 -23
  8. package/dist/chunk-B3YRZVMR.cjs.map +1 -0
  9. package/dist/{chunk-JCRPLPKV.js → chunk-BUVUJMWT.js} +5 -5
  10. package/dist/chunk-BUVUJMWT.js.map +1 -0
  11. package/dist/{chunk-ZNHYW47T.js → chunk-CM35H45Z.js} +3 -3
  12. package/dist/{chunk-ZNHYW47T.js.map → chunk-CM35H45Z.js.map} +1 -1
  13. package/dist/{chunk-JQK4IGXJ.js → chunk-D2266VBZ.js} +440 -8
  14. package/dist/chunk-D2266VBZ.js.map +1 -0
  15. package/dist/{chunk-SDMQRSRW.js → chunk-FS6L462E.js} +455 -136
  16. package/dist/chunk-FS6L462E.js.map +1 -0
  17. package/dist/{chunk-EKAWJFJQ.cjs → chunk-OUWGWDJ2.cjs} +15 -15
  18. package/dist/{chunk-EKAWJFJQ.cjs.map → chunk-OUWGWDJ2.cjs.map} +1 -1
  19. package/dist/{chunk-KXYSO6GC.cjs → chunk-QL7MNEMT.cjs} +444 -7
  20. package/dist/chunk-QL7MNEMT.cjs.map +1 -0
  21. package/dist/{chunk-BUOWM3LC.cjs → chunk-SQBF2BKT.cjs} +382 -73
  22. package/dist/chunk-SQBF2BKT.cjs.map +1 -0
  23. package/dist/{chunk-A73UJ5AQ.cjs → chunk-YSXD5IVZ.cjs} +1074 -755
  24. package/dist/chunk-YSXD5IVZ.cjs.map +1 -0
  25. package/dist/{chunk-MUKIGLR5.js → chunk-ZCGZJBAT.js} +353 -44
  26. package/dist/chunk-ZCGZJBAT.js.map +1 -0
  27. package/dist/index.cjs +36 -36
  28. package/dist/index.d.cts +5 -5
  29. package/dist/index.d.ts +5 -5
  30. package/dist/index.js +5 -5
  31. package/dist/interaction/index.cjs +268 -235
  32. package/dist/interaction/index.cjs.map +1 -1
  33. package/dist/interaction/index.d.cts +2 -2
  34. package/dist/interaction/index.d.ts +2 -2
  35. package/dist/interaction/index.js +44 -11
  36. package/dist/interaction/index.js.map +1 -1
  37. package/dist/{render-BU2uYzjG.d.cts → render-DU4lYbRl.d.cts} +29 -11
  38. package/dist/{render-BU2uYzjG.d.ts → render-DU4lYbRl.d.ts} +29 -11
  39. package/dist/{runtime-B7KiTmn8.d.cts → runtime-DG8X3Fwf.d.cts} +2 -2
  40. package/dist/{runtime-BPzyD-Nd.d.ts → runtime-kqD1RS17.d.ts} +2 -2
  41. package/dist/{runtimeTypes-DalvhScn.d.ts → runtimeTypes-CvjlBZds.d.cts} +7 -3
  42. package/dist/{runtimeTypes-BIP70z72.d.cts → runtimeTypes-vRaHOIHi.d.ts} +7 -3
  43. package/dist/stickyflow-diagram.global.js +294 -39
  44. package/dist/stickyflow-diagram.global.js.map +1 -1
  45. package/dist/{types-D_2NZ6lL.d.cts → types-B5jrEEcF.d.cts} +1 -1
  46. package/dist/{types-DMWs27Hn.d.ts → types-B7IkZ0w4.d.ts} +1 -1
  47. package/dist/viewer/index.cjs +9 -9
  48. package/dist/viewer/index.d.cts +4 -4
  49. package/dist/viewer/index.d.ts +4 -4
  50. package/dist/viewer/index.js +4 -4
  51. package/dist/web-component/index.cjs +6 -6
  52. package/dist/web-component/index.d.cts +2 -2
  53. package/dist/web-component/index.d.ts +2 -2
  54. package/dist/web-component/index.js +4 -4
  55. package/package.json +1 -1
  56. package/dist/chunk-A73UJ5AQ.cjs.map +0 -1
  57. package/dist/chunk-BUOWM3LC.cjs.map +0 -1
  58. package/dist/chunk-JCRPLPKV.js.map +0 -1
  59. package/dist/chunk-JQK4IGXJ.js.map +0 -1
  60. package/dist/chunk-KXYSO6GC.cjs.map +0 -1
  61. package/dist/chunk-MUKIGLR5.js.map +0 -1
  62. package/dist/chunk-OWNVXKXN.cjs.map +0 -1
  63. package/dist/chunk-SDMQRSRW.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { render } from './chunk-SDMQRSRW.js';
2
- import { parseContractVersion, isContractCompatible, Emitter, resolveOwner, CHANGE_COLOR, findOwnerNode, isPrimary, linkSelectionOverlay, pathSelectionOverlay, isometricSelectionOverlay, shapeSelectionOverlay, DERIVED_HEIGHT_ROLES, quickDuplicateBubbles, isCameraGesture, linkChangeOverlay, shapeChangeOverlay, startChangeFade, REDUCED_MOTION_DURATION_MS, FLASH_DURATION_MS } from './chunk-ZNHYW47T.js';
3
- import { getComponentDescriptor, formatRollingNumber, DEFAULT_ROLLING_NUMBER_STYLE } from './chunk-JQK4IGXJ.js';
1
+ import { render } from './chunk-FS6L462E.js';
2
+ import { parseContractVersion, isContractCompatible, Emitter, resolveOwner, CHANGE_COLOR, findOwnerNode, isPrimary, linkSelectionOverlay, pathSelectionOverlay, isometricSelectionOverlay, shapeSelectionOverlay, DERIVED_HEIGHT_ROLES, quickDuplicateBubbles, isCameraGesture, linkChangeOverlay, shapeChangeOverlay, startChangeFade, REDUCED_MOTION_DURATION_MS, FLASH_DURATION_MS } from './chunk-CM35H45Z.js';
3
+ import { getComponentDescriptor, formatRollingNumber, DEFAULT_ROLLING_NUMBER_STYLE } from './chunk-D2266VBZ.js';
4
4
 
5
5
  // src/runtime/viewer/components/rollingNumberDom.ts
6
6
  var HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
@@ -1655,10 +1655,191 @@ var emberSlitsProgram = {
1655
1655
  fragmentSource: fragmentSource6
1656
1656
  };
1657
1657
 
1658
- // src/runtime/viewer/shaders/builtins/glassRefraction.ts
1658
+ // src/runtime/viewer/shaders/builtins/glassDots.ts
1659
1659
  var fragmentSource7 = `
1660
1660
  precision highp float;
1661
1661
 
1662
+ uniform vec2 uResolution;
1663
+ uniform float uTime;
1664
+ uniform float uSpeed;
1665
+ uniform float uIntensity;
1666
+ uniform float uDots;
1667
+ uniform float uDotSize;
1668
+ uniform float uStagger;
1669
+ uniform float uSphere;
1670
+ uniform float uAngle;
1671
+ uniform float uSpread;
1672
+ uniform float uWarp;
1673
+ uniform float uGlow;
1674
+ uniform float uRound;
1675
+ uniform float uScatter;
1676
+ uniform float uLens;
1677
+ uniform float uGrain;
1678
+ uniform vec3 uBaseColor;
1679
+ uniform vec3 uColorA;
1680
+ uniform vec3 uColorB;
1681
+ uniform vec3 uColorC;
1682
+ uniform vec3 uColorD;
1683
+ uniform vec3 uRimColor;
1684
+ varying vec2 vUv;
1685
+
1686
+ float hash(vec2 p) {
1687
+ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
1688
+ }
1689
+
1690
+ float noise(vec2 p) {
1691
+ vec2 i = floor(p);
1692
+ vec2 f = fract(p);
1693
+ vec2 u = f * f * (3.0 - 2.0 * f);
1694
+ return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x), mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);
1695
+ }
1696
+
1697
+ float fbm(vec2 p) {
1698
+ return 0.5 * noise(p) + 0.25 * noise(p * 2.03 + 3.1) + 0.125 * noise(p * 4.01 + 7.7);
1699
+ }
1700
+
1701
+ vec2 turn(vec2 point, float angle) {
1702
+ float c = cos(angle);
1703
+ float s = sin(angle);
1704
+ return vec2(c * point.x - s * point.y, s * point.x + c * point.y);
1705
+ }
1706
+
1707
+ // How far the grid is stretched at a distance r from the middle; with sphere the dots follow the surface of a ball.
1708
+ float stretch(float r, float sphere) {
1709
+ float rr = clamp(r, 0.0001, 0.9999);
1710
+ return mix(1.0, asin(rr) / rr, sphere);
1711
+ }
1712
+
1713
+ // The color under the dots: an uneven cloud of color whose edge bleeds out into the dark, with a red glow around it.
1714
+ // body is how much of the cloud is there, from 1 inside to 0 far outside.
1715
+ vec3 field(vec2 q, float angle, float t, out float body, out float distance) {
1716
+ vec2 p = turn(q, -angle);
1717
+ vec2 bend = vec2(fbm(p * 2.2 + vec2(t * 0.3, 1.7)), fbm(p * 2.2 + vec2(8.3, -t * 0.25))) - 0.35;
1718
+ vec2 w = p + bend * max(uWarp, 0.0) * 0.4;
1719
+ float rr = length(w) / max(uSpread, 0.2);
1720
+ distance = rr;
1721
+ body = 1.0 - smoothstep(0.78, 1.22, rr);
1722
+
1723
+ vec3 c = uColorB;
1724
+ c = mix(c, uColorA, smoothstep(-0.1, 0.95, dot(w, normalize(vec2(-0.6, 0.7)))) * 0.95);
1725
+ c = mix(c, uColorC, smoothstep(-0.05, 0.6, dot(w, normalize(vec2(0.7, -0.45)))) * 0.9);
1726
+ c = mix(c, uColorD, smoothstep(0.18, 0.85, dot(w, normalize(vec2(0.85, -0.55)))) * 0.97);
1727
+ float ring = smoothstep(0.8, 1.05, rr) * max(uGlow, 0.0);
1728
+ c = mix(c, uRimColor, clamp(ring, 0.0, 1.0));
1729
+ return mix(uBaseColor, c, body);
1730
+ }
1731
+
1732
+ void main() {
1733
+ float side = min(uResolution.x, uResolution.y);
1734
+ vec2 q = (vUv * uResolution - uResolution * 0.5) / (side * 0.5);
1735
+ float r = length(q);
1736
+ // On a circle the picture ends at its edge; on a rectangle the dots run on over the whole surface and may lie beyond the cloud.
1737
+ float edge = uRound > 0.5 ? 1.0 - smoothstep(0.985, 1.0, r) : 1.0;
1738
+ if (edge <= 0.0) discard;
1739
+
1740
+ float t = uTime * max(uSpeed, 0.0);
1741
+ float angle = radians(uAngle);
1742
+ float cells = max(uDots, 2.0) * 0.5;
1743
+ vec2 g = q * stretch(r, uSphere) * cells;
1744
+
1745
+ // The dot that is nearest wins, so dots that lie close cut each other along a straight line.
1746
+ float stagger = clamp(uStagger, 0.0, 1.0);
1747
+ vec2 cell = floor(g);
1748
+ float best = 1e9;
1749
+ vec2 centre = vec2(0.0);
1750
+ for (int j = -1; j <= 1; j++) {
1751
+ for (int i = -1; i <= 1; i++) {
1752
+ vec2 c = cell + vec2(float(i), float(j));
1753
+ float shift = stagger * 0.5 * mod(c.y, 2.0);
1754
+ vec2 mid = vec2(c.x + 0.5 + shift, c.y + 0.5);
1755
+ float d = length(g - mid);
1756
+ if (d < best) {
1757
+ best = d;
1758
+ centre = mid;
1759
+ }
1760
+ }
1761
+ }
1762
+
1763
+ // Where the middle of that dot lies on the screen, found by running the stretch backwards.
1764
+ vec2 gc = centre / cells;
1765
+ float gl = length(gc);
1766
+ float rc = gl;
1767
+ for (int k = 0; k < 5; k++) {
1768
+ rc = gl / stretch(rc, uSphere);
1769
+ }
1770
+ rc = clamp(rc, 0.0, 1.0);
1771
+ vec2 qc = gl > 0.0001 ? gc / gl * rc : vec2(0.0);
1772
+
1773
+ float radius = clamp(uDotSize, 0.2, 0.9);
1774
+ float aa = 1.6 / side * cells * 2.0;
1775
+ float inside = 1.0 - smoothstep(radius - aa, radius + aa, best);
1776
+
1777
+ float bodyHere;
1778
+ float bodyDot;
1779
+ float farHere;
1780
+ float farDot;
1781
+ vec3 colorHere = field(q, angle, t, bodyHere, farHere);
1782
+ field(qc, angle, t, bodyDot, farDot);
1783
+
1784
+ // Between the dots the cloud is darker, so the dots read as glass lying on it.
1785
+ vec3 gap = colorHere * mix(0.3, 0.9, bodyHere);
1786
+
1787
+ // Every dot is a lens with a gradient of its own: lighter on the side that faces the middle, dark on the side that faces out.
1788
+ // The darker side grows toward the edge of the cloud, until the dots there are nearly black.
1789
+ vec2 e = (g - centre) / max(radius, 0.001);
1790
+ vec2 outward = length(qc) > 0.0001 ? normalize(qc) : vec2(0.0, 1.0);
1791
+ vec2 outwardGrid = outward;
1792
+ float along = clamp(dot(e, outwardGrid), -1.0, 1.0);
1793
+ float edgeness = 1.0 - smoothstep(0.1, 0.9, bodyDot);
1794
+ float lens = clamp(uLens, 0.0, 1.5);
1795
+ float darken = lens * (0.1 + 0.9 * edgeness) * smoothstep(-0.55, 1.0, along);
1796
+ float lift = lens * 0.09 * (1.0 - edgeness) * (-along);
1797
+ vec3 glass = colorHere * (1.0 + lift) * (1.0 - clamp(darken, 0.0, 0.96));
1798
+
1799
+ // A dot beyond the cloud is drawn in the dark glow color when the dice fall that way, more of them close to the cloud than far from it.
1800
+ float luck = hash(centre + 17.0);
1801
+ float shown = step(luck, clamp(uScatter, 0.0, 1.0) * (1.0 - smoothstep(1.0, 2.0, farDot))) * (1.0 - bodyDot);
1802
+ vec3 outer = mix(uRimColor, mix(uColorD, uColorC, hash(centre + 5.0)), 0.35 * hash(centre + 9.0)) * (0.25 + 0.4 * hash(centre + 3.0));
1803
+ outer *= 1.0 - 0.8 * smoothstep(-0.55, 1.0, along);
1804
+ glass = mix(glass, outer, shown);
1805
+
1806
+ vec3 color = mix(gap, glass, inside);
1807
+ color *= max(uIntensity, 0.0);
1808
+ color += (hash(gl_FragCoord.xy + t) - 0.5) * max(uGrain, 0.0);
1809
+ gl_FragColor = vec4(clamp(color, 0.0, 1.0), edge);
1810
+ }
1811
+ `;
1812
+ var glassDotsProgram = {
1813
+ name: "glassDots",
1814
+ fragmentSource: fragmentSource7,
1815
+ defaultParameters: {
1816
+ speed: 0,
1817
+ intensity: 1,
1818
+ dots: 13,
1819
+ dotSize: 0.5,
1820
+ stagger: 0,
1821
+ sphere: 0,
1822
+ angle: 0,
1823
+ spread: 0.86,
1824
+ warp: 1,
1825
+ glow: 0.75,
1826
+ round: 0,
1827
+ scatter: 0.45,
1828
+ lens: 0.75,
1829
+ grain: 0.06,
1830
+ baseColor: "#121212",
1831
+ colorA: "#f4b49c",
1832
+ colorB: "#4a9c93",
1833
+ colorC: "#34559c",
1834
+ colorD: "#ec3f93",
1835
+ rimColor: "#d93a24"
1836
+ }
1837
+ };
1838
+
1839
+ // src/runtime/viewer/shaders/builtins/glassRefraction.ts
1840
+ var fragmentSource8 = `
1841
+ precision highp float;
1842
+
1662
1843
  uniform sampler2D uBackdrop;
1663
1844
  uniform vec2 uBackdropOrigin;
1664
1845
  uniform vec2 uBackdropScale;
@@ -1761,12 +1942,138 @@ void main() {
1761
1942
  `;
1762
1943
  var glassRefractionProgram = {
1763
1944
  name: "glassRefraction",
1764
- fragmentSource: fragmentSource7,
1945
+ fragmentSource: fragmentSource8,
1765
1946
  usesBackdrop: true
1766
1947
  };
1767
1948
 
1949
+ // src/runtime/viewer/shaders/builtins/glowCard.ts
1950
+ var fragmentSource9 = `
1951
+ precision highp float;
1952
+
1953
+ uniform vec2 uResolution;
1954
+ uniform float uTime;
1955
+ uniform float uSpeed;
1956
+ uniform float uIntensity;
1957
+ uniform float uGlowHeight;
1958
+ uniform float uGlowSpread;
1959
+ uniform float uCore;
1960
+ uniform float uRim;
1961
+ uniform float uGrain;
1962
+ uniform float uWarp;
1963
+ uniform float uAngle;
1964
+ uniform float uCornerRadius;
1965
+ uniform vec3 uBaseColor;
1966
+ uniform vec3 uColorA;
1967
+ uniform vec3 uColorB;
1968
+ uniform vec3 uColorC;
1969
+ varying vec2 vUv;
1970
+
1971
+ float hash(vec2 p) {
1972
+ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
1973
+ }
1974
+
1975
+ float blob(vec2 p, vec2 center, vec2 size) {
1976
+ vec2 d = (p - center) / size;
1977
+ return exp(-dot(d, d));
1978
+ }
1979
+
1980
+ float noise(vec2 p) {
1981
+ vec2 i = floor(p);
1982
+ vec2 f = fract(p);
1983
+ vec2 u = f * f * (3.0 - 2.0 * f);
1984
+ return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x), mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);
1985
+ }
1986
+
1987
+ float fbm(vec2 p) {
1988
+ return 0.5 * noise(p) + 0.25 * noise(p * 2.03 + 3.1) + 0.125 * noise(p * 4.01 + 7.7);
1989
+ }
1990
+
1991
+ void main() {
1992
+ vec2 size = max(uResolution, vec2(1.0));
1993
+ float radius = uCornerRadius * min(size.x, size.y);
1994
+ vec2 q = abs(vUv * size - size * 0.5) - size * 0.5 + radius;
1995
+ float distance = length(max(q, 0.0)) + min(max(q.x, q.y), 0.0) - radius;
1996
+ float shape = 1.0 - smoothstep(-1.0, 1.0, distance);
1997
+ if (shape <= 0.0) discard;
1998
+
1999
+ // The light comes from one side. Angle 0 is the bottom edge, and it turns clockwise: 90 is the left, 180 the top, 270 the right.
2000
+ // depth is 0 at the edge the light comes from and 1 at the far side, side runs along that edge.
2001
+ float turn = radians(uAngle);
2002
+ vec2 toward = vec2(-sin(turn), -cos(turn));
2003
+ vec2 across = vec2(-toward.y, toward.x);
2004
+ vec2 offset = (vUv - 0.5) * size;
2005
+ float reachAlong = 0.5 * (abs(toward.x) * size.x + abs(toward.y) * size.y);
2006
+ float reachAcross = 0.5 * (abs(across.x) * size.x + abs(across.y) * size.y);
2007
+ float depth = clamp(0.5 - dot(offset, toward) / (2.0 * reachAlong), 0.0, 1.0);
2008
+ float side = clamp(0.5 + dot(offset, across) / (2.0 * reachAcross), 0.0, 1.0);
2009
+ float aspect = reachAcross / reachAlong;
2010
+
2011
+ float t = uTime * max(uSpeed, 0.0);
2012
+ float height = clamp(uGlowHeight, 0.05, 1.0);
2013
+ float spread = max(uGlowSpread, 0.05);
2014
+ // The body is the base color with a faint lift toward the far side, like glass that catches the light.
2015
+ vec3 color = uBaseColor + vec3(0.035) * smoothstep(0.55, 1.0, 1.0 - depth);
2016
+
2017
+ // Three soft lights sit low in the card and drift slowly; the middle one is the broadest.
2018
+ vec2 p = vec2(side * aspect, depth);
2019
+ // The lights are bent by slow noise, so their edges curl like smoke instead of staying round.
2020
+ vec2 bend = vec2(fbm(p * 2.6 + vec2(t * 0.6, 0.0)), fbm(p * 2.6 + vec2(5.2, -t * 0.5))) - 0.35;
2021
+ p += bend * max(uWarp, 0.0) * 0.45;
2022
+ float wander = 0.05 * sin(t);
2023
+ float a = blob(p, vec2((0.18 + wander) * aspect, 0.0), vec2(0.5 * spread * aspect, 0.42 * height));
2024
+ float b = blob(p, vec2((0.52 - wander) * aspect, -0.04), vec2(0.62 * spread * aspect, 0.5 * height));
2025
+ float c = blob(p, vec2((0.86 + wander * 0.6) * aspect, 0.02), vec2(0.5 * spread * aspect, 0.44 * height));
2026
+ // Each light is thicker in some places than in others, so the colors mix unevenly.
2027
+ float patchy = fbm(p * 4.0 + 11.0);
2028
+ a *= 0.55 + 0.9 * patchy;
2029
+ b *= 0.55 + 0.9 * (1.0 - patchy);
2030
+ c *= 0.55 + 0.9 * fbm(p * 4.0 + 23.0);
2031
+ vec3 glow = uColorA * a + uColorB * b + uColorC * c;
2032
+
2033
+ // A haze reaches higher than the lights, so the color fades out into the body.
2034
+ float haze = smoothstep(height, 0.0, depth);
2035
+ glow += mix(uColorB, uColorA, side) * haze * haze * 0.35;
2036
+ color += glow * max(uIntensity, 0.0);
2037
+
2038
+ // Near the exit edge the lights are so strong that they turn white.
2039
+ float hot = smoothstep(height * 0.38, 0.0, depth) * (a + b + c) * clamp(uCore, 0.0, 1.0);
2040
+ color = mix(color, vec3(0.93, 0.95, 1.0), clamp(hot, 0.0, 1.0));
2041
+
2042
+ // A thin rim along the edge, strongest on the side away from the light.
2043
+ float rim = (1.0 - smoothstep(0.0, 1.6, -distance)) * smoothstep(0.0, 1.0, -distance + 1.0);
2044
+ color += vec3(0.62, 0.66, 0.78) * rim * max(uRim, 0.0) * (0.35 + 0.65 * smoothstep(0.2, 1.0, 1.0 - depth));
2045
+
2046
+ // The grit sits in the lit parts and fades in the dark body, as on film.
2047
+ float lit = clamp(dot(glow, vec3(0.45)) * max(uIntensity, 0.0) + hot, 0.0, 1.0);
2048
+ float grit = hash(gl_FragCoord.xy) - 0.5;
2049
+ grit += 0.5 * (hash(floor(gl_FragCoord.xy * 0.5) + 17.0) - 0.5);
2050
+ color += grit * max(uGrain, 0.0) * (0.3 + 2.2 * lit * (1.0 - 0.5 * lit));
2051
+ gl_FragColor = vec4(clamp(color, 0.0, 1.0), shape);
2052
+ }
2053
+ `;
2054
+ var glowCardProgram = {
2055
+ name: "glowCard",
2056
+ fragmentSource: fragmentSource9,
2057
+ defaultParameters: {
2058
+ speed: 0.12,
2059
+ intensity: 1,
2060
+ glowHeight: 0.55,
2061
+ glowSpread: 1,
2062
+ core: 0.7,
2063
+ rim: 0.55,
2064
+ grain: 0.12,
2065
+ warp: 1,
2066
+ angle: 0,
2067
+ cornerRadius: 0.08,
2068
+ baseColor: "#0b0b12",
2069
+ colorA: "#2f6bff",
2070
+ colorB: "#9d5cff",
2071
+ colorC: "#34d3c4"
2072
+ }
2073
+ };
2074
+
1768
2075
  // src/runtime/viewer/shaders/builtins/halftoneHalo.ts
1769
- var fragmentSource8 = `
2076
+ var fragmentSource10 = `
1770
2077
  precision highp float;
1771
2078
 
1772
2079
  uniform vec2 uResolution;
@@ -1845,11 +2152,11 @@ void main() {
1845
2152
  `;
1846
2153
  var halftoneHaloProgram = {
1847
2154
  name: "halftoneHalo",
1848
- fragmentSource: fragmentSource8
2155
+ fragmentSource: fragmentSource10
1849
2156
  };
1850
2157
 
1851
2158
  // src/runtime/viewer/shaders/builtins/halo.ts
1852
- var fragmentSource9 = `
2159
+ var fragmentSource11 = `
1853
2160
  precision highp float;
1854
2161
 
1855
2162
  uniform vec2 uResolution;
@@ -1924,11 +2231,11 @@ void main() {
1924
2231
  `;
1925
2232
  var haloProgram = {
1926
2233
  name: "halo",
1927
- fragmentSource: fragmentSource9
2234
+ fragmentSource: fragmentSource11
1928
2235
  };
1929
2236
 
1930
2237
  // src/runtime/viewer/shaders/builtins/ledMatrix.ts
1931
- var fragmentSource10 = `
2238
+ var fragmentSource12 = `
1932
2239
  precision highp float;
1933
2240
 
1934
2241
  uniform vec2 uResolution;
@@ -2044,7 +2351,7 @@ void main() {
2044
2351
  `;
2045
2352
  var ledMatrixProgram = {
2046
2353
  name: "ledMatrix",
2047
- fragmentSource: fragmentSource10,
2354
+ fragmentSource: fragmentSource12,
2048
2355
  defaultParameters: {
2049
2356
  speed: 0.25,
2050
2357
  intensity: 1,
@@ -2075,7 +2382,7 @@ var ledMatrixProgram = {
2075
2382
  };
2076
2383
 
2077
2384
  // src/runtime/viewer/shaders/builtins/lightBand.ts
2078
- var fragmentSource11 = `
2385
+ var fragmentSource13 = `
2079
2386
  precision highp float;
2080
2387
 
2081
2388
  uniform vec2 uResolution;
@@ -2135,7 +2442,7 @@ void main() {
2135
2442
  `;
2136
2443
  var lightBandProgram = {
2137
2444
  name: "lightBand",
2138
- fragmentSource: fragmentSource11,
2445
+ fragmentSource: fragmentSource13,
2139
2446
  defaultParameters: {
2140
2447
  speed: 0.3,
2141
2448
  intensity: 1,
@@ -2152,7 +2459,7 @@ var lightBandProgram = {
2152
2459
  };
2153
2460
 
2154
2461
  // src/runtime/viewer/shaders/builtins/lumenPortal.ts
2155
- var fragmentSource12 = `
2462
+ var fragmentSource14 = `
2156
2463
  precision highp float;
2157
2464
 
2158
2465
  uniform float uTime;
@@ -2210,11 +2517,11 @@ void main() {
2210
2517
  `;
2211
2518
  var lumenPortalProgram = {
2212
2519
  name: "lumenPortal",
2213
- fragmentSource: fragmentSource12
2520
+ fragmentSource: fragmentSource14
2214
2521
  };
2215
2522
 
2216
2523
  // src/runtime/viewer/shaders/builtins/lumenPortalLight.ts
2217
- var fragmentSource13 = `
2524
+ var fragmentSource15 = `
2218
2525
  precision highp float;
2219
2526
 
2220
2527
  uniform float uTime;
@@ -2273,11 +2580,11 @@ void main() {
2273
2580
  `;
2274
2581
  var lumenPortalLightProgram = {
2275
2582
  name: "lumenPortalLight",
2276
- fragmentSource: fragmentSource13
2583
+ fragmentSource: fragmentSource15
2277
2584
  };
2278
2585
 
2279
2586
  // src/runtime/viewer/shaders/builtins/orb.ts
2280
- var fragmentSource14 = `
2587
+ var fragmentSource16 = `
2281
2588
  precision highp float;
2282
2589
 
2283
2590
  uniform vec2 uResolution;
@@ -2313,11 +2620,11 @@ void main() {
2313
2620
  `;
2314
2621
  var orbProgram = {
2315
2622
  name: "orb",
2316
- fragmentSource: fragmentSource14
2623
+ fragmentSource: fragmentSource16
2317
2624
  };
2318
2625
 
2319
2626
  // src/runtime/viewer/shaders/builtins/pixelConstellation.ts
2320
- var fragmentSource15 = `
2627
+ var fragmentSource17 = `
2321
2628
  precision highp float;
2322
2629
 
2323
2630
  uniform float uTime;
@@ -2417,11 +2724,11 @@ void main() {
2417
2724
  `;
2418
2725
  var pixelConstellationProgram = {
2419
2726
  name: "pixelConstellation",
2420
- fragmentSource: fragmentSource15
2727
+ fragmentSource: fragmentSource17
2421
2728
  };
2422
2729
 
2423
2730
  // src/runtime/viewer/shaders/builtins/plasmaGauge.ts
2424
- var fragmentSource16 = `
2731
+ var fragmentSource18 = `
2425
2732
  precision highp float;
2426
2733
 
2427
2734
  uniform vec2 uResolution;
@@ -2523,12 +2830,12 @@ void main() {
2523
2830
  `;
2524
2831
  var plasmaGaugeProgram = {
2525
2832
  name: "plasmaGauge",
2526
- fragmentSource: fragmentSource16,
2833
+ fragmentSource: fragmentSource18,
2527
2834
  replacesBaseFill: true
2528
2835
  };
2529
2836
 
2530
2837
  // src/runtime/viewer/shaders/builtins/prismSlats.ts
2531
- var fragmentSource17 = `
2838
+ var fragmentSource19 = `
2532
2839
  precision highp float;
2533
2840
 
2534
2841
  uniform vec2 uResolution;
@@ -2603,11 +2910,11 @@ void main() {
2603
2910
  `;
2604
2911
  var prismSlatsProgram = {
2605
2912
  name: "prismSlats",
2606
- fragmentSource: fragmentSource17
2913
+ fragmentSource: fragmentSource19
2607
2914
  };
2608
2915
 
2609
2916
  // src/runtime/viewer/shaders/builtins/reactivePanel.ts
2610
- var fragmentSource18 = `
2917
+ var fragmentSource20 = `
2611
2918
  precision highp float;
2612
2919
 
2613
2920
  uniform float uTime;
@@ -2709,7 +3016,7 @@ void main() {
2709
3016
  `;
2710
3017
  var reactivePanelProgram = {
2711
3018
  name: "reactivePanel",
2712
- fragmentSource: fragmentSource18,
3019
+ fragmentSource: fragmentSource20,
2713
3020
  defaultParameters: {
2714
3021
  intensity: 0.5,
2715
3022
  speed: 0.18,
@@ -2732,7 +3039,7 @@ var reactivePanelProgram = {
2732
3039
  };
2733
3040
 
2734
3041
  // src/runtime/viewer/shaders/builtins/ruler.ts
2735
- var fragmentSource19 = `
3042
+ var fragmentSource21 = `
2736
3043
  precision highp float;
2737
3044
 
2738
3045
  uniform vec2 uResolution;
@@ -2837,12 +3144,12 @@ void main() {
2837
3144
  `;
2838
3145
  var rulerProgram = {
2839
3146
  name: "ruler",
2840
- fragmentSource: fragmentSource19,
3147
+ fragmentSource: fragmentSource21,
2841
3148
  replacesBaseFill: true
2842
3149
  };
2843
3150
 
2844
3151
  // src/runtime/viewer/shaders/builtins/silkFolds.ts
2845
- var fragmentSource20 = `
3152
+ var fragmentSource22 = `
2846
3153
  precision highp float;
2847
3154
 
2848
3155
  uniform vec2 uResolution;
@@ -2927,7 +3234,7 @@ void main() {
2927
3234
  `;
2928
3235
  var silkFoldsProgram = {
2929
3236
  name: "silkFolds",
2930
- fragmentSource: fragmentSource20,
3237
+ fragmentSource: fragmentSource22,
2931
3238
  defaultParameters: {
2932
3239
  speed: 0.2,
2933
3240
  intensity: 1,
@@ -2950,7 +3257,7 @@ var silkFoldsProgram = {
2950
3257
  };
2951
3258
 
2952
3259
  // src/runtime/viewer/shaders/builtins/smearOrb.ts
2953
- var fragmentSource21 = `
3260
+ var fragmentSource23 = `
2954
3261
  precision highp float;
2955
3262
 
2956
3263
  uniform vec2 uResolution;
@@ -3026,12 +3333,12 @@ void main() {
3026
3333
  `;
3027
3334
  var smearOrbProgram = {
3028
3335
  name: "smearOrb",
3029
- fragmentSource: fragmentSource21,
3336
+ fragmentSource: fragmentSource23,
3030
3337
  replacesBaseFill: true
3031
3338
  };
3032
3339
 
3033
3340
  // src/runtime/viewer/shaders/builtins/tickScale.ts
3034
- var fragmentSource22 = `
3341
+ var fragmentSource24 = `
3035
3342
  precision highp float;
3036
3343
 
3037
3344
  uniform vec2 uResolution;
@@ -3090,12 +3397,12 @@ void main() {
3090
3397
  `;
3091
3398
  var tickScaleProgram = {
3092
3399
  name: "tickScale",
3093
- fragmentSource: fragmentSource22,
3400
+ fragmentSource: fragmentSource24,
3094
3401
  replacesBaseFill: true
3095
3402
  };
3096
3403
 
3097
3404
  // src/runtime/viewer/shaders/builtins/violetGlass.ts
3098
- var fragmentSource23 = `
3405
+ var fragmentSource25 = `
3099
3406
  precision highp float;
3100
3407
 
3101
3408
  uniform float uTime;
@@ -3175,11 +3482,11 @@ void main() {
3175
3482
  `;
3176
3483
  var violetGlassProgram = {
3177
3484
  name: "violetGlass",
3178
- fragmentSource: fragmentSource23
3485
+ fragmentSource: fragmentSource25
3179
3486
  };
3180
3487
 
3181
3488
  // src/runtime/viewer/shaders/builtins/violetGlassLight.ts
3182
- var fragmentSource24 = `
3489
+ var fragmentSource26 = `
3183
3490
  precision highp float;
3184
3491
 
3185
3492
  uniform float uTime;
@@ -3249,7 +3556,7 @@ void main() {
3249
3556
  `;
3250
3557
  var violetGlassLightProgram = {
3251
3558
  name: "violetGlassLight",
3252
- fragmentSource: fragmentSource24
3559
+ fragmentSource: fragmentSource26
3253
3560
  };
3254
3561
 
3255
3562
  // src/runtime/viewer/shaders/programs.ts
@@ -3277,7 +3584,9 @@ var builtins = [
3277
3584
  reactivePanelProgram,
3278
3585
  ledMatrixProgram,
3279
3586
  lightBandProgram,
3280
- silkFoldsProgram
3587
+ silkFoldsProgram,
3588
+ glowCardProgram,
3589
+ glassDotsProgram
3281
3590
  ];
3282
3591
  var programs = new Map(builtins.map((program) => [program.name, program]));
3283
3592
  function registerShaderProgram(program) {
@@ -3458,9 +3767,9 @@ function compile(gl, type, source) {
3458
3767
  }
3459
3768
  return shader;
3460
3769
  }
3461
- function linkProgram(gl, fragmentSource25) {
3770
+ function linkProgram(gl, fragmentSource27) {
3462
3771
  const vertex = compile(gl, gl.VERTEX_SHADER, VERTEX_SOURCE);
3463
- const fragment = compile(gl, gl.FRAGMENT_SHADER, fragmentSource25);
3772
+ const fragment = compile(gl, gl.FRAGMENT_SHADER, fragmentSource27);
3464
3773
  if (!vertex || !fragment) {
3465
3774
  if (vertex) {
3466
3775
  gl.deleteShader(vertex);
@@ -4404,5 +4713,5 @@ function createViewer(options) {
4404
4713
  }
4405
4714
 
4406
4715
  export { SHADER_DEFAULTS, connectInteraction, createViewer, registerShaderProgram, shaderProgram };
4407
- //# sourceMappingURL=chunk-MUKIGLR5.js.map
4408
- //# sourceMappingURL=chunk-MUKIGLR5.js.map
4716
+ //# sourceMappingURL=chunk-ZCGZJBAT.js.map
4717
+ //# sourceMappingURL=chunk-ZCGZJBAT.js.map