- Test current gold/blue hologram drag system thoroughly
- Verify hologram material switching (gold → blue on release)
- Ensure line drawing works correctly between ship and hologram
- Test that only one hologram exists at a time
- Verify ship stays in original position during drag
- Remove cube from scene
- Create "Move" button component
- Spawn button when ship is selected
- Position button relative to ship's world position
- World-to-screen coordinate transformation
- Raycasting for button clicks
- Create "Coast" button component
- Spawn button when hologram exists
- Position button relative to ship
- Clicking removes hologram
- Button hover states
- Button styling (matching HTML prototype) (TODO: later)
- Research Bevy 0.17 outline rendering approaches
- Option A: Post-processing outline shader
- Option B: Duplicate mesh with inverted normals + scaled
- Option C: Third-party Bevy outline plugin
- Implement blue outline on hover
- Implement darker blue outline on selection (persists)
- Ensure outlines work with OBJ models loaded via bevy_obj
- Add second ship to test multi-ship selection
- Create EstimatedMove struct (position + rotation)
- Track estimated_move per ship in ShipController
- Click ship → select it (darker outline)
- Click elsewhere → deselect ship (via observers)
- Multiple ships: only one selected at a time
- Each ship tracks own hologram/estimated move independently
- Visual feedback for selected vs unselected state
- BONUS: Direct click-and-drag on ships (no Move button needed!)
- BONUS: Mesh-accurate picking and hover detection with observers
- Remove drag-from-ship behavior
- Implement drag-from-Move-button behavior
- Spawn gold hologram when dragging from Move button
- Hologram follows cursor during drag
- Hologram turns blue on release
- Line still draws from ship to hologram
- Implement turn state machine
- Planning phase (click targets, see preview)
- Execution phase (animate movement)
- End turn button functionality
- Movement validation
- Reachability calculation grid
- Green dots for reachable positions
- Red dots for unreachable positions
- Path preview with Bezier curves
- Display velocity vectors during planning
- Newtonian physics integration
- Initial velocity (vx, vy)
- Acceleration/deceleration
- Max speed constraints
- Coupled flight mode
- Main thruster acceleration
- Automatic deceleration
- Turn rate limits (°/s)
- Decoupled flight mode
- Independent thruster control (forward, backward, left, right)
- Target rotation control
- Maneuvering thrusters
- Gravity wells
- Gravitational bodies with mass/radius
- Influence radius visualization
- Gravity acceleration calculations
- Bezier path modifications from gravity
- Animate ship movement along planned path
- Bezier curve interpolation
- Rotation animation
- Velocity changes over time
- Ship state updates after movement
- Update position
- Update velocity
- Update heading
- Movement history tracking
- Replay system for past moves
- Camera pan controls
- Mouse right-click drag
- Touch hold to pan
- Camera zoom controls
- Mouse wheel zoom
- Pinch to zoom (touch)
- Zoom centered on mouse position
- Control panels
- Left sidebar: flight mode & physics parameters
- Right sidebar: help & legend
- Collapsible sidebars
- Bottom button bar (Coast, End Turn, Replay)
- Status display
- Current zoom level
- Reachability status
- Turn state
- Reachability calculations
- Grid-based reachability analysis
- Path validation
- Time-limited movement
- Movement cost visualization
- Speed magnitude display
- Segment time labels
- Thrust indicators (decoupled mode)
- Multiple ship coordination
- Select different ships
- Individual movement planning
- Turn order management
- Ship rendering
- Blue ship (current position, with glow)
- Gold ship (dragging preview)
- Orange ship (destination preview)
- Ghost ships along path
- Path visualization
- Smooth Bezier curves
- Fading opacity along path
- Velocity vector arrows
- Segment markers with time labels
- Grid rendering
- Dynamic grid density
- Reachability overlay
- Coordinate system
- Gravity well visualization
- Colored influence radius rings
- Acceleration labels
- Gradient field visualization
- Collision detection
- Ship-to-ship collisions
- Ship-to-gravity-well collisions
- Obstacles/terrain
- Fog of war
- Multiple teams/factions
- Combat system
- Resource management
- Performance profiling
- Asset loading optimization
- Shader compilation caching
- Entity pooling for holograms
- Efficient reachability grid calculation
- LOD system for distant ships
- Update README.md with current progress
- Document ship state machine
- Document physics simulation parameters
- Add code comments for complex systems
- Create user guide for controls