Thanks Michael, Gravit Designer looks like its worth an investigation.
As for UML: I have build quite a few plugins that require either extensive class hierarchy, or require sub plugins, (im a former JAVA software engineer and so may well over engineer things) and so I have used UML to model them out.
As for JavaScript used for prototyping: I believe that being part way there to actually building the functionality allows for better usability testing, accessibility testing and is a faster Agile type way of working. Doing a quick Google found this: https://www.creativebloq.com/web-design/create-live-mockups-using-angularjs-121518274 (plus many many more)
I know Bas Brands uses JavaScript to do prototyping (I have messaged him and Tweeted him, but he hasnt got back to me yet - only been a couple of days mind).
M