@aephia/atlas-kit 0.6.0-next.91 → 0.6.0-next.92

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.
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, type FleetWarpLaneEstimate, type FleetWarp
4
4
  export { deriveFleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimateInput, } from './coordinate-warp-estimate.js';
5
5
  export { deriveFleetSubwarpEstimate, type FleetSubwarpEstimate, type FleetSubwarpEstimateInput, } from './subwarp-estimate.js';
6
6
  export { deriveFleetMovementCooldown, type FleetMovementCooldownInput, } from './cooldown.js';
7
+ export { deriveFleetTravelProfile, type FleetTravelProfile, type FleetTravelProfileInput, } from './travel-profile.js';
7
8
  import { SageSdkError, type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext, type SageSubscription, type SubscriptionDiagnosticEvent, type SubscriptionOptions } from '../client/index.js';
8
9
  import { deriveFleetTimers, interpolateSubwarpPosition, type ResolvedFleetAccountData } from '../internal/fleet.js';
9
10
  export type { CapacitySummary, FleetTimers, ResolvedFleetAccountData, SubwarpPosition, } from '../internal/fleet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, } from './warp-lane-estimate.js';
4
4
  export { deriveFleetCoordinateWarpEstimate, } from './coordinate-warp-estimate.js';
5
5
  export { deriveFleetSubwarpEstimate, } from './subwarp-estimate.js';
6
6
  export { deriveFleetMovementCooldown, } from './cooldown.js';
7
+ export { deriveFleetTravelProfile, } from './travel-profile.js';
7
8
  import { AccountDecodeError, AccountNotFoundError, ProviderError, SageSdkError, entityRef, } from '../client/index.js';
8
9
  import { assertCanonicalFleetAddress, discoverFleetAccounts, discoverFleetAccountsForGame, fleetAccountDefinition, } from '../internal/c4/fleet.js';
9
10
  import { deriveFleetTimers, interpolateSubwarpPosition, resolveFleetAccount, } from '../internal/fleet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import type { FleetCargoStatsData, FleetCombatStatsData, FleetMovementStatsData } from '../internal/c4/fleet.js';
2
+ /** Stats read by the travel profile: a Fleet's `stats` or a ship configuration's
3
+ * `stats`, which equal a one-ship Fleet's. Character modifiers are raw I32F32
4
+ * values; omitted or zero modifiers are neutral, as in the movement estimates.
5
+ * @example
6
+ * ```ts
7
+ * declare const ship: { readonly stats: FleetTravelProfileInput['stats'] };
8
+ * const input: FleetTravelProfileInput = { stats: ship.stats };
9
+ * ```
10
+ */
11
+ export interface FleetTravelProfileInput {
12
+ readonly stats: {
13
+ readonly movement: Pick<FleetMovementStatsData, 'subwarpSpeed' | 'subwarpFuelConsumptionRate' | 'warpSpeed' | 'warpFuelConsumptionRate' | 'maxWarpDistance' | 'warpCoolDownSeconds' | 'warpLaneSpeed'>;
14
+ readonly cargo: Pick<FleetCargoStatsData, 'fuelCapacity'>;
15
+ readonly combat: Pick<FleetCombatStatsData, 'warpSpoolTimeSeconds'>;
16
+ };
17
+ readonly subwarpSpeedModifierRaw?: bigint;
18
+ readonly warpSpeedModifierRaw?: bigint;
19
+ readonly warpCooldownModifierRaw?: bigint;
20
+ }
21
+ /** Reference travel values per AU, per maximum-range warp and per full tank.
22
+ * Each section is null when its speed (or warp range) is zero. Whole seconds
23
+ * and whole Fuel are bigint, as in the movement estimates; ratios are numbers.
24
+ * A null full-tank value means that movement mode burns no Fuel.
25
+ * @example
26
+ * ```ts
27
+ * declare const profile: FleetTravelProfile;
28
+ * console.log(profile.subwarp?.fullTankRangeAu, JSON.stringify(profile));
29
+ * ```
30
+ */
31
+ export interface FleetTravelProfile {
32
+ readonly subwarp: {
33
+ /** Seconds to subwarp exactly one AU. */
34
+ readonly secondsPerAu: number;
35
+ /** Fractional Fuel expenditure recorded for one AU. */
36
+ readonly fuelPerAu: number;
37
+ /** Subwarp distance whose Fuel expenditure equals a full tank. */
38
+ readonly fullTankRangeAu: number | null;
39
+ /** Seconds to subwarp the full-tank range. */
40
+ readonly fullTankSeconds: number | null;
41
+ } | null;
42
+ readonly coordinateWarp: {
43
+ /** Maximum coordinate-warp distance, in AU. */
44
+ readonly maxJumpAu: number;
45
+ /** Whole seconds for one maximum-range warp, including spool. */
46
+ readonly maxJumpSeconds: bigint;
47
+ /** Whole Fuel debited for one maximum-range warp. */
48
+ readonly maxJumpFuel: bigint;
49
+ /** Whole seconds of warp cooldown assigned at arrival. */
50
+ readonly cooldownSeconds: bigint;
51
+ /** Seconds from one maximum-range departure to the next: jump plus cooldown. */
52
+ readonly cycleSeconds: bigint;
53
+ /** AU per hour when chaining maximum-range warps as cooldown allows. */
54
+ readonly sustainedAuPerHour: number;
55
+ /** Maximum-range warp debits that fit in a full tank. */
56
+ readonly maxJumpsPerFullTank: bigint | null;
57
+ /** Distance covered by those warps. */
58
+ readonly fullTankRangeAu: number | null;
59
+ } | null;
60
+ readonly warpLane: {
61
+ /** Seconds per AU of lane; each hop rounds up to whole seconds. */
62
+ readonly secondsPerAu: number;
63
+ } | null;
64
+ toJSON(): unknown;
65
+ }
66
+ /** Derives reference travel values from Fleet or ship configuration stats,
67
+ * using the qualified subwarp, coordinate-warp, warp-lane and cooldown
68
+ * arithmetic (PTR deployment slot 54356023) on one-AU and maximum-range trips
69
+ * from Idle. Full-tank range inverts the qualified Fuel rate; sustained warp
70
+ * speed chains maximum-range warps, each waiting out the cooldown assigned at
71
+ * arrival.
72
+ *
73
+ * These are reference values, not a route or permission check: no planet
74
+ * departure, region policy, lane connectivity or toll, crew, XP, active timers
75
+ * or current tank are considered, and whether a warp may depart with less Fuel
76
+ * than its debit is not established. A configuration's stats describe one ship;
77
+ * stats of Fleets mixing configurations are not qualified here.
78
+ * @throws InvalidDerivationInputError for a maximum warp distance of 128 AU or
79
+ * more, or modifiers and stats outside the movement estimates' bounds.
80
+ * @example
81
+ * ```ts
82
+ * const profile = deriveFleetTravelProfile({
83
+ * stats: {
84
+ * movement: {
85
+ * subwarpSpeed: { raw: 65536n, value: 1 },
86
+ * subwarpFuelConsumptionRate: { raw: 64n, value: 1 },
87
+ * warpSpeed: { raw: 65536n, value: 1 },
88
+ * warpFuelConsumptionRate: { raw: 128n, value: 2 },
89
+ * maxWarpDistance: { raw: 512n, value: 2 },
90
+ * warpCoolDownSeconds: 6,
91
+ * warpLaneSpeed: { raw: 131072n, value: 2 },
92
+ * },
93
+ * cargo: { fuelCapacity: 100n },
94
+ * combat: { warpSpoolTimeSeconds: 2 },
95
+ * },
96
+ * });
97
+ * console.log(profile.subwarp?.fullTankRangeAu); // 100
98
+ * console.log(profile.coordinateWarp?.cycleSeconds); // 10n: 2 spool + 2 travel + 6 cooldown
99
+ * ```
100
+ */
101
+ export declare function deriveFleetTravelProfile(input: FleetTravelProfileInput): FleetTravelProfile;
102
+ //# sourceMappingURL=travel-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"travel-profile.d.ts","sourceRoot":"","sources":["../../src/fleets/travel-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAOjC;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,IAAI,CACrB,sBAAsB,EACpB,cAAc,GACd,4BAA4B,GAC5B,WAAW,GACX,yBAAyB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,CAClB,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAC1D,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;KACrE,CAAC;IACF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE;QAChB,yCAAyC;QACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,uDAAuD;QACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,kEAAkE;QAClE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,8CAA8C;QAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,cAAc,EAAE;QACvB,+CAA+C;QAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,iEAAiE;QACjE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,qDAAqD;QACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,0DAA0D;QAC1D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,gFAAgF;QAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,wEAAwE;QACxE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,yDAAyD;QACzD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5C,uCAAuC;QACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE;QACjB,mEAAmE;QACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,MAAM,IAAI,OAAO,CAAC;CACnB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,kBAAkB,CA6FpB"}
@@ -0,0 +1,120 @@
1
+ import { InvalidDerivationInputError } from '../client/index.js';
2
+ import { attachJsonSerialization } from '../internal/json.js';
3
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
4
+ import { deriveFleetCoordinateWarpEstimate } from './coordinate-warp-estimate.js';
5
+ import { deriveFleetMovementCooldown } from './cooldown.js';
6
+ import { calculateMovement, movementScale } from './movement-arithmetic.js';
7
+ const neutral = 1n << 32n;
8
+ const origin = { x: 0n, y: 0n };
9
+ const oneAu = { x: movementScale, y: 0n };
10
+ // A maximum range of 128 AU or more cannot be placed inside the signed I8F56
11
+ // coordinate span the movement arithmetic is qualified for.
12
+ const maxProfiledRangeRaw = (1n << 15n) - 1n;
13
+ /** Derives reference travel values from Fleet or ship configuration stats,
14
+ * using the qualified subwarp, coordinate-warp, warp-lane and cooldown
15
+ * arithmetic (PTR deployment slot 54356023) on one-AU and maximum-range trips
16
+ * from Idle. Full-tank range inverts the qualified Fuel rate; sustained warp
17
+ * speed chains maximum-range warps, each waiting out the cooldown assigned at
18
+ * arrival.
19
+ *
20
+ * These are reference values, not a route or permission check: no planet
21
+ * departure, region policy, lane connectivity or toll, crew, XP, active timers
22
+ * or current tank are considered, and whether a warp may depart with less Fuel
23
+ * than its debit is not established. A configuration's stats describe one ship;
24
+ * stats of Fleets mixing configurations are not qualified here.
25
+ * @throws InvalidDerivationInputError for a maximum warp distance of 128 AU or
26
+ * more, or modifiers and stats outside the movement estimates' bounds.
27
+ * @example
28
+ * ```ts
29
+ * const profile = deriveFleetTravelProfile({
30
+ * stats: {
31
+ * movement: {
32
+ * subwarpSpeed: { raw: 65536n, value: 1 },
33
+ * subwarpFuelConsumptionRate: { raw: 64n, value: 1 },
34
+ * warpSpeed: { raw: 65536n, value: 1 },
35
+ * warpFuelConsumptionRate: { raw: 128n, value: 2 },
36
+ * maxWarpDistance: { raw: 512n, value: 2 },
37
+ * warpCoolDownSeconds: 6,
38
+ * warpLaneSpeed: { raw: 131072n, value: 2 },
39
+ * },
40
+ * cargo: { fuelCapacity: 100n },
41
+ * combat: { warpSpoolTimeSeconds: 2 },
42
+ * },
43
+ * });
44
+ * console.log(profile.subwarp?.fullTankRangeAu); // 100
45
+ * console.log(profile.coordinateWarp?.cycleSeconds); // 10n: 2 spool + 2 travel + 6 cooldown
46
+ * ```
47
+ */
48
+ export function deriveFleetTravelProfile(input) {
49
+ const { movement, cargo, combat } = input.stats;
50
+ const fuelCapacity = cargo.fuelCapacity;
51
+ if (fuelCapacity < 0n)
52
+ throw new InvalidDerivationInputError('Fuel capacity', fuelCapacity, 'Use the Fleet or ship configuration fuelCapacity, a nonnegative whole number of Fuel.');
53
+ let subwarp = null;
54
+ if (movement.subwarpSpeed.raw !== 0n) {
55
+ const rateRaw = movement.subwarpFuelConsumptionRate.raw;
56
+ const { durationSecondsRaw, fuelExpenditureRaw } = calculateMovement({
57
+ fromRaw: origin,
58
+ toRaw: oneAu,
59
+ speedRaw: movement.subwarpSpeed.raw,
60
+ fuelRateRaw: rateRaw,
61
+ speedModifierRaw: input.subwarpSpeedModifierRaw ?? neutral,
62
+ }, 'Subwarp');
63
+ const secondsPerAu = Number(durationSecondsRaw) / Number(movementScale);
64
+ const fullTankRangeAu = rateRaw === 0n ? null : (Number(fuelCapacity) * 64) / Number(rateRaw);
65
+ subwarp = {
66
+ secondsPerAu,
67
+ fuelPerAu: Number(fuelExpenditureRaw) / Number(movementScale),
68
+ fullTankRangeAu,
69
+ fullTankSeconds: fullTankRangeAu === null ? null : fullTankRangeAu * secondsPerAu,
70
+ };
71
+ }
72
+ let coordinateWarp = null;
73
+ const rangeRaw = movement.maxWarpDistance.raw;
74
+ if (movement.warpSpeed.raw !== 0n && rangeRaw !== 0n) {
75
+ if (rangeRaw > maxProfiledRangeRaw)
76
+ throw new InvalidDerivationInputError('Maximum warp distance raw', rangeRaw, 'Travel profiles support maximum warp distances below 128 AU, the coordinate span the movement arithmetic is qualified for. Estimate a specific coordinate warp instead.');
77
+ const jump = deriveFleetCoordinateWarpEstimate({
78
+ fromRaw: origin,
79
+ toRaw: { x: rangeRaw << 48n, y: 0n },
80
+ speedRaw: movement.warpSpeed.raw,
81
+ fuelRateRaw: movement.warpFuelConsumptionRate.raw,
82
+ speedModifierRaw: input.warpSpeedModifierRaw ?? neutral,
83
+ spoolSeconds: combat.warpSpoolTimeSeconds,
84
+ maxWarpDistanceRaw: rangeRaw,
85
+ });
86
+ const cooldownSeconds = deriveFleetMovementCooldown({
87
+ kind: 'coordinateWarp',
88
+ arrivesAtUnixSeconds: 0n,
89
+ baseCooldownSeconds: movement.warpCoolDownSeconds,
90
+ cooldownModifierRaw: input.warpCooldownModifierRaw ?? neutral,
91
+ });
92
+ const cycleSeconds = jump.durationSeconds + cooldownSeconds;
93
+ const jumps = jump.fuelDebit === 0n ? null : fuelCapacity / jump.fuelDebit;
94
+ coordinateWarp = {
95
+ maxJumpAu: jump.distanceAu,
96
+ maxJumpSeconds: jump.durationSeconds,
97
+ maxJumpFuel: jump.fuelDebit,
98
+ cooldownSeconds,
99
+ cycleSeconds,
100
+ sustainedAuPerHour: (jump.distanceAu * 3600) / Number(cycleSeconds),
101
+ maxJumpsPerFullTank: jumps,
102
+ fullTankRangeAu: jumps === null ? null : Number(jumps) * jump.distanceAu,
103
+ };
104
+ }
105
+ let warpLane = null;
106
+ if (movement.warpLaneSpeed.raw !== 0n) {
107
+ const { durationSecondsRaw } = calculateMovement({
108
+ fromRaw: origin,
109
+ toRaw: oneAu,
110
+ speedRaw: movement.warpLaneSpeed.raw,
111
+ fuelRateRaw: 0n,
112
+ speedModifierRaw: neutral,
113
+ }, 'Warp lane');
114
+ warpLane = {
115
+ secondsPerAu: Number(durationSecondsRaw) / Number(movementScale),
116
+ };
117
+ }
118
+ return freezeResolvedSnapshot(attachJsonSerialization({ subwarp, coordinateWarp, warpLane }));
119
+ }
120
+ //# sourceMappingURL=travel-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"travel-profile.js","sourceRoot":"","sources":["../../src/fleets/travel-profile.ts"],"names":[],"mappings":"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"}
@@ -159,4 +159,5 @@ export declare function getFleetMiningState(context: SageContext, fleet: Address
159
159
  */
160
160
  export declare function getFleetMiningStatesByOwner(context: SageContext, owner: Address, options?: MiningDiscoveryOptions): Promise<readonly FleetMiningSnapshot[]>;
161
161
  export { deriveMiningEstimate, type MiningEstimate, type MiningEstimateInput, type MiningEstimateLimit, type MiningEstimateResourceInput, } from './estimate.js';
162
+ export { deriveMiningProfile, type MiningProfile, type MiningProfileInput, } from './profile.js';
162
163
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
@@ -237,4 +237,5 @@ export async function getFleetMiningStatesByOwner(context, owner, options) {
237
237
  return Object.freeze(attachReadMeta(states, metadata));
238
238
  }
239
239
  export { deriveMiningEstimate, } from './estimate.js';
240
+ export { deriveMiningProfile, } from './profile.js';
240
241
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { FleetCargoStatsData } from '../internal/c4/fleet.js';
2
+ /** Fleet or ship configuration cargo stats plus one reference Asteroid resource.
3
+ * Richness and storage costs are explicit assumptions: storage costs are
4
+ * translated storage units per unit (an encoded 256 is 1), not raw values.
5
+ * @example
6
+ * ```ts
7
+ * declare const ship: { readonly stats: MiningProfileInput['stats'] };
8
+ * const input: MiningProfileInput = {
9
+ * stats: ship.stats, richness: 1, resourceStorageCost: 1, foodStorageCost: 1,
10
+ * };
11
+ * ```
12
+ */
13
+ export interface MiningProfileInput {
14
+ readonly stats: {
15
+ readonly cargo: Pick<FleetCargoStatsData, 'miningRate' | 'foodConsumptionRate' | 'ammoConsumptionRate' | 'cargoCapacity' | 'ammoCapacity'>;
16
+ };
17
+ readonly richness: number;
18
+ readonly resourceStorageCost: number;
19
+ readonly foodStorageCost: number;
20
+ }
21
+ /** Reference mining values for one selected resource at the given richness,
22
+ * with no crew, research or rare-mineral multiplier. `fullHold` starts from an
23
+ * empty hold carrying exactly the Food it burns and a full Ammo bank; it is
24
+ * null when nothing is mined, the hold has no capacity, or Food outflow would
25
+ * keep pace with output. Ratios are null when that consumable is not burned.
26
+ * @example
27
+ * ```ts
28
+ * declare const profile: MiningProfile;
29
+ * console.log(profile.unitsPerHour, profile.fullHold?.durationSeconds);
30
+ * ```
31
+ */
32
+ export interface MiningProfile {
33
+ readonly basis: 'official-model-estimate';
34
+ readonly unitsPerSecond: number;
35
+ readonly unitsPerHour: number;
36
+ /** Resource units mined per Food burned. */
37
+ readonly unitsPerFood: number | null;
38
+ /** Resource units mined per Ammo burned. */
39
+ readonly unitsPerAmmo: number | null;
40
+ readonly fullHold: {
41
+ readonly durationSeconds: number;
42
+ readonly minedUnits: number;
43
+ /** Food burned, which is also the Food to carry in the hold at the start. */
44
+ readonly foodUnits: number;
45
+ readonly ammoUnits: number;
46
+ readonly limitedBy: 'cargo' | 'ammo';
47
+ } | null;
48
+ }
49
+ /** Derives reference mining values from Fleet or ship configuration stats with
50
+ * the official constant-rate model behind `deriveMiningEstimate`. The Fleet
51
+ * rate times richness gives output; `foodConsumptionRate` and
52
+ * `ammoConsumptionRate` are burned per second while mining, as the official
53
+ * SAGE Editor Suite scenario applies them.
54
+ *
55
+ * The full-hold scenario carries Food equal to rate × fill time, so the Food
56
+ * burned frees exactly the space it occupied and the hold fills in capacity ÷
57
+ * (output × storage cost) seconds, unless the Ammo bank runs out first. This is
58
+ * an estimate, not a settlement: fixed-point rounding, eligibility, regional
59
+ * research, planet-exit Fuel and changing state are excluded.
60
+ * @throws InvalidDerivationInputError for negative or non-finite stats or
61
+ * assumptions, or derived values that overflow to Infinity.
62
+ * @example
63
+ * ```ts
64
+ * const profile = deriveMiningProfile({
65
+ * stats: {
66
+ * cargo: {
67
+ * miningRate: { raw: 16384n, value: 1 },
68
+ * foodConsumptionRate: { raw: 2048n, value: 0.125 },
69
+ * ammoConsumptionRate: { raw: 1024n, value: 0.0625 },
70
+ * cargoCapacity: 100n,
71
+ * ammoCapacity: 1000n,
72
+ * },
73
+ * },
74
+ * richness: 2, resourceStorageCost: 1, foodStorageCost: 1,
75
+ * });
76
+ * console.log(profile.unitsPerHour); // 7200
77
+ * console.log(profile.fullHold?.durationSeconds); // 50: 100 capacity / 2 per second
78
+ * console.log(profile.fullHold?.foodUnits); // 6.25 Food carried and burned
79
+ * ```
80
+ */
81
+ export declare function deriveMiningProfile(input: MiningProfileInput): MiningProfile;
82
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/mining/profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE,IAAI,CAClB,mBAAmB,EACjB,YAAY,GACZ,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,cAAc,CACjB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,6EAA6E;QAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;KACtC,GAAG,IAAI,CAAC;CACV;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAqF5E"}
@@ -0,0 +1,109 @@
1
+ import { InvalidDerivationInputError } from '../client/errors.js';
2
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
3
+ import { deriveMiningEstimate } from './estimate.js';
4
+ // Every consumed stat and every returned value is checked, including when no
5
+ // full hold is estimated: JSON turns NaN and Infinity into null, which would be
6
+ // indistinguishable from the documented not-burned and no-hold nulls.
7
+ function checked(field, value) {
8
+ if (!Number.isFinite(value) || value < 0)
9
+ throw new InvalidDerivationInputError(field, value, 'Supply finite, nonnegative stats, richness and translated storage costs (1 for an encoded storage cost of 256) whose derived values remain finite.');
10
+ return value;
11
+ }
12
+ /** Derives reference mining values from Fleet or ship configuration stats with
13
+ * the official constant-rate model behind `deriveMiningEstimate`. The Fleet
14
+ * rate times richness gives output; `foodConsumptionRate` and
15
+ * `ammoConsumptionRate` are burned per second while mining, as the official
16
+ * SAGE Editor Suite scenario applies them.
17
+ *
18
+ * The full-hold scenario carries Food equal to rate × fill time, so the Food
19
+ * burned frees exactly the space it occupied and the hold fills in capacity ÷
20
+ * (output × storage cost) seconds, unless the Ammo bank runs out first. This is
21
+ * an estimate, not a settlement: fixed-point rounding, eligibility, regional
22
+ * research, planet-exit Fuel and changing state are excluded.
23
+ * @throws InvalidDerivationInputError for negative or non-finite stats or
24
+ * assumptions, or derived values that overflow to Infinity.
25
+ * @example
26
+ * ```ts
27
+ * const profile = deriveMiningProfile({
28
+ * stats: {
29
+ * cargo: {
30
+ * miningRate: { raw: 16384n, value: 1 },
31
+ * foodConsumptionRate: { raw: 2048n, value: 0.125 },
32
+ * ammoConsumptionRate: { raw: 1024n, value: 0.0625 },
33
+ * cargoCapacity: 100n,
34
+ * ammoCapacity: 1000n,
35
+ * },
36
+ * },
37
+ * richness: 2, resourceStorageCost: 1, foodStorageCost: 1,
38
+ * });
39
+ * console.log(profile.unitsPerHour); // 7200
40
+ * console.log(profile.fullHold?.durationSeconds); // 50: 100 capacity / 2 per second
41
+ * console.log(profile.fullHold?.foodUnits); // 6.25 Food carried and burned
42
+ * ```
43
+ */
44
+ export function deriveMiningProfile(input) {
45
+ const { cargo } = input.stats;
46
+ const richness = checked('Resource richness', input.richness);
47
+ const resourceStorageCost = checked('Resource storage cost', input.resourceStorageCost);
48
+ const foodStorageCost = checked('Food storage cost', input.foodStorageCost);
49
+ const rate = checked('Fleet mining units per second', cargo.miningRate.value);
50
+ const foodBurn = checked('Food burn units per second', cargo.foodConsumptionRate.value);
51
+ const ammoBurn = checked('Ammo burn units per second', cargo.ammoConsumptionRate.value);
52
+ const capacity = checked('Cargo capacity', Number(cargo.cargoCapacity));
53
+ const ammoCapacity = checked('Ammo capacity', Number(cargo.ammoCapacity));
54
+ const unitsPerSecond = checked('Resource output rate', rate * richness);
55
+ const inflow = checked('Resource volume inflow', unitsPerSecond * resourceStorageCost);
56
+ const foodUnits = inflow === 0
57
+ ? 0
58
+ : checked('Food units per hold', (foodBurn * capacity) / inflow);
59
+ const foodVolume = checked('Food volume per hold', foodUnits * foodStorageCost);
60
+ let fullHold = null;
61
+ if (inflow > 0 && capacity > 0 && foodVolume < capacity) {
62
+ const target = capacity / inflow;
63
+ const estimate = deriveMiningEstimate({
64
+ fleetUnitsPerSecond: rate,
65
+ durationSeconds: target,
66
+ resources: [
67
+ {
68
+ cargoId: 0,
69
+ richness,
70
+ storageCost: resourceStorageCost,
71
+ runtimeMultiplier: 1,
72
+ },
73
+ ],
74
+ cargo: { occupiedSpace: foodVolume, capacity },
75
+ food: {
76
+ availableUnits: foodUnits,
77
+ burnUnitsPerSecond: foodBurn,
78
+ storageCost: foodStorageCost,
79
+ },
80
+ ammo: {
81
+ availableUnits: ammoCapacity,
82
+ burnUnitsPerSecond: ammoBurn,
83
+ },
84
+ });
85
+ const ammoLimit = estimate.limitsSeconds.ammo;
86
+ fullHold = {
87
+ durationSeconds: estimate.durationSeconds,
88
+ minedUnits: estimate.outputs[0].projectedUnits,
89
+ foodUnits: estimate.consumedFoodUnits,
90
+ ammoUnits: estimate.consumedAmmoUnits,
91
+ limitedBy: ammoLimit !== null && ammoLimit < target * (1 - 1e-9)
92
+ ? 'ammo'
93
+ : 'cargo',
94
+ };
95
+ }
96
+ return freezeResolvedSnapshot({
97
+ basis: 'official-model-estimate',
98
+ unitsPerSecond,
99
+ unitsPerHour: checked('Resource units per hour', unitsPerSecond * 3600),
100
+ unitsPerFood: foodBurn === 0
101
+ ? null
102
+ : checked('Resource units per Food', unitsPerSecond / foodBurn),
103
+ unitsPerAmmo: ammoBurn === 0
104
+ ? null
105
+ : checked('Resource units per Ammo', unitsPerSecond / ammoBurn),
106
+ fullHold,
107
+ });
108
+ }
109
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/mining/profile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aephia/atlas-kit",
3
- "version": "0.6.0-next.91",
3
+ "version": "0.6.0-next.92",
4
4
  "description": "Community-maintained non-custodial TypeScript SDK for Star Atlas SAGE C4.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Aephia contributors",