@genocode/core 0.4.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 (56) hide show
  1. package/dist/ast.d.ts +2 -0
  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.js +2 -2
  9. package/dist/checker.js.map +1 -1
  10. package/dist/colour.d.ts +1 -1
  11. package/dist/colour.d.ts.map +1 -1
  12. package/dist/colour.js +8 -4
  13. package/dist/colour.js.map +1 -1
  14. package/dist/format.js +1 -1
  15. package/dist/format.js.map +1 -1
  16. package/dist/genetics.d.ts.map +1 -1
  17. package/dist/genetics.js +3 -1
  18. package/dist/genetics.js.map +1 -1
  19. package/dist/help.d.ts.map +1 -1
  20. package/dist/help.js +4 -0
  21. package/dist/help.js.map +1 -1
  22. package/dist/interpreter.js +1 -1
  23. package/dist/interpreter.js.map +1 -1
  24. package/dist/parser.js +7 -2
  25. package/dist/parser.js.map +1 -1
  26. package/dist/values.d.ts +2 -0
  27. package/dist/values.d.ts.map +1 -1
  28. package/dist/values.js +1 -1
  29. package/dist/values.js.map +1 -1
  30. package/package.json +1 -1
  31. package/reference/LANGUAGE.md +14 -4
  32. package/reference/creatures/Alien.genie +653 -0
  33. package/reference/creatures/Breeze.genie +386 -0
  34. package/reference/creatures/Cobra.genie +386 -0
  35. package/reference/creatures/Flowerball.genie +302 -39
  36. package/reference/creatures/FlyingFish.genie +786 -0
  37. package/reference/creatures/Genes.genie +470 -0
  38. package/reference/creatures/Genie.genie +548 -0
  39. package/reference/creatures/Greenbay.genie +786 -0
  40. package/reference/creatures/Jellyfish.genie +472 -0
  41. package/reference/creatures/Monster.genie +594 -0
  42. package/reference/creatures/Neuron.genie +649 -0
  43. package/reference/creatures/Octoplant.genie +334 -0
  44. package/reference/creatures/Parasite.genie +393 -0
  45. package/reference/creatures/Pesky.genie +473 -0
  46. package/reference/creatures/Phoenix.genie +294 -0
  47. package/reference/creatures/Picstix.genie +1788 -0
  48. package/reference/creatures/Psybat.genie +602 -0
  49. package/reference/creatures/Star.genie +339 -0
  50. package/reference/creatures/Starfish.genie +458 -0
  51. package/reference/creatures/Transformer.genie +297 -0
  52. package/reference/creatures/TwoByTwo.genie +547 -0
  53. package/reference/creatures/Flower.genie +0 -41
  54. package/reference/creatures/Flyer.genie +0 -142
  55. package/reference/creatures/StarBurstShell.genie +0 -102
  56. package/reference/creatures/StarBurstShell9.genie +0 -102
@@ -0,0 +1,594 @@
1
+ creature Monster
2
+ // A many-eyed monster with curling tentacles, sitting on a ring of coral.
3
+ // Inspired by Monster, a DancerDNA creature.
4
+
5
+ gene head_size = 5.51 in 2..8
6
+ gene head_colour = hsv(240.5, 1, 0.29) in hsv(0, 1, 0.2)..hsv(252, 1, 0.6)
7
+
8
+ gene coral_spread = 1.025 in 0.6..2 // how far out the coral reaches
9
+ gene coral_up = 0.3082 in 0..5 // how tube-like, rather than round, the coral is above
10
+ gene coral_down = 0.3192 in 0..5 // and below
11
+ gene coral_spiral = 0.4302 in -1..1 // how far the coral spirals round
12
+
13
+ gene monster_size = 0.954 in 0.1..2
14
+ gene monster_height = 1.585 in -14.73..10.27 // how far above the coral the monster sits
15
+ gene monster_turn = (-48.1, -58.75, -34.58) in (-171.9, -171.9, -171.9)..(171.9, 171.9, 171.9) // how it's turned: up, sideways and round
16
+ gene head_turn = (-16.97, -137.1, 165.5) in (-343.8, -343.8, -343.8)..(343.8, 343.8, 343.8)
17
+ gene head_stretch = (0.8865, 0.9851, 1.007) in (0.8, 0.8, 0.8)..(1.2, 1.2, 1.2)
18
+
19
+ gene eye_count = 7.933 in 1..35 // how many eyes; the last is cut short to fit
20
+ gene eye_size_waves = 4.726 in 0..8 // how many times the eyes grow and shrink round the head
21
+ gene eye_size_spread = 0.1634 in -0.6..0.6
22
+ gene eyeball = hsv(89.5, 0.14, 1) in hsv(0, 0, 1)..hsv(360, 0.25, 1)
23
+ gene iris = hsv(172.2, 0.87, 0.81) in hsv(0, 0.4, 0.5)..hsv(252, 1, 1)
24
+ gene dilation = 0.06402 in 0..1 // how wide the pupils are open
25
+ gene slit = 0.5503 in 0..1 // how much taller than wide they are, like a lizard's
26
+
27
+ gene tentacle_count = 2.692 in 0..4 // how many tentacles; the last is cut short to fit
28
+ gene tentacle_waves = 0.8557 in 0..3 // how many times their length changes round the head
29
+ gene tentacle_thickness = 0.4537 in 0.1..1
30
+ gene tentacle_flatness = 0.6459 in 0.3..0.8
31
+ gene tentacle_tip = hsv(132, 0.81, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
32
+ gene curl = (16.55, 1.925, 5.863) in (-28.65, -28.65, -28.65)..(28.65, 28.65, 28.65) // how far the tentacles curl: up, sideways and round
33
+ gene curl_waves = (2.472, 2.779, 1.467) in (0.5, 0.5, 0.5)..(4, 4, 4)
34
+ gene curl_start = (0.2076, 0.1888, 0.04261) in (-0.5, -0.5, -0.5)..(0.5, 0.5, 0.5)
35
+
36
+ // The coral's colours, from its tips below to its tips above, and the gaps between them.
37
+ gene coral_1 = hsv(269.3, 0.8, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
38
+ gene coral_2 = hsv(303.9, 0.84, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
39
+ gene coral_3 = hsv(228.6, 0.58, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
40
+ gene coral_4 = hsv(189.7, 0.61, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
41
+ gene coral_gaps = (0.4955, 0.7982, 0.3412) in (0.25, 0.25, 0.25)..(1, 1, 1)
42
+
43
+ let coral_colours = spectrum(coral_1, coral_2 at coral_gaps.x, coral_3 at coral_gaps.x + coral_gaps.y, coral_4 at coral_gaps.x + coral_gaps.y + coral_gaps.z)
44
+ let tentacle_colours = spectrum(head_colour, tentacle_tip)
45
+
46
+ sharpness 1
47
+ shine 1
48
+ pitch 90
49
+ coral
50
+ monster
51
+
52
+ // Eight fans of rings round a circle, each curving up and down from the middle.
53
+ part coral {
54
+ branch {
55
+ grow 0.3
56
+ shape ring
57
+ let width = 20 * sin(22.5)
58
+ repeat 8 as k {
59
+ branch {
60
+ yaw 45 * k
61
+ segment(1, 0, 0, 0, 10, 0, width)
62
+ fan(1, coral_up, width)
63
+ fan(-1, coral_down, width)
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ part fan(direction, tubeness, start_width) {
70
+ let roundness = 1 - tubeness
71
+ let width = start_width
72
+ let spiral = 0
73
+ let shift = 0
74
+ let reach = 10
75
+ let rise = 0
76
+ repeat 7 as k {
77
+ spiral += coral_spiral * 45
78
+ let shift_by = width / 2 * tubeness
79
+ shift += shift_by
80
+ reach -= shift_by * sin(rise)
81
+ rise += 2 * asin(width / (4 * reach)) * roundness
82
+ width = cos(rise) * 2 * reach * sin(22.5)
83
+ segment(direction, shift, spiral, rise, reach, 0.5 * k / 7, width)
84
+ }
85
+ }
86
+
87
+ part segment(direction, shift, spiral, rise, reach, along, width) {
88
+ branch {
89
+ move (0, -direction * shift, 0)
90
+ yaw direction * spiral
91
+ pitch direction * rise
92
+ forward reach * coral_spread
93
+ roll -90
94
+ colour coral_colours(0.5 + along * direction)
95
+ grow (width, width, 5)
96
+ lay
97
+ }
98
+ }
99
+
100
+ part monster {
101
+ branch {
102
+ grow monster_size
103
+ move (0, monster_height, 0)
104
+ roll monster_turn.z
105
+ yaw monster_turn.y
106
+ pitch monster_turn.x
107
+ head
108
+ eyes
109
+ tentacles
110
+ }
111
+ }
112
+
113
+ part head {
114
+ branch {
115
+ shape ball
116
+ grow head_size
117
+ reshape { roll head_turn.z; yaw head_turn.y; pitch head_turn.x }
118
+ grow head_stretch
119
+ pitch -head_turn.x
120
+ yaw -head_turn.y
121
+ roll -head_turn.z
122
+ colour head_colour
123
+ lay
124
+ }
125
+ }
126
+
127
+ part eyes {
128
+ branch {
129
+ repeat ceil(eye_count) as k {
130
+ let along = k / 34
131
+ roll scatter(1398.73, 1713.58, 1.3424, along)
132
+ yaw scatter(1989.34, 1433.78, 5.9346, along)
133
+ pitch scatter(567.972, 917.12, 0.7753, along)
134
+ let size = 1 + eye_size_spread * sin(180 * eye_size_waves * along)
135
+ // The last eye is cut short.
136
+ if k + 1 > eye_count {
137
+ size *= eye_count % k
138
+ }
139
+ branch {
140
+ forward head_size / 2
141
+ eye(size)
142
+ }
143
+ }
144
+ }
145
+ }
146
+
147
+ part eye(size) {
148
+ let open = 0.2 + dilation * 0.5
149
+ branch {
150
+ shape ball
151
+ grow size
152
+ grow (1, 1, 0.78)
153
+ forward -0.2
154
+ colour eyeball
155
+ lay
156
+ forward 0.455
157
+ texture none
158
+ grow (0.5, 0.5, 0.06)
159
+ colour iris
160
+ lay
161
+ forward 0.5
162
+ grow (open, open + (0.7 - open) * slit, 1)
163
+ forward 0.6
164
+ colour black
165
+ lay
166
+ }
167
+ }
168
+
169
+ part tentacles {
170
+ branch {
171
+ repeat ceil(tentacle_count) as k {
172
+ let along = k / 3
173
+ roll scatter(1597.11, 143.324, 0.7739, along)
174
+ yaw scatter(343.398, 1339.13, 3.916, along)
175
+ pitch scatter(1259.35, 987.997, 1.1193, along)
176
+ let completeness = 0.5 + 0.5 * sin(180 * tentacle_waves * along)
177
+ // The last tentacle is cut short.
178
+ if k + 1 > tentacle_count {
179
+ if k == 0 {
180
+ completeness = 0
181
+ } else {
182
+ completeness *= tentacle_count % k
183
+ }
184
+ }
185
+ branch {
186
+ forward head_size / 2
187
+ tentacle(completeness)
188
+ }
189
+ }
190
+ }
191
+ }
192
+
193
+ // A tentacle that tapers away to nothing, curling as it goes.
194
+ part tentacle(completeness) {
195
+ branch {
196
+ let start = completeness * tentacle_thickness * head_size
197
+ grow start
198
+ grow (1, 1, tentacle_flatness)
199
+ shape ball
200
+ let size = start
201
+ while size > 0.01 {
202
+ let along = 1 - (size - 0.01) / (start - 0.01)
203
+ colour tentacle_colours(completeness * along)
204
+ let taper = cos(90 * along) * completeness * 0.99
205
+ lay
206
+ forward 0.4
207
+ grow taper
208
+ roll curl.z * sin(180 * curl_waves.z * (along + curl_start.z))
209
+ pitch curl.x * sin(180 * curl_waves.x * (along + curl_start.x))
210
+ yaw curl.y * sin(180 * curl_waves.y * (along + curl_start.y))
211
+ forward 0.4
212
+ size *= taper
213
+ }
214
+ }
215
+ }
216
+
217
+ // The original's way of scattering eyes and tentacles round the head: turns from very fast
218
+ // waves, which look random.
219
+ function scatter(waves, size, offset, along) {
220
+ return degrees(sin(degrees(waves * 3.14159 * (along + offset))) * size)
221
+ }
222
+
223
+ variant member_2 {
224
+ head_size = 7.552
225
+ head_colour = hsv(247.3, 1, 0.23)
226
+ coral_spread = 0.8846
227
+ coral_up = 0.1819
228
+ coral_down = 0.05147
229
+ coral_spiral = 0.6165
230
+ monster_size = 0.3673
231
+ monster_height = 3.666
232
+ monster_turn = (-52.5, -79.8, -16.55)
233
+ head_turn = (-5.4, -125.7, 189.4)
234
+ head_stretch = (0.8841, 0.9912, 1.113)
235
+ eye_count = 6.994
236
+ eye_size_waves = 6.795
237
+ eye_size_spread = 0.1802
238
+ eyeball = hsv(52.8, 0.24, 1)
239
+ iris = hsv(162.4, 0.98, 0.78)
240
+ dilation = 0.08058
241
+ slit = 0.5698
242
+ tentacle_count = 1.939
243
+ tentacle_waves = 1.325
244
+ tentacle_thickness = 0.4988
245
+ tentacle_flatness = 0.5913
246
+ tentacle_tip = hsv(46.8, 0.86, 1)
247
+ curl = (20.91, 5.443, 7.557)
248
+ curl_waves = (2.354, 3.684, 0.6167)
249
+ curl_start = (0.2753, 0.1882, 0.04306)
250
+ coral_1 = hsv(218, 0.99, 1)
251
+ coral_2 = hsv(290.2, 0.87, 1)
252
+ coral_3 = hsv(175.3, 0.51, 1)
253
+ coral_4 = hsv(110.1, 0.52, 1)
254
+ coral_gaps = (0.3567, 0.8656, 0.3399)
255
+ }
256
+
257
+ variant member_3 {
258
+ head_size = 5.892
259
+ head_colour = hsv(3.2, 1, 0.44)
260
+ coral_spread = 1.773
261
+ coral_up = 3.962
262
+ coral_down = 4.238
263
+ coral_spiral = 0.9069
264
+ monster_size = 0.996
265
+ monster_height = 4.424
266
+ monster_turn = (128.5, 12.51, 91.79)
267
+ head_turn = (0.6797, -36.84, -181.7)
268
+ head_stretch = (1.049, 0.8445, 1.018)
269
+ eye_count = 15.14
270
+ eye_size_waves = 5.942
271
+ eye_size_spread = 0.1771
272
+ eyeball = hsv(334.3, 0.21, 1)
273
+ iris = hsv(193.1, 0.76, 0.62)
274
+ dilation = 0.1805
275
+ slit = 0.6341
276
+ tentacle_count = 3.703
277
+ tentacle_waves = 2.672
278
+ tentacle_thickness = 0.1533
279
+ tentacle_flatness = 0.3071
280
+ tentacle_tip = hsv(112.6, 0.82, 1)
281
+ curl = (-9.624, 6.42, 24.53)
282
+ curl_waves = (2.384, 3.412, 2.218)
283
+ curl_start = (-0.2569, 0.09305, 0.02379)
284
+ coral_1 = hsv(205.9, 0.69, 1)
285
+ coral_2 = hsv(42.3, 0.92, 1)
286
+ coral_3 = hsv(267.5, 0.74, 1)
287
+ coral_4 = hsv(212.3, 0.86, 1)
288
+ coral_gaps = (0.5079, 0.3688, 0.6754)
289
+ }
290
+
291
+ variant member_4 {
292
+ head_size = 3
293
+ head_colour = hsv(18.9, 1, 0.28)
294
+ coral_spread = 1.826
295
+ coral_up = 3.415
296
+ coral_down = 4.238
297
+ coral_spiral = -0.1217
298
+ monster_size = 0.8006
299
+ monster_height = 2.232
300
+ monster_turn = (-54.91, 12.51, -71.77)
301
+ head_turn = (-29.72, -139.6, -157.5)
302
+ head_stretch = (1.103, 0.8258, 1.027)
303
+ eye_count = 29.81
304
+ eye_size_waves = 2.419
305
+ eye_size_spread = 0.4882
306
+ eyeball = hsv(185.1, 0.12, 1)
307
+ iris = hsv(90.3, 0.76, 0.82)
308
+ dilation = 0.8495
309
+ slit = 0.05274
310
+ tentacle_count = 3.407
311
+ tentacle_waves = 2.595
312
+ tentacle_thickness = 0.5836
313
+ tentacle_flatness = 0.3604
314
+ tentacle_tip = hsv(121.1, 0.83, 1)
315
+ curl = (16.37, -4.893, 18.64)
316
+ curl_waves = (2.848, 3.013, 2.962)
317
+ curl_start = (0.07758, -0.3063, -0.4612)
318
+ coral_1 = hsv(64.4, 0.75, 1)
319
+ coral_2 = hsv(3.3, 0.46, 1)
320
+ coral_3 = hsv(187.1, 0.81, 1)
321
+ coral_4 = hsv(218.7, 0.76, 1)
322
+ coral_gaps = (0.9989, 0.538, 0.681)
323
+ }
324
+
325
+ variant member_5 {
326
+ head_size = 7.73
327
+ head_colour = hsv(7.9, 1, 0.41)
328
+ coral_spread = 0.909
329
+ coral_up = 4.692
330
+ coral_down = 3.615
331
+ coral_spiral = 0.9069
332
+ monster_size = 0.2648
333
+ monster_height = 2.232
334
+ monster_turn = (1.154, -72.29, 17.6)
335
+ head_turn = (-263.1, -301.7, -192.8)
336
+ head_stretch = (0.9581, 1.046, 0.9175)
337
+ eye_count = 22.06
338
+ eye_size_waves = 0.3044
339
+ eye_size_spread = -0.4572
340
+ eyeball = hsv(72.1, 0.22, 1)
341
+ iris = hsv(91.1, 0.67, 1)
342
+ dilation = 0.06323
343
+ slit = 0.3369
344
+ tentacle_count = 0.3948
345
+ tentacle_waves = 2.034
346
+ tentacle_thickness = 0.9441
347
+ tentacle_flatness = 0.3278
348
+ tentacle_tip = hsv(339, 0.46, 1)
349
+ curl = (-16.72, 10.38, 2.914)
350
+ curl_waves = (2.119, 3.412, 1.408)
351
+ curl_start = (0.08061, -0.07096, 0.1877)
352
+ coral_1 = hsv(64.4, 0.75, 1)
353
+ coral_2 = hsv(319.1, 0.5, 1)
354
+ coral_3 = hsv(89.8, 0.75, 1)
355
+ coral_4 = hsv(340.6, 0.54, 1)
356
+ coral_gaps = (0.75, 0.3474, 0.7318)
357
+ }
358
+
359
+ variant member_6 {
360
+ head_size = 5.892
361
+ head_colour = hsv(59.5, 1, 0.45)
362
+ coral_spread = 1.999
363
+ coral_up = 4.692
364
+ coral_down = 3.493
365
+ coral_spiral = 0.644
366
+ monster_size = 0.8589
367
+ monster_height = 2.232
368
+ monster_turn = (125.5, -26.41, -104.1)
369
+ head_turn = (-149.6, -189.1, -181.7)
370
+ head_stretch = (0.8761, 0.9548, 1.015)
371
+ eye_count = 18.76
372
+ eye_size_waves = 6.806
373
+ eye_size_spread = -0.06254
374
+ eyeball = hsv(57.6, 0.09, 1)
375
+ iris = hsv(90.3, 0.76, 0.82)
376
+ dilation = 0.3848
377
+ slit = 0.2074
378
+ tentacle_count = 3.879
379
+ tentacle_waves = 1.444
380
+ tentacle_thickness = 0.5867
381
+ tentacle_flatness = 0.4743
382
+ tentacle_tip = hsv(58.4, 0.78, 1)
383
+ curl = (-4.248, 18.84, 23.36)
384
+ curl_waves = (2.365, 2.359, 2.78)
385
+ curl_start = (0.02855, 0.2029, 0.254)
386
+ coral_1 = hsv(34.1, 0.76, 1)
387
+ coral_2 = hsv(277.8, 0.52, 1)
388
+ coral_3 = hsv(91.1, 0.79, 1)
389
+ coral_4 = hsv(24.4, 0.9, 1)
390
+ coral_gaps = (0.6244, 0.8165, 0.4581)
391
+ }
392
+
393
+ variant member_7 {
394
+ head_size = 5.892
395
+ head_colour = hsv(7.9, 1, 0.41)
396
+ coral_spread = 1.826
397
+ coral_up = 4.215
398
+ coral_down = 3.763
399
+ coral_spiral = 0.9069
400
+ monster_size = 1.567
401
+ monster_height = -4.959
402
+ monster_turn = (-104.6, 12.51, -71.77)
403
+ head_turn = (-280.4, -139.6, -157.5)
404
+ head_stretch = (0.8981, 0.8511, 0.8283)
405
+ eye_count = 5.347
406
+ eye_size_waves = 5.942
407
+ eye_size_spread = -0.3403
408
+ eyeball = hsv(289.8, 0.15, 1)
409
+ iris = hsv(157, 0.75, 0.9)
410
+ dilation = 0.1089
411
+ slit = 0.4724
412
+ tentacle_count = 3.16
413
+ tentacle_waves = 1.259
414
+ tentacle_thickness = 0.5836
415
+ tentacle_flatness = 0.367
416
+ tentacle_tip = hsv(221.9, 0.89, 1)
417
+ curl = (-8.767, 15.02, 8.331)
418
+ curl_waves = (2.848, 0.7226, 1.408)
419
+ curl_start = (0.4752, -0.04906, 0.3015)
420
+ coral_1 = hsv(64.4, 0.75, 1)
421
+ coral_2 = hsv(318.3, 0.46, 1)
422
+ coral_3 = hsv(261.1, 0.8, 1)
423
+ coral_4 = hsv(169.4, 0.89, 1)
424
+ coral_gaps = (0.5786, 0.4922, 0.681)
425
+ }
426
+
427
+ variant member_8 {
428
+ head_size = 7.552
429
+ head_colour = hsv(209.3, 1, 0.24)
430
+ coral_spread = 0.8899
431
+ coral_up = 2.468
432
+ coral_down = 0.4473
433
+ coral_spiral = 0.6165
434
+ monster_size = 0.9793
435
+ monster_height = 1.248
436
+ monster_turn = (69.81, -86.52, 2.071)
437
+ head_turn = (165.8, -320.2, 169.7)
438
+ head_stretch = (0.96, 0.8771, 1.084)
439
+ eye_count = 17.01
440
+ eye_size_waves = 2.189
441
+ eyeball = hsv(52.8, 0.24, 1)
442
+ iris = hsv(44.6, 0.76, 0.82)
443
+ dilation = 0.113
444
+ slit = 0.8894
445
+ tentacle_count = 3.203
446
+ tentacle_waves = 1.325
447
+ tentacle_thickness = 0.9754
448
+ tentacle_flatness = 0.5376
449
+ tentacle_tip = hsv(36.9, 0.76, 1)
450
+ curl = (-9.139, 12.58, 3.479)
451
+ curl_waves = (2.071, 2.589, 0.6515)
452
+ curl_start = (0.3299, 0.3114, 0.1739)
453
+ coral_1 = hsv(350.7, 0.48, 1)
454
+ coral_2 = hsv(194.5, 0.95, 1)
455
+ coral_3 = hsv(216.3, 0.69, 1)
456
+ coral_4 = hsv(221.8, 0.66, 1)
457
+ coral_gaps = (0.6515, 0.9425, 0.3033)
458
+ }
459
+
460
+ variant member_9 {
461
+ head_size = 3.479
462
+ head_colour = hsv(216.7, 1, 0.58)
463
+ coral_spread = 1.616
464
+ coral_up = 3.905
465
+ coral_down = 3.478
466
+ coral_spiral = 0.3343
467
+ monster_size = 0.4456
468
+ monster_height = -4.775
469
+ monster_turn = (99.53, 136.4, -13.69)
470
+ head_turn = (-141.7, 81.22, 322.2)
471
+ head_stretch = (0.8743, 1.169, 0.8693)
472
+ eye_count = 2.083
473
+ eye_size_waves = 7.71
474
+ eye_size_spread = -0.03683
475
+ eyeball = hsv(87.8, 0.17, 1)
476
+ iris = hsv(195.7, 0.4, 0.54)
477
+ dilation = 0.3647
478
+ slit = 0.3322
479
+ tentacle_count = 2.602
480
+ tentacle_waves = 1.993
481
+ tentacle_thickness = 0.4899
482
+ tentacle_flatness = 0.4404
483
+ tentacle_tip = hsv(288.1, 0.62, 1)
484
+ curl = (26.55, 23.91, -20.11)
485
+ curl_waves = (3.052, 3.404, 3.107)
486
+ curl_start = (-0.2763, 0.0438, 0)
487
+ coral_1 = hsv(151.2, 0.93, 1)
488
+ coral_2 = hsv(3.5, 0.97, 1)
489
+ coral_3 = hsv(163.2, 0.55, 1)
490
+ coral_4 = hsv(135.8, 0.52, 1)
491
+ coral_gaps = (0.8373, 0.6357, 0.3024)
492
+ }
493
+
494
+ variant member_10 {
495
+ head_size = 5.892
496
+ head_colour = hsv(75, 1, 0.56)
497
+ coral_spread = 1.414
498
+ coral_up = 0.1196
499
+ coral_down = 4.238
500
+ coral_spiral = -0.9327
501
+ monster_size = 1.248
502
+ monster_height = 1.041
503
+ monster_turn = (-165.3, -13.08, 8.138)
504
+ head_turn = (-214.7, -139.6, -288.7)
505
+ head_stretch = (0.9347, 1.004, 0.948)
506
+ eye_count = 17.74
507
+ eye_size_waves = 5.942
508
+ eye_size_spread = -0.3403
509
+ eyeball = hsv(51.6, 0.22, 1)
510
+ iris = hsv(208.9, 0.95, 0.65)
511
+ dilation = 0.7678
512
+ slit = 0.3964
513
+ tentacle_count = 3.407
514
+ tentacle_waves = 1.568
515
+ tentacle_thickness = 0.5836
516
+ tentacle_flatness = 0.4818
517
+ tentacle_tip = hsv(176.4, 0.51, 1)
518
+ curl = (-1.097, 15.02, 18.64)
519
+ curl_waves = (1.101, 2.715, 1.408)
520
+ curl_start = (-0.213, -0.04906, 0.3207)
521
+ coral_1 = hsv(64.4, 0.75, 1)
522
+ coral_2 = hsv(62.6, 0.42, 1)
523
+ coral_3 = hsv(145.7, 0.79, 1)
524
+ coral_4 = hsv(13.1, 0.41, 1)
525
+ coral_gaps = (0.6772, 0.8054, 0.4117)
526
+ }
527
+
528
+ variant member_11 {
529
+ head_size = 7.288
530
+ head_colour = hsv(211.5, 1, 0.28)
531
+ coral_spread = 0.8002
532
+ coral_up = 0.7119
533
+ coral_down = 0.5415
534
+ coral_spiral = 0.9729
535
+ monster_size = 1.159
536
+ monster_height = 10.27
537
+ monster_turn = (151.1, -165, 81.86)
538
+ head_turn = (209.6, -325.9, 137.4)
539
+ head_stretch = (1.106, 0.9368, 1.097)
540
+ eye_count = 7.201
541
+ eye_size_waves = 5.406
542
+ eye_size_spread = -0.1093
543
+ eyeball = hsv(21.3, 0.25, 1)
544
+ iris = hsv(15.4, 0.68, 0.93)
545
+ dilation = 0.06339
546
+ slit = 0.7024
547
+ tentacle_count = 3.987
548
+ tentacle_waves = 0.612
549
+ tentacle_thickness = 0.7511
550
+ tentacle_flatness = 0.691
551
+ tentacle_tip = hsv(81.3, 0.65, 1)
552
+ curl = (-9.53, 7.7, 12.98)
553
+ curl_waves = (1.598, 2.934, 1.306)
554
+ curl_start = (0.268, 0.1377, 0.3551)
555
+ coral_1 = hsv(283.7, 0.41, 1)
556
+ coral_2 = hsv(327.6, 0.91, 1)
557
+ coral_3 = hsv(344.8, 0.52, 1)
558
+ coral_4 = hsv(184.9, 0.63, 1)
559
+ coral_gaps = (0.5032, 0.9833, 0.3687)
560
+ }
561
+
562
+ variant member_12 {
563
+ head_size = 5.772
564
+ head_colour = hsv(5.2, 1, 0.4)
565
+ coral_spread = 1.623
566
+ coral_up = 3.659
567
+ coral_down = 4.238
568
+ coral_spiral = 0.6606
569
+ monster_size = 1.181
570
+ monster_height = -14.73
571
+ monster_turn = (153.4, 49.65, 99.87)
572
+ head_turn = (185.5, -113.2, -181.7)
573
+ head_stretch = (1.027, 0.9052, 1.119)
574
+ eye_count = 18.16
575
+ eye_size_waves = 6.11
576
+ eye_size_spread = 0.108
577
+ eyeball = hsv(306.5, 0.2, 1)
578
+ iris = hsv(165, 0.94, 0.65)
579
+ dilation = 0.2432
580
+ slit = 0.4104
581
+ tentacle_count = 3.491
582
+ tentacle_waves = 2.894
583
+ tentacle_thickness = 0.143
584
+ tentacle_flatness = 0.3071
585
+ tentacle_tip = hsv(80.8, 0.78, 1)
586
+ curl = (-20.25, 13.01, 21.86)
587
+ curl_waves = (2.424, 2.765, 1.901)
588
+ curl_start = (-0.3338, -0.05715, -0.1156)
589
+ coral_1 = hsv(205.9, 0.69, 1)
590
+ coral_2 = hsv(51.5, 0.97, 1)
591
+ coral_3 = hsv(214.4, 0.66, 1)
592
+ coral_4 = hsv(199.8, 0.69, 1)
593
+ coral_gaps = (0.5079, 0.4718, 0.7986)
594
+ }