-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Heritable trait based property inheritance systems #4216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
‘Heritable’ is an odd word to me. I would have expected ‘Inheritable’. However, I feel like ‘Hierarchical’ or ‘Hierarchic’ might be a better fit semantically. Hmm. |
Seems pretty apt to me. |
|
I'll throw in 'Hereditary' for good measure 😂 Heritable and inheritable are synonyms, a bit like flammable and inflammable. Personally I would err on the side of 'inheritable' because it's far more common. |
|
Closing as part of backlog cleanup: inactivity, no clear consensus. |
Objective
First/naive attempt to generalize
transform_propagate_systemfor any inheritable component.Solution
Heritabletrait that defines the inheritance behavior across a hierarchy.GlobalTransformimplements this trait.transform_propagate_systemusingHeritableas generic systems.Appfor inserting these systems into the schedule.This implementation includes the optimizations found in #4180.
There are a few drawbacks to this naive approach (originally detailed here: #4213 (reply in thread))
Followup Work
Implement this for
VisibilityandComputedVisibility. Will likely need to work with existing systems for computed visibility in some way.