FrameBinding

interface FrameBinding

What the simulation needs to know about a frame in order to fly in it.

The frame graph deliberately knows nothing about mass or atmospheres, and the universe package deliberately knows nothing about ships. This is the join: one lookup table, built when a system is loaded, that answers "if an entity is in this frame, what is pulling on it and where can it go next".

simulation/src/binding.ts:25

Members

atmospherereadonly

atmosphere: Atmosphere | null

bodyreadonly

body: Body | null

framereadonly

frame: FrameId

maxSpeedreadonly

maxSpeed: number

The fastest this frame's origin ever moves relative to its parent, m/s — the periapsis speed of its orbit, or 0 for a frame that is pinned.

What a sphere-of-influence check is skipped against. An entity a gap of g meters outside a body's reach cannot be inside it for at least g / (its own speed bound + this) seconds, by the triangle inequality, and that bound is what turns sixty-six Kepler solves a tick into none.

mureadonly

mu: number

Gravitational parameter of the mass at this frame's origin.

parentreadonly

parent: FrameId | null

radiusreadonly

radius: number

Radius of the attracting body, 0 for a system barycenter.

sphereOfInfluencereadonly

sphereOfInfluence: number

Beyond this the entity is no longer bound here. Infinity for a system.

spinFramereadonly

spinFrame: FrameId | null

Rotating frame of the same body, where one exists.