igneus / calendarium-romanum

liturgical calendar library (Roman Catholic, post-Vatican II)
50 stars 21 forks source link

Rank granularity #95

Open igneus opened 2 years ago

igneus commented 2 years ago

One of the core concepts of the implemented calendar system is Table of Liturgical Days (defined in Normae universales de anno liturgico et de calendario, art. 59), which governs precedence among celebrations, i.e. which of two occurring or concurring celebrations will win and which will be omitted altogether, transferred to another day or lose its Vespers in favor of the winning celebration.

In calendarium-romanum the Table is modeled mostly in the CalendariumRomanum::Ranks enumeration. The Table is a nested list of three levels (roman numerals, arabic numerals, letters), but calendarium-romanum has so far been using a model ignoring the third level. The main reason for this is my unfamiliarity with details of the calendar system at the time I was laying foundation of the library; the excuse for not having changed it up to this day is that I haven't encountered a scenario where the more detailed / more correct model would have any effect on the results.

Since the third level is only present in the ranks of proper celebrations (i.e. all celebrations some calendar has in addition to those of the General Roman Calendar) - proper solemnities, proper feasts, proper obligatory memorials - the more detailed Rank model would only make difference in proper calendars and only in scenarios of occurrence or concurrence of two proper celebrations of the same "arabic rank", but different "lettered rank", e.g. solemnity of the principal patron of a city vs. titular solemnity of a given church.

Occurrence is only possible when one of the two (proper!) celebrations is date-based and the other Easter-based, celebrated on Sunday, or otherwise moving around. (The most common case may be occurrence of saints celebrated in late October with Dedication celebrated on the last Sunday in October.) Concurrence is of importance when two proper solemnities celebrated on subsequent days "fight" over Vespers.

If you are using calendarium-romanum for something where the more detailed Rank model would make a difference, please leave a comment.