parseSurfaceFrameId

function parseSurfaceFrameId
universe/src/frames.ts:148
parseSurfaceFrameId(id: FrameId) → { address: { body: readonly number[]; galaxy: GalaxyId; kind: 'body'; system: SystemId }; latitude: number; longitude: number } | null

Read a surface frame id back into the three things that determine it.

Lives beside surfaceFrameId because the grammar has exactly one owner and the round trip is a property worth testing in one place. It was previously open-coded in World.ensureFrame with lastIndexOf('@') and a split(','), one package down — on the load path for every save with a landed ship, and with no counterpart to the -0 collapse that formatAngle exists to provide.

Returns null for anything that is not a surface frame id.

idFrameId
Undocumented
Returns{ address: { body: readonly number[]; galaxy: GalaxyId; kind: 'body'; system: SystemId }; latitude: number; longitude: number } | null