Files
vu/src/data/calendar/easter-offsets.yml
T
will 67037469fc calendar: compute real Easter dates and temporal-cycle seasons
resolveDay() no longer hardcodes season: 'trinitytide'. Easter is
computed via the Anonymous Gregorian algorithm (verified against 16
known reference dates spanning 1583-2100); Advent/Christmastide/
Epiphanytide follow the Christmas-anchored rules (including Advent's
"Sunday nearest Nov 30"); Septuagesima through Trinitytide come from
easter-offsets.yml, reshaped from single named anchor points into real
ranges plus single-day overrides for Corpus Christi and Sacred Heart.

occurring feasts (calendar/feasts.ts) are still a stub — the sanctoral
calendar and Double-vs-not ranking are a separate, larger project.
2026-08-10 05:27:12 -04:00

31 lines
1.2 KiB
YAML

# Offsets in days from Easter Sunday (0). Negative = before Easter, positive
# = after. Covers the whole Easter-anchored span: Septuagesima through the
# last Sunday of Trinitytide. A season's *name* (and hence whether it reads
# "trinitytide" or "time after pentecost") lives here as data, not as a
# compiled TS enum — see calendar/types.ts's Season type.
#
# `ranges` gives the season that starts at each offset and runs until the
# next range's offset (or, for the last entry, until Advent cuts it off —
# see calendar/temporal.ts). `days` overrides a single specific offset with
# its own one-day season, for movable feasts that aren't a whole season
# but that other by-season tables (prime-chapter-responsory-by-season.yml,
# hymn-doxology-by-season.yml) already reference by name.
ranges:
- season: septuagesima
fromOffset: -63
- season: lent
fromOffset: -46
- season: passiontide
fromOffset: -14
- season: eastertide
fromOffset: 0
- season: ascensiontide
fromOffset: 39
- season: pentecost
fromOffset: 49
- season: trinitytide
fromOffset: 56
days:
60: corpus-christi # Thursday after Trinity Sunday
68: sacred-heart # Friday after the octave of Corpus Christi