What Is This App?
A richly styled D&D 5e character sheet for a character named Amara "Dune" — a Hexblood Circle of Spores Druid. The app loads character data from a remote JSON endpoint and renders an interactive sheet with animated spore particles floating in the background.
The aesthetic is dark fantasy: deep greens, violet glows, bone-white typography, and JetBrains Mono for mechanical readouts — all evoking a fungal, mycelium-network vibe matching the character's subclass.
App Behavior
- A loading screen ("Awakening spores…") with a pulsing mushroom sigil displays while the JSON is fetched from
producingtechnology.com/a1/15-json/…dec253.json. - Once loaded, five tabs appear — Stats, Combat, Spells, World, Inventory — each with smooth fade-up transitions when switching.
- Stats tab: Displays the six ability scores in clickable hex tiles; clicking rolls a d20 + modifier with an animated toast popup at the bottom of the screen showing the result, dice face values, and modifier.
- HP tracker: A living health bar with +1/+5/−1/−5/Full Heal buttons that animate the bar width on change.
- Combat tab: Lists weapons with separate Attack (d20 + bonus) and Damage roll buttons; also has quick-roll buttons for Initiative and common saving throws.
- Spells tab: Spell slot pips that toggle between used/available by clicking; spell cards roll a spell attack when clicked; shows Spell Save DC and Spell Attack bonus.
- World tab: Displays an active Hexblood Holdfast condition banner, clickable objective checkboxes, NPC relationship cards with colored status dots (alive/captured/unknown), and fear tags.
- Inventory tab: Simple item table plus a session journal textarea that auto-saves to
localStorage. - Animated spore particles (violet & green) float upward across the entire background via a canvas element.
Unexpected / Issues
No Persistent State
HP changes, spell slots, and feature uses all reset on page reload. Only the journal textarea is saved via localStorage — everything else is ephemeral in-session state.
Slot Toggle Logic
The spell slot pip toggle math is unintuitive — clicking a pip doesn't clearly behave as "use this slot" vs "restore this slot," making it confusing during actual play.
No Crit Damage
When a natural 20 is rolled (labeled "CRIT!"), there's no automatic prompt or button to roll doubled damage dice — the player must manually roll damage separately.
Spells Not Linked to Slots
Clicking a prepared spell card rolls a spell attack but doesn't consume a spell slot — the two systems are visually present but completely disconnected.