# Time Tools Plan across time zones and work with dates and recurrences locally in the browser. Time Tools is a standalone local-first application in the [add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are processed in the browser and are not uploaded. ## Version 0.2 scope - Exact signed epoch conversion through nanosecond precision - IANA-zone comparison, skipped/ambiguous local-time resolution and transition inspection - Side-by-side wall-clock and elapsed-duration arithmetic - Bounded cron previews with explicit Unix/Vixie, GitHub Actions, Croner, Quartz and AWS EventBridge dialect rules, plus strict RFC 5545 RRULE previews - A bounded multi-participant meeting planner that compares entered recurring local work windows across IANA zones - Weekend/explicit-holiday business-day arithmetic and escaped UTC iCalendar event export - Bounded `.ics` file/paste import with structural validation, multiple-event inventory, VTIMEZONE inspection and recurrence previews that apply EXDATE/RDATE plus moved or cancelled RECURRENCE-ID overrides - Inert URL and attachment inspection: references are reported as data and are never fetched, opened, decoded or rendered iCalendar import is limited to 8 MiB, 100,000 content properties, 20,000 components, 10,000 events, 16 component levels and 1,000 previewed occurrences. Named TZIDs available to the browser are evaluated with its IANA data. Custom VTIMEZONE observances are inventoried, but recurrence expansion is withheld when the browser cannot execute that TZID rather than guessing an offset. Named-zone results use the IANA data supplied by the browser runtime and can therefore vary with browser versions. ECMAScript Temporal does not represent leap seconds. The business-day calculator excludes weekends and only the holiday dates supplied by the user; it does not infer regional calendars. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md). Cron previews intentionally reject fields or extensions outside the selected dialect and show the normalized expression and scheduler caveats. The meeting planner reads no calendar, holiday, travel or presence data: every candidate comes only from the work windows and weekend choices entered in the page. ## Development Requires Node.js 22 and npm 11. ```sh npm ci npm run check npm run test:browser ``` ## Release `npm run release:artifact` creates a deterministic `release/time-tools-0.2.0.zip` and checksum sidecar. ## Licence GPL-3.0-or-later. Runtime dependencies retain their own licences; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).