How bahuckel/edexo-compare works
EDEXO-Compare is a journal-linked Elite Dangerous exobiology companion. Its main workflow watches and merges local game journals, builds a view of the commander’s visited systems, predicts candidate species and payouts for biological signals, and presents the result in the desktop browser UI. Separate capabilities include post-DSS species matching, first-footfall and discovery tracking, maps and an encyclopedia, plus optional EDSM lookup and Canonn uploads. The README documents these capabilities; some wiring below is based on that documentation because the sampled source excerpts do not show every subsystem’s implementation.
Main entry points: snapshot.ts App snapshot · httpServer.ts HTTP and WebSocket server · journalWatcher.ts Journal watcher · pipeline.ts Species data feeder
Components 23
User views
- Main companion UI
src/client/App.tsx - Triage screen
src/client/SecondScreen.tsx
Journal processing
- Journal watcher
src/server/journalWatcher.ts - Journal merge cache
src/server/journalMergeCache.ts - App snapshot
src/server/snapshot.ts - HTTP and WebSocket server
src/server/httpServer.ts
Biology predictions
- Match context
src/server/speciesMatchContext.ts - Species matching
src/server/matchSpecies.ts - Species likelihood
src/server/speciesLikelihood.ts - Payout estimates
src/server/explorationPayoutHeuristic.ts - Organic tracking
src/server/exoOrganicTracker.ts - Species encyclopedia
src/server/exomasteryEdsmEncyclopedia.ts - Species data feeder
src/feeder/pipeline.ts - Feeder SQLite store
src/feeder/feederDb.ts
Galaxy and discovery
- Galaxy sector map
src/client/GalaxyMapScreen.tsx - System map
src/server/systemMap.ts - Discovery tracking
src/server/discoveries.ts
External services
- EDSM system lookup
src/server/edsmAutoFetch.ts - Canonn uploads
src/server/canonnUpload.ts
Other components
- Commander
- Game journals
- EDSM
- Canonn archive
Connections 24
- Commander → Game journals: generates events
- Game journals → Journal watcher: reads updates
- Journal watcher → Journal merge cache: merges journals
- Journal merge cache → App snapshot: provides state
- App snapshot → HTTP and WebSocket server: serves snapshot
- HTTP and WebSocket server → Main companion UI: updates view
- HTTP and WebSocket server → Triage screen: updates view
- HTTP and WebSocket server → Galaxy sector map: serves map data
- Commander → Main companion UI: views results
- Match context → Species matching: provides context
- Species matching → Species likelihood: scores candidates
- App snapshot → Match context: builds context
- App snapshot → Payout estimates: estimates value
- App snapshot → Organic tracking: tracks scans
- App snapshot → Discovery tracking: tracks discoveries
- App snapshot → System map: provides system state
- EDSM system lookup → EDSM: looks up systems
- App snapshot → EDSM system lookup: requests lookup
- Canonn uploads → Canonn archive: sends live events
- Journal watcher → Canonn uploads: dispatches events
- Commander → Species data feeder: runs data import
- Species data feeder → EDSM: fetches occurrences
- Species data feeder → Feeder SQLite store: installs profiles
- Species encyclopedia → Main companion UI: supplies reference