Commit Graph

81 Commits

Author SHA1 Message Date
Xurkon 287751a071 fix: let learner turn-ins drive arrow spawns 2026-06-06 11:48:11 -05:00
Xurkon 688e0bc0bf docs: update changelogs for learner gating 2026-06-06 10:38:00 -05:00
Xurkon c3e31b5b81 docs: update learner acceptance notes 2026-06-06 06:42:27 -05:00
Xurkon 6597d20b7d feat: refine learner data source and pin rendering 2026-06-06 00:04:50 -05:00
Xurkon 1532b70af3 docs: update changelogs and performance audit 2026-06-05 22:38:11 -05:00
Xurkon 5d1fef9802 docs: document performance refactor status 2026-06-05 14:24:02 -05:00
Xurkon 51561b97d8 perf: batch learner updates and remove Turtle support 2026-06-04 06:47:45 -05:00
Xurkon 4b7c295210 fix: stabilize minimap range cutoff and update release docs 2026-06-03 06:05:55 -05:00
Xurkon c3b91f3bee fix: finalize arrow asset and docs updates 2026-06-03 00:26:39 -05:00
Xurkon 577efbe66b docs: mark v1.6.3 as released 2026-06-02 11:44:17 -05:00
Xurkon fe1f79cd2b chore: release 1.6.3 2026-06-02 11:25:28 -05:00
Xurkon 5a112d731b fix(minimap): use live Minimap:GetViewRadius() API + corrected pixel math
- Use 3.3.5a-native Minimap:GetViewRadius() (instance method) instead of
  C_Minimap.GetViewRadius (nil on 3.3.5a) with C_Minimap fallback. Returns
  116.67 at zoom 5 instead of the hardcoded 125 from the broken lookup table.
- Replace minimapWidth = (GetWidth()/2) * (mapRadius/155.52) with
  minimapWidth = GetWidth() * GetScale() / 2. The new formula yields the
  actual half-width of the visible minimap in screen pixels, the correct
  multiplier for diffX*minimapWidth when diffX is normalized by mapRadius.
- Comment out (do not delete) all QDMATH / UPDATE entering / ICON debug
  blocks as --[[ DEBUG: ... --]] for future regression investigation.
- Remove loaded debug scripts from Questie-X.toc and add to .gitignore
  (drift_test, radius_debug, spawn_calibration, etc.). Scripts preserved
  in tests/ for reference.
- Add .gitignore entries for tests/ lowercase variant (case-sensitive
  on Linux/macOS) and additional debug script patterns.
- Update CHANGELOG.md and docs/changelog.html with fix entry.
- Refresh handoff.md to reflect RESOLVED status and iteration 4 history.

Verified: pins now stay anchored to world positions across all zoom levels
on both Stock UI and ElvUI. Per-frame diffX ~0.35 yards during walking
translates to ~0.21 pixels of pin movement (correct for 1 yard of world
movement).
2026-06-01 18:35:39 -05:00
Xurkon 7a7b1eb727 docs: correct Phase 2-5 status — implemented, awaiting in-game test verification
- Phase 2: marked ⚠️ with known spec test failures (quarantined)
- Phase 3-5: marked ⚠️ as implemented, not in-game verified
- Removed  COMPLETE claims that overstate test coverage
2026-05-24 00:44:34 -05:00
Xurkon 7863985974 docs: mark Phase 5 COMPLETE in PROGRESS.md 2026-05-24 00:37:53 -05:00
Xurkon 0de46e653f docs: mark Phase 4 COMPLETE in PROGRESS.md 2026-05-24 00:36:53 -05:00
Xurkon dd0640b574 docs: mark Phase 3 COMPLETE with commit hashes 2026-05-24 00:34:15 -05:00
Xurkon 5113b28361 docs: mark Phase 2 COMPLETE with commit hashes 2026-05-24 00:30:27 -05:00
Xurkon 24ed0f48b3 fix(arrow): Sunstrider zoneId 3431, rotation CW, collection distance, native map pins
- zoneId detection: accept 3430 OR 3431 OR uiMapId 1241 (4 locations)
- SetRotation is CW-positive: rotAngle=relative (was -relative)
- Collection functions: override target->1241 when player on Sunstrider
- NPC 15281: spawn zone 1241 (not 3430) for correct coord space
- _ResolveMapUiMapId: removed 1241->1941 redirect
- zoneDB: added areaIdToUiMapId[1241]=1241
- Updated CHANGELOG, README, docs
2026-05-21 19:22:40 -05:00
Xurkon db91ec9fd4 docs: add QuestieLearner in-game testing macros
7 macros for manual in-game testing: stats, target/mouseover dump,
zone info, debug toggle, force learn, and data re-injection.
Each fits within WoW's 255-char macro limit.
2026-05-16 07:33:51 -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 9caef46c2b Update docs: MapIconTooltip _GetLevelString guard added to CHANGELOG.md, changelog.html, README.md 2026-05-09 08:26:12 -05:00
Xurkon 5d56944907 Update version to v1.6.2, document Sunstrider Isle arrow, Tooltip guard, QuestData string safety fixes
[Unreleased] section added to CHANGELOG.md covering:
- Tooltip NPC/Object type guard crash fix (Tooltip.lua)
- InsertMissingQuestIds string guard for questData (tbcQuestFixes.lua, wotlkQuestFixes.lua)
- Sunstrider Isle arrow / UiMapId 946 override fix (zoneDB.lua, QuestieArrow.lua)

README.md:
- Bumped shield to v1.6.2
- Added Sunstrider Isle arrow fix to Quest Arrow section
- Added tooltip crash fix to Tooltips section

docs/changelog.html:
- Added [Unreleased] section at top of changelog

docs/index.html:
- Bumped version badge to v1.6.2
2026-05-09 07:12:37 -05:00
Xurkon 98b4010352 fix: silence QuestLogCache error spam in normal chat
Demote GetQuest/GetQuestObjectives 'quest doesn't exist in QuestLogCache'
messages from Questie:Error to Questie:Debug(DEBUG_DEVELOP). These were
firing repeatedly in chat for quest IDs like 595, 959, 254048 during normal
play. Messages are now only visible when developer debug mode is active.
2026-05-04 21:14:22 -05:00
Xurkon eb067e43db docs: add Session 34 Turtle WoW cleanup to changelog 2026-05-04 20:07:38 -05:00
Xurkon a0f3a1e020 v1.6.1: Fix map icon completion persistence after objective fulfillment
- SetObjectivesDirty: Add missing loop to reset isUpdated on SpecialObjectives
- PopulateObjective: Add completion guard for objectives without Update fn
- Bump version to 1.6.1 across TOC and changelogs
2026-05-04 19:57:43 -05:00
Xurkon 93ec7cc454 Bump version badge to v1.6.0
- Update README.md shields.io badge
- Update docs/index.html version label
2026-05-02 09:24:03 -05:00
Xurkon 08eace3115 fix: Blood of Heroes object rendering and QuestieQuest runtime crash fixes 2026-04-12 00:45:50 -05:00
Xurkon 0660a0d42a docs: Update v1.6.0 changelog with detailed fix for object rendering 2026-04-08 17:43:02 -05:00
Xurkon 49477da2d0 v1.6.0: Stable Map Search & Blood of Heroes Data Fix 2026-04-08 17:34:15 -05:00
Xurkon 0b1ff00a20 docs: Update changelogs with tooltip fix 2026-03-29 18:33:22 -05:00
Xurkon 4d48925145 docs: append performance patches to v1.5.5 changelogs 2026-03-29 17:54:19 -05:00
Xurkon 1b5c8ef685 v1.5.5 - Performance & Stability 2026-03-29 17:19:01 -05:00
Xurkon b685bdf0f7 Bump version to v1.5.4 2026-03-29 05:25:04 -05:00
Xurkon edfb9a28d7 Fix: Townsfolk not checking npcDataOverrides/objectDataOverrides on custom servers 2026-03-29 05:22:32 -05:00
Xurkon 5fb621a53a v1.5.3: Add dedicated Keybinds tab 2026-03-29 03:01:14 -05:00
Xurkon 04c03a0443 v1.5.2: update changelog.html with detailed developer notes 2026-03-29 00:11:57 -05:00
Xurkon edcd97a0ce fix(map): prevent minimap icons from being hidden by external addons and bump to v1.5.1 2026-03-28 12:55:30 -05:00
Xurkon 59c33e9f9c feat: standardize v1.5.0 and consolidate stability fixes 2026-03-28 11:08:32 -05:00
Xurkon 1fc9727fee v1.4.9: Validation fixes, Profiler fix, Quest link duplicate fix, Ascension fixes 2026-03-26 06:47:54 -05:00
Xurkon c554370786 v1.4.7: Taint Resolution & WotLKDB Restructure 2026-03-22 13:15:02 -05:00
Xurkon 6e34cebead feat: release v1.4.6 - Fix SavedVariables persistence and red textures for MafWow/3.3.5a 2026-03-22 08:30:20 -05:00
Xurkon d342fd3461 Release v1.4.5: Network & Taint Stability Update 2026-03-21 15:53:07 -05:00
Xurkon c93059a865 Deploy v1.4.4r6 AceSerializer hotfix 2026-03-21 15:36:13 -05:00
Xurkon 2abc1e775e Deploy comprehensive LibDeflate fix for v1.4.4r5 hotfix 2026-03-21 15:16:51 -05:00
Xurkon 001ba5178f Update changelogs and fix LibDeflate for v1.4.4r4 hotfix 2026-03-21 15:12:37 -05:00
Xurkon 7ba38fe698 Update changelogs for v1.4.4r3 release 2026-03-21 15:00:44 -05:00
Xurkon a44909b1fe fix: clear WotLKDB globals on cached loads to remove lingering taint
docs: add v1.4.4r2 changelog
2026-03-21 10:27:27 -05:00
Xurkon 4054341199 docs: add v1.4.4r1 changelog entry for WotLKDB taint fix 2026-03-21 09:26:51 -05:00
Xurkon 5c37b87ea8 docs: Update changelogs for tracker shift-click fix 2026-03-21 08:02:33 -05:00
Xurkon 2df8a7b96d fix: v1.4.4 - AceGUI pool fixes, event handling nil checks, QuestieLearner serialization, l10n format fixes 2026-03-20 21:16:58 -05:00