shows the daily tarot/astrology reading on-device: persistence, reading
computation, and UI screens, driven by the existing engine/interpreter
code linked in unchanged where possible.
Required engine-side changes to make that linking work:
- A compact low-precision ephemeris (lowprec_ephemeris.c) replacing the
vendored ~127KB Astronomy Engine, which doesn't fit the watch's ~64KB
app budget.
- Hand-rolled sqrt/atan2/sin/cos replacements for that ephemeris and
astro.c's Ascendant calculation - Pebble's statically-linked libm
hard-faults on real hardware under this app's -fPIE link for all four.
- narrative.c/guidance.c refactored from FILE*/fprintf onto snprintf-
based buffers, since Pebble's SDK blocks fprintf at compile time.
- guidance.c now prints last, after the full spread; both it and main.c's
new Celtic Cross readout pull real Waite card meanings via tarot_data.c
instead of just naming cards.
- interpreter-cli gains --format text|html|json and --lang en|de, matching
deck-engine - required linking engine/src/tarot_data.c and i18n.c into
the interpreter binary (a narrow, documented exception to its earlier
"no engine .c files" policy) and writing German translations for
narrative.c's/guidance.c's own text.