The problem is how many times the matrices representing the bones (for animation and rendering) of an entity get calculated.
If i have these components:
- Position
- Skeleton (holds matrices for bones)
- Physics
- Animation
When the physics get's updated, the position is changed to move the entity. This sends a message, that position has changed. The skeleton takes note and updates the matrices for the changed position (and potentially rotation). The animations are then updated in a separate system, the skeleton then gets updated and changed again. So essentially the matrices are being updated twice (unnecessarily) instead of just once.
Am i going about this the wrong way? Is this just the price of having everything disjoint?