trails/openspec/specs/route-preview/spec.md
Ullrich Schäfer 0b9b99984e Fix all OpenSpec validation failures (36/36 passing)
- Add ## Purpose sections and convert delta headers to ## Requirements
  on all 25 specs
- Add SHALL keywords to requirements missing them (gpx-import,
  planner-session, planner-journal-handoff)
- Convert prose GPX format section to proper scenarios (no-go-areas)
- Create specs/ delta files for 7 changes that were missing them
  (activity-photos, local-dev-stack, multi-day-routes, route-discovery,
  route-sharing, visual-redesign, waypoint-notes)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:17:52 +02:00

38 lines
1.6 KiB
Markdown

## Purpose
Map thumbnails on route and activity list pages, and interactive maps with zoom and layer switching on detail pages.
## Requirements
### Requirement: Route map preview on list pages
Route and activity list pages SHALL show a small map thumbnail for each item that has geometry.
#### Scenario: Route with geometry
- **WHEN** the routes list page loads and a route has a `geom` column
- **THEN** a small map thumbnail is rendered showing the route path
- **AND** the map auto-fits to the route bounds
#### Scenario: Route without geometry
- **WHEN** a route has no `geom` (legacy route)
- **THEN** a placeholder is shown instead of a map thumbnail
#### Scenario: Activity with geometry
- **WHEN** the activities list page loads and an activity has a `geom` column
- **THEN** a small map thumbnail is rendered showing the activity path
### Requirement: Interactive map on detail pages
Route and activity detail pages SHALL show an interactive read-only map with the route/activity drawn.
#### Scenario: Route detail with geometry
- **WHEN** a user views a route detail page and the route has geometry
- **THEN** a full-width interactive map is shown with the route path
- **AND** the map has zoom controls and layer switching
- **AND** the map auto-fits to the route bounds
#### Scenario: Activity detail with geometry
- **WHEN** a user views an activity detail page and the activity has geometry
- **THEN** a full-width interactive map is shown with the activity path
#### Scenario: Detail page without geometry
- **WHEN** a route or activity has no geometry
- **THEN** no map section is rendered