Opening versicle; Ps 66 (fixed, no antiphon at all); the weekday- variable psalm groups (Ps 50 plus 1-2 more, framed by their own antiphon each, wholesale-substituted by Sunday's Ps 50+117-share-one- antiphon shape); the weekday OT canticle; the Laudate psalms (148-150) under one more shared antiphon; the weekday chapter/responsory/hymn/ versicle bundle; the Benedictus (framed by a day-resolved antiphon, same incipit-or-full/full-repeat shape as Compline's Nunc Dimittis); the Kyrie/Pater-noster short litany; the day's collect(s) — winner plus one per commemoration, via the new getDayCollects; the four Tridentine suffrages (omitted on a Double-or-higher feast); the conclusio; the closing versicle (the silent Our Father that precedes it isn't re-rendered, its text having already appeared once at the short litany); and the closing Marian antiphon, reusing Compline's own mechanism exactly. Known, deliberate gap, not yet fixed: the psalmody doesn't model the Commune/feast override real practice applies on a Semiduplex-or-higher day (substituting an entirely different psalm+canticle set) — every day currently gets the plain ferial weekday distribution regardless of who wins. That's a separate, larger propers-authoring task (a full Common-of-Saints psalm set per Common). Also a simplification in getDayCollects: each collect in a multi- collect day renders as its own complete "Let us pray ... Amen." block, rather than the more compressed real form (one "Let us pray," only the last collect's doxology). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,48 @@ export type HourPart =
|
||||
// to a 'canticle' ResolvedPart (with the opening antiphon inline) plus a
|
||||
// standalone 'antiphon' ResolvedPart for the closing repeat.
|
||||
| { kind: 'nunc-dimittis' }
|
||||
// Lauds only. Everything from Ps 66 through the Laudate psalms (148-150)
|
||||
// inclusive, resolved by weekday — see hours/lauds.ts's resolvePsalmody
|
||||
// and data/hours/lauds-antiphons.yml. Opaque here on purpose: the real
|
||||
// shape (a fixed Ps 66 with no antiphon at all, then a weekday-variable
|
||||
// number of antiphoned psalm groups, then a weekday-variable OT canticle,
|
||||
// then the Laudate psalms under one more shared antiphon) doesn't fit any
|
||||
// existing part kind, and hardcoding psalm numbers in lauds.yml can't
|
||||
// work since they differ by weekday. Known, deliberate gap: does NOT
|
||||
// model the Commune/feast override of this whole block (real practice
|
||||
// substitutes an entirely different set of psalms+antiphons+canticle on
|
||||
// a Semiduplex-or-higher day) — every day currently gets the plain
|
||||
// ferial weekday distribution regardless of who wins. Fixing that is a
|
||||
// separate, larger propers-authoring task (a full Common-of-Saints psalm
|
||||
// set per Common), not started yet.
|
||||
| { kind: 'lauds-psalmody' }
|
||||
// Lauds only. The weekday-resolved chapter/short-responsory/hymn/closing
|
||||
// versicle bundle that follows the psalmody — see hours/lauds.ts and
|
||||
// data/propers/common/lauds-{capitulum,responsory,hymn,versicle}-*.yml.
|
||||
// Expands into 4 ResolvedParts (chapter, responsory, hymn, versicle).
|
||||
| { kind: 'lauds-office' }
|
||||
// Lauds only. Benedictus (Luke 1:68-79), fixed text (see propers/common/
|
||||
// benedictus.yml) framed by a day-resolved antiphon (see hours/
|
||||
// resolve-common.ts's getBenedictusAntiphon) — same incipit-or-full/
|
||||
// full-after-Creed... no Creed at Lauds, just before+after framing shape
|
||||
// as nunc-dimittis, gated the same way by isDoubleOrHigher.
|
||||
| { kind: 'benedictus' }
|
||||
// Lauds only. The four fixed Tridentine suffrages (Holy Cross, BVM,
|
||||
// Ss. Peter & Paul, Peace) said after the day's collect(s) — see
|
||||
// data/propers/common/lauds-suffrage-*.yml. `omitOnDouble` gates the
|
||||
// whole set at once (real practice: suffrages drop on a Double-or-higher
|
||||
// feast) — an honest simplification, see hours/lauds.ts for the caveat
|
||||
// on what real practice also suppresses them for that isn't modeled.
|
||||
| { kind: 'suffrages'; omitOnDouble?: true }
|
||||
// Lauds/Vespers. The day's own collect *and* one more per commemoration
|
||||
// (calendar/types.ts's LiturgicalDay.commemorations) — see hours/
|
||||
// resolve-common.ts's getDayCollects. Distinct from the singular
|
||||
// 'day-collect' the Little Hours use (which only ever renders the
|
||||
// winner's own collect, never a commemoration's). Simplification: each
|
||||
// collect renders as its own complete "Let us pray ... Amen." block
|
||||
// rather than the more compressed real form (one "Let us pray," only the
|
||||
// last collect closes with the full doxology) — see hours/lauds.ts.
|
||||
| { kind: 'day-collects' }
|
||||
// Compline's closing Marian antiphon (with its own versicle and collect
|
||||
// baked into the same text block) — resolved by season, defaulting to
|
||||
// Salve Regina. See hours/marian-antiphon.ts.
|
||||
|
||||
Reference in New Issue
Block a user