// Two possibilities:
// - Only legal to set one of them
// - Or apply them all in deterministic order
archetype Transform {
mat4: Option<Mat4>,
translation: Option<Translation3>,
mat3: Option<Mat3>,
rotation: Option<Rotation3D>,
scale3: Option<Scale3D>,
scale: Option<Scale>,
}
Old proposal
How to handle OutOfTreeTransform:
Introduce a new boolean component that coerces a transform batch to be out of tree. OutOfTreeTransform { enabled: bool }
if one encounters several several parent transforms and if they have the OutOfTreeTransform == false the viewer issues a warning and resolves in a best effort manner
To consider: The fallback provider for OutOfTreeTransform can be clever and look at transform counts, automatically assuming true if there's several transforms.
Drawback: Can no longer have out of tree transform side by side with in-tree transforms
Remaining todo items:
LeafTransform3D
with all the associated ripple effect [...] https://github.com/rerun-io/rerun/pull/7015LeafTransform3D
on Box3D & Arrows3D & Ellipsoids instead (don't forget to point out transform relationship!) https://github.com/rerun-io/rerun/pull/7029Old proposal
How to handle
OutOfTreeTransform
:Introduce a new boolean component that coerces a transform batch to be out of tree.
OutOfTreeTransform { enabled: bool }
if one encounters several several parent transforms and if they have theOutOfTreeTransform == false
the viewer issues a warning and resolves in a best effort mannerTo consider: The fallback provider for
OutOfTreeTransform
can be clever and look at transform counts, automatically assumingtrue
if there's several transforms.Drawback: Can no longer have out of tree transform side by side with in-tree transforms