@3driseai/3drise-core 1.0.9 → 1.0.11

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 (52) hide show
  1. package/dist/data/effectsDefaults.d.ts.map +1 -1
  2. package/dist/data/effectsDefaults.js +32 -8
  3. package/dist/shaders/ChladniGridMaterial.d.ts +77 -0
  4. package/dist/shaders/ChladniGridMaterial.d.ts.map +1 -0
  5. package/dist/shaders/ChladniGridMaterial.js +301 -0
  6. package/dist/shaders/FlowNetGridMaterial.d.ts +74 -0
  7. package/dist/shaders/FlowNetGridMaterial.d.ts.map +1 -0
  8. package/dist/shaders/FlowNetGridMaterial.js +269 -0
  9. package/dist/shaders/GirihGridMaterial.d.ts +77 -0
  10. package/dist/shaders/GirihGridMaterial.d.ts.map +1 -0
  11. package/dist/shaders/GirihGridMaterial.js +464 -0
  12. package/dist/shaders/GravWaveGridMaterial.d.ts +77 -0
  13. package/dist/shaders/GravWaveGridMaterial.d.ts.map +1 -0
  14. package/dist/shaders/GravWaveGridMaterial.js +479 -0
  15. package/dist/shaders/HyperbolicGridMaterial.d.ts +74 -0
  16. package/dist/shaders/HyperbolicGridMaterial.d.ts.map +1 -0
  17. package/dist/shaders/HyperbolicGridMaterial.js +298 -0
  18. package/dist/shaders/ReactionDiffusionGridMaterial.d.ts +80 -0
  19. package/dist/shaders/ReactionDiffusionGridMaterial.d.ts.map +1 -0
  20. package/dist/shaders/ReactionDiffusionGridMaterial.js +247 -0
  21. package/dist/shaders/WallpaperGridMaterial.d.ts +134 -0
  22. package/dist/shaders/WallpaperGridMaterial.d.ts.map +1 -0
  23. package/dist/shaders/WallpaperGridMaterial.js +433 -0
  24. package/dist/shaders/index.d.ts +7 -0
  25. package/dist/shaders/index.d.ts.map +1 -1
  26. package/dist/shaders/index.js +7 -0
  27. package/dist/types/gallery.d.ts +21 -0
  28. package/dist/types/gallery.d.ts.map +1 -1
  29. package/dist/types/generativeEffects.d.ts +270 -2
  30. package/dist/types/generativeEffects.d.ts.map +1 -1
  31. package/dist/types/mesh.d.ts +3 -0
  32. package/dist/types/mesh.d.ts.map +1 -1
  33. package/dist/utils/GalleryCreator.d.ts +4 -75
  34. package/dist/utils/GalleryCreator.d.ts.map +1 -1
  35. package/dist/utils/GalleryCreator.js +12 -461
  36. package/dist/utils/LayoutCreator.d.ts +125 -0
  37. package/dist/utils/LayoutCreator.d.ts.map +1 -0
  38. package/dist/utils/LayoutCreator.js +521 -0
  39. package/dist/utils/galleriesUtils.d.ts.map +1 -1
  40. package/dist/utils/galleriesUtils.js +3 -2
  41. package/dist/utils/handleTransformEffects.d.ts.map +1 -1
  42. package/dist/utils/handleTransformEffects.js +5 -3
  43. package/dist/utils/index.d.ts +2 -0
  44. package/dist/utils/index.d.ts.map +1 -1
  45. package/dist/utils/index.js +2 -0
  46. package/dist/utils/modelCache.d.ts +78 -0
  47. package/dist/utils/modelCache.d.ts.map +1 -0
  48. package/dist/utils/modelCache.js +164 -0
  49. package/dist/utils/utils.d.ts +8 -0
  50. package/dist/utils/utils.d.ts.map +1 -1
  51. package/dist/utils/utils.js +17 -3
  52. package/package.json +1 -1
@@ -0,0 +1,134 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * Wallpaper-group kaleidoscope: a drifting lattice-periodic Fourier motif summed over the coset representatives of one of the 17 plane crystallographic groups. The runtime builds the group tables and crossfades from group to group.
4
+ *
5
+ * Shares the grid vocabulary with the other shader-plane grids (lineMode /
6
+ * cellMode 0..4, fade, reveal, focus), so the same controller drives it.
7
+ */
8
+ export interface WallpaperGridMaterialUniforms {
9
+ u_time: number;
10
+ u_cellSize: number;
11
+ u_lineWidth: number;
12
+ u_sectionSize: number;
13
+ u_sectionWidth: number;
14
+ u_lineColor: THREE.Color;
15
+ u_sectionColor: THREE.Color;
16
+ u_cellColor: THREE.Color;
17
+ u_glowColor: THREE.Color;
18
+ u_bgColor: THREE.Color;
19
+ u_bgOpacity: number;
20
+ u_lineMode: number;
21
+ u_cellMode: number;
22
+ u_animSpeed: number;
23
+ u_animScale: number;
24
+ u_animIntensity: number;
25
+ u_fadeDistance: number;
26
+ u_fadeStrength: number;
27
+ u_focus: THREE.Vector2;
28
+ u_mouse: THREE.Vector2;
29
+ u_displace: number;
30
+ /** 0..1 assemble/dissolve. The build boundary sweeps outward from u_focus with a bright leading edge; 1 is fully built, 0 is gone. */
31
+ u_reveal: number;
32
+ /** Wallpaper group index (-1 cycles), read by the runtime */
33
+ u_group: number;
34
+ /** Seconds per group while cycling, read by the runtime */
35
+ u_cycleTime: number;
36
+ /** Motif complexity 0..1, read by the runtime */
37
+ u_motif: number;
38
+ /** Number of contour levels */
39
+ u_levels: number;
40
+ /** Motif terms: (amplitude, phase) for each of the 6 wave-vectors */
41
+ u_wave: Float32Array;
42
+ /** Group A: linear parts of the coset representatives, lattice coordinates (mat2[12]) */
43
+ u_RA: Float32Array;
44
+ /** Group A: translations of the coset representatives, lattice coordinates (vec2[12]) */
45
+ u_TA: Float32Array;
46
+ /** Group A: number of coset representatives */
47
+ u_countA: number;
48
+ /** Group A: inverse lattice basis, cell units to lattice coordinates (mat2) */
49
+ u_basisA: Float32Array;
50
+ /** Group A: 1 / RMS of the symmetrised field */
51
+ u_normA: number;
52
+ /** Group A: symmetry-axis families (normal.xy, offset, spacing) (vec4[6]) */
53
+ u_axA: Float32Array;
54
+ /** Group A: axis kinds for even/odd lines (1 mirror, 0.5 glide) and the glide period (vec3[6]) */
55
+ u_axKA: Float32Array;
56
+ /** Group A: number of axis families */
57
+ u_axNA: number;
58
+ /** Group B (crossfade target): linear parts (mat2[12]) */
59
+ u_RB: Float32Array;
60
+ /** Group B: translations (vec2[12]) */
61
+ u_TB: Float32Array;
62
+ /** Group B: number of coset representatives */
63
+ u_countB: number;
64
+ /** Group B: inverse lattice basis (mat2) */
65
+ u_basisB: Float32Array;
66
+ /** Group B: 1 / RMS of the symmetrised field */
67
+ u_normB: number;
68
+ /** Group B: symmetry-axis families (vec4[6]) */
69
+ u_axB: Float32Array;
70
+ /** Group B: axis kinds and glide period (vec3[6]) */
71
+ u_axKB: Float32Array;
72
+ /** Group B: number of axis families */
73
+ u_axNB: number;
74
+ /** Crossfade from group A (0) to group B (1) */
75
+ u_mix: number;
76
+ /** Keeps the contour spacing steady through the crossfade */
77
+ u_mixGain: number;
78
+ }
79
+ declare module '@react-three/fiber' {
80
+ interface ThreeElements {
81
+ wallpaperGridMaterial: ThreeElements['shaderMaterial'] & Partial<WallpaperGridMaterialUniforms>;
82
+ }
83
+ }
84
+ export declare const wallpaperGridMaterialDefaults: WallpaperGridMaterialUniforms;
85
+ export declare const WallpaperGridMaterial: import("@react-three/fiber").ConstructorRepresentation<THREE.ShaderMaterial & {
86
+ u_time: number;
87
+ u_cellSize: number;
88
+ u_lineWidth: number;
89
+ u_sectionSize: number;
90
+ u_sectionWidth: number;
91
+ u_lineColor: THREE.Color;
92
+ u_sectionColor: THREE.Color;
93
+ u_cellColor: THREE.Color;
94
+ u_glowColor: THREE.Color;
95
+ u_bgColor: THREE.Color;
96
+ u_bgOpacity: number;
97
+ u_lineMode: number;
98
+ u_cellMode: number;
99
+ u_animSpeed: number;
100
+ u_animScale: number;
101
+ u_animIntensity: number;
102
+ u_fadeDistance: number;
103
+ u_fadeStrength: number;
104
+ u_focus: THREE.Vector2;
105
+ u_mouse: THREE.Vector2;
106
+ u_displace: number;
107
+ u_reveal: number;
108
+ u_group: number;
109
+ u_cycleTime: number;
110
+ u_motif: number;
111
+ u_levels: number;
112
+ u_wave: Float32Array<ArrayBufferLike>;
113
+ u_RA: Float32Array<ArrayBufferLike>;
114
+ u_TA: Float32Array<ArrayBufferLike>;
115
+ u_countA: number;
116
+ u_basisA: Float32Array<ArrayBufferLike>;
117
+ u_normA: number;
118
+ u_axA: Float32Array<ArrayBufferLike>;
119
+ u_axKA: Float32Array<ArrayBufferLike>;
120
+ u_axNA: number;
121
+ u_RB: Float32Array<ArrayBufferLike>;
122
+ u_TB: Float32Array<ArrayBufferLike>;
123
+ u_countB: number;
124
+ u_basisB: Float32Array<ArrayBufferLike>;
125
+ u_normB: number;
126
+ u_axB: Float32Array<ArrayBufferLike>;
127
+ u_axKB: Float32Array<ArrayBufferLike>;
128
+ u_axNB: number;
129
+ u_mix: number;
130
+ u_mixGain: number;
131
+ }> & {
132
+ key: string;
133
+ };
134
+ //# sourceMappingURL=WallpaperGridMaterial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WallpaperGridMaterial.d.ts","sourceRoot":"","sources":["../../src/shaders/WallpaperGridMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;IACzB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,sIAAsI;IACtI,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,YAAY,CAAC;IACrB,yFAAyF;IACzF,IAAI,EAAE,YAAY,CAAC;IACnB,yFAAyF;IACzF,IAAI,EAAE,YAAY,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,EAAE,YAAY,CAAC;IACvB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,EAAE,YAAY,CAAC;IACpB,kGAAkG;IAClG,MAAM,EAAE,YAAY,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,EAAE,YAAY,CAAC;IACnB,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,QAAQ,EAAE,YAAY,CAAC;IACvB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,EAAE,YAAY,CAAC;IACpB,qDAAqD;IACrD,MAAM,EAAE,YAAY,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,OAAO,QAAQ,oBAAoB,CAAC;IAChC,UAAU,aAAa;QACnB,qBAAqB,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;KACnG;CACJ;AAED,eAAO,MAAM,6BAA6B,EAAE,6BA8C3C,CAAC;AAmVF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDjC,CAAC"}
@@ -0,0 +1,433 @@
1
+ import * as THREE from 'three';
2
+ import { shaderMaterial } from '@react-three/drei';
3
+ import { extend } from '@react-three/fiber';
4
+ export const wallpaperGridMaterialDefaults = {
5
+ u_time: 0,
6
+ u_cellSize: 10,
7
+ u_lineWidth: 2,
8
+ u_sectionSize: 0,
9
+ u_sectionWidth: 1.4,
10
+ u_lineColor: new THREE.Color('#f3d79b'),
11
+ u_sectionColor: new THREE.Color('#7fd6ff'),
12
+ u_cellColor: new THREE.Color('#101c50'),
13
+ u_glowColor: new THREE.Color('#ff9ec7'),
14
+ u_bgColor: new THREE.Color('#05070a'),
15
+ u_bgOpacity: 0,
16
+ u_lineMode: 2,
17
+ u_cellMode: 2,
18
+ u_animSpeed: 1,
19
+ u_animScale: 0.6,
20
+ u_animIntensity: 0.55,
21
+ u_fadeDistance: 25,
22
+ u_fadeStrength: 0.7,
23
+ u_focus: new THREE.Vector2(0, 0),
24
+ u_mouse: new THREE.Vector2(0, 0),
25
+ u_displace: 0,
26
+ u_reveal: 1.0,
27
+ u_group: -1,
28
+ u_cycleTime: 12,
29
+ u_motif: 0.5,
30
+ u_levels: 11,
31
+ u_wave: new Float32Array(12),
32
+ u_RA: new Float32Array(48),
33
+ u_TA: new Float32Array(24),
34
+ u_countA: 1,
35
+ u_basisA: new Float32Array([1, 0, 0, 1]),
36
+ u_normA: 1,
37
+ u_axA: new Float32Array(24),
38
+ u_axKA: new Float32Array(18),
39
+ u_axNA: 0,
40
+ u_RB: new Float32Array(48),
41
+ u_TB: new Float32Array(24),
42
+ u_countB: 1,
43
+ u_basisB: new Float32Array([1, 0, 0, 1]),
44
+ u_normB: 1,
45
+ u_axB: new Float32Array(24),
46
+ u_axKB: new Float32Array(18),
47
+ u_axNB: 0,
48
+ u_mix: 0,
49
+ u_mixGain: 1,
50
+ };
51
+ const vertex = /* glsl */ `
52
+
53
+ uniform float u_time;
54
+ uniform float u_cellSize;
55
+ uniform float u_displace;
56
+ uniform float u_animSpeed;
57
+ uniform float u_animScale;
58
+
59
+ varying vec2 vGridPos;
60
+
61
+
62
+ const float PI = 3.14159265359;
63
+ const float TAU = 6.28318530718;
64
+
65
+ float hash21(vec2 p){
66
+ p = fract(p * vec2(123.34, 456.21));
67
+ p += dot(p, p + 45.32);
68
+ return fract(p.x * p.y);
69
+ }
70
+
71
+
72
+ uniform vec2 u_wave[6];
73
+ uniform mat2 u_RA[12];
74
+ uniform vec2 u_TA[12];
75
+ uniform float u_countA;
76
+ uniform mat2 u_basisA;
77
+ uniform float u_normA;
78
+ uniform mat2 u_RB[12];
79
+ uniform vec2 u_TB[12];
80
+ uniform float u_countB;
81
+ uniform mat2 u_basisB;
82
+ uniform float u_normB;
83
+ uniform float u_mix;
84
+ uniform float u_mixGain;
85
+
86
+ float wpMotif(vec2 q){
87
+ vec2 a = TAU * q;
88
+ return u_wave[0].x * cos(dot(a, vec2(1.0, 1.0)) + u_wave[0].y)
89
+ + u_wave[1].x * cos(dot(a, vec2(2.0, 0.0)) + u_wave[1].y)
90
+ + u_wave[2].x * cos(dot(a, vec2(1.0, -2.0)) + u_wave[2].y)
91
+ + u_wave[3].x * cos(dot(a, vec2(2.0, 1.0)) + u_wave[3].y)
92
+ + u_wave[4].x * cos(dot(a, vec2(3.0, 1.0)) + u_wave[4].y)
93
+ + u_wave[5].x * cos(dot(a, vec2(1.0, 3.0)) + u_wave[5].y);
94
+ }
95
+
96
+ float wpSym(vec2 p, mat2 Bi, mat2 R[12], vec2 T[12], float n){
97
+ vec2 q = Bi * p;
98
+ q -= floor(q);
99
+ float s = 0.0;
100
+ for (int i = 0; i < 12; i++){
101
+ if (float(i) >= n) break;
102
+ s += wpMotif(R[i] * q + T[i]);
103
+ }
104
+ return s;
105
+ }
106
+
107
+ // unit-RMS field, crossfaded between group A and group B
108
+ float wpField(vec2 p){
109
+ float f = wpSym(p, u_basisA, u_RA, u_TA, u_countA) * u_normA;
110
+ if (u_mix > 0.001){
111
+ float g = wpSym(p, u_basisB, u_RB, u_TB, u_countB) * u_normB;
112
+ f = mix(f, g, u_mix) * u_mixGain;
113
+ }
114
+ return f;
115
+ }
116
+
117
+
118
+ void main(){
119
+ vGridPos = position.xy;
120
+ vec3 pos = position;
121
+ if (u_displace > 0.0){
122
+ // the relief is the symmetric field itself
123
+ float f = wpField(position.xy / max(u_cellSize, 1e-4));
124
+ pos.z += clamp(f, -2.5, 2.5) * u_displace * 0.3;
125
+ }
126
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);
127
+ }
128
+ `;
129
+ const fragment = /* glsl */ `
130
+
131
+ precision highp float;
132
+
133
+ uniform float u_time;
134
+ uniform float u_cellSize;
135
+ uniform float u_lineWidth;
136
+ uniform float u_sectionSize;
137
+ uniform float u_sectionWidth;
138
+ uniform vec3 u_lineColor;
139
+ uniform vec3 u_sectionColor;
140
+ uniform vec3 u_cellColor;
141
+ uniform vec3 u_glowColor;
142
+ uniform vec3 u_bgColor;
143
+ uniform float u_bgOpacity;
144
+ uniform float u_lineMode;
145
+ uniform float u_cellMode;
146
+ uniform float u_animSpeed;
147
+ uniform float u_animScale;
148
+ uniform float u_animIntensity;
149
+ uniform float u_fadeDistance;
150
+ uniform float u_fadeStrength;
151
+ uniform vec2 u_focus;
152
+ uniform float u_reveal;
153
+
154
+ varying vec2 vGridPos;
155
+
156
+ float lineAt(float c, float width, float fp){
157
+ float d = abs(fract(c - 0.5) - 0.5);
158
+ return 1.0 - clamp(d / max(fp * max(width, 0.05), 1e-6), 0.0, 1.0);
159
+ }
160
+
161
+
162
+ const float PI = 3.14159265359;
163
+ const float TAU = 6.28318530718;
164
+
165
+ float hash21(vec2 p){
166
+ p = fract(p * vec2(123.34, 456.21));
167
+ p += dot(p, p + 45.32);
168
+ return fract(p.x * p.y);
169
+ }
170
+
171
+
172
+ uniform vec2 u_wave[6];
173
+ uniform mat2 u_RA[12];
174
+ uniform vec2 u_TA[12];
175
+ uniform float u_countA;
176
+ uniform mat2 u_basisA;
177
+ uniform float u_normA;
178
+ uniform mat2 u_RB[12];
179
+ uniform vec2 u_TB[12];
180
+ uniform float u_countB;
181
+ uniform mat2 u_basisB;
182
+ uniform float u_normB;
183
+ uniform float u_mix;
184
+ uniform float u_mixGain;
185
+
186
+ float wpMotif(vec2 q){
187
+ vec2 a = TAU * q;
188
+ return u_wave[0].x * cos(dot(a, vec2(1.0, 1.0)) + u_wave[0].y)
189
+ + u_wave[1].x * cos(dot(a, vec2(2.0, 0.0)) + u_wave[1].y)
190
+ + u_wave[2].x * cos(dot(a, vec2(1.0, -2.0)) + u_wave[2].y)
191
+ + u_wave[3].x * cos(dot(a, vec2(2.0, 1.0)) + u_wave[3].y)
192
+ + u_wave[4].x * cos(dot(a, vec2(3.0, 1.0)) + u_wave[4].y)
193
+ + u_wave[5].x * cos(dot(a, vec2(1.0, 3.0)) + u_wave[5].y);
194
+ }
195
+
196
+ float wpSym(vec2 p, mat2 Bi, mat2 R[12], vec2 T[12], float n){
197
+ vec2 q = Bi * p;
198
+ q -= floor(q);
199
+ float s = 0.0;
200
+ for (int i = 0; i < 12; i++){
201
+ if (float(i) >= n) break;
202
+ s += wpMotif(R[i] * q + T[i]);
203
+ }
204
+ return s;
205
+ }
206
+
207
+ // unit-RMS field, crossfaded between group A and group B
208
+ float wpField(vec2 p){
209
+ float f = wpSym(p, u_basisA, u_RA, u_TA, u_countA) * u_normA;
210
+ if (u_mix > 0.001){
211
+ float g = wpSym(p, u_basisB, u_RB, u_TB, u_countB) * u_normB;
212
+ f = mix(f, g, u_mix) * u_mixGain;
213
+ }
214
+ return f;
215
+ }
216
+
217
+
218
+ uniform float u_levels;
219
+ uniform vec4 u_axA[6];
220
+ uniform vec3 u_axKA[6];
221
+ uniform float u_axNA;
222
+ uniform vec4 u_axB[6];
223
+ uniform vec3 u_axKB[6];
224
+ uniform float u_axNB;
225
+
226
+ // anti-aliased line of pixel width w at pixel distance d
227
+ float wpLine(float d, float w){
228
+ float hw = max(w, 1.0) * 0.5;
229
+ return min(w, 1.0) * (1.0 - smoothstep(hw - 0.5, hw + 0.5, d));
230
+ }
231
+
232
+ // Symmetry axes: family i holds the lines n.p = offset + j * spacing.
233
+ // Even and odd lines have their own kind: 1 mirror (solid), 0.5 glide (dashed).
234
+ float wpAxes(vec2 p, vec4 ax[6], vec3 ak[6], float n, float pix, float w){
235
+ float acc = 0.0;
236
+ for (int i = 0; i < 6; i++){
237
+ if (float(i) >= n) break;
238
+ vec2 nn = ax[i].xy;
239
+ float h = ax[i].w;
240
+ float s = (dot(nn, p) - ax[i].z) / h;
241
+ float j = floor(s + 0.5);
242
+ float d = abs(s - j) * h / pix;
243
+ float kind = mod(j, 2.0) < 0.5 ? ak[i].x : ak[i].y;
244
+ // glide axes: dashes half a glide long
245
+ float along = dot(vec2(-nn.y, nn.x), p) / (ak[i].z * 0.5);
246
+ float tri = abs(fract(along) - 0.5);
247
+ float ew = pix / (ak[i].z * 0.5);
248
+ float dash = smoothstep(0.25 - ew, 0.25 + ew, tri);
249
+ float on = kind > 0.75 ? 1.0 : dash * 0.75;
250
+ // spacing in pixels: fade a family before its lines crowd together
251
+ float keep = smoothstep(3.0, 9.0, h / pix);
252
+ acc = max(acc, wpLine(d, w) * on * keep);
253
+ }
254
+ return acc;
255
+ }
256
+
257
+ void main(){
258
+ float cs = max(u_cellSize, 1e-4);
259
+ vec2 coord = vGridPos / cs;
260
+ vec2 focus = u_focus / cs;
261
+ float t = u_time * u_animSpeed;
262
+ float pix = length(fwidth(coord)) * 0.7071; // cell units per pixel
263
+
264
+ float F = wpField(coord);
265
+
266
+ // contour levels: v steps by one every 4 / levels RMS units
267
+ float lv = max(u_levels, 1.0) * 0.25;
268
+ float v = F * lv;
269
+ float fp = max(fwidth(v), 1e-5);
270
+ float dLine = abs(fract(v - 0.5) - 0.5) / fp; // pixels to the nearest contour
271
+ // contours closer than a few pixels merge into moire; fade them out first
272
+ float crowd = 1.0 - smoothstep(0.22, 0.6, fp);
273
+ // the whole motif aliases once a unit cell is only a few pixels wide
274
+ float resolved = 1.0 - smoothstep(0.07, 0.2, pix);
275
+ float lines = wpLine(dLine, u_lineWidth) * crowd * resolved;
276
+ // the zero level is the spine of the pattern: a touch brighter
277
+ float zeroL = wpLine(abs(F) / max(fwidth(F), 1e-5), u_lineWidth * 1.4) * resolved;
278
+ lines = max(lines * 0.75, zeroL);
279
+
280
+ float accent = 0.0;
281
+ if (u_sectionWidth > 0.0){
282
+ float axA = wpAxes(coord, u_axA, u_axKA, u_axNA, pix, u_sectionWidth);
283
+ float axB = u_mix > 0.001 ? wpAxes(coord, u_axB, u_axKB, u_axNB, pix, u_sectionWidth) : 0.0;
284
+ accent = mix(axA, axB, u_mix) * 0.65 * resolved;
285
+ if (u_sectionSize > 0.0){
286
+ // outline of every Nth unit cell of the lattice
287
+ vec2 qa = u_basisA * coord / u_sectionSize;
288
+ vec2 qb = u_basisB * coord / u_sectionSize;
289
+ vec2 fa = max(fwidth(qa), vec2(1e-6));
290
+ vec2 fb = max(fwidth(qb), vec2(1e-6));
291
+ float ca = max(lineAt(qa.x, u_sectionWidth, fa.x), lineAt(qa.y, u_sectionWidth, fa.y));
292
+ float cb = max(lineAt(qb.x, u_sectionWidth, fb.x), lineAt(qb.y, u_sectionWidth, fb.y));
293
+ accent = max(accent, mix(ca, cb, u_mix) * 0.55 * (1.0 - smoothstep(0.25, 0.6, max(fa.x, fa.y))));
294
+ }
295
+ }
296
+
297
+ // a band is the region between two contours; its hash is the same in
298
+ // every symmetric copy, so the twinkle keeps the symmetry
299
+ float band = floor(v);
300
+ float cellH = hash21(vec2(band * 0.137 + 0.5, 3.7));
301
+ float cellDist = length(coord - focus) * 3.0;
302
+ float flowCoord = v * 1.4; // waves travel across the contour bands
303
+ float scanCoord = (coord.x + coord.y) * 3.0;
304
+ float edgeKeep = smoothstep(0.5, 3.0, dLine) * resolved;
305
+ float fadeR = length(vGridPos) / max(u_fadeDistance, 1e-4);
306
+
307
+ // body: peaks glow warm, troughs sink into the cell colour, both soft
308
+ float Fs = F * resolved;
309
+ float peak = smoothstep(0.25, 2.1, Fs);
310
+ float trough = smoothstep(0.2, 1.8, -Fs);
311
+ // terraces: each contour band is shaded from its low edge to its high one,
312
+ // so the pattern reads as a relief cut in steps (and it fades when the
313
+ // bands stop being resolved)
314
+ float terrace = mix(1.0, 0.55 + 0.7 * smoothstep(0.05, 0.95, fract(v)), crowd);
315
+ vec3 extraCol = u_glowColor * peak * peak * 0.5 + u_cellColor * trough * 0.5 * terrace + u_lineColor * lines * peak * 0.35;
316
+ float extraA = max(max(peak * peak * 0.75, trough * terrace * 0.4), lines * 0.5);
317
+ float regionMask = 1.0;
318
+
319
+ // ---- line animation --------------------------------------------------
320
+ float lineAnim = 1.0;
321
+ if (u_lineMode > 0.5){
322
+ if (u_lineMode < 1.5){
323
+ lineAnim = 0.5 + 0.5 * sin(cellDist * u_animScale - t);
324
+ } else if (u_lineMode < 2.5){
325
+ lineAnim = 0.5 + 0.5 * sin(flowCoord * u_animScale - t);
326
+ } else if (u_lineMode < 3.5){
327
+ float s = fract(scanCoord * 0.05 * u_animScale - t * 0.15);
328
+ lineAnim = 0.25 + smoothstep(0.0, 0.15, s) * (1.0 - smoothstep(0.15, 0.35, s));
329
+ } else {
330
+ lineAnim = 0.5 + 0.5 * sin(t);
331
+ }
332
+ }
333
+ lineAnim = mix(1.0, lineAnim, u_animIntensity);
334
+
335
+ // ---- cell fill -------------------------------------------------------
336
+ float cell = 0.0;
337
+ if (u_cellMode > 0.5){
338
+ if (u_cellMode < 1.5){
339
+ cell = 0.5 + 0.5 * sin(flowCoord * 0.5 * u_animScale - t);
340
+ } else if (u_cellMode < 2.5){
341
+ cell = 0.5 + 0.5 * sin(t * (0.6 + cellH) + cellH * TAU);
342
+ } else if (u_cellMode < 3.5){
343
+ cell = smoothstep(0.6, 1.0, sin(cellDist * u_animScale - t));
344
+ } else {
345
+ cell = step(0.5, cellH) * (0.5 + 0.5 * sin(t));
346
+ }
347
+ }
348
+ cell *= u_animIntensity * edgeKeep;
349
+
350
+ float tone = step(0.55, cellH);
351
+
352
+ vec3 col = u_bgColor * u_bgOpacity;
353
+ float a = u_bgOpacity;
354
+
355
+ col += mix(u_cellColor, u_cellColor * 2.2, tone) * cell;
356
+ a = max(a, cell * 0.9);
357
+ float linesI = lines * lineAnim;
358
+ col += u_lineColor * linesI; a = max(a, linesI);
359
+ float accentI = accent * lineAnim;
360
+ col += u_sectionColor * accentI; a = max(a, accentI);
361
+ col += u_glowColor * (linesI * 0.2 + cell * 0.35) * u_animIntensity;
362
+
363
+ col = col * regionMask + extraCol;
364
+ a = max(a * regionMask, extraA);
365
+
366
+ float fade = 1.0 - smoothstep(1.0 - u_fadeStrength, 1.0, fadeR);
367
+ col *= fade;
368
+ a *= fade;
369
+
370
+ // ---- reveal ----------------------------------------------------------
371
+ // The build boundary sweeps outward from the focus point with a bright
372
+ // leading edge, so the grid reads as assembling itself.
373
+ if (u_reveal < 0.999){
374
+ float rd = length(vGridPos - u_focus) / max(u_fadeDistance, 1e-4);
375
+ float edge = u_reveal * 1.1;
376
+ float mask = 1.0 - smoothstep(edge - 0.05, edge, rd);
377
+ float front = mask * smoothstep(edge - 0.22, edge - 0.05, rd);
378
+ col = col * mask + u_glowColor * front * (a * 1.8 + 0.08);
379
+ a = max(a * mask, front * 0.10);
380
+ }
381
+
382
+ if (a < 0.002) discard;
383
+ gl_FragColor = vec4(col, a);
384
+ }
385
+ `;
386
+ export const WallpaperGridMaterial = shaderMaterial({
387
+ u_time: wallpaperGridMaterialDefaults.u_time,
388
+ u_cellSize: wallpaperGridMaterialDefaults.u_cellSize,
389
+ u_lineWidth: wallpaperGridMaterialDefaults.u_lineWidth,
390
+ u_sectionSize: wallpaperGridMaterialDefaults.u_sectionSize,
391
+ u_sectionWidth: wallpaperGridMaterialDefaults.u_sectionWidth,
392
+ u_lineColor: wallpaperGridMaterialDefaults.u_lineColor.clone(),
393
+ u_sectionColor: wallpaperGridMaterialDefaults.u_sectionColor.clone(),
394
+ u_cellColor: wallpaperGridMaterialDefaults.u_cellColor.clone(),
395
+ u_glowColor: wallpaperGridMaterialDefaults.u_glowColor.clone(),
396
+ u_bgColor: wallpaperGridMaterialDefaults.u_bgColor.clone(),
397
+ u_bgOpacity: wallpaperGridMaterialDefaults.u_bgOpacity,
398
+ u_lineMode: wallpaperGridMaterialDefaults.u_lineMode,
399
+ u_cellMode: wallpaperGridMaterialDefaults.u_cellMode,
400
+ u_animSpeed: wallpaperGridMaterialDefaults.u_animSpeed,
401
+ u_animScale: wallpaperGridMaterialDefaults.u_animScale,
402
+ u_animIntensity: wallpaperGridMaterialDefaults.u_animIntensity,
403
+ u_fadeDistance: wallpaperGridMaterialDefaults.u_fadeDistance,
404
+ u_fadeStrength: wallpaperGridMaterialDefaults.u_fadeStrength,
405
+ u_focus: wallpaperGridMaterialDefaults.u_focus.clone(),
406
+ u_mouse: wallpaperGridMaterialDefaults.u_mouse.clone(),
407
+ u_displace: wallpaperGridMaterialDefaults.u_displace,
408
+ u_reveal: wallpaperGridMaterialDefaults.u_reveal,
409
+ u_group: wallpaperGridMaterialDefaults.u_group,
410
+ u_cycleTime: wallpaperGridMaterialDefaults.u_cycleTime,
411
+ u_motif: wallpaperGridMaterialDefaults.u_motif,
412
+ u_levels: wallpaperGridMaterialDefaults.u_levels,
413
+ u_wave: wallpaperGridMaterialDefaults.u_wave,
414
+ u_RA: wallpaperGridMaterialDefaults.u_RA,
415
+ u_TA: wallpaperGridMaterialDefaults.u_TA,
416
+ u_countA: wallpaperGridMaterialDefaults.u_countA,
417
+ u_basisA: wallpaperGridMaterialDefaults.u_basisA,
418
+ u_normA: wallpaperGridMaterialDefaults.u_normA,
419
+ u_axA: wallpaperGridMaterialDefaults.u_axA,
420
+ u_axKA: wallpaperGridMaterialDefaults.u_axKA,
421
+ u_axNA: wallpaperGridMaterialDefaults.u_axNA,
422
+ u_RB: wallpaperGridMaterialDefaults.u_RB,
423
+ u_TB: wallpaperGridMaterialDefaults.u_TB,
424
+ u_countB: wallpaperGridMaterialDefaults.u_countB,
425
+ u_basisB: wallpaperGridMaterialDefaults.u_basisB,
426
+ u_normB: wallpaperGridMaterialDefaults.u_normB,
427
+ u_axB: wallpaperGridMaterialDefaults.u_axB,
428
+ u_axKB: wallpaperGridMaterialDefaults.u_axKB,
429
+ u_axNB: wallpaperGridMaterialDefaults.u_axNB,
430
+ u_mix: wallpaperGridMaterialDefaults.u_mix,
431
+ u_mixGain: wallpaperGridMaterialDefaults.u_mixGain,
432
+ }, vertex, fragment);
433
+ extend({ WallpaperGridMaterial });
@@ -48,15 +48,22 @@ export * from './FireShellMaterial';
48
48
  export * from './SmokeRibbonMaterial';
49
49
  export * from './MyGridMaterial';
50
50
  export { NOISE_GLSL } from './sunNoise';
51
+ export * from './ChladniGridMaterial';
51
52
  export * from './CircuitGridMaterial';
52
53
  export * from './ContourGridMaterial';
54
+ export * from './FlowNetGridMaterial';
53
55
  export * from './FractalGridMaterial';
54
56
  export * from './GlowMaterial';
55
57
  export * from './HexGridMaterial';
58
+ export * from './HyperbolicGridMaterial';
56
59
  export * from './MoireGridMaterial';
57
60
  export * from './QuasiGridMaterial';
58
61
  export * from './RadarGridMaterial';
59
62
  export * from './SandMaterial';
60
63
  export * from './SmokeMaterial';
61
64
  export * from './VoronoiGridMaterial';
65
+ export * from './GravWaveGridMaterial';
66
+ export * from './GirihGridMaterial';
67
+ export * from './WallpaperGridMaterial';
68
+ export * from './ReactionDiffusionGridMaterial';
62
69
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC"}
@@ -48,14 +48,21 @@ export * from './FireShellMaterial.js';
48
48
  export * from './SmokeRibbonMaterial.js';
49
49
  export * from './MyGridMaterial.js';
50
50
  export { NOISE_GLSL } from './sunNoise.js';
51
+ export * from './ChladniGridMaterial.js';
51
52
  export * from './CircuitGridMaterial.js';
52
53
  export * from './ContourGridMaterial.js';
54
+ export * from './FlowNetGridMaterial.js';
53
55
  export * from './FractalGridMaterial.js';
54
56
  export * from './GlowMaterial.js';
55
57
  export * from './HexGridMaterial.js';
58
+ export * from './HyperbolicGridMaterial.js';
56
59
  export * from './MoireGridMaterial.js';
57
60
  export * from './QuasiGridMaterial.js';
58
61
  export * from './RadarGridMaterial.js';
59
62
  export * from './SandMaterial.js';
60
63
  export * from './SmokeMaterial.js';
61
64
  export * from './VoronoiGridMaterial.js';
65
+ export * from './GravWaveGridMaterial.js';
66
+ export * from './GirihGridMaterial.js';
67
+ export * from './WallpaperGridMaterial.js';
68
+ export * from './ReactionDiffusionGridMaterial.js';
@@ -6,6 +6,14 @@ export interface FrameData {
6
6
  rotation?: [number, number, number];
7
7
  videoSrc?: string | null;
8
8
  shapeType?: string;
9
+ /** Per-slot scale some layouts emit (tunnel). Absent means [1, 1, 1]. */
10
+ scale?: [number, number, number];
11
+ }
12
+ /** One placement produced by the layout math. */
13
+ export interface LayoutSlot {
14
+ position: [number, number, number];
15
+ rotation?: [number, number, number];
16
+ scale?: [number, number, number];
9
17
  }
10
18
  export type GalleryLayout = 'scattered' | 'tiles' | 'horizontal' | 'vertical' | 'circular' | 'spiral' | 'arc' | 'pyramid' | 'helix' | 'box' | 'sphere' | 'fan' | 'wave' | 'tunnel' | 'tunnelPyramid' | 'tunnelWave' | 'random';
11
19
  export interface GalleryLayoutSettings {
@@ -32,6 +40,19 @@ export interface GalleryLayoutSettings {
32
40
  numImages?: number;
33
41
  imageUrls?: string[];
34
42
  side?: number;
43
+ /** Seed for the 'random' layout, so it keeps its shape across re-renders. */
44
+ seed?: number;
45
+ }
46
+ /** The layout-math fields — what GalleryCreator/LayoutCreator read, minus frame styling. */
47
+ export type LayoutParams = Pick<GalleryLayoutSettings, 'columns' | 'spacing' | 'startX' | 'startY' | 'radius' | 'size' | 'rotations' | 'heightIncrement' | 'arcAngle' | 'amplitude' | 'frequency' | 'layers' | 'depth' | 'scaleFactor' | 'bounds' | 'seed'>;
48
+ /**
49
+ * `meshSettings.layout` — repeat a mesh / model / effect / light across a gallery layout.
50
+ * Lives in meshSettings (a JSON column) so it persists with no data-center change.
51
+ */
52
+ export interface ObjectLayoutSettings extends LayoutParams {
53
+ enabled: boolean;
54
+ layout: GalleryLayout;
55
+ count: number;
35
56
  }
36
57
  export interface GalleryLayoutConfig {
37
58
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../src/types/gallery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../src/types/gallery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE/N,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4FAA4F;AAC5F,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EACjD,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAC7E,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAC/E,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IAClD,MAAM,EAAE,qBAAqB,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B,CAAC;AAGF,OAAO,EAAE,CAAC"}