dune-tools/character-builder/data/index.json
Vantz Stockwell 5b3ccf630d Render real skill + perk icons in the live UI
extract.py now also copies every referenced icon webp from sample-data into
character-builder/frontend/public/icons/ so Vite bundles them with the SPA
(serves at /icons/<filename>.webp). 154 icons (91 skill + 63 perk) end up
in the build, ~668 KB total.

SkillTree nodes show the skill's icon centered in the node instead of the
name text (name moves below the node as a label). Hovered / allocated /
maxed states change icon brightness and saturation, with a sand-colored
drop-shadow on maxed nodes.

XpProgressCard renders the perk icon to the left of each perk's text.
Locked perks desaturate the icon. The grid grows from 2 columns to 3 to
accommodate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 08:07:39 -04:00

57 lines
No EOL
1.2 KiB
JSON

{
"xp": {
"character": "character-xp.json",
"combat": "spec-combat.json",
"crafting": "spec-crafting.json",
"exploration": "spec-exploration.json",
"gathering": "spec-gathering.json",
"sabotage": "spec-sabotage.json"
},
"factions": {
"atreides": "faction-atreides.json",
"harkonnen": "faction-harkonnen.json"
},
"skills": [
{
"id": "benegesserit",
"name": "Bene Gesserit",
"file": "skills-benegesserit.json",
"nodes": 22,
"edges": 23
},
{
"id": "mentat",
"name": "Mentat",
"file": "skills-mentat.json",
"nodes": 22,
"edges": 22
},
{
"id": "planetologist",
"name": "Planetologist",
"file": "skills-planetologist.json",
"nodes": 20,
"edges": 10
},
{
"id": "swordmaster",
"name": "Swordmaster",
"file": "skills-swordmaster.json",
"nodes": 22,
"edges": 22
},
{
"id": "trooper",
"name": "Trooper",
"file": "skills-trooper.json",
"nodes": 22,
"edges": 22
}
],
"icons": {
"directory": "frontend/public/icons",
"served_at": "/icons/",
"count": 154,
"missing": []
}
}