You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
drop support for storing persistent properties outside of variable storage (we talked about this, I think?)
remove serialization accessor support and -isCoreObjectValue: hack once EtoileUI uses serialization transformers everywhere
remove dynamic type hack (based on NSObject) in serialization once EtoileUI supports persisting references to "arbitrary" model objects in a better way (see ETLayoutItem.representedObject)
That's all I can think of at the moment
The text was updated successfully, but these errors were encountered:
It's not really possible to drop support for storing persistent properties outside of the variable storage (at least for attribute properties). If you write 2D or 3D applications, accessing the geometry state is one of the most common operation and must be very fast. For example, in EtoileUI 'position' and 'size' are accessed through the ivars, since using accessors slows things a lot for drawing or hit tests.
I think migrating all persistent multivalued properties to COArray/Set/Dictionary was the most important thing to reduce COObject complexity and support relationships properly (e.g. hidden dead refs, cross persistent roots). CODictionary remains to be written though.
We should probably restrict ivars support to attributes, this would eliminate the trouble to deal with hidden dead ref or lazy loading for univalued relationship backed by ivar.
If we do this, it's then easy to eliminate all the overhead/complexity associated with ivars support. The code to support ivars could be reduced to only 10 lines.
That's all I can think of at the moment
The text was updated successfully, but these errors were encountered: