Here’s a recent reply I made to reddit:
Howdy!
Metadata editing is absolutely going to be supported …
The next thing you should ask is: dude, why aren’t you done with that yet? (possibly without the California interjection).
Oh man, am I glad you asked!
Editing metadata is trivial for one file: I tell ExifTool to make the change, and it happens.
But PhotoStructure’s assets are backed by one or more asset file “variants” due to de-duping.
If, say, you delete a keyword from an asset, and one of the volumes that you’ve scanned into your library is unmounted, PhotoStructure won’t be able to comprehensively fix all variants to not have that keyword anymore. The next time you mount that volume, PhotoStructure sync will check the formerly-missing variant, and the deleted keyword will be re-added to the asset. The same issue would happen if you newly import an old backup that has a variant of this asset with the old list of keywords.
To handle this, PhotoStructure will also persist a set of time-stamped “operations,” or “transforms” (very similar to a CRDT), which it can then aggregate and “replay” when that asset is being re-imported, to ensure that user edits don’t get quietly reverted.
(These will be stored in a sidecar, by default, just like all other metadata edits, but you’ll be able to make metadata changes directly to the original file, if you understand the risks and don’t like sidecars).