Add Elite Specialization icons from the official GW2 render API (#8) - #11
Merged
Merged
Conversation
All 27 elite specs in spec_catalog() shipped with spec_icon = '' because no assets existed. Core resolves spec_icon as spec_icons/<value>.png, so the roster Spec column rendered text-only for GW2 while WoW showed icons. - images/spec_icons/: the 27 official elite-specialization icons from the Guild Wars 2 API render service (/v2/specializations), normalised from their native 64x64 to the 56x56 bbguildwow's spec icons use - spec_catalog(): spec_icon wired to <profession>_<spec>, mirroring bbguildwow's <class>_<spec> naming - test_every_elite_spec_has_an_icon_asset(): fails on any spec with an empty spec_icon or a spec_icon with no file behind it, so this can't silently regress when specs are added Fixes #8 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8.
All 27 elite specs in
spec_catalog()shipped withspec_icon = ''because no assets existed, so the roster Spec column rendered text-only for GW2 while WoW showed icons.What changed
images/spec_icons/— the 27 official elite-specialization icons from the Guild Wars 2 API render service (/v2/specializations), normalised from their native 64x64 to the 56x56bbguildwowuses for its spec iconsspec_catalog()—spec_iconwired to<profession>_<spec>, mirroring bbguildwow's<class>_<spec>naming; core resolves it asspec_icons/<value>.pngTests
test_every_elite_spec_has_an_icon_asset()fails on any spec with an emptyspec_iconor aspec_iconwith no file behind it, so this can't silently regress as specs are added.Full bbguildgw2 unit suite: 34 tests, 212 assertions, green.
Note for a follow-up
The API currently returns 36 elite specs — nine more than this catalog has (Evoker, Amalgam, Luminary, Troubadour, Ritualist, Galeshot, Conduit, Antiquary, Paragon). Their role assignments and ordering are a data decision, so they're out of scope here; worth its own issue.
🤖 Generated with Claude Code