Archive osm-overlays change, sync 4 specs to main

Synced to main specs:
- osm-poi-overlays (new): POI overlay requirements
- osm-tile-overlays (new): tile overlay requirements
- map-display (updated): added overlay layer entries
- planner-session (updated): added overlay/POI sync

Archived to openspec/changes/archive/2026-04-11-osm-overlays/.
All 4 artifacts complete. All 45 tasks complete.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-04-11 02:45:32 +02:00
parent f4ebf75a42
commit 7dc4fdec3b
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
12 changed files with 179 additions and 98 deletions

View file

@ -1,13 +1,24 @@
## Purpose
## MODIFIED Requirements
Collaborative planning session management with Yjs CRDT synchronization, supporting initialization from URL parameters, journal handoff, and GPX file upload.
### Requirement: Real-time collaborative editing
The Planner SHALL synchronize waypoint edits, route options, and overlay preferences across all connected participants in real-time using Yjs CRDTs.
## Requirements
#### Scenario: Add waypoint
- **WHEN** participant A adds a waypoint to the map
- **THEN** participant B sees the waypoint appear within 500ms
### Requirement: Session initialization from GPX
The Planner SHALL support initializing sessions from a GPX file upload in addition to URL parameters and the journal handoff.
#### Scenario: Reorder waypoints
- **WHEN** participant A drags a waypoint to reorder it
- **THEN** participant B sees the updated waypoint order within 500ms
#### Scenario: Session created from GPX upload
- **WHEN** a session is created via GPX file upload on the home page
- **THEN** waypoints and no-go areas from the GPX are passed via URL parameters to the session page
- **AND** the Yjs document is initialized with the extracted data on the client side
#### Scenario: Concurrent edits
- **WHEN** participant A and B both add waypoints simultaneously
- **THEN** both waypoints appear for both participants without conflict
#### Scenario: Overlay sync
- **WHEN** participant A enables the "Hillshading" tile overlay
- **THEN** participant B sees hillshading appear on their map within 500ms
#### Scenario: POI category sync
- **WHEN** participant A enables the "Drinking water" POI category
- **THEN** participant B sees drinking water markers appear on their map