Frame comparison
| Frame | ID | Dye support | Static layer | Extendable (kindled) | Dimensions |
|---|---|---|---|---|---|
| Moonweaver | 0 | Yes | Yes | Yes | 550×800 px |
| Essentia | 1 | Yes | No | No | 550×800 px |
| Snowglow | 2 | No | Yes | Yes | 550×800 px |
Layer model
Each frame can have up to two overlay layers, applied on top of the character image in order:Static layer (static_model)
A fixed overlay that is composited without any color transformation. It contains frame decorations — borders, glows, icons — that should always appear exactly as authored regardless of the dye color. Moonweaver and Snowglow have a static layer; Essentia does not.
Color layer (color_model)
A dye-able overlay whose hue is shifted at render time using the dye field. This layer is composited using Oklab blending so the dye color blends perceptually. Moonweaver and Essentia have a color layer; Snowglow does not.
A frame can have both layers (Moonweaver), one layer (Essentia has only color; Snowglow has only static), or in theory neither — though all current frames have at least one.
Kindled state
Thekindled field activates an enhanced visual variant of the frame. Kindled cards use a different set of asset files that typically feature more elaborate decorations or effects.
Only frames with extendable: true support the kindled state. Moonweaver and Snowglow are extendable; Essentia is not.
Choosing a frame
Moonweaver — full-featured dye and kindled
Moonweaver — full-featured dye and kindled
Use Moonweaver when you want both dye color support and a kindled upgrade path. It has both a static decoration layer and a dye-able color layer, making it the most visually flexible frame. Best for cards where per-user color customization is important.
Essentia — dye without static overlay
Essentia — dye without static overlay
Use Essentia when you want a clean dye effect without additional static decorations. It has a color layer but no static layer, and does not support kindled. Best for minimal card designs.
Snowglow — static effects, no dye
Snowglow — static effects, no dye
Use Snowglow when you want a fixed visual style that ignores dye entirely. It has a static overlay and supports kindled, but the
dye field has no effect. Best for cards with a defined, unalterable color theme.Asset file naming
Frame images are loaded from the../asset/private/frame/ directory at startup. The filename pattern is:
{frame_name}is the lowercase name of the frame:moonweaver,essentia, orsnowglow.{suffix}is-kindledwhen loading the kindled variant, or empty string for the base variant.{type}iscolorfor the dye-able layer orstaticfor the fixed layer.
Examples
| File | Frame | State | Layer |
|---|---|---|---|
moonweaver-color.png | Moonweaver | Base | Color (dye-able) |
moonweaver-static.png | Moonweaver | Base | Static |
moonweaver-kindled-color.png | Moonweaver | Kindled | Color (dye-able) |
moonweaver-kindled-static.png | Moonweaver | Kindled | Static |
essentia-color.png | Essentia | Base | Color (dye-able) |
snowglow-static.png | Snowglow | Base | Static |
snowglow-kindled-static.png | Snowglow | Kindled | Static |
Only the files corresponding to a frame’s actual layers are loaded. For example,
essentia-static.png and snowglow-color.png are never referenced because Essentia has no static layer and Snowglow has no color layer.