TL;DR
Extend LuaEntity.tags to non-ghosts or add LuaEntity.custom_properties and automatically capture its value when making a blueprint.Why?
Currently, LuaEntity.tags works only on ghost entities. It would be nice to have a built-in solution for blurprintable custom properties on entity, so modders won't need have any code which works with blueprint updating.There're many cases when entity has simple user configuration which can and should be maintained in a blueprint. Display plates can be a good example for such behaviour - their custom blueprintable properties is only a single selected signal type, while more complex entities may have more settings.
How?
Option A: Extend LuaEntity.tagsMake tags property available for non-ghost entites, and automatically capture its state when blueprint content is selected.
Pasting over or copying settings does not override tags but creates event.
Pros: Easy solution
Cons: May break backwards compatibility on some weird cases
Cons: Does not cover override settings scenario
Option B: Add LuaEntity.custom_properties
Like above, but the meaning of tags property is unchanged, and enetites (both real & ghost LuaEntity, as well as BlueprintEntity) are instead given new custom_properties field for that purpose.
Pasting over or copying settings will override existing ones and will fire an specific event (something like "on_custom_properties_changed").
Pros: More elegant solution
Pros: Modders have more control on what data they should store
Pros: Also a solution for copy-paste settings
Cons: More work on Wube side