Skip to content

Scanning

Scanning is how fleets survey space for things worth finding. Like combat, it is a capability-only entry, imported directly rather than reached through the root client.

import { getFleetScanningState, getScanPatterns } from '@aephia/atlas-kit/scanning';

A scan pattern is a definition: what a kind of scan does and what it costs. Patterns are shared and stable, so read them once.

const patterns = await getScanPatterns(ctx);

Two projections, answering different questions:

const fleetState = await getFleetScanningState(ctx, fleetAddress);
const characterState = await getCharacterScanningState(ctx, profileAddress);

The fleet’s state is about this fleet’s scanning. The character’s is the wider picture across what they own — and note it starts from the profile address, not the character’s: the SDK derives the character from the profile for you.

const cooldown = deriveScanCooldownState(fleetState, nowUnixSeconds);

Note that this is a plain function, not a read. Cooldown is computed from state you already have plus the pattern definitions — there is no account to fetch that says “ready in 40 seconds”.

That is a recurring shape in this SDK: anything time-dependent is derived at the moment you ask, because storing it would mean storing something that is wrong a second later.

A cooldown is only as fresh as its inputs. If you derive from a cached snapshot, you are computing against that snapshot’s age. Re-read before deriving if precision matters.

Not composed into the root client. Import from @aephia/atlas-kit/scanning.

Absent scanning state is normal. A fleet that has never scanned has nothing to report.

  • scanning — every export in this entry
  • fleets — the fleet doing the scanning