trails/openspec/changes/planner-multiplayer-awareness/proposal.md
Ullrich Schäfer c7c1c275df
Add 8 proposed changes and old trails analysis
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>
2026-03-25 03:57:20 +01:00

1.3 KiB

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