Skip to content

docs: record the icon artwork sourcing decision - #393

Merged
avandenberghe merged 1 commit into
mainfrom
docs/artwork-sourcing-decision
Sep 24, 2026
Merged

avandenberghe merged 1 commit into
mainfrom
docs/artwork-sourcing-decision

Conversation

@avandenberghe

Copy link
Copy Markdown
Collaborator

Bookkeeping only — no code or asset changes. Follows #392, which left "how does the remaining artwork get sourced" as an open question.

Decision: community wikis, with attribution. Alternatives considered: commissioning an artist (~168 pieces across 9 visual styles), extracting from game clients, or closing the artwork tickets and relying on #389's fallback chain.

What the new section records

The scale: ~168 assets — bbguildlineage2 122, bbguildffxi 26, bbguildffxiv 10, bbguildlotro 5, bbguildeq2 2, bbguildgw2 2, bbguildswtor 1, plus the 9 <game>_unknown.png (#391). GW2's render service and XIVAPI are exhausted; nothing upstream covers the rest.

And the part that matters most — a wiki is a discovery route, not a licence. A class icon on a fan wiki is almost always the publisher's copyrighted game asset, and the wiki's CC-BY-SA text licence does not extend to it. So each batch, before anything is pulled:

  1. Check the publisher's fan-content policy — the actual basis on which a fan extension ships game art, and not new ground here since the plugins already ship publisher-owned icons
  2. Check the wiki's own image terms, which are often narrower than its text licence
  3. Record provenance in a per-plugin contrib/ATTRIBUTION.md: wiki, owning publisher, policy relied on. These repos are GPL-2.0, so third-party art that isn't GPL-compatible has to be identifiable rather than implied to be covered by the repo licence
  4. Prefer authored placeholders where provenance is unclear — and for Every game plugin is missing its <game>_unknown.png fallback icon #391 regardless, since no wiki has a "generic unknown class" icon

Candidate sources are listed per game as candidates to verify, deliberately not as settled licensing claims.

Also

Next steps item 3 now sequences the work smallest-set-first (<game>_unknown.png → swtor/eq2/gw2/lotro/ffxiv → ffxi → lineage2 last) instead of restating the question, and notes that the dimension and coverage tests added 2026-09-24 already pin sizes and filenames — so a batch that lands mis-sized or misnamed fails CI instead of shipping crooked.

🤖 Generated with Claude Code

The roadmap asked how the ~168 remaining icon assets should be sourced;
decided 2026-09-24: community wikis, with attribution. Alternatives
considered were commissioning (~168 pieces across 9 visual styles),
client extraction, and closing the tickets in favour of #389's fallback.

New "Icon artwork sourcing" section records the decision plus what it
obliges, because the wikis are a discovery route and not a licence: a
class icon on a fan wiki is the publisher's asset, and a wiki's CC-BY-SA
text licence does not cover it. So each batch checks the publisher's
fan-content policy and the wiki's own image terms, and records
provenance in a per-plugin contrib/ATTRIBUTION.md — these repos are
GPL-2.0, and third-party art that isn't GPL-compatible must be
identifiable rather than implied to be covered by the repo licence.
Authored placeholders stay the answer where provenance is unclear, and
are the only option for #391's <game>_unknown.png regardless.

Next steps item 3 now sequences the work smallest-set-first instead of
restating the question, and notes that the tests added 2026-09-24
already pin sizes and filenames, so a mis-sized batch fails CI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avandenberghe
avandenberghe merged commit 564e512 into main Sep 24, 2026
29 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.

1 participant