TemplateViewer

An in game browser of templates in World of Warcraft, inspired by TextureAtlasViewer
Back to Files

v1.1.0

File nametv-v1.1.0.zip
Uploader
CidanzCidanz
Uploaded
Oct 15, 2026
Downloads
13
Size
84.9 KB
Flavors
RetailForever
File ID
9186675
Type
R
Release
Supported game versions
  • 12.1.5
  • 1.60.1

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 Forever betaOrPTR = 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 forever game-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.
  • 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 forever branch (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.

This mod has no related projects