-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Heritable trait based property inheritance systems #4216
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_system
for any inheritable component.Solution
Heritable
trait that defines the inheritance behavior across a hierarchy.GlobalTransform
implements this trait.transform_propagate_system
usingHeritable
as generic systems.App
for 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
Visibility
andComputedVisibility
. Will likely need to work with existing systems for computed visibility in some way.