@shipload/sdk 1.0.0-next.3 → 1.0.0-next.30

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 (99) hide show
  1. package/lib/shipload.d.ts +1847 -962
  2. package/lib/shipload.js +9088 -4854
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +8957 -4805
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +856 -0
  7. package/lib/testing.js +3739 -0
  8. package/lib/testing.js.map +1 -0
  9. package/lib/testing.m.js +3733 -0
  10. package/lib/testing.m.js.map +1 -0
  11. package/package.json +15 -2
  12. package/src/capabilities/craftable.ts +51 -0
  13. package/src/capabilities/crafting.test.ts +7 -0
  14. package/src/capabilities/crafting.ts +3 -3
  15. package/src/capabilities/gathering.ts +17 -7
  16. package/src/capabilities/index.ts +0 -1
  17. package/src/capabilities/modules.ts +6 -0
  18. package/src/capabilities/storage.ts +16 -1
  19. package/src/contracts/platform.ts +231 -3
  20. package/src/contracts/server.ts +816 -471
  21. package/src/data/capabilities.ts +14 -329
  22. package/src/data/capability-formulas.ts +76 -0
  23. package/src/data/catalog.ts +0 -5
  24. package/src/data/colors.ts +14 -47
  25. package/src/data/entities.json +46 -10
  26. package/src/data/item-ids.ts +15 -12
  27. package/src/data/items.json +302 -38
  28. package/src/data/kind-registry.json +85 -0
  29. package/src/data/kind-registry.ts +150 -0
  30. package/src/data/metadata.ts +100 -31
  31. package/src/data/recipes-runtime.ts +3 -23
  32. package/src/data/recipes.json +250 -113
  33. package/src/derivation/build-methods.ts +45 -0
  34. package/src/derivation/capabilities.ts +415 -0
  35. package/src/derivation/capability-mappings.ts +117 -0
  36. package/src/derivation/crafting.ts +23 -24
  37. package/src/derivation/index.ts +17 -2
  38. package/src/derivation/reserve-regen.ts +34 -0
  39. package/src/derivation/resources.ts +125 -38
  40. package/src/derivation/stars.test.ts +51 -0
  41. package/src/derivation/stars.ts +15 -0
  42. package/src/derivation/stats.ts +6 -6
  43. package/src/derivation/stratum.ts +15 -19
  44. package/src/derivation/tiers.ts +28 -7
  45. package/src/entities/entity.ts +98 -0
  46. package/src/entities/gamestate.ts +3 -28
  47. package/src/entities/makers.ts +91 -136
  48. package/src/entities/slot-multiplier.ts +39 -0
  49. package/src/errors.ts +10 -15
  50. package/src/format.ts +26 -4
  51. package/src/index-module.ts +189 -47
  52. package/src/managers/actions.ts +252 -83
  53. package/src/managers/base.ts +6 -2
  54. package/src/managers/construction-types.ts +79 -0
  55. package/src/managers/construction.ts +396 -0
  56. package/src/managers/context.ts +11 -1
  57. package/src/managers/entities.ts +18 -66
  58. package/src/managers/epochs.ts +40 -0
  59. package/src/managers/index.ts +17 -1
  60. package/src/managers/locations.ts +25 -29
  61. package/src/managers/nft.ts +28 -0
  62. package/src/managers/plot.ts +127 -0
  63. package/src/nft/atomicassets.abi.json +1342 -0
  64. package/src/nft/atomicassets.ts +237 -0
  65. package/src/nft/atomicdata.ts +130 -0
  66. package/src/nft/buildImmutableData.ts +321 -0
  67. package/src/nft/description.ts +37 -15
  68. package/src/nft/index.ts +3 -0
  69. package/src/resolution/describe-module.ts +5 -8
  70. package/src/resolution/display-name.ts +38 -10
  71. package/src/resolution/resolve-item.ts +22 -20
  72. package/src/scheduling/accessor.ts +68 -22
  73. package/src/scheduling/availability.ts +108 -0
  74. package/src/scheduling/energy.ts +48 -0
  75. package/src/scheduling/lane-core.ts +130 -0
  76. package/src/scheduling/lanes.ts +60 -0
  77. package/src/scheduling/projection.ts +121 -94
  78. package/src/scheduling/schedule.ts +237 -103
  79. package/src/scheduling/task-cargo.ts +46 -0
  80. package/src/shipload.ts +16 -1
  81. package/src/subscriptions/manager.ts +40 -6
  82. package/src/subscriptions/mappers.ts +3 -8
  83. package/src/subscriptions/types.ts +3 -2
  84. package/src/testing/catalog-hash.ts +19 -0
  85. package/src/testing/index.ts +2 -0
  86. package/src/testing/projection-parity.ts +143 -0
  87. package/src/travel/travel.ts +90 -13
  88. package/src/types/capabilities.ts +1 -0
  89. package/src/types/index.ts +0 -1
  90. package/src/types.ts +19 -12
  91. package/src/utils/cargo.ts +27 -0
  92. package/src/utils/display-name.ts +61 -0
  93. package/src/utils/system.ts +25 -24
  94. package/src/capabilities/loading.ts +0 -8
  95. package/src/entities/container.ts +0 -108
  96. package/src/entities/ship-deploy.ts +0 -258
  97. package/src/entities/ship.ts +0 -204
  98. package/src/entities/warehouse.ts +0 -119
  99. package/src/types/entity-traits.ts +0 -69
@@ -1,252 +1,516 @@
1
1
  [
2
2
  {
3
3
  "id": 101,
4
- "mass": 52000,
4
+ "mass": 1000,
5
5
  "type": "resource",
6
6
  "tier": 1,
7
7
  "category": "ore"
8
8
  },
9
9
  {
10
10
  "id": 102,
11
- "mass": 58000,
11
+ "mass": 1000,
12
12
  "type": "resource",
13
13
  "tier": 2,
14
14
  "category": "ore"
15
15
  },
16
16
  {
17
17
  "id": 103,
18
- "mass": 64000,
18
+ "mass": 1000,
19
19
  "type": "resource",
20
20
  "tier": 3,
21
21
  "category": "ore"
22
22
  },
23
+ {
24
+ "id": 104,
25
+ "mass": 1000,
26
+ "type": "resource",
27
+ "tier": 4,
28
+ "category": "ore"
29
+ },
30
+ {
31
+ "id": 105,
32
+ "mass": 1000,
33
+ "type": "resource",
34
+ "tier": 5,
35
+ "category": "ore"
36
+ },
37
+ {
38
+ "id": 106,
39
+ "mass": 1000,
40
+ "type": "resource",
41
+ "tier": 6,
42
+ "category": "ore"
43
+ },
44
+ {
45
+ "id": 107,
46
+ "mass": 1000,
47
+ "type": "resource",
48
+ "tier": 7,
49
+ "category": "ore"
50
+ },
51
+ {
52
+ "id": 108,
53
+ "mass": 1000,
54
+ "type": "resource",
55
+ "tier": 8,
56
+ "category": "ore"
57
+ },
58
+ {
59
+ "id": 109,
60
+ "mass": 1000,
61
+ "type": "resource",
62
+ "tier": 9,
63
+ "category": "ore"
64
+ },
65
+ {
66
+ "id": 110,
67
+ "mass": 1000,
68
+ "type": "resource",
69
+ "tier": 10,
70
+ "category": "ore"
71
+ },
23
72
  {
24
73
  "id": 201,
25
- "mass": 35000,
74
+ "mass": 1000,
26
75
  "type": "resource",
27
76
  "tier": 1,
28
77
  "category": "crystal"
29
78
  },
30
79
  {
31
80
  "id": 202,
32
- "mass": 35000,
81
+ "mass": 1000,
33
82
  "type": "resource",
34
83
  "tier": 2,
35
84
  "category": "crystal"
36
85
  },
37
86
  {
38
87
  "id": 203,
39
- "mass": 35000,
88
+ "mass": 1000,
40
89
  "type": "resource",
41
90
  "tier": 3,
42
91
  "category": "crystal"
43
92
  },
93
+ {
94
+ "id": 204,
95
+ "mass": 1000,
96
+ "type": "resource",
97
+ "tier": 4,
98
+ "category": "crystal"
99
+ },
100
+ {
101
+ "id": 205,
102
+ "mass": 1000,
103
+ "type": "resource",
104
+ "tier": 5,
105
+ "category": "crystal"
106
+ },
107
+ {
108
+ "id": 206,
109
+ "mass": 1000,
110
+ "type": "resource",
111
+ "tier": 6,
112
+ "category": "crystal"
113
+ },
114
+ {
115
+ "id": 207,
116
+ "mass": 1000,
117
+ "type": "resource",
118
+ "tier": 7,
119
+ "category": "crystal"
120
+ },
121
+ {
122
+ "id": 208,
123
+ "mass": 1000,
124
+ "type": "resource",
125
+ "tier": 8,
126
+ "category": "crystal"
127
+ },
128
+ {
129
+ "id": 209,
130
+ "mass": 1000,
131
+ "type": "resource",
132
+ "tier": 9,
133
+ "category": "crystal"
134
+ },
135
+ {
136
+ "id": 210,
137
+ "mass": 1000,
138
+ "type": "resource",
139
+ "tier": 10,
140
+ "category": "crystal"
141
+ },
44
142
  {
45
143
  "id": 301,
46
- "mass": 15000,
144
+ "mass": 1000,
47
145
  "type": "resource",
48
146
  "tier": 1,
49
147
  "category": "gas"
50
148
  },
51
149
  {
52
150
  "id": 302,
53
- "mass": 13500,
151
+ "mass": 1000,
54
152
  "type": "resource",
55
153
  "tier": 2,
56
154
  "category": "gas"
57
155
  },
58
156
  {
59
157
  "id": 303,
60
- "mass": 12000,
158
+ "mass": 1000,
61
159
  "type": "resource",
62
160
  "tier": 3,
63
161
  "category": "gas"
64
162
  },
163
+ {
164
+ "id": 304,
165
+ "mass": 1000,
166
+ "type": "resource",
167
+ "tier": 4,
168
+ "category": "gas"
169
+ },
170
+ {
171
+ "id": 305,
172
+ "mass": 1000,
173
+ "type": "resource",
174
+ "tier": 5,
175
+ "category": "gas"
176
+ },
177
+ {
178
+ "id": 306,
179
+ "mass": 1000,
180
+ "type": "resource",
181
+ "tier": 6,
182
+ "category": "gas"
183
+ },
184
+ {
185
+ "id": 307,
186
+ "mass": 1000,
187
+ "type": "resource",
188
+ "tier": 7,
189
+ "category": "gas"
190
+ },
191
+ {
192
+ "id": 308,
193
+ "mass": 1000,
194
+ "type": "resource",
195
+ "tier": 8,
196
+ "category": "gas"
197
+ },
198
+ {
199
+ "id": 309,
200
+ "mass": 1000,
201
+ "type": "resource",
202
+ "tier": 9,
203
+ "category": "gas"
204
+ },
205
+ {
206
+ "id": 310,
207
+ "mass": 1000,
208
+ "type": "resource",
209
+ "tier": 10,
210
+ "category": "gas"
211
+ },
65
212
  {
66
213
  "id": 401,
67
- "mass": 22000,
214
+ "mass": 1000,
68
215
  "type": "resource",
69
216
  "tier": 1,
70
217
  "category": "regolith"
71
218
  },
72
219
  {
73
220
  "id": 402,
74
- "mass": 25000,
221
+ "mass": 1000,
75
222
  "type": "resource",
76
223
  "tier": 2,
77
224
  "category": "regolith"
78
225
  },
79
226
  {
80
227
  "id": 403,
81
- "mass": 28000,
228
+ "mass": 1000,
82
229
  "type": "resource",
83
230
  "tier": 3,
84
231
  "category": "regolith"
85
232
  },
233
+ {
234
+ "id": 404,
235
+ "mass": 1000,
236
+ "type": "resource",
237
+ "tier": 4,
238
+ "category": "regolith"
239
+ },
240
+ {
241
+ "id": 405,
242
+ "mass": 1000,
243
+ "type": "resource",
244
+ "tier": 5,
245
+ "category": "regolith"
246
+ },
247
+ {
248
+ "id": 406,
249
+ "mass": 1000,
250
+ "type": "resource",
251
+ "tier": 6,
252
+ "category": "regolith"
253
+ },
254
+ {
255
+ "id": 407,
256
+ "mass": 1000,
257
+ "type": "resource",
258
+ "tier": 7,
259
+ "category": "regolith"
260
+ },
261
+ {
262
+ "id": 408,
263
+ "mass": 1000,
264
+ "type": "resource",
265
+ "tier": 8,
266
+ "category": "regolith"
267
+ },
268
+ {
269
+ "id": 409,
270
+ "mass": 1000,
271
+ "type": "resource",
272
+ "tier": 9,
273
+ "category": "regolith"
274
+ },
275
+ {
276
+ "id": 410,
277
+ "mass": 1000,
278
+ "type": "resource",
279
+ "tier": 10,
280
+ "category": "regolith"
281
+ },
86
282
  {
87
283
  "id": 501,
88
- "mass": 42000,
284
+ "mass": 1000,
89
285
  "type": "resource",
90
286
  "tier": 1,
91
287
  "category": "biomass"
92
288
  },
93
289
  {
94
290
  "id": 502,
95
- "mass": 37000,
291
+ "mass": 1000,
96
292
  "type": "resource",
97
293
  "tier": 2,
98
294
  "category": "biomass"
99
295
  },
100
296
  {
101
297
  "id": 503,
102
- "mass": 33000,
298
+ "mass": 1000,
103
299
  "type": "resource",
104
300
  "tier": 3,
105
301
  "category": "biomass"
106
302
  },
303
+ {
304
+ "id": 504,
305
+ "mass": 1000,
306
+ "type": "resource",
307
+ "tier": 4,
308
+ "category": "biomass"
309
+ },
310
+ {
311
+ "id": 505,
312
+ "mass": 1000,
313
+ "type": "resource",
314
+ "tier": 5,
315
+ "category": "biomass"
316
+ },
317
+ {
318
+ "id": 506,
319
+ "mass": 1000,
320
+ "type": "resource",
321
+ "tier": 6,
322
+ "category": "biomass"
323
+ },
324
+ {
325
+ "id": 507,
326
+ "mass": 1000,
327
+ "type": "resource",
328
+ "tier": 7,
329
+ "category": "biomass"
330
+ },
331
+ {
332
+ "id": 508,
333
+ "mass": 1000,
334
+ "type": "resource",
335
+ "tier": 8,
336
+ "category": "biomass"
337
+ },
338
+ {
339
+ "id": 509,
340
+ "mass": 1000,
341
+ "type": "resource",
342
+ "tier": 9,
343
+ "category": "biomass"
344
+ },
345
+ {
346
+ "id": 510,
347
+ "mass": 1000,
348
+ "type": "resource",
349
+ "tier": 10,
350
+ "category": "biomass"
351
+ },
107
352
  {
108
353
  "id": 10001,
109
- "mass": 50000,
354
+ "mass": 4000,
110
355
  "type": "component",
111
356
  "tier": 1
112
357
  },
113
358
  {
114
359
  "id": 10002,
115
- "mass": 30000,
360
+ "mass": 6000,
116
361
  "type": "component",
117
362
  "tier": 1
118
363
  },
119
364
  {
120
365
  "id": 10003,
121
- "mass": 50000,
366
+ "mass": 4000,
122
367
  "type": "component",
123
368
  "tier": 1
124
369
  },
125
370
  {
126
371
  "id": 10004,
127
- "mass": 30000,
372
+ "mass": 6000,
128
373
  "type": "component",
129
374
  "tier": 1
130
375
  },
131
376
  {
132
377
  "id": 10005,
133
- "mass": 50000,
378
+ "mass": 6000,
134
379
  "type": "component",
135
380
  "tier": 1
136
381
  },
137
382
  {
138
383
  "id": 10006,
139
- "mass": 30000,
384
+ "mass": 4000,
140
385
  "type": "component",
141
386
  "tier": 1
142
387
  },
143
388
  {
144
389
  "id": 10007,
145
- "mass": 30000,
390
+ "mass": 4000,
146
391
  "type": "component",
147
392
  "tier": 1
148
393
  },
149
394
  {
150
395
  "id": 10008,
151
- "mass": 30000,
396
+ "mass": 4000,
152
397
  "type": "component",
153
398
  "tier": 1
154
399
  },
155
400
  {
156
401
  "id": 10009,
157
- "mass": 50000,
402
+ "mass": 6000,
158
403
  "type": "component",
159
404
  "tier": 1
160
405
  },
161
406
  {
162
407
  "id": 10010,
163
- "mass": 40000,
408
+ "mass": 6000,
164
409
  "type": "component",
165
410
  "tier": 1
166
411
  },
167
412
  {
168
413
  "id": 10100,
169
- "mass": 150000,
414
+ "mass": 900000,
170
415
  "type": "module",
171
416
  "tier": 1,
172
417
  "subtype": "engine"
173
418
  },
174
419
  {
175
420
  "id": 10101,
176
- "mass": 75000,
421
+ "mass": 1400000,
177
422
  "type": "module",
178
423
  "tier": 1,
179
424
  "subtype": "generator"
180
425
  },
181
426
  {
182
427
  "id": 10102,
183
- "mass": 145000,
428
+ "mass": 1200000,
184
429
  "type": "module",
185
430
  "tier": 1,
186
431
  "subtype": "gatherer"
187
432
  },
188
433
  {
189
434
  "id": 10103,
190
- "mass": 90000,
435
+ "mass": 1000000,
191
436
  "type": "module",
192
437
  "tier": 1,
193
438
  "subtype": "loader"
194
439
  },
195
440
  {
196
441
  "id": 10104,
197
- "mass": 120000,
442
+ "mass": 1200000,
198
443
  "type": "module",
199
444
  "tier": 1,
200
445
  "subtype": "crafter"
201
446
  },
202
447
  {
203
448
  "id": 10105,
204
- "mass": 100000,
449
+ "mass": 1200000,
205
450
  "type": "module",
206
451
  "tier": 1,
207
452
  "subtype": "storage"
208
453
  },
209
454
  {
210
455
  "id": 10106,
211
- "mass": 120000,
456
+ "mass": 1400000,
212
457
  "type": "module",
213
458
  "tier": 1,
214
459
  "subtype": "hauler"
215
460
  },
216
461
  {
217
462
  "id": 10107,
218
- "mass": 180000,
463
+ "mass": 1400000,
219
464
  "type": "module",
220
465
  "tier": 1,
221
466
  "subtype": "warp"
222
467
  },
468
+ {
469
+ "id": 10108,
470
+ "mass": 1000000,
471
+ "type": "module",
472
+ "tier": 1,
473
+ "subtype": "battery"
474
+ },
223
475
  {
224
476
  "id": 10200,
225
- "mass": 80000,
477
+ "mass": 1500000,
226
478
  "type": "entity",
227
479
  "tier": 1
228
480
  },
229
481
  {
230
482
  "id": 10201,
231
- "mass": 100000,
483
+ "mass": 2300000,
232
484
  "type": "entity",
233
485
  "tier": 1
234
486
  },
235
487
  {
236
488
  "id": 10202,
237
- "mass": 1300000,
489
+ "mass": 5800000,
490
+ "type": "entity",
491
+ "tier": 1
492
+ },
493
+ {
494
+ "id": 10203,
495
+ "mass": 4400000,
496
+ "type": "entity",
497
+ "tier": 1
498
+ },
499
+ {
500
+ "id": 10204,
501
+ "mass": 5500000,
238
502
  "type": "entity",
239
503
  "tier": 1
240
504
  },
241
505
  {
242
506
  "id": 20001,
243
- "mass": 50000,
507
+ "mass": 500,
244
508
  "type": "component",
245
509
  "tier": 2
246
510
  },
247
511
  {
248
512
  "id": 20002,
249
- "mass": 30000,
513
+ "mass": 300,
250
514
  "type": "component",
251
515
  "tier": 2
252
516
  },
@@ -0,0 +1,85 @@
1
+ {
2
+ "kinds": [
3
+ {
4
+ "kind": "ship",
5
+ "classification": "OrbitalVessel",
6
+ "capabilityFlags": 19,
7
+ "zCoord": 800,
8
+ "defaultLabel": "Ship"
9
+ },
10
+ {
11
+ "kind": "warehouse",
12
+ "classification": "PlanetaryStructure",
13
+ "capabilityFlags": 20,
14
+ "zCoord": 0,
15
+ "defaultLabel": "Warehouse"
16
+ },
17
+ {
18
+ "kind": "extractor",
19
+ "classification": "PlanetaryStructure",
20
+ "capabilityFlags": 20,
21
+ "zCoord": 0,
22
+ "defaultLabel": "Extractor"
23
+ },
24
+ {
25
+ "kind": "factory",
26
+ "classification": "PlanetaryStructure",
27
+ "capabilityFlags": 20,
28
+ "zCoord": 0,
29
+ "defaultLabel": "Factory"
30
+ },
31
+ {
32
+ "kind": "container",
33
+ "classification": "OrbitalVessel",
34
+ "capabilityFlags": 3,
35
+ "zCoord": 300,
36
+ "defaultLabel": "Container"
37
+ },
38
+ {
39
+ "kind": "nexus",
40
+ "classification": "OrbitalVessel",
41
+ "capabilityFlags": 0,
42
+ "zCoord": 800,
43
+ "defaultLabel": "Nexus"
44
+ },
45
+ {
46
+ "kind": "plot",
47
+ "classification": "Plot",
48
+ "capabilityFlags": 0,
49
+ "zCoord": 0,
50
+ "defaultLabel": "Plot"
51
+ }
52
+ ],
53
+ "templates": [
54
+ {
55
+ "itemId": 10201,
56
+ "kind": "ship",
57
+ "displayLabel": ""
58
+ },
59
+ {
60
+ "itemId": 10202,
61
+ "kind": "warehouse",
62
+ "displayLabel": ""
63
+ },
64
+ {
65
+ "itemId": 10203,
66
+ "kind": "extractor",
67
+ "displayLabel": ""
68
+ },
69
+ {
70
+ "itemId": 10204,
71
+ "kind": "factory",
72
+ "displayLabel": ""
73
+ },
74
+ {
75
+ "itemId": 10200,
76
+ "kind": "container",
77
+ "displayLabel": ""
78
+ },
79
+ {
80
+ "itemId": 20200,
81
+ "kind": "container",
82
+ "displayLabel": ""
83
+ }
84
+ ]
85
+ }