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
+4
View File
@@ -188,6 +188,7 @@ Modules\QuestieCoordinates.lua
Modules\Network\QuestieComms.lua
Modules\Network\QuestieCommsData.lua
Modules\Network\QuestieLearnerComms.lua
Modules\QuestieLearnerExport.lua
# Journey
Modules\Journey\QuestieJourney.lua
@@ -228,6 +229,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
@@ -244,3 +246,5 @@ Modules\QuestieProfiler.lua
# Main
Questie.lua