I finally gave this a stab and coded a plugin for a functionality I felt would improve my work flow.
While the plugin is active any referenced glyph metrics will stay in sync with their linked keys. This means moving horizontal extreme nodes in a glyph that has metrics keys will maintain the linked side-bearing, but also editing a glyph’s side-bearing that other glyphs in turn reference will automatically keep those other glyphs’ metrics in sync in the background. Essentially I never wanted to have to use ctrl + cmd + alt + m ever again
The plugin is not added to the registry yet (pending this sanity check ), but you can check the code here and install for testing.
One question I have right away is about best practices. I used a reporter -type plugin for this, but it really doesn’t “Show” anything in the drawing area - is this an accepted hack, or should the plugin be using a different template instead to be more in tune with the semantics of the reporter plugin type?
Also, I’ve added a sort of internal caching for which glyphs need syncing, but I am not 100% certain this is implemented in the best way. Another issue I’ve not yet solved conceptually is how self referential linking (by mistake) should be handled, i.e. in the case that h links to n, but l links to h, and n gets updated; should only h get updated, or should the change propagate to any further metrics key links.
Feedback welcome, as are improvement suggestions (code or functionality).