| Virtually all diagrams are representations of declarations that are the source of truth. Visual editors just help you edit that, but rarely get close to validating the underlying structure. For things like programming languages and markdown, users switch between the modes. For something like SVG, users rarely learn or solve problems at the declaration level. The real questions come with declaration re-usability and comparison. Two pdf's can look exactly the same, but be vastly different declarations, which makes comparison and component re-use essentially impossible. It turns out, much of the benefit of visual editors is built on the underlying declaration model where it supports user edit/inspection goals. So I think the point is not to have the visual be the source of truth, but to have more visualization and visual editors for the sources we have. There are/were excellent visual editors for Java and Apple GUI's that supported round-tripping (mode-dependent source of truth). But we seem to have abandoned them not just because they're old, but because of the extra scaffolding required to do the round-tripping. So my take-away has been that any visualization must be source-first and source-mainly - with no or minimal extra metadata/scaffolding, as markdown is now. That would mean the implied point is that we should visualize (or otherwise abstract to understand) the source we have, instead of using diagrams as the source of truth. |