layerFileName
Build the on-disk file name for a layer from its displayName.
displayName is untrusted (a name from another app's share/open-with, or whatever the user called the file), so separators are stripped to keep the write inside the layers directory. The UUID suffix is load-bearing, not cosmetic: two layers sharing a display name would otherwise resolve to the same path and the second write would truncate the first. It also means a name of .. can never itself be the file name. displayNameFromFileName strips it back off for display.