Skip to content

feat(web): fetch CelesTrak TLEs and propagate with SGP4 - #15

Merged
benweru merged 1 commit into
mainfrom
feat/web-tle-sgp4
Oct 19, 2026
Merged

benweru merged 1 commit into
mainfrom
feat/web-tle-sgp4

Conversation

@benweru

@benweru benweru commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fetches CelesTrak GP TLEs (FORMAT=TLE), caches them with fetchedAt, and propagates ECI position with SGP4 (satellite.js).
  • Catalog: ISS 25544, Landsat 9 49260, CUTE-1 (CO-55) 27844.
  • Brief: docs/tasks/sprint13-web-tle-sgp4.md

A TLE is a snapshot of an orbit. SGP4 turns it into a position. Good for days, not months.

Test plan

  • make test
  • cd web && npm test (fixture only, no network)
.venv/Scripts/python -m pytest -q -m "not cfs and not docker and not linux_i2c"
72 passed, 4 skipped, 15 deselected in 5.27s

Test Files  5 passed (5)
     Tests  7 passed (7)

Web tests (7) cover parse, cache round-trip, mocked fetch, and ISS in LEO near the fixture epoch.

Live CelesTrak ISS pull used to seed the fixture (2026-10-19):

ISS (ZARYA)
1 25544U 98067A   26292.43498098  .00007189  00000-0  13878-3 0  9990
2 25544  51.6326  45.2419 0006754 282.9887  77.0347 15.48939196591015

What's still missing

  • Nairobi look angles / next pass (sprint 14).
  • Cesium globe (sprint 15). Production CORS: dev uses a Vite proxy; a static host may still need a proxy.

Co-authored-by: Cursor <cursoragent@cursor.com>
@benweru
benweru merged commit fad1d7f into main Oct 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant