Current integration: mountMap and mountMapBoard render legacy dungeons directly. The adapter supplies geographic node positions, traced polylines and the unchanged paintings; the normal node glyphs, fog knowledge, camera, selection tray, tooltips, legend and keyboard controls are shared. There is no separate dungeon node renderer.

The dungeon map now composes the shared W4b HUD, orientation strip, map frame, Potions, kit Back/Enter buttons and location tray. The shared SVG node artwork keeps markers circular; entrances sit on the approach roads. Smoky dark fog has brown haze restricted to authored road paths.

Legacy dungeon · road exploration

legacyDungeon.js maps 24 authored nodes to connected roads, themed fog, saved decisions and one-time encounters. Its dialogue adapter reuses W4c; combat reuses W4 with the same paired floor/background scene and a dedicated boss arena. Actors remain above both art plates.

Open playable dungeon preview InterfaceActorsBackground plateFloor plate

AshenSpire component catalog

Reusable presentation vocabulary for Map, Combat, Inventory, and future screens. Each card shows the stable component ID, model/factory home, renderer, and reuse surface.

Card size

Asset Components / Rendered Armoury

The interactive catalog includes every dotted ID from asset-data/components/armoury.json: player views, Character stat cards, the non-resizable Armaments tray, procedural equipment-position subcomponents, Inventory hold/comparison surfaces, and optional supporting-tray handles. Choose Rendered Armoury assets in the group filter, or open the full selector and ownership reference.

Data-driven HUD tokens

Defaults live in balance.ui.hudPresentation; src/main.js validates and projects them once for the shared Map/Combat HUD.

SettingDefaultRuntime projectionEffect
componentBackgroundOpacityPct0--hud-component-background-opacityComponent-card background opacity
metadataFontPx11--hud-metadata-font-pxShared metadata font size
beltItemGapPx2--hud-belt-item-gap-pxRelic/potion slot spacing
portraitScale0.7--hud-portrait-scalePortrait-badge scale
primaryRowGapPx8--hud-primary-row-gap-pxVitals/Quick Access gap
controlGapPx2--hud-control-gap-pxQuick Access grid gap
resourceRowGapPx3--hud-resource-row-gap-pxHP/MP/SP vertical gap
panelPadPx / mobilePanelPadPx4 / 0--hud-panel-pad-px / --hud-mobile-panel-pad-pxQuick Access host padding without resizing controls
mobileControlGapPx1--hud-mobile-control-gap-pxNarrow Quick Access cell gap
mobileOuterPadPx / mobileRowGapPx4 / 3--hud-mobile-outer-pad-px / --hud-mobile-row-gap-pxNarrow shared-HUD vertical density
cindersMaxWidthPct30--hud-cinders-max-widthCentered Cinders track cap
metadataMaxWidthPct30--hud-metadata-max-widthRight metadata-trail cap
metadataShowTotalsfalsedata-hud-metadata-show-totalsAct/Floor total visibility