Similar to #73, we could store components based on a hash of their fields' values instead of a UUID. That could enable two features:
Applications could call system.add_component(component) with duplicate values and not store it multiple times.
We could experiment with serializing denormalized JSON values instead of our current custom code that replaces subcomponents with their UUIDs. De-serializing duplicate values would be cheap. This would lead to much simpler code but larger JSON files. Speed difference is unknown.
Similar to #73, we could store components based on a hash of their fields' values instead of a UUID. That could enable two features:
system.add_component(component)
with duplicate values and not store it multiple times.