Fix prototype: calibrate vision for real D2R screenshots, implement orb detection, improve dashboard

- Created debug tool (cmd/debug/main.go) to analyze real D2R screenshots and calibrate HSV ranges
- Fixed HSV color ranges for health/mana orbs based on real screenshot analysis (99.5% and 82% detection rates)
- Replaced ReadBarPercentage with ReadOrbPercentage for circular orbs (not horizontal bars)
- Added SetSource() method to capture Manager for hot-swapping capture sources
- Fixed dashboard JavaScript null reference errors with proper array checks
- Improved dashboard refresh rate from 100ms to 1000ms for better performance
- Added proper error handling for empty/null API responses
- Successfully detecting game state, health (99.5%), and mana (82%) from real D2R screenshot
This commit is contained in:
Hoid 2026-02-14 10:55:30 +00:00
parent 4ebed5e3ab
commit 4f0b84ec31
10 changed files with 473 additions and 19 deletions

View file

@ -69,7 +69,7 @@ func (d *Detector) ReadVitals(frame image.Image) plugin.VitalStats {
LowerV: d.config.Colors.HealthFilled.LowerV,
UpperV: d.config.Colors.HealthFilled.UpperV,
}
healthPct = d.vision.ReadBarPercentage(frame, healthRegion, healthColor)
healthPct = d.vision.ReadOrbPercentage(frame, healthRegion, healthColor)
}
// Read mana percentage from blue-filled pixels in mana orb
@ -82,7 +82,7 @@ func (d *Detector) ReadVitals(frame image.Image) plugin.VitalStats {
LowerV: d.config.Colors.ManaFilled.LowerV,
UpperV: d.config.Colors.ManaFilled.UpperV,
}
manaPct = d.vision.ReadBarPercentage(frame, manaRegion, manaColor)
manaPct = d.vision.ReadOrbPercentage(frame, manaRegion, manaColor)
}
return plugin.VitalStats{