Members
Default raster resolution. 128x128 is ~12,900 cells inside the horizon disc,
each one link-budget call — measured at 70-190 ms against the protected
kernels, which is the same interaction budget the terrain solve holds itself
to.
Methods
Solve the footprint synchronously. This preserves the original API while
sharing the exact same row generator as the non-blocking form.
| Name |
Type |
Description |
options |
object
|
Options documented above. |
Returns:
Completed coverage result.
Solve a footprint in bounded row slices without exposing a partially-filled
raster. This is generation-friendly: callers may attach a generation token,
cancel superseded work, and swap the returned raster into a primitive only
after the promise resolves.
RF physics remains in the injected propagation port. The asynchronous
boundary only yields between rows of scalar WASM calls; it neither changes
the numerical path nor introduces a JavaScript approximation.
| Name |
Type |
Description |
options |
object
|
The same solve options as RfDownlinkFootprint.compute.
| Name |
Type |
Default |
Description |
signal |
AbortSignal
|
|
optional
Cancels before the next row. |
yieldEveryRows |
number
|
4
|
optional
Rows per scheduling slice. |
schedule |
function
|
|
optional
Promise-returning yield function. |
onProgress |
function
|
|
optional
Called with completed and total rows. |
generation |
*
|
|
optional
Opaque token copied to the completed result. |
|
Returns:
Atomically completed coverage result.
Where the transmitter's horizon is.
Everything is derived from two radii and one angle, on the sphere through
the sub-satellite point. Using the LOCAL geocentric radius rather than a
global mean is what keeps this honest on an oblate Earth: the radius varies
by 0.34% from equator to pole, and it is the radius UNDER THE TRANSMITTER
that sets its horizon.
With the receiver's elevation angle eps and the nadir angle
eta at the transmitter, sin(eta) = (R / r) cos(eps)
and the central angle is 90 - eps - eta. At
eps = 0 that reduces to the familiar
acos(R / r).
| Name |
Type |
Description |
options |
object
|
Options.
| Name |
Type |
Default |
Description |
txPosition |
Cartesian3
|
|
Transmitter position, world coordinates. |
minimumElevationDegrees |
number
|
0.0
|
optional
Receiver elevation mask. |
ellipsoid |
Ellipsoid
|
Ellipsoid.default
|
optional
The ellipsoid. |
|
Returns:
The horizon geometry: sub-point, radii, altitude, nadir and
central angles, ground range, slant range, and the orthographic radius the
raster is bounded by.
Throws:
The horizon circle, as ground positions.
Drawn as a clamped polyline this is the CRISP boundary of the footprint —
the raster fades into it at whatever resolution it was solved at, and a
viewer asking "where does this stop" deserves a line rather than a gradient.
It is ground geometry, not an orbit, so the path-visualizer law does not
apply to it.
| Name |
Type |
Description |
options |
object
|
Options, as RfDownlinkFootprint.computeHorizon.
| Name |
Type |
Default |
Description |
samples |
number
|
180
|
optional
Ring samples. |
horizon |
object
|
|
optional
A precomputed horizon geometry, to avoid
recomputing it. |
|
Returns:
Positions on the ellipsoid surface, closed.