@shipload/sdk 1.0.0-next.55 → 1.0.0-next.57

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.m.js CHANGED
@@ -12624,6 +12624,24 @@ function keyForRecipeInputStat(recipe, inputIndex, statIndex) {
12624
12624
  const innerKeys = getItemStatKeys(input.itemId);
12625
12625
  return innerKeys[statIndex] ?? '';
12626
12626
  }
12627
+ function usedInputStatKeys(outputItemId) {
12628
+ const recipe = getRecipe(outputItemId);
12629
+ if (!recipe)
12630
+ return [];
12631
+ const usedIdx = recipe.inputs.map(() => new Set());
12632
+ for (const slot of recipe.statSlots) {
12633
+ for (const src of slot.sources) {
12634
+ usedIdx[src.inputIndex]?.add(src.statIndex);
12635
+ }
12636
+ }
12637
+ return recipe.inputs.map((input, i) => {
12638
+ const keys = getItemStatKeys(input.itemId);
12639
+ return [...usedIdx[i]]
12640
+ .sort((a, b) => a - b)
12641
+ .map((idx) => keys[idx] ?? '')
12642
+ .filter(Boolean);
12643
+ });
12644
+ }
12627
12645
  function decodeCraftedItemStats(itemId, stats) {
12628
12646
  const keys = getItemStatKeys(itemId);
12629
12647
  const result = {};
@@ -17345,23 +17363,28 @@ class ConstructionManager extends BaseManager {
17345
17363
  }
17346
17364
  inboundTransfersByTarget(entities, now) {
17347
17365
  const buckets = new Map();
17366
+ const entitiesById = new Map(entities.map((entity) => [entity.id.toString(), entity]));
17348
17367
  const nowMs = now.getTime();
17349
17368
  for (const entity of entities) {
17350
- const entityIdStr = entity.id.toString();
17351
- const sourceName = entity.entity_name || entityIdStr;
17352
17369
  for (const lane of getLanes(entity)) {
17353
17370
  const startedMs = lane.schedule.started.toDate().getTime();
17354
17371
  let cumulativeSec = 0;
17355
17372
  for (const task of lane.schedule.tasks) {
17356
17373
  cumulativeSec += task.duration.toNumber();
17357
- if (!isPushTask(task))
17374
+ if (!isDeliveryTask(task))
17358
17375
  continue;
17359
- if (task.couplings.length === 0)
17376
+ const target = deliveryTarget(task);
17377
+ if (!target)
17378
+ continue;
17379
+ const source = deliverySource(task, entity, entitiesById);
17380
+ if (!source)
17360
17381
  continue;
17361
17382
  const projectedEndMs = startedMs + cumulativeSec * 1000;
17362
17383
  if (projectedEndMs < nowMs)
17363
17384
  continue;
17364
- const targetIdStr = task.couplings[0].counterpart.entity_id.toString();
17385
+ const targetIdStr = target.entity_id.toString();
17386
+ const sourceIdStr = source.id.toString();
17387
+ const sourceName = source.entity_name || sourceIdStr;
17365
17388
  const etaSeconds = Math.max(0, Math.round((projectedEndMs - nowMs) / 1000));
17366
17389
  let perTarget = buckets.get(targetIdStr);
17367
17390
  if (!perTarget) {
@@ -17373,7 +17396,7 @@ class ConstructionManager extends BaseManager {
17373
17396
  const quantity = c.quantity.toNumber();
17374
17397
  if (quantity === 0)
17375
17398
  continue;
17376
- const key = `${entityIdStr}#${itemId}`;
17399
+ const key = `${sourceIdStr}#${itemId}`;
17377
17400
  const existing = perTarget.get(key);
17378
17401
  if (existing) {
17379
17402
  existing.quantity += quantity;
@@ -17381,8 +17404,8 @@ class ConstructionManager extends BaseManager {
17381
17404
  }
17382
17405
  else {
17383
17406
  perTarget.set(key, {
17384
- sourceEntityId: entity.id,
17385
- sourceEntityType: entity.type,
17407
+ sourceEntityId: source.id,
17408
+ sourceEntityType: source.type,
17386
17409
  sourceName,
17387
17410
  itemId,
17388
17411
  quantity,
@@ -17575,7 +17598,24 @@ function partitionSources(target, entities, cargo) {
17575
17598
  }
17576
17599
  return { eligible, unreachable };
17577
17600
  }
17578
- function isPushTask(task) {
17601
+ function isDeliveryTask(task) {
17602
+ const type = task.type.toNumber();
17603
+ return type === TaskType.UNLOAD || type === TaskType.SHUTTLE;
17604
+ }
17605
+ function deliveryTarget(task) {
17606
+ if (task.type.toNumber() === TaskType.SHUTTLE) {
17607
+ return task.couplings.find((coupling) => coupling.kind.toNumber() === HoldKind.PUSH)
17608
+ ?.counterpart;
17609
+ }
17610
+ return task.couplings[0]?.counterpart;
17611
+ }
17612
+ function deliverySource(task, transporter, entitiesById) {
17613
+ if (task.type.toNumber() !== TaskType.SHUTTLE)
17614
+ return transporter;
17615
+ const source = task.couplings.find((coupling) => coupling.kind.toNumber() === HoldKind.PULL)?.counterpart;
17616
+ return source ? entitiesById.get(source.entity_id.toString()) : undefined;
17617
+ }
17618
+ function isReservingPushTask(task) {
17579
17619
  return task.type.toNumber() === TaskType.UNLOAD;
17580
17620
  }
17581
17621
  function isBuildOfPlot(task, plotId) {
@@ -17586,7 +17626,7 @@ function isBuildOfPlot(task, plotId) {
17586
17626
  function reservationsOf(source) {
17587
17627
  const out = new Map();
17588
17628
  for (const task of getTasks(source)) {
17589
- if (!isPushTask(task))
17629
+ if (!isReservingPushTask(task))
17590
17630
  continue;
17591
17631
  if (task.couplings.length === 0)
17592
17632
  continue;
@@ -18848,6 +18888,18 @@ function composeIdleResolve(blocker, action, actions, now, lookupCounterpart) {
18848
18888
  return [...ids.map((id) => actions.resolve(id)), action];
18849
18889
  }
18850
18890
 
18891
+ const INCOMING_COUPLING_KINDS = new Set([HoldKind.PUSH, HoldKind.GATHER, HoldKind.FLIGHT]);
18892
+ function isIncomingCouplingKind(kind) {
18893
+ return INCOMING_COUPLING_KINDS.has(kind);
18894
+ }
18895
+ function calcCounterpartDelivery(task, coupling) {
18896
+ if (!isIncomingCouplingKind(coupling.kind.toNumber()))
18897
+ return [];
18898
+ if (task.type.toNumber() === TaskType.CRAFT) {
18899
+ return task.cargo.length === 0 ? [] : [task.cargo[task.cargo.length - 1]];
18900
+ }
18901
+ return task.cargo;
18902
+ }
18851
18903
  function taskCargoEffect(task) {
18852
18904
  switch (task.type.toNumber()) {
18853
18905
  case TaskType.LOAD:
@@ -18855,6 +18907,7 @@ function taskCargoEffect(task) {
18855
18907
  case TaskType.UNDEPLOY:
18856
18908
  return { added: task.cargo, removed: [] };
18857
18909
  case TaskType.UNLOAD:
18910
+ case TaskType.UPGRADE:
18858
18911
  return { added: [], removed: task.cargo };
18859
18912
  case TaskType.GATHER:
18860
18913
  return task.couplings.length > 0
@@ -18871,19 +18924,23 @@ function taskCargoEffect(task) {
18871
18924
  return { added: [], removed: [] };
18872
18925
  }
18873
18926
  }
18874
- function cargoKey(item) {
18875
- const base = `${item.item_id.toNumber()}:${item.stats.toString()}`;
18876
- const modules = item.modules ?? [];
18877
- const entityId = item.entity_id?.toString();
18878
- const normalizedEntityId = entityId && entityId !== '0' ? entityId : '';
18927
+ function refKey(itemId, stats, modules, entityId) {
18928
+ const base = `${itemId}:${stats.toString()}`;
18929
+ const normalizedEntityId = entityId !== '0' ? entityId : '';
18879
18930
  if (modules.length === 0 && normalizedEntityId === '')
18880
18931
  return base;
18881
18932
  return `${base}:modules=${JSON.stringify(modules)}:entity=${normalizedEntityId}`;
18882
18933
  }
18934
+ function cargoKey(item) {
18935
+ return refKey(item.item_id.toNumber(), BigInt(item.stats.toString()), item.modules ?? [], item.entity_id?.toString() ?? '');
18936
+ }
18937
+ function cargoInputKey(input) {
18938
+ return refKey(input.itemId, input.stats, input.modules ?? [], '');
18939
+ }
18883
18940
  function cargoQuantity(item) {
18884
18941
  return BigInt(item.quantity.toString());
18885
18942
  }
18886
- function projectedCargoAvailableAt(entity, at) {
18943
+ function projectedCargoAvailableAt(entity, at, incoming = []) {
18887
18944
  const avail = new Map();
18888
18945
  for (const item of entity.cargo) {
18889
18946
  const key = cargoKey(item);
@@ -18898,6 +18955,14 @@ function projectedCargoAvailableAt(entity, at) {
18898
18955
  avail.set(key, (avail.get(key) ?? 0n) + cargoQuantity(item));
18899
18956
  }
18900
18957
  }
18958
+ for (const src of incoming) {
18959
+ if (src.until.getTime() >= at.getTime())
18960
+ continue;
18961
+ for (const item of src.items) {
18962
+ const key = cargoKey(item);
18963
+ avail.set(key, (avail.get(key) ?? 0n) + cargoQuantity(item));
18964
+ }
18965
+ }
18901
18966
  for (const ordered of tasks) {
18902
18967
  for (const item of taskCargoEffect(ordered.task).removed) {
18903
18968
  const key = cargoKey(item);
@@ -18908,17 +18973,40 @@ function projectedCargoAvailableAt(entity, at) {
18908
18973
  }
18909
18974
  return avail;
18910
18975
  }
18911
- function cargoReadyAt(entity, inputItemIds) {
18912
- let readyMs = 0;
18976
+ function cargoReadyAt(entity, inputs, incoming = []) {
18977
+ const demand = new Map();
18978
+ for (const input of inputs) {
18979
+ const key = cargoInputKey(input);
18980
+ demand.set(key, (demand.get(key) ?? 0n) + BigInt(input.quantity));
18981
+ }
18982
+ const candidates = [0];
18913
18983
  for (const ordered of orderedTasks(entity)) {
18914
18984
  for (const item of taskCargoEffect(ordered.task).added) {
18915
- if (inputItemIds.includes(item.item_id.toNumber())) {
18916
- readyMs = Math.max(readyMs, ordered.completesAt.getTime());
18985
+ if (demand.has(cargoKey(item))) {
18986
+ candidates.push(ordered.completesAt.getTime());
18917
18987
  break;
18918
18988
  }
18919
18989
  }
18920
18990
  }
18921
- return new Date(readyMs);
18991
+ for (const src of incoming) {
18992
+ if (src.items.some((item) => demand.has(cargoKey(item)))) {
18993
+ candidates.push(src.until.getTime());
18994
+ }
18995
+ }
18996
+ candidates.sort((a, b) => a - b);
18997
+ for (const candidateMs of candidates) {
18998
+ const available = projectedCargoAvailableAt(entity, new Date(candidateMs + 1), incoming);
18999
+ let sufficient = true;
19000
+ for (const [key, quantity] of demand) {
19001
+ if ((available.get(key) ?? 0n) < quantity) {
19002
+ sufficient = false;
19003
+ break;
19004
+ }
19005
+ }
19006
+ if (sufficient)
19007
+ return new Date(candidateMs);
19008
+ }
19009
+ return new Date(candidates[candidates.length - 1]);
18922
19010
  }
18923
19011
  function availableForItem(avail, itemId) {
18924
19012
  const prefix = `${itemId}:`;
@@ -18937,6 +19025,7 @@ var CancelBlockReason;
18937
19025
  CancelBlockReason["DONE"] = "DONE";
18938
19026
  CancelBlockReason["CONTAINS_LINKED_TASK"] = "CONTAINS_LINKED_TASK";
18939
19027
  CancelBlockReason["WOULD_STRAND"] = "WOULD_STRAND";
19028
+ CancelBlockReason["WOULD_STRAND_COUNTERPART"] = "WOULD_STRAND_COUNTERPART";
18940
19029
  CancelBlockReason["WOULD_OVERFILL"] = "WOULD_OVERFILL";
18941
19030
  CancelBlockReason["NOT_OWNER"] = "NOT_OWNER";
18942
19031
  })(CancelBlockReason || (CancelBlockReason = {}));
@@ -18947,14 +19036,16 @@ function postCancelEntity(entity, laneKey, fromTaskIndex) {
18947
19036
  lane.schedule.tasks = lane.schedule.tasks.slice(0, fromTaskIndex);
18948
19037
  return clone;
18949
19038
  }
18950
- function feasibleAfterCancel(post) {
18951
- const ordered = orderedTasks(post);
19039
+ function queueFeasible(entity, incoming = []) {
19040
+ const ordered = orderedTasks(entity);
18952
19041
  const base = new Map();
18953
- for (const c of post.cargo ?? []) {
19042
+ for (const c of entity.cargo ?? []) {
18954
19043
  const k = cargoKey(c);
18955
19044
  base.set(k, (base.get(k) ?? 0) + c.quantity.toNumber());
18956
19045
  }
18957
- const isConsumer = (t) => t.type.toNumber() === TaskType.CRAFT || t.type.toNumber() === TaskType.UNLOAD;
19046
+ const isConsumer = (t) => t.type.toNumber() === TaskType.CRAFT ||
19047
+ t.type.toNumber() === TaskType.UNLOAD ||
19048
+ t.type.toNumber() === TaskType.UPGRADE;
18958
19049
  for (const self of ordered) {
18959
19050
  if (!isConsumer(self.task))
18960
19051
  continue;
@@ -18966,6 +19057,13 @@ function feasibleAfterCancel(post) {
18966
19057
  map.set(cargoKey(out), (map.get(cargoKey(out)) ?? 0) + out.quantity.toNumber());
18967
19058
  }
18968
19059
  }
19060
+ for (const src of incoming) {
19061
+ if (src.until.getTime() >= self.completesAt.getTime())
19062
+ continue;
19063
+ for (const item of src.items) {
19064
+ map.set(cargoKey(item), (map.get(cargoKey(item)) ?? 0) + item.quantity.toNumber());
19065
+ }
19066
+ }
18969
19067
  for (const other of ordered) {
18970
19068
  if (other === self)
18971
19069
  continue;
@@ -18979,6 +19077,11 @@ function feasibleAfterCancel(post) {
18979
19077
  return false;
18980
19078
  }
18981
19079
  }
19080
+ return true;
19081
+ }
19082
+ function feasibleAfterCancel(post) {
19083
+ if (!queueFeasible(post))
19084
+ return false;
18982
19085
  try {
18983
19086
  validateSchedule(post);
18984
19087
  }
@@ -19036,6 +19139,35 @@ function cancelEligibility(entity, laneKey, fromTaskIndex, input) {
19036
19139
  const post = postCancelEntity(entity, laneKey, fromTaskIndex);
19037
19140
  if (!feasibleAfterCancel(post))
19038
19141
  return block(CancelBlockReason.WOULD_STRAND);
19142
+ const releasedByCounterpart = new Map();
19143
+ for (const i of taskIndices) {
19144
+ for (const c of tasks[i].couplings ?? []) {
19145
+ if (!isIncomingCouplingKind(c.kind.toNumber()))
19146
+ continue;
19147
+ const id = c.counterpart.entity_id.toString();
19148
+ const entry = releasedByCounterpart.get(id) ?? {
19149
+ counterpart: c.counterpart,
19150
+ holdIds: new Set(),
19151
+ };
19152
+ entry.holdIds.add(c.hold.toString());
19153
+ releasedByCounterpart.set(id, entry);
19154
+ }
19155
+ }
19156
+ for (const [counterpartId, released] of releasedByCounterpart) {
19157
+ const counterpart = input.counterparts?.get(counterpartId);
19158
+ if (!counterpart)
19159
+ continue;
19160
+ const incoming = (input.counterpartIncoming?.get(counterpartId) ?? []).filter((src) => !released.holdIds.has(src.holdId));
19161
+ if (!queueFeasible(counterpart, incoming)) {
19162
+ return {
19163
+ ok: false,
19164
+ blockedReason: CancelBlockReason.WOULD_STRAND_COUNTERPART,
19165
+ blockedByCounterpart: released.counterpart,
19166
+ range,
19167
+ effects: { ...EMPTY_EFFECTS },
19168
+ };
19169
+ }
19170
+ }
19039
19171
  const effects = { refunds: [], releasedHolds: [], abandonsRunning: false };
19040
19172
  let energyForfeited = 0;
19041
19173
  for (const i of taskIndices) {
@@ -19185,7 +19317,24 @@ function receiveFits(dest, item, now) {
19185
19317
  return peak <= capacity;
19186
19318
  }
19187
19319
 
19188
- function maxCraftable(entity, recipe, crafterSpeed, now) {
19320
+ function itemReadyAt(entity, itemIds, incoming) {
19321
+ let readyMs = 0;
19322
+ for (const ordered of orderedTasks(entity)) {
19323
+ for (const item of taskCargoEffect(ordered.task).added) {
19324
+ if (itemIds.includes(item.item_id.toNumber())) {
19325
+ readyMs = Math.max(readyMs, ordered.completesAt.getTime());
19326
+ break;
19327
+ }
19328
+ }
19329
+ }
19330
+ for (const src of incoming) {
19331
+ if (src.items.some((item) => itemIds.includes(item.item_id.toNumber()))) {
19332
+ readyMs = Math.max(readyMs, src.until.getTime());
19333
+ }
19334
+ }
19335
+ return new Date(readyMs);
19336
+ }
19337
+ function maxCraftable(entity, recipe, crafterSpeed, now, incoming = []) {
19189
19338
  if (recipe.inputs.length === 0)
19190
19339
  return 0;
19191
19340
  const perUnitMass = recipe.inputs.reduce((sum, input) => sum + getItem(input.itemId).mass * input.quantity, 0);
@@ -19193,9 +19342,9 @@ function maxCraftable(entity, recipe, crafterSpeed, now) {
19193
19342
  const crafterLane = workerLaneKey(entity.modules, 'crafter', entity.lanes ?? []);
19194
19343
  const naiveCompletesAt = candidateLaneCompletesAt(entity, crafterLane, perUnitDuration, now);
19195
19344
  const laneStartMs = naiveCompletesAt.getTime() - perUnitDuration * 1000;
19196
- const readyMs = cargoReadyAt(entity, recipe.inputs.map((input) => input.itemId)).getTime();
19345
+ const readyMs = itemReadyAt(entity, recipe.inputs.map((input) => input.itemId), incoming).getTime();
19197
19346
  const completesAt = new Date(Math.max(laneStartMs, readyMs) + perUnitDuration * 1000);
19198
- const availability = projectedCargoAvailableAt(entity, completesAt);
19347
+ const availability = projectedCargoAvailableAt(entity, completesAt, incoming);
19199
19348
  let maxUnits;
19200
19349
  for (const input of recipe.inputs) {
19201
19350
  if (input.quantity <= 0)
@@ -20916,5 +21065,5 @@ function planParallelTransfer(entity, target) {
20916
21065
  return allocateProportional(laneWeights, requestedQty).filter((e) => e.quantity > 0);
20917
21066
  }
20918
21067
 
20919
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BASE_HAUL_PENALTY_MILLI$1 as BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ClusterManager, ConstructionManager, Coordinates, DEFAULT_BASE_HULLMASS, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HAULER_EFFICIENCY_DENOM$1 as HAULER_EFFICIENCY_DENOM, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T1_PACKED, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1_PACKED, ITEM_PROSPECTOR_T1_PACKED, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TENDER_T1_PACKED, ITEM_TUG_T1_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ITEM_WORKSHOP_T1_PACKED, ITEM_WRANGLER_T1_PACKED, ITEM_WRIGHT_T1_PACKED, InventoryAccessor, JOB_QUEUE_CAP, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RefitOp, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass$1 as computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isConstructionDock, isContainer, isCraftedItem, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, jobsToLanes, kindCan, laneKeyForModule, lerp$1 as lerp, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, pickFabricator, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
21068
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BASE_HAUL_PENALTY_MILLI$1 as BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ClusterManager, ConstructionManager, Coordinates, DEFAULT_BASE_HULLMASS, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HAULER_EFFICIENCY_DENOM$1 as HAULER_EFFICIENCY_DENOM, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T1_PACKED, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1_PACKED, ITEM_PROSPECTOR_T1_PACKED, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TENDER_T1_PACKED, ITEM_TUG_T1_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ITEM_WORKSHOP_T1_PACKED, ITEM_WRANGLER_T1_PACKED, ITEM_WRIGHT_T1_PACKED, InventoryAccessor, JOB_QUEUE_CAP, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RefitOp, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcCounterpartDelivery, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoInputKey, cargoItem, cargoItemToStack, cargoKey, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass$1 as computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isConstructionDock, isContainer, isCraftedItem, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, jobsToLanes, kindCan, laneKeyForModule, lerp$1 as lerp, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, pickFabricator, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, usedInputStatKeys, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
20920
21069
  //# sourceMappingURL=shipload.m.js.map