feat: add PaschalSkeleton for Easter-anchored movable feasts #207
No reviewers
Labels
No labels
area: build
area: ci
area: compare
area: data
area: engine
area: model
area: provenance
area: rite
area: validation
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
github_actions
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: bug
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Core!207
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/16-movable-skeleton"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #16. Continues Epic #14 (Temporal cycle / Factory).
Derives the paschal skeleton — every movable point of the temporal cycle anchored to Easter — from
Computus(#15).What lands
Introibo\Core\Temporal\PaschalSkeleton—forYear(int)/fromEaster(DateTimeImmutable). Each anchor is a signed day-offset from Easter Sunday (aprivate const OFFSETStable: Septuagesima −63 … Ash Wednesday −46 … Easter 0 … Ascension +39 … Pentecost +49 … Corpus Christi +60 … Sacred Heart +68). Nothing is hard-coded to a civil date, so leap years are handled for free — Ash Wednesday is always exactly 46 days before Easter.date(anchor),all(), staticoffsets(), and named accessors (septuagesima(),ashWednesday(),ascension(),pentecost(),corpusChristi()).Verification
Local:
composer lintclean ·composer analysePHPStan L6[OK]·composer test150/150 green.