bedbf577ea70bba15c05a9b982a6395bf0c47605
hours/matins.ts no longer a stub: resolves a full ordo assembled programmatically per day rather than a static parts list, since the real structure (1 nocturn ferial vs. 3 on a Sunday or Duplex+ feast, a variable number of readings) doesn't fit the pattern every other hour uses. Several deliberate departures from the historical office, all per direct instruction (see TODO.md's own writeup): Nocturn 1 always draws from the user's bible-plan rather than the historical lectionary and never contracts for "summer"; split historical lessons are recombined except where the source genuinely changes; Nocturn 3 is gated at Duplex-and-higher plus every Sunday; every commemorated saint and active octave contributes its own reading, not just the office winner; a Gospel reading is sourced only from the user's plan or the day's own proper content, never a Common-of-Saints fallback; the Invitatory is framed like an ordinary antiphoned psalm rather than the historical repeating refrain. ui/hour-view.ts renders the two new part kinds (nocturn-psalmody, te-deum) and the extended lesson shape (responsory, Gospel flag).
Description
Divine Office / Liturgy of the Hours app (pre-1955-leaning calendar, modified Benedictine psalter, whole-Bible reading plan)
Languages
TypeScript
99%
CSS
0.9%