@shipload/sdk 1.0.0-next.7 → 1.0.0-next.70

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 (203) 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 +5696 -1503
  7. package/lib/shipload.js +20294 -5200
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +20371 -5683
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +1648 -0
  12. package/lib/testing.js +6980 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +6974 -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 +80 -0
  20. package/src/capabilities/crafting.ts +50 -8
  21. package/src/capabilities/gathering.test.ts +29 -0
  22. package/src/capabilities/gathering.ts +38 -20
  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.test.ts +26 -0
  28. package/src/capabilities/storage.ts +22 -7
  29. package/src/contracts/fund.ts +306 -0
  30. package/src/contracts/platform.ts +312 -3
  31. package/src/contracts/server.ts +2661 -466
  32. package/src/contracts/token.ts +170 -0
  33. package/src/contracts.ts +2 -0
  34. package/src/coordinates/address.ts +88 -0
  35. package/src/coordinates/constants.test.ts +15 -0
  36. package/src/coordinates/constants.ts +23 -0
  37. package/src/coordinates/index.ts +15 -0
  38. package/src/coordinates/memo.test.ts +47 -0
  39. package/src/coordinates/memo.ts +20 -0
  40. package/src/coordinates/permutation.ts +77 -0
  41. package/src/coordinates/regions.ts +48 -0
  42. package/src/coordinates/sectors.ts +115 -0
  43. package/src/data/capabilities.ts +49 -18
  44. package/src/data/capability-formulas.ts +26 -14
  45. package/src/data/catalog.test.ts +19 -0
  46. package/src/data/catalog.ts +13 -3
  47. package/src/data/charters.json +396 -0
  48. package/src/data/citizenry-adjectives.json +42 -0
  49. package/src/data/citizenry-nouns.json +50 -0
  50. package/src/data/colors.ts +14 -32
  51. package/src/data/entities.json +421 -15
  52. package/src/data/item-ids.ts +53 -13
  53. package/src/data/items.json +330 -77
  54. package/src/data/kind-registry.json +212 -0
  55. package/src/data/kind-registry.ts +192 -0
  56. package/src/data/metadata.ts +312 -51
  57. package/src/data/recipes-runtime.ts +6 -23
  58. package/src/data/recipes.json +2173 -173
  59. package/src/data/tiers.ts +9 -6
  60. package/src/derivation/build-methods.test.ts +71 -0
  61. package/src/derivation/build-methods.ts +50 -0
  62. package/src/derivation/capabilities.test.ts +348 -0
  63. package/src/derivation/capabilities.ts +707 -0
  64. package/src/derivation/capability-mappings.ts +60 -16
  65. package/src/derivation/crafting.test.ts +17 -0
  66. package/src/derivation/crafting.ts +57 -34
  67. package/src/derivation/index.ts +27 -2
  68. package/src/derivation/recipe-usage.test.ts +88 -0
  69. package/src/derivation/recipe-usage.ts +141 -0
  70. package/src/derivation/reserve-regen.ts +34 -0
  71. package/src/derivation/resources.ts +9 -1
  72. package/src/derivation/rollups.test.ts +55 -0
  73. package/src/derivation/rollups.ts +72 -0
  74. package/src/derivation/stars.test.ts +67 -0
  75. package/src/derivation/stars.ts +25 -0
  76. package/src/derivation/stat-scaling.ts +12 -0
  77. package/src/derivation/stats.ts +6 -6
  78. package/src/derivation/strata.ts +5 -3
  79. package/src/derivation/stratum.ts +26 -22
  80. package/src/derivation/tiers.ts +40 -7
  81. package/src/derivation/upgrades.ts +14 -0
  82. package/src/derivation/wormhole.ts +154 -0
  83. package/src/entities/entity.ts +102 -0
  84. package/src/entities/gamestate.ts +3 -28
  85. package/src/entities/makers.ts +144 -136
  86. package/src/entities/slot-multiplier.ts +43 -0
  87. package/src/entity/hydrate.test.ts +156 -0
  88. package/src/entity/hydrate.ts +86 -0
  89. package/src/errors.ts +21 -16
  90. package/src/format.ts +42 -9
  91. package/src/index-module.ts +411 -32
  92. package/src/influence/ballot.test.ts +103 -0
  93. package/src/influence/ballot.ts +98 -0
  94. package/src/influence/categories.ts +32 -0
  95. package/src/influence/charter-metadata.test.ts +136 -0
  96. package/src/influence/charter-metadata.ts +236 -0
  97. package/src/influence/charters.test.ts +112 -0
  98. package/src/influence/charters.ts +150 -0
  99. package/src/influence/citizenry.ts +38 -0
  100. package/src/influence/civic-shuttle.test.ts +202 -0
  101. package/src/influence/civic-shuttle.ts +142 -0
  102. package/src/influence/civic.test.ts +287 -0
  103. package/src/influence/civic.ts +269 -0
  104. package/src/influence/constants.ts +84 -0
  105. package/src/influence/decay.ts +20 -0
  106. package/src/influence/decomp.ts +95 -0
  107. package/src/influence/demand.ts +106 -0
  108. package/src/influence/duration.ts +101 -0
  109. package/src/influence/index.ts +118 -0
  110. package/src/influence/influence.test.ts +450 -0
  111. package/src/influence/quality.ts +25 -0
  112. package/src/influence/valuation.ts +154 -0
  113. package/src/managers/actions.ts +940 -93
  114. package/src/managers/balances.test.ts +161 -0
  115. package/src/managers/balances.ts +93 -0
  116. package/src/managers/base.ts +10 -2
  117. package/src/managers/cluster.test.ts +39 -0
  118. package/src/managers/cluster.ts +53 -0
  119. package/src/managers/construction-types.ts +80 -0
  120. package/src/managers/construction.ts +453 -0
  121. package/src/managers/context.ts +58 -1
  122. package/src/managers/coordinates.ts +14 -0
  123. package/src/managers/entities.ts +35 -63
  124. package/src/managers/epochs.ts +72 -1
  125. package/src/managers/index.ts +38 -1
  126. package/src/managers/influence.test.ts +56 -0
  127. package/src/managers/influence.ts +425 -0
  128. package/src/managers/jobs.test.ts +80 -0
  129. package/src/managers/jobs.ts +54 -0
  130. package/src/managers/locations.ts +25 -29
  131. package/src/managers/nft.test.ts +21 -0
  132. package/src/managers/nft.ts +110 -0
  133. package/src/managers/players.ts +25 -0
  134. package/src/managers/plot.ts +122 -0
  135. package/src/nft/atomicassets.abi.json +1342 -0
  136. package/src/nft/atomicassets.ts +237 -0
  137. package/src/nft/atomicdata.ts +130 -0
  138. package/src/nft/buildImmutableData.ts +388 -0
  139. package/src/nft/description.ts +222 -100
  140. package/src/nft/index.ts +3 -0
  141. package/src/planner/index.ts +296 -0
  142. package/src/planner/planner.test.ts +459 -0
  143. package/src/receipts.ts +22 -0
  144. package/src/resolution/describe-module.ts +43 -25
  145. package/src/resolution/display-name.ts +39 -11
  146. package/src/resolution/resolve-item.test.ts +48 -0
  147. package/src/resolution/resolve-item.ts +112 -58
  148. package/src/scan/index.ts +244 -0
  149. package/src/scan/scan-wasm.base64.ts +2 -0
  150. package/src/scheduling/accessor.ts +65 -23
  151. package/src/scheduling/availability.test.ts +320 -0
  152. package/src/scheduling/availability.ts +251 -0
  153. package/src/scheduling/cancel.test.ts +550 -0
  154. package/src/scheduling/cancel.ts +254 -0
  155. package/src/scheduling/cluster-stock.test.ts +31 -0
  156. package/src/scheduling/cluster-stock.ts +15 -0
  157. package/src/scheduling/energy.ts +47 -0
  158. package/src/scheduling/epoch.ts +1 -0
  159. package/src/scheduling/idle-resolve.ts +45 -0
  160. package/src/scheduling/jobs.test.ts +49 -0
  161. package/src/scheduling/jobs.ts +137 -0
  162. package/src/scheduling/lane-core.ts +128 -0
  163. package/src/scheduling/lanes.test.ts +250 -0
  164. package/src/scheduling/lanes.ts +227 -0
  165. package/src/scheduling/projection.ts +265 -149
  166. package/src/scheduling/schedule.test.ts +163 -0
  167. package/src/scheduling/schedule.ts +282 -116
  168. package/src/scheduling/task-cargo.test.ts +110 -0
  169. package/src/scheduling/task-cargo.ts +62 -0
  170. package/src/scheduling/task-effects.test.ts +35 -0
  171. package/src/scheduling/task-effects.ts +34 -0
  172. package/src/scheduling/unwrap.test.ts +86 -0
  173. package/src/scheduling/unwrap.ts +190 -0
  174. package/src/shipload.ts +63 -4
  175. package/src/subscriptions/manager.cluster.test.ts +51 -0
  176. package/src/subscriptions/manager.ts +245 -172
  177. package/src/subscriptions/mappers.ts +5 -8
  178. package/src/subscriptions/types.ts +28 -3
  179. package/src/testing/catalog-hash.ts +19 -0
  180. package/src/testing/index.ts +2 -0
  181. package/src/testing/projection-parity.ts +167 -0
  182. package/src/travel/reach.test.ts +86 -0
  183. package/src/travel/reach.ts +34 -0
  184. package/src/travel/route-build.test.ts +63 -0
  185. package/src/travel/route-build.ts +60 -0
  186. package/src/travel/route-planner.ts +288 -0
  187. package/src/travel/route-simulator.ts +170 -0
  188. package/src/travel/travel.ts +190 -123
  189. package/src/types/capabilities.ts +37 -8
  190. package/src/types/entity.ts +3 -3
  191. package/src/types/index.ts +0 -1
  192. package/src/types.ts +81 -23
  193. package/src/utils/cargo.test.ts +14 -0
  194. package/src/utils/cargo.ts +2 -0
  195. package/src/utils/display-name.ts +70 -0
  196. package/src/utils/hash.ts +22 -2
  197. package/src/utils/system.ts +24 -5
  198. package/src/capabilities/loading.ts +0 -8
  199. package/src/entities/container.ts +0 -123
  200. package/src/entities/ship-deploy.ts +0 -295
  201. package/src/entities/ship.ts +0 -221
  202. package/src/entities/warehouse.ts +0 -127
  203. package/src/types/entity-traits.ts +0 -69
@@ -8,31 +8,43 @@ export * from './data/recipes-runtime'
8
8
  // Preserves both value and type sides through rollup-plugin-dts bundling.
9
9
  export {Types as ServerTypes} from './contracts/server'
10
10
  export {Types as PlatformTypes} from './contracts/platform'
11
+ export {Types as FundTypes} from './contracts/fund'
11
12
 
12
13
  import type {ServerContract} from './contracts'
14
+ import type {Entity as EntityType} from './entities/entity'
13
15
 
14
16
  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'
17
+ export {Entity} from './entities/entity'
18
+ export type Ship = EntityType
19
+ export type Warehouse = EntityType
20
+ export type Container = EntityType
21
+ export type Extractor = EntityType
22
+ export type Factory = EntityType
23
+ export type Nexus = EntityType
24
+ export {makeEntity} from './entities/makers'
25
+ export type {EntityStateInput, PackedModuleInput} from './entities/makers'
26
+ export type {InstalledModule} from './entities/slot-multiplier'
22
27
 
23
28
  export type movement_stats = ServerContract.Types.movement_stats
24
29
  export type energy_stats = ServerContract.Types.energy_stats
25
- export type loader_stats = ServerContract.Types.loader_stats
26
30
  export type schedule = ServerContract.Types.schedule
31
+ export type lane = ServerContract.Types.lane
27
32
  export type task = ServerContract.Types.task
33
+ export type coupling = ServerContract.Types.coupling
28
34
  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
35
+ export type entity_row = ServerContract.Types.entity_row
36
+ export type craftjob_row = ServerContract.Types.craftjob_row
37
+ export type buildjob_row = ServerContract.Types.buildjob_row
38
+ export type booking_receipt = ServerContract.Types.booking_receipt
39
+ export {
40
+ decodeBookingReceipt,
41
+ bookingReceiptLandsAtMs,
42
+ bookingReceiptRuntimeSeconds,
43
+ } from './receipts'
44
+ export type {BookingReceipt} from './receipts'
32
45
 
33
46
  export type location_static = ServerContract.Types.location_static
34
47
  export type location_derived = ServerContract.Types.location_derived
35
- export type location_row = ServerContract.Types.location_row
36
48
  export {Player} from './entities/player'
37
49
  export type {PlayerStateInput} from './entities/player'
38
50
  export {EntityInventory} from './entities/entity-inventory'
@@ -45,19 +57,68 @@ export {
45
57
  LocationsManager,
46
58
  EpochsManager,
47
59
  ActionsManager,
60
+ ClusterManager,
61
+ computeFreeCells,
62
+ NftManager,
63
+ BalancesManager,
64
+ ConstructionManager,
65
+ JobsManager,
66
+ InfluenceManager,
67
+ } from './managers'
68
+ export type {GridCell, ClusterCell, Cluster} from './managers'
69
+ export type {
70
+ CharterProgress,
71
+ ContributePreview,
72
+ ContributePreviewRow,
73
+ FoundedWorld,
74
+ FoundedWorldRef,
75
+ InfluenceStanding,
76
+ Ballot,
77
+ BallotVote,
78
+ NodeProgress,
79
+ QueuedSeat,
80
+ VoteOption,
81
+ VoteStandings,
82
+ PlayerRosterEntry,
83
+ LocationStratum,
84
+ NftConfigForItem,
85
+ WrapConfig,
86
+ WrapGate,
87
+ DepositConfig,
88
+ PlatformBalance,
89
+ TokenBalance,
90
+ BuildableTarget,
91
+ BuildState,
92
+ SourceEntityRef,
93
+ SourceCargoStack,
94
+ FinalizerEntityRef,
95
+ FinalizerCapability,
96
+ InboundTransfer,
97
+ ScheduledBuild,
98
+ Reservation,
48
99
  } from './managers'
49
- export type {EntityType, LocationStratum} from './managers'
50
- export type {EntityRefInput} from './managers/actions'
100
+ export type {
101
+ EntityRefInput,
102
+ LaunchNumericInput,
103
+ LaunchQuote,
104
+ LaunchQuoteCatcher,
105
+ LaunchQuoteLauncher,
106
+ LaunchStatsInput,
107
+ } from './managers/actions'
108
+ export type {WrapDeposit} from './managers/nft'
109
+ export {resolveLockedAmount, wrapCostKey} from './managers/nft'
51
110
 
52
111
  export {
53
112
  getItem,
54
113
  getItems,
114
+ tryGetItem,
55
115
  itemIds,
56
116
  getResources,
57
117
  getComponents,
58
118
  getModules,
59
119
  getEntityItems,
60
120
  resolveItemCategory,
121
+ itemTypeIndex,
61
122
  typeLabel,
62
123
  categoryLabel,
63
124
  categoryFromIndex,
@@ -68,9 +129,11 @@ export type {EpochInfo} from './scheduling/epoch'
68
129
  export {
69
130
  getSystemName,
70
131
  hasSystem,
132
+ getLocationKind,
71
133
  getLocationType,
72
134
  getLocationTypeName,
73
135
  isGatherableLocation,
136
+ isLocationBuildable,
74
137
  deriveLocationStatic,
75
138
  deriveLocation,
76
139
  } from './utils/system'
@@ -93,6 +156,9 @@ export {
93
156
  DEPTH_THRESHOLD_T5,
94
157
  LOCATION_MIN_DEPTH,
95
158
  LOCATION_MAX_DEPTH,
159
+ yieldThresholdAt,
160
+ YIELD_FRACTION_SHALLOW,
161
+ YIELD_FRACTION_DEEP,
96
162
  PLANET_SUBTYPE_GAS_GIANT,
97
163
  PLANET_SUBTYPE_ROCKY,
98
164
  PLANET_SUBTYPE_TERRESTRIAL,
@@ -103,13 +169,39 @@ export {
103
169
 
104
170
  export type {StratumInfo, ResourceStats, DerivedStratum} from './derivation'
105
171
 
106
- export {RESERVE_TIERS, TIER_ROLL_MAX, rollTier, rollWithinTier} from './derivation'
172
+ export {
173
+ RESERVE_TIERS,
174
+ TIER_ROLL_MAX,
175
+ tierOfReserve,
176
+ rollTier,
177
+ rollWithinTier,
178
+ RESOURCE_TIER_MULT_TENTHS,
179
+ applyResourceTierMultiplier,
180
+ } from './derivation'
107
181
  export type {ReserveTier, TierRange} from './derivation'
108
182
 
183
+ export {getEffectiveReserve} from './derivation'
184
+ export type {EffectiveReserveInput} from './derivation'
185
+
186
+ export {eligibleUpgrades} from './derivation'
187
+
109
188
  export {getStatDefinitions, getStatName, resolveStats} from './derivation'
110
189
  export type {StatDefinition, NamedStats} from './derivation'
111
190
 
191
+ export {
192
+ STAR_STEP,
193
+ MAX_STARS_PER_STAT,
194
+ MAX_STAR_RATING,
195
+ starsForStat,
196
+ starRating,
197
+ statMagnitude,
198
+ compareByStars,
199
+ } from './derivation'
200
+ export type {StarSortable} from './derivation'
201
+
112
202
  export {hash, hash512} from './utils/hash'
203
+ export {validateDisplayName, normalizeDisplayName} from './utils/display-name'
204
+ export type {DisplayNameResult, ValidateDisplayNameOptions} from './utils/display-name'
113
205
 
114
206
  export {
115
207
  distanceBetweenCoordinates,
@@ -118,8 +210,11 @@ export {
118
210
  calc_acceleration,
119
211
  calc_energyusage,
120
212
  calc_flighttime,
213
+ calc_travel_flighttime,
214
+ calc_group_flighttime,
121
215
  calc_loader_acceleration,
122
216
  calc_loader_flighttime,
217
+ calc_onesided_duration,
123
218
  calc_orbital_altitude,
124
219
  calc_rechargetime,
125
220
  calc_ship_acceleration,
@@ -127,6 +222,7 @@ export {
127
222
  calc_ship_mass,
128
223
  calc_ship_rechargetime,
129
224
  calc_transfer_duration,
225
+ calc_transit_duration,
130
226
  calculateFlightTime,
131
227
  calculateLoadTimeBreakdown,
132
228
  calculateRefuelingTime,
@@ -153,8 +249,60 @@ export type {
153
249
  HasScheduleAndLocation,
154
250
  } from './travel/travel'
155
251
 
252
+ export {planRoute, sdkSystemGraph, MAX_LEGS} from './travel/route-planner'
253
+ export type {
254
+ Coord,
255
+ Neighbor,
256
+ SystemGraph,
257
+ ScanProvider,
258
+ RoutePlan,
259
+ RouteFailure,
260
+ RouteResult,
261
+ RouteFailureReason,
262
+ PlanRouteParams,
263
+ RouteLegInput,
264
+ RouteLegCost,
265
+ RouteHeuristicCost,
266
+ } from './travel/route-planner'
267
+
268
+ export {computePerLegReach, computeGroupPerLegReach} from './travel/reach'
269
+ export type {ReachStats} from './travel/reach'
270
+
271
+ export {simulateRoute} from './travel/route-simulator'
272
+ export type {RouteMoverInput, RouteLegSim, RouteSim} from './travel/route-simulator'
273
+
274
+ export {
275
+ planRouteWithRetry,
276
+ contractRouteLegCost,
277
+ contractRouteHeuristic,
278
+ } from './travel/route-build'
279
+
156
280
  export * as schedule from './scheduling/schedule'
157
- export type {Scheduleable, ScheduleData} from './scheduling/schedule'
281
+ export {LANE_MOBILITY, LANE_BARRIER} from './scheduling/schedule'
282
+ export {appliedTaskCount, unappliedTasks} from './scheduling/schedule'
283
+ export type {
284
+ AnchoredScheduleData,
285
+ ScheduleData,
286
+ LaneView,
287
+ OrderedTask,
288
+ ResolvedEvent,
289
+ } from './scheduling/schedule'
290
+ export {
291
+ candidateLaneCompletesAt,
292
+ laneKeyForModule,
293
+ rawScheduleEnd,
294
+ resolveLaneGatherer,
295
+ resolveLaneCrafter,
296
+ resolveLaneBuilder,
297
+ resolveLaneLoader,
298
+ selectGatherLane,
299
+ workerLaneKey,
300
+ } from './scheduling/lanes'
301
+ export type {
302
+ ResolvedGathererLane,
303
+ ResolvedCrafterLane,
304
+ ResolvedLoaderLane,
305
+ } from './scheduling/lanes'
158
306
  export {ScheduleAccessor, createScheduleAccessor} from './scheduling/accessor'
159
307
  export {InventoryAccessor, createInventoryAccessor} from './entities/inventory-accessor'
160
308
  export type {HasCargo} from './entities/inventory-accessor'
@@ -168,31 +316,125 @@ export {
168
316
  createProjectedEntity,
169
317
  projectEntity,
170
318
  projectEntityAt,
171
- projectFromCurrentState,
172
- projectFromCurrentStateAt,
319
+ projectRemainingAt,
173
320
  validateSchedule,
174
321
  } from './scheduling/projection'
175
322
  export type {
176
323
  Projectable,
177
- ProjectableSnapshot,
178
324
  ProjectedEntity,
179
325
  ProjectionOptions,
180
326
  } from './scheduling/projection'
181
327
 
328
+ export {taskCargoChanges, taskCargoChangesChecked} from './scheduling/task-cargo'
329
+ export type {TaskCargoChange, TaskCargoDirection, TaskCargoResult} from './scheduling/task-cargo'
330
+
331
+ export {
332
+ jobsToLanes,
333
+ pickFabricator,
334
+ socketTail,
335
+ JOB_QUEUE_CAP,
336
+ jobStatus,
337
+ jobStatusLabel,
338
+ jobDeposited,
339
+ splitJobCargo,
340
+ } from './scheduling/jobs'
341
+ export type {JobWindow, JobLane, JobLaneEntry, JobStatus, OwnedJob} from './scheduling/jobs'
342
+
343
+ export {composeIdleResolve} from './scheduling/idle-resolve'
344
+ export type {CounterpartLookup, IdleResolveTarget} from './scheduling/idle-resolve'
345
+
346
+ export {cancelEligibility, CancelBlockReason} from './scheduling/cancel'
347
+ export type {
348
+ CancelPlan,
349
+ CancelEffects,
350
+ CancelRefund,
351
+ CancelReleasedHold,
352
+ CancelEligibilityInput,
353
+ } from './scheduling/cancel'
354
+
355
+ export {
356
+ derivedLoaders,
357
+ estimateUnwrapDuration,
358
+ incomingHoldMass,
359
+ projectedPeakCargomass,
360
+ receiveFits,
361
+ unwrapLoadDuration,
362
+ unwrapTransitDuration,
363
+ } from './scheduling/unwrap'
364
+ export type {DerivedLoaders, UnwrapDestination, UnwrapItem} from './scheduling/unwrap'
365
+
366
+ export {
367
+ projectedCargoAvailableAt,
368
+ availableForItem,
369
+ cargoReadyAt,
370
+ taskCargoEffect,
371
+ calcCounterpartDelivery,
372
+ incomingSources,
373
+ cargoKey,
374
+ cargoInputKey,
375
+ hasSourceCoupling,
376
+ hasIncomingCoupling,
377
+ } from './scheduling/availability'
378
+ export type {CargoInput, IncomingHoldEntity, IncomingSource} from './scheduling/availability'
379
+
380
+ export {clusterStockAvailable} from './scheduling/cluster-stock'
381
+
382
+ export {calcClusterIntake, calcClustercraftDuration, INTAKE_RATE} from './capabilities/crafting'
383
+
384
+ export {maxCraftable} from './capabilities/craftable'
385
+
386
+ export {energyAtTime} from './scheduling/energy'
387
+
182
388
  export * from './types/capabilities'
183
389
  export * from './types/entity'
390
+ export {
391
+ EntityClass,
392
+ ENTITY_SHIP,
393
+ ENTITY_WAREHOUSE,
394
+ ENTITY_EXTRACTOR,
395
+ ENTITY_FACTORY,
396
+ ENTITY_CONSTRUCTION_DOCK,
397
+ ENTITY_WORKSHOP,
398
+ ENTITY_CONTAINER,
399
+ ENTITY_NEXUS,
400
+ ENTITY_HUB,
401
+ ENTITY_DEPOT,
402
+ getEntityClass,
403
+ getPackedEntityType,
404
+ getKindMeta,
405
+ getTemplateMeta,
406
+ kindCan,
407
+ ALL_ENTITY_TYPES,
408
+ CAP_WRAP,
409
+ CAP_UNDEPLOY,
410
+ CAP_DEMOLISH,
411
+ CAP_MODULES,
412
+ CAP_CATCH,
413
+ CAP_STORE_CARGO,
414
+ canCatch,
415
+ canStoreCargo,
416
+ isShip,
417
+ isWarehouse,
418
+ isExtractor,
419
+ isFactory,
420
+ isConstructionDock,
421
+ isWorkshop,
422
+ isContainer,
423
+ isNexus,
424
+ isPlot,
425
+ isHub,
426
+ isDepot,
427
+ } from './data/kind-registry'
428
+ export type {EntityTypeName, KindMeta, TemplateMeta} from './data/kind-registry'
184
429
  export * from './capabilities'
185
430
 
186
431
  export {
187
432
  categoryColors,
188
433
  tierColors,
189
- categoryIcons,
190
- categoryIconShapes,
191
434
  componentIcon,
192
435
  moduleIcon,
193
436
  itemAbbreviations,
194
437
  } from './data/colors'
195
- export type {CategoryIconShape} from './data/colors'
196
438
 
197
439
  export {itemTier, itemOffset, itemCategory, isRelatedItem, isCraftedItem} from './data/tiers'
198
440
  export type {CraftedItemCategory} from './data/tiers'
@@ -209,16 +451,26 @@ export {
209
451
  isInvertedAttribute,
210
452
  getCapabilityAttributes,
211
453
  } from './data/capabilities'
212
- export type {CapabilityAttribute, StatMapping} from './data/capabilities'
454
+ export type {CapabilityAttribute, StatMapping, CapabilityAttributeRow} from './data/capabilities'
213
455
 
214
456
  export {
215
457
  deriveStatMappings,
216
458
  getStatMappings,
217
459
  getStatMappingsForStat,
218
460
  getStatMappingsForCapability,
461
+ getProducersForAttribute,
462
+ getCapabilityAttributeRows,
463
+ sourceLabelForOutput,
219
464
  } from './derivation/capability-mappings'
220
465
  export {SLOT_FORMULAS} from './data/capability-formulas'
221
466
  export type {SlotConsumer, SlotConsumerKind} from './data/capability-formulas'
467
+ export {
468
+ getAllRecipes,
469
+ getRecipeConsumers,
470
+ getComponentDemand,
471
+ getResourceDemand,
472
+ } from './derivation/recipe-usage'
473
+ export type {StatFlow, RecipeConsumer, DemandRow, ResourceDemand} from './derivation/recipe-usage'
222
474
 
223
475
  export {
224
476
  encodeStats,
@@ -226,6 +478,7 @@ export {
226
478
  decodeStat,
227
479
  decodeStats,
228
480
  decodeCraftedItemStats,
481
+ usedInputStatKeys,
229
482
  blendStacks,
230
483
  computeComponentStats,
231
484
  blendComponentStacks,
@@ -237,7 +490,15 @@ export {
237
490
  } from './derivation/crafting'
238
491
  export type {StackInput, CategoryStacks, RecipeSlotInput} from './derivation/crafting'
239
492
 
240
- export {computeContainerCapabilities, computeContainerT2Capabilities} from './entities/container'
493
+ export {
494
+ availableBuildMethods,
495
+ isBuildable,
496
+ isPlotBuildable,
497
+ filterByBuildMethod,
498
+ allBuildableItems,
499
+ allPlotBuildableItems,
500
+ } from './derivation/build-methods'
501
+ export type {BuildMethod} from './derivation/build-methods'
241
502
 
242
503
  export {
243
504
  computeShipHullCapabilities,
@@ -247,14 +508,45 @@ export {
247
508
  computeHaulerCapabilities,
248
509
  computeLoaderCapabilities,
249
510
  computeCrafterCapabilities,
511
+ computeBuilderCapabilities,
250
512
  computeWarehouseHullCapabilities,
513
+ computeDepotHullCapabilities,
251
514
  computeStorageCapabilities,
252
- computeShipCapabilities,
515
+ computeBatteryCapabilities,
516
+ computeContainerCapabilities,
517
+ computeWarpCapabilities,
518
+ computeLauncherCapabilities,
519
+ computeBaseCapacity,
520
+ computeEntityCapabilities,
521
+ getBaseHullmassFor,
522
+ DEFAULT_BASE_HULLMASS,
523
+ CAPACITY_TIER_TABLE,
524
+ capacityTierMultiplier,
525
+ applyCapacityTier,
253
526
  GATHERER_DEPTH_TABLE,
254
527
  GATHERER_DEPTH_MAX_TIER,
255
528
  gathererDepthForTier,
256
- } from './entities/ship-deploy'
257
- export type {ShipCapabilities, GathererDepthParams} from './entities/ship-deploy'
529
+ computeGathererYield,
530
+ } from './derivation/capabilities'
531
+ export type {
532
+ GathererDepthParams,
533
+ ComputedCapabilities,
534
+ TravelDrainBreakdown,
535
+ } from './derivation/capabilities'
536
+
537
+ export {
538
+ WH,
539
+ feistel,
540
+ feistelInv,
541
+ regionOf,
542
+ partnerRegion,
543
+ nearbyWormholes,
544
+ wormholeAt,
545
+ wormholeAtRegionEndpoint,
546
+ isValidWormholePair,
547
+ } from './derivation/wormhole'
548
+
549
+ export {rollupGatherer, rollupCrafter, rollupBuilder, rollupLoaders} from './derivation/rollups'
258
550
 
259
551
  export {resolveItem} from './resolution/resolve-item'
260
552
  export type {
@@ -294,6 +586,44 @@ export type {
294
586
  NFTCommonBase,
295
587
  } from './nft/deserializers'
296
588
 
589
+ export {deserializeAtomicData} from './nft/atomicdata'
590
+ export type {SchemaField, RawData} from './nft/atomicdata'
591
+
592
+ export {
593
+ buildImmutableData,
594
+ buildResourceImmutable,
595
+ buildComponentImmutable,
596
+ buildModuleImmutable,
597
+ buildEntityImmutable,
598
+ computeNftImageUrl,
599
+ } from './nft/buildImmutableData'
600
+ export type {
601
+ AtomicAttributeType,
602
+ ImmutableEntry,
603
+ ImmutableModuleSlot,
604
+ } from './nft/buildImmutableData'
605
+
606
+ export {
607
+ fetchAtomicAssetsForOwner,
608
+ fetchAtomicSchemas,
609
+ decodeAtomicAsset,
610
+ buildMintAssetAction,
611
+ ATOMICASSETS_ACCOUNT,
612
+ SHIPLOAD_COLLECTION,
613
+ } from './nft/atomicassets'
614
+ export {
615
+ MODULE_STAT_SCALING_ANCHOR,
616
+ MODULE_STAT_SCALING_POST_ANCHOR_PERCENT,
617
+ computeEffectiveModuleStat,
618
+ } from './derivation/stat-scaling'
619
+ export type {
620
+ AtomicAssetRow,
621
+ AtomicSchemaRow,
622
+ DecodedAtomicAsset,
623
+ FetchAssetsOptions,
624
+ MintAssetParams,
625
+ } from './nft/atomicassets'
626
+
297
627
  export {
298
628
  buildEntityDescription,
299
629
  formatModuleLine,
@@ -302,18 +632,26 @@ export {
302
632
  computeBaseHullmass,
303
633
  computeBaseCapacityShip,
304
634
  computeBaseCapacityWarehouse,
635
+ computeBaseCapacityDepot,
636
+ computeBaseCapacityContainer,
305
637
  computeEngineThrust,
306
638
  computeEngineDrain,
639
+ computeTravelDrain,
640
+ ENGINE_DRAIN_BASE,
641
+ ENGINE_DRAIN_REF_THRUST,
642
+ ENGINE_DRAIN_REF_THM,
307
643
  computeGeneratorCap,
308
644
  computeGeneratorRech,
309
- computeGathererYield,
310
645
  computeGathererDrain,
311
646
  computeGathererDepth,
312
- computeGathererSpeed,
313
647
  computeLoaderMass,
314
648
  computeLoaderThrust,
315
649
  computeCrafterSpeed,
316
650
  computeCrafterDrain,
651
+ computeBuilderSpeed,
652
+ computeBuilderDrain,
653
+ computeHaulerCapacity,
654
+ computeHaulerEfficiency,
317
655
  computeWarpRange,
318
656
  } from './nft/description'
319
657
 
@@ -325,9 +663,50 @@ export {
325
663
  itemTypeCode,
326
664
  } from './data/tiers'
327
665
 
328
- export {formatMass, formatMassDelta} from './format'
329
-
330
- export {displayName, describeItem} from './resolution/display-name'
666
+ export {
667
+ formatInfluence,
668
+ formatLocation,
669
+ formatMass,
670
+ formatMassDelta,
671
+ formatMassScaled,
672
+ formatNeedMultiplier,
673
+ } from './format'
674
+ export * from './coordinates'
675
+
676
+ export {displayName, baseName, describeItem} from './resolution/display-name'
331
677
  export type {DescribeOptions} from './resolution/display-name'
332
678
 
333
679
  export * from './subscriptions'
680
+
681
+ export {
682
+ allocateProportional,
683
+ buildGatherPlan,
684
+ gatherEnergyCost,
685
+ maxQtyForCharge,
686
+ planParallelTransfer,
687
+ planSingleGather,
688
+ splitCost,
689
+ } from './planner'
690
+ export type {
691
+ BuildGatherPlanOpts,
692
+ FillCap,
693
+ GatherCycle,
694
+ GatherLane,
695
+ GatherLimpet,
696
+ GatherPlan,
697
+ GatherPlanEntity,
698
+ LanePlanEntry,
699
+ PlanTarget,
700
+ SingleGatherInput,
701
+ SingleGatherPlan,
702
+ } from './planner'
703
+
704
+ export {entityToRouteMover, hydrateEntityLanes} from './entity/hydrate'
705
+ export type {
706
+ GathererLaneSource,
707
+ RouteMoverCaps,
708
+ RouteMoverOpts,
709
+ RouteMoverRow,
710
+ } from './entity/hydrate'
711
+
712
+ export * from './influence'