-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVariationDefaults.gd
More file actions
443 lines (417 loc) · 17.3 KB
/
Copy pathVariationDefaults.gd
File metadata and controls
443 lines (417 loc) · 17.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
extends Resource
class_name VariationDefaults
## --- Main Controls ---
@export var variation_mode_a: int = 0 # Sinusoidal ID
@export var variation_mode_b: int = 1 # Spherical ID
@export var start_pattern_mode: int = 0
@export var variation_mix: float = 0.5
@export var feedback_amount: float = 0.8
@export var feedback_min: float = 0.0
@export var feedback_max: float = 0.95
@export var seamless_tiling: bool = true
@export var mirror_tiling: bool = false
@export var reset_on_drag_enabled: bool = true
@export var save_resolution_index: int = 1
## --- Start Patterns ---
@export var show_start_grid: bool = false
@export var show_circles: bool = true
@export var circle_count: float = 4.0
@export var circle_radius: float = 0.2
@export var circle_softness: float = 0.05
@export var grad_col_tl: Color = Color.CYAN
@export var grad_col_tr: Color = Color.YELLOW
@export var grad_col_bl: Color = Color.BLUE
@export var grad_col_br: Color = Color.RED
@export var circle_grid_scale: float = 8.0
@export var circle_grid_radius: float = 0.4
@export var circle_grid_softness: float = 0.05
## --- Escape Time (Orbit Trap) ---
@export var use_escape_time: bool = false
@export var escape_limit: float = 4.0
@export var escape_shape: int = 0
@export var escape_smoothness: float = 0.1
@export var escape_invert: bool = false
## --- Transforms ---
@export var pre_scale: float = 1.0
@export var pre_rotation: float = 0.0
@export var pre_translate: Vector2 = Vector2.ZERO
@export var post_scale: float = 0.995
@export var post_rotation: float = 0.0
@export var post_translate: Vector2 = Vector2.ZERO
@export var translate_a: Vector2 = Vector2.ZERO
@export var translate_b: Vector2 = Vector2.ZERO
@export var move_post_translate: bool = true
@export var move_pre_translate: bool = false
@export var move_var_a_translate: bool = false
@export var move_var_b_translate: bool = false
## --- Color & Post FX ---
@export var brightness: float = 1.0
@export var contrast: float = 1.0
@export var saturation: float = 1.0
@export var mirror_x: bool = false
@export var mirror_y: bool = false
@export var kaleidoscope_on: bool = false
@export var kaleidoscope_slices: float = 6.0
## --- Variation A ---
@export var var_a_mirror_x: bool = false
@export var var_a_mirror_y: bool = false
@export var var_a_kaleidoscope_slices: float = 6.0
@export var wave_type_a: int = 0
@export var wave_frequency_a: float = 0.0
@export var wave_amplitude_a: float = 0.1
@export var wave_phase_a: float = 0.0
@export var julian_power_a: float = 2.0
@export var julian_dist_a: float = 1.0
@export var julian_a_a: float = 1.0
@export var julian_b_a: float = 0.0
@export var julian_c_a: float = 0.0
@export var julian_d_a: float = 1.0
@export var julian_e_a: float = 0.0
@export var julian_f_a: float = 0.0
@export var fisheye_strength_a: float = 2.0
@export var polar_offset_a: float = 1.0
@export var mobius_re_a_a: float = 0.1
@export var mobius_im_a_a: float = 0.2
@export var mobius_re_b_a: float = 0.2
@export var mobius_im_b_a: float = -0.12
@export var mobius_re_c_a: float = -0.15
@export var mobius_im_c_a: float = -0.15
@export var mobius_re_d_a: float = 0.21
@export var mobius_im_d_a: float = 0.1
@export var cellular_weave_grid_size_a: float = 10.0
@export var cellular_weave_threshold_a: float = 4.0
@export var cellular_weave_iterations_a: float = 1.0
@export var clifford_a_a: float = -1.7
@export var clifford_b_a: float = 1.7
@export var clifford_c_a: float = -0.5
@export var clifford_d_a: float = -1.2
@export var clifford_a_a_speed: float = 0.0
@export var clifford_b_a_speed: float = 0.0
@export var clifford_c_a_speed: float = 0.0
@export var clifford_d_a_speed: float = 0.0
@export var dejong_a_a: float = 1.4
@export var dejong_b_a: float = 2.3
@export var dejong_c_a: float = 1.5
@export var dejong_d_a: float = -0.6
@export var blur_amount_a: float = 0.0
@export var heart_scale_a: float = 0.3
@export var heart_rotation_a: float = 0.0
@export var heart_strength_a: float = 0.5
@export var apollonian_scale_a: float = 1.5
@export var ap_c1_a: Vector2 = Vector2(0.0, 0.5)
@export var ap_c2_a: Vector2 = Vector2(-0.433, -0.25)
@export var ap_c3_a: Vector2 = Vector2(0.433, -0.25)
@export var custom_tl_a_id: int = 0
@export var custom_tr_a_id: int = 0
@export var custom_bl_a_id: int = 0
@export var custom_br_a_id: int = 0
@export var popcorn_scale_a: float = 1.0
@export var popcorn_scale_a_speed: float = 0.0
@export var popcorn_strength_a: float = 0.1
@export var popcorn_strength_a_speed: float = 0.0
@export var popcorn_density_a: float = 3.0
@export var popcorn_density_a_speed: float = 0.0
@export var construct_density_a: float = 5.0
@export var construct_circles_a: float = 0.5
@export var construct_chaos_a: float = 0.0
@export var construct_thickness_a: float = 1.0
@export var construct_density_a_speed: float = 0.0
@export var construct_circles_a_speed: float = 0.0
@export var construct_chaos_a_speed: float = 0.0
@export var construct_thickness_a_speed: float = 0.0
## --- Snowflake A ---
@export var snow_scale_a: float = 1.0
@export var snow_branches_a: float = 5.0
@export var snow_thickness_a: float = 0.2
@export var snow_chaos_a: float = 0.1
@export var snow_strength_a: float = 0.2
@export var snow_scale_a_speed: float = 0.0
@export var snow_branches_a_speed: float = 0.0
@export var snow_thickness_a_speed: float = 0.0
@export var snow_chaos_a_speed: float = 0.0
@export var snow_strength_a_speed: float = 0.0
## --- Variation B ---
@export var var_b_mirror_x: bool = false
@export var var_b_mirror_y: bool = false
@export var var_b_kaleidoscope_slices: float = 6.0
@export var wave_type_b: int = 0
@export var wave_frequency_b: float = 5.0
@export var wave_amplitude_b: float = 0.1
@export var wave_speed_b: float = 0.0
@export var julian_power_b: float = -3.0
@export var julian_dist_b: float = 1.0
@export var julian_a_b: float = 1.0
@export var julian_b_b: float = 0.0
@export var julian_c_b: float = 0.0
@export var julian_d_b: float = 1.0
@export var julian_e_b: float = 0.0
@export var julian_f_b: float = 0.0
@export var fisheye_strength_b: float = 2.0
@export var polar_offset_b: float = 1.0
@export var mobius_re_a_b: float = 0.1
@export var mobius_im_a_b: float = 0.2
@export var mobius_re_b_b: float = 0.2
@export var mobius_im_b_b: float = -0.12
@export var mobius_re_c_b: float = -0.15
@export var mobius_im_c_b: float = -0.15
@export var mobius_re_d_b: float = 0.21
@export var mobius_im_d_b: float = 0.1
@export var cellular_weave_grid_size_b: float = 10.0
@export var cellular_weave_threshold_b: float = 4.0
@export var cellular_weave_iterations_b: float = 1.0
@export var clifford_a_b: float = -1.7
@export var clifford_b_b: float = 1.7
@export var clifford_c_b: float = -0.5
@export var clifford_d_b: float = -1.2
@export var clifford_a_b_speed: float = 0.0
@export var clifford_b_b_speed: float = 0.0
@export var clifford_c_b_speed: float = 0.0
@export var clifford_d_b_speed: float = 0.0
@export var dejong_a_b: float = 1.4
@export var dejong_b_b: float = 2.3
@export var dejong_c_b: float = 1.5
@export var dejong_d_b: float = -0.6
@export var blur_amount_b: float = 0.0
@export var heart_scale_b: float = 0.3
@export var heart_rotation_b: float = 0.0
@export var heart_strength_b: float = 0.5
@export var apollonian_scale_b: float = 1.5
@export var ap_c1_b: Vector2 = Vector2(0.0, 0.5)
@export var ap_c2_b: Vector2 = Vector2(-0.433, -0.25)
@export var ap_c3_b: Vector2 = Vector2(0.433, -0.25)
@export var custom_tl_b_id: int = 0
@export var custom_tr_b_id: int = 0
@export var custom_bl_b_id: int = 0
@export var custom_br_b_id: int = 0
## --- Constructivist B ---
@export var construct_density_b: float = 5.0
@export var construct_circles_b: float = 0.5
@export var construct_chaos_b: float = 0.0
@export var construct_thickness_b: float = 1.0
@export var construct_density_b_speed: float = 0.0
@export var construct_circles_b_speed: float = 0.0
@export var construct_chaos_b_speed: float = 0.0
@export var construct_thickness_b_speed: float = 0.0
## --- Snowflake B ---
@export var snow_scale_b: float = 1.0
@export var snow_branches_b: float = 5.0
@export var snow_thickness_b: float = 0.2
@export var snow_chaos_b: float = 0.1
@export var snow_strength_b: float = 0.2 # NEW
@export var snow_scale_b_speed: float = 0.0
@export var snow_branches_b_speed: float = 0.0
@export var snow_thickness_b_speed: float = 0.0
@export var snow_chaos_b_speed: float = 0.0
@export var snow_strength_b_speed: float = 0.0
@export var portal_shift_x_a: float = 1.0
@export var portal_shift_y_a: float = 1.0
@export var portal_shift_x_a_speed: float = 0.0
@export var portal_shift_y_a_speed: float = 0.0
@export var portal_shift_x_b: float = 1.0
@export var portal_shift_y_b: float = 1.0
@export var portal_shift_x_b_speed: float = 0.0
@export var portal_shift_y_b_speed: float = 0.0
@export var popcorn_scale_b: float = 1.0
@export var popcorn_scale_b_speed: float = 0.0
@export var popcorn_strength_b: float = 0.1
@export var popcorn_strength_b_speed: float = 0.0
@export var popcorn_density_b: float = 3.0
@export var popcorn_density_b_speed: float = 0.0
## --- Truchet A ---
@export var truchet_scale_a: float = 2.0
@export var truchet_rotate_a: float = 0.0
@export var truchet_strength_a: float = 0.1
@export var truchet_mode_a: float = 1.0
## --- Truchet B ---
@export var truchet_scale_b: float = 2.0
@export var truchet_rotate_b: float = 0.0
@export var truchet_strength_b: float = 0.1
@export var truchet_mode_b: float = 1.0
## --- 3D Controls (General) ---
@export var light_x_rotation: float = 0.0
@export var light_y_rotation: float = 0.0
@export var light_energy: float = 1.0
@export var light_color: Color = Color.WHITE
@export var light_shadows: bool = true
@export var normal_map_strength: float = 1.0
@export var camera_distance: float = 3.5
@export var camera_x_rotation: float = 0.0
@export var camera_y_rotation: float = 0.0
@export var camera_z_rotation: float = 0.0 # Added Z
@export var camera_fov: float = 75.0
@export var show_2d_background: bool = false
## --- 3D Surface / Material ---
@export var displacement_strength: float = 0.2
@export var height_offset: float = -0.5
@export var displacement_smoothness: float = 0.0
@export var limit_to_top: bool = false
@export var emission_strength: float = 0.0
@export var use_dynamic_material: bool = false
@export var grade_background_active: bool = false
## --- Raymarching (3D Fractals) ---
@export var mandel_power: float = 3.0
@export var ray_iterations: int = 12
@export var mandel_texture_intensity: float = 0.5
@export var mandel_texture_scale: float = 1.0
# Amazing Box / Surf Settings
@export var ab_fold_limit: float = 1.0
@export var ab_fixed_radius: float = 1.0
# Chaos Modifiers (ASurf & Others)
@export var as_fold_limit: float = 1.0
@export var as_rotate: Vector3 = Vector3.ZERO
@export var as_twist: Vector3 = Vector3.ZERO
@export var as_wave_strength: Vector3 = Vector3.ZERO
@export var as_wave_frequency: Vector3 = Vector3(4.0, 4.0, 4.0)
@export var as_julia: Vector3 = Vector3.ZERO
## --- Lazy Mega (A) ---
@export var lazy_shape_a: int = 0 # 0=Circle, 1=Square, 2=Diamond
@export var lazy_inside_mode_a: int = 0 # 0=Twist, 1=Travis, 2=Hole
@export var lazy_outside_mode_a: int = 0 # 0=Inverse, 1=Travis, 2=None
@export var lazy_amount_a: float = 0.5 # The size of the boundary
@export var lazy_twist_a: float = 0.2
@export var lazy_spin_a: float = 0.1
@export var lazy_space_a: float = 0.4
@export var lazy_offset_a: Vector2 = Vector2(0.1, 0.2)
@export var lazy_amount_a_speed: float = 0.0
@export var lazy_twist_a_speed: float = 0.0
@export var lazy_spin_a_speed: float = 0.0
@export var lazy_space_a_speed: float = 0.0
@export var lazy_ring_mode_a: int = 0 # 0=Empty, 1=Texture, 2=Rings, 3=Rays
@export var lazy_ring_spin_a: float = 0.0
@export var lazy_ring_spin_a_speed: float = 0.0
@export var lazy_edge_softness_a: float = 0.0
## --- Lazy Mega (B) ---
@export var lazy_shape_b: int = 0
@export var lazy_inside_mode_b: int = 0
@export var lazy_outside_mode_b: int = 0
@export var lazy_amount_b: float = 0.5
@export var lazy_twist_b: float = 0.2
@export var lazy_spin_b: float = 0.1
@export var lazy_space_b: float = 0.4
@export var lazy_offset_b: Vector2 = Vector2(0.1, 0.2)
@export var lazy_amount_b_speed: float = 0.0
@export var lazy_twist_b_speed: float = 0.0
@export var lazy_spin_b_speed: float = 0.0
@export var lazy_space_b_speed: float = 0.0
@export var lazy_ring_mode_b: int = 0
@export var lazy_ring_spin_b: float = 0.0
@export var lazy_ring_spin_b_speed: float = 0.0
@export var lazy_edge_softness_b: float = 0.0
## --- GlynnSim A ---
@export var glynn_radius_a: float = 1.0
@export var glynn_thickness_a: float = 0.1
@export var glynn_contrast_a: float = 0.5
@export var glynn_pow_a: float = 1.5
@export var glynn_phi1_a: float = 110.0
@export var glynn_phi2_a: float = 150.0
@export var glynn_radius_a_speed: float = 0.0
@export var glynn_thickness_a_speed: float = 0.0
@export var glynn_contrast_a_speed: float = 0.0
@export var glynn_pow_a_speed: float = 0.0
@export var glynn_phi1_a_speed: float = 0.0
@export var glynn_phi2_a_speed: float = 0.0
@export var glynn_ring_mode_a: int = 0
## --- GlynnSim B ---
@export var glynn_radius_b: float = 1.0
@export var glynn_thickness_b: float = 0.1
@export var glynn_contrast_b: float = 0.5
@export var glynn_pow_b: float = 1.5
@export var glynn_phi1_b: float = 110.0
@export var glynn_phi2_b: float = 150.0
@export var glynn_radius_b_speed: float = 0.0
@export var glynn_thickness_b_speed: float = 0.0
@export var glynn_contrast_b_speed: float = 0.0
@export var glynn_pow_b_speed: float = 0.0
@export var glynn_phi1_b_speed: float = 0.0
@export var glynn_phi2_b_speed: float = 0.0
@export var glynn_ring_mode_b: int = 0
## --- Nebula A ---
@export var nebula_scale_a: float = 2.0
@export var nebula_speed_a: float = 0.1
@export var nebula_detail_a: float = 5.0 # Octaves (Layers of noise)
@export var nebula_distortion_a: float = 0.5
@export var nebula_scale_a_speed: float = 0.0
@export var nebula_speed_a_speed: float = 0.0
@export var nebula_detail_a_speed: float = 0.0
@export var nebula_distortion_a_speed: float = 0.0
@export var nebula_swirl_a: float = 0.0
@export var nebula_swirl_a_speed: float = 0.0
@export var nebula_stars_a: float = 0.0 # 0 = None, 1 = Lots of stars
@export var nebula_filaments_a: float = 0.0 # 0=Soft, 1=Sharp
## --- Nebula B ---
@export var nebula_scale_b: float = 2.0
@export var nebula_speed_b: float = 0.1
@export var nebula_detail_b: float = 5.0
@export var nebula_distortion_b: float = 0.5
@export var nebula_scale_b_speed: float = 0.0
@export var nebula_speed_b_speed: float = 0.0
@export var nebula_detail_b_speed: float = 0.0
@export var nebula_distortion_b_speed: float = 0.0
@export var nebula_swirl_b: float = 0.0
@export var nebula_swirl_b_speed: float = 0.0
@export var nebula_stars_b: float = 0.0
@export var nebula_filaments_b: float = 0.0
## --- Jigsaw A ---
@export var jigsaw_scale_a: float = 5.0
@export var jigsaw_tab_size_a: float = 0.3
@export var jigsaw_distortion_a: float = 0.0 # 0=Clean, 1=Jumbled
@export var jigsaw_scale_a_speed: float = 0.0
@export var jigsaw_tab_size_a_speed: float = 0.0
@export var jigsaw_distortion_a_speed: float = 0.0
@export var jigsaw_outline_a: float = 0.0 # 0.0 = No Line, 0.1 = Thick Line
## --- Jigsaw B ---
@export var jigsaw_scale_b: float = 5.0
@export var jigsaw_tab_size_b: float = 0.3
@export var jigsaw_distortion_b: float = 0.0
@export var jigsaw_scale_b_speed: float = 0.0
@export var jigsaw_tab_size_b_speed: float = 0.0
@export var jigsaw_distortion_b_speed: float = 0.0
@export var jigsaw_outline_b: float = 0.0
## --- Gnarl A ---
@export var gnarl_mode_a: int = 1 # 1-8
@export var gnarl_scale_x_a: float = 0.5 # Strength X
@export var gnarl_scale_y_a: float = 0.5 # Strength Y
@export var gnarl_freq_x1_a: float = 3.5
@export var gnarl_freq_y1_a: float = 3.5
@export var gnarl_freq_x2_a: float = 2.0
@export var gnarl_freq_y2_a: float = 2.0
@export var gnarl_freq_x3_a: float = 5.0
@export var gnarl_freq_y3_a: float = 5.0
@export var gnarl_c1_a: float = 5.0 # Color/Phase 1
@export var gnarl_c2_a: float = 5.0 # Color/Phase 2
@export var gnarl_distort_a: float = 0.0 # Log Distortion
@export var gnarl_scale_x_a_speed: float = 0.0
@export var gnarl_scale_y_a_speed: float = 0.0
@export var gnarl_freq_x1_a_speed: float = 0.0
@export var gnarl_freq_y1_a_speed: float = 0.0
@export var gnarl_freq_x2_a_speed: float = 0.0
@export var gnarl_freq_y2_a_speed: float = 0.0
@export var gnarl_freq_x3_a_speed: float = 0.0
@export var gnarl_freq_y3_a_speed: float = 0.0
@export var gnarl_c1_a_speed: float = 0.0
@export var gnarl_c2_a_speed: float = 0.0
@export var gnarl_distort_a_speed: float = 0.0
## --- Gnarl B ---
@export var gnarl_mode_b: int = 1
@export var gnarl_scale_x_b: float = 0.5
@export var gnarl_scale_y_b: float = 0.5
@export var gnarl_freq_x1_b: float = 3.5
@export var gnarl_freq_y1_b: float = 3.5
@export var gnarl_freq_x2_b: float = 2.0
@export var gnarl_freq_y2_b: float = 2.0
@export var gnarl_freq_x3_b: float = 5.0
@export var gnarl_freq_y3_b: float = 5.0
@export var gnarl_c1_b: float = 5.0
@export var gnarl_c2_b: float = 5.0
@export var gnarl_distort_b: float = 0.0
@export var gnarl_scale_x_b_speed: float = 0.0
@export var gnarl_scale_y_b_speed: float = 0.0
@export var gnarl_freq_x1_b_speed: float = 0.0
@export var gnarl_freq_y1_b_speed: float = 0.0
@export var gnarl_freq_x2_b_speed: float = 0.0
@export var gnarl_freq_y2_b_speed: float = 0.0
@export var gnarl_freq_x3_b_speed: float = 0.0
@export var gnarl_freq_y3_b_speed: float = 0.0
@export var gnarl_c1_b_speed: float = 0.0
@export var gnarl_c2_b_speed: float = 0.0
@export var gnarl_distort_b_speed: float = 0.0