#14 · Add contextual time editing and linked durations; fix deep zoom and previews
- timeline-app
- pull request
- sharing
Gregorian moment editing now uses a contextual calendar/time picker, and deep zoom labels retain visible differences using an exact shared origin. Tiny Gregorian offsets use SI seconds; geological ages continue through billions, trillions and larger units. Preview clicks open the moment editor, and edit status no longer appears beside Delete while deletion confirmation remains available. Durations link two existing moment IDs and retain their own title, notes and metadata. Their exact interval indexes in the browser, PostgreSQL and SQLite return bands crossing the viewport even when neither endpoint is cached. Sparse endpoint edits move bands, confirmed endpoint deletion cascades links, and JSON/SQLite exports and immutable server revisions preserve them. Viewport payloads are bounded to 256 bands with a notice; this first version uses three compact visual lanes and does not aggregate overlapping duration bands. Validation: 27 unit test files, TypeScript, production Next.js build, 15 native SQLite tests, real PostgreSQL interval/history tests, and Chromium/Firefox/WebKit interaction regressions. Added PostgreSQL duration coverage to CI and browser coverage to both served and standalone offline suites. Fixes #2 Fixes #3 Fixes #4 Fixes #5 Fixes #6 Fixes #7