8 lines
1.1 KiB
Markdown
8 lines
1.1 KiB
Markdown
# 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.
|