the addon arc: the AddOns folder opens

- benilla loads real 1.12 addons from Interface/AddOns — TOC, XML and Lua through one loader, with per-addon saved variables, Bindings.xml and the lifecycle events addons expect
- both AddOns screens are in: the character-select list with per-addon enable state, and the ESC menu's in-game list
- the API surface is measured, not guessed — a corpus harness runs hundreds of real 1.12 addons and ranks exactly which globals, templates and verbs they demand
- the Lua dialect is the client's own, read off the binary — 5.0 semantics with the 1.12 additions, and UI source files are bytes, not UTF-8

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Sam
2026-08-11 18:18:31 +07:00
co-authored by Claude Fable 5
parent bfb3e3addc
commit 44ff435304
231 changed files with 31316 additions and 5594 deletions
@@ -404,7 +404,7 @@ fn the_quest_tracker_stacks_below_the_durability_guy() {
s.resolve();
let dur_bottom: f32 = s.eval("return DurabilityFrame:GetBottom()").unwrap();
let watch_top: f32 = s.eval("return BenillaQuestWatchFrame:GetTop()").unwrap();
let watch_top: f32 = s.eval("return QuestWatchFrame:GetTop()").unwrap();
assert!(
(watch_top - dur_bottom).abs() <= 0.5,
"tracker top {watch_top} must sit flush under the durability bottom {dur_bottom}"