# Nyx — Systems Deep Dive

> The `libs/nyx/` area: ~75 Nx libraries that make up **Nyx**, Oshun's cosmic
> observatory domain — astronomical constants, coordinate/time math, real survey
> catalogs, ephemeris and orbital mechanics, a WebGPU sky renderer, real-time
> feeds, and embeddable widgets. This page is the entity-catalog view of the
> area.

## What this area is

Nyx is the astronomy and space-exploration domain of the monorepo. Unlike the
contract areas, it is not one shape repeated — it is a deep, layered stack where
each library owns one astronomical concern and composes upward. The packages are
overwhelmingly real and substantial: the area is tens of thousands of lines of
domain-specific code (e.g. `libs/nyx/events` ~29k lines, `libs/nyx/orbital`
~16.5k, `libs/nyx/renderer/exotic` ~12k), with named algorithms (VSOP87,
ELP2000, SGP4, IAU 2006 precession / 2000A nutation, Kopparapu habitable-zone,
King-model cluster profiles) rather than CRUD.

The dependency stack, bottom to top, is roughly: a **core math layer**
(`@nyx/constants`, `@nyx/coordinates`, `@nyx/time`, `@nyx/positional`,
`@nyx/utils`, `@nyx/database`); a **dynamics layer** (`@nyx/ephemeris`,
`@nyx/orbital`, `@nyx/events`) that turns time + elements into positions and
predicted phenomena; a wide **catalog layer** (stars, deep-sky, solar-system,
exoplanets, spacecraft) that owns curated and survey-queried object data; an
**analysis layer** (galaxy classification, exoplanet habitability/visualization,
large-scale structure); a **rendering layer** (a WebGPU/WebGL core plus
specialized renderers for stars, planets, galaxies, nebulae, black holes, etc.);
**real-time feeds** (satellites, NEOs, solar weather, event alerts);
**education**, **integrations** (telescope control, planetarium/Stellarium
bridges), **embeddable widgets**, and **API clients** (TS + Python).

The top-level `libs/nyx/README.md` and `libs/nyx/docs/architecture.md` describe
an aspirational SDK surface (`@nyx/sdk`, `@nyx/core`, `@nyx/ascom`, …) and a
four-service deployment topology; the names below are the **actual tracked Nx
projects** as they ship today (which sometimes consolidate the README's split
libraries — e.g. ASCOM + INDI both live in `@nyx/telescope`). Where a doc claim
and the code diverge, this catalog follows the code.

## How it fits the wider system

These libraries are consumed by Nyx's own apps/services (the catalog, compute,
render, and realtime services sketched in `docs/architecture.md`) and exposed to
clients through `@nyx/api-client` / `@nyx/client` (TypeScript) and
`@nyx/client-python`. The math and catalog layers are pure and dependency-light,
so they can be imported directly by any consumer; the renderer packages target
the browser (WebGPU with a WebGL2 fallback) and the widgets ship as custom
elements. `@nyx/lilith-integration` is the one outward bridge into another Oshun
domain (Lilith's consciousness/meditation platform). Walk the "used by" edges on
any node below to see exactly who depends on it.

## Entity reference

### @nyx/galaxy-classification

Galaxy morphology engine (`libs/nyx/analysis/galaxy-classification`): implements
the Hubble sequence and de Vaucouleurs extended classification, with
`quickClassify`, `findClosestType`, `getColorClass`, and `REFERENCE_TYPES` /
`CLASSIFICATION_STATISTICS` constants driving automated typing from
photometric/spectroscopic inputs. Real domain logic, ~1.3k lines.

### @nyx/habitability

Exoplanet habitability analysis (`libs/nyx/analysis/habitability`, ~3.2k lines)
built on named science: Kopparapu et al. 2013 habitable-zone boundaries, Earth
Similarity Index, atmospheric-retention and tidal-locking assessment.
`analyzeHabitability`, `getHabitableZone`, and `isInHabitableZone` are the entry
points.

### @nyx/visualization

Exoplanet visualization-data generator (`libs/nyx/analysis/visualization`):
turns physical planet properties into scientifically-plausible artistic render
parameters via `quickVisualization` / `previewVisualization`, with a
`SOLAR_SYSTEM_VISUALIZATIONS` reference set. Note the package name is
`@nyx/visualization` (not to be confused with `@nyx/galaxy-distribution`).

### nyx-api-client

Generated-OpenAPI typed HTTP client (`libs/nyx/api-client`). The barrel
re-exports `./client.js` plus `components`, `operations`, `paths`, `webhooks`
types from `src/generated/openapi.js`; `client.ts` defines the `ResourceClient`
/ `ListOptions` / `NyxApiClient` interfaces and `OshunApiClientError`. This is
the OpenAPI-anchored client (project id `nyx-api-client`), distinct from the
hand-written `@nyx/client`.

### @nyx/audio-ambient

Spatial cosmic-soundscape engine (`libs/nyx/audio/ambient`, ~2.8k lines). The
barrel is a thin `export * from './ambient'`, but `ambient.ts` is a substantial
Web-Audio ambient/soundscape system — not a scaffold.

### @nyx/audio-sonification

Stellar sonification (`libs/nyx/audio/sonification`, ~2.1k lines): converts a
star's astronomical properties into audible sound. Barrel re-exports
`./sonification`; the implementation module carries the mapping logic.

### @nyx/bright-stars

Yale Bright Star Catalogue (BSC, Hoffleit & Jaschek 1991, 9,110 entries)
integration (`libs/nyx/catalogs/bright-stars`). TAP/ADQL queries to VizieR
(V/50), spectral-type parsing, magnitude/brightness conversions
(`magnitudeToRelativeBrightness`, `isNakedEyeVisible`) and `NOTABLE_STARS` /
`SPECTRAL_DISTRIBUTION` reference data.

### @nyx/black-holes

Black-hole catalog (`libs/nyx/catalogs/deep-sky/black-holes`, ~6.3k lines):
stellar-mass X-ray-binary, supermassive/AGN, intermediate-mass, and GW-remnant
black holes, served through a `BlackHoleService` with `BlackHoleType`
classification.

### @nyx/clusters

Star-cluster database (`libs/nyx/catalogs/deep-sky/clusters`): open and globular
clusters with age/metallicity/kinematics and member statistics, via
`ClusterService` / `createClusterService`, plus `FAMOUS_CLUSTERS` (M13,
Pleiades) and per-type observing tips.

### @nyx/gravitational-waves

Curated GWTC catalog (`libs/nyx/catalogs/deep-sky/gravitational-waves`) of
LIGO/Virgo/KAGRA events (BBH/BNS/NSBH mergers), exposed via `GWEventService`
(and a default `gwEventService`) with `GWEventFilter` / `GWEventSortOptions` /
`GWEventCatalogStats`.

### @nyx/messier

Complete Messier catalog (`libs/nyx/catalogs/deep-sky/messier`, ~5.8k lines):
all 110 objects with full data and query via `MessierService` (default
`messierService`). Real curated dataset, not a stub.

### @nyx/nebulae

Nebula database (`libs/nyx/catalogs/deep-sky/nebulae`): emission/reflection/
planetary/dark nebulae and SNRs through `NebulaeService` /
`createNebulaeService`, with `FAMOUS_NEBULAE`, type descriptions, and observing
tips.

### @nyx/neutron-stars

Isolated neutron-star catalog (`libs/nyx/catalogs/deep-sky/neutron-stars`): the
"Magnificent Seven" XDINSs, central compact objects, and thermally-emitting
isolated NSs, via `NeutronStarService` (default `neutronStarService`).

### @nyx/pulsars

Pulsar catalog (`libs/nyx/catalogs/deep-sky/pulsars`, ~4.1k lines): normal
radio, millisecond, magnetar (AXP/SGR), binary, and gamma-ray pulsars served by
`PulsarService`.

### @nyx/quasars

Quasar/AGN catalog (`libs/nyx/catalogs/deep-sky/quasars`): quasars, blazars, and
high-redshift AGN via `QuasarService` (default `quasarService`) with
`QuasarFilter` / `QuasarSortOptions` / `QuasarCatalogStats`.

### @nyx/snr

Supernova-remnant catalog (`libs/nyx/catalogs/deep-sky/snr`, ~6.2k lines):
Green's catalog objects, historical SNRs, and pulsar-wind nebulae via
`SNRService`.

### @nyx/gaia

Gaia DR3 integration (`libs/nyx/catalogs/gaia`): TAP/ADQL access to the
~1.8B-source ESA Gaia Archive with HEALPix spatial indexing, cone/box/polygon
search, cross-matching, and proper-motion epoch propagation. Exposes
`GAIA_DR3_INFO`, `MAGNITUDE_LIMITS`, `CATALOG_EPOCHS` and a query surface.

### @nyx/hipparcos

Hipparcos-2 catalog (van Leeuwen 2007, ~118k stars) integration
(`libs/nyx/catalogs/hipparcos`): TAP/ADQL to VizieR/GAVO/ESA, cone/box/ID
search, variable & multiple-system search, and Gaia DR3 cross-matching, with
`HIPPARCOS_CATALOG_INFO` and notable-star reference data.

### @nyx/nasa-exoplanets

NASA Exoplanet Archive TAP client (`libs/nyx/catalogs/nasa-exoplanets`): ADQL
queries over 5,500+ confirmed exoplanets plus derived-physics helpers
(`calculateEquilibriumTemp`, `calculateInsolation`, `calculateSurfaceGravity`,
period/semi-major-axis conversions) and formatting utilities.

### @nyx/ned

NASA/IPAC Extragalactic Database client (`libs/nyx/catalogs/ned`): access to
extragalactic objects plus a real cosmology toolkit — `hubbleDistance`,
`comovingDistance`, `lookbackTime`, `absoluteMagnitude`, `luminosityFromAbsMag`
— and a `createClient` factory.

### @nyx/ngc-ic

NGC/IC deep-sky catalog (`libs/nyx/catalogs/ngc-ic`): New General Catalogue +
Index Catalogue lookup (`lookup`, `search`, `getRecommendedTargets`,
`getCatalogOverview`) over galaxies, nebulae, and clusters.

### @nyx/open-exoplanets

Open Exoplanet Catalogue (OEC) integration
(`libs/nyx/catalogs/open-exoplanets`): community-catalogue access plus a
unit/derived-quantity toolkit (Jupiter↔Earth mass/radius, parsec↔light-year,
orbital-period / semi-major-axis / equilibrium- temperature calculators).

### @nyx/sdss

Sloan Digital Sky Survey integration (`libs/nyx/catalogs/sdss`): photometric/
spectroscopic object access with `calculateColors`, `calculateConcentration`,
`estimateAbsoluteMagnitude`, `estimateStellarMass`, thumbnail URLs, and
`SURVEY_STATISTICS`.

### @nyx/simbad

SIMBAD (CDS) database integration (`libs/nyx/catalogs/simbad`): TAP/ADQL
queries, object name resolution (e.g. `M31`, `Sirius`), cone/box/catalog search,
plus helpers like `redshiftToDistance`, `parallaxToDistance`,
`angularSeparation` and notable-object reference sets.

### @nyx/comets

Comet database (`libs/nyx/catalogs/solar-system/comets`): periodic and
non-periodic comets with orbital elements, physical (nucleus/coma/tail)
properties, and visibility predictions via `CometService` /
`createCometService`, plus `FAMOUS_COMETS` and family/type descriptions.

### @nyx/horizons

JPL Horizons ephemeris client (`libs/nyx/catalogs/solar-system/horizons`):
high-precision positions/orbital elements for solar-system bodies via async
`getPlanetPosition` / `getOrbitalElements`, backed by a `SOLAR_SYSTEM_BODIES`
table and lookup helpers (`getBodyById`, `getMoonsOf`, …).

### @nyx/moons

Solar-system moon database (`libs/nyx/catalogs/solar-system/moons`, ~7.3k
lines): detailed `MAJOR_MOONS` and compact `COMPACT_MOONS` records (physical,
orbital, atmospheric, surface, interior, discovery, mission data) with id/name
lookup helpers and `MOON_COUNTS`. Curated from NASA/JPL/IAU.

### @nyx/mpc

Minor Planet Center integration (`libs/nyx/catalogs/solar-system/mpc`, ~5.1k
lines): MPC web-service client, Keplerian orbital propagation, and ephemeris
computation with async `getAsteroid` / `getComet` / `searchNEOs` / `searchPHAs`
helpers.

### @nyx/neo

Near-Earth-Object tracking (`libs/nyx/catalogs/solar-system/neo`): CNEOS
close-approach data, Sentry impact monitoring, and Palermo/Torino risk scales
via `NEOService` / `createNEOService` (`getUpcomingApproaches`,
`getSentryWatchlist`, `assessRiskForObject`), with `NOTABLE_NEOS`.

### @nyx/planets

Planet database (`libs/nyx/catalogs/solar-system/planets`, ~4.3k lines): all 8
major planets and recognized dwarf planets with physical/orbital/atmospheric/
magnetic/ring/interior data and typed lookup helpers (`getPlanetById`,
`getGasGiants`, `getTerrestrialPlanets`, …). Curated dataset.

### @nyx/spacecraft

Spacecraft database & tracking (`libs/nyx/catalogs/spacecraft`): active and
historical missions (Voyager, New Horizons, JWST, Cassini, …) with trajectory
and timeline data via `SpacecraftService` / `createSpacecraftService`.

### @nyx/star-query

Unified star-query facade (`libs/nyx/catalogs/star-query`, ~5.4k lines): a
single API across Gaia DR3, Hipparcos, Tycho-2, BSC, and SIMBAD with intelligent
catalog selection by magnitude/need, result merging and dedup, and shared
helpers (`parallaxToDistance`, `calculateAbsoluteMagnitude`,
`calculateLuminosity`). It composes the individual catalog libraries above.

### @nyx/supernovae

Historical-supernova database (`libs/nyx/catalogs/supernovae`, ~3.4k lines):
ancient Chinese/Arabic/Japanese/Korean/European records, cross-cultural
observational accounts, and remnant correlations to modern objects. Barrel
re-exports `./historical.js`; the real data and analysis live in
`historical.ts`.

### @nyx/tycho

Tycho-2 catalog (Høg et al. 2000, ~2.5M stars) integration
(`libs/nyx/catalogs/tycho`): TAP/ADQL to VizieR/Gaia/NOIRLAB, cone/box/region/ID
search, and Johnson↔Tycho photometry conversion (`johnsonToTycho`,
`tychoToJohnson`) with precision reference constants.

### @nyx/client-python

Python SDK (`libs/nyx/client-python`, a Poetry project under `src/nyx_client/`):
`NyxClient` with sync (`client.py`) and async (`async_client.py`) variants,
typed resources for objects/ephemeris/events/satellites, plus `config`, `http`,
`types`, and `exceptions` modules and a `tests/` suite. The one non-TypeScript
package in the area.

### @nyx/client

Hand-written type-safe TS client (`libs/nyx/client`): `NyxClient` with
resource-style methods (`objects.list`, `objects.search`, `ephemeris.position`,
…) and typed error classes `NyxApiError` / `NyxTimeoutError` /
`NyxRateLimitError`. Distinct from the OpenAPI-generated `nyx-api-client`.

### @nyx/constants

Astronomical constants library (`libs/nyx/constants`): fundamental physical
constants (speed of light in several unit systems, G, Planck, Boltzmann),
astronomical units/distances, time epochs, and obliquity values, organised into
re-exported groups. Pure data, no logic.

### @nyx/constellations

Multi-cultural constellation database (`libs/nyx/constellations`, ~14k lines —
the largest non-renderer package): IAU 88 plus Chinese (Three Enclosures / 28
Lunar Mansions), Egyptian, Polynesian, Norse, and Indigenous-American
traditions, under `src/cultures/*`, with `getConstellation`,
`searchConstellations`, `findConstellationsWithStar`, `getVisibleNow`, and an
`artwork/` module.

### @nyx/coordinates

Celestial coordinate-systems library (`libs/nyx/coordinates`, ~8k lines):
Equatorial (ICRS/J2000), Horizontal, Galactic, Ecliptic, and Supergalactic
transforms with precession/aberration/refraction, surfaced through a
`CoordinateService` class (default export) plus `TransformResult` /
`ObserverContext` types and DEG/RAD/HOURS conversion constants.

### @nyx/database

Database layer for Nyx (`libs/nyx/database`, ~8.9k lines, 17 files): schema
definitions (`export * from './schema/index'`) and migrations
(`export * as migrations`) for celestial objects, user data, catalogs, and
observations — the persistence substrate behind the catalog service.

### @nyx/lesson-framework

Interactive astronomy-lesson framework (`libs/nyx/education/lesson-framework`):
lesson structure, multiple content-block and question types, progress tracking,
achievements, and adaptive difficulty via `LessonService`, `LessonBuilder` /
`createLessonBuilder`, `ProgressTracker`, `AchievementService`,
`AdaptiveDifficultyEngine`, and an `InMemoryStorageAdapter`.

### @nyx/quiz-system

Quiz engine (`libs/nyx/education/quiz-system`, ~7k lines): multiple question
types (standard, image-ID, drag-and-drop, interactive), automated grading with
partial credit, personalized feedback, state management, and analytics, with
`createDefaultQuizService` and `DIFFICULTY_LEVELS`.

### @nyx/ephemeris

Ephemeris-generation library (`libs/nyx/ephemeris`, ~10.7k lines):
Sun/Moon/planet position & velocity ephemerides, observer-specific topocentric
ephemeris with visibility/observability scoring and atmospheric extinction,
opposition/ conjunction detection, asteroid/comet ephemerides with
non-gravitational forces, plus a caching layer (LRU/LFU/FIFO/TTL) and
cubic-spline/Lagrange interpolation.

### @nyx/events

Astronomical-event prediction library (`libs/nyx/events`, ~29k lines, the
largest package): solar/lunar eclipse prediction with Besselian elements and
shadow-cone geometry, planetary conjunctions, occultations, transits
(Mercury/Venus/Galilean/ ISS), meteor-shower peaks, Saros tracking, Danjon-scale
estimation, and canonical `SkyEvent` payloads. Despite the name this is event
_astronomy_, not an event bus.

### @nyx/planetarium

Planetarium-software bridge (`libs/nyx/integrations/planetarium`): position
push/pull and object selection for Cartes du Ciel, TheSkyX, and SkySafari via
`createPlanetariumBridge` and per-app factories (`createCartesDuCielBridge`, …),
plus RA/Dec formatting helpers (`raToHMS`, `decToDMS`, `angularSeparation`).

### @nyx/stellarium

Stellarium import/export library (`libs/nyx/integrations/stellarium`):
Zod-schema round-tripping for Stellarium bookmarks, observing lists, DSO
catalogs, and nebula textures (`StellariumBookmarkSchema`,
`StellariumObservingListSchema`, `StellariumDSOSchema`, …) with magnitude
helpers. Schema/format-centric rather than class-based.

### @nyx/telescope

Telescope-control interface (`libs/nyx/integrations/telescope`, ~4.2k lines):
ASCOM Alpaca (`AlpacaTelescopeClient` / `AlpacaTelescopeController`) and INDI
(`INDIClient`, `INDITelescopeController`, WebSocket transport) drivers for GoTo
slewing, sync/alignment, and tracking control, plus a `FakeINDIConnection` test
double. This consolidates the README's separate `ascom`/`indi` libraries.

### @nyx/lilith-integration

Cross-domain bridge to Lilith (`libs/nyx/lilith-integration`, ~2.3k lines): a
`LilithBridgeManager` plus constants/types that wire Nyx astronomy into the
Lilith consciousness/meditation platform for "cosmic meditation" experiences.
The one outward integration into another Oshun domain.

### @nyx/mythology

Star-mythology and cultural-astronomy lore database (`libs/nyx/mythology`):
myths from 20+ traditions, star-name etymologies/cultural names, guided tours,
and search/filter, served through a `MythologyDatabase` class.

### @nyx/orbital

Orbital-mechanics library (`libs/nyx/orbital`, ~16.5k lines, 17 files):
Keplerian elements and Kepler solvers (elliptic/hyperbolic/parabolic), anomaly
conversions, state-vector transforms, universal-variable propagation with
Stumpff functions, Lambert's problem, Lagrange points, N-body and full
solar-system simulation, and a visualization service (`OrbitalElementsService`,
`PropagationService`, `PerturbationService`, `LagrangePointService`,
`NBodySimulation`, `SolarSystemSimulation`).

### @nyx/positional

Positional-astronomy library (`libs/nyx/positional`, ~8.4k lines): IAU 2006
precession, IAU 2000A nutation, frame-bias and CIO-based transforms, plus
rise/set/transit and twilight (and golden/blue-hour) calculations, via
`PrecessionNutationService`, `RiseSetTransitService`, `ParallaxService`, and
`AngularSeparationService`.

### @nyx/realtime-events

Real-time event-alert system (`libs/nyx/realtime/events`): an
`EventAlertManager` fanning out to per-phenomenon generators
(`MeteorShowerAlertGenerator`, `EclipseAlertGenerator`,
`ConjunctionAlertGenerator`, `ISSPassAlertGenerator`, `CometAlertGenerator`) for
live astronomical alerts.

### @nyx/realtime-neo

Real-time NEO monitoring (`libs/nyx/realtime/neo`): live tracking of asteroids/
comets/PHAs using NASA's NEO API via `NASANEOClient` and `NEOMonitoringService`
(with a `SimpleCache`). The real-time counterpart to the curated `@nyx/neo`.

### @nyx/realtime-satellites

TLE/NORAD satellite tracking (`libs/nyx/realtime/satellites`, ~5.6k lines): TLE
parsing/validation, CelesTrak and Space-Track clients (`CelestrakClient`,
`SpaceTrackClient`), and a `SatelliteTracker` for propagation/pass prediction,
with a typed `TLEParseError`.

### @nyx/realtime-solar

Solar-activity / space-weather monitoring (`libs/nyx/realtime/solar`): NOAA SWPC
integration (`NOAAClient`), aurora forecasting (`AuroraForecaster`), solar
imagery (`SolarImageryClient`), and a `SolarMonitoringService`, cache-backed.

### @nyx/renderer-background

Background-rendering library (`libs/nyx/renderer/background`, ~7.3k lines): CMB
visualization with temperature-anisotropy color schemes and other all-sky
backgrounds. Real rendering code, not a placeholder.

### @nyx/renderer-clusters

Star-cluster renderer (`libs/nyx/renderer/clusters`): open-cluster point clouds
with Trumpler classification and globular-cluster density distributions using
the King model.

### @nyx/renderer-core

Core 3D rendering engine (`libs/nyx/renderer/core`, ~5.2k lines): a WebGPU
primary renderer with a WebGL2 fallback (`WebGPURenderer`, `WebGL2Renderer`,
`BaseRenderer`), scene-graph (`Scene`), camera system (`Camera`,
`CameraController`), and a `FrameScheduler`. The foundation the other
`renderer-*` packages build on.

### @nyx/renderer-exotic

Exotic-object renderer (`libs/nyx/renderer/exotic`, ~12.2k lines): Schwarzschild
and Kerr black holes, gravitational lensing (point-mass/SIS/SIE/NFW/composite),
relativistic Doppler and pulsar effects (`BlackHoleRenderer`, `LensingRenderer`,
`DopplerRenderer`, `PulsarRenderer`). The largest renderer package.

### @nyx/renderer-galaxies

Galaxy renderer (`libs/nyx/renderer/galaxies`, ~9.9k lines): Milky Way panoramic
skybox generation and other galaxy rendering for the sky scene.

### @nyx/renderer-hdr

HDR rendering pipeline (`libs/nyx/renderer/hdr`): tone mapping (ACES, Reinhard,
Filmic, …) and multi-pass Gaussian bloom with threshold extraction, for
high-dynamic-range cosmic visualization.

### @nyx/renderer-lod

Level-of-detail system (`libs/nyx/renderer/lod`): distance-based LOD selection
and screen-space-error metrics for managing detail across the renderer's scene.

### @nyx/renderer-nebulae

Nebula renderer (`libs/nyx/renderer/nebulae`, ~8.6k lines): volumetric gas
rendering with density fields and emission-nebula glow with spectral lines.

### @nyx/renderer-planets

Planet renderer (`libs/nyx/renderer/planets`, ~10.9k lines): sphere generation
(UV/icosphere), surface/atmosphere/ring rendering for solar-system bodies.

### @nyx/renderer-post-processing

Post-processing effects (`libs/nyx/renderer/post-processing`): anti-aliasing
(FXAA/SMAA/TAA), motion blur, and the screen-space effect chain applied over the
rendered frame.

### @nyx/renderer-scale

Multi-scale rendering system (`libs/nyx/renderer/scale`): coherent rendering
across solar-system (AU), stellar-neighborhood (parsec), and galactic
(kiloparsec) scales — the precision/units bridge for the cosmic zoom range.

### @nyx/star-colors

Star rendering & calculations (`libs/nyx/renderer/stars`, ~9k lines; project
name `@nyx/star-colors`): B–V color-index→RGB conversion and GPU star rendering,
with a `PointStarRenderer` and a `StarStreamingManager` for large star fields.
Note the package name differs from its `renderer/stars` directory.

### @nyx/sky-clock

Compact sky-event materialiser (`libs/nyx/sky-clock`, ~740 lines — the smallest
package): re-exports `ephemeris`, `observer-location`, and a
`sky-event-materialiser` that turns observer location + time into a
`SkyEventSurface` with constellation-art registry and `VisibilityRank` ranking.
A focused integration layer rather than a broad library.

### @nyx/time-travel

Historical/future sky calculations (`libs/nyx/time-travel`, ~4.2k lines):
precession- and proper-motion-aware star-position extrapolation across time via
`HistoricalSkyManager` and `FutureSkyManager`.

### @nyx/time

Astronomical time-systems library (`libs/nyx/time`, ~7.9k lines): multiple time
scales (UTC/TAI/TT/TDB/UT1/TCG/TCB/GPS), Julian-date conversions, leap-second
and Earth-orientation handling, and sidereal time, via `TimeService`,
`SiderealTimeService`, `EOPService`, `HistoricalDateService`, and an
`AstroTimeInstant` value type.

### @nyx/utils

Common astronomical utilities (`libs/nyx/utils`, ~3.1k lines): angle
conversions, formatting, validation, and shared math operations used across the
other Nyx packages. Pure helper layer.

### @nyx/galaxy-distribution

Large-scale-structure visualization
(`libs/nyx/visualization/galaxy-distribution`): maps the cosmic web with
`convertGalaxiesToCartesian`, `analyzeLargeScaleStructure`,
`twoPointCorrelation`, and `calculateDistributionStats`. Distinct from the
exoplanet-focused `@nyx/visualization`.

### @nyx/widget-iss-tracker

Embeddable ISS-tracker widget (`libs/nyx/widgets/iss-tracker`): real-time ISS
tracking with world-map ground track, pass predictions, and day/night
terminator, shipped as a custom element `NyxISSTrackerElement` wrapping an
`ISSTracker` core.

### @nyx/widget-moon-phase

Embeddable moon-phase widget (`libs/nyx/widgets/moon-phase`): lunar phase,
illumination, and upcoming events computed with Meeus algorithms, as a custom
element `NyxMoonPhaseElement` over a `MoonPhase` core.

### @nyx/widget-star-map

Embeddable star-map widget (`libs/nyx/widgets/star-map`, ~5.4k lines): an
interactive sky map for web apps, as custom element `NyxStarMapElement` wrapping
a `StarMap` rendering core. </content> </invoke>
