Files
2026-09-01 13:04:50 +02:00

1.1 KiB

Architecture

Calendar Tools is a static React/Vite application wrapped in the shared Toolbox shell. calendar/model.ts places strict preflight bounds around the pinned ical.js parser, projects events and timezone definitions into inert inspection records, expands recurrence under explicit limits, and implements deterministic merge and repair operations.

UID plus RECURRENCE-ID is the merge identity. Higher SEQUENCE wins; equal sequences use lexically later DTSTAMP. VTIMEZONE definitions are retained once per TZID. Conflict diagnostics operate on the bounded occurrence preview, not on an unbounded calendar.

Embedded VTIMEZONE definitions are interpreted by ical.js. A TZID without an embedded definition is resolved through the browser's IANA data when available and is diagnosed as such. Floating times remain floating for display; conflict comparison assigns a UTC-shaped inspection coordinate and must not be treated as a scheduling conversion. Version 0.1 is synchronous, has no persistence or server API, and uses relative assets for nested portal paths.