@skill-tree/frames
v0.1.0
Published
Measure a theme's raster frame art against the stage geometry it is drawn on: contentScale, opening placement, surface fill and the traced outline.
Readme
@skill-tree/frames
Measures a skilltree theme's raster frame art against the stage geometry it is drawn on, so the numbers a theme carries are derived from the art rather than hand-tuned.
npm install @skill-tree/framesWhat it does
A raster theme ships one PNG per tier per status. measureFrames reads them and reports, per tier:
contentScale- how much of the stage the frame's opening leaves for the icon and title.- the opening - where that hole actually sits, so a renderer can check it against where content is drawn.
- the traced outline - the silhouette the art really has, sampled as rays from the node's origin and refit to its first 12 Fourier harmonics. Art is cut to the node's surface but under no obligation to reach it, so the ring that has to meet the plaque's edge takes this, not the geometric one.
import { measureFrames } from '@skill-tree/frames'
const theme = JSON.parse(await readFile('themes/fantasy/theme.json', 'utf8'))
for (const tier of await measureFrames({ dir: 'themes/fantasy', frames: theme.frames })) {
console.log(tier.tier, tier.contentScale)
}Generation is a separate concern and lives in
alphanana; this package only measures.
MIT (c) Tobias Strebitzer
