What do you think of the content block spec @jgm? No doubt some advanced cases aren’t covered by it, but next to most other proposals, for individual figures, the syntax is relatively clean. Perhaps this could be combined with a block syntax for advanced cases?
For example, we have this figure example which @mb21 posted in the GitHub thread:
Using the content block syntax within the block syntax, something like this might be workable:
:::
/gull.jpg "a) A gull"
/tiger.jpg "b) A tiger"
/mouse.jpg "c) A mouse"
Figure 1: Picture of animals
:::
The nice thing about the content block syntax is that it keeps adding embedded content concise in simple cases, which will be the only cases for many writers.