The business logic coded into vue/src/views/ToolRevisionsDiff.vue and vue/src/views/ListRevisionsDiff.vue to convert a jsondiff record into a visualization of the old & new state of the record assumes that all paths within a diff will be either leaf nodes or indexes into linear arrays.
For toolinfo data this assumption will no longer be true with the implementation of T293565: Allow multiple authors in toolinfo.json and/or T299557: [Tech spike] Experiment with storage implementations for toolinfo annotations. The logic needs to be updated to properly handle nested objects and collections of objects. It seems reasonable that things should also be refactored so that toolinfo and list diff display can use the same core logic via composition rather than copy and paste.