@shipload/sdk 1.0.0-next.6 → 1.0.0-next.61

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 (156) hide show
  1. package/lib/scan.d.ts +52 -0
  2. package/lib/scan.js +162 -0
  3. package/lib/scan.js.map +1 -0
  4. package/lib/scan.m.js +152 -0
  5. package/lib/scan.m.js.map +1 -0
  6. package/lib/shipload.d.ts +3601 -1364
  7. package/lib/shipload.js +15671 -5261
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +15392 -5209
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +1173 -0
  12. package/lib/testing.js +4971 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +4965 -0
  15. package/lib/testing.m.js.map +1 -0
  16. package/package.json +20 -2
  17. package/src/capabilities/craftable.test.ts +82 -0
  18. package/src/capabilities/craftable.ts +82 -0
  19. package/src/capabilities/crafting.test.ts +35 -0
  20. package/src/capabilities/crafting.ts +34 -7
  21. package/src/capabilities/gathering.test.ts +29 -0
  22. package/src/capabilities/gathering.ts +37 -19
  23. package/src/capabilities/hauling.ts +0 -5
  24. package/src/capabilities/index.ts +0 -1
  25. package/src/capabilities/modules.ts +27 -30
  26. package/src/capabilities/movement.ts +1 -1
  27. package/src/capabilities/storage.ts +16 -1
  28. package/src/contracts/platform.ts +231 -3
  29. package/src/contracts/server.ts +1518 -501
  30. package/src/coordinates/address.ts +88 -0
  31. package/src/coordinates/constants.test.ts +15 -0
  32. package/src/coordinates/constants.ts +23 -0
  33. package/src/coordinates/index.ts +15 -0
  34. package/src/coordinates/memo.test.ts +47 -0
  35. package/src/coordinates/memo.ts +20 -0
  36. package/src/coordinates/permutation.ts +77 -0
  37. package/src/coordinates/regions.ts +48 -0
  38. package/src/coordinates/sectors.ts +115 -0
  39. package/src/data/capabilities.ts +49 -18
  40. package/src/data/capability-formulas.ts +26 -14
  41. package/src/data/catalog.ts +7 -8
  42. package/src/data/colors.ts +14 -48
  43. package/src/data/entities.json +380 -15
  44. package/src/data/item-ids.ts +51 -13
  45. package/src/data/items.json +318 -77
  46. package/src/data/kind-registry.json +195 -0
  47. package/src/data/kind-registry.ts +182 -0
  48. package/src/data/metadata.ts +291 -51
  49. package/src/data/recipes-runtime.ts +6 -23
  50. package/src/data/recipes.json +2260 -173
  51. package/src/data/tiers.ts +9 -6
  52. package/src/derivation/build-methods.test.ts +13 -0
  53. package/src/derivation/build-methods.ts +48 -0
  54. package/src/derivation/capabilities.test.ts +348 -0
  55. package/src/derivation/capabilities.ts +693 -0
  56. package/src/derivation/capability-mappings.ts +60 -16
  57. package/src/derivation/crafting.test.ts +17 -0
  58. package/src/derivation/crafting.ts +57 -34
  59. package/src/derivation/index.ts +27 -2
  60. package/src/derivation/recipe-usage.test.ts +90 -0
  61. package/src/derivation/recipe-usage.ts +141 -0
  62. package/src/derivation/reserve-regen.ts +34 -0
  63. package/src/derivation/resources.ts +9 -1
  64. package/src/derivation/rollups.test.ts +55 -0
  65. package/src/derivation/rollups.ts +72 -0
  66. package/src/derivation/stars.test.ts +67 -0
  67. package/src/derivation/stars.ts +25 -0
  68. package/src/derivation/stat-scaling.ts +12 -0
  69. package/src/derivation/stats.ts +6 -6
  70. package/src/derivation/stratum.ts +26 -22
  71. package/src/derivation/tiers.ts +40 -7
  72. package/src/derivation/upgrades.ts +14 -0
  73. package/src/derivation/wormhole.ts +154 -0
  74. package/src/entities/entity.ts +102 -0
  75. package/src/entities/gamestate.ts +3 -28
  76. package/src/entities/makers.ts +141 -135
  77. package/src/entities/slot-multiplier.ts +43 -0
  78. package/src/errors.ts +12 -16
  79. package/src/format.ts +26 -4
  80. package/src/index-module.ts +333 -35
  81. package/src/managers/actions.ts +668 -103
  82. package/src/managers/base.ts +6 -2
  83. package/src/managers/cluster.test.ts +39 -0
  84. package/src/managers/cluster.ts +53 -0
  85. package/src/managers/construction-types.ts +80 -0
  86. package/src/managers/construction.ts +443 -0
  87. package/src/managers/context.ts +29 -1
  88. package/src/managers/coordinates.ts +14 -0
  89. package/src/managers/entities.ts +27 -66
  90. package/src/managers/epochs.ts +40 -0
  91. package/src/managers/index.ts +20 -1
  92. package/src/managers/locations.ts +25 -29
  93. package/src/managers/nft.test.ts +14 -0
  94. package/src/managers/nft.ts +70 -0
  95. package/src/managers/players.ts +25 -0
  96. package/src/managers/plot.ts +122 -0
  97. package/src/nft/atomicassets.abi.json +1342 -0
  98. package/src/nft/atomicassets.ts +237 -0
  99. package/src/nft/atomicdata.ts +130 -0
  100. package/src/nft/buildImmutableData.ts +388 -0
  101. package/src/nft/description.ts +215 -99
  102. package/src/nft/index.ts +3 -0
  103. package/src/planner/index.ts +242 -0
  104. package/src/planner/planner.test.ts +334 -0
  105. package/src/resolution/describe-module.ts +43 -25
  106. package/src/resolution/display-name.ts +38 -10
  107. package/src/resolution/resolve-item.test.ts +48 -0
  108. package/src/resolution/resolve-item.ts +112 -58
  109. package/src/scan/index.ts +244 -0
  110. package/src/scan/scan-wasm.base64.ts +2 -0
  111. package/src/scheduling/accessor.ts +65 -23
  112. package/src/scheduling/availability.test.ts +204 -0
  113. package/src/scheduling/availability.ts +211 -0
  114. package/src/scheduling/cancel.test.ts +542 -0
  115. package/src/scheduling/cancel.ts +254 -0
  116. package/src/scheduling/cluster-stock.test.ts +31 -0
  117. package/src/scheduling/cluster-stock.ts +15 -0
  118. package/src/scheduling/energy.ts +47 -0
  119. package/src/scheduling/idle-resolve.ts +45 -0
  120. package/src/scheduling/jobs.ts +71 -0
  121. package/src/scheduling/lane-core.ts +128 -0
  122. package/src/scheduling/lanes.test.ts +250 -0
  123. package/src/scheduling/lanes.ts +227 -0
  124. package/src/scheduling/projection.ts +257 -133
  125. package/src/scheduling/schedule.test.ts +119 -0
  126. package/src/scheduling/schedule.ts +257 -117
  127. package/src/scheduling/task-cargo.test.ts +44 -0
  128. package/src/scheduling/task-cargo.ts +46 -0
  129. package/src/scheduling/unwrap.test.ts +86 -0
  130. package/src/scheduling/unwrap.ts +190 -0
  131. package/src/shipload.ts +26 -1
  132. package/src/subscriptions/manager.cluster.test.ts +51 -0
  133. package/src/subscriptions/manager.ts +245 -172
  134. package/src/subscriptions/mappers.ts +5 -8
  135. package/src/subscriptions/types.ts +28 -3
  136. package/src/testing/catalog-hash.ts +19 -0
  137. package/src/testing/index.ts +2 -0
  138. package/src/testing/projection-parity.ts +167 -0
  139. package/src/travel/reach.ts +21 -0
  140. package/src/travel/route-planner.ts +288 -0
  141. package/src/travel/route-simulator.ts +170 -0
  142. package/src/travel/travel.ts +188 -122
  143. package/src/types/capabilities.ts +37 -8
  144. package/src/types/entity.ts +3 -3
  145. package/src/types/index.ts +0 -1
  146. package/src/types.ts +51 -16
  147. package/src/utils/cargo.test.ts +14 -0
  148. package/src/utils/cargo.ts +29 -0
  149. package/src/utils/display-name.ts +70 -0
  150. package/src/utils/system.ts +15 -16
  151. package/src/capabilities/loading.ts +0 -8
  152. package/src/entities/container.ts +0 -123
  153. package/src/entities/ship-deploy.ts +0 -295
  154. package/src/entities/ship.ts +0 -221
  155. package/src/entities/warehouse.ts +0 -127
  156. package/src/types/entity-traits.ts +0 -69
@@ -10,30 +10,31 @@ export {Types as ServerTypes} from './contracts/server'
10
10
  export {Types as PlatformTypes} from './contracts/platform'
11
11
 
12
12
  import type {ServerContract} from './contracts'
13
+ import type {Entity as EntityType} from './entities/entity'
13
14
 
14
15
  export {Shipload} from './shipload'
15
- export {Ship} from './entities/ship'
16
- export type {ShipStateInput, PackedModuleInput} from './entities/ship'
17
- export {Warehouse, computeWarehouseCapabilities} from './entities/warehouse'
18
- export type {WarehouseStateInput} from './entities/warehouse'
19
- export {Container} from './entities/container'
20
- export type {ContainerStateInput} from './entities/container'
21
- export {makeShip, makeWarehouse, makeContainer} from './entities/makers'
16
+ export {Entity} from './entities/entity'
17
+ export type Ship = EntityType
18
+ export type Warehouse = EntityType
19
+ export type Container = EntityType
20
+ export type Extractor = EntityType
21
+ export type Factory = EntityType
22
+ export type Nexus = EntityType
23
+ export {makeEntity} from './entities/makers'
24
+ export type {EntityStateInput, PackedModuleInput} from './entities/makers'
25
+ export type {InstalledModule} from './entities/slot-multiplier'
22
26
 
23
27
  export type movement_stats = ServerContract.Types.movement_stats
24
28
  export type energy_stats = ServerContract.Types.energy_stats
25
- export type loader_stats = ServerContract.Types.loader_stats
26
29
  export type schedule = ServerContract.Types.schedule
30
+ export type lane = ServerContract.Types.lane
27
31
  export type task = ServerContract.Types.task
32
+ export type coupling = ServerContract.Types.coupling
28
33
  export type cargo_item = ServerContract.Types.cargo_item
29
- export type warehouse_row = ServerContract.Types.warehouse_row
30
- export type container_row = ServerContract.Types.container_row
31
- export type gatherer_stats = ServerContract.Types.gatherer_stats
34
+ export type entity_row = ServerContract.Types.entity_row
32
35
 
33
36
  export type location_static = ServerContract.Types.location_static
34
- export type location_epoch = ServerContract.Types.location_epoch
35
37
  export type location_derived = ServerContract.Types.location_derived
36
- export type location_row = ServerContract.Types.location_row
37
38
  export {Player} from './entities/player'
38
39
  export type {PlayerStateInput} from './entities/player'
39
40
  export {EntityInventory} from './entities/entity-inventory'
@@ -46,9 +47,36 @@ export {
46
47
  LocationsManager,
47
48
  EpochsManager,
48
49
  ActionsManager,
50
+ ClusterManager,
51
+ computeFreeCells,
52
+ NftManager,
53
+ ConstructionManager,
49
54
  } from './managers'
50
- export type {EntityType, LocationStratum} from './managers'
51
- export type {EntityRefInput} from './managers/actions'
55
+ export type {GridCell, ClusterCell, Cluster} from './managers'
56
+ export type {
57
+ PlayerRosterEntry,
58
+ LocationStratum,
59
+ NftConfigForItem,
60
+ BuildableTarget,
61
+ BuildState,
62
+ SourceEntityRef,
63
+ SourceCargoStack,
64
+ FinalizerEntityRef,
65
+ FinalizerCapability,
66
+ InboundTransfer,
67
+ ScheduledBuild,
68
+ Reservation,
69
+ } from './managers'
70
+ export type {
71
+ EntityRefInput,
72
+ LaunchNumericInput,
73
+ LaunchQuote,
74
+ LaunchQuoteCatcher,
75
+ LaunchQuoteLauncher,
76
+ LaunchStatsInput,
77
+ } from './managers/actions'
78
+ export type {WrapDeposit} from './managers/nft'
79
+ export {resolveLockedAmount} from './managers/nft'
52
80
 
53
81
  export {
54
82
  getItem,
@@ -63,18 +91,18 @@ export {
63
91
  categoryLabel,
64
92
  categoryFromIndex,
65
93
  categoryLabelFromIndex,
66
- tierLabel,
67
94
  } from './data/catalog'
68
95
  export {getCurrentEpoch, getEpochInfo} from './scheduling/epoch'
69
96
  export type {EpochInfo} from './scheduling/epoch'
70
97
  export {
71
98
  getSystemName,
72
99
  hasSystem,
100
+ getLocationKind,
73
101
  getLocationType,
74
102
  getLocationTypeName,
75
103
  isGatherableLocation,
104
+ isLocationBuildable,
76
105
  deriveLocationStatic,
77
- deriveLocationEpoch,
78
106
  deriveLocation,
79
107
  } from './utils/system'
80
108
 
@@ -96,6 +124,9 @@ export {
96
124
  DEPTH_THRESHOLD_T5,
97
125
  LOCATION_MIN_DEPTH,
98
126
  LOCATION_MAX_DEPTH,
127
+ yieldThresholdAt,
128
+ YIELD_FRACTION_SHALLOW,
129
+ YIELD_FRACTION_DEEP,
99
130
  PLANET_SUBTYPE_GAS_GIANT,
100
131
  PLANET_SUBTYPE_ROCKY,
101
132
  PLANET_SUBTYPE_TERRESTRIAL,
@@ -106,13 +137,39 @@ export {
106
137
 
107
138
  export type {StratumInfo, ResourceStats, DerivedStratum} from './derivation'
108
139
 
109
- export {RESERVE_TIERS, TIER_ROLL_MAX, rollTier, rollWithinTier} from './derivation'
140
+ export {
141
+ RESERVE_TIERS,
142
+ TIER_ROLL_MAX,
143
+ tierOfReserve,
144
+ rollTier,
145
+ rollWithinTier,
146
+ RESOURCE_TIER_MULT_TENTHS,
147
+ applyResourceTierMultiplier,
148
+ } from './derivation'
110
149
  export type {ReserveTier, TierRange} from './derivation'
111
150
 
151
+ export {getEffectiveReserve} from './derivation'
152
+ export type {EffectiveReserveInput} from './derivation'
153
+
154
+ export {eligibleUpgrades} from './derivation'
155
+
112
156
  export {getStatDefinitions, getStatName, resolveStats} from './derivation'
113
157
  export type {StatDefinition, NamedStats} from './derivation'
114
158
 
159
+ export {
160
+ STAR_STEP,
161
+ MAX_STARS_PER_STAT,
162
+ MAX_STAR_RATING,
163
+ starsForStat,
164
+ starRating,
165
+ statMagnitude,
166
+ compareByStars,
167
+ } from './derivation'
168
+ export type {StarSortable} from './derivation'
169
+
115
170
  export {hash, hash512} from './utils/hash'
171
+ export {validateDisplayName, normalizeDisplayName} from './utils/display-name'
172
+ export type {DisplayNameResult, ValidateDisplayNameOptions} from './utils/display-name'
116
173
 
117
174
  export {
118
175
  distanceBetweenCoordinates,
@@ -121,8 +178,11 @@ export {
121
178
  calc_acceleration,
122
179
  calc_energyusage,
123
180
  calc_flighttime,
181
+ calc_travel_flighttime,
182
+ calc_group_flighttime,
124
183
  calc_loader_acceleration,
125
184
  calc_loader_flighttime,
185
+ calc_onesided_duration,
126
186
  calc_orbital_altitude,
127
187
  calc_rechargetime,
128
188
  calc_ship_acceleration,
@@ -130,6 +190,7 @@ export {
130
190
  calc_ship_mass,
131
191
  calc_ship_rechargetime,
132
192
  calc_transfer_duration,
193
+ calc_transit_duration,
133
194
  calculateFlightTime,
134
195
  calculateLoadTimeBreakdown,
135
196
  calculateRefuelingTime,
@@ -156,8 +217,52 @@ export type {
156
217
  HasScheduleAndLocation,
157
218
  } from './travel/travel'
158
219
 
220
+ export {planRoute, sdkSystemGraph, MAX_LEGS} from './travel/route-planner'
221
+ export type {
222
+ Coord,
223
+ Neighbor,
224
+ SystemGraph,
225
+ ScanProvider,
226
+ RoutePlan,
227
+ RouteFailure,
228
+ RouteResult,
229
+ RouteFailureReason,
230
+ PlanRouteParams,
231
+ RouteLegInput,
232
+ RouteLegCost,
233
+ RouteHeuristicCost,
234
+ } from './travel/route-planner'
235
+
236
+ export {computePerLegReach, computeGroupPerLegReach} from './travel/reach'
237
+ export type {ReachStats} from './travel/reach'
238
+
239
+ export {simulateRoute} from './travel/route-simulator'
240
+ export type {RouteMoverInput, RouteLegSim, RouteSim} from './travel/route-simulator'
241
+
159
242
  export * as schedule from './scheduling/schedule'
160
- export type {Scheduleable, ScheduleData} from './scheduling/schedule'
243
+ export {LANE_MOBILITY, LANE_BARRIER} from './scheduling/schedule'
244
+ export type {
245
+ ScheduleData,
246
+ LaneView,
247
+ OrderedTask,
248
+ ResolvedEvent,
249
+ } from './scheduling/schedule'
250
+ export {
251
+ candidateLaneCompletesAt,
252
+ laneKeyForModule,
253
+ rawScheduleEnd,
254
+ resolveLaneGatherer,
255
+ resolveLaneCrafter,
256
+ resolveLaneBuilder,
257
+ resolveLaneLoader,
258
+ selectGatherLane,
259
+ workerLaneKey,
260
+ } from './scheduling/lanes'
261
+ export type {
262
+ ResolvedGathererLane,
263
+ ResolvedCrafterLane,
264
+ ResolvedLoaderLane,
265
+ } from './scheduling/lanes'
161
266
  export {ScheduleAccessor, createScheduleAccessor} from './scheduling/accessor'
162
267
  export {InventoryAccessor, createInventoryAccessor} from './entities/inventory-accessor'
163
268
  export type {HasCargo} from './entities/inventory-accessor'
@@ -165,36 +270,115 @@ export type {HasCargo} from './entities/inventory-accessor'
165
270
  export * as cargoUtils from './entities/cargo-utils'
166
271
  export type {CargoData} from './entities/cargo-utils'
167
272
 
273
+ export {cargoRef, cargoItem} from './utils/cargo'
274
+
168
275
  export {
169
276
  createProjectedEntity,
170
277
  projectEntity,
171
278
  projectEntityAt,
172
- projectFromCurrentState,
173
- projectFromCurrentStateAt,
279
+ projectRemainingAt,
174
280
  validateSchedule,
175
281
  } from './scheduling/projection'
176
282
  export type {
177
283
  Projectable,
178
- ProjectableSnapshot,
179
284
  ProjectedEntity,
180
285
  ProjectionOptions,
181
286
  } from './scheduling/projection'
182
287
 
288
+ export {taskCargoChanges} from './scheduling/task-cargo'
289
+ export type {TaskCargoChange, TaskCargoDirection} from './scheduling/task-cargo'
290
+
291
+ export {jobsToLanes, pickFabricator, socketTail, JOB_QUEUE_CAP} from './scheduling/jobs'
292
+ export type {JobWindow, JobLane, JobLaneEntry} from './scheduling/jobs'
293
+
294
+ export {composeIdleResolve} from './scheduling/idle-resolve'
295
+ export type {CounterpartLookup, IdleResolveTarget} from './scheduling/idle-resolve'
296
+
297
+ export {cancelEligibility, CancelBlockReason} from './scheduling/cancel'
298
+ export type {
299
+ CancelPlan,
300
+ CancelEffects,
301
+ CancelRefund,
302
+ CancelReleasedHold,
303
+ CancelEligibilityInput,
304
+ } from './scheduling/cancel'
305
+
306
+ export {
307
+ derivedLoaders,
308
+ estimateUnwrapDuration,
309
+ incomingHoldMass,
310
+ projectedPeakCargomass,
311
+ receiveFits,
312
+ unwrapLoadDuration,
313
+ unwrapTransitDuration,
314
+ } from './scheduling/unwrap'
315
+ export type {DerivedLoaders, UnwrapDestination, UnwrapItem} from './scheduling/unwrap'
316
+
317
+ export {
318
+ projectedCargoAvailableAt,
319
+ availableForItem,
320
+ cargoReadyAt,
321
+ taskCargoEffect,
322
+ calcCounterpartDelivery,
323
+ cargoKey,
324
+ cargoInputKey,
325
+ hasSourceCoupling,
326
+ hasIncomingCoupling,
327
+ } from './scheduling/availability'
328
+ export type {CargoInput, IncomingSource} from './scheduling/availability'
329
+
330
+ export {clusterStockAvailable} from './scheduling/cluster-stock'
331
+
332
+ export {calcClusterIntake, calcClustercraftDuration, INTAKE_RATE} from './capabilities/crafting'
333
+
334
+ export {maxCraftable} from './capabilities/craftable'
335
+
336
+ export {energyAtTime} from './scheduling/energy'
337
+
183
338
  export * from './types/capabilities'
184
339
  export * from './types/entity'
340
+ export {
341
+ EntityClass,
342
+ ENTITY_SHIP,
343
+ ENTITY_WAREHOUSE,
344
+ ENTITY_EXTRACTOR,
345
+ ENTITY_FACTORY,
346
+ ENTITY_CONSTRUCTION_DOCK,
347
+ ENTITY_WORKSHOP,
348
+ ENTITY_CONTAINER,
349
+ ENTITY_NEXUS,
350
+ ENTITY_HUB,
351
+ getEntityClass,
352
+ getPackedEntityType,
353
+ getKindMeta,
354
+ getTemplateMeta,
355
+ kindCan,
356
+ ALL_ENTITY_TYPES,
357
+ CAP_WRAP,
358
+ CAP_UNDEPLOY,
359
+ CAP_DEMOLISH,
360
+ CAP_MODULES,
361
+ isShip,
362
+ isWarehouse,
363
+ isExtractor,
364
+ isFactory,
365
+ isConstructionDock,
366
+ isWorkshop,
367
+ isContainer,
368
+ isNexus,
369
+ isPlot,
370
+ isHub,
371
+ } from './data/kind-registry'
372
+ export type {EntityTypeName, KindMeta, TemplateMeta} from './data/kind-registry'
185
373
  export * from './capabilities'
186
374
 
187
375
  export {
188
376
  categoryColors,
189
377
  tierColors,
190
- tierLabels,
191
- categoryIcons,
192
- categoryIconShapes,
193
378
  componentIcon,
194
379
  moduleIcon,
195
380
  itemAbbreviations,
196
381
  } from './data/colors'
197
- export type {CategoryIconShape} from './data/colors'
198
382
 
199
383
  export {itemTier, itemOffset, itemCategory, isRelatedItem, isCraftedItem} from './data/tiers'
200
384
  export type {CraftedItemCategory} from './data/tiers'
@@ -211,16 +395,26 @@ export {
211
395
  isInvertedAttribute,
212
396
  getCapabilityAttributes,
213
397
  } from './data/capabilities'
214
- export type {CapabilityAttribute, StatMapping} from './data/capabilities'
398
+ export type {CapabilityAttribute, StatMapping, CapabilityAttributeRow} from './data/capabilities'
215
399
 
216
400
  export {
217
401
  deriveStatMappings,
218
402
  getStatMappings,
219
403
  getStatMappingsForStat,
220
404
  getStatMappingsForCapability,
405
+ getProducersForAttribute,
406
+ getCapabilityAttributeRows,
407
+ sourceLabelForOutput,
221
408
  } from './derivation/capability-mappings'
222
409
  export {SLOT_FORMULAS} from './data/capability-formulas'
223
410
  export type {SlotConsumer, SlotConsumerKind} from './data/capability-formulas'
411
+ export {
412
+ getAllRecipes,
413
+ getRecipeConsumers,
414
+ getComponentDemand,
415
+ getResourceDemand,
416
+ } from './derivation/recipe-usage'
417
+ export type {StatFlow, RecipeConsumer, DemandRow, ResourceDemand} from './derivation/recipe-usage'
224
418
 
225
419
  export {
226
420
  encodeStats,
@@ -228,6 +422,7 @@ export {
228
422
  decodeStat,
229
423
  decodeStats,
230
424
  decodeCraftedItemStats,
425
+ usedInputStatKeys,
231
426
  blendStacks,
232
427
  computeComponentStats,
233
428
  blendComponentStacks,
@@ -239,7 +434,15 @@ export {
239
434
  } from './derivation/crafting'
240
435
  export type {StackInput, CategoryStacks, RecipeSlotInput} from './derivation/crafting'
241
436
 
242
- export {computeContainerCapabilities, computeContainerT2Capabilities} from './entities/container'
437
+ export {
438
+ availableBuildMethods,
439
+ isBuildable,
440
+ isPlotBuildable,
441
+ filterByBuildMethod,
442
+ allBuildableItems,
443
+ allPlotBuildableItems,
444
+ } from './derivation/build-methods'
445
+ export type {BuildMethod} from './derivation/build-methods'
243
446
 
244
447
  export {
245
448
  computeShipHullCapabilities,
@@ -249,14 +452,44 @@ export {
249
452
  computeHaulerCapabilities,
250
453
  computeLoaderCapabilities,
251
454
  computeCrafterCapabilities,
455
+ computeBuilderCapabilities,
252
456
  computeWarehouseHullCapabilities,
253
457
  computeStorageCapabilities,
254
- computeShipCapabilities,
458
+ computeBatteryCapabilities,
459
+ computeContainerCapabilities,
460
+ computeWarpCapabilities,
461
+ computeLauncherCapabilities,
462
+ computeBaseCapacity,
463
+ computeEntityCapabilities,
464
+ getBaseHullmassFor,
465
+ DEFAULT_BASE_HULLMASS,
466
+ CAPACITY_TIER_TABLE,
467
+ capacityTierMultiplier,
468
+ applyCapacityTier,
255
469
  GATHERER_DEPTH_TABLE,
256
470
  GATHERER_DEPTH_MAX_TIER,
257
471
  gathererDepthForTier,
258
- } from './entities/ship-deploy'
259
- export type {ShipCapabilities, GathererDepthParams} from './entities/ship-deploy'
472
+ computeGathererYield,
473
+ } from './derivation/capabilities'
474
+ export type {
475
+ GathererDepthParams,
476
+ ComputedCapabilities,
477
+ TravelDrainBreakdown,
478
+ } from './derivation/capabilities'
479
+
480
+ export {
481
+ WH,
482
+ feistel,
483
+ feistelInv,
484
+ regionOf,
485
+ partnerRegion,
486
+ nearbyWormholes,
487
+ wormholeAt,
488
+ wormholeAtRegionEndpoint,
489
+ isValidWormholePair,
490
+ } from './derivation/wormhole'
491
+
492
+ export {rollupGatherer, rollupCrafter, rollupBuilder, rollupLoaders} from './derivation/rollups'
260
493
 
261
494
  export {resolveItem} from './resolution/resolve-item'
262
495
  export type {
@@ -296,6 +529,44 @@ export type {
296
529
  NFTCommonBase,
297
530
  } from './nft/deserializers'
298
531
 
532
+ export {deserializeAtomicData} from './nft/atomicdata'
533
+ export type {SchemaField, RawData} from './nft/atomicdata'
534
+
535
+ export {
536
+ buildImmutableData,
537
+ buildResourceImmutable,
538
+ buildComponentImmutable,
539
+ buildModuleImmutable,
540
+ buildEntityImmutable,
541
+ computeNftImageUrl,
542
+ } from './nft/buildImmutableData'
543
+ export type {
544
+ AtomicAttributeType,
545
+ ImmutableEntry,
546
+ ImmutableModuleSlot,
547
+ } from './nft/buildImmutableData'
548
+
549
+ export {
550
+ fetchAtomicAssetsForOwner,
551
+ fetchAtomicSchemas,
552
+ decodeAtomicAsset,
553
+ buildMintAssetAction,
554
+ ATOMICASSETS_ACCOUNT,
555
+ SHIPLOAD_COLLECTION,
556
+ } from './nft/atomicassets'
557
+ export {
558
+ MODULE_STAT_SCALING_ANCHOR,
559
+ MODULE_STAT_SCALING_POST_ANCHOR_PERCENT,
560
+ computeEffectiveModuleStat,
561
+ } from './derivation/stat-scaling'
562
+ export type {
563
+ AtomicAssetRow,
564
+ AtomicSchemaRow,
565
+ DecodedAtomicAsset,
566
+ FetchAssetsOptions,
567
+ MintAssetParams,
568
+ } from './nft/atomicassets'
569
+
299
570
  export {
300
571
  buildEntityDescription,
301
572
  formatModuleLine,
@@ -304,18 +575,25 @@ export {
304
575
  computeBaseHullmass,
305
576
  computeBaseCapacityShip,
306
577
  computeBaseCapacityWarehouse,
578
+ computeBaseCapacityContainer,
307
579
  computeEngineThrust,
308
580
  computeEngineDrain,
581
+ computeTravelDrain,
582
+ ENGINE_DRAIN_BASE,
583
+ ENGINE_DRAIN_REF_THRUST,
584
+ ENGINE_DRAIN_REF_THM,
309
585
  computeGeneratorCap,
310
586
  computeGeneratorRech,
311
- computeGathererYield,
312
587
  computeGathererDrain,
313
588
  computeGathererDepth,
314
- computeGathererSpeed,
315
589
  computeLoaderMass,
316
590
  computeLoaderThrust,
317
591
  computeCrafterSpeed,
318
592
  computeCrafterDrain,
593
+ computeBuilderSpeed,
594
+ computeBuilderDrain,
595
+ computeHaulerCapacity,
596
+ computeHaulerEfficiency,
319
597
  computeWarpRange,
320
598
  } from './nft/description'
321
599
 
@@ -327,9 +605,29 @@ export {
327
605
  itemTypeCode,
328
606
  } from './data/tiers'
329
607
 
330
- export {formatMass, formatMassDelta} from './format'
608
+ export {formatMass, formatMassDelta, formatMassScaled, formatLocation} from './format'
609
+ export * from './coordinates'
331
610
 
332
- export {displayName, describeItem} from './resolution/display-name'
611
+ export {displayName, baseName, describeItem} from './resolution/display-name'
333
612
  export type {DescribeOptions} from './resolution/display-name'
334
613
 
335
614
  export * from './subscriptions'
615
+
616
+ export {
617
+ allocateProportional,
618
+ buildGatherPlan,
619
+ gatherEnergyCost,
620
+ maxQtyForCharge,
621
+ planParallelTransfer,
622
+ splitCost,
623
+ } from './planner'
624
+ export type {
625
+ BuildGatherPlanOpts,
626
+ FillCap,
627
+ GatherCycle,
628
+ GatherLimpet,
629
+ GatherPlan,
630
+ GatherPlanEntity,
631
+ LanePlanEntry,
632
+ PlanTarget,
633
+ } from './planner'