# Project State: Itinerary Editor ## Project Reference **Core Value:** Drag-and-drop that operates on semantic positions (day + sortOrder), not row indices - so user intent is preserved across data reloads. **Current Focus:** Beginning Phase 1 - Semantic Position Model ## Current Position **Phase:** 1 - Semantic Position Model **Plan:** Not yet created **Status:** Awaiting plan creation ``` Progress: [----------] 0% Phase 1: [----------] Not Started Phase 2: [----------] Not Started Phase 3: [----------] Not Started Phase 4: [----------] Not Started ``` ## Performance Metrics | Metric | Value | |--------|-------| | Total Requirements | 23 | | Completed | 0 | | Current Phase | 1 | | Plans Executed | 0 | ## Accumulated Context ### Key Decisions | Decision | Rationale | Phase | |----------|-----------|-------| | UITableView over SwiftUI List | SwiftUI drag-drop lacks insertion line precision | Pre-planning | | (day, sortOrder) position model | Row indices break on reload; semantic position is stable | Pre-planning | | Insertion lines (not zones) | User wants precise feedback on exact drop location | Pre-planning | | Invalid drops rejected (snap back) | Cleaner than auto-clamping; user knows what happened | Pre-planning | ### Learned - Previous attempts failed due to row-based thinking instead of semantic positioning - Travel was incorrectly treated as structural ("travelBefore") instead of positional - Hard-coded flatten order ignoring sortOrder caused reload issues ### TODOs None yet - awaiting Phase 1 planning. ### Blockers None currently. ## Session Continuity **Last Session:** Project initialized, roadmap created **Next Action:** Create plan for Phase 1 ### Context for Next Session Starting fresh. Phase 1 establishes the semantic position model that everything else depends on. Requirements DATA-01 through DATA-05 define the model structure, PERS-01 through PERS-03 define persistence behavior. The key insight from research: row indices are lies, semantic positions are truth. --- *State initialized: 2026-01-18* *Last updated: 2026-01-18*