feat: add Database options tab with import/export/cleanup

New files:
- Modules/QuestieLearnerExport.lua: serialize/compress/encode pipeline using
  AceSerializer + LibDeflate:CompressDeflate(level=9) + EncodeForPrint.
  QxLD:<version>!<encoded> string format. Export(), ExportAll(), ValidateImport(),
  MergeImport(), DryRunPrune(), Prune().
- Modules/Options/DatabaseTab/QuestieOptionsDatabase.lua: new Database tab with:
    - Live learned data stats (per server)
    - Per-type learner toggles (NPCs/Quests/Objects/Items/Broadcast)
    - Export current server / Export all servers buttons (opens scrollable dialog)
    - Import window (paste -> Validate -> Import with diff summary)
    - Dry-run preview and Prune Now cleanup buttons
    - Full reset button (confirm-gated)
    - Contribute section with step-by-step GitHub submission instructions

Wiring:
- QuestieOptions.lua: database_tab initialized and registered in args
- All TOC files: QuestieLearnerExport.lua added before options, DatabaseTab lua added
This commit is contained in:
Xurkon
2026-03-15 19:48:45 -05:00
parent d2861d194b
commit 457420f90c
7 changed files with 832 additions and 0 deletions
+3
View File
@@ -204,6 +204,7 @@ Modules\Options\QuestieOptions.lua
Modules\Options\QuestieOptionsDefaults.lua
Modules\Options\QuestieOptionsUtils.lua
Modules\Options\AdvancedTab\QuestieOptionsAdvanced.lua
Modules\Options\DatabaseTab\QuestieOptionsDatabase.lua
Modules\Options\CreditsTab\QuestieOptionsCredits.lua
Modules\Options\AutoTab\QuestieOptionsAuto.lua
Modules\Options\DBMTab\QuestieOptionsDBM.lua
@@ -220,3 +221,5 @@ Modules\QuestieProfiler.lua
# Main
Questie.lua