Map entity appearances#101
Conversation
|
Wow, nice work, thank you! I think the UI requires some work, though. How about refactoring the current prompt window as a dropdown, maybe as a fixed top or bottom bar next to the map? You could then have "Custom Regex" as one option, saving some screen space and making the warning less prominent. After selecting Custom Regex, you could have another dropdown next to that with the currently defined ones, and a button to clear all or add new, similar to what you now have. |
I agree... I was avoiding doing so as I figured that would require a full rewrite but I went ahead & did so & it's definitely much better off for it. Updated PR w/ new demo images. LMK what you think. |
Summary
Adds a new plugin, Map Appearances by Scene — a visual timeline showing which scenes each "entity" appears in.
Based on Map Character Appearances, but re-written completely as a separate plugin: it generalizes the idea from characters to arbitrary entity types and adds sorting, tooltips, export, and user-defined types.
Main Window
Note: export controls are toggled by the Export button in top right.
Manage Custom Entities Window
Note: I did not use the Beat modals for adding new patterns to avoid another set of data passing btwn
plugin.jsandui.htmlFeatures
#tag, excluding Fountain's#42#scene-number syntax)Testing
I manually checked that each entity type rendered correctly on a fully populated script and an empty script. I tested flows including changing between each entity type, toggling sort order, exporting both as CSV & JSON, creating bad RegEx.
I used VoiceOver on Mac to test screen-reader support.
I also created
tests.jsfor unit tests, evaluatesplugin.jsandshared_helpers.jsusing mockedBeatglobal and a screenplay fixture; call vianode tests.jsExample output:
AI Disclosure
I made extensive use of AI (mostly Claude) in doing this re-write but I attest that I read through all the code & understand it & believe there is no slop in it.
More Info
See the Readme.MD for implementation notes