@shipload/sdk 1.0.0-next.35 → 1.0.0-next.37

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 (52) hide show
  1. package/lib/shipload.d.ts +289 -80
  2. package/lib/shipload.js +3099 -2600
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +3076 -2601
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +66 -20
  7. package/lib/testing.js +95 -57
  8. package/lib/testing.js.map +1 -1
  9. package/lib/testing.m.js +95 -57
  10. package/lib/testing.m.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/capabilities/crafting.ts +2 -3
  13. package/src/capabilities/gathering.test.ts +16 -0
  14. package/src/capabilities/gathering.ts +8 -11
  15. package/src/contracts/server.ts +45 -29
  16. package/src/coordinates/address.ts +9 -5
  17. package/src/coordinates/constants.test.ts +15 -0
  18. package/src/coordinates/constants.ts +5 -3
  19. package/src/coordinates/index.ts +11 -0
  20. package/src/coordinates/memo.test.ts +47 -0
  21. package/src/coordinates/memo.ts +20 -0
  22. package/src/data/capability-formulas.ts +0 -1
  23. package/src/data/entities.json +4 -4
  24. package/src/data/items.json +5 -5
  25. package/src/data/recipes.json +39 -65
  26. package/src/derivation/capabilities.test.ts +133 -0
  27. package/src/derivation/capabilities.ts +66 -14
  28. package/src/derivation/rollups.test.ts +55 -0
  29. package/src/derivation/rollups.ts +56 -0
  30. package/src/entities/makers.ts +30 -3
  31. package/src/index-module.ts +30 -2
  32. package/src/managers/actions.ts +34 -3
  33. package/src/managers/construction.ts +6 -4
  34. package/src/managers/context.ts +9 -0
  35. package/src/managers/coordinates.ts +14 -0
  36. package/src/managers/plot.ts +2 -4
  37. package/src/nft/description.ts +25 -6
  38. package/src/planner/index.ts +127 -0
  39. package/src/planner/planner.test.ts +319 -0
  40. package/src/resolution/resolve-item.ts +4 -1
  41. package/src/scheduling/cancel.test.ts +21 -0
  42. package/src/scheduling/lanes.test.ts +249 -0
  43. package/src/scheduling/lanes.ts +140 -2
  44. package/src/scheduling/projection.ts +73 -16
  45. package/src/shipload.ts +5 -0
  46. package/src/testing/projection-parity.ts +26 -2
  47. package/src/travel/reach.ts +23 -0
  48. package/src/travel/route-planner.ts +157 -0
  49. package/src/travel/travel.ts +102 -101
  50. package/src/types/capabilities.ts +23 -6
  51. package/src/types/entity.ts +3 -3
  52. package/src/types.ts +1 -1
package/lib/shipload.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _wharfkit_antelope from '@wharfkit/antelope';
2
- import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, Checksum256Type, UInt32Type, NameType, UInt64Type, AssetType, ExtendedAssetType, Action, UInt16, UInt8, Int64, TimePoint, BlockTimestamp, Bytes, Int32, UInt16Type, UInt8Type, Int64Type, TimePointType, Int32Type, Checksum512, APIClient } from '@wharfkit/antelope';
2
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, Checksum256Type, UInt32Type, NameType, UInt64Type, AssetType, ExtendedAssetType, Action, UInt16, UInt8, Int64, TimePoint, BlockTimestamp, Bytes, Int32, UInt16Type, UInt8Type, Int64Type, TimePointType, Int32Type, Checksum512, Transaction, APIClient } from '@wharfkit/antelope';
3
3
  import * as _wharfkit_contract from '@wharfkit/contract';
4
4
  import { Contract as Contract$2, PartialBy, ContractArgs, ActionOptions, Table } from '@wharfkit/contract';
5
5
  import { ChainDefinition } from '@wharfkit/common';
@@ -453,10 +453,13 @@ declare namespace Types {
453
453
  quantity: UInt32;
454
454
  inputs: cargo_item[];
455
455
  target?: UInt64;
456
+ slot?: UInt8;
456
457
  }
457
- class crafter_stats extends Struct {
458
+ class crafter_lane extends Struct {
459
+ slot_index: UInt8;
458
460
  speed: UInt16;
459
461
  drain: UInt32;
462
+ output_pct: UInt16;
460
463
  }
461
464
  class demolish extends Struct {
462
465
  entity_id: UInt64;
@@ -489,20 +492,23 @@ declare namespace Types {
489
492
  class warp_stats extends Struct {
490
493
  range: UInt32;
491
494
  }
492
- class gatherer_stats extends Struct {
495
+ class hauler_stats extends Struct {
496
+ capacity: UInt8;
497
+ efficiency: UInt16;
498
+ drain: UInt32;
499
+ }
500
+ class gatherer_lane extends Struct {
501
+ slot_index: UInt8;
493
502
  yield: UInt16;
494
503
  drain: UInt32;
495
504
  depth: UInt16;
505
+ output_pct: UInt16;
496
506
  }
497
- class loader_stats extends Struct {
507
+ class loader_lane extends Struct {
508
+ slot_index: UInt8;
498
509
  mass: UInt32;
499
510
  thrust: UInt16;
500
- quantity: UInt8;
501
- }
502
- class hauler_stats extends Struct {
503
- capacity: UInt8;
504
- efficiency: UInt16;
505
- drain: UInt32;
511
+ output_pct: UInt16;
506
512
  }
507
513
  class task extends Struct {
508
514
  type: UInt8;
@@ -546,10 +552,10 @@ declare namespace Types {
546
552
  engines?: movement_stats;
547
553
  warp?: warp_stats;
548
554
  generator?: energy_stats;
549
- gatherer?: gatherer_stats;
550
- loaders?: loader_stats;
551
555
  hauler?: hauler_stats;
552
- crafter?: crafter_stats;
556
+ gatherer_lanes: gatherer_lane[];
557
+ crafter_lanes: crafter_lane[];
558
+ loader_lanes: loader_lane[];
553
559
  lanes: lane[];
554
560
  holds: hold[];
555
561
  }
@@ -625,6 +631,7 @@ declare namespace Types {
625
631
  destination_id: UInt64;
626
632
  stratum: UInt16;
627
633
  quantity: UInt32;
634
+ slot?: UInt8;
628
635
  }
629
636
  class genesisfleet extends Struct {
630
637
  entities: entity_row[];
@@ -963,10 +970,10 @@ declare namespace Types {
963
970
  engines?: movement_stats;
964
971
  warp?: warp_stats;
965
972
  generator?: energy_stats;
966
- gatherer?: gatherer_stats;
967
- loaders?: loader_stats;
968
973
  hauler?: hauler_stats;
969
- crafter?: crafter_stats;
974
+ gatherer_lanes: gatherer_lane[];
975
+ crafter_lanes: crafter_lane[];
976
+ loader_lanes: loader_lane[];
970
977
  }
971
978
  class recharge extends Struct {
972
979
  id: UInt64;
@@ -1366,6 +1373,7 @@ declare namespace ActionParams {
1366
1373
  quantity: UInt32Type;
1367
1374
  inputs: Type.cargo_item[];
1368
1375
  target?: UInt64Type;
1376
+ slot?: UInt8Type;
1369
1377
  }
1370
1378
  interface demolish {
1371
1379
  entity_id: UInt64Type;
@@ -1394,6 +1402,7 @@ declare namespace ActionParams {
1394
1402
  destination_id: UInt64Type;
1395
1403
  stratum: UInt16Type;
1396
1404
  quantity: UInt32Type;
1405
+ slot?: UInt8Type;
1397
1406
  }
1398
1407
  interface genesisfleet {
1399
1408
  entities: Type.entity_row[];
@@ -1954,7 +1963,7 @@ interface ShipLike {
1954
1963
  energy?: UInt16;
1955
1964
  engines?: Types.movement_stats;
1956
1965
  generator?: Types.energy_stats;
1957
- loaders?: Types.loader_stats;
1966
+ loader_lanes?: Types.loader_lane[];
1958
1967
  hauler?: Types.hauler_stats;
1959
1968
  capacity?: UInt32;
1960
1969
  }
@@ -2206,6 +2215,41 @@ declare class EntityInventory extends Types.cargo_item {
2206
2215
  get isEmpty(): boolean;
2207
2216
  }
2208
2217
 
2218
+ interface LoaderStats {
2219
+ mass: {
2220
+ toNumber(): number;
2221
+ multiplying(v: unknown): {
2222
+ toNumber(): number;
2223
+ };
2224
+ };
2225
+ thrust: {
2226
+ toNumber(): number;
2227
+ };
2228
+ quantity: {
2229
+ toNumber(): number;
2230
+ gt(v: unknown): boolean;
2231
+ };
2232
+ }
2233
+ interface GathererStats {
2234
+ yield: {
2235
+ toNumber(): number;
2236
+ };
2237
+ drain: {
2238
+ toNumber(): number;
2239
+ };
2240
+ depth: {
2241
+ toNumber(): number;
2242
+ toString(): string;
2243
+ };
2244
+ }
2245
+ interface CrafterStats {
2246
+ speed: {
2247
+ toNumber(): number;
2248
+ };
2249
+ drain: {
2250
+ toNumber(): number;
2251
+ };
2252
+ }
2209
2253
  interface MovementCapability {
2210
2254
  engines: Types.movement_stats;
2211
2255
  generator: Types.energy_stats;
@@ -2219,10 +2263,10 @@ interface StorageCapability {
2219
2263
  cargo: Types.cargo_item[];
2220
2264
  }
2221
2265
  interface LoaderCapability {
2222
- loaders: Types.loader_stats;
2266
+ loaders: LoaderStats;
2223
2267
  }
2224
2268
  interface GathererCapability {
2225
- gatherer: Types.gatherer_stats;
2269
+ gatherer: GathererStats;
2226
2270
  }
2227
2271
  interface MassCapability {
2228
2272
  hullmass: UInt32;
@@ -2236,9 +2280,9 @@ interface EntityCapabilities {
2236
2280
  capacity?: UInt32;
2237
2281
  engines?: Types.movement_stats;
2238
2282
  generator?: Types.energy_stats;
2239
- loaders?: Types.loader_stats;
2240
- gatherer?: Types.gatherer_stats;
2241
- crafter?: Types.crafter_stats;
2283
+ loaders?: LoaderStats;
2284
+ gatherer?: GathererStats;
2285
+ crafter?: CrafterStats;
2242
2286
  hauler?: Types.hauler_stats;
2243
2287
  }
2244
2288
  interface EntityState {
@@ -2799,6 +2843,57 @@ declare class LocationsManager extends BaseManager {
2799
2843
  getStrata(coords: CoordinatesType, now?: BlockTimestamp): Promise<LocationStratum[]>;
2800
2844
  }
2801
2845
 
2846
+ interface CoordinateAddress {
2847
+ sector: string;
2848
+ region: string;
2849
+ localX: number;
2850
+ localY: number;
2851
+ }
2852
+ declare function encodeAddress(seed: Checksum256Type, x: number, y: number): CoordinateAddress;
2853
+ declare function decodeAddress(seed: Checksum256Type, addr: CoordinateAddress): {
2854
+ x: number;
2855
+ y: number;
2856
+ };
2857
+ declare function addressFromCoordinates(seed: Checksum256Type, coords: {
2858
+ x: number | {
2859
+ toNumber(): number;
2860
+ };
2861
+ y: number | {
2862
+ toNumber(): number;
2863
+ };
2864
+ }): CoordinateAddress;
2865
+
2866
+ declare function encodeSector(seed: Checksum256Type, sx: number, sy: number): string;
2867
+ declare function decodeSector(seed: Checksum256Type, name: string): {
2868
+ sx: number;
2869
+ sy: number;
2870
+ };
2871
+
2872
+ declare function encodeRegion(seed: Checksum256Type, rx: number, ry: number): string;
2873
+ declare function decodeRegion(seed: Checksum256Type, token: string): {
2874
+ rx: number;
2875
+ ry: number;
2876
+ };
2877
+
2878
+ declare function encodeAddressMemo(seed: Checksum256Type, x: number, y: number): CoordinateAddress;
2879
+
2880
+ declare const COORD_MIN = -2147483648;
2881
+ declare const COORD_MAX = 2147483647;
2882
+ declare const COORD_OFFSET = 2147485000;
2883
+ declare const SECTOR_DIV = 100000000;
2884
+ declare const REGION_DIV = 10000;
2885
+ declare const SECTORS_PER_AXIS = 43;
2886
+ declare const REGION_PER_AXIS = 10000;
2887
+ declare const LOCAL_HALF = 5000;
2888
+
2889
+ declare class CoordinatesManager extends BaseManager {
2890
+ encode(x: number, y: number): Promise<CoordinateAddress>;
2891
+ decode(addr: CoordinateAddress): Promise<{
2892
+ x: number;
2893
+ y: number;
2894
+ }>;
2895
+ }
2896
+
2802
2897
  declare class EpochsManager extends BaseManager {
2803
2898
  getCurrentHeight(): Promise<UInt64>;
2804
2899
  getFinalizedEpoch(reload?: boolean): Promise<UInt64>;
@@ -2837,9 +2932,16 @@ declare class ActionsManager extends BaseManager {
2837
2932
  unload(id: UInt64Type, toId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
2838
2933
  foundCompany(account: NameType, name: string): Action;
2839
2934
  join(account: NameType): Action;
2840
- gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type): Action;
2935
+ gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type, slot?: UInt8Type): Action;
2936
+ bundleGather(gathers: {
2937
+ sourceId: UInt64Type;
2938
+ destinationId: UInt64Type;
2939
+ stratum: UInt16Type;
2940
+ quantity: UInt32Type;
2941
+ slot?: UInt8Type;
2942
+ }[]): Transaction;
2841
2943
  warp(entityId: UInt64Type, destination: CoordinatesType): Action;
2842
- craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[], target?: UInt64Type): Action;
2944
+ craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[], target?: UInt64Type, slot?: UInt8Type): Action;
2843
2945
  blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
2844
2946
  deploy(entityId: UInt64Type, ref: ActionParams.Type.cargo_ref): Action;
2845
2947
  claimplot(entityId: UInt64Type, targetItemId: UInt16Type, coords: ActionParams.Type.coordinates): Action;
@@ -3099,6 +3201,7 @@ declare class GameContext {
3099
3201
  private _entities?;
3100
3202
  private _players?;
3101
3203
  private _locations?;
3204
+ private _coordinates?;
3102
3205
  private _epochs?;
3103
3206
  private _actions?;
3104
3207
  private _nft?;
@@ -3110,6 +3213,7 @@ declare class GameContext {
3110
3213
  get entities(): EntitiesManager;
3111
3214
  get players(): PlayersManager;
3112
3215
  get locations(): LocationsManager;
3216
+ get coordinates(): CoordinatesManager;
3113
3217
  get epochs(): EpochsManager;
3114
3218
  get actions(): ActionsManager;
3115
3219
  get nft(): NftManager;
@@ -3162,6 +3266,7 @@ declare class Shipload {
3162
3266
  get entities(): EntitiesManager;
3163
3267
  get players(): PlayersManager;
3164
3268
  get locations(): LocationsManager;
3269
+ get coordinates(): CoordinatesManager;
3165
3270
  get epochs(): EpochsManager;
3166
3271
  get actions(): ActionsManager;
3167
3272
  get nft(): NftManager;
@@ -3423,6 +3528,17 @@ interface EstimateTravelTimeOptions {
3423
3528
  declare function estimateTravelTime(ship: ShipLike, travelMass: UInt64Type, distance: UInt64Type, options?: EstimateTravelTimeOptions): EstimatedTravelTime;
3424
3529
  declare function estimateDealTravelTime(ship: ShipLike, shipMass: UInt64Type, distance: UInt64Type, loadMass: UInt32Type): UInt32;
3425
3530
  declare function hasEnergyForDistance(ship: ShipLike, distance: UInt64Type): boolean;
3531
+ interface TransferLoaderLane {
3532
+ slot_index?: {
3533
+ toNumber(): number;
3534
+ } | number;
3535
+ thrust: {
3536
+ toNumber(): number;
3537
+ } | number;
3538
+ mass: {
3539
+ toNumber(): number;
3540
+ } | number;
3541
+ }
3426
3542
  interface TransferEntity {
3427
3543
  location: {
3428
3544
  z?: {
@@ -3430,17 +3546,7 @@ interface TransferEntity {
3430
3546
  } | number;
3431
3547
  };
3432
3548
  entityClass: EntityClass;
3433
- loaders?: {
3434
- thrust: {
3435
- toNumber(): number;
3436
- } | number;
3437
- mass: {
3438
- toNumber(): number;
3439
- } | number;
3440
- quantity: {
3441
- toNumber(): number;
3442
- } | number;
3443
- };
3549
+ loaderLanes?: TransferLoaderLane[];
3444
3550
  }
3445
3551
  interface HasScheduleAndLocation extends ScheduleData {
3446
3552
  coordinates: ActionParams.Type.coordinates;
@@ -3449,13 +3555,90 @@ declare function getFlightOrigin(entity: HasScheduleAndLocation, flightTaskIndex
3449
3555
  declare function getDestinationLocation(entity: HasScheduleAndLocation): ActionParams.Type.coordinates | undefined;
3450
3556
  /** Returns chain-tile coordinates (rounded). For visual position use getInterpolatedPosition. */
3451
3557
  declare function getPositionAt(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): ActionParams.Type.coordinates;
3558
+ declare function calc_onesided_duration(loaderThrust: number, loaderMass: number, activeZ: number, counterpartZ: number, activeEntityClass: EntityClass, counterpartEntityClass: EntityClass, cargoMass: number): number;
3452
3559
  declare function calc_transfer_duration(source: TransferEntity, dest: TransferEntity, cargoMass: number): number;
3453
3560
 
3561
+ interface Coord {
3562
+ x: number;
3563
+ y: number;
3564
+ }
3565
+ interface Neighbor {
3566
+ coord: Coord;
3567
+ dist: number;
3568
+ }
3569
+ interface SystemGraph {
3570
+ hasSystem(c: Coord): boolean;
3571
+ nearby(c: Coord, reachTiles: number): Neighbor[];
3572
+ }
3573
+ interface RoutePlan {
3574
+ ok: true;
3575
+ waypoints: Coord[];
3576
+ legs: number;
3577
+ totalDistance: number;
3578
+ }
3579
+ type RouteFailureReason = 'empty-destination' | 'no-path' | 'max-legs';
3580
+ interface RouteFailure {
3581
+ ok: false;
3582
+ reason: RouteFailureReason;
3583
+ furthest?: Coord;
3584
+ legsNeeded?: number;
3585
+ }
3586
+ type RouteResult = RoutePlan | RouteFailure;
3587
+ interface PlanRouteParams {
3588
+ origin: Coord;
3589
+ dest: Coord;
3590
+ perLegReach: number;
3591
+ graph: SystemGraph;
3592
+ corridorSlack?: number;
3593
+ nodeBudget?: number;
3594
+ maxLegs?: number;
3595
+ }
3596
+ declare function planRoute(params: PlanRouteParams): RouteResult;
3597
+ declare function sdkSystemGraph(seed: Checksum256Type): SystemGraph;
3598
+
3599
+ interface ReachStats {
3600
+ generator?: {
3601
+ capacity: bigint;
3602
+ };
3603
+ engines?: {
3604
+ drain: bigint;
3605
+ };
3606
+ hauler?: {
3607
+ drain: bigint;
3608
+ };
3609
+ }
3610
+ declare function computePerLegReach(s: ReachStats, haulCount?: number): number;
3611
+ declare function computeGroupPerLegReach(participants: ReachStats[], haulCount: number): number;
3612
+
3454
3613
  type ModuleEntry$2 = Types.module_entry;
3455
3614
  type Lane = Types.lane;
3456
3615
  type Schedule = Types.schedule;
3616
+ interface ResolvedGathererLane {
3617
+ slotIndex: number;
3618
+ yield: number;
3619
+ drain: number;
3620
+ depth: number;
3621
+ outputPct: number;
3622
+ }
3623
+ interface ResolvedCrafterLane {
3624
+ slotIndex: number;
3625
+ speed: number;
3626
+ drain: number;
3627
+ outputPct: number;
3628
+ }
3629
+ interface ResolvedLoaderLane {
3630
+ slotIndex: number;
3631
+ thrust: number;
3632
+ mass: number;
3633
+ outputPct: number;
3634
+ valid: boolean;
3635
+ }
3457
3636
  declare function laneKeyForModule(slotIndex: number): number;
3458
- declare function workerLaneKey(modules: ModuleEntry$2[], moduleSubtype: ModuleType, lanes: Lane[]): number;
3637
+ declare function resolveLaneGatherer(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedGathererLane;
3638
+ declare function selectGatherLane(modules: ModuleEntry$2[], entityItemId: number, lanes: Lane[], stratum: number, explicitSlot?: number): number;
3639
+ declare function resolveLaneCrafter(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedCrafterLane;
3640
+ declare function resolveLaneLoader(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedLoaderLane;
3641
+ declare function workerLaneKey(modules: ModuleEntry$2[], moduleSubtype: ModuleType, lanes: Lane[], stratum?: number): number;
3459
3642
  declare function rawScheduleEnd(schedule: Schedule): Date;
3460
3643
  declare function candidateLaneCompletesAt(entity: ScheduleData, laneKey: number, durationSec: number, now: Date): Date;
3461
3644
 
@@ -3512,11 +3695,13 @@ interface ProjectedEntity {
3512
3695
  shipMass: UInt32;
3513
3696
  capacity?: UInt64;
3514
3697
  engines?: Types.movement_stats;
3515
- loaders?: Types.loader_stats;
3698
+ loaderLanes: Types.loader_lane[];
3516
3699
  generator?: Types.energy_stats;
3517
3700
  hauler?: Types.hauler_stats;
3518
3701
  readonly cargoMass: UInt64;
3519
3702
  readonly totalMass: UInt64;
3703
+ readonly gathererLanes: Types.gatherer_lane[];
3704
+ readonly crafterLanes: Types.crafter_lane[];
3520
3705
  hasMovement(): boolean;
3521
3706
  hasStorage(): boolean;
3522
3707
  hasLoaders(): boolean;
@@ -3529,7 +3714,9 @@ interface Projectable extends ScheduleData {
3529
3714
  hullmass?: UInt32;
3530
3715
  generator?: Types.energy_stats;
3531
3716
  engines?: Types.movement_stats;
3532
- loaders?: Types.loader_stats;
3717
+ loader_lanes?: Types.loader_lane[];
3718
+ gatherer_lanes?: Types.gatherer_lane[];
3719
+ crafter_lanes?: Types.crafter_lane[];
3533
3720
  hauler?: Types.hauler_stats;
3534
3721
  capacity?: UInt32;
3535
3722
  cargo: Types.cargo_item[];
@@ -3640,9 +3827,7 @@ interface Entity {
3640
3827
  entity_name: string;
3641
3828
  location: Coordinates | Types.coordinates;
3642
3829
  }
3643
- type ShipEntity = Entity & Partial<MovementCapability> & Partial<EnergyCapability> & StorageCapability & Partial<LoaderCapability> & MassCapability & ScheduleCapability & {
3644
- gatherer?: Types.gatherer_stats;
3645
- };
3830
+ type ShipEntity = Entity & Partial<MovementCapability> & Partial<EnergyCapability> & StorageCapability & Partial<LoaderCapability> & MassCapability & ScheduleCapability & Partial<GathererCapability>;
3646
3831
  type WarehouseEntity = Entity & StorageCapability & Partial<LoaderCapability> & MassCapability & ScheduleCapability;
3647
3832
  type ContainerEntity = Entity & StorageCapability & MassCapability & ScheduleCapability;
3648
3833
  type AnyEntity = ShipEntity | WarehouseEntity | ContainerEntity;
@@ -3660,16 +3845,17 @@ declare function calcEnergyUsage(entity: MovementCapability, distance: UInt64):
3660
3845
  declare function energyPercent(entity: MovementCapability & EnergyCapability): number;
3661
3846
  declare function needsRecharge(entity: MovementCapability & EnergyCapability): boolean;
3662
3847
 
3663
- declare function calc_gather_duration(gatherer: Types.gatherer_stats, itemMass: number, quantity: number, stratum: number, richness: number): UInt32;
3664
- declare function calc_gather_rate(gatherer: Types.gatherer_stats, itemMass: number, stratum: number, richness: number): {
3848
+ declare const GATHER_MASS_DIVISOR = 228;
3849
+ declare function calc_gather_duration(gatherer: GathererStats, itemMass: number, quantity: number, stratum: number, richness: number): UInt32;
3850
+ declare function calc_gather_rate(gatherer: GathererStats, itemMass: number, stratum: number, richness: number): {
3665
3851
  unitsPerSec: number;
3666
3852
  unitsPerMin: number;
3667
3853
  secPerUnit: number;
3668
3854
  };
3669
- declare function calc_gather_energy(gatherer: Types.gatherer_stats, duration: number): UInt16;
3855
+ declare function calc_gather_energy(gatherer: GathererStats, duration: number): UInt32;
3670
3856
 
3671
3857
  interface CrafterCapability {
3672
- crafter: Types.crafter_stats;
3858
+ crafter: CrafterStats;
3673
3859
  }
3674
3860
  declare function capsHasCrafter(caps: EntityCapabilities): boolean;
3675
3861
  declare function calc_craft_duration(speed: number, totalInputMass: number): UInt32;
@@ -3826,6 +4012,25 @@ declare function computeWarehouseHullCapabilities(stats: Record<string, number>)
3826
4012
  hullmass: number;
3827
4013
  capacity: number;
3828
4014
  };
4015
+ interface GathererLaneEntry {
4016
+ slotIndex: number;
4017
+ yield: number;
4018
+ drain: number;
4019
+ depth: number;
4020
+ outputPct: number;
4021
+ }
4022
+ interface CrafterLaneEntry {
4023
+ slotIndex: number;
4024
+ speed: number;
4025
+ drain: number;
4026
+ outputPct: number;
4027
+ }
4028
+ interface LoaderLaneEntry {
4029
+ slotIndex: number;
4030
+ mass: number;
4031
+ thrust: number;
4032
+ outputPct: number;
4033
+ }
3829
4034
  interface ComputedCapabilities {
3830
4035
  hullmass: number;
3831
4036
  capacity: number;
@@ -3842,15 +4047,18 @@ interface ComputedCapabilities {
3842
4047
  drain: number;
3843
4048
  depth: number;
3844
4049
  };
4050
+ gathererLanes?: GathererLaneEntry[];
3845
4051
  loaders?: {
3846
4052
  mass: number;
3847
4053
  thrust: number;
3848
4054
  quantity: number;
3849
4055
  };
4056
+ loaderLanes?: LoaderLaneEntry[];
3850
4057
  crafter?: {
3851
4058
  speed: number;
3852
4059
  drain: number;
3853
4060
  };
4061
+ crafterLanes?: CrafterLaneEntry[];
3854
4062
  hauler?: {
3855
4063
  capacity: number;
3856
4064
  efficiency: number;
@@ -3901,6 +4109,21 @@ declare function wormholeAt(seed: Checksum256Type, x: number, y: number): {
3901
4109
  } | null;
3902
4110
  declare function isValidWormholePair(seed: Checksum256Type, ax: number, ay: number, bx: number, by: number): boolean;
3903
4111
 
4112
+ declare function rollupGatherer(lanes: Types.gatherer_lane[]): {
4113
+ yield: UInt16;
4114
+ drain: UInt32;
4115
+ depth: UInt16;
4116
+ } | undefined;
4117
+ declare function rollupCrafter(lanes: Types.crafter_lane[]): {
4118
+ speed: UInt16;
4119
+ drain: UInt32;
4120
+ } | undefined;
4121
+ declare function rollupLoaders(lanes: Types.loader_lane[]): {
4122
+ mass: UInt32;
4123
+ thrust: UInt16;
4124
+ quantity: UInt8;
4125
+ } | undefined;
4126
+
3904
4127
  interface ResolvedItemStat {
3905
4128
  key: string;
3906
4129
  label: string;
@@ -3997,6 +4220,8 @@ declare function deserializeAsset(data: Record<string, any>, itemId: number): NF
3997
4220
 
3998
4221
  declare function computeBaseHullmass(stats: bigint): number;
3999
4222
  declare function computeBaseCapacityShip(stats: bigint): number;
4223
+ declare function computeBaseCapacityContainer(stats: bigint): number;
4224
+ declare function computeBaseCapacityContainerT2(stats: bigint): number;
4000
4225
  declare function computeBaseCapacityWarehouse(stats: bigint): number;
4001
4226
  declare const computeEngineThrust: (vol: number) => number;
4002
4227
  declare const computeEngineDrain: (thm: number) => number;
@@ -4111,6 +4336,8 @@ declare const index_deserializeEntity: typeof deserializeEntity;
4111
4336
  declare const index_deserializeAsset: typeof deserializeAsset;
4112
4337
  declare const index_computeBaseHullmass: typeof computeBaseHullmass;
4113
4338
  declare const index_computeBaseCapacityShip: typeof computeBaseCapacityShip;
4339
+ declare const index_computeBaseCapacityContainer: typeof computeBaseCapacityContainer;
4340
+ declare const index_computeBaseCapacityContainerT2: typeof computeBaseCapacityContainerT2;
4114
4341
  declare const index_computeBaseCapacityWarehouse: typeof computeBaseCapacityWarehouse;
4115
4342
  declare const index_computeEngineThrust: typeof computeEngineThrust;
4116
4343
  declare const index_computeEngineDrain: typeof computeEngineDrain;
@@ -4171,6 +4398,8 @@ declare namespace index {
4171
4398
  index_deserializeAsset as deserializeAsset,
4172
4399
  index_computeBaseHullmass as computeBaseHullmass,
4173
4400
  index_computeBaseCapacityShip as computeBaseCapacityShip,
4401
+ index_computeBaseCapacityContainer as computeBaseCapacityContainer,
4402
+ index_computeBaseCapacityContainerT2 as computeBaseCapacityContainerT2,
4174
4403
  index_computeBaseCapacityWarehouse as computeBaseCapacityWarehouse,
4175
4404
  index_computeEngineThrust as computeEngineThrust,
4176
4405
  index_computeEngineDrain as computeEngineDrain,
@@ -4227,38 +4456,6 @@ declare function formatLocation(loc: {
4227
4456
  }): string;
4228
4457
  declare function formatMassScaled(kg: number): string;
4229
4458
 
4230
- interface CoordinateAddress {
4231
- sector: string;
4232
- region: string;
4233
- localX: number;
4234
- localY: number;
4235
- }
4236
- declare function encodeAddress(seed: Checksum256Type, x: number, y: number): CoordinateAddress;
4237
- declare function decodeAddress(seed: Checksum256Type, addr: CoordinateAddress): {
4238
- x: number;
4239
- y: number;
4240
- };
4241
- declare function addressFromCoordinates(seed: Checksum256Type, coords: {
4242
- x: number | {
4243
- toNumber(): number;
4244
- };
4245
- y: number | {
4246
- toNumber(): number;
4247
- };
4248
- }): CoordinateAddress;
4249
-
4250
- declare function encodeSector(seed: Checksum256Type, sx: number, sy: number): string;
4251
- declare function decodeSector(seed: Checksum256Type, name: string): {
4252
- sx: number;
4253
- sy: number;
4254
- };
4255
-
4256
- declare function encodeRegion(seed: Checksum256Type, rx: number, ry: number): string;
4257
- declare function decodeRegion(seed: Checksum256Type, token: string): {
4258
- rx: number;
4259
- ry: number;
4260
- };
4261
-
4262
4459
  interface DisplayNameInputCommon {
4263
4460
  tier: number;
4264
4461
  category?: ResourceCategory;
@@ -4327,6 +4524,20 @@ declare function parseWireEntity(raw: WireEntity): Types.entity_info;
4327
4524
  declare function setSubscriptionsDebug(on: boolean): void;
4328
4525
  declare function isSubscriptionsDebugEnabled(): boolean;
4329
4526
 
4527
+ interface LanePlanEntry {
4528
+ slot: number;
4529
+ quantity: number;
4530
+ }
4531
+ type PlanTarget = {
4532
+ quantity: number;
4533
+ } | 'max';
4534
+ interface GatherPlanEntity extends Projectable {
4535
+ gatherer_lanes: Types.gatherer_lane[];
4536
+ loader_lanes: Types.loader_lane[];
4537
+ }
4538
+ declare function planParallelGather(entity: GatherPlanEntity, target: PlanTarget, stratum: number, now: Date): LanePlanEntry[];
4539
+ declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
4540
+
4330
4541
  type Ship = Entity$1;
4331
4542
  type Warehouse = Entity$1;
4332
4543
  type Container = Entity$1;
@@ -4336,13 +4547,11 @@ type Nexus = Entity$1;
4336
4547
 
4337
4548
  type movement_stats = Types.movement_stats;
4338
4549
  type energy_stats = Types.energy_stats;
4339
- type loader_stats = Types.loader_stats;
4340
4550
  type lane = Types.lane;
4341
4551
  type task = Types.task;
4342
4552
  type cargo_item = Types.cargo_item;
4343
4553
  type entity_row = Types.entity_row;
4344
- type gatherer_stats = Types.gatherer_stats;
4345
4554
  type location_static = Types.location_static;
4346
4555
  type location_derived = Types.location_derived;
4347
4556
 
4348
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, 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, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, 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, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, 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, GathererCapability, GathererDepthParams, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, 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_CERAMIC, 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_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_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, 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_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, 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_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LaneView, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, 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_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_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, 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, PackedModule, PackedModuleInput, PingMessage, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RawData, Recipe, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedEvent, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, 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, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, 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, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeAddress, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, 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, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, loader_stats, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
4557
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, 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, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, 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, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, FloatPosition, 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, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, 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_CERAMIC, 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_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_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, 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_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, 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_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, 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_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_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, 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, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, 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, RawData, ReachStats, Recipe, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceStats, RouteFailure, RouteFailureReason, RoutePlan, RouteResult, 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, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, 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, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, 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, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, getCapabilityAttributes, getCategoryInfo, 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, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelGather, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };