@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,294 @@
1
+ creature Phoenix
2
+ // Two wings of long, glowing feathers, fanned out side by side, each feather a little longer or
3
+ // shorter than the last.
4
+ // Inspired by Phoenix, a DancerDNA creature.
5
+
6
+ gene feather = 26 in 3..30 // how long the feathers are
7
+ gene fan = 15.99 in -17.2..17.2 // how far each feather turns sideways from the last
8
+ gene lift = 0 in -17.2..17.2 // how far each feather tips up or down from the last
9
+ gene twist = 5.73 in -17.2..17.2 // how far each feather rolls from the last
10
+ gene spacing = 0.04056 in -0.1..0.1 // how far apart the feathers' roots are
11
+
12
+ gene ripples = 0.2214 in 0..4 // how many times the feathers swell and shrink along a wing
13
+ gene ripple = -0.164 in -0.2..0.2 // how much longer or shorter each feather is than the last
14
+ gene start = -0.2569 in -1..1 // where along the wing the swelling starts
15
+
16
+ // The plumage, from the first feather to the last, and the gaps between its colours.
17
+ gene plumage_1 = hsv(242.1, 0.97, 0.71) in hsv(0, 0, 0)..hsv(360, 1, 1)
18
+ gene plumage_2 = hsv(3.3, 0.92, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
19
+ gene plumage_3 = hsv(345.5, 0.62, 0.14) in hsv(0, 0, 0)..hsv(360, 1, 1)
20
+ gene plumage_4 = hsv(200.2, 0.4, 1) in hsv(0, 0.4, 1)..hsv(360, 1, 1)
21
+ gene plumage_gaps = (0.6051, 0.8738, 0.5588) in (0.25, 0.25, 0.25)..(1, 1, 1)
22
+
23
+ let plumage = spectrum(plumage_1, plumage_2 at plumage_gaps.x, plumage_3 at plumage_gaps.x + plumage_gaps.y, plumage_4 at plumage_gaps.x + plumage_gaps.y + plumage_gaps.z)
24
+
25
+ symmetric x {
26
+ wing
27
+ }
28
+
29
+ part wing {
30
+ shape ball
31
+ grow (1, 1, feather)
32
+ repeat 20 as i {
33
+ let along = i / 19
34
+ colour plumage(along)
35
+ lay
36
+ yaw fan
37
+ pitch lift
38
+ roll twist
39
+ forward spacing
40
+ grow (1, 1, 1 + ripple * sin(180 * ripples * (along + start)))
41
+ }
42
+ }
43
+
44
+ variant member_2 {
45
+ feather = 28.88
46
+ fan = -7.557
47
+ lift = 4.757
48
+ twist = -8.568
49
+ ripples = 3.361
50
+ ripple = -0.1797
51
+ start = 0.8159
52
+ plumage_1 = hsv(55.6, 0.13, 0.98)
53
+ plumage_3 = hsv(103.6, 0.85, 0.75)
54
+ plumage_4 = hsv(160.2, 0.65, 1)
55
+ plumage_gaps = (0.9938, 0.3066, 0.2919)
56
+ }
57
+
58
+ variant member_3 {
59
+ feather = 7.989
60
+ fan = 5.41
61
+ lift = 12.1
62
+ twist = -6.084
63
+ spacing = -0.09039
64
+ ripples = 1.65
65
+ ripple = 0.1297
66
+ plumage_1 = hsv(106.1, 0.74, 0.87)
67
+ plumage_3 = hsv(258, 0.63, 0.9)
68
+ plumage_4 = hsv(266.8, 0.59, 1)
69
+ plumage_gaps = (0.3253, 0.7106, 0.8568)
70
+ }
71
+
72
+ variant member_4 {
73
+ feather = 15.73
74
+ fan = -1.47
75
+ lift = 15.13
76
+ twist = 14.83
77
+ spacing = 0.0121
78
+ ripples = 0.6776
79
+ ripple = 0.1297
80
+ start = -0.3665
81
+ plumage_1 = hsv(210.6, 0.59, 0.26)
82
+ plumage_2 = hsv(37.7, 0.71, 1)
83
+ plumage_3 = hsv(250.2, 0.8, 0.33)
84
+ plumage_4 = hsv(65.7, 0.82, 1)
85
+ plumage_gaps = (0.3253, 0.6103, 0.9376)
86
+ }
87
+
88
+ variant member_5 {
89
+ feather = 8.795
90
+ fan = -9.496
91
+ lift = -16.57
92
+ twist = -5.973
93
+ spacing = 0.08681
94
+ ripples = 1.253
95
+ ripple = 0.1297
96
+ start = -0.2783
97
+ plumage_1 = hsv(36.8, 0.03, 0.69)
98
+ plumage_2 = hsv(38.9, 0.82, 1)
99
+ plumage_3 = hsv(192.8, 0.49, 0.84)
100
+ plumage_4 = hsv(42.2, 0.81, 1)
101
+ plumage_gaps = (0.8796, 0.6619, 0.9376)
102
+ }
103
+
104
+ variant member_6 {
105
+ feather = 9.147
106
+ fan = -13.68
107
+ lift = 12.1
108
+ twist = -14.49
109
+ spacing = -0.008415
110
+ ripples = 1.253
111
+ ripple = 0.06042
112
+ start = 0.07792
113
+ plumage_1 = hsv(228, 0.22, 0.81)
114
+ plumage_2 = hsv(14.7, 0.56, 1)
115
+ plumage_3 = hsv(202.1, 0.66, 0.69)
116
+ plumage_4 = hsv(255.6, 0.89, 1)
117
+ plumage_gaps = (0.7583, 0.51, 0.9617)
118
+ }
119
+
120
+ variant member_7 {
121
+ feather = 21.57
122
+ fan = 2.109
123
+ lift = -15.03
124
+ twist = 11.66
125
+ spacing = 0.01675
126
+ ripples = 0.7774
127
+ ripple = 0.1611
128
+ start = -0.6918
129
+ plumage_1 = hsv(257.5, 0.93, 0.45)
130
+ plumage_2 = hsv(18.4, 0.8, 1)
131
+ plumage_3 = hsv(120.1, 0.59, 0.77)
132
+ plumage_4 = hsv(260.5, 0.96, 1)
133
+ plumage_gaps = (0.6677, 0.6322, 0.4376)
134
+ }
135
+
136
+ variant member_8 {
137
+ feather = 23.65
138
+ fan = 2.109
139
+ lift = 5.419
140
+ twist = 9.563
141
+ spacing = 0.01675
142
+ ripples = 3.195
143
+ ripple = -0.1969
144
+ start = 0.396
145
+ plumage_1 = hsv(257.5, 0.93, 0.45)
146
+ plumage_2 = hsv(258.5, 0.73, 1)
147
+ plumage_3 = hsv(120.1, 0.59, 0.77)
148
+ plumage_4 = hsv(108, 0.93, 1)
149
+ plumage_gaps = (0.6677, 0.7972, 0.6812)
150
+ }
151
+
152
+ variant member_9 {
153
+ feather = 24.86
154
+ fan = 9.205
155
+ lift = -15.44
156
+ twist = -14.53
157
+ spacing = -0.03083
158
+ ripples = 2.107
159
+ ripple = -0.1252
160
+ start = -0.1699
161
+ plumage_1 = hsv(339.8, 0.84, 0.79)
162
+ plumage_2 = hsv(193.6, 0.86, 1)
163
+ plumage_3 = hsv(129.1, 0.23, 0.44)
164
+ plumage_4 = hsv(215.3, 0.59, 1)
165
+ plumage_gaps = (0.7689, 0.6206, 0.3339)
166
+ }
167
+
168
+ variant member_10 {
169
+ feather = 20.57
170
+ fan = -5.137
171
+ lift = 5.097
172
+ twist = 11.66
173
+ spacing = -0.03083
174
+ ripples = 2.645
175
+ ripple = 0.08711
176
+ start = 0.8796
177
+ plumage_1 = hsv(50.3, 0.88, 0.67)
178
+ plumage_2 = hsv(252, 0.65, 1)
179
+ plumage_3 = hsv(20.9, 1, 0.55)
180
+ plumage_4 = hsv(215.3, 0.59, 1)
181
+ plumage_gaps = (0.5125, 0.416, 0.2871)
182
+ }
183
+
184
+ variant member_11 {
185
+ feather = 11.33
186
+ fan = -7.946
187
+ lift = -8.807
188
+ twist = 10.75
189
+ spacing = -0.05251
190
+ ripples = 0.9833
191
+ ripple = -0.1716
192
+ start = -0.14
193
+ plumage_1 = hsv(286.9, 0.51, 0.21)
194
+ plumage_2 = hsv(71.3, 0.45, 1)
195
+ plumage_3 = hsv(197.6, 0.58, 0.5)
196
+ plumage_4 = hsv(173.3, 0.92, 1)
197
+ plumage_gaps = (0.3008, 0.3004, 0.4292)
198
+ }
199
+
200
+ variant member_12 {
201
+ feather = 14.57
202
+ fan = 10.99
203
+ lift = 4.156
204
+ twist = -6.111
205
+ spacing = 0.03176
206
+ ripples = 2.24
207
+ ripple = -0.01125
208
+ start = -0.3286
209
+ plumage_1 = hsv(105.3, 0.91, 0.3)
210
+ plumage_2 = hsv(359.1, 0.72, 1)
211
+ plumage_3 = hsv(91.5, 0.03, 0.83)
212
+ plumage_4 = hsv(26.3, 0.64, 1)
213
+ plumage_gaps = (0.8332, 0.7627, 0.845)
214
+ }
215
+
216
+ variant member_13 {
217
+ feather = 9.462
218
+ fan = 15.57
219
+ lift = 14.01
220
+ twist = 7.63
221
+ spacing = 0.03084
222
+ ripples = 1.88
223
+ ripple = 0.07719
224
+ start = 0.4533
225
+ plumage_1 = hsv(40.7, 0.41, 0.65)
226
+ plumage_2 = hsv(12.5, 0.53, 1)
227
+ plumage_3 = hsv(250.6, 0.4, 0.89)
228
+ plumage_4 = hsv(26.3, 0.64, 1)
229
+ plumage_gaps = (0.3701, 0.5865, 0.667)
230
+ }
231
+
232
+ variant member_14 {
233
+ feather = 10.56
234
+ fan = -5.36
235
+ lift = -13.76
236
+ twist = -7.08
237
+ spacing = -0.03967
238
+ ripples = 0.1712
239
+ ripple = -0.09676
240
+ start = 0.679
241
+ plumage_1 = hsv(98.6, 0.61, 0.7)
242
+ plumage_2 = hsv(333.5, 0.82, 1)
243
+ plumage_3 = hsv(45.1, 0.77, 0.89)
244
+ plumage_4 = hsv(318.2, 0.92, 1)
245
+ plumage_gaps = (0.3749, 0.6712, 0.2604)
246
+ }
247
+
248
+ variant member_15 {
249
+ feather = 9.933
250
+ fan = 11.81
251
+ lift = -7.277
252
+ twist = -12.77
253
+ spacing = 0
254
+ ripples = 2.619
255
+ ripple = 0.01537
256
+ start = -0.1225
257
+ plumage_1 = hsv(285.3, 0.69, 0.82)
258
+ plumage_2 = hsv(46.4, 0.98, 1)
259
+ plumage_3 = hsv(188.9, 0.27, 0.94)
260
+ plumage_4 = hsv(199.5, 0.87, 1)
261
+ plumage_gaps = (0.341, 0.7679, 0.7582)
262
+ }
263
+
264
+ variant member_16 {
265
+ feather = 15.49
266
+ fan = -2.952
267
+ lift = 13
268
+ twist = -7.963
269
+ spacing = 0.07453
270
+ ripples = 3.309
271
+ ripple = -0.1608
272
+ start = 0.8765
273
+ plumage_1 = hsv(89.4, 0.35, 0.63)
274
+ plumage_2 = hsv(27.3, 0.97, 1)
275
+ plumage_3 = hsv(269.7, 0.17, 0.1)
276
+ plumage_4 = hsv(94, 0.92, 1)
277
+ plumage_gaps = (0.4934, 0.9992, 0.4544)
278
+ }
279
+
280
+ variant member_17 {
281
+ feather = 13.24
282
+ fan = 4.395
283
+ lift = -11.27
284
+ twist = 5.427
285
+ spacing = -0.05476
286
+ ripples = 2.386
287
+ ripple = 0.1466
288
+ start = -0.1529
289
+ plumage_1 = hsv(290.3, 0.34, 0.07)
290
+ plumage_2 = hsv(91.7, 0.87, 1)
291
+ plumage_3 = hsv(13.9, 0.81, 0.95)
292
+ plumage_4 = hsv(12.2, 0.75, 1)
293
+ plumage_gaps = (0.3366, 0.3599, 0.3723)
294
+ }