- Add yaml-loader; import data/spells.yml at build time
- Add SpellTemplate/SpellsFile types to globals.d.ts
- Add 'Add Template Spell' button that opens a modal picker pre-filling
all spell fields from the YAML data
- Move spell data files into data/ directory
- Split spell rows into inputs row + full-width notes row (colspan=6)
- Shrink delete column to fit-content; bold spell name input
- Add class column to spell table; change MP cost to free-text input
- Auto-resize spell notes textarea on load and on input
- Add 10px padding between spells for visual separation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Split each spell into two table rows: the inputs row (name, MP, targets,
duration, delete) and a full-width notes row (colspan=5). Adds 10px
padding above/below each spell for visual separation between entries.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add autoResize helper and wire it via ref callback (mount) and onInput
(typing) to spell notes and class skills textareas
- Change .spell-del-col from width:40px to width:1px + white-space:nowrap
so the delete button column shrink-wraps to its content
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>