I really like how Glyphs treats the masters independently, as opposed to FL, where most things are strictly linked. However, sometimes I find it would be handy to use certain functions in an all-master fashion, i.e. applying an editing step to all masters.
Some things I can think of:
• All-master copy & paste (like in FL). Would be handy when assembling glyphs from existing contour elements. If single master is all-master-pasted, multiply it. If multiple masters are single-master-pasted, ignore all but the first.
• Add component to all masters. Almost everytime I add a component to a glyph I want to do that in all masters. This could be a checkbox (which should be on by defailt imho).
• Setting sidebearing dependencies. Now that they are master-independent (which is good), I find it a bit tedious to set them in all masters when they are the same. Maybe with a special syntax such as ==n instead of =n.
• Adding and removing nodes. Typically, when your masters are alreasy compatible, you would want to add or remove nodes in all masters, obviously, to maintain compatibility. In UI terms, this could be a special command (such as a modifier key when adding or removing nodes) or, even better, some kind of “compatibility lock” that would link the nodes when activated.
• Scaling or Transformations etc might be handy (via checkbox).
These are just some ideas based on what I noticed while working on my projects, maybe there are other functions that should be all-masterized?
The idea about treating the current master exclusively is that nothing should happen without the user being able to see it.
Some of the things you request can be done with simple Python scripts. Perhaps you want to look into Copy Layer to Layer.py and Fill up empty Layers.py in my GitHub repository. Look in the Masters subfolder:
I have another, but related, problem with multiple master editing: When I try to recreate a Bold letter from existing Bold “body parts”, they will often no longer be associated with the correct parts in the Regular weight. Correct Path Direction doesn’t help because it’s the order of the pieces, rather than the order of the nodes, which causes the mismatch.
Perhaps “Correct Path Direction” could sort the different paths of a glyphs into canonical order too, as it does the nodes within each path?
The transformation panel only works on the current, but bounding box transformations (moving and scaling) do work on all active layers (eye symbol in the Layers palette) with the Select All Layers tool.