- Fog of war now uses single hard edge instead of multi-layer gradient
- Monster attack animations now play before damage is applied (500ms sync)
- Update CLAUDE.md and README.md to document MapLibre (not Leaflet)
- Fix service-worker.js to cache MapLibre instead of Leaflet
- Add documentation for fog of war, virtual movement, winch system
- Add karen_base monster sprites
- Various animation and admin panel improvements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added 150 Points of Interest from OpenStreetMap (restaurants, parks, fast food,
cafes, banks, pharmacies, convenience stores, bars)
- Expanded spawn location dropdown with all new POI types
- Fixed dropdown styling (white text on white background) for all select elements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add spawn_location column to monster_types table (database.js)
- Add tags array to geocaches for location tagging (geocaches.json)
- Add spawn location dropdown in admin panel monster editor (admin.html)
- Update spawn logic to filter monsters by location restriction (index.html)
- Update name prefix logic to use tags instead of icons
- Add grocery tag to Walmart and H-E-B geocaches
Monsters can now be configured to only spawn near specific location types
(grocery, bank, park, restaurant). The "George the Moop" monster can be
set to spawn_location="grocery" to only appear near grocery stores.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Implement stats sync engine with debouncing/rate limiting to fix save spam
- Add Walmart and H-E-B grocery store geocaches
- Add "Cart Wranglin'" prefix for monsters spawning near grocery stores
- Fix monster spawn levels to never exceed player level
- Show WASD controls for all users when GPS is off
- Add George the Moop monster assets
- Add animations.js for monster animation definitions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Removed duplicate edit content from tab divs
- Removed duplicate admin content from tab divs
- JavaScript now finds correct button elements in overlays
- All track tools (select, draw, reshape, smooth, geocache) now work
- Fixed duplicate element IDs that prevented event listeners
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
1. Mobile-friendly redesign with vertical stacking
2. Touch-optimized inputs (44px minimum targets)
3. Better event handling with input events
4. Debounced saving to prevent excessive saves
5. Visual save indicator (toast notification)
6. Collapsible sections for better organization
7. Range sliders with value display
8. Responsive design (mobile-first approach)
Fixes:
- Settings now save immediately on input
- Visual feedback when settings are saved
- Proper mobile layout with full-width inputs
- Larger touch targets for better usability
- Sections can be collapsed and state persists
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Features added:
1. Custom icon colors - Choose any color for geocache icons
2. Secret caches - Set visibility distance (only visible within X meters)
3. Edit existing caches - Change title, icon, color, visibility after creation
4. Geocache list sidebar - View all caches in edit mode, click to navigate
5. Visual indicators for secret caches (purple badge, transparency in edit mode)
Implementation:
- Added color picker with preview in geocache dialog
- Added visibility distance field (0 = always visible)
- Edit button for existing caches in edit mode
- Dynamic visibility updates based on user location in nav mode
- Geocache list sidebar with stats and quick navigation
- All properties sync via WebSocket to other users
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Added title field for naming geocaches when created
- Added icon selection with MDI icon support
- Users can browse Material Design Icons and choose custom icons
- Updated notifications to show geocache title instead of 'undefined'
- Messages now say 'Someone left a note at [geocache title]'
- Fixed nearby cache notifications to include title
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed notification not triggering when adding message from another device
- Now notifies ALL devices (including your own) when near a cache with new message
- Added null checks for messages array to prevent errors
- Notifications work for messages from same user on different devices
This fixes the issue where adding a message from desktop wouldn't
notify your phone even when nearby.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major features added:
- Progressive Web App (PWA) manifest and service worker for offline support
- Push notifications with VAPID authentication
- Mobile-optimized UI with touch navigation fix
- Admin panel with configurable settings
- Geocache sound alerts
- App icons in all required sizes
Technical improvements:
- Fixed mobile touch handling for navigation selection
- Added remesh tool for track point standardization
- Improved pathfinding algorithm for more efficient routes
- WebSocket-based real-time multi-user tracking
- Docker deployment with persistent data volumes
Ready for APK generation via PWA2APK.com or Bubblewrap
Full offline support with map tile caching
Push notifications for geocache alerts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed icon switching between read/unread states
- Fixed CSS conflict between transform transition and pulse animation
- Changed proximity detection to directly toggle DOM classes instead of recreating icons
- Now uses classList.add/remove on marker._icon instead of setIcon() to prevent rendering issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>