The only candidate so far seems to be Vega and Vega Lite, each of which have a JSON Schema (one compiles to the other).
These appear to be very suitable for my needs, and come with a suite of tools for creating and editing the schema and corresponding ‘specification’ for a visualisation, plus lots of visual interpretations (visualisations) of those specifications.
So pretty much everything I was looking for, and some. I’m still exploring, but this looks very promising at this stage, with programming libraries and documentation, and a helpful community to answer my questions.
You can see some of my notes in the Visualisation Lab topic: