@shipload/sdk 1.0.0-next.56 → 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 = {};
@@ -18870,6 +18888,18 @@ function composeIdleResolve(blocker, action, actions, now, lookupCounterpart) {
18870
18888
  return [...ids.map((id) => actions.resolve(id)), action];
18871
18889
  }
18872
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
+ }
18873
18903
  function taskCargoEffect(task) {
18874
18904
  switch (task.type.toNumber()) {
18875
18905
  case TaskType.LOAD:
@@ -18877,6 +18907,7 @@ function taskCargoEffect(task) {
18877
18907
  case TaskType.UNDEPLOY:
18878
18908
  return { added: task.cargo, removed: [] };
18879
18909
  case TaskType.UNLOAD:
18910
+ case TaskType.UPGRADE:
18880
18911
  return { added: [], removed: task.cargo };
18881
18912
  case TaskType.GATHER:
18882
18913
  return task.couplings.length > 0
@@ -18893,19 +18924,23 @@ function taskCargoEffect(task) {
18893
18924
  return { added: [], removed: [] };
18894
18925
  }
18895
18926
  }
18896
- function cargoKey(item) {
18897
- const base = `${item.item_id.toNumber()}:${item.stats.toString()}`;
18898
- const modules = item.modules ?? [];
18899
- const entityId = item.entity_id?.toString();
18900
- 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 : '';
18901
18930
  if (modules.length === 0 && normalizedEntityId === '')
18902
18931
  return base;
18903
18932
  return `${base}:modules=${JSON.stringify(modules)}:entity=${normalizedEntityId}`;
18904
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
+ }
18905
18940
  function cargoQuantity(item) {
18906
18941
  return BigInt(item.quantity.toString());
18907
18942
  }
18908
- function projectedCargoAvailableAt(entity, at) {
18943
+ function projectedCargoAvailableAt(entity, at, incoming = []) {
18909
18944
  const avail = new Map();
18910
18945
  for (const item of entity.cargo) {
18911
18946
  const key = cargoKey(item);
@@ -18920,6 +18955,14 @@ function projectedCargoAvailableAt(entity, at) {
18920
18955
  avail.set(key, (avail.get(key) ?? 0n) + cargoQuantity(item));
18921
18956
  }
18922
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
+ }
18923
18966
  for (const ordered of tasks) {
18924
18967
  for (const item of taskCargoEffect(ordered.task).removed) {
18925
18968
  const key = cargoKey(item);
@@ -18930,17 +18973,40 @@ function projectedCargoAvailableAt(entity, at) {
18930
18973
  }
18931
18974
  return avail;
18932
18975
  }
18933
- function cargoReadyAt(entity, inputItemIds) {
18934
- 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];
18935
18983
  for (const ordered of orderedTasks(entity)) {
18936
18984
  for (const item of taskCargoEffect(ordered.task).added) {
18937
- if (inputItemIds.includes(item.item_id.toNumber())) {
18938
- readyMs = Math.max(readyMs, ordered.completesAt.getTime());
18985
+ if (demand.has(cargoKey(item))) {
18986
+ candidates.push(ordered.completesAt.getTime());
18939
18987
  break;
18940
18988
  }
18941
18989
  }
18942
18990
  }
18943
- 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]);
18944
19010
  }
18945
19011
  function availableForItem(avail, itemId) {
18946
19012
  const prefix = `${itemId}:`;
@@ -18959,6 +19025,7 @@ var CancelBlockReason;
18959
19025
  CancelBlockReason["DONE"] = "DONE";
18960
19026
  CancelBlockReason["CONTAINS_LINKED_TASK"] = "CONTAINS_LINKED_TASK";
18961
19027
  CancelBlockReason["WOULD_STRAND"] = "WOULD_STRAND";
19028
+ CancelBlockReason["WOULD_STRAND_COUNTERPART"] = "WOULD_STRAND_COUNTERPART";
18962
19029
  CancelBlockReason["WOULD_OVERFILL"] = "WOULD_OVERFILL";
18963
19030
  CancelBlockReason["NOT_OWNER"] = "NOT_OWNER";
18964
19031
  })(CancelBlockReason || (CancelBlockReason = {}));
@@ -18969,14 +19036,16 @@ function postCancelEntity(entity, laneKey, fromTaskIndex) {
18969
19036
  lane.schedule.tasks = lane.schedule.tasks.slice(0, fromTaskIndex);
18970
19037
  return clone;
18971
19038
  }
18972
- function feasibleAfterCancel(post) {
18973
- const ordered = orderedTasks(post);
19039
+ function queueFeasible(entity, incoming = []) {
19040
+ const ordered = orderedTasks(entity);
18974
19041
  const base = new Map();
18975
- for (const c of post.cargo ?? []) {
19042
+ for (const c of entity.cargo ?? []) {
18976
19043
  const k = cargoKey(c);
18977
19044
  base.set(k, (base.get(k) ?? 0) + c.quantity.toNumber());
18978
19045
  }
18979
- 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;
18980
19049
  for (const self of ordered) {
18981
19050
  if (!isConsumer(self.task))
18982
19051
  continue;
@@ -18988,6 +19057,13 @@ function feasibleAfterCancel(post) {
18988
19057
  map.set(cargoKey(out), (map.get(cargoKey(out)) ?? 0) + out.quantity.toNumber());
18989
19058
  }
18990
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
+ }
18991
19067
  for (const other of ordered) {
18992
19068
  if (other === self)
18993
19069
  continue;
@@ -19001,6 +19077,11 @@ function feasibleAfterCancel(post) {
19001
19077
  return false;
19002
19078
  }
19003
19079
  }
19080
+ return true;
19081
+ }
19082
+ function feasibleAfterCancel(post) {
19083
+ if (!queueFeasible(post))
19084
+ return false;
19004
19085
  try {
19005
19086
  validateSchedule(post);
19006
19087
  }
@@ -19058,6 +19139,35 @@ function cancelEligibility(entity, laneKey, fromTaskIndex, input) {
19058
19139
  const post = postCancelEntity(entity, laneKey, fromTaskIndex);
19059
19140
  if (!feasibleAfterCancel(post))
19060
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
+ }
19061
19171
  const effects = { refunds: [], releasedHolds: [], abandonsRunning: false };
19062
19172
  let energyForfeited = 0;
19063
19173
  for (const i of taskIndices) {
@@ -19207,7 +19317,24 @@ function receiveFits(dest, item, now) {
19207
19317
  return peak <= capacity;
19208
19318
  }
19209
19319
 
19210
- 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 = []) {
19211
19338
  if (recipe.inputs.length === 0)
19212
19339
  return 0;
19213
19340
  const perUnitMass = recipe.inputs.reduce((sum, input) => sum + getItem(input.itemId).mass * input.quantity, 0);
@@ -19215,9 +19342,9 @@ function maxCraftable(entity, recipe, crafterSpeed, now) {
19215
19342
  const crafterLane = workerLaneKey(entity.modules, 'crafter', entity.lanes ?? []);
19216
19343
  const naiveCompletesAt = candidateLaneCompletesAt(entity, crafterLane, perUnitDuration, now);
19217
19344
  const laneStartMs = naiveCompletesAt.getTime() - perUnitDuration * 1000;
19218
- const readyMs = cargoReadyAt(entity, recipe.inputs.map((input) => input.itemId)).getTime();
19345
+ const readyMs = itemReadyAt(entity, recipe.inputs.map((input) => input.itemId), incoming).getTime();
19219
19346
  const completesAt = new Date(Math.max(laneStartMs, readyMs) + perUnitDuration * 1000);
19220
- const availability = projectedCargoAvailableAt(entity, completesAt);
19347
+ const availability = projectedCargoAvailableAt(entity, completesAt, incoming);
19221
19348
  let maxUnits;
19222
19349
  for (const input of recipe.inputs) {
19223
19350
  if (input.quantity <= 0)
@@ -20938,5 +21065,5 @@ function planParallelTransfer(entity, target) {
20938
21065
  return allocateProportional(laneWeights, requestedQty).filter((e) => e.quantity > 0);
20939
21066
  }
20940
21067
 
20941
- 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 };
20942
21069
  //# sourceMappingURL=shipload.m.js.map