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

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