summaryrefslogtreecommitdiff
path: root/gen
Commit message (Collapse)AuthorAgeFilesLines
* fix: recover dropped readings + collapse whitespace; regenerate dataLukasz Kasprzak2026-07-284-2935/+3023
| | | | | | | | | | | | | | | | | | | | Two QA-found bugs fixed: - mktext now collapses runs of whitespace in verse text to a single space (and trims), matching lectio's Fields-based rendering. The Vulgate source has occasional double spaces that were leaking into the output. - Regenerated gen/ with the hermetic, alias-fixed clectio-gen: the generator no longer picks up the user's stale books.ini (which had silently dropped ~30 EF Ember-day lessons, e.g. St Lawrence-common Sir 45, Osee/Hosea 14, 2 Esdras/Nehemiah 8). Full range 2025-2054 now has 0 dropped readings. Verified vs lectio: OF and EF 2026 are byte-identical (day names + verse text, 0 mismatches); range boundaries 2025-01-01 / 2054-12-31 match; ASAN + UBSAN clean over leap days, boundaries and edge cases; bad input never crashes. Shipped total 1.28 MiB. Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
* clectio: tiny suckless C daily readings, all readings compiled inlectio2026-07-284-0/+13084
clectio prints the Catholic liturgical day and its Mass readings for a date with a single table lookup -- no computation, config file, network, or deps beyond libc. The calendar, reading citations and scripture text are all compiled in; the whole shipped package fits on a 1.44 MB floppy (~1.29 MiB) and the binary is ~0.9 MB (OF) / ~0.3 MB (EF). - suckless config.h: FORM_OF/FORM_EF, SIGLA_ENGLISH/SIGLA_LATIN, COLOR. - Bring your own Bible: `make CORPUS=mybible.tsv` recompiles with any Vulgate-numbered 6-column TSV; only the ~12k cited verses are embedded. - The hard liturgical logic stays in lectio (Go, oracle-validated); its clectio-gen emits the corpus-independent tables in gen/. The scripture text is LZSS-packed (lz.h) to fit; mktext/bin2h resolve+embed it at build time. - Verified byte-identical to lectio's readings; day names match 157/157 over a 3-year sample. Default text: public-domain Latin Vulgate. ISC-licensed. Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a