System reference · Wild Rift events

The system, as code

The same framework that lived in Figma, rewritten as tokens and components. An event is a token file. Every state is drawn, not exported.

01What code draws, what art supplies

The constraint that shapes everything else. Code can draw any shape, frame, state and motion from a token value. It cannot invent illustration. So art is only needed where the content is genuinely pictorial, and one art set covers every state.

ElementSourcePer event
Node shape, corner, ring, glowCodetoken value
States: claimed, current, available, lockedCodefree
Check, lock, count badgeCodefree
Connector line and fill progressCodefree
Motif: star, eye, diamond frameCodetoken value
Colour, type, tracking, motion timingCodetoken value
Champion or familiar portraitsArt3 files
Reward item iconArt1 file
Background key artArt1 file, optional

Four files per event, not twenty exports. A locked node is not a drawing, it is the same node with a state. That is the whole difference between a screenshot library and a design system.

02Token layer

One file per event, W3C DTCG format, the same standard Figma variables export to. Nothing below this layer knows an event's name.

Live values, all three events

03Primitive layer

A node is a shared base with an icon on top. The base is two parts: a frame whose shape, ring and glow come from CSS, and a motif drawn as inline SVG so its outlines carry a real stroke. Both are code, painted from tokens. The icon is the only thing that changes between states, and claimed and claimable are shared by every event.

Node shape, one per event token set · content slot empty

Five states, one base · three shared, two event extras (SG: story + mini game · SF: combat 01 + 02 · SOL: lantern 01 + 02)

04Component layer

The progression track composes nodes and connectors and reads its fill from node state. The champion row is the one place art is required, and it is the same component in every event.

Progression track · code icons, zero art

Progression track · same component, art in the payload slot

Champion row · three portraits, index badge drawn from the event motif

05Composition · two dials

Tier decides the structure. Theme decides the skin. Neither dial touches the other, and every screen below is built by the same function call.

Theme · sets the skin
Size tier · sets the structure

      

One theme, all four tiers

06Fidelity ladder · one node, three ways

The Star Guardian dialogue node, built three times. Same size, same screen, no filters. This is the honest picture of what each method reaches and where it stops.

1 · CSS + SVG clipPath Zero art. Exact Figma path as an SVG clipPath, CSS gradient fill, layered rim, drop-shadow glow.
2 · Inline SVG Exact Figma vector path. Flat fills only, no gradient, no shadow.
Star Guardian dialogue node as exported from Figma
3 · Figma export The shipped asset. Painted highlight, soft inner shading, texture in the fill.

What each one reaches

PropertyCSSSVGFigma export
Silhouette, ring, glowYesYesYes
Exact silhouette, curved edgesYes, via SVG clipPathYesYes
Gradient fillYesYesYes
Ring that follows that silhouetteYes, layeredYesYes
Glow around that silhouetteYes, drop-shadowYesYes
Gradient along the rim itselfNo, flat rim onlyYesYes
Inner light bloomApproximateYesYes
Painted highlight and textureNoNoYes
Recolour by tokenInstantInstantRe-export
Every state generatedYesYesOne file each
Weight0 KB~2 KB24 KB, one size

Both code versions use the exact vector path lifted from the Figma file, normalised to a unit box so it scales. The silhouette is not approximated, it is the same curve. Version 1 combines that clipPath with a CSS gradient, a layered rim and a drop-shadow glow, which is the combination worth using: no SVG markup per node, everything still driven by tokens. The gap to 3 is paint, not geometry: a hand-placed specular highlight and a texture in the fill. Everything structural is reachable in code. So the useful split is not "code versus Figma", it is geometry in code, paint in art. A node whose identity is its shape costs nothing. A node whose identity is its painting stays a file.

07Adding an event

The delivery for a new event is a token file and four images. No new components, no new states, no new exports. This is what the Figma library could not do: the theme is data, so it can be reviewed, diffed, and handed to engineering as the source of truth rather than as a redline.