Perpetuate changes iteratively
kontur opened this issue · 5 comments
Say for some reason:
n: LSB 40 RSB 40
h: LSB =n RSB =n
l: LSB =h RSB = 20
While it would be desirable for the designer to specify l's LSD directly to n, it would be great that a change to n triggers an update to h, then iteratively checks if any glyphs link to h, etc.
Implemented in branch recursive-sync, will be published with next update.
Hi again. I ran into another issue with slow syncing which may be related to this.
I set up a test file in G3 – 3.0.2 (3042) with similar metric key links as you've described above (added l: LSB =h RSB =| to get the opposite sidebearing value). The issue is that for some reason things seem to be syncing really slowly, as in I would have to move my type tool to the next glyph or select it to trigger the sync.
Here is an example video to show what I mean:
I've tweaked this a little in the latest update, and essentially I think it is not such a great idea to keep this functionality in the plugin. It might be nice, semantically, to form these types of chained links, but maybe the more reasonable approach is for this to be avoided entirely.
Right now this will still "propagate" (and the slowness should be gone) but the double or more linked sidebearing will "lag" behind by one update. I might re-introduce this functionality, but I think there is little to be won at the cost of making the entire update run a lot slower.
I see what you mean about the one update "lag". It's hardly noticeable though when making small unit changes.
Yes, notice though that the deeper the "chaining" the more it will be behind; and anything that is more than "one step" chained will require updating still after all.