Add closing Gloria Patri after psalms, omitted during the Sacred Triduum

Psalms across every hour rendered with no closing Gloria Patri at all.
Add it centrally (hours/index.ts) rather than per-hour, using a new
calendar/temporal.ts isInTriduum helper so it's correctly dropped from
Maundy Thursday through Holy Saturday and nowhere else — live-verified
against both of this app's actual source tracks (Divino Afflatu 1954
and Tridentine 1906), not just the modern Rubrics 1960 default. Also
fixes Lauds' existing but Triduum-blind canticle Gloria Patri append.
This commit is contained in:
2026-08-19 06:03:51 -04:00
parent a9f673fef9
commit b230f3f1e8
6 changed files with 70 additions and 9 deletions
+12
View File
@@ -126,6 +126,18 @@ export function easterOffsetOf(isoDate: string): number {
return daysBetween(toIsoDate(easterSunday(year)), isoDate);
}
/** The Sacred Triduum: Maundy/Holy Thursday through Holy Saturday
* (inclusive). Doesn't line up with `season` (which resolves this window
* to 'passiontide', same as the two weeks before it) — see
* hours/marian-antiphon.ts's isCandlemasToHolyWednesday for the same
* direct-date-check pattern used for another window `season` can't
* represent. Gloria Patri is omitted after psalms only in this narrower
* window, not throughout Passiontide/Holy Week generally. */
export function isInTriduum(isoDate: string): boolean {
const offset = easterOffsetOf(isoDate);
return offset >= -3 && offset <= -1;
}
/**
* A day's precedence category under the temporal cycle alone — see
* calendar/types.ts's TemporalCategory doc comment and