Commit Graph

65 Commits

Author SHA1 Message Date
Xurkon 9fcb1988da fix: preserve learner party kill updates 2026-06-05 14:19:42 -05:00
Xurkon d1f79fd73e fix: prefer ascension tooltip data 2026-06-04 22:36:42 -05:00
Xurkon c85370de0b fix: replace select eight lookups 2026-06-04 21:58:54 -05:00
Xurkon f8b3972e70 fix: add lua 5.0 compatibility shims 2026-06-04 21:54:36 -05:00
Xurkon c3ea62f5bc fix: scope questie comms enable helper 2026-06-04 17:30:48 -05:00
Xurkon 77857be339 fix: remove arcane arrow from bundle 2026-06-02 12:45:20 -05:00
Xurkon 02559f70bd feat: add horde and alliance arrow styles 2026-06-02 12:42:53 -05:00
Xurkon 6793805ebe remove staged bloat 2026-06-01 18:00:06 -05:00
Xurkon 164584ca87 fix: Sunstrider pin regression, ghost pins, and learner zone normalization
- Fix: isSunstrider block in _MergeSpawnEvidence now checks IsAscensionProtected
  before writing learner data to npcDataOverrides. Without this guard, each Mana
  Wyrm kill overwrote AscensionDB's z1241=5 data with learner z3431 coords.

- Fix: Clustering disabled for zone 1241 (Sunstrider Isle) in _DrawObjectiveIcons
  so all 5 AscensionDB spawn pins display individually instead of collapsing to 2.

- Fix: Ghost pin loop in AvailableQuests.lua -- 'while frames[i]' was iterating a
  string-keyed table with a numeric index (never iterated). Changed to pairs().

- Fix: NormalizeSpawnZoneKey now uses ZoneDB.areaIdToUiMapId for all zones so
  learner evidence is stored under map IDs (e.g. 1241) not area IDs (e.g. 3431),
  matching AscensionDB's key space. Applied in LearnNPC and _StoreGuidSpawnEvidence.

- Fix: isSunstrider detection in _MergeSpawnEvidence updated from hardcoded
  zoneId==3431 check to IsSunstriderNativeZone() since zone IDs are now normalized
  to map IDs at storage time.
2026-05-25 19:02:56 -05:00
Xurkon 0c6f8fa975 test(learner): Phase 3 unit tests for spawn merge 2026-05-24 00:33:55 -05:00
Xurkon 59b58ae46a test(learner): Phase 2 unit tests for spawn evidence and pruning 2026-05-24 00:30:03 -05:00
Xurkon d0d000cf3f gitignore: re-add dev test files and tooling configs
Tests/, .busted, selene.toml, and wow_classic.yml are dev-only
files — not part of the release artifact.
2026-05-16 07:54:19 -05:00
Xurkon bf6ecaedbe v1.6.3-unreleased: Sunstrider zone fixes, QuestieLearner icon preservation, migration, and Busted test suite
Code changes (13 files, +916/-171):
- ZoneDB integration: GetZoneId() converts uiMapId→areaId via ZoneDB reverse lookup
- MIN_CONFIDENCE_PINS reduced to 1 for Ascension (incomplete NPC DBs)
- QuestieLearner icon preservation: objective Icon passed to RegisterObjectiveTooltip
- InjectLearnedData zone migration: converts old uiMapId spawn keys to areaId
- areaId passed through all LearnNPC call sites (OnMouseoverUnit, OnQuestDetail,
  OnQuestComplete, OnQuestAccepted, OnQuestTurnedIn, OnGossipShow)
- Compat/Compat.lua: C_Map.GetPlayerMapPosition UiMapData support
- Compat/HBD.lua: Sunstrider mapData aliases and fallback loading
- Sunstrider arrow fix (QuestieArrow.lua), resolved pin rendering (QuestieMap.lua)
- _MergeOverride helper for string/numeric key compatibility
- Northshire Valley UiMapData registration

Testing infrastructure:
- .busted config pointing to tests/ directory
- Tests/wow_api_mock.lua: WoW API mocks (ZoneDB, C_Map, QuestLogCache, etc.)
- Tests/QuestieLearner_spec.lua: 12 tests covering coordinate scaling, spell cast
  learning, zone migration (NPC/objects), icon preservation, settings defaults,
  and LearnNPC spawn zone tracking
- selene.toml + wow_classic.yml: linter configuration

Documentation:
- Makefile with test/lint/ci targets
- sunstrider-coordinate-collection.md: coordinate data reference
- sunstrider-pin-fix.md: root cause analysis and fix documentation
2026-05-16 07:32:47 -05:00
Xurkon 35710b8a06 Delete Tests directory 2026-03-19 20:40:56 -05:00
Xurkon b0f8ba22e7 feat: release v1.3.0 - QuestieLearner Confidence & Tiered Pruning Engine 2026-03-17 22:33:01 -05:00