Add narrative text and a day-significance rank to the interpreter
Each of the day's top significant transits now gets a short sentence describing what it classically means and which area of life its house governs, condensed from Sepharial's Transits and Planetary Periods (1920, public domain) plus a small table of traditional house significations. The day-level line also shows its rank out of the 4 defined levels, e.g. "Notable (2/4)". Docs (CLAUDE.md, README, docs/input-output-format.md, docs/reading.md) updated to match, including a full worked example in docs/reading.md.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "narrative.h"
|
||||
#include "reading_io.h"
|
||||
#include "significance.h"
|
||||
|
||||
@@ -12,7 +13,7 @@ static void print_usage(const char *prog) {
|
||||
"Reads a DailyReading in deck-engine's --format json shape - from the\n"
|
||||
"given file, or from stdin if no file is given (or it is \"-\") - and\n"
|
||||
"prints a significance report: the day's overall level and the top\n"
|
||||
"aspects driving it.\n\n"
|
||||
"aspects driving it, each with a short narrative note.\n\n"
|
||||
"Typical use:\n"
|
||||
" dist/deck-engine ... --format json | %s\n"
|
||||
" dist/deck-engine ... --format json > reading.json && %s reading.json\n",
|
||||
@@ -115,7 +116,8 @@ int main(int argc, char **argv) {
|
||||
DailyInterpretation interp;
|
||||
interpret_daily_reading(&reading, &interp);
|
||||
|
||||
printf("Day significance: %s\n", day_level_name(interp.day_level));
|
||||
printf("Day significance: %s (%d/%d)\n", day_level_name(interp.day_level),
|
||||
interp.day_level + 1, DAY_SIGNIFICANCE_COUNT);
|
||||
if (interpretation_deserves_framing(&interp)) {
|
||||
printf("(a major transit today - worth a deeper Celtic Cross look)\n");
|
||||
}
|
||||
@@ -137,6 +139,7 @@ int main(int argc, char **argv) {
|
||||
printf(" %s natal %s", aspect_display_name(a->type), body_display_name(a->natal_planet));
|
||||
print_body_in_sign(&reading.natal.bodies[a->natal_planet]);
|
||||
printf(" (orb %.1f\xc2\xb0, score %.2f)\n", a->orb, item->score);
|
||||
narrative_print(stdout, " ", a, reading.transits.bodies[a->transiting_planet].house);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user