geometrySnapshot function
Each symbol of catalog by key@version, sorted, as a canonical JSON
text: keys sorted, numbers in Dart's shortest round-trip form, -0 as 0.
Implementation
SplayTreeMap<String, String> geometrySnapshot(Catalog catalog) =>
SplayTreeMap.of({
for (final s in catalog.symbols) s.id: jsonEncode(_entry(s)),
});