M0 spike: plan, sky engine, static sky render, APNs probe !1

merged merged by cmc on 2026-10-17 23:21 UTC · krz/moonrise:m0-spike into main

Discussion

cmc
  • PLAN.org: concept, screens, data sources checked 2026-10-17, Cloudflare backend, milestones, roadmap, M0 results.
  • Packages/MoonriseKit:

    • CAstronomy: Astronomy Engine v2.1.19 C source (MIT).
    • SkyEngine: Swift wrapper. Moon, Mars, Jupiter, Saturn match JPL Horizons within 1′ (RA/Dec, alt/az, heliocentric).
    • SkyRenderer: stereographic sky, 8,404 BSC5 stars, 88 constellations (ConstellationLines, CC BY 4.0), planets, moon phase, horizon. Mac render of a 1179×2556 frame: 0.09 s. Not measured on a device.
  • spikes/apns-worker: ES256 provider token via WebCrypto, /push, /probe. Deployed probe got APNs 403 InvalidProviderToken with apns-id on 3 of 3 calls, so HTTP/2 to APNs works from a Worker. Worker deleted after.
  • THIRD_PARTY.org, .gitignore.

Tests: swift test in Packages/MoonriseKit (7 pass); node --test test/ in spikes/apns-worker (1 pass).