Add reusable Matins building blocks: types, content stores, seed data

New ResolvedPart kinds (nocturn-psalmody, te-deum) and lesson fields
(nocturn, source, isGospel, responsory) in hours/types.ts. Three new
content-store modules: propers/bible-plan.ts (the user's own continuous
scripture-reading plan, replacing the historical Nocturn-1 lectionary),
propers/nocturn-readings.ts (general feast/temporal-day Nocturn 2-3
readings, extending propers/octave-readings.ts's combine-into-one-reading
pattern via a newly-exported resolvePassages), and
propers/matins-responsories.ts (a per-book responsory pool, matched
loosely rather than by exact citation).

Data: Sunday's fixed 12-psalm/3-canticle psalmody (live-verified against
the reference engine), the invitatory antiphon, ferial hymn and
capitulum, the Te Deum, a seeded Isaiah responsory, two live-transcribed
scripture chapters, and the two bible-plan rows needed for this pass'
proof content.
This commit is contained in:
2026-08-14 11:40:31 -04:00
parent 5162eabdb4
commit 83bf55efdb
16 changed files with 1008 additions and 2 deletions
@@ -0,0 +1,38 @@
# A per-book pool of Matins responsories, matched loosely (by scriptural
# book, not exact citation) rather than tied to a specific chapter/verse —
# per the user's own description (2026-08): responsories aren't attuned to
# chapter/verse historically, so a book-level match is the right
# granularity, not a gap to fill in later with exact citations.
#
# Seeded, not a full pool — only the books needed for this build's proof
# content are here (see TODO.md for what's deferred). Cycled in order
# per-day when a Nocturn-1 reading's book has more than one candidate
# responsory available; the day's own responsory count doesn't have to
# match the pool's size.
#
# `isa` sourced from a live query (Monastic Tridentinum 1617, 2026-12-15,
# a plain ferial Tuesday of Advent III — real, un-summer-contracted
# Lectio 1-3 on Isa 30:18-28) — this is genuine historical Advent-season
# Isaiah content, reused here as a loose match for the user's own
# continuous Isaiah reading even though the exact chapters differ (Isa
# 36-37 vs. the source's own Isa 30), consistent with "not attuned to
# chapter/verse."
isa:
- r:
la: "Ægýpte, noli flere, quia Dominátor tuus véniet tibi, ante cujus conspéctum movebúntur abýssi, * Liberáre pópulum suum de manu poténtiæ."
en: "Weep not, O Egypt, for the Ruler cometh unto thee, and the depths shall be moved at His presence. * To deliver His people out of the hand of the mighty."
v:
la: "Ecce véniet Dóminus exercítuum, Deus tuus cum potestáte magna."
en: "Behold, the Lord of hosts, thy God, cometh with great power."
- r:
la: "Prope est ut véniat tempus ejus, et dies ejus non elongabúntur: * Miserébitur Dóminus Jacob, et Israël salvábitur."
en: "Her time is near to come, and her days shall not be prolonged. * The Lord shall have mercy on Jacob, and Israel shall be saved."
v:
la: "Revértere, virgo Israël, revértere ad civitátes tuas."
en: "Turn again, O Virgin of Israel, turn again to thy cities."
- r:
la: "Descéndet Dóminus sicut plúvia in vellus: * Oriétur in diébus ejus justítia, et abundántia pacis."
en: "The Lord shall come down like rain upon a fleece. * In His days shall righteousness flourish, and abundance of peace."
v:
la: "Et adorábunt eum omnes reges, omnes gentes sérvient ei."
en: "All the kings of the earth shall fall down before Him, all nations shall serve Him."