@genocode/core 0.3.0 → 0.5.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 (65) hide show
  1. package/dist/ast.d.ts +17 -1
  2. package/dist/ast.d.ts.map +1 -1
  3. package/dist/ast.js.map +1 -1
  4. package/dist/builtins.d.ts +1 -1
  5. package/dist/builtins.d.ts.map +1 -1
  6. package/dist/builtins.js +5 -2
  7. package/dist/builtins.js.map +1 -1
  8. package/dist/checker.d.ts +10 -1
  9. package/dist/checker.d.ts.map +1 -1
  10. package/dist/checker.js +102 -2
  11. package/dist/checker.js.map +1 -1
  12. package/dist/colour.d.ts +1 -1
  13. package/dist/colour.d.ts.map +1 -1
  14. package/dist/colour.js +8 -4
  15. package/dist/colour.js.map +1 -1
  16. package/dist/format.d.ts.map +1 -1
  17. package/dist/format.js +37 -3
  18. package/dist/format.js.map +1 -1
  19. package/dist/genetics.d.ts.map +1 -1
  20. package/dist/genetics.js +3 -1
  21. package/dist/genetics.js.map +1 -1
  22. package/dist/help.d.ts.map +1 -1
  23. package/dist/help.js +30 -3
  24. package/dist/help.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/interpreter.js +3 -1
  29. package/dist/interpreter.js.map +1 -1
  30. package/dist/lexer.d.ts.map +1 -1
  31. package/dist/lexer.js +1 -0
  32. package/dist/lexer.js.map +1 -1
  33. package/dist/parser.js +48 -2
  34. package/dist/parser.js.map +1 -1
  35. package/dist/values.d.ts +2 -0
  36. package/dist/values.d.ts.map +1 -1
  37. package/dist/values.js +1 -1
  38. package/dist/values.js.map +1 -1
  39. package/package.json +1 -1
  40. package/reference/LANGUAGE.md +61 -8
  41. package/reference/creatures/Alien.genie +653 -0
  42. package/reference/creatures/Breeze.genie +386 -0
  43. package/reference/creatures/Cobra.genie +386 -0
  44. package/reference/creatures/Flowerball.genie +302 -39
  45. package/reference/creatures/FlyingFish.genie +786 -0
  46. package/reference/creatures/Genes.genie +470 -0
  47. package/reference/creatures/Genie.genie +548 -0
  48. package/reference/creatures/Greenbay.genie +786 -0
  49. package/reference/creatures/Jellyfish.genie +472 -0
  50. package/reference/creatures/Monster.genie +594 -0
  51. package/reference/creatures/Neuron.genie +649 -0
  52. package/reference/creatures/Octoplant.genie +334 -0
  53. package/reference/creatures/Parasite.genie +393 -0
  54. package/reference/creatures/Pesky.genie +473 -0
  55. package/reference/creatures/Phoenix.genie +294 -0
  56. package/reference/creatures/Picstix.genie +1788 -0
  57. package/reference/creatures/Psybat.genie +602 -0
  58. package/reference/creatures/Star.genie +339 -0
  59. package/reference/creatures/Starfish.genie +458 -0
  60. package/reference/creatures/Transformer.genie +297 -0
  61. package/reference/creatures/TwoByTwo.genie +547 -0
  62. package/reference/creatures/Flower.genie +0 -41
  63. package/reference/creatures/Flyer.genie +0 -142
  64. package/reference/creatures/StarBurstShell.genie +0 -102
  65. package/reference/creatures/StarBurstShell9.genie +0 -102
@@ -0,0 +1,786 @@
1
+ creature FlyingFish
2
+ // Three fish swimming in a triangle, with fins, eyes and tails, each chasing a fly.
3
+ // Inspired by FlyingFish, a DancerDNA creature.
4
+
5
+ gene apart = 32.1 in -20..40 // how far apart the fish are
6
+ gene fly_at = (2.239, 4.799, -3.661) in (-10, -15, -12.13)..(10, 15, 10) // where each fly is from its fish
7
+ gene stray = 0.2733 in -17..10 // how far the third fish strays up or down
8
+
9
+ gene head_shape = ball from [ball, ring]
10
+ gene dive = -8.008 in -65.41..65.41 // how far the fish tip their heads down
11
+ gene bank = 0 in -114.6..114.6 // how far they roll
12
+ gene stride = 0.6983 in 0.2..1 // how far apart the body's segments are
13
+ gene thickness = 1.008 in 1..1.1 // how much longer each segment is than the last
14
+ gene flap = 1.166 in 0..2 // where the body is in its beat, which bends it
15
+ gene swim = -80.53 in -180..180 // where the segments' spacing starts its wave
16
+
17
+ gene fin_size = -0.05533 in -1..1 // how big the side fins are; never less than 0.2
18
+ gene fin_length = 7.154 in 7..11 // how many beads each fin has
19
+ gene fin_tilt = 33.67 in -57.3..57.3
20
+ gene fin_curl = 1.657 in -22.92..28.65 // how far each bead of a fin turns from the last: up
21
+ gene fin_sweep = 6.333 in -5.73..28.65 // and sideways
22
+
23
+ gene fly_length = 8.915 in 5..15 // how many cones the fly has
24
+ gene fly_size = 0.2073 in 0.2..1.2
25
+ gene fly_curl = 12.83 in -22.92..28.65
26
+ gene fly_sweep = 16.2 in -5.73..85.95
27
+
28
+ // The colours of the body, from head to tail, of the fins and of the flies.
29
+ gene body_1 = hsv(333.7, 1, 0.92) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
30
+ gene body_2 = hsv(309.1, 0.72, 0.88) in hsv(0, 0, 0.3)..hsv(360, 1, 1)
31
+ gene body_3 = hsv(129.4, 0.85, 0.93) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
32
+ gene fin_1 = hsv(138.1, 0.79, 0.88) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
33
+ gene fin_2 = hsv(252, 1, 1) in hsv(0, 0, 0.3)..hsv(360, 1, 1)
34
+ gene fin_3 = hsv(350.3, 0.71, 0.9) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
35
+ gene fly_1 = hsv(154.8, 0.9, 0.99) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
36
+ gene fly_2 = hsv(356.4, 0.81, 0.82) in hsv(0, 0, 0.3)..hsv(360, 1, 1)
37
+ gene fly_3 = hsv(204.4, 0.9, 0.99) in hsv(0, 0, 0.7)..hsv(360, 1, 1)
38
+
39
+ let body = spectrum(body_1, body_2, body_3)
40
+ let fins = spectrum(fin_1, fin_2, fin_3)
41
+ let flies = spectrum(fly_1, fly_2, fly_3)
42
+
43
+ pitch 90
44
+ repeat 3 as k {
45
+ if k > 0 {
46
+ yaw 60
47
+ forward apart
48
+ yaw 60
49
+ }
50
+ if k == 2 {
51
+ move (0, stray, 0)
52
+ }
53
+ fish
54
+ if k == 2 {
55
+ move (0, -stray, 0)
56
+ }
57
+ branch {
58
+ move fly_at
59
+ fly
60
+ }
61
+ }
62
+
63
+ part fish {
64
+ branch {
65
+ pitch dive
66
+ roll bank
67
+ shape head_shape
68
+ lay
69
+ forward stride / 2
70
+ reshape { grow (1, 1, 2) }
71
+ repeat 26 as k {
72
+ let along = k / 25
73
+ let swell = 1 + sin(degrees(along * 10)) / 2.2
74
+ yaw degrees(0.07) * wave(flap)
75
+ reshape { grow (swell * 0.93, swell, thickness) }
76
+ colour body(along)
77
+ lay
78
+ if k == 9 {
79
+ branch {
80
+ yaw -90
81
+ symmetric z {
82
+ fin
83
+ }
84
+ }
85
+ }
86
+ if k == 5 {
87
+ symmetric x {
88
+ eye
89
+ }
90
+ }
91
+ if k == 12 {
92
+ symmetric y {
93
+ tail
94
+ }
95
+ }
96
+ forward stride * sin(30 * k + swim) + 1
97
+ }
98
+ }
99
+ }
100
+
101
+ part fin {
102
+ branch {
103
+ grow max(fin_size, 0.2)
104
+ roll 90
105
+ move (0, 0, 4)
106
+ shape ball
107
+ reshape { grow (1, 1, 6); forward 0.5 }
108
+ pitch fin_tilt
109
+ repeat ceil(fin_length) as k {
110
+ pitch fin_curl
111
+ yaw fin_sweep
112
+ grow (1, 1, 0.9)
113
+ colour fins(k / (fin_length - 1))
114
+ lay
115
+ }
116
+ }
117
+ }
118
+
119
+ part tail {
120
+ branch {
121
+ grow 0.5
122
+ move (0, 3, 0)
123
+ shape cone
124
+ grow (0.5, 1, 1)
125
+ pitch -80.2
126
+ forward 3
127
+ lay
128
+ }
129
+ }
130
+
131
+ part eye {
132
+ branch {
133
+ shape ring
134
+ colour hsv(108, 0.5, 1)
135
+ move (1.5, 1, 0)
136
+ grow 0.5
137
+ lay
138
+ colour red
139
+ shape ball
140
+ grow 0.7
141
+ lay
142
+ }
143
+ }
144
+
145
+ part fly {
146
+ branch {
147
+ reshape { grow (1, 1, 5); forward 0.5 }
148
+ grow fly_size
149
+ shape cone
150
+ repeat ceil(fly_length) as k {
151
+ pitch fly_curl
152
+ yaw fly_sweep
153
+ reshape { grow (1, 1, 1.1) }
154
+ colour flies(k / (fly_length - 1))
155
+ lay
156
+ }
157
+ }
158
+ }
159
+
160
+ variant member_2 {
161
+ apart = 11.11
162
+ fly_at = (-0.5227, 2.8, -8.93)
163
+ stray = 1.059
164
+ dive = -6.291
165
+ bank = -59.47
166
+ stride = 0.3918
167
+ thickness = 1.054
168
+ flap = 1.289
169
+ swim = -107.7
170
+ fin_size = -0.9755
171
+ fin_length = 7.508
172
+ fin_tilt = 28.62
173
+ fin_curl = 3.049
174
+ fin_sweep = 5.008
175
+ fly_length = 11.72
176
+ fly_size = 0.5459
177
+ fly_curl = 28.09
178
+ fly_sweep = 6.877
179
+ body_1 = hsv(220.3, 0.78, 0.88)
180
+ body_2 = hsv(257.1, 0.83, 0.96)
181
+ body_3 = hsv(78.1, 0.99, 0.98)
182
+ fin_1 = hsv(125.5, 0.75, 0.89)
183
+ fin_2 = hsv(182.7, 0.86, 0.75)
184
+ fin_3 = hsv(248.7, 0.76, 0.88)
185
+ fly_1 = hsv(172.8, 0.96, 0.92)
186
+ fly_2 = hsv(305.1, 0.86, 0.95)
187
+ fly_3 = hsv(96.9, 0.71, 0.98)
188
+ }
189
+
190
+ variant member_3 {
191
+ apart = 27.26
192
+ fly_at = (9.506, -14.74, -12.12)
193
+ stray = -0.4087
194
+ dive = -38.35
195
+ bank = 12.86
196
+ stride = 0.3896
197
+ thickness = 1.036
198
+ flap = 1.289
199
+ fin_size = -0.9518
200
+ fin_length = 7.374
201
+ fin_tilt = 19.34
202
+ fin_curl = 0
203
+ fin_sweep = -1.298
204
+ fly_length = 9.985
205
+ fly_size = 0.5802
206
+ fly_curl = 19.68
207
+ fly_sweep = 28.17
208
+ body_1 = hsv(199.1, 0.6, 0.93)
209
+ body_2 = hsv(334.1, 0.85, 0.91)
210
+ body_3 = hsv(78.1, 0.99, 0.98)
211
+ fin_1 = hsv(210.7, 0.74, 0.93)
212
+ fin_2 = hsv(158.6, 0.82, 0.92)
213
+ fin_3 = hsv(197.8, 0.98, 0.89)
214
+ fly_1 = hsv(158, 0.86, 0.87)
215
+ fly_2 = hsv(276.4, 0.76, 0.88)
216
+ fly_3 = hsv(145.4, 0.74, 0.96)
217
+ }
218
+
219
+ variant member_4 {
220
+ apart = 11.11
221
+ fly_at = (0.8506, 10.05, -11.4)
222
+ stray = -4.078
223
+ dive = -11.2
224
+ bank = -59.47
225
+ stride = 0.2282
226
+ thickness = 1.058
227
+ flap = 1.188
228
+ swim = -177.2
229
+ fin_size = -0.5424
230
+ fin_length = 7.158
231
+ fin_tilt = 3.954
232
+ fin_curl = -9.357
233
+ fin_sweep = 0.008759
234
+ fly_length = 9.985
235
+ fly_size = 0.512
236
+ fly_curl = 25.92
237
+ fly_sweep = -1.973
238
+ body_1 = hsv(195.3, 0.71, 0.94)
239
+ body_2 = hsv(327, 0.78, 0.98)
240
+ body_3 = hsv(217.4, 0.99, 0.98)
241
+ fin_1 = hsv(87.4, 0.36, 0.83)
242
+ fin_2 = hsv(182.7, 0.86, 0.75)
243
+ fin_3 = hsv(204.2, 0.63, 0.84)
244
+ fly_1 = hsv(175.3, 0.6, 0.89)
245
+ fly_2 = hsv(276.4, 0.76, 0.88)
246
+ fly_3 = hsv(68.3, 0.48, 0.91)
247
+ }
248
+
249
+ variant member_5 {
250
+ apart = 11.11
251
+ fly_at = (-0.1468, -0.2625, -10.89)
252
+ stray = 9.912
253
+ dive = -6.291
254
+ bank = -59.47
255
+ stride = 0.339
256
+ thickness = 1.054
257
+ flap = 1.129
258
+ swim = -106.5
259
+ fin_size = -0.9506
260
+ fin_length = 7.705
261
+ fin_tilt = 39.69
262
+ fin_curl = -3.348
263
+ fin_sweep = 5.008
264
+ fly_length = 11.72
265
+ fly_size = 0.6
266
+ fly_curl = 28.09
267
+ fly_sweep = 7.298
268
+ body_1 = hsv(220.3, 0.78, 0.88)
269
+ body_2 = hsv(190.2, 0.59, 0.97)
270
+ body_3 = hsv(155.2, 0.86, 0.98)
271
+ fin_1 = hsv(125.5, 0.75, 0.89)
272
+ fin_2 = hsv(337.9, 0.77, 0.97)
273
+ fin_3 = hsv(248.7, 0.76, 0.88)
274
+ fly_1 = hsv(228.4, 0.71, 0.93)
275
+ fly_2 = hsv(307.2, 0.73, 0.83)
276
+ fly_3 = hsv(96.9, 0.71, 0.98)
277
+ }
278
+
279
+ variant member_6 {
280
+ apart = 27.26
281
+ fly_at = (1.506, -8.741, -0.1232)
282
+ stray = -15.95
283
+ dive = -52.88
284
+ bank = -25.47
285
+ stride = 0.3896
286
+ thickness = 1.016
287
+ flap = 1.289
288
+ fin_size = -0.9518
289
+ fin_length = 7.374
290
+ fin_tilt = 19.34
291
+ fin_curl = -0.283
292
+ fin_sweep = -1.298
293
+ fly_length = 11.12
294
+ fly_size = 0.5984
295
+ fly_curl = 11.33
296
+ fly_sweep = 28.17
297
+ body_1 = hsv(199.1, 0.6, 0.93)
298
+ body_2 = hsv(334.1, 0.85, 0.91)
299
+ body_3 = hsv(78.1, 0.99, 0.98)
300
+ fin_1 = hsv(137.7, 0.61, 0.94)
301
+ fin_2 = hsv(141.5, 0.64, 0.99)
302
+ fin_3 = hsv(169.1, 0.78, 0.92)
303
+ fly_1 = hsv(158, 0.86, 0.87)
304
+ fly_2 = hsv(282.5, 0.66, 0.98)
305
+ fly_3 = hsv(120.6, 0.54, 0.9)
306
+ }
307
+
308
+ variant member_7 {
309
+ apart = 11.11
310
+ fly_at = (1.705, 14.3, -7.613)
311
+ stray = -10.42
312
+ dive = -27.21
313
+ bank = -100.1
314
+ stride = 0.2282
315
+ thickness = 1.048
316
+ flap = 1.188
317
+ swim = -126.9
318
+ fin_size = -0.06071
319
+ fin_length = 7.158
320
+ fin_tilt = 3.954
321
+ fin_curl = -9.941
322
+ fin_sweep = 0.008759
323
+ fly_length = 8.08
324
+ fly_size = 0.512
325
+ fly_curl = 25.92
326
+ fly_sweep = 13.5
327
+ body_1 = hsv(150.4, 0.94, 1)
328
+ body_2 = hsv(327, 0.78, 0.98)
329
+ body_3 = hsv(217.4, 0.99, 0.98)
330
+ fin_1 = hsv(65.5, 0.43, 0.87)
331
+ fin_2 = hsv(201.3, 0.96, 0.9)
332
+ fin_3 = hsv(117.9, 0.8, 0.77)
333
+ fly_1 = hsv(186.6, 0.62, 0.86)
334
+ fly_2 = hsv(276.4, 0.76, 0.88)
335
+ fly_3 = hsv(68.3, 0.48, 0.91)
336
+ }
337
+
338
+ variant member_8 {
339
+ apart = 11.11
340
+ fly_at = (1.294, 13, -9.061)
341
+ stray = 0.6818
342
+ dive = -11.2
343
+ bank = -81.29
344
+ stride = 0.2691
345
+ thickness = 1.062
346
+ flap = 0.718
347
+ swim = -93.57
348
+ fin_size = -0.5424
349
+ fin_length = 8.141
350
+ fin_tilt = 3.954
351
+ fin_curl = -9.357
352
+ fin_sweep = 2.105
353
+ fly_length = 9.985
354
+ fly_size = 0.3535
355
+ fly_curl = 25.92
356
+ fly_sweep = 18.6
357
+ body_1 = hsv(195.3, 0.71, 0.94)
358
+ body_2 = hsv(286.5, 0.72, 0.85)
359
+ body_3 = hsv(249.5, 0.99, 0.91)
360
+ fin_1 = hsv(87.4, 0.36, 0.83)
361
+ fin_2 = hsv(182.7, 0.86, 0.75)
362
+ fin_3 = hsv(204.2, 0.63, 0.84)
363
+ fly_1 = hsv(175.3, 0.6, 0.89)
364
+ fly_2 = hsv(276.4, 0.76, 0.88)
365
+ fly_3 = hsv(68.3, 0.48, 0.91)
366
+ }
367
+
368
+ variant member_9 {
369
+ apart = 11.11
370
+ fly_at = (-0.6727, 3.123, -11.17)
371
+ stray = -14.53
372
+ dive = -11.2
373
+ bank = -59.47
374
+ stride = 0.4131
375
+ thickness = 1.041
376
+ flap = 1.237
377
+ swim = -157.1
378
+ fin_size = -0.5424
379
+ fin_length = 7.751
380
+ fin_tilt = 25.17
381
+ fin_curl = -9.357
382
+ fin_sweep = 3.095
383
+ fly_length = 10.47
384
+ fly_size = 0.4094
385
+ fly_curl = 25.92
386
+ fly_sweep = -1.973
387
+ body_1 = hsv(195.3, 0.71, 0.94)
388
+ body_2 = hsv(327, 0.78, 0.98)
389
+ body_3 = hsv(235.8, 0.84, 0.91)
390
+ fin_1 = hsv(30.2, 0.39, 0.77)
391
+ fin_2 = hsv(182.7, 0.86, 0.75)
392
+ fin_3 = hsv(204.2, 0.63, 0.84)
393
+ fly_1 = hsv(258.7, 0.48, 0.93)
394
+ fly_2 = hsv(276.4, 0.76, 0.88)
395
+ fly_3 = hsv(58.6, 0.72, 0.92)
396
+ }
397
+
398
+ variant member_10 {
399
+ apart = 17.04
400
+ fly_at = (-2.184, 9.66, -11.31)
401
+ stray = -14.81
402
+ dive = -27.21
403
+ bank = -83.47
404
+ stride = 0.327
405
+ thickness = 1.052
406
+ flap = 0.8101
407
+ swim = -87
408
+ fin_size = 0.3009
409
+ fin_length = 7.158
410
+ fin_tilt = 21.26
411
+ fin_curl = -15.84
412
+ fin_sweep = 2.992
413
+ fly_length = 6.273
414
+ fly_size = 0.6315
415
+ fly_curl = 25.92
416
+ fly_sweep = 5.87
417
+ body_1 = hsv(202.4, 0.9, 0.99)
418
+ body_2 = hsv(275.7, 0.53, 0.91)
419
+ body_3 = hsv(248.9, 0.76, 0.94)
420
+ fin_1 = hsv(200.3, 0.48, 0.9)
421
+ fin_2 = hsv(204.6, 0.72, 0.74)
422
+ fin_3 = hsv(277, 0.71, 0.72)
423
+ fly_1 = hsv(205.6, 0.73, 0.86)
424
+ fly_2 = hsv(326, 0.66, 0.75)
425
+ fly_3 = hsv(76.7, 0.3, 0.87)
426
+ }
427
+
428
+ variant member_11 {
429
+ apart = 29.94
430
+ fly_at = (-2.184, 9.66, -11.31)
431
+ stray = 6.563
432
+ dive = -61.08
433
+ bank = -83.47
434
+ stride = 0.3001
435
+ thickness = 1.055
436
+ flap = 1.258
437
+ swim = -28.49
438
+ fin_size = 0.7504
439
+ fin_length = 9.433
440
+ fin_tilt = 21.26
441
+ fin_curl = 6.364
442
+ fin_sweep = 2.992
443
+ fly_length = 13.67
444
+ fly_size = 0.6315
445
+ fly_curl = 25.92
446
+ fly_sweep = 77.75
447
+ body_1 = hsv(202.4, 0.9, 0.99)
448
+ body_2 = hsv(259, 0.46, 0.34)
449
+ body_3 = hsv(165.4, 0.87, 0.92)
450
+ fin_1 = hsv(285.6, 0.29, 0.93)
451
+ fin_2 = hsv(214.1, 0.76, 0.33)
452
+ fin_3 = hsv(325.3, 0.76, 0.85)
453
+ fly_1 = hsv(93.5, 0.38, 0.77)
454
+ fly_2 = hsv(186.1, 0.13, 0.91)
455
+ fly_3 = hsv(41.3, 0.03, 0.8)
456
+ }
457
+
458
+ variant member_12 {
459
+ apart = -18.23
460
+ fly_at = (-2.184, 9.66, -11.31)
461
+ stray = -3.389
462
+ dive = 31.35
463
+ bank = -97.63
464
+ stride = 0.3301
465
+ thickness = 1.071
466
+ flap = 0.1711
467
+ swim = 51
468
+ fin_size = 0.5962
469
+ fin_length = 7.5
470
+ fin_tilt = 20.07
471
+ fin_curl = -9.169
472
+ fin_sweep = 2.992
473
+ fly_length = 13.36
474
+ fly_size = 1.169
475
+ fly_curl = -20.28
476
+ fly_sweep = 5.87
477
+ body_1 = hsv(202.4, 0.9, 0.99)
478
+ body_2 = hsv(17, 0.46, 0.35)
479
+ body_3 = hsv(99.5, 0.13, 0.84)
480
+ fin_1 = hsv(290.3, 0.18, 0.71)
481
+ fin_2 = hsv(61, 0.51, 0.68)
482
+ fin_3 = hsv(25.1, 0.79, 0.75)
483
+ fly_1 = hsv(243.9, 0.74, 0.83)
484
+ fly_2 = hsv(206.7, 0.76, 0.74)
485
+ fly_3 = hsv(76.7, 0.3, 0.87)
486
+ }
487
+
488
+ variant member_13 {
489
+ apart = 29.94
490
+ fly_at = (-6.185, 2.056, -8.474)
491
+ stray = 6.563
492
+ dive = -19.54
493
+ bank = -55.82
494
+ stride = 0.2569
495
+ thickness = 1.061
496
+ flap = 1.685
497
+ swim = -30.64
498
+ fin_size = 0.7621
499
+ fin_length = 10.44
500
+ fin_tilt = 21.26
501
+ fin_curl = 6.364
502
+ fin_sweep = -3.675
503
+ fly_length = 10.24
504
+ fly_size = 0.7337
505
+ fly_curl = 18.67
506
+ fly_sweep = 77.75
507
+ body_1 = hsv(202.4, 0.9, 0.99)
508
+ body_2 = hsv(259, 0.46, 0.34)
509
+ body_3 = hsv(131, 0.89, 0.9)
510
+ fin_1 = hsv(315.4, 0.37, 1)
511
+ fin_2 = hsv(340.6, 0.69, 0.39)
512
+ fin_3 = hsv(325.3, 0.76, 0.85)
513
+ fly_1 = hsv(72.4, 0.43, 0.79)
514
+ fly_2 = hsv(149.6, 0, 0.95)
515
+ fly_3 = hsv(21, 0.33, 0.88)
516
+ }
517
+
518
+ variant member_14 {
519
+ apart = 15.46
520
+ fly_at = (4.313, -3.747, -3.715)
521
+ stray = -10.71
522
+ dive = -38.35
523
+ bank = -39.36
524
+ stride = 0.4795
525
+ thickness = 1.036
526
+ flap = 1.223
527
+ fin_size = -0.7883
528
+ fin_length = 7.588
529
+ fin_tilt = 26.15
530
+ fin_curl = 7.205
531
+ fin_sweep = -1.982
532
+ fly_length = 8.879
533
+ fly_size = 0.7447
534
+ fly_curl = 19.68
535
+ fly_sweep = 20.5
536
+ body_1 = hsv(191.1, 0.55, 0.96)
537
+ body_2 = hsv(334.1, 0.85, 0.91)
538
+ body_3 = hsv(78.1, 0.99, 0.98)
539
+ fin_1 = hsv(210.7, 0.74, 0.93)
540
+ fin_2 = hsv(268, 0.77, 0.8)
541
+ fin_3 = hsv(261.4, 0.81, 0.93)
542
+ fly_1 = hsv(26.8, 0.48, 0.87)
543
+ fly_2 = hsv(276.4, 0.76, 0.88)
544
+ fly_3 = hsv(106.1, 0.95, 0.89)
545
+ }
546
+
547
+ variant member_15 {
548
+ apart = -3.514
549
+ fly_at = (-2.184, 9.66, -11.31)
550
+ stray = 9.386
551
+ dive = -27.21
552
+ bank = -83.47
553
+ stride = 0.3298
554
+ thickness = 1.052
555
+ flap = 1.63
556
+ swim = -118.3
557
+ fin_size = 0.3009
558
+ fin_length = 7.158
559
+ fin_tilt = 21.26
560
+ fin_curl = -15.84
561
+ fin_sweep = 2.992
562
+ fly_length = 6.273
563
+ fly_size = 0.6315
564
+ fly_curl = 25.92
565
+ fly_sweep = 5.87
566
+ body_1 = hsv(202.4, 0.9, 0.99)
567
+ body_2 = hsv(282.7, 0.84, 0.41)
568
+ body_3 = hsv(207.3, 0.09, 0.72)
569
+ fin_1 = hsv(200.3, 0.48, 0.9)
570
+ fin_2 = hsv(214.1, 0.76, 0.33)
571
+ fin_3 = hsv(240.6, 0.84, 0.91)
572
+ fly_1 = hsv(211.7, 0.52, 0.83)
573
+ fly_2 = hsv(326, 0.66, 0.75)
574
+ fly_3 = hsv(109.5, 0.1, 0.98)
575
+ }
576
+
577
+ variant member_16 {
578
+ apart = -15.07
579
+ fly_at = (-9.57, -3.818, -11.2)
580
+ stray = -16.73
581
+ dive = 37.01
582
+ bank = -105.8
583
+ stride = 0.5575
584
+ thickness = 1.08
585
+ flap = 0.6
586
+ swim = 10.01
587
+ fin_size = 0.9106
588
+ fin_length = 7.706
589
+ fin_tilt = 10.5
590
+ fin_curl = -9.143
591
+ fin_sweep = 2.992
592
+ fly_length = 14.9
593
+ fly_size = 0.8439
594
+ fly_curl = -12.02
595
+ fly_sweep = 5.87
596
+ body_1 = hsv(239.5, 0.94, 0.98)
597
+ body_2 = hsv(74.3, 0.48, 0.39)
598
+ body_3 = hsv(12.5, 0.18, 0.82)
599
+ fin_1 = hsv(308.4, 0.48, 0.73)
600
+ fin_2 = hsv(54.9, 0.35, 0.82)
601
+ fin_3 = hsv(10.8, 0.91, 0.81)
602
+ fly_1 = hsv(344.1, 0.51, 0.77)
603
+ fly_2 = hsv(304.3, 0.87, 0.97)
604
+ fly_3 = hsv(59.6, 0.49, 0.91)
605
+ }
606
+
607
+ variant member_17 {
608
+ apart = -5.667
609
+ fly_at = (-2.184, 9.66, -11.31)
610
+ stray = 8.754
611
+ dive = 27.41
612
+ bank = -97.63
613
+ stride = 0.3301
614
+ thickness = 1.092
615
+ flap = 0.1711
616
+ swim = 3.695
617
+ fin_size = 0.5962
618
+ fin_length = 7.311
619
+ fin_tilt = 24.59
620
+ fin_curl = -5.176
621
+ fin_sweep = -2.651
622
+ fly_length = 14.73
623
+ fly_size = 1.169
624
+ fly_curl = -20.28
625
+ fly_sweep = -2.184
626
+ body_1 = hsv(202.4, 0.9, 0.99)
627
+ body_2 = hsv(17, 0.46, 0.35)
628
+ body_3 = hsv(99.5, 0.13, 0.84)
629
+ fin_1 = hsv(290.3, 0.18, 0.71)
630
+ fin_2 = hsv(61, 0.51, 0.68)
631
+ fin_3 = hsv(25.1, 0.79, 0.75)
632
+ fly_1 = hsv(336.7, 0.94, 0.85)
633
+ fly_2 = hsv(206.7, 0.76, 0.74)
634
+ fly_3 = hsv(50.8, 0.11, 0.85)
635
+ }
636
+
637
+ variant member_18 {
638
+ apart = 7.815
639
+ fly_at = (-2.184, 9.66, -11.31)
640
+ stray = -16.93
641
+ head_shape = ring
642
+ dive = -55.01
643
+ bank = -55.42
644
+ stride = 0.5655
645
+ thickness = 1.052
646
+ flap = 0.2385
647
+ swim = 1.673
648
+ fin_size = 0.3009
649
+ fin_length = 7.158
650
+ fin_tilt = 20.07
651
+ fin_curl = -15.84
652
+ fin_sweep = 13.35
653
+ fly_length = 6.999
654
+ fly_size = 0.2993
655
+ fly_curl = -20.28
656
+ fly_sweep = 5.87
657
+ body_1 = hsv(202.4, 0.9, 0.99)
658
+ body_2 = hsv(233.4, 0.94, 0.59)
659
+ body_3 = hsv(187.2, 0.6, 0.72)
660
+ fin_1 = hsv(312.3, 0.23, 0.8)
661
+ fin_2 = hsv(71.3, 0.68, 0.48)
662
+ fin_3 = hsv(3.5, 0.45, 0.99)
663
+ fly_1 = hsv(319.6, 0.83, 0.84)
664
+ fly_2 = hsv(235.8, 0.19, 0.65)
665
+ fly_3 = hsv(76.7, 0.3, 0.87)
666
+ }
667
+
668
+ variant member_19 {
669
+ apart = 1.68
670
+ fly_at = (-2.184, 9.66, -11.31)
671
+ stray = 6.95
672
+ dive = 16.87
673
+ bank = -83.47
674
+ stride = 0.327
675
+ thickness = 1.057
676
+ flap = 0.8101
677
+ swim = -87
678
+ fin_size = -0.9209
679
+ fin_length = 7.158
680
+ fin_tilt = 21.26
681
+ fin_curl = 11.69
682
+ fin_sweep = -1.826
683
+ fly_length = 14.65
684
+ fly_size = 0.6315
685
+ fly_curl = 25.92
686
+ fly_sweep = 42.54
687
+ body_1 = hsv(202.4, 0.9, 0.99)
688
+ body_2 = hsv(93.5, 0.57, 0.71)
689
+ body_3 = hsv(248.9, 0.76, 0.94)
690
+ fin_1 = hsv(200.3, 0.48, 0.9)
691
+ fin_2 = hsv(204.6, 0.72, 0.74)
692
+ fin_3 = hsv(297.6, 0.59, 0.93)
693
+ fly_1 = hsv(205.6, 0.73, 0.86)
694
+ fly_2 = hsv(326, 0.66, 0.75)
695
+ fly_3 = hsv(228.3, 0.16, 0.8)
696
+ }
697
+
698
+ variant member_20 {
699
+ apart = -3.514
700
+ fly_at = (-2.184, 9.66, -11.31)
701
+ stray = 9.386
702
+ dive = 31.97
703
+ bank = -83.47
704
+ stride = 0.3001
705
+ thickness = 1.055
706
+ flap = 1.258
707
+ swim = -28.49
708
+ fin_size = 0.3009
709
+ fin_length = 8.609
710
+ fin_tilt = 21.26
711
+ fin_curl = 6.364
712
+ fin_sweep = 2.992
713
+ fly_length = 12.43
714
+ fly_size = 0.6315
715
+ fly_curl = 25.92
716
+ fly_sweep = 77.75
717
+ body_1 = hsv(202.4, 0.9, 0.99)
718
+ body_2 = hsv(259, 0.46, 0.34)
719
+ body_3 = hsv(138.5, 0.01, 0.82)
720
+ fin_1 = hsv(285.6, 0.29, 0.93)
721
+ fin_2 = hsv(214.1, 0.76, 0.33)
722
+ fin_3 = hsv(37.7, 0.18, 0.87)
723
+ fly_1 = hsv(17.3, 0, 0.98)
724
+ fly_2 = hsv(323.7, 0.56, 0.71)
725
+ fly_3 = hsv(99.5, 1, 0.84)
726
+ }
727
+
728
+ variant member_21 {
729
+ apart = -4.181
730
+ fly_at = (-6.867, 1.985, -9.35)
731
+ stray = -3.389
732
+ dive = 6.746
733
+ bank = -73.79
734
+ stride = 0.3936
735
+ thickness = 1.071
736
+ flap = 0.6
737
+ swim = 10.01
738
+ fin_size = 0.9106
739
+ fin_length = 7.706
740
+ fin_tilt = 20.07
741
+ fin_curl = -9.143
742
+ fin_sweep = 2.992
743
+ fly_length = 14.24
744
+ fly_size = 1.044
745
+ fly_curl = -15.11
746
+ fly_sweep = 5.87
747
+ body_1 = hsv(202.4, 0.9, 0.99)
748
+ body_2 = hsv(17, 0.46, 0.35)
749
+ body_3 = hsv(12.5, 0.18, 0.82)
750
+ fin_1 = hsv(322.2, 0.36, 0.74)
751
+ fin_2 = hsv(54.9, 0.35, 0.82)
752
+ fin_3 = hsv(10.8, 0.91, 0.81)
753
+ fly_1 = hsv(352.9, 0.36, 0.76)
754
+ fly_2 = hsv(354.1, 0.63, 0.85)
755
+ fly_3 = hsv(76.7, 0.3, 0.87)
756
+ }
757
+
758
+ variant member_22 {
759
+ apart = -18.23
760
+ fly_at = (-2.184, 9.66, -11.31)
761
+ stray = -3.389
762
+ dive = 11.64
763
+ bank = -97.63
764
+ stride = 0.4129
765
+ thickness = 1.071
766
+ flap = 0.3681
767
+ swim = 51
768
+ fin_size = 0.5962
769
+ fin_length = 7.972
770
+ fin_tilt = 44.97
771
+ fin_curl = -9.169
772
+ fin_sweep = -5.202
773
+ fly_length = 13.36
774
+ fly_size = 1.086
775
+ fly_curl = -20.28
776
+ fly_sweep = 5.87
777
+ body_1 = hsv(217.6, 0.66, 1)
778
+ body_2 = hsv(88.9, 0.4, 0.44)
779
+ body_3 = hsv(141.3, 0.13, 0.84)
780
+ fin_1 = hsv(290.3, 0.18, 0.71)
781
+ fin_2 = hsv(8.8, 0.56, 0.79)
782
+ fin_3 = hsv(25.1, 0.79, 0.75)
783
+ fly_1 = hsv(225.8, 0.56, 0.8)
784
+ fly_2 = hsv(206.7, 0.76, 0.74)
785
+ fly_3 = hsv(76.7, 0.3, 0.87)
786
+ }