The optimizeComponents() routine had a path in which the component was removed
if the optimal update was null, pointing that there were no difference between
the implicit value and the current value. But this assumption made components
with only default attributes (as in ) to be
removed.
The modification makes getImpliciValue() to indicate if the component is
inherited from injected components or mixins, or if it is genuinely owned by the
entity. Just in the case the component is inherited and it does not need an
update, the component can be safely omitted.
Fix #486
The optimizeComponents() routine had a path in which the component was removed if the optimal update was ) to be
removed.
null
, pointing that there were no difference between the implicit value and the current value. But this assumption made components with only default attributes (as inThe modification makes getImpliciValue() to indicate if the component is inherited from injected components or mixins, or if it is genuinely owned by the entity. Just in the case the component is inherited and it does not need an update, the component can be safely omitted.