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.