@aephia/atlas-kit 0.6.0-next.1 → 0.6.0-next.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dist/cargo/actions/deposit.d.ts +44 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -0
- package/dist/cargo/actions/deposit.js +212 -0
- package/dist/cargo/actions/deposit.js.map +1 -0
- package/dist/cargo/actions/index.d.ts +2 -0
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +12 -15
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +14 -0
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-context.js +12 -0
- package/dist/cargo/actions/wallet-context.js.map +1 -0
- package/dist/cargo/actions/wallet-token.d.ts +8 -0
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-token.js +50 -0
- package/dist/cargo/actions/wallet-token.js.map +1 -0
- package/dist/cargo/actions/withdrawal.d.ts +46 -0
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -0
- package/dist/cargo/actions/withdrawal.js +266 -0
- package/dist/cargo/actions/withdrawal.js.map +1 -0
- package/dist/claim-stakes/actions/index.d.ts +13 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +137 -111
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +35 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +104 -67
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +101 -108
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +33 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +44 -15
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +36 -0
- package/dist/factions/actions/index.d.ts.map +1 -0
- package/dist/factions/actions/index.js +137 -0
- package/dist/factions/actions/index.js.map +1 -0
- package/dist/factions/index.d.ts +1 -0
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -7
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +58 -0
- package/dist/factions/profile-faction.d.ts.map +1 -0
- package/dist/factions/profile-faction.js +63 -0
- package/dist/factions/profile-faction.js.map +1 -0
- package/dist/fleets/actions/add-ship.d.ts +35 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +149 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +138 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/dock-bounds.d.ts +38 -0
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
- package/dist/fleets/actions/dock-bounds.js +46 -0
- package/dist/fleets/actions/dock-bounds.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +38 -16
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +246 -153
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +332 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +35 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +52 -2
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/create-profile.d.ts +56 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +139 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +38 -0
- package/dist/identity/actions/index.d.ts.map +1 -0
- package/dist/identity/actions/index.js +130 -0
- package/dist/identity/actions/index.js.map +1 -0
- package/dist/identity/index.d.ts +16 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +16 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-registration.d.ts +11 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -0
- package/dist/internal/c4/character-registration.js +23 -0
- package/dist/internal/c4/character-registration.js.map +1 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +25 -38
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +0 -27
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +0 -33
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +53 -44
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +30 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-adapter.d.ts +12 -0
- package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
- package/dist/internal/c4/faction-adapter.js +52 -0
- package/dist/internal/c4/faction-adapter.js.map +1 -0
- package/dist/internal/c4/faction-enrollment.d.ts +6 -0
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/c4/faction-enrollment.js +8 -0
- package/dist/internal/c4/faction-enrollment.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +31 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +48 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +21 -139
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +15 -0
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +17 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +62 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +26 -7
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +53 -0
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +130 -5
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +6 -9
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +3 -24
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +31 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +47 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +0 -33
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +2 -0
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +81 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +0 -33
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +258 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +2 -33
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +3 -41
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +24 -0
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +58 -25
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +4 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -0
- package/dist/internal/planning/account-state.js +11 -0
- package/dist/internal/planning/account-state.js.map +1 -0
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +20 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +187 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +65 -35
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +217 -70
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +58 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +86 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +32 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +10 -0
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/planning/faction-enrollment.js +46 -0
- package/dist/internal/planning/faction-enrollment.js.map +1 -0
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +105 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +110 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +108 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +131 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js +225 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.js +154 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.js +42 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +10 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +85 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts +28 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/planning/fleet-respawn.js +166 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +137 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/governance-fees.d.ts +64 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -0
- package/dist/internal/planning/governance-fees.js +239 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +126 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +166 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +41 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/movement-character.d.ts +7 -0
- package/dist/internal/planning/movement-character.d.ts.map +1 -0
- package/dist/internal/planning/movement-character.js +41 -0
- package/dist/internal/planning/movement-character.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
- package/dist/internal/planning/movement-xp-guard.js +103 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +31 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +85 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +6 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +20 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- package/dist/internal/planning/rent.d.ts +19 -0
- package/dist/internal/planning/rent.d.ts.map +1 -0
- package/dist/internal/planning/rent.js +35 -0
- package/dist/internal/planning/rent.js.map +1 -0
- package/dist/internal/planning/respawn-guards.d.ts +3 -0
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
- package/dist/internal/planning/respawn-guards.js +41 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +43 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +638 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +94 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +196 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +244 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +52 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +9 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +46 -0
- package/dist/internal/planning/ship-token.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/internal/planning/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +7 -20
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +2 -6
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +142 -36
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +282 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +57 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +332 -0
- package/dist/mining/actions/index.js.map +1 -0
- package/dist/mining/estimate.d.ts +114 -0
- package/dist/mining/estimate.d.ts.map +1 -0
- package/dist/mining/estimate.js +127 -0
- package/dist/mining/estimate.js.map +1 -0
- package/dist/mining/index.d.ts +9 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +7 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +5 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +30 -2
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +18 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +580 -38
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +243 -64
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +1012 -57
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -30
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +11 -1
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +42 -1
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +10 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +12 -0
- package/dist/registry/docking.js.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +14 -0
- package/dist/registry/onboarding.d.ts.map +1 -0
- package/dist/registry/onboarding.js +37 -0
- package/dist/registry/onboarding.js.map +1 -0
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +19 -19
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +30 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +62 -0
- package/dist/registry/ships.js.map +1 -0
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +4 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +12 -8
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +18 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
|
package/dist/fleets/index.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export { deriveFleetWarpLanePolicy, } from './warp-lane-policy.js';
|
|
2
|
+
export { deriveFleetWarpLaneToll, } from './warp-lane-toll.js';
|
|
3
|
+
export { deriveFleetWarpLaneEstimate, } from './warp-lane-estimate.js';
|
|
4
|
+
export { deriveFleetCoordinateWarpEstimate, } from './coordinate-warp-estimate.js';
|
|
5
|
+
export { deriveFleetSubwarpEstimate, } from './subwarp-estimate.js';
|
|
6
|
+
export { deriveFleetMovementCooldown, } from './cooldown.js';
|
|
7
|
+
export { deriveFleetTravelProfile, } from './travel-profile.js';
|
|
8
|
+
import { AccountDecodeError, AccountNotFoundError, ProviderError, SageSdkError, entityRef, } from '../client/index.js';
|
|
9
|
+
import { assertCanonicalFleetAddress, discoverFleetAccounts, discoverFleetAccountsForGame, fleetAccountDefinition, } from '../internal/c4/fleet.js';
|
|
3
10
|
import { deriveFleetTimers, interpolateSubwarpPosition, resolveFleetAccount, } from '../internal/fleet.js';
|
|
4
11
|
import { attachJsonSerialization } from '../internal/json.js';
|
|
5
12
|
import { requireGameAddress } from '../internal/game-context.js';
|
|
@@ -55,6 +62,30 @@ export async function getFleet(ctx, address, options) {
|
|
|
55
62
|
const envelope = await ctx.data.read(fleetAccountDefinition, address, options);
|
|
56
63
|
return toFleetSnapshot(ctx, envelope);
|
|
57
64
|
}
|
|
65
|
+
/** Reads required Fleets by account address in one batched data-plane request.
|
|
66
|
+
*
|
|
67
|
+
* The frozen result preserves input order and duplicate positions. Every
|
|
68
|
+
* requested address must exist; use separate optional reads when absence is an
|
|
69
|
+
* expected outcome.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* declare const ctx: SageContext;
|
|
74
|
+
* declare const fleetAddresses: readonly Address[];
|
|
75
|
+
* const fleets = await getFleets(ctx, fleetAddresses);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export async function getFleets(ctx, addresses, options) {
|
|
79
|
+
requireGameAddress(ctx);
|
|
80
|
+
const envelopes = await ctx.data.readMany(fleetAccountDefinition, addresses, options);
|
|
81
|
+
const requiredEnvelopes = envelopes.map((envelope, index) => {
|
|
82
|
+
if (envelope === undefined) {
|
|
83
|
+
throw new AccountNotFoundError('fleet', addresses[index]);
|
|
84
|
+
}
|
|
85
|
+
return envelope;
|
|
86
|
+
});
|
|
87
|
+
return Object.freeze(await Promise.all(requiredEnvelopes.map((envelope) => toFleetSnapshot(ctx, envelope))));
|
|
88
|
+
}
|
|
58
89
|
/** Reads an optional Fleet by account address.
|
|
59
90
|
*
|
|
60
91
|
* @example
|
|
@@ -121,5 +152,24 @@ export async function getFleetsByOwner(ctx, profileAddress, options) {
|
|
|
121
152
|
const fleets = await Promise.all(envelopes.map((envelope) => toFleetSnapshot(ctx, envelope)));
|
|
122
153
|
return Object.freeze(attachReadMeta(fleets, metadata));
|
|
123
154
|
}
|
|
155
|
+
/** Discovers every Fleet address for the configured Game.
|
|
156
|
+
*
|
|
157
|
+
* The existing discovery data plane downloads and validates complete Fleet
|
|
158
|
+
* account bytes before exposing an address. It does not hydrate Fleet
|
|
159
|
+
* snapshots or load ship, cargo, or Game registry definitions.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* declare const ctx: SageContext;
|
|
164
|
+
* const fleetAddresses = await discoverFleetAddresses(ctx);
|
|
165
|
+
* console.log(fleetAddresses, readMeta(fleetAddresses)?.strategy);
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export async function discoverFleetAddresses(ctx, options) {
|
|
169
|
+
const envelopes = await discoverFleetAccountsForGame(ctx, options);
|
|
170
|
+
const metadata = readMeta(envelopes);
|
|
171
|
+
const addresses = envelopes.map(({ address }) => address);
|
|
172
|
+
return Object.freeze(attachReadMeta(addresses, metadata));
|
|
173
|
+
}
|
|
124
174
|
export { listShipConfigurations, listShipConfigurationsByMint, } from '../registry/index.js';
|
|
125
175
|
//# sourceMappingURL=index.js.map
|
package/dist/fleets/index.js.map
CHANGED
|
@@ -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,21 @@
|
|
|
1
|
+
interface MovementInput {
|
|
2
|
+
readonly fromRaw: {
|
|
3
|
+
readonly x: bigint;
|
|
4
|
+
readonly y: bigint;
|
|
5
|
+
};
|
|
6
|
+
readonly toRaw: {
|
|
7
|
+
readonly x: bigint;
|
|
8
|
+
readonly y: bigint;
|
|
9
|
+
};
|
|
10
|
+
readonly speedRaw: bigint;
|
|
11
|
+
readonly fuelRateRaw: bigint;
|
|
12
|
+
readonly speedModifierRaw: bigint;
|
|
13
|
+
}
|
|
14
|
+
export declare const movementScale: bigint;
|
|
15
|
+
export declare function calculateMovement(input: MovementInput, kind: 'Subwarp' | 'Coordinate warp' | 'Warp lane'): {
|
|
16
|
+
distanceRaw: bigint;
|
|
17
|
+
durationSecondsRaw: bigint;
|
|
18
|
+
fuelExpenditureRaw: bigint;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=movement-arithmetic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"movement-arithmetic.d.ts","sourceRoot":"","sources":["../../src/fleets/movement-arithmetic.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,QAAY,CAAC;AA2BvC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,WAAW;;;;EAmDlD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
export const movementScale = 1n << 56n;
|
|
3
|
+
const signedMax = (1n << 63n) - 1n;
|
|
4
|
+
const unsignedMax = (1n << 32n) - 1n;
|
|
5
|
+
const remedy = 'Use exact current coordinates and a positive movement speed within the documented bounds. Direct movement also requires a nonnegative Fuel rate and Character modifier; simulate the intended action before signing.';
|
|
6
|
+
function bounded(field, value, min, max) {
|
|
7
|
+
if (value < min || value > max)
|
|
8
|
+
throw new InvalidDerivationInputError(field, value, remedy);
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
function squareRoot(value) {
|
|
12
|
+
if (value === 0n)
|
|
13
|
+
return 0n;
|
|
14
|
+
let root = value;
|
|
15
|
+
let next = (root + 1n) / 2n;
|
|
16
|
+
while (next < root) {
|
|
17
|
+
root = next;
|
|
18
|
+
next = (root + value / root) / 2n;
|
|
19
|
+
}
|
|
20
|
+
return root;
|
|
21
|
+
}
|
|
22
|
+
export function calculateMovement(input, kind) {
|
|
23
|
+
const min = -(1n << 63n);
|
|
24
|
+
for (const point of [input.fromRaw, input.toRaw]) {
|
|
25
|
+
bounded('Coordinate x raw', point.x, min, signedMax);
|
|
26
|
+
bounded('Coordinate y raw', point.y, min, signedMax);
|
|
27
|
+
}
|
|
28
|
+
const dx = bounded('Coordinate x difference raw', input.toRaw.x - input.fromRaw.x, -signedMax, signedMax);
|
|
29
|
+
const dy = bounded('Coordinate y difference raw', input.toRaw.y - input.fromRaw.y, -signedMax, signedMax);
|
|
30
|
+
if (dx === 0n && dy === 0n)
|
|
31
|
+
throw new InvalidDerivationInputError(`${kind} destination displacement`, 0n, remedy);
|
|
32
|
+
const speed = bounded(`${kind} speed raw`, input.speedRaw, 1n, unsignedMax);
|
|
33
|
+
const rate = bounded(`${kind} Fuel rate raw`, input.fuelRateRaw, 0n, unsignedMax);
|
|
34
|
+
const modifier = bounded(`Character ${kind} speed modifier raw`, input.speedModifierRaw, 0n, signedMax);
|
|
35
|
+
const distanceRaw = bounded(`${kind} distance raw`, squareRoot(((dx * dx) / movementScale + (dy * dy) / movementScale) * movementScale), 0n, signedMax);
|
|
36
|
+
const baseDuration = (distanceRaw * (1n << 16n)) / speed;
|
|
37
|
+
const durationSecondsRaw = (baseDuration * (1n << 32n)) / (modifier === 0n ? 1n << 32n : modifier);
|
|
38
|
+
const fuelExpenditureRaw = (distanceRaw * rate) / 64n;
|
|
39
|
+
return { distanceRaw, durationSecondsRaw, fuelExpenditureRaw };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=movement-arithmetic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"movement-arithmetic.js","sourceRoot":"","sources":["../../src/fleets/movement-arithmetic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Raw inputs for an Idle Fleet's direct subwarp journey.
|
|
2
|
+
* Coordinates use signed I8F56, speed U16F16, Fuel rate U26F6 and the Character
|
|
3
|
+
* subwarp-speed modifier I32F32. Use the Fleet's exact stored locationRaw;
|
|
4
|
+
* reconstructing it from location display numbers loses precision.
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* const input: FleetSubwarpEstimateInput = {
|
|
8
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
9
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
10
|
+
* };
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export interface FleetSubwarpEstimateInput {
|
|
14
|
+
readonly fromRaw: {
|
|
15
|
+
readonly x: bigint;
|
|
16
|
+
readonly y: bigint;
|
|
17
|
+
};
|
|
18
|
+
readonly toRaw: {
|
|
19
|
+
readonly x: bigint;
|
|
20
|
+
readonly y: bigint;
|
|
21
|
+
};
|
|
22
|
+
readonly speedRaw: bigint;
|
|
23
|
+
readonly fuelRateRaw: bigint;
|
|
24
|
+
readonly speedModifierRaw: bigint;
|
|
25
|
+
}
|
|
26
|
+
/** Prospective journey values; all three raw outputs have 56 fractional bits.
|
|
27
|
+
* Display numbers are approximate. fuelBudget rounds recorded expenditure up
|
|
28
|
+
* to whole Fuel units; it is not a measured settlement debit or travel approval.
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* declare const estimate: FleetSubwarpEstimate;
|
|
32
|
+
* const budget: bigint = estimate.fuelBudget;
|
|
33
|
+
* console.log(estimate.durationSeconds, JSON.stringify(estimate));
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export interface FleetSubwarpEstimate {
|
|
37
|
+
readonly distanceAu: number;
|
|
38
|
+
readonly distanceRaw: bigint;
|
|
39
|
+
readonly durationSeconds: number;
|
|
40
|
+
readonly durationSecondsRaw: bigint;
|
|
41
|
+
readonly fuelExpenditure: number;
|
|
42
|
+
readonly fuelExpenditureRaw: bigint;
|
|
43
|
+
readonly fuelBudget: bigint;
|
|
44
|
+
toJSON(): unknown;
|
|
45
|
+
}
|
|
46
|
+
/** Estimates direct subwarp duration and recorded fractional Fuel expenditure.
|
|
47
|
+
* Qualified against PTR deployment slot 54356023, with exact integer rounding
|
|
48
|
+
* within the supported model. Each squared axis truncates before the square
|
|
49
|
+
* root; base-speed division precedes modifier division. Modifier zero means 1.
|
|
50
|
+
*
|
|
51
|
+
* Coordinates, axis differences and distance must fit signed I8F56; endpoints
|
|
52
|
+
* must differ. Speed is positive u32 raw, Fuel rate u32 raw and modifier
|
|
53
|
+
* nonnegative i64 raw. These bounds keep intermediate arithmetic within i128.
|
|
54
|
+
* Distinct tiny endpoints may truncate to zero distance, as the program does.
|
|
55
|
+
*
|
|
56
|
+
* Applies to departure from Idle, not planet departure, warp or lane travel.
|
|
57
|
+
* Does not check Fleet state, crew, permissions, tank Fuel, readiness or region
|
|
58
|
+
* restrictions. Subwarp may start with insufficient Fuel; compare fuelBudget
|
|
59
|
+
* with the tank and simulate before signing. No planet-exit surcharge or XP is
|
|
60
|
+
* predicted. Requalify this model after relevant program changes.
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const journey = deriveFleetSubwarpEstimate({
|
|
64
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
65
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
66
|
+
* }); // 1 second, budget 1 Fuel
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function deriveFleetSubwarpEstimate(input: FleetSubwarpEstimateInput): FleetSubwarpEstimate;
|
|
70
|
+
//# sourceMappingURL=subwarp-estimate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subwarp-estimate.d.ts","sourceRoot":"","sources":["../../src/fleets/subwarp-estimate.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,yBAAyB,GAC/B,oBAAoB,CActB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { calculateMovement, movementScale as scale, } from './movement-arithmetic.js';
|
|
2
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
3
|
+
/** Estimates direct subwarp duration and recorded fractional Fuel expenditure.
|
|
4
|
+
* Qualified against PTR deployment slot 54356023, with exact integer rounding
|
|
5
|
+
* within the supported model. Each squared axis truncates before the square
|
|
6
|
+
* root; base-speed division precedes modifier division. Modifier zero means 1.
|
|
7
|
+
*
|
|
8
|
+
* Coordinates, axis differences and distance must fit signed I8F56; endpoints
|
|
9
|
+
* must differ. Speed is positive u32 raw, Fuel rate u32 raw and modifier
|
|
10
|
+
* nonnegative i64 raw. These bounds keep intermediate arithmetic within i128.
|
|
11
|
+
* Distinct tiny endpoints may truncate to zero distance, as the program does.
|
|
12
|
+
*
|
|
13
|
+
* Applies to departure from Idle, not planet departure, warp or lane travel.
|
|
14
|
+
* Does not check Fleet state, crew, permissions, tank Fuel, readiness or region
|
|
15
|
+
* restrictions. Subwarp may start with insufficient Fuel; compare fuelBudget
|
|
16
|
+
* with the tank and simulate before signing. No planet-exit surcharge or XP is
|
|
17
|
+
* predicted. Requalify this model after relevant program changes.
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const journey = deriveFleetSubwarpEstimate({
|
|
21
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
22
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
23
|
+
* }); // 1 second, budget 1 Fuel
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function deriveFleetSubwarpEstimate(input) {
|
|
27
|
+
const { distanceRaw, durationSecondsRaw, fuelExpenditureRaw } = calculateMovement(input, 'Subwarp');
|
|
28
|
+
return Object.freeze(attachJsonSerialization({
|
|
29
|
+
distanceAu: Number(distanceRaw) / Number(scale),
|
|
30
|
+
distanceRaw,
|
|
31
|
+
durationSeconds: Number(durationSecondsRaw) / Number(scale),
|
|
32
|
+
durationSecondsRaw,
|
|
33
|
+
fuelExpenditure: Number(fuelExpenditureRaw) / Number(scale),
|
|
34
|
+
fuelExpenditureRaw,
|
|
35
|
+
fuelBudget: (fuelExpenditureRaw + scale - 1n) / scale,
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=subwarp-estimate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subwarp-estimate.js","sourceRoot":"","sources":["../../src/fleets/subwarp-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,IAAI,KAAK,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA2C9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/C,WAAW;QACX,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3D,kBAAkB;QAClB,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3D,kBAAkB;QAClB,UAAU,EAAE,CAAC,kBAAkB,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK;KACtD,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Exact System coordinates (I8F56) and Fleet lane speed (U16F16).
|
|
2
|
+
* No Character warp-speed modifier or spool time applies to lane travel.
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* const input: FleetWarpLaneEstimateInput = {
|
|
6
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
7
|
+
* speedRaw: 65536n,
|
|
8
|
+
* };
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export interface FleetWarpLaneEstimateInput {
|
|
12
|
+
readonly fromRaw: {
|
|
13
|
+
readonly x: bigint;
|
|
14
|
+
readonly y: bigint;
|
|
15
|
+
};
|
|
16
|
+
readonly toRaw: {
|
|
17
|
+
readonly x: bigint;
|
|
18
|
+
readonly y: bigint;
|
|
19
|
+
};
|
|
20
|
+
readonly speedRaw: bigint;
|
|
21
|
+
}
|
|
22
|
+
/** Whole-second lane duration and zero Fuel debit on the qualified deployment.
|
|
23
|
+
* Raw distance has 56 fractional bits; AU is approximate.
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* declare const estimate: FleetWarpLaneEstimate;
|
|
27
|
+
* console.log(estimate.durationSeconds, estimate.fuelDebit);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export interface FleetWarpLaneEstimate {
|
|
31
|
+
readonly distanceAu: number;
|
|
32
|
+
readonly distanceRaw: bigint;
|
|
33
|
+
readonly durationSeconds: bigint;
|
|
34
|
+
readonly fuelDebit: 0n;
|
|
35
|
+
toJSON(): unknown;
|
|
36
|
+
}
|
|
37
|
+
/** Estimates lane travel using empirically qualified deployment-54356023 arithmetic.
|
|
38
|
+
* Truncates each squared axis, computes distance, truncates fixed-point speed
|
|
39
|
+
* division and rounds duration upward to whole seconds. No Fuel is debited.
|
|
40
|
+
*
|
|
41
|
+
* Coordinates, axis differences and distance must fit signed I8F56. Speed is
|
|
42
|
+
* positive u32 raw. Identical and zero-quantized paths are rejected rather than
|
|
43
|
+
* predicting a successful zero-time lane. Unsupported overflow is rejected.
|
|
44
|
+
*
|
|
45
|
+
* Supply exact System coordinates and Fleet lane speed, not coordinate-warp
|
|
46
|
+
* stats. This checks no lane connection, policy, toll, affordability, cooldown,
|
|
47
|
+
* Fleet state, crew, XP or permissions. Use deriveFleetMovementCooldown for
|
|
48
|
+
* cooldown separately. Refresh and simulate the Plan before signing; requalify
|
|
49
|
+
* the arithmetic after relevant program changes.
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const estimate = deriveFleetWarpLaneEstimate({
|
|
53
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
54
|
+
* speedRaw: 65536n,
|
|
55
|
+
* }); // durationSeconds: 1n, fuelDebit: 0n
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function deriveFleetWarpLaneEstimate(input: FleetWarpLaneEstimateInput): FleetWarpLaneEstimate;
|
|
59
|
+
//# sourceMappingURL=warp-lane-estimate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-lane-estimate.d.ts","sourceRoot":"","sources":["../../src/fleets/warp-lane-estimate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAoBvB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
3
|
+
import { calculateMovement, movementScale } from './movement-arithmetic.js';
|
|
4
|
+
/** Estimates lane travel using empirically qualified deployment-54356023 arithmetic.
|
|
5
|
+
* Truncates each squared axis, computes distance, truncates fixed-point speed
|
|
6
|
+
* division and rounds duration upward to whole seconds. No Fuel is debited.
|
|
7
|
+
*
|
|
8
|
+
* Coordinates, axis differences and distance must fit signed I8F56. Speed is
|
|
9
|
+
* positive u32 raw. Identical and zero-quantized paths are rejected rather than
|
|
10
|
+
* predicting a successful zero-time lane. Unsupported overflow is rejected.
|
|
11
|
+
*
|
|
12
|
+
* Supply exact System coordinates and Fleet lane speed, not coordinate-warp
|
|
13
|
+
* stats. This checks no lane connection, policy, toll, affordability, cooldown,
|
|
14
|
+
* Fleet state, crew, XP or permissions. Use deriveFleetMovementCooldown for
|
|
15
|
+
* cooldown separately. Refresh and simulate the Plan before signing; requalify
|
|
16
|
+
* the arithmetic after relevant program changes.
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const estimate = deriveFleetWarpLaneEstimate({
|
|
20
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
21
|
+
* speedRaw: 65536n,
|
|
22
|
+
* }); // durationSeconds: 1n, fuelDebit: 0n
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function deriveFleetWarpLaneEstimate(input) {
|
|
26
|
+
const { distanceRaw, durationSecondsRaw } = calculateMovement({ ...input, fuelRateRaw: 0n, speedModifierRaw: 1n << 32n }, 'Warp lane');
|
|
27
|
+
if (durationSecondsRaw === 0n)
|
|
28
|
+
throw new InvalidDerivationInputError('Warp lane duration raw', durationSecondsRaw, 'Choose distinct connected Systems with a positive fixed-point travel duration; the program rejects a zero-time lane transition. Refresh the Systems and Fleet lane speed, then simulate before signing.');
|
|
29
|
+
return Object.freeze(attachJsonSerialization({
|
|
30
|
+
distanceAu: Number(distanceRaw) / Number(movementScale),
|
|
31
|
+
distanceRaw,
|
|
32
|
+
durationSeconds: (durationSecondsRaw + movementScale - 1n) / movementScale,
|
|
33
|
+
fuelDebit: 0n,
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=warp-lane-estimate.js.map
|