promotional bannermobile promotional banner

Weapon Journey

Weapon Skills Assistant - Max out your weapon skills fast!
Back to Files

v1.3.0-classic

File nameWeaponJourney-v1.3.0-classic.zip
Uploaded
Sep 7, 2026
Downloads
13
Size
52.5 KB
Flavors
Classic
File ID
8830845
Type
R
Release
Supported game versions
  • 1.15.9

What's new

Weapon Journey

v1.3.0 (2026-09-07)

Full Changelog

  • chore(release): bump version to 1.3.0
    Ships the LDB/minimap-button port off Titan Panel, the offline test suite,
    two bugfixes, and the release-workflow fix (contents:write + test gate)
    accumulated since 1.2.0. Offline suite green (113/113).
    Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01BYkpAmbg6ttPb3korxsQW2
  • fix(release): grant contents:write and add a test gate before packaging
    Bring the release workflow onto the SHIP-3 recipe from Boonkeeper: pin
    permissions: contents: write explicitly (the packager's GitHub-release step
    403s under a repo whose default token permissions are read-only), and run the
    Tests/*_test.lua suite before packaging so a broken build is never uploaded.
    Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01BYkpAmbg6ttPb3korxsQW2
  • docs: correct .pkgmeta's stale repo-name comment
    The GitHub repo itself was renamed TitanWeaponSkills -> WeaponJourney (the
    old URL now redirects); the comment explaining package-as still said the
    repo "is still named TitanWeaponSkills", which stopped being true.
    Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
  • chore: embed LibEmber-1.0 instead of declaring it optional
    The Admiral's call: embed a real copy rather than lean on another addon in
    the same install to provide it. Vendored unmodified from
    https://github.com/rlalance/LibEmber, same pattern as LibStub/CallbackHandler
    /LibDataBroker/LibDBIcon above it. No consuming code yet -- this just makes
    the library unconditionally available for whenever this addon wants to use it.
    Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
  • chore: declare LibEmber-1.0 as an optional dependency
    Prep for hosting LibEmber's particle effects (Sigil's own extraction,
    G:\Dev\LibEmber) here later -- no consuming code yet, just the load-order
    declaration so this addon loads after LibEmber when something in the same
    install provides it.
    Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
  • fix(coverage): run under Lua 5.1 and stop reporting 0% as a measurement
    The coverage gate — the tool that enforces this ship's stated 100% bar —
    has never actually run on this machine. Two defects, one behind the other.
    1. goto continue (line 85) is Lua 5.2+. The offline runner is now Lua
      5.1.5 — deliberately, because 5.1 is what the WoW client runs, so a pure
      module that passes offline behaves the same in-game. Replaced with the
      5.1 equivalent: a positive if/else guard around the loop body. Pure
      control-flow inversion, no logic change.
    2. Discovery used io.popen("ls Tests/*_test.lua"). On Windows io.popen
      always goes through %COMSPEC% (cmd.exe), which has no ls — so it found
      zero files and reported "0% coverage" as though that were a result. Now
      tries dir /b first and falls back to ls elsewhere.
      Fixing (1) alone would have been worse than leaving it broken: a crash is
      honest, a confident 0% is not. So an empty discovery now exits non-zero
      with an explanation instead of printing a report.
      Measured, from the project root — the bar is met:
      WeaponJourneyEngine.lua lines 97/97 (100.0%) functions 7/7
      WeaponJourneyDB.lua lines 45/45 (100.0%) functions 7/7
      TOTAL lines 142/142 (100.0%) functions 14/14 (100.0%)
      Identical fix landed in GearJourney (f76fbc5) — the two tools are the same
      inherited file.
      Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
  • docs(changelog): note the tooltip tofu fix
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • fix(tooltip): drop the tab that rendered as tofu on each line [WJ-7]
    Under Titan the vertical tooltip's per-line tab (label \t rank) was fine --
    Titan rendered the tooltip itself. As a LibDataBroker feed the lines go through
    a stock GameTooltip:AddLine, whose font has no tab glyph, so every line showed
    a tofu box. The label already ends in ': ', so the rank stays separated with
    the tab simply removed. Verified in-game on Classic Era.
    Ranks are now left-aligned per line rather than in a tab-stop column; an
    AddDoubleLine column layout is a possible follow-up if that alignment is wanted.
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • chore(git): untrack Process/ and Research/ to match .gitignore
    Both trees are listed in .gitignore (developer-only process + research docs,
    same central model as the sibling addons) but were still tracked from before
    that rule landed -- so every edit to them kept getting committed, and one
    nearly slipped into the WJ-1 rename. Remove them from the index; the files
    stay on disk, now genuinely ignored.
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • docs(changelog): record the Titan-independence port under [Unreleased]
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • feat(ldb): drop the Titan Panel dependency, publish as LibDataBroker [WJ-4]
    Titan Panel was a hard prerequisite: no Titan, no addon. The addon now
    publishes a LibDataBroker data object instead, so any LDB display hosts it --
    Titan through its own LDB bridge, Bazooka, ElvUI DataTexts -- with a LibDBIcon
    minimap button for players running no bar at all. No code branches on which
    display is hosting.
    What moved off Titan:
    * settings -- WeaponJourneyDB (new SavedVariables) replaces TitanGetVar,
    with a one-time import of the player's existing Titan choices so nobody
    has to reconfigure. ShowIcon/DisplayOnRightSide are retired: bar layout
    is the host's business now.
    * the right-click menu -- ours via Blizzard's MenuUtil, plus a minimap
    toggle. Titan used to contribute the icon/right-side/hide entries.
    * the button -- gone, along with TitanPanelComboTemplate and the
    OnShow/OnHide event juggling. Our own frame holds the events permanently.
    * Titan_Debug -- replaced by a local topic table of the same shape.
    The minimap button defaults to hidden when Titan is present (every existing
    player of this addon is a Titan user; a second launcher would be redundant)
    and shown otherwise, so the addon can never end up invisible.
    Offline suite: 116 assertions, 100% line and function coverage of both pure
    modules. Deployed to Classic Era; in-game verification still owed.
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • refactor(engine): extract the pure display engine + offline tests [WJ-2]
    The formatters were tangled with TitanGetVar, so the only way to check a colour
    threshold or the icon name-folding was to look at the bar. WeaponJourneyEngine
    now owns every formatting decision as plain functions over plain tables, and
    Tests/ exercises them with a standalone Lua interpreter: 73 assertions,
    100% line and function coverage (lua Tools/coverage.lua).
    WeaponJourney.lua keeps only the client-facing wiring -- ScanSkillLines is now
    the single place touching GetNumSkillLines/GetSkillLineInfo, and the settings
    are read once and passed in as an options table.
    Behaviour is unchanged: same strings, same colours, same toggles. Two latent
    edges are now closed by construction -- a zero/absent skill cap no longer
    divides by zero, and the tooltip footer is the caller's to supply rather than
    hardcoded inside the formatter.
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • refactor(rename): TitanWeaponSkills -> WeaponJourney [WJ-1]
    The addon is about to stop requiring Titan Panel, so the Titan-branded folder
    name would misinform players about a prerequisite that no longer exists --
    the same reasoning behind the TitanJourney -> GearJourney rename.
    Folder/.toc/globals/StaticPopup key/Media texture path all move to
    WeaponJourney. The repo keeps its name (CurseForge project 1309370 is tied to
    it), so .pkgmeta package-as bridges the mismatch for the packaged build.
    deploy.ps1 removes the old AddOns folder so the client cannot load a stale
    second copy beside the new one.
    Titan is still a hard dependency at this commit; that goes next.
    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

This mod has no additional files