@3driseai/3drise-core 1.0.18 → 1.0.20

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 (146) hide show
  1. package/dist/animations/index.d.ts +2 -0
  2. package/dist/animations/index.d.ts.map +1 -0
  3. package/dist/animations/index.js +1 -0
  4. package/dist/animations/trackGenerators.d.ts +140 -0
  5. package/dist/animations/trackGenerators.d.ts.map +1 -0
  6. package/dist/animations/trackGenerators.js +443 -0
  7. package/dist/autoAnimate/bounds.d.ts +7 -0
  8. package/dist/autoAnimate/bounds.d.ts.map +1 -0
  9. package/dist/autoAnimate/bounds.js +23 -0
  10. package/dist/autoAnimate/composer.d.ts +30 -0
  11. package/dist/autoAnimate/composer.d.ts.map +1 -0
  12. package/dist/autoAnimate/composer.js +251 -0
  13. package/dist/autoAnimate/describeScene.d.ts +105 -0
  14. package/dist/autoAnimate/describeScene.d.ts.map +1 -0
  15. package/dist/autoAnimate/describeScene.js +165 -0
  16. package/dist/autoAnimate/draft.d.ts +59 -0
  17. package/dist/autoAnimate/draft.d.ts.map +1 -0
  18. package/dist/autoAnimate/draft.js +2 -0
  19. package/dist/autoAnimate/index.d.ts +14 -0
  20. package/dist/autoAnimate/index.d.ts.map +1 -0
  21. package/dist/autoAnimate/index.js +9 -0
  22. package/dist/autoAnimate/recipes.d.ts +87 -0
  23. package/dist/autoAnimate/recipes.d.ts.map +1 -0
  24. package/dist/autoAnimate/recipes.js +224 -0
  25. package/dist/autoAnimate/rng.d.ts +10 -0
  26. package/dist/autoAnimate/rng.d.ts.map +1 -0
  27. package/dist/autoAnimate/rng.js +16 -0
  28. package/dist/autoAnimate/sceneAnalyzer.d.ts +7 -0
  29. package/dist/autoAnimate/sceneAnalyzer.d.ts.map +1 -0
  30. package/dist/autoAnimate/sceneAnalyzer.js +291 -0
  31. package/dist/autoAnimate/types.d.ts +124 -0
  32. package/dist/autoAnimate/types.d.ts.map +1 -0
  33. package/dist/autoAnimate/types.js +1 -0
  34. package/dist/autoAnimate/validator.d.ts +10 -0
  35. package/dist/autoAnimate/validator.d.ts.map +1 -0
  36. package/dist/autoAnimate/validator.js +59 -0
  37. package/dist/data/effectsDefaults.d.ts +4 -0
  38. package/dist/data/effectsDefaults.d.ts.map +1 -1
  39. package/dist/data/effectsDefaults.js +393 -2
  40. package/dist/data/gridsDefaults.d.ts +5 -0
  41. package/dist/data/gridsDefaults.d.ts.map +1 -0
  42. package/dist/data/gridsDefaults.js +290 -0
  43. package/dist/data/index.d.ts +1 -0
  44. package/dist/data/index.d.ts.map +1 -1
  45. package/dist/data/index.js +1 -0
  46. package/dist/data/particlesDefaults.d.ts +3 -1
  47. package/dist/data/particlesDefaults.d.ts.map +1 -1
  48. package/dist/data/particlesDefaults.js +78 -0
  49. package/dist/environment/cloudConfigs.d.ts +313 -0
  50. package/dist/environment/cloudConfigs.d.ts.map +1 -0
  51. package/dist/environment/cloudConfigs.js +342 -0
  52. package/dist/environment/index.d.ts +5 -0
  53. package/dist/environment/index.d.ts.map +1 -0
  54. package/dist/environment/index.js +6 -0
  55. package/dist/environment/landscapeConfigs.d.ts +220 -0
  56. package/dist/environment/landscapeConfigs.d.ts.map +1 -0
  57. package/dist/environment/landscapeConfigs.js +256 -0
  58. package/dist/environment/oceanConfigs.d.ts +293 -0
  59. package/dist/environment/oceanConfigs.d.ts.map +1 -0
  60. package/dist/environment/oceanConfigs.js +380 -0
  61. package/dist/environment/terrainConfigs.d.ts +254 -0
  62. package/dist/environment/terrainConfigs.d.ts.map +1 -0
  63. package/dist/environment/terrainConfigs.js +292 -0
  64. package/dist/index.d.ts +4 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +4 -0
  67. package/dist/properties/index.d.ts +4 -0
  68. package/dist/properties/index.d.ts.map +1 -0
  69. package/dist/properties/index.js +3 -0
  70. package/dist/properties/registry.d.ts +44 -0
  71. package/dist/properties/registry.d.ts.map +1 -0
  72. package/dist/properties/registry.js +343 -0
  73. package/dist/properties/tables/effectsProperties.d.ts +40 -0
  74. package/dist/properties/tables/effectsProperties.d.ts.map +1 -0
  75. package/dist/properties/tables/effectsProperties.js +512 -0
  76. package/dist/properties/tables/geometryProperties.d.ts +38 -0
  77. package/dist/properties/tables/geometryProperties.d.ts.map +1 -0
  78. package/dist/properties/tables/geometryProperties.js +91 -0
  79. package/dist/properties/tables/getPropertyConfig.d.ts +3 -0
  80. package/dist/properties/tables/getPropertyConfig.d.ts.map +1 -0
  81. package/dist/properties/tables/getPropertyConfig.js +16 -0
  82. package/dist/properties/tables/gridProperties.d.ts +6 -0
  83. package/dist/properties/tables/gridProperties.d.ts.map +1 -0
  84. package/dist/properties/tables/gridProperties.js +121 -0
  85. package/dist/properties/tables/index.d.ts +9 -0
  86. package/dist/properties/tables/index.d.ts.map +1 -0
  87. package/dist/properties/tables/index.js +8 -0
  88. package/dist/properties/tables/lightProperties.d.ts +14 -0
  89. package/dist/properties/tables/lightProperties.d.ts.map +1 -0
  90. package/dist/properties/tables/lightProperties.js +263 -0
  91. package/dist/properties/tables/materialBounds.d.ts +33 -0
  92. package/dist/properties/tables/materialBounds.d.ts.map +1 -0
  93. package/dist/properties/tables/materialBounds.js +180 -0
  94. package/dist/properties/tables/optionalProperties.d.ts +83 -0
  95. package/dist/properties/tables/optionalProperties.d.ts.map +1 -0
  96. package/dist/properties/tables/optionalProperties.js +710 -0
  97. package/dist/properties/tables/particlesProperties.d.ts +17 -0
  98. package/dist/properties/tables/particlesProperties.d.ts.map +1 -0
  99. package/dist/properties/tables/particlesProperties.js +334 -0
  100. package/dist/properties/types.d.ts +43 -0
  101. package/dist/properties/types.d.ts.map +1 -0
  102. package/dist/properties/types.js +12 -0
  103. package/dist/services/AnimationsManager.d.ts +6 -106
  104. package/dist/services/AnimationsManager.d.ts.map +1 -1
  105. package/dist/services/AnimationsManager.js +5 -391
  106. package/dist/services/SceneActions.d.ts +17 -3
  107. package/dist/services/SceneActions.d.ts.map +1 -1
  108. package/dist/services/SceneActions.js +12 -8
  109. package/dist/services/ShadersLibrary.d.ts +1 -1
  110. package/dist/services/ShadersLibrary.d.ts.map +1 -1
  111. package/dist/services/index.d.ts +1 -2
  112. package/dist/services/index.d.ts.map +1 -1
  113. package/dist/shaders/WallpaperGridMaterial.d.ts.map +1 -1
  114. package/dist/shaders/WallpaperGridMaterial.js +6 -1
  115. package/dist/three/GalleryLayoutV.d.ts.map +1 -1
  116. package/dist/three/GalleryLayoutV.js +0 -10
  117. package/dist/three/SceneBuilderV.d.ts.map +1 -1
  118. package/dist/three/SceneBuilderV.js +1 -7
  119. package/dist/types/actions.d.ts +8 -1
  120. package/dist/types/actions.d.ts.map +1 -1
  121. package/dist/types/actions.js +0 -4
  122. package/dist/types/animations.d.ts +0 -51
  123. package/dist/types/animations.d.ts.map +1 -1
  124. package/dist/types/generativeEffects.d.ts +0 -4
  125. package/dist/types/generativeEffects.d.ts.map +1 -1
  126. package/dist/types/generativeParticles.d.ts +175 -2
  127. package/dist/types/generativeParticles.d.ts.map +1 -1
  128. package/dist/types/objectSettings.d.ts +96 -17
  129. package/dist/types/objectSettings.d.ts.map +1 -1
  130. package/dist/types/scene3d.d.ts +3 -3
  131. package/dist/types/scene3d.d.ts.map +1 -1
  132. package/dist/types/types.d.ts +3 -2
  133. package/dist/types/types.d.ts.map +1 -1
  134. package/dist/utils/generativeAnimatable.d.ts +1 -1
  135. package/dist/utils/generativeAnimatable.d.ts.map +1 -1
  136. package/dist/utils/generativeAnimatable.js +7 -1
  137. package/dist/utils/getAnimatableProperties.d.ts +12 -1
  138. package/dist/utils/getAnimatableProperties.d.ts.map +1 -1
  139. package/dist/utils/getAnimatableProperties.js +35 -138
  140. package/dist/utils/index.d.ts +1 -0
  141. package/dist/utils/index.d.ts.map +1 -1
  142. package/dist/utils/index.js +1 -0
  143. package/dist/utils/objectEffects.d.ts +6 -0
  144. package/dist/utils/objectEffects.d.ts.map +1 -0
  145. package/dist/utils/objectEffects.js +5 -0
  146. package/package.json +1 -1
@@ -0,0 +1,290 @@
1
+ // =============================================================================
2
+ // GRIDS_ANIMATABLE — which grid config knobs an animation or pointer may drive
3
+ // =============================================================================
4
+ //
5
+ // Keyed by the grid's config.type (quasiGrid, gravWaveGrid, ...). A grid is listed
6
+ // only once its component feeds the material from a merged config (committed +
7
+ // live + keyframe + pointer) through one push point, and only with the knobs that
8
+ // push point applies (applyGridConfig in the viewer: the shared surface knobs
9
+ // plus the grid's own). Structural knobs, mode selects and whole-number counts
10
+ // (size, displace, lineMode, cellMode, sectionSize, tiling, group, levels,
11
+ // tileCells) are never listed.
12
+ //
13
+ // Lives in core rather than beside the grid configs in the viewer, because the
14
+ // registry in utils/generativeAnimatable.ts (read by the animations and pointer
15
+ // panels) is core's, and core cannot import from the viewer.
16
+ //
17
+ export const GRIDS_ANIMATABLE = {
18
+ gravWaveGrid: [
19
+ { value: 'cellSize', label: 'Cell Size' },
20
+ { value: 'lineWidth', label: 'Line Width' },
21
+ { value: 'sectionWidth', label: 'Section Width' },
22
+ { value: 'animSpeed', label: 'Anim Speed' },
23
+ { value: 'animScale', label: 'Anim Scale' },
24
+ { value: 'animIntensity', label: 'Anim Intensity' },
25
+ { value: 'fadeStrength', label: 'Fade Strength' },
26
+ { value: 'bgOpacity', label: 'Bg Opacity' },
27
+ { value: 'lineColor', label: 'Line Color' },
28
+ { value: 'sectionColor', label: 'Section Color' },
29
+ { value: 'cellColor', label: 'Cell Color' },
30
+ { value: 'glowColor', label: 'Glow Color' },
31
+ { value: 'bgColor', label: 'Bg Color' },
32
+ { value: 'strain', label: 'Strain' },
33
+ { value: 'chirpTime', label: 'Chirp Time' },
34
+ { value: 'waveSpeed', label: 'Wave Speed' },
35
+ { value: 'massRatio', label: 'Mass Ratio' },
36
+ ],
37
+ girihGrid: [
38
+ { value: 'cellSize', label: 'Cell Size' },
39
+ { value: 'lineWidth', label: 'Line Width' },
40
+ { value: 'sectionWidth', label: 'Section Width' },
41
+ { value: 'animSpeed', label: 'Anim Speed' },
42
+ { value: 'animScale', label: 'Anim Scale' },
43
+ { value: 'animIntensity', label: 'Anim Intensity' },
44
+ { value: 'fadeStrength', label: 'Fade Strength' },
45
+ { value: 'bgOpacity', label: 'Bg Opacity' },
46
+ { value: 'lineColor', label: 'Line Color' },
47
+ { value: 'sectionColor', label: 'Section Color' },
48
+ { value: 'cellColor', label: 'Cell Color' },
49
+ { value: 'glowColor', label: 'Glow Color' },
50
+ { value: 'bgColor', label: 'Bg Color' },
51
+ { value: 'contactAngle', label: 'Contact Angle' },
52
+ { value: 'strapWidth', label: 'Strap Width' },
53
+ { value: 'angleDrift', label: 'Angle Drift' },
54
+ ],
55
+ wallpaperGrid: [
56
+ { value: 'cellSize', label: 'Cell Size' },
57
+ { value: 'lineWidth', label: 'Line Width' },
58
+ { value: 'sectionWidth', label: 'Section Width' },
59
+ { value: 'animSpeed', label: 'Anim Speed' },
60
+ { value: 'animScale', label: 'Anim Scale' },
61
+ { value: 'animIntensity', label: 'Anim Intensity' },
62
+ { value: 'fadeStrength', label: 'Fade Strength' },
63
+ { value: 'bgOpacity', label: 'Bg Opacity' },
64
+ { value: 'lineColor', label: 'Line Color' },
65
+ { value: 'sectionColor', label: 'Section Color' },
66
+ { value: 'cellColor', label: 'Cell Color' },
67
+ { value: 'glowColor', label: 'Glow Color' },
68
+ { value: 'bgColor', label: 'Bg Color' },
69
+ { value: 'cycleTime', label: 'Cycle Time' },
70
+ { value: 'motif', label: 'Motif' },
71
+ ],
72
+ reactionDiffusionGrid: [
73
+ { value: 'cellSize', label: 'Cell Size' },
74
+ { value: 'lineWidth', label: 'Line Width' },
75
+ { value: 'sectionWidth', label: 'Section Width' },
76
+ { value: 'animSpeed', label: 'Anim Speed' },
77
+ { value: 'animScale', label: 'Anim Scale' },
78
+ { value: 'animIntensity', label: 'Anim Intensity' },
79
+ { value: 'fadeStrength', label: 'Fade Strength' },
80
+ { value: 'bgOpacity', label: 'Bg Opacity' },
81
+ { value: 'lineColor', label: 'Line Color' },
82
+ { value: 'sectionColor', label: 'Section Color' },
83
+ { value: 'cellColor', label: 'Cell Color' },
84
+ { value: 'glowColor', label: 'Glow Color' },
85
+ { value: 'bgColor', label: 'Bg Color' },
86
+ { value: 'feed', label: 'Feed' },
87
+ { value: 'kill', label: 'Kill' },
88
+ { value: 'variation', label: 'Variation' },
89
+ ],
90
+ quasiGrid: [
91
+ { value: 'cellSize', label: 'Cell Size' },
92
+ { value: 'lineWidth', label: 'Line Width' },
93
+ { value: 'sectionWidth', label: 'Section Width' },
94
+ { value: 'animSpeed', label: 'Anim Speed' },
95
+ { value: 'animScale', label: 'Anim Scale' },
96
+ { value: 'animIntensity', label: 'Anim Intensity' },
97
+ { value: 'fadeStrength', label: 'Fade Strength' },
98
+ { value: 'bgOpacity', label: 'Bg Opacity' },
99
+ { value: 'lineColor', label: 'Line Color' },
100
+ { value: 'sectionColor', label: 'Section Color' },
101
+ { value: 'cellColor', label: 'Cell Color' },
102
+ { value: 'glowColor', label: 'Glow Color' },
103
+ { value: 'bgColor', label: 'Bg Color' },
104
+ { value: 'phase', label: 'Phase' },
105
+ ],
106
+ hexGrid: [
107
+ { value: 'cellSize', label: 'Cell Size' },
108
+ { value: 'lineWidth', label: 'Line Width' },
109
+ { value: 'sectionWidth', label: 'Section Width' },
110
+ { value: 'animSpeed', label: 'Anim Speed' },
111
+ { value: 'animScale', label: 'Anim Scale' },
112
+ { value: 'animIntensity', label: 'Anim Intensity' },
113
+ { value: 'fadeStrength', label: 'Fade Strength' },
114
+ { value: 'bgOpacity', label: 'Bg Opacity' },
115
+ { value: 'lineColor', label: 'Line Color' },
116
+ { value: 'sectionColor', label: 'Section Color' },
117
+ { value: 'cellColor', label: 'Cell Color' },
118
+ { value: 'glowColor', label: 'Glow Color' },
119
+ { value: 'bgColor', label: 'Bg Color' },
120
+ ],
121
+ circuitGrid: [
122
+ { value: 'cellSize', label: 'Cell Size' },
123
+ { value: 'lineWidth', label: 'Line Width' },
124
+ { value: 'sectionWidth', label: 'Section Width' },
125
+ { value: 'animSpeed', label: 'Anim Speed' },
126
+ { value: 'animScale', label: 'Anim Scale' },
127
+ { value: 'animIntensity', label: 'Anim Intensity' },
128
+ { value: 'fadeStrength', label: 'Fade Strength' },
129
+ { value: 'bgOpacity', label: 'Bg Opacity' },
130
+ { value: 'lineColor', label: 'Line Color' },
131
+ { value: 'sectionColor', label: 'Section Color' },
132
+ { value: 'cellColor', label: 'Cell Color' },
133
+ { value: 'glowColor', label: 'Glow Color' },
134
+ { value: 'bgColor', label: 'Bg Color' },
135
+ { value: 'powered', label: 'Powered' },
136
+ { value: 'chipChance', label: 'Chip Chance' },
137
+ { value: 'padSize', label: 'Pad Size' },
138
+ ],
139
+ voronoiGrid: [
140
+ { value: 'cellSize', label: 'Cell Size' },
141
+ { value: 'lineWidth', label: 'Line Width' },
142
+ { value: 'sectionWidth', label: 'Section Width' },
143
+ { value: 'animSpeed', label: 'Anim Speed' },
144
+ { value: 'animScale', label: 'Anim Scale' },
145
+ { value: 'animIntensity', label: 'Anim Intensity' },
146
+ { value: 'fadeStrength', label: 'Fade Strength' },
147
+ { value: 'bgOpacity', label: 'Bg Opacity' },
148
+ { value: 'lineColor', label: 'Line Color' },
149
+ { value: 'sectionColor', label: 'Section Color' },
150
+ { value: 'cellColor', label: 'Cell Color' },
151
+ { value: 'glowColor', label: 'Glow Color' },
152
+ { value: 'bgColor', label: 'Bg Color' },
153
+ { value: 'jitter', label: 'Jitter' },
154
+ { value: 'drift', label: 'Drift' },
155
+ ],
156
+ radarGrid: [
157
+ { value: 'cellSize', label: 'Cell Size' },
158
+ { value: 'lineWidth', label: 'Line Width' },
159
+ { value: 'sectionWidth', label: 'Section Width' },
160
+ { value: 'animSpeed', label: 'Anim Speed' },
161
+ { value: 'animScale', label: 'Anim Scale' },
162
+ { value: 'animIntensity', label: 'Anim Intensity' },
163
+ { value: 'fadeStrength', label: 'Fade Strength' },
164
+ { value: 'bgOpacity', label: 'Bg Opacity' },
165
+ { value: 'lineColor', label: 'Line Color' },
166
+ { value: 'sectionColor', label: 'Section Color' },
167
+ { value: 'cellColor', label: 'Cell Color' },
168
+ { value: 'glowColor', label: 'Glow Color' },
169
+ { value: 'bgColor', label: 'Bg Color' },
170
+ { value: 'sweepWidth', label: 'Sweep Width' },
171
+ { value: 'blipDensity', label: 'Blip Density' },
172
+ ],
173
+ moireGrid: [
174
+ { value: 'cellSize', label: 'Cell Size' },
175
+ { value: 'lineWidth', label: 'Line Width' },
176
+ { value: 'sectionWidth', label: 'Section Width' },
177
+ { value: 'animSpeed', label: 'Anim Speed' },
178
+ { value: 'animScale', label: 'Anim Scale' },
179
+ { value: 'animIntensity', label: 'Anim Intensity' },
180
+ { value: 'fadeStrength', label: 'Fade Strength' },
181
+ { value: 'bgOpacity', label: 'Bg Opacity' },
182
+ { value: 'lineColor', label: 'Line Color' },
183
+ { value: 'sectionColor', label: 'Section Color' },
184
+ { value: 'cellColor', label: 'Cell Color' },
185
+ { value: 'glowColor', label: 'Glow Color' },
186
+ { value: 'bgColor', label: 'Bg Color' },
187
+ { value: 'layerAngle', label: 'Layer Angle' },
188
+ { value: 'layerScale', label: 'Layer Scale' },
189
+ { value: 'spin', label: 'Spin' },
190
+ ],
191
+ fractalGrid: [
192
+ { value: 'cellSize', label: 'Cell Size' },
193
+ { value: 'lineWidth', label: 'Line Width' },
194
+ { value: 'sectionWidth', label: 'Section Width' },
195
+ { value: 'animSpeed', label: 'Anim Speed' },
196
+ { value: 'animScale', label: 'Anim Scale' },
197
+ { value: 'animIntensity', label: 'Anim Intensity' },
198
+ { value: 'fadeStrength', label: 'Fade Strength' },
199
+ { value: 'bgOpacity', label: 'Bg Opacity' },
200
+ { value: 'lineColor', label: 'Line Color' },
201
+ { value: 'sectionColor', label: 'Section Color' },
202
+ { value: 'cellColor', label: 'Cell Color' },
203
+ { value: 'glowColor', label: 'Glow Color' },
204
+ { value: 'bgColor', label: 'Bg Color' },
205
+ { value: 'splitRadius', label: 'Split Radius' },
206
+ { value: 'splitJitter', label: 'Split Jitter' },
207
+ ],
208
+ contourGrid: [
209
+ { value: 'cellSize', label: 'Cell Size' },
210
+ { value: 'lineWidth', label: 'Line Width' },
211
+ { value: 'sectionWidth', label: 'Section Width' },
212
+ { value: 'animSpeed', label: 'Anim Speed' },
213
+ { value: 'animScale', label: 'Anim Scale' },
214
+ { value: 'animIntensity', label: 'Anim Intensity' },
215
+ { value: 'fadeStrength', label: 'Fade Strength' },
216
+ { value: 'bgOpacity', label: 'Bg Opacity' },
217
+ { value: 'lineColor', label: 'Line Color' },
218
+ { value: 'sectionColor', label: 'Section Color' },
219
+ { value: 'cellColor', label: 'Cell Color' },
220
+ { value: 'glowColor', label: 'Glow Color' },
221
+ { value: 'bgColor', label: 'Bg Color' },
222
+ { value: 'roughness', label: 'Roughness' },
223
+ { value: 'warp', label: 'Warp' },
224
+ ],
225
+ flowNetGrid: [
226
+ { value: 'cellSize', label: 'Cell Size' },
227
+ { value: 'lineWidth', label: 'Line Width' },
228
+ { value: 'sectionWidth', label: 'Section Width' },
229
+ { value: 'animSpeed', label: 'Anim Speed' },
230
+ { value: 'animScale', label: 'Anim Scale' },
231
+ { value: 'animIntensity', label: 'Anim Intensity' },
232
+ { value: 'fadeStrength', label: 'Fade Strength' },
233
+ { value: 'bgOpacity', label: 'Bg Opacity' },
234
+ { value: 'lineColor', label: 'Line Color' },
235
+ { value: 'sectionColor', label: 'Section Color' },
236
+ { value: 'cellColor', label: 'Cell Color' },
237
+ { value: 'glowColor', label: 'Glow Color' },
238
+ { value: 'bgColor', label: 'Bg Color' },
239
+ { value: 'obstacleRadius', label: 'Obstacle Radius' },
240
+ { value: 'flowAngle', label: 'Flow Angle' },
241
+ ],
242
+ chladniGrid: [
243
+ { value: 'cellSize', label: 'Cell Size' },
244
+ { value: 'lineWidth', label: 'Line Width' },
245
+ { value: 'sectionWidth', label: 'Section Width' },
246
+ { value: 'animSpeed', label: 'Anim Speed' },
247
+ { value: 'animScale', label: 'Anim Scale' },
248
+ { value: 'animIntensity', label: 'Anim Intensity' },
249
+ { value: 'fadeStrength', label: 'Fade Strength' },
250
+ { value: 'bgOpacity', label: 'Bg Opacity' },
251
+ { value: 'lineColor', label: 'Line Color' },
252
+ { value: 'sectionColor', label: 'Section Color' },
253
+ { value: 'cellColor', label: 'Cell Color' },
254
+ { value: 'glowColor', label: 'Glow Color' },
255
+ { value: 'bgColor', label: 'Bg Color' },
256
+ { value: 'morph', label: 'Morph' },
257
+ { value: 'grain', label: 'Grain' },
258
+ ],
259
+ hyperbolicGrid: [
260
+ { value: 'cellSize', label: 'Cell Size' },
261
+ { value: 'lineWidth', label: 'Line Width' },
262
+ { value: 'sectionWidth', label: 'Section Width' },
263
+ { value: 'animSpeed', label: 'Anim Speed' },
264
+ { value: 'animScale', label: 'Anim Scale' },
265
+ { value: 'animIntensity', label: 'Anim Intensity' },
266
+ { value: 'fadeStrength', label: 'Fade Strength' },
267
+ { value: 'bgOpacity', label: 'Bg Opacity' },
268
+ { value: 'lineColor', label: 'Line Color' },
269
+ { value: 'sectionColor', label: 'Section Color' },
270
+ { value: 'cellColor', label: 'Cell Color' },
271
+ { value: 'glowColor', label: 'Glow Color' },
272
+ { value: 'bgColor', label: 'Bg Color' },
273
+ { value: 'drift', label: 'Drift' },
274
+ ],
275
+ advancedGrid: [
276
+ { value: 'cellSize', label: 'Cell Size' },
277
+ { value: 'lineWidth', label: 'Line Width' },
278
+ { value: 'sectionWidth', label: 'Section Width' },
279
+ { value: 'animSpeed', label: 'Anim Speed' },
280
+ { value: 'animScale', label: 'Anim Scale' },
281
+ { value: 'animIntensity', label: 'Anim Intensity' },
282
+ { value: 'fadeStrength', label: 'Fade Strength' },
283
+ { value: 'bgOpacity', label: 'Bg Opacity' },
284
+ { value: 'lineColor', label: 'Line Color' },
285
+ { value: 'sectionColor', label: 'Section Color' },
286
+ { value: 'cellColor', label: 'Cell Color' },
287
+ { value: 'glowColor', label: 'Glow Color' },
288
+ { value: 'bgColor', label: 'Bg Color' },
289
+ ],
290
+ };
@@ -6,6 +6,7 @@ export * from './paths';
6
6
  export * from './effectsDefaults';
7
7
  export * from './particlesDefaults';
8
8
  export * from './lightsDefaults';
9
+ export * from './gridsDefaults';
9
10
  export * from './shadowDefaults';
10
11
  export * from './defaults';
11
12
  export * from './shaders';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -6,6 +6,7 @@ export * from './paths.js';
6
6
  export * from './effectsDefaults.js';
7
7
  export * from './particlesDefaults.js';
8
8
  export * from './lightsDefaults.js';
9
+ export * from './gridsDefaults.js';
9
10
  export * from './shadowDefaults.js';
10
11
  export * from './defaults.js';
11
12
  export * from './shaders.js';
@@ -1,4 +1,4 @@
1
- import type { GenerativeParticlesConfig, GenerativeParticlesType } from "../types";
1
+ import type { GenerativeParticlesConfig, GenerativeParticlesType, ParticleShapeConfig, ParticleShapeType } from "../types";
2
2
  export declare const DEFAULT_GENERATIVE_PARTICLES: Record<GenerativeParticlesType, GenerativeParticlesConfig>;
3
3
  export declare const GENERATIVE_PARTICLES_LABELS: Record<GenerativeParticlesType, string>;
4
4
  /** Knobs the animation / mouse-move systems may drive per frame (see GENERATIVE_ANIMATABLE). */
@@ -6,6 +6,8 @@ export declare const GENERATIVE_PARTICLES_ANIMATABLE: Record<GenerativeParticles
6
6
  value: string;
7
7
  label: string;
8
8
  }[]>;
9
+ export declare const PARTICLE_SHAPE_TYPES: readonly ParticleShapeType[];
10
+ export declare const PARTICLE_SHAPE_DEFAULTS: Record<ParticleShapeType, ParticleShapeConfig>;
9
11
  /** True when a particles object's config is a generative particle object (not the legacy shape particles). */
10
12
  export declare function isGenerativeParticlesConfig(config: unknown): config is GenerativeParticlesConfig;
11
13
  //# sourceMappingURL=particlesDefaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"particlesDefaults.d.ts","sourceRoot":"","sources":["../../src/data/particlesDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAKnF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CASnG,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAS/E,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,uBAAuB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA6J/G,CAAC;AAEF,8GAA8G;AAC9G,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,yBAAyB,CAGhG"}
1
+ {"version":3,"file":"particlesDefaults.d.ts","sourceRoot":"","sources":["../../src/data/particlesDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK3H,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAYnG,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAY/E,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,uBAAuB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAoN/G,CAAC;AAMF,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAA0H,CAAC;AAExL,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAWlF,CAAC;AAEF,8GAA8G;AAC9G,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,yBAAyB,CAGhG"}
@@ -10,6 +10,9 @@ export const DEFAULT_GENERATIVE_PARTICLES = {
10
10
  chladniSand: { type: 'chladniSand', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#f1e3c2', particleCount: 20000, frequency: 4.63, sweep: 0.4, damping: 0.025, amplitude: 1, hopColor: '#fff3d6', lightAngle: 22, grainSize: 1, seed: 1, quality: 'medium', pointerMode: 'bow', pointerStrength: 1, pointerRadius: 1, pointerColor: '#fff4dc', trailMode: 'streak', trailLength: 1.6, trailOpacity: 0.6, trailColor: '#ffcf8a', trailShare: 0.5 },
11
11
  faradayPowder: { type: 'faradayPowder', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#ff8a2a', particleCount: 12000, frequency: 4.63, sweep: 0.3, damping: 0.025, amplitude: 1, glowColor: '#ffe7a6', hover: 1, swirl: 1, puffSize: 1, seed: 1, quality: 'medium', pointerMode: 'bow', pointerStrength: 1, pointerRadius: 1, pointerColor: '#fff4dc', trailMode: 'comet', trailLength: 1.6, trailOpacity: 0.6, trailColor: '#ff5a1e', trailShare: 0.6 },
12
12
  neonRain: { type: 'neonRain', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#ff2f9a', particleCount: 10000, rainRate: 18, windSpeed: 0.8, gustiness: 0.6, neonColor2: '#22dcff', lampColor: '#ffae52', neonLight: 1, aperture: 0.5, dropSize: 1, seed: 1, quality: 'medium', pointerMode: 'umbrella', pointerStrength: 1, pointerRadius: 1, pointerColor: '#eaf2ff', trailMode: 'streak', trailLength: 1.2, trailOpacity: 0.7, trailColor: '#9fb8ff', trailShare: 0.6 },
13
+ magneticBottle: { type: 'magneticBottle', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#5fd6ff', particleCount: 48, shape: { type: 'cone', radius: 0.5, height: 1, radialSegments: 32 }, windings: 0.6, pitchSpread: 0.3, lineLife: 6, lineDensity: 1, counterColor: '#ff6fb3', glow: 1, seed: 1, quality: 'medium', pointerMode: 'drift', pointerStrength: 1, pointerRadius: 1, pointerColor: '#fff0c8', trailMode: 'comet', trailLength: 0.8, trailOpacity: 0.8, trailColor: '#8f7bff', trailShare: 1 },
14
+ shapeBurst: { type: 'shapeBurst', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#45d1ff', particleCount: 180, shape: { type: 'icosahedron', radius: 0.5, detail: 0 }, interval: 2.8, formSpeed: 2.4, fieldStrength: 1, holdTime: 1.2, dissolve: 0.3, counterColor: '#ff5aa8', heatColor: '#fff6e0', headSize: 1.4, seed: 1, quality: 'medium', pointerMode: 'detonate', pointerStrength: 1, pointerRadius: 1, pointerColor: '#ffffff', trailMode: 'comet', trailLength: 0.4, trailOpacity: 0.8, trailColor: '#6a5cff', trailShare: 0.5 },
15
+ shapeFlow: { type: 'shapeFlow', enabled: true, intensity: 1, speed: 1, opacity: 0.9, size: 1, color: '#3f7bff', particleCount: 2400, shape: { type: 'sphere', radius: 0.5, segments: 32, rings: 32 }, flowSpeed: 1, windPitch: 0, rake: 'sheet', lanes: 44, streamWidth: 0.85, turbulence: 0.9, fastColor: '#ff6a3d', headSize: 1, seed: 1, quality: 'medium', pointerMode: 'obstacle', pointerStrength: 1, pointerRadius: 1, pointerColor: '#ffffff', trailMode: 'comet', trailLength: 1.2, trailOpacity: 0.7, trailColor: '#1b2a6b', trailShare: 1 },
13
16
  };
14
17
  export const GENERATIVE_PARTICLES_LABELS = {
15
18
  tidalStream: 'Tidal Stream',
@@ -20,6 +23,9 @@ export const GENERATIVE_PARTICLES_LABELS = {
20
23
  chladniSand: 'Chladni Sand',
21
24
  faradayPowder: 'Faraday Powder',
22
25
  neonRain: 'Neon Rain',
26
+ magneticBottle: 'Magnetic Bottle',
27
+ shapeBurst: 'Shape Burst',
28
+ shapeFlow: 'Shape Flow',
23
29
  };
24
30
  /** Knobs the animation / mouse-move systems may drive per frame (see GENERATIVE_ANIMATABLE). */
25
31
  export const GENERATIVE_PARTICLES_ANIMATABLE = {
@@ -179,6 +185,78 @@ export const GENERATIVE_PARTICLES_ANIMATABLE = {
179
185
  { value: 'trailOpacity', label: 'Trail Opacity' },
180
186
  { value: 'trailColor', label: 'Trail Color' },
181
187
  ],
188
+ magneticBottle: [
189
+ { value: 'intensity', label: 'Intensity' },
190
+ { value: 'speed', label: 'Speed' },
191
+ { value: 'opacity', label: 'Opacity' },
192
+ { value: 'color', label: 'Color' },
193
+ { value: 'windings', label: 'Windings' },
194
+ { value: 'pitchSpread', label: 'Pitch Spread' },
195
+ { value: 'lineLife', label: 'Line Life' },
196
+ { value: 'lineDensity', label: 'Line Density' },
197
+ { value: 'counterColor', label: 'Counter Color' },
198
+ { value: 'glow', label: 'Glow' },
199
+ { value: 'pointerStrength', label: 'Pointer Strength' },
200
+ { value: 'pointerRadius', label: 'Pointer Radius' },
201
+ { value: 'pointerColor', label: 'Pointer Color' },
202
+ { value: 'trailLength', label: 'Trail Length' },
203
+ { value: 'trailOpacity', label: 'Trail Opacity' },
204
+ { value: 'trailColor', label: 'Trail Color' },
205
+ ],
206
+ shapeBurst: [
207
+ { value: 'intensity', label: 'Intensity' },
208
+ { value: 'speed', label: 'Speed' },
209
+ { value: 'opacity', label: 'Opacity' },
210
+ { value: 'color', label: 'Color' },
211
+ { value: 'interval', label: 'Interval' },
212
+ { value: 'formSpeed', label: 'Form Speed' },
213
+ { value: 'fieldStrength', label: 'Field Strength' },
214
+ { value: 'holdTime', label: 'Hold Time' },
215
+ { value: 'dissolve', label: 'Dissolve' },
216
+ { value: 'counterColor', label: 'Counter Color' },
217
+ { value: 'heatColor', label: 'Heat Color' },
218
+ { value: 'headSize', label: 'Head Size' },
219
+ { value: 'pointerStrength', label: 'Pointer Strength' },
220
+ { value: 'pointerRadius', label: 'Pointer Radius' },
221
+ { value: 'pointerColor', label: 'Pointer Color' },
222
+ { value: 'trailLength', label: 'Trail Length' },
223
+ { value: 'trailOpacity', label: 'Trail Opacity' },
224
+ { value: 'trailColor', label: 'Trail Color' },
225
+ ],
226
+ shapeFlow: [
227
+ { value: 'intensity', label: 'Intensity' },
228
+ { value: 'speed', label: 'Speed' },
229
+ { value: 'opacity', label: 'Opacity' },
230
+ { value: 'color', label: 'Color' },
231
+ { value: 'flowSpeed', label: 'Flow Speed' },
232
+ { value: 'streamWidth', label: 'Stream Width' },
233
+ { value: 'turbulence', label: 'Turbulence' },
234
+ { value: 'fastColor', label: 'Fast Color' },
235
+ { value: 'headSize', label: 'Head Size' },
236
+ { value: 'pointerStrength', label: 'Pointer Strength' },
237
+ { value: 'pointerRadius', label: 'Pointer Radius' },
238
+ { value: 'pointerColor', label: 'Pointer Color' },
239
+ { value: 'trailLength', label: 'Trail Length' },
240
+ { value: 'trailOpacity', label: 'Trail Opacity' },
241
+ { value: 'trailColor', label: 'Trail Color' },
242
+ ],
243
+ };
244
+ // =============================================================================
245
+ // PARTICLE SHAPES — the `shape` config of shape-driven particle objects (magneticBottle,
246
+ // shapeBurst, shapeFlow). Defaults are the core mesh builders' own defaults.
247
+ // =============================================================================
248
+ export const PARTICLE_SHAPE_TYPES = ['cone', 'cylinder', 'sphere', 'capsule', 'torus', 'box', 'tetrahedron', 'octahedron', 'icosahedron', 'dodecahedron'];
249
+ export const PARTICLE_SHAPE_DEFAULTS = {
250
+ cone: { type: 'cone', radius: 0.5, height: 1, radialSegments: 32 },
251
+ cylinder: { type: 'cylinder', radiusTop: 0.5, radiusBottom: 0.5, height: 1, radialSegments: 32 },
252
+ sphere: { type: 'sphere', radius: 0.5, segments: 32, rings: 32 },
253
+ capsule: { type: 'capsule', radius: 0.3, length: 1, capSegments: 4, radialSegments: 8 },
254
+ torus: { type: 'torus', radius: 0.5, tube: 0.2, radialSegments: 16, tubularSegments: 100 },
255
+ box: { type: 'box', size: [1, 1, 1] },
256
+ tetrahedron: { type: 'tetrahedron', radius: 0.5, detail: 0 },
257
+ octahedron: { type: 'octahedron', radius: 0.5, detail: 0 },
258
+ icosahedron: { type: 'icosahedron', radius: 0.5, detail: 0 },
259
+ dodecahedron: { type: 'dodecahedron', radius: 0.5, detail: 0 },
182
260
  };
183
261
  /** True when a particles object's config is a generative particle object (not the legacy shape particles). */
184
262
  export function isGenerativeParticlesConfig(config) {