I Aten't Dead- Open Roller Project Diary 3
White Smoke - Fairly Doable
Looks like this is fairly buildable with no great amount of tears.
Having done a proof of concept as a browser script, it feels fairly clunky in practice and things like application state will be awkward. So I'm going to change to having a content script inject a UI into the html page, and have the browser extension button act as a toggle for the rendering of the UI.
I don't want to overload the page but this seems like the best approach, as anything rendered inside a browser extension popout is reinitialised every time and it's quite messy - though it could still be done.
Using the browser popout also puts hard limit on UI size.
Baseline
- API up and online
- Spell integration - hook up to spell API
- Spell search
- Text search and click on results to "pick" a spell
- Cast spell
- Click to cast active spell
- "Save" spells
- Click an icon to save spell on browser
- Filter by source
- eg: Search just one source if so desired
- Or filter by class
Mermaid Diagram of Initial Roadmap
flowchart TD subgraph feature road map subgraph bare minimum db[(API running)] spellsearch{spell search} direction TB db-->spellsearch-->cast(cast spell) end subgraph extension stuff content(content ui) toggle(toggle display w/button) content-->toggle end content-->spellsearch subgraph depiction[Display spell in Roll20] display[display spell] roll[calculate roll] show[render roll] format[make it look nice] display-->format display-->spellname[name + desc.] display-->damage_type[damage] display-->spell_dc[DC] roll-->show-->format end spellsearch -->persistence subgraph persistence direction LR filter(filter search) bookmark(bookmark spells) save(persisted between sessions) save-->bookmark filter-->pin[pin source] end cast-->tailoring cast-->depiction subgraph tailoring dc(Save Spell DC) charclass[set character class] end dc-- send to render -->spell_dc charclass-- automatically narrow down -->filter end
That's my first mermaid diagram, it's fun stuff. I wrote it in Obsidian where it works quite well, but you can play with it on Mermaid Live if you like too.