A rendered calendar entry — the universal unit for the view layer.
Every CalendarItem (recurring or not) is wrapped into one or more CalendarEntry
instances by the RecurrenceExpander. The rendering layer always works exclusively
with CalendarEntry, never with CalendarItem directly.
For recurring items: multiple entries per item (one per visible occurrence).
For non-recurring items: exactly one entry per item.
Properties are resolved as: exception overrides > item values.
A rendered calendar entry — the universal unit for the view layer.
Every CalendarItem (recurring or not) is wrapped into one or more CalendarEntry instances by the RecurrenceExpander. The rendering layer always works exclusively with CalendarEntry, never with CalendarItem directly.
For recurring items: multiple entries per item (one per visible occurrence). For non-recurring items: exactly one entry per item.
Properties are resolved as: exception overrides > item values.