@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/testing.d.ts CHANGED
@@ -142,10 +142,13 @@ declare namespace Types {
142
142
  quantity: UInt32;
143
143
  inputs: cargo_item[];
144
144
  target?: UInt64;
145
+ slot?: UInt8;
145
146
  }
146
- class crafter_stats extends Struct {
147
+ class crafter_lane extends Struct {
148
+ slot_index: UInt8;
147
149
  speed: UInt16;
148
150
  drain: UInt32;
151
+ output_pct: UInt16;
149
152
  }
150
153
  class demolish extends Struct {
151
154
  entity_id: UInt64;
@@ -178,20 +181,23 @@ declare namespace Types {
178
181
  class warp_stats extends Struct {
179
182
  range: UInt32;
180
183
  }
181
- class gatherer_stats extends Struct {
184
+ class hauler_stats extends Struct {
185
+ capacity: UInt8;
186
+ efficiency: UInt16;
187
+ drain: UInt32;
188
+ }
189
+ class gatherer_lane extends Struct {
190
+ slot_index: UInt8;
182
191
  yield: UInt16;
183
192
  drain: UInt32;
184
193
  depth: UInt16;
194
+ output_pct: UInt16;
185
195
  }
186
- class loader_stats extends Struct {
196
+ class loader_lane extends Struct {
197
+ slot_index: UInt8;
187
198
  mass: UInt32;
188
199
  thrust: UInt16;
189
- quantity: UInt8;
190
- }
191
- class hauler_stats extends Struct {
192
- capacity: UInt8;
193
- efficiency: UInt16;
194
- drain: UInt32;
200
+ output_pct: UInt16;
195
201
  }
196
202
  class task extends Struct {
197
203
  type: UInt8;
@@ -235,10 +241,10 @@ declare namespace Types {
235
241
  engines?: movement_stats;
236
242
  warp?: warp_stats;
237
243
  generator?: energy_stats;
238
- gatherer?: gatherer_stats;
239
- loaders?: loader_stats;
240
244
  hauler?: hauler_stats;
241
- crafter?: crafter_stats;
245
+ gatherer_lanes: gatherer_lane[];
246
+ crafter_lanes: crafter_lane[];
247
+ loader_lanes: loader_lane[];
242
248
  lanes: lane[];
243
249
  holds: hold[];
244
250
  }
@@ -314,6 +320,7 @@ declare namespace Types {
314
320
  destination_id: UInt64;
315
321
  stratum: UInt16;
316
322
  quantity: UInt32;
323
+ slot?: UInt8;
317
324
  }
318
325
  class genesisfleet extends Struct {
319
326
  entities: entity_row[];
@@ -652,10 +659,10 @@ declare namespace Types {
652
659
  engines?: movement_stats;
653
660
  warp?: warp_stats;
654
661
  generator?: energy_stats;
655
- gatherer?: gatherer_stats;
656
- loaders?: loader_stats;
657
662
  hauler?: hauler_stats;
658
- crafter?: crafter_stats;
663
+ gatherer_lanes: gatherer_lane[];
664
+ crafter_lanes: crafter_lane[];
665
+ loader_lanes: loader_lane[];
659
666
  }
660
667
  class recharge extends Struct {
661
668
  id: UInt64;
@@ -842,14 +849,49 @@ declare class Coordinates extends Types.coordinates {
842
849
  toLocationId(): UInt64;
843
850
  }
844
851
 
852
+ interface LoaderStats {
853
+ mass: {
854
+ toNumber(): number;
855
+ multiplying(v: unknown): {
856
+ toNumber(): number;
857
+ };
858
+ };
859
+ thrust: {
860
+ toNumber(): number;
861
+ };
862
+ quantity: {
863
+ toNumber(): number;
864
+ gt(v: unknown): boolean;
865
+ };
866
+ }
867
+ interface GathererStats {
868
+ yield: {
869
+ toNumber(): number;
870
+ };
871
+ drain: {
872
+ toNumber(): number;
873
+ };
874
+ depth: {
875
+ toNumber(): number;
876
+ toString(): string;
877
+ };
878
+ }
879
+ interface CrafterStats {
880
+ speed: {
881
+ toNumber(): number;
882
+ };
883
+ drain: {
884
+ toNumber(): number;
885
+ };
886
+ }
845
887
  interface EntityCapabilities {
846
888
  hullmass?: UInt32;
847
889
  capacity?: UInt32;
848
890
  engines?: Types.movement_stats;
849
891
  generator?: Types.energy_stats;
850
- loaders?: Types.loader_stats;
851
- gatherer?: Types.gatherer_stats;
852
- crafter?: Types.crafter_stats;
892
+ loaders?: LoaderStats;
893
+ gatherer?: GathererStats;
894
+ crafter?: CrafterStats;
853
895
  hauler?: Types.hauler_stats;
854
896
  }
855
897
  interface EntityState {
@@ -874,11 +916,13 @@ interface ProjectedEntity {
874
916
  shipMass: UInt32;
875
917
  capacity?: UInt64;
876
918
  engines?: Types.movement_stats;
877
- loaders?: Types.loader_stats;
919
+ loaderLanes: Types.loader_lane[];
878
920
  generator?: Types.energy_stats;
879
921
  hauler?: Types.hauler_stats;
880
922
  readonly cargoMass: UInt64;
881
923
  readonly totalMass: UInt64;
924
+ readonly gathererLanes: Types.gatherer_lane[];
925
+ readonly crafterLanes: Types.crafter_lane[];
882
926
  hasMovement(): boolean;
883
927
  hasStorage(): boolean;
884
928
  hasLoaders(): boolean;
@@ -897,9 +941,11 @@ interface ContractProjectedState {
897
941
  hullmass?: UInt32;
898
942
  capacity?: UInt32;
899
943
  engines?: Types.movement_stats;
900
- loaders?: Types.loader_stats;
901
944
  generator?: Types.energy_stats;
902
945
  hauler?: Types.hauler_stats;
946
+ gatherer_lanes: Types.gatherer_lane[];
947
+ crafter_lanes: Types.crafter_lane[];
948
+ loader_lanes: Types.loader_lane[];
903
949
  }
904
950
  interface ProjectionComparisonOptions {
905
951
  step?: number;