- Add SHINY_ICON_DEBUG_REPORT.md with full investigation summary
- Root cause identified: NMS=True model filters out shiny icons from top 300 detections
- Added comprehensive debugging infrastructure in YOLOOnnxDetector.kt
- Confirmed model detects other classes but class 50 (shiny_icon) absent from NMS output
- Proposed solutions: hybrid model approach, NMS parameter tuning, or post-processing
Ready for next session with clear action plan and debugging tools in place.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Log raw output statistics including max values and non-zero counts
- Specifically check shiny icon class region (class 50) in raw model output
- Will reveal if model produces shiny predictions before post-processing
- Helps identify if issue is in model weights vs post-processing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add DEBUG_SHINY_DETECTION flag to track shiny_icon (class 50) processing
- Lower confidence threshold from 0.45f to 0.25f temporarily for debugging
- Add detailed logging for shiny icon candidates with confidence and coordinates
- Will help identify if shiny icons are being detected but filtered out
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove class-specific check and apply 5% expansion to all OCR detections
- Improves text extraction accuracy across all Pokemon info fields
- Stat values showed significant improvement, extending to all text classes
- No overlap issues expected due to Pokemon Home UI spacing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add extractPokemonInfoFromYOLOAsync call to triggerManualDetection()
- OCR extraction was missing after MVC refactor - only YOLO detection was running
- Now manual detection triggers both YOLO detection and OCR extraction
- Maintains full Pokemon analysis functionality in new MVC architecture
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 5% expansion to bounding boxes for hp_value, attack_value, defense_value, sp_atk_value, sp_def_value, speed_value
- Expansion applied before clipping to image boundaries
- Added debug logging to show bbox expansion transformations
- Should improve OCR accuracy for tight stat value detections
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update DetectionController.processDetection() to return Detection objects
- Add Detection import to controller
- Update ScreenCaptureService to show overlay using returned detections
- Improve FloatingOrbUI button text visibility with larger font and padding
The MVC refactor is now complete with fully working detection overlay.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace old UI code with FloatingOrbUI component
- Add DetectionController with callback system
- Implement convertImageToMat helper function
- Connect UI events to business logic through controller
- Remove direct YOLO detector calls from UI
Related todos: #24
- Add DetectionUIEvents and DetectionUICallbacks interfaces
- Create DetectionController for business logic separation
- Add FloatingOrbUI pure UI component with no business logic
- Establish clean event-driven communication pattern
Related todos: #24