# RoadRunner Development Plan ## Phase 1: The Foundation (Setup) - [x] Initialize Project Boilerplate (Stonecutter/Architectury) - [x] Configure Project Metadata (RoadRunner, com.bnair.roadrunner) - [ ] User: Install Java 21 and IntelliJ IDEA - [ ] User: Run `./gradlew build` to verify setup ## Phase 2: The Mathematician (Core Logic) - [ ] Implement `BezierCurve` class (Cubic Bezier math) - [ ] Implement `RoadProfile` data structure: - Lanes (Width, Type, Material) - Banking logic - Snapping logic (Tangents) - [ ] Create debug "Planner Item" to visualize curves with particles ## Phase 3: The Architect (GUI & Blueprints) - [ ] Integrate **Owo-lib** for GUI - [ ] Create "Blueprint Planner" item - [ ] Implement Top-Down Map GUI (DrawContext) - [ ] Implement "Ghost" rendering for planned roads (WorldRenderEvents) ## Phase 4: The Foreman (Survival Mechanics) - [ ] Create "Site Office" Block - [ ] Implement Resource Consumption logic - [ ] Implement "Virtual Crew" construction mechanic (Progressive building) - [ ] Add sound effects and particles for construction ## Phase 5: The Civil Engineer (Advanced Features) - [ ] Terrain Mode: "Follow Terrain" vs "Cut & Fill" - [ ] Bridges and Tunnels automation - [ ] "Demolition Tool" with undo capability ## Technical Decisions - **Loader:** Multi-loader (Fabric & NeoForge) via Architectury & Stonecutter - **Language:** Kotlin - **GUI Lib:** Owo-lib - **Rendering:** Fabric API / Architectury Rendering API