-
v0.22.0
Stablereleased this
2026-08-04 22:23:18 -05:00 | 136 commits to main since this releaseAdded
An
itemsname/icon dictionary inchampion-builds.json. Every measurement in that file keys on a bare Riot item id, which made it the one artifact a consumer could not render without carrying a Data Dragon catalog of its own. It now ships the display strings.Same shape and same reason as
champion-runes.json'sperksandstyles: an id appears in five lists per champion-role —owned.items,owned.boots,starting,core,late— so inlining the name would write a few hundred strings tens of thousands of times.Why the producer publishes them
The names belong to
generatedFrom.itemVersion. The ids in this file were classified boots-or-completed under one Data Dragon version. Names resolved against a different version drift every time Riot renames or reworks an item, and nothing downstream would detect it — the build list would simply start saying the wrong thing. Icon URLs are pinned to that same version.That is the argument against the alternative, which was to let
lol-companionbundle its own catalog: it already bundles one for the overlay's gold math, so the machinery existed. But that copy has no relationship to the version this file was built against.No dead entries
The dictionary is built by walking the finished
buildsobject rather than by tallying ids as they are counted, so it holds exactly the ids the file references and no others. Any list that stops being published stops contributing for free, and a consumer can treat a lookup miss as a bug rather than as an id it was never meant to render.An id Data Dragon does not name is left out rather than written blank — a missing name costs a label, dropping the row would cost a measurement.
Additive: every existing field keeps its meaning.
Gate green: typecheck, lint, 541 tests across 29 files, build.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)