@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,470 @@
1
+ creature Genes
2
+ // Two strands, each a ladder of beaded curves, side by side like the strands of DNA.
3
+ // Inspired by Genes, a DancerDNA creature.
4
+
5
+ gene swing = 51.98 in 0..360 // which way the strands point: sideways
6
+ gene tilt = 51.92 in 0..360 // and up
7
+ gene apart = (10, 9.795, 10) in (10, 0, 0)..(10, 25, 25) // where the second strand is from the first
8
+
9
+ gene step_1 = (1.202, 0.1621, 0) in (1, 0, 0)..(5, 10, 10) // how far apart the first strand's curves are
10
+ gene turn_1 = 0 in 0..51.57 // how far each of its curves turns from the last
11
+ gene bend_1 = -38.13 in -179.9..179.9 // how far each bead of a curve bends from the last
12
+ gene gap_1 = 1 in 1..10 // how far apart the beads are
13
+ gene step_2 = (1.425, 0, 0.1562) in (1, 0, 0)..(5, 10, 10) // the same for the second strand
14
+ gene turn_2 = 0 in 0..51.57
15
+ gene bend_2 = -1.146 in -179.9..179.9
16
+ gene gap_2 = 1.167 in 1..10
17
+
18
+ // Each strand's colours, from the ends of its curves to the middle, and the gaps between them.
19
+ gene first_1 = hsv(111.4, 0.81, 0.88) in hsv(0, 0, 0)..hsv(360, 1, 1)
20
+ gene first_2 = hsv(3.3, 0.92, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
21
+ gene first_3 = hsv(252, 0.57, 0.85) in hsv(0, 0, 0)..hsv(360, 1, 1)
22
+ gene first_4 = hsv(283.1, 0.58, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
23
+ gene first_gaps = (0.2977, 0.7326, 0.7914) in (0.25, 0.25, 0.25)..(1, 1, 1)
24
+ gene second_1 = hsv(108, 0.5, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
25
+ gene second_2 = hsv(144, 0.4, 0.95) in hsv(0, 0.4, 0.93)..hsv(360, 1, 1)
26
+ gene second_3 = hsv(180, 0.4, 0) in hsv(0, 0.4, 0)..hsv(360, 1, 1)
27
+ gene second_4 = hsv(257, 0.55, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
28
+ gene second_gaps = (0.5, 0.6, 0.7323) in (0.01, 0.01, 0.01)..(1, 1, 1)
29
+
30
+ let first = spectrum(first_1, first_2 at first_gaps.x, first_3 at first_gaps.x + first_gaps.y, first_4 at first_gaps.x + first_gaps.y + first_gaps.z)
31
+ let second = spectrum(second_1, second_2 at second_gaps.x, second_3 at second_gaps.x + second_gaps.y, second_4 at second_gaps.x + second_gaps.y + second_gaps.z)
32
+
33
+ yaw swing
34
+ pitch tilt
35
+ shape ball
36
+ strand(step_1, turn_1, bend_1, gap_1, first)
37
+ move apart
38
+ strand(step_2, turn_2, bend_2, gap_2, second)
39
+
40
+ part strand(stride, turn, bend, gap, colours) {
41
+ branch {
42
+ repeat 15 {
43
+ curve(bend, gap, colours)
44
+ pitch turn
45
+ move stride
46
+ }
47
+ }
48
+ }
49
+
50
+ part curve(bend, gap, colours) {
51
+ branch {
52
+ repeat 10 as k {
53
+ pitch bend
54
+ forward gap
55
+ colour colours(bump(k / 20))
56
+ lay
57
+ }
58
+ }
59
+ }
60
+
61
+ variant member_2 {
62
+ swing = 18
63
+ tilt = 18
64
+ apart = (10, 10, 10)
65
+ step_1 = (1.341, 0.2323, 0.09092)
66
+ bend_1 = -14.07
67
+ gap_1 = 2.078
68
+ step_2 = (1.057, 0.3929, 0)
69
+ turn_2 = 6.121
70
+ bend_2 = 12.58
71
+ gap_2 = 1.932
72
+ first_1 = hsv(111.9, 0.69, 0.83)
73
+ first_2 = hsv(13.1, 0.99, 1)
74
+ first_3 = hsv(258, 0.63, 0.9)
75
+ first_4 = hsv(266.8, 0.59, 1)
76
+ first_gaps = (0.3253, 0.7106, 0.8022)
77
+ second_4 = hsv(247.7, 0.53, 1)
78
+ second_gaps = (0.5904, 0.5028, 0.7)
79
+ }
80
+
81
+ variant member_3 {
82
+ swing = 29.31
83
+ tilt = 38.85
84
+ apart = (10, 10, 12.25)
85
+ step_1 = (1.379, 2.144, 0.9068)
86
+ turn_1 = 12.39
87
+ bend_1 = -9.21
88
+ gap_1 = 1.261
89
+ step_2 = (1.387, 1.436, 2.261)
90
+ turn_2 = 4.132
91
+ bend_2 = 86.96
92
+ gap_2 = 1.617
93
+ first_1 = hsv(116.5, 0.6, 0.82)
94
+ first_2 = hsv(35, 0.88, 1)
95
+ first_3 = hsv(217.2, 0.44, 0.87)
96
+ first_4 = hsv(311.5, 0.54, 1)
97
+ first_gaps = (0.3142, 0.7106, 0.7732)
98
+ second_1 = hsv(67.6, 0.51, 1)
99
+ second_2 = hsv(151.4, 0.44, 0.96)
100
+ second_3 = hsv(169.5, 0.45, 0.08)
101
+ second_4 = hsv(242.8, 0.55, 1)
102
+ second_gaps = (0.3424, 0.6515, 0.6464)
103
+ }
104
+
105
+ variant member_4 {
106
+ swing = 37.55
107
+ tilt = 103.2
108
+ apart = (10, 23.97, 3.896)
109
+ step_1 = (2.775, 2.475, 8.99)
110
+ turn_1 = 18.1
111
+ bend_1 = 9.496
112
+ gap_1 = 1.156
113
+ step_2 = (4.781, 1.465, 1.796)
114
+ turn_2 = 29.2
115
+ bend_2 = -158.1
116
+ gap_2 = 8.092
117
+ first_1 = hsv(43.5, 0.17, 0.15)
118
+ first_2 = hsv(38.2, 0.62, 1)
119
+ first_3 = hsv(348.4, 0.86, 0.55)
120
+ first_4 = hsv(195.7, 0.84, 1)
121
+ first_gaps = (0.768, 0.3366, 0.6917)
122
+ second_1 = hsv(77.4, 0.65, 1)
123
+ second_2 = hsv(240.3, 0.91, 0.97)
124
+ second_3 = hsv(195.4, 0.57, 0.89)
125
+ second_4 = hsv(128.9, 0.81, 1)
126
+ second_gaps = (0.8006, 0.3105, 0.02254)
127
+ }
128
+
129
+ variant member_5 {
130
+ swing = 72.02
131
+ tilt = 68.13
132
+ apart = (10, 10.03, 16.59)
133
+ step_1 = (1.42, 2.704, 5.388)
134
+ turn_1 = 37.89
135
+ bend_1 = 48.31
136
+ gap_1 = 4.439
137
+ step_2 = (4.861, 3.331, 1.869)
138
+ turn_2 = 15.48
139
+ bend_2 = -158.1
140
+ gap_2 = 5.17
141
+ first_1 = hsv(241.1, 0.15, 0.89)
142
+ first_2 = hsv(60, 0.87, 1)
143
+ first_3 = hsv(341.1, 0.5, 0.57)
144
+ first_4 = hsv(264.6, 0.92, 1)
145
+ first_gaps = (0.7488, 0.3197, 0.6989)
146
+ second_1 = hsv(53.1, 0.74, 1)
147
+ second_2 = hsv(277.5, 1, 0.99)
148
+ second_3 = hsv(93, 0.51, 0.99)
149
+ second_4 = hsv(23.7, 0.58, 1)
150
+ second_gaps = (0.7325, 0.8603, 0.2507)
151
+ }
152
+
153
+ variant member_6 {
154
+ swing = 163.3
155
+ tilt = 302.5
156
+ apart = (10, 6.943, 22.92)
157
+ step_1 = (2.227, 4.856, 9.164)
158
+ turn_1 = 30.84
159
+ bend_1 = 101.5
160
+ gap_1 = 1.452
161
+ step_2 = (1.126, 8.205, 4.339)
162
+ turn_2 = 7.827
163
+ bend_2 = -20.66
164
+ gap_2 = 2.599
165
+ first_1 = hsv(120.8, 0.24, 0.46)
166
+ first_2 = hsv(53.4, 0.88, 1)
167
+ first_3 = hsv(203.9, 0.13, 0.92)
168
+ first_4 = hsv(274.6, 0.53, 1)
169
+ first_gaps = (0.7403, 0.9589, 0.6556)
170
+ second_1 = hsv(48.8, 0.57, 1)
171
+ second_2 = hsv(353.4, 0.64, 0.96)
172
+ second_3 = hsv(19.4, 0.69, 0.63)
173
+ second_4 = hsv(203, 0.67, 1)
174
+ second_gaps = (0.4511, 0.2996, 0.3285)
175
+ }
176
+
177
+ variant member_7 {
178
+ swing = 172.1
179
+ tilt = 65.36
180
+ apart = (10, 16.72, 5.531)
181
+ step_1 = (1.332, 7.672, 7.865)
182
+ turn_1 = 17.99
183
+ bend_1 = 9.792
184
+ gap_1 = 1.654
185
+ step_2 = (4.395, 8.119, 2.553)
186
+ turn_2 = 20.11
187
+ bend_2 = -40.96
188
+ gap_2 = 2.282
189
+ first_1 = hsv(49, 0.1, 0.57)
190
+ first_2 = hsv(37.9, 0.69, 1)
191
+ first_3 = hsv(125.2, 0.08, 0.82)
192
+ first_4 = hsv(249.4, 0.49, 1)
193
+ first_gaps = (0.3306, 0.3937, 0.7056)
194
+ second_1 = hsv(53.9, 0.9, 1)
195
+ second_2 = hsv(198.1, 0.96, 0.96)
196
+ second_3 = hsv(133.2, 0.57, 0.74)
197
+ second_4 = hsv(172.9, 0.86, 1)
198
+ second_gaps = (0.4019, 0.6351, 0.1891)
199
+ }
200
+
201
+ variant member_8 {
202
+ swing = 42.97
203
+ tilt = 103.2
204
+ apart = (10, 16.72, 3.425)
205
+ step_1 = (2.775, 6.042, 9.485)
206
+ turn_1 = 29.9
207
+ bend_1 = 9.496
208
+ gap_1 = 3.531
209
+ step_2 = (3.565, 1.954, 1.796)
210
+ turn_2 = 29.2
211
+ bend_2 = -158.1
212
+ gap_2 = 6.36
213
+ first_1 = hsv(91.8, 0.28, 0.48)
214
+ first_2 = hsv(37.9, 0.69, 1)
215
+ first_3 = hsv(348.4, 0.86, 0.55)
216
+ first_4 = hsv(235, 0.86, 1)
217
+ first_gaps = (0.768, 0.3366, 0.4958)
218
+ second_1 = hsv(77.4, 0.65, 1)
219
+ second_2 = hsv(240.3, 0.91, 0.97)
220
+ second_3 = hsv(195.4, 0.57, 0.89)
221
+ second_4 = hsv(91.7, 0.58, 1)
222
+ second_gaps = (0.9582, 0.2996, 0.035)
223
+ }
224
+
225
+ variant member_9 {
226
+ swing = 42.97
227
+ tilt = 138.2
228
+ apart = (10, 15.96, 6.417)
229
+ step_1 = (2.775, 5.261, 6.476)
230
+ turn_1 = 9.657
231
+ bend_1 = 79
232
+ gap_1 = 1.452
233
+ step_2 = (4.011, 5.011, 4.648)
234
+ turn_2 = 10.63
235
+ bend_2 = -158.1
236
+ gap_2 = 8.469
237
+ first_1 = hsv(91.8, 0.28, 0.48)
238
+ first_2 = hsv(38.2, 0.62, 1)
239
+ first_3 = hsv(348.4, 0.86, 0.55)
240
+ first_4 = hsv(235, 0.86, 1)
241
+ first_gaps = (0.5, 0.3366, 0.4958)
242
+ second_1 = hsv(81.7, 0.67, 1)
243
+ second_2 = hsv(240.3, 0.91, 0.97)
244
+ second_3 = hsv(298.1, 0.46, 0.76)
245
+ second_4 = hsv(18.1, 0.63, 1)
246
+ second_gaps = (0.8769, 0.08766, 0.035)
247
+ }
248
+
249
+ variant member_10 {
250
+ swing = 42.97
251
+ tilt = 65.07
252
+ apart = (10, 15.96, 1.584)
253
+ step_1 = (2.775, 2.475, 5.784)
254
+ turn_1 = 30.83
255
+ bend_1 = 9.496
256
+ gap_1 = 3.586
257
+ step_2 = (3.67, 5.011, 1.796)
258
+ turn_2 = 10.14
259
+ bend_2 = -105.3
260
+ gap_2 = 3.813
261
+ first_1 = hsv(91.8, 0.28, 0.48)
262
+ first_2 = hsv(38.2, 0.62, 1)
263
+ first_3 = hsv(348.4, 0.86, 0.55)
264
+ first_4 = hsv(235, 0.86, 1)
265
+ first_gaps = (0.768, 0.6513, 0.4958)
266
+ second_1 = hsv(111.9, 0.64, 1)
267
+ second_2 = hsv(240.3, 0.91, 0.97)
268
+ second_3 = hsv(224, 0.73, 0.99)
269
+ second_4 = hsv(171.7, 0.48, 1)
270
+ second_gaps = (0.8464, 0.5122, 0.3403)
271
+ }
272
+
273
+ variant member_11 {
274
+ swing = 18
275
+ tilt = 18
276
+ apart = (10, 10, 8.798)
277
+ step_1 = (1.098, 0.02962, 0)
278
+ turn_1 = 4.503
279
+ bend_1 = 31.82
280
+ gap_1 = 1.209
281
+ step_2 = (1.136, 0, 0.2571)
282
+ turn_2 = 1.18
283
+ bend_2 = 1.895
284
+ gap_2 = 1
285
+ first_1 = hsv(106.1, 0.74, 0.87)
286
+ first_2 = hsv(18.1, 1, 1)
287
+ first_3 = hsv(258, 0.63, 0.9)
288
+ first_4 = hsv(297.4, 0.57, 1)
289
+ first_gaps = (0.3253, 0.7106, 0.8568)
290
+ second_2 = hsv(145.7, 0.42, 0.95)
291
+ second_3 = hsv(217.3, 0.42, 0.05)
292
+ second_4 = hsv(216, 0.5, 1)
293
+ second_gaps = (0.44, 0.7092, 0.7)
294
+ }
295
+
296
+ variant member_12 {
297
+ swing = 18
298
+ tilt = 38.85
299
+ apart = (10, 10, 12.25)
300
+ step_1 = (1.083, 1.036, 0.1272)
301
+ bend_1 = -1.146
302
+ gap_1 = 1.684
303
+ step_2 = (1.387, 0, 1.222)
304
+ turn_2 = 2.879
305
+ bend_2 = 39.73
306
+ gap_2 = 1.617
307
+ first_1 = hsv(106.1, 0.74, 0.87)
308
+ first_2 = hsv(35, 0.88, 1)
309
+ first_3 = hsv(258, 0.63, 0.9)
310
+ first_4 = hsv(286.1, 0.52, 1)
311
+ first_gaps = (0.3991, 0.7106, 0.8568)
312
+ second_4 = hsv(248.9, 0.55, 1)
313
+ second_gaps = (0.4221, 0.6733, 0.6302)
314
+ }
315
+
316
+ variant member_13 {
317
+ step_1 = (1.202, 0.1621, 0.005933)
318
+ bend_1 = -38.52
319
+ step_2 = (1.388, 0, 0.1562)
320
+ turn_2 = 5.115
321
+ gap_2 = 1.872
322
+ first_1 = hsv(71.2, 0.91, 0.78)
323
+ first_3 = hsv(256.9, 0.59, 0.8)
324
+ first_gaps = (0.2684, 0.6374, 0.7914)
325
+ second_3 = hsv(174.2, 0.42, 0.11)
326
+ second_gaps = (0.5268, 0.6939, 0.7323)
327
+ }
328
+
329
+ variant member_14 {
330
+ swing = 211.7
331
+ tilt = 34.24
332
+ apart = (10, 16.72, 3.425)
333
+ step_1 = (2.11, 6.042, 7.865)
334
+ turn_1 = 29.9
335
+ bend_1 = 9.792
336
+ gap_1 = 1.414
337
+ step_2 = (3.785, 8.119, 1.796)
338
+ turn_2 = 29.2
339
+ bend_2 = -40.96
340
+ gap_2 = 1.773
341
+ first_1 = hsv(49, 0.1, 0.57)
342
+ first_2 = hsv(37.9, 0.69, 1)
343
+ first_3 = hsv(191.8, 0.07, 0.85)
344
+ first_4 = hsv(314.7, 0.48, 1)
345
+ first_gaps = (0.3418, 0.5706, 0.8062)
346
+ second_1 = hsv(69.2, 0.77, 1)
347
+ second_2 = hsv(230.6, 0.84, 0.98)
348
+ second_3 = hsv(217.1, 0.59, 0.56)
349
+ second_4 = hsv(106.9, 0.72, 1)
350
+ second_gaps = (0.4019, 0.7933, 0.1891)
351
+ }
352
+
353
+ variant member_15 {
354
+ swing = 204.5
355
+ tilt = 0.646
356
+ apart = (10, 18.54, 7.509)
357
+ step_1 = (1.173, 6.042, 9.388)
358
+ turn_1 = 17.56
359
+ bend_1 = -2.146
360
+ gap_1 = 3.339
361
+ step_2 = (4.642, 8.119, 1.796)
362
+ turn_2 = 32.66
363
+ bend_2 = -40.96
364
+ gap_2 = 1.773
365
+ first_1 = hsv(133.3, 0.18, 0.43)
366
+ first_2 = hsv(47.3, 0.65, 1)
367
+ first_3 = hsv(191.8, 0.07, 0.85)
368
+ first_4 = hsv(253.1, 0.47, 1)
369
+ first_gaps = (0.3159, 0.454, 0.9462)
370
+ second_1 = hsv(80.6, 0.91, 1)
371
+ second_2 = hsv(240.3, 0.91, 0.97)
372
+ second_3 = hsv(180.5, 0.72, 0.78)
373
+ second_4 = hsv(106.9, 0.72, 1)
374
+ second_gaps = (0.435, 0.5499, 0.1825)
375
+ }
376
+
377
+ variant member_16 {
378
+ swing = 336.5
379
+ tilt = 248.2
380
+ apart = (10, 13.82, 11.13)
381
+ step_1 = (1.558, 7.062, 4.047)
382
+ turn_1 = 45.95
383
+ bend_1 = 51.66
384
+ gap_1 = 1.414
385
+ step_2 = (4.068, 9.159, 3.303)
386
+ turn_2 = 44.76
387
+ bend_2 = -26.69
388
+ gap_2 = 2.377
389
+ first_1 = hsv(259.3, 0.5, 0.91)
390
+ first_2 = hsv(0.1, 0.69, 1)
391
+ first_3 = hsv(298.3, 0.11, 1)
392
+ first_4 = hsv(280.9, 0.53, 1)
393
+ first_gaps = (0.2706, 0.764, 0.9908)
394
+ second_1 = hsv(40.2, 0.73, 1)
395
+ second_2 = hsv(51.3, 0.56, 0.97)
396
+ second_3 = hsv(349.8, 0.4, 0.54)
397
+ second_4 = hsv(5.2, 0.61, 1)
398
+ second_gaps = (0.04833, 0.468, 0.2429)
399
+ }
400
+
401
+ variant member_17 {
402
+ swing = 234.6
403
+ tilt = 152.2
404
+ apart = (10, 13.82, 6.453)
405
+ step_1 = (3.444, 9.321, 6.806)
406
+ turn_1 = 25.42
407
+ bend_1 = 51.66
408
+ gap_1 = 1.414
409
+ step_2 = (3.455, 7.388, 2.488)
410
+ turn_2 = 30.73
411
+ bend_2 = 7.142
412
+ gap_2 = 2.632
413
+ first_1 = hsv(199.2, 0.06, 0.87)
414
+ first_2 = hsv(66, 0.74, 1)
415
+ first_3 = hsv(275.1, 0.01, 0.94)
416
+ first_4 = hsv(346.6, 0.53, 1)
417
+ first_gaps = (0.3199, 0.764, 0.8511)
418
+ second_1 = hsv(131, 0.96, 1)
419
+ second_2 = hsv(174.4, 0.86, 0.97)
420
+ second_3 = hsv(357.3, 0.48, 0.5)
421
+ second_4 = hsv(41.5, 0.7, 1)
422
+ second_gaps = (0.2907, 0.6051, 0.304)
423
+ }
424
+
425
+ variant member_18 {
426
+ swing = 230.3
427
+ tilt = 71.15
428
+ apart = (10, 16.58, 8.764)
429
+ step_1 = (3.695, 6.799, 7.959)
430
+ turn_1 = 38.01
431
+ bend_1 = -8.495
432
+ gap_1 = 1.414
433
+ step_2 = (4.068, 6.884, 2.488)
434
+ turn_2 = 38.35
435
+ bend_2 = -51.65
436
+ gap_2 = 2.466
437
+ first_1 = hsv(199.2, 0.06, 0.87)
438
+ first_2 = hsv(83.1, 0.6, 1)
439
+ first_3 = hsv(206.7, 0.24, 0.73)
440
+ first_4 = hsv(314.7, 0.48, 1)
441
+ first_gaps = (0.2967, 0.6135, 0.6997)
442
+ second_1 = hsv(60.8, 0.94, 1)
443
+ second_2 = hsv(267.4, 0.78, 0.97)
444
+ second_3 = hsv(357.3, 0.48, 0.5)
445
+ second_4 = hsv(118.3, 0.84, 1)
446
+ second_gaps = (0.5914, 0.7933, 0.08921)
447
+ }
448
+
449
+ variant member_19 {
450
+ swing = 72.38
451
+ tilt = 38.85
452
+ apart = (10, 11.07, 12.25)
453
+ step_1 = (1.379, 2.144, 0.9068)
454
+ turn_1 = 10.27
455
+ bend_1 = 10.09
456
+ gap_1 = 1.237
457
+ step_2 = (1.387, 1.125, 1.637)
458
+ turn_2 = 2.879
459
+ bend_2 = 61.74
460
+ gap_2 = 1.123
461
+ first_1 = hsv(144.9, 0.7, 0.78)
462
+ first_2 = hsv(37.2, 0.94, 1)
463
+ first_3 = hsv(235.4, 0.52, 0.92)
464
+ first_4 = hsv(256.5, 0.57, 1)
465
+ first_gaps = (0.3142, 0.7106, 0.7732)
466
+ second_1 = hsv(59.6, 0.56, 1)
467
+ second_2 = hsv(186.1, 0.48, 0.96)
468
+ second_4 = hsv(208.2, 0.59, 1)
469
+ second_gaps = (0.4221, 0.6365, 0.5386)
470
+ }