How ashtynguela/lu-see works
AMAZE-X is a browser-based lunar landing-site exploration and mission-planning app, with a distinct Rocky assistant/overlay and a Solar System explorer. The principal workflow is to choose a lunar site and landing date, load ephemeris and terrain data, inspect Sun/Earth conditions over a mission, search candidate arrival windows, then compare or export scenarios. The graph preserves documented capabilities even where their implementation was not sampled; dashed, uncited edges mark inferred client/server connections.
Main entry points: App.tsx App shell · index.mjs HTTP API · app-tools.mjs App action tools · World.tsx Earth–Moon views
Components 24
App experience
- App shell
src/App.tsx - Welcome screen
src/Welcome.tsx - Solar System
src/SolarSystem.tsx - Earth–Moon views
src/World.tsx - Lunar globe
src/LunarGlobe.tsx - App state
src/store.ts
Lunar analysis
- Site conditions
engine/index.mjs - Solar vectors
engine/solar.mjs - Body orientation
engine/planetOrientation.mjs - Lunar context
engine/celestial-context.mjs - Landing windows
engine/landing.mjs - Mission references
engine/mission-history.mjs - Scenario comparison
engine/comparison.mjs - Nearby sites
engine/nearby.mjs - Analysis reports
engine/report.mjs
Data services
- HTTP API
server/index.mjs - JPL Horizons
server/horizons.mjs - Terrain service
server/terrain.mjs - Terrain processing
server/terrain-work.mjs - Surface imagery
server/surface-imagery.mjs
Assistant and actions
- Rocky assistant
server/assistant.mjs - App action tools
server/app-tools.mjs - Action definitions
engine/app-actions.mjs
Other components
- Explorer
Connections 31
- Explorer → App shell: opens
README.md - App shell → Welcome screen: shows
src/App.tsx - App shell → App state: reads and updates
src/App.tsx - App shell → Earth–Moon views: renders
src/App.tsx - App shell → Nearby sites: renders
src/App.tsx - Explorer → Solar System: explores planets
README.md - Solar System → Solar vectors: uses positions
src/SolarSystem.tsx - Solar System → Body orientation: uses rotation
src/SolarSystem.tsx - Earth–Moon views → Lunar globe: offers lunar map
src/World.tsx - Earth–Moon views → Site conditions: computes conditions
src/World.tsx - Earth–Moon views → Body orientation: uses rotation
src/World.tsx - Lunar globe → Lunar context: builds context
src/LunarGlobe.tsx - Lunar context → Solar vectors: interpolates vectors
engine/celestial-context.mjs - Explorer → Landing windows: requests windows
README.md - Landing windows → Mission references: uses mission timing
- Explorer → Scenario comparison: compares scenarios
README.md - Explorer → Analysis reports: exports analysis
README.md - Nearby sites → Site conditions: ranks sites
src/NearbySites.tsx - App shell → Analysis reports: exports report
src/App.tsx - App state → HTTP API: requests data
- HTTP API → JPL Horizons: fetches ephemeris
server/index.mjs - HTTP API → Solar vectors: builds solar packet
- HTTP API → Terrain service: loads terrain
server/index.mjs - Terrain service → Terrain processing: delegates work
server/terrain.mjs - HTTP API → Surface imagery: serves imagery
server/index.mjs - Explorer → Rocky assistant: chats with Rocky
README.md - Rocky assistant → App action tools: runs tools
server/assistant.mjs - App action tools → Action definitions: validates actions
server/app-tools.mjs - App action tools → Landing windows: searches windows
server/app-tools.mjs - App action tools → Mission references: estimates arrivals
server/app-tools.mjs - App action tools → Scenario comparison: summarizes comparison
server/app-tools.mjs