feat: Implement 3D Radar View Controls - resolves #9 #40

Merged
olemd merged 1 commit from feature/3d-radar-controls-issue-9 into main 2025-09-01 20:23:50 +02:00
Owner

Summary

This PR implements the 3D Radar View Controls as requested in issue #9, providing users with interactive controls for navigating and filtering the 3D radar visualization.

Features Implemented

  • Reset View Button: Resets camera to default position and orientation with smooth transition
  • Auto Rotate Toggle: Enables/disables automatic camera rotation with visual feedback and dynamic button text
  • Range Slider (10-500km): Real-time aircraft filtering based on distance from origin point
  • Enhanced 3D Visualization: Improved lighting, ground plane, and grid for better spatial orientation
  • Server Integration: Uses /api/origin API endpoint for accurate geographic coordinates
  • Distance Calculations: Implements Haversine formula for precise geographic distance measurement

Technical Improvements

  • Deferred Initialization: 3D radar initializes only when view becomes active, preventing black screen issue
  • Error Handling: Comprehensive WebGL and Three.js validation with fallback messages
  • Performance Optimization: Aircraft meshes are hidden rather than destroyed when out of range
  • Responsive Design: Proper CSS styling for controls and container layout
  • Debug Support: Enhanced logging for troubleshooting 3D radar issues

User Experience

  • All controls are now fully functional (removed "Under Construction" notice)
  • Mouse controls work properly: drag to rotate, scroll to zoom, right-click to pan
  • Real-time aircraft display with accurate positioning and orientation
  • Visual feedback for all interactive elements

Testing

  • Verified functionality across multiple browsers with WebGL support
  • Tested with live aircraft data from configured ADS-B sources
  • Confirmed proper initialization and view switching behavior
  • Range filtering accuracy validated with Norwegian origin coordinates

🤖 Generated with Claude Code

## Summary This PR implements the 3D Radar View Controls as requested in issue #9, providing users with interactive controls for navigating and filtering the 3D radar visualization. ### Features Implemented - **Reset View Button**: Resets camera to default position and orientation with smooth transition - **Auto Rotate Toggle**: Enables/disables automatic camera rotation with visual feedback and dynamic button text - **Range Slider (10-500km)**: Real-time aircraft filtering based on distance from origin point - **Enhanced 3D Visualization**: Improved lighting, ground plane, and grid for better spatial orientation - **Server Integration**: Uses `/api/origin` API endpoint for accurate geographic coordinates - **Distance Calculations**: Implements Haversine formula for precise geographic distance measurement ### Technical Improvements - **Deferred Initialization**: 3D radar initializes only when view becomes active, preventing black screen issue - **Error Handling**: Comprehensive WebGL and Three.js validation with fallback messages - **Performance Optimization**: Aircraft meshes are hidden rather than destroyed when out of range - **Responsive Design**: Proper CSS styling for controls and container layout - **Debug Support**: Enhanced logging for troubleshooting 3D radar issues ### User Experience - All controls are now fully functional (removed "Under Construction" notice) - Mouse controls work properly: drag to rotate, scroll to zoom, right-click to pan - Real-time aircraft display with accurate positioning and orientation - Visual feedback for all interactive elements ### Testing - Verified functionality across multiple browsers with WebGL support - Tested with live aircraft data from configured ADS-B sources - Confirmed proper initialization and view switching behavior - Range filtering accuracy validated with Norwegian origin coordinates 🤖 Generated with [Claude Code](https://claude.ai/code)
- Add Reset View button functionality to reset camera to default position
- Implement Auto Rotate toggle with visual feedback and button text updates
- Add Range slider (10-500km) with real-time aircraft distance filtering
- Use server-provided origin coordinates via /api/origin API endpoint
- Implement Haversine formula for accurate geographic distance calculations
- Add deferred initialization to prevent black screen issue
- Enhanced lighting and ground plane visibility for better 3D orientation
- Add comprehensive debugging and error handling for WebGL/Three.js
- Style 3D radar controls with proper CSS for consistent UI
- Remove construction notice as controls are now fully functional

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
olemd merged commit 7d54aa4fae into main 2025-09-01 20:23:50 +02:00
olemd deleted branch feature/3d-radar-controls-issue-9 2025-09-01 20:23:50 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: olemd/skyview#40
No description provided.