Skip to content

Add Elite Specialization icons from the official GW2 render API (#8) - #11

Merged
avandenberghe merged 1 commit into
mainfrom
issue-8-elite-spec-icons
Sep 24, 2026
Merged

avandenberghe merged 1 commit into
mainfrom
issue-8-elite-spec-icons

Conversation

@avandenberghe

Copy link
Copy Markdown
Collaborator

Closes #8.

All 27 elite specs in spec_catalog() shipped with spec_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 56x56 bbguildwow uses for its spec icons
  • spec_catalog() — spec_icon wired to <profession>_<spec>, mirroring bbguildwow's <class>_<spec> naming; core resolves it as spec_icons/<value>.png
  • the stale docblock saying icons intentionally don't exist yet is replaced with the asset provenance

Tests

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 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

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>
@avandenberghe
avandenberghe merged commit 7899764 into main Sep 24, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing icon assets for Elite Specializations

1 participant