@shipload/sdk 1.0.0-next.51 → 1.0.0-next.53
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.
- package/lib/shipload.d.ts +471 -158
- package/lib/shipload.js +2320 -485
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +2290 -484
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.d.ts +123 -8
- package/lib/testing.js +450 -19
- package/lib/testing.js.map +1 -1
- package/lib/testing.m.js +451 -20
- package/lib/testing.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/crafting.ts +10 -1
- package/src/capabilities/gathering.ts +1 -1
- package/src/capabilities/hauling.ts +0 -5
- package/src/capabilities/modules.ts +6 -0
- package/src/capabilities/movement.ts +1 -1
- package/src/contracts/server.ts +293 -13
- package/src/data/capabilities.ts +18 -2
- package/src/data/capability-formulas.ts +5 -0
- package/src/data/entities.json +235 -20
- package/src/data/item-ids.ts +10 -0
- package/src/data/items.json +61 -0
- package/src/data/kind-registry.json +53 -1
- package/src/data/kind-registry.ts +5 -0
- package/src/data/metadata.ts +74 -5
- package/src/data/recipes-runtime.ts +1 -0
- package/src/data/recipes.json +895 -119
- package/src/derivation/capabilities.test.ts +105 -4
- package/src/derivation/capabilities.ts +162 -57
- package/src/derivation/capability-mappings.ts +2 -0
- package/src/derivation/crafting.ts +2 -0
- package/src/derivation/recipe-usage.test.ts +10 -7
- package/src/derivation/rollups.ts +16 -0
- package/src/derivation/stat-scaling.ts +12 -0
- package/src/entities/makers.ts +10 -1
- package/src/index-module.ts +29 -3
- package/src/managers/actions.ts +77 -46
- package/src/managers/construction-types.ts +2 -2
- package/src/managers/construction.ts +15 -15
- package/src/managers/plot.ts +1 -1
- package/src/nft/buildImmutableData.ts +55 -9
- package/src/nft/description.ts +99 -36
- package/src/planner/planner.test.ts +50 -41
- package/src/resolution/resolve-item.test.ts +1 -1
- package/src/resolution/resolve-item.ts +26 -11
- package/src/scheduling/availability.ts +7 -6
- package/src/scheduling/cancel.test.ts +40 -6
- package/src/scheduling/cancel.ts +21 -29
- package/src/scheduling/jobs.ts +71 -0
- package/src/scheduling/lanes.ts +29 -0
- package/src/scheduling/projection.ts +42 -25
- package/src/scheduling/task-cargo.ts +1 -1
- package/src/testing/projection-parity.ts +2 -2
- package/src/travel/reach.ts +4 -6
- package/src/travel/route-planner.ts +60 -49
- package/src/travel/route-simulator.ts +3 -7
- package/src/travel/travel.ts +14 -5
- package/src/types/capabilities.ts +9 -3
- package/src/types.ts +5 -3
- package/src/managers/flatten-gather-plan.test.ts +0 -80
package/src/data/metadata.ts
CHANGED
|
@@ -204,7 +204,7 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
204
204
|
10106: {
|
|
205
205
|
name: 'Tractor Beam',
|
|
206
206
|
description:
|
|
207
|
-
'Projects a haul beam to lock onto and transport containers
|
|
207
|
+
'Projects a haul beam to lock onto and transport containers through group travel.',
|
|
208
208
|
color: '#4ADBFF',
|
|
209
209
|
},
|
|
210
210
|
10107: {
|
|
@@ -223,6 +223,12 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
223
223
|
description: 'Accelerates and launches cargo payloads toward a remote mass catcher.',
|
|
224
224
|
color: '#E86344',
|
|
225
225
|
},
|
|
226
|
+
10110: {
|
|
227
|
+
name: 'Assembly Arm',
|
|
228
|
+
description:
|
|
229
|
+
'Heavy manipulator arms for on-site construction work. Claims build sites, builds them out, and upgrades ships in place.',
|
|
230
|
+
color: '#FFB347',
|
|
231
|
+
},
|
|
226
232
|
|
|
227
233
|
// === Entities (packed, T1) ===
|
|
228
234
|
10200: {
|
|
@@ -231,7 +237,7 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
231
237
|
color: '#7B8D9E',
|
|
232
238
|
},
|
|
233
239
|
10201: {
|
|
234
|
-
name: '
|
|
240
|
+
name: 'Ship',
|
|
235
241
|
description: 'General-purpose vessel with 5 module slots.',
|
|
236
242
|
color: '#4AE898',
|
|
237
243
|
},
|
|
@@ -267,6 +273,58 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
267
273
|
description: 'Orbital command structure. Anchors a player station cluster.',
|
|
268
274
|
color: '#A0B8D0',
|
|
269
275
|
},
|
|
276
|
+
10208: {
|
|
277
|
+
name: 'Workshop',
|
|
278
|
+
description:
|
|
279
|
+
'A station workshop with five independent workers. Visiting ships bring materials and power, and the workshop does the crafting.',
|
|
280
|
+
color: '#B877FF',
|
|
281
|
+
},
|
|
282
|
+
10210: {
|
|
283
|
+
name: 'Roustabout',
|
|
284
|
+
description:
|
|
285
|
+
'A basic starter ship. One engine, one power core, and one open slot to fit as you like.',
|
|
286
|
+
color: '#4AE898',
|
|
287
|
+
},
|
|
288
|
+
10211: {
|
|
289
|
+
name: 'Prospector',
|
|
290
|
+
description: 'A light gathering ship. One engine, one power core, one gathering rig.',
|
|
291
|
+
color: '#4AE898',
|
|
292
|
+
},
|
|
293
|
+
10212: {
|
|
294
|
+
name: 'Tender',
|
|
295
|
+
description:
|
|
296
|
+
'A logistics ship with a shuttle bay for moving cargo between ships and stations.',
|
|
297
|
+
color: '#4AE898',
|
|
298
|
+
},
|
|
299
|
+
10213: {
|
|
300
|
+
name: 'Wright',
|
|
301
|
+
description:
|
|
302
|
+
'A construction ship with an assembly arm for building structures and upgrading ships.',
|
|
303
|
+
color: '#4AE898',
|
|
304
|
+
},
|
|
305
|
+
10214: {
|
|
306
|
+
name: 'Tug',
|
|
307
|
+
description:
|
|
308
|
+
'A logistics ship with a tractor beam for towing containers from place to place.',
|
|
309
|
+
color: '#4AE898',
|
|
310
|
+
},
|
|
311
|
+
10215: {
|
|
312
|
+
name: 'Porter',
|
|
313
|
+
description:
|
|
314
|
+
'A cargo ship built around a large storage hold. The extra mass makes it slower than a Roustabout.',
|
|
315
|
+
color: '#4AE898',
|
|
316
|
+
},
|
|
317
|
+
10216: {
|
|
318
|
+
name: 'Wrangler',
|
|
319
|
+
description: 'A heavy gathering ship with two gathering rigs, so it mines faster.',
|
|
320
|
+
color: '#4AE898',
|
|
321
|
+
},
|
|
322
|
+
10217: {
|
|
323
|
+
name: 'Dredger',
|
|
324
|
+
description:
|
|
325
|
+
'A gathering ship with its own storage hold, so it can keep mining before it has to offload.',
|
|
326
|
+
color: '#4AE898',
|
|
327
|
+
},
|
|
270
328
|
|
|
271
329
|
// === Components (T2) ===
|
|
272
330
|
20001: {
|
|
@@ -348,7 +406,7 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
348
406
|
color: '#4AE898',
|
|
349
407
|
},
|
|
350
408
|
20211: {
|
|
351
|
-
name: '
|
|
409
|
+
name: 'Tug',
|
|
352
410
|
description:
|
|
353
411
|
'Advanced towing vessel with tiered engine, generator, and tractor beam slots.',
|
|
354
412
|
color: '#4AE898',
|
|
@@ -357,6 +415,14 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
357
415
|
|
|
358
416
|
export const entityMetadata: Record<number, EntityMetadata> = {
|
|
359
417
|
10201: {moduleSlotLabels: ['Engine', 'Power Core', 'Limpet Bay', 'Shuttle Bay', 'Cargo Hold']},
|
|
418
|
+
10210: {moduleSlotLabels: ['Power Core', 'Engine', 'Utility Bay']},
|
|
419
|
+
10211: {moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay']},
|
|
420
|
+
10212: {moduleSlotLabels: ['Power Core', 'Engine', 'Shuttle Bay']},
|
|
421
|
+
10213: {moduleSlotLabels: ['Power Core', 'Engine', 'Assembly Arm']},
|
|
422
|
+
10214: {moduleSlotLabels: ['Power Core', 'Engine', 'Tractor Beam']},
|
|
423
|
+
10215: {moduleSlotLabels: ['Power Core', 'Engine', 'Cargo Hold']},
|
|
424
|
+
10216: {moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay', 'Limpet Bay']},
|
|
425
|
+
10217: {moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay', 'Cargo Hold']},
|
|
360
426
|
10202: {
|
|
361
427
|
moduleSlotLabels: ['Shuttle Bay', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold'],
|
|
362
428
|
},
|
|
@@ -364,8 +430,11 @@ export const entityMetadata: Record<number, EntityMetadata> = {
|
|
|
364
430
|
10204: {moduleSlotLabels: ['Power Core', 'Fabricator']},
|
|
365
431
|
10205: {moduleSlotLabels: ['Power Core', 'Drive Coil']},
|
|
366
432
|
10206: {moduleSlotLabels: ['Cargo Hold', 'Cargo Hold', 'Cargo Hold']},
|
|
367
|
-
|
|
368
|
-
|
|
433
|
+
10208: {
|
|
434
|
+
moduleSlotLabels: ['Fabricator', 'Fabricator', 'Fabricator', 'Fabricator', 'Fabricator'],
|
|
435
|
+
},
|
|
436
|
+
20210: {moduleSlotLabels: ['Power Core', 'Power Core', 'Engine', 'Limpet Bay']},
|
|
437
|
+
20211: {moduleSlotLabels: ['Power Core', 'Engine', 'Tractor Beam', 'Tractor Beam']},
|
|
369
438
|
}
|
|
370
439
|
|
|
371
440
|
for (const item of items as Array<{id: number}>) {
|