v1.1.0
What's new
TemplateViewer
v1.1.0 (2026-10-15)
Full Changelog Previous Releases
- Forever review fixes: beta-only addons, TOC selection tests, doc corrections
- Forever clients are beta/test builds today: the wiki lists only Forever Beta and Test
at 16001. So tools/flavors.lua gives ForeverbetaOrPTR = true, and its index keeps
OnlyBetaAndPTR addons. Blizzard_PTRFeedback loads at login there, and UIPanelBugButton
is now in data/catalog_forever.lua. Retail is unchanged. Flip the flag when Forever
launches. - spec/toc_spec.lua now checks that each flavor's client would pick that flavor's TOC,
following its suffix order through the existing tv TOCs, and that the packager
discovers it (BigWigs packager v2.6.1 release.sh:1402). This replaces tests that
restated the suffix config. - ParseToc specs cover the
forevergame-type alias, in both inline and addon-level
directives. - The fake client's flavor switch is internal: only WoWMock.Reset(flavor) switches it,
so loaded addons never carry over between flavors. - Docs:
- side-effect counts per flavor (Retail 67, Forever 74);
- Forever's Camelot SharedUIPanelTemplates/NineSlice overrides;
- the Forever audit file path;
- the remaining Retail-only wording made flavor-neutral.
219 tests, luacheck clean.
- Forever clients are beta/test builds today: the wiki lists only Forever Beta and Test
- Support WoW Forever (tv_Camelot.toc, Forever catalog, per-flavor fake client)
WoW Forever is a Mainline-family client: game type camelot (alias forever), build
1.60.1.70374, interface 16001. On this machine it is the _classic_beta_ install. The
addon code needs no flavor branches. Everything tv uses exists at login on Forever, from
the same Blizzard_SharedXML Mainline files: PortraitFrameTemplate, SearchBoxTemplate,
the ScrollBox list, InputBoxTemplate, UICheckButtonTemplate, both curated templates,
C_XMLUtil and C_AddOns. Only the template catalog differs per flavor.- tv_Camelot.toc: same files as tv.toc, Interface 16001, loads data/catalog_forever.lua.
It uses _Camelot because BigWigs packager v2.6.1 recognises that suffix
(release.sh:1175, :1402), not _Forever; BetterBags ships _Camelot too. - tools/flavors.lua describes each flavor: TOC, catalog, source dir, the game types
matched by AllowLoadGameType/ExcludeLoadGameType, and what [Family]/[Game] expand to.
For Forever that's Mainline/Camelot, checked against folders like
Blizzard_EditMode/Camelot. - tools/ui_source.lua builds one memoised index per flavor (UISource.For).
tools/generate_catalog.lua writes every flavor's catalog. Forever has 3,280 templates,
708 from on-demand addons and 74 with side effects; there are 0 duplicates and 0
missing files. - install-deps.sh pins the wow-ui-source
foreverbranch (735496de, 1.60.1.70374) into
.libraries/wow-ui-source-forever. - Fake client: WoWMock.Reset(flavor) and LoadTV(flavor) fake a given flavor's templates,
addons and GetBuildInfo. GetTemplateInfo skips undefined parents, because Blizzard's
Forever data has one gap: GarrisonMissionCompleteModelTemplate inherits a template
only Blizzard_GarrisonUI defines, and that addon doesn't load on Forever. - The FrameXML fakes were checked against Forever's source. What they model is
identical, or differs only in ways tv doesn't touch: HideUIPanel's extra EventRegistry
event, PortraitFrameBaseTemplate's focus mixin and hidden children, FitToText's
padding default, and ScrollBox SmartNav.
Specs: - Both catalogs are checked for drift.
- Both TOCs are checked: files, own catalog only, Interface matches the source, and the
same file list. - Every curated entry is checked on both flavors.
- Forever index facts: [Game]=Camelot, retail-only addons excluded, inline directives
applied. - Login-inherits-on-demand and undefined-parent gaps are pinned per flavor.
- spec/forever_spec.lua runs tv end to end on Forever: window, curated renders, clean
audit, anchors.
217 tests, luacheck clean. CI fetches both sources; docs cover the flavor table and how
to add another flavor.
- tv_Camelot.toc: same files as tv.toc, Interface 16001, loads data/catalog_forever.lua.
This mod has no additional files