05a3efd9c8
Complete design for TripDetailView refactor with constrained drag-and-drop: - Games are fixed anchors (immovable, ordered by time) - Travel is movable with hard constraints (after departure games, before arrival games) - Custom items are freely movable anywhere Key decisions from 100-question brainstorming session: - Unified ItineraryItem model (replaces CustomItineraryItem + TravelDayOverride) - Separate testable ItineraryConstraints type - Full structure stored (not derived) - Debounced sync, local-first, last-write-wins - Invalid zones dim during drag, barrier games highlight - Gap opens at drop position, haptic feedback throughout Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>