Add astrological houses to natal chart and daily transits

Every planet position now carries its whole-sign house (1-12); transits
report the natal house each transiting planet currently occupies rather
than a fresh "houses for right now" chart, matching how transits are
normally read. Surfaced in both text and HTML output, fully translated.
This commit is contained in:
ml
2026-07-04 12:41:03 +02:00
parent e4ea31270f
commit 57deb62b51
10 changed files with 64 additions and 15 deletions
+4 -3
View File
@@ -18,7 +18,8 @@ void reading_generate(const char *tarot_seed, const BirthData *birth,
}
static void print_position_deg(FILE *out, const PlanetPosition *p) {
fprintf(out, "%5.1f%s %s", p->degree_in_sign, "\xc2\xb0", astro_sign_name(p->sign));
fprintf(out, "%5.1f%s %-11s (%s %d)", p->degree_in_sign, "\xc2\xb0",
astro_sign_name(p->sign), ui("ui.house", "House"), p->house);
}
void reading_print_text(const DailyReading *r, FILE *out) {
@@ -68,8 +69,8 @@ void reading_print_text(const DailyReading *r, FILE *out) {
}
static void print_body_row_html(FILE *out, const char *label, const PlanetPosition *p) {
fprintf(out, "<tr><td>%s</td><td>%.1f&deg; %s</td></tr>\n", label,
p->degree_in_sign, astro_sign_name(p->sign));
fprintf(out, "<tr><td>%s</td><td>%.1f&deg; %s</td><td>%s %d</td></tr>\n", label,
p->degree_in_sign, astro_sign_name(p->sign), ui("ui.house", "House"), p->house);
}
void reading_print_html(const DailyReading *r, FILE *out) {