Backend Changes:
- Added OriginConfig struct to server package
- Modified NewServer to accept origin configuration
- Added /api/origin endpoint to serve origin data to frontend
- Updated main.go to pass origin configuration to server
Frontend Changes:
- Modified initializeMap() to fetch origin from API before map creation
- Updated initializeCoverageMap() to also use origin data
- Added fallback coordinates in case API request fails
- Maps now center on the calculated origin position instead of hardcoded coordinates
The map now properly centers on the calculated average position of enabled
sources (or manually configured origin), providing a much better user experience
with appropriate regional view.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Asset Module:
- Created internal/assets package for clean embedded static file management
- Embedded static files from single source location (static/ directory)
- Eliminated need for duplicate static files or symlinks
- Assets accessible via assets.Static from any package
Origin Configuration:
- Added origin field to configuration with latitude, longitude, and name
- Automatically calculates origin as average of source positions if not specified
- Displays origin information on startup
- Updated config.example.json to show origin usage
Architecture:
- Moved main.go back to cmd/skyview/ structure
- Updated Makefile to build from cmd/skyview
- Clean separation of concerns with reusable asset module
This provides a robust foundation for asset management and proper origin
handling for distance calculations and map centering.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>