Proposed changes (all with proposal, design, specs, tasks): - app-navigation (9 tasks) — nav bars for both apps - planner-landing-page (7 tasks) — standalone landing page - planner-multiplayer-awareness (13 tasks) — participants, cursors, names - changelog (13 tasks) — public changelog with "what's new" - transactional-emails (15 tasks) — magic link + welcome emails - planner-features (18 tasks) — no-go areas, notes, recovery, rate limits - komoot-import (23 tasks) — Komoot tour import - route-features (37 tasks) — sharing, multi-day, spatial, photos Also adds docs/old-trails-analysis.md with feature analysis from the older trails project. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
## Why
|
|
|
|
The Planner supports collaborative editing but the multiplayer experience is
|
|
bare. Users can't see who else is in the session. Cursor labels are small
|
|
floating divs that look broken (no proper styling, overlap with map controls).
|
|
Users get randomly assigned names like "Hiker" or "Explorer" with no way to
|
|
change them. This makes collaboration confusing — you can't tell who is who.
|
|
|
|
## What Changes
|
|
|
|
- **Participant list**: Show who's in the session (name, color, host badge)
|
|
in the sidebar or header
|
|
- **Name editing**: Let users set their name after joining (persisted in
|
|
localStorage, synced via Yjs awareness)
|
|
- **Cursor styling**: Fix cursor labels — proper pointer icon, name tag with
|
|
shadow, avoid overlap with map controls
|
|
- **Connection indicators**: Show when participants join/leave
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
(None — this enhances existing Yjs awareness features.)
|
|
|
|
### Modified Capabilities
|
|
|
|
- `planner-session`: Session view gains participant list and name editing
|
|
- `map-display`: Map cursor rendering improved
|
|
|
|
## Impact
|
|
|
|
- **Files**: `PlannerMap.tsx` (cursor styling), `SessionView.tsx` (participant
|
|
list), `use-yjs.ts` (name editing), new `ParticipantList` component
|
|
- **Dependencies**: None
|
|
- **i18n**: New keys for participant labels and name editing
|