-
Notifications
You must be signed in to change notification settings - Fork 368
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
Deprecate DisconnectedSpace
archetype/component in favor of implicit invalid transforms
#8459
Conversation
Latest documentation preview deployed successfully.
Note: This comment is updated whenever you push a commit. |
Web viewer built successfully. If applicable, you should also test it:
Note: This comment is updated whenever you push a commit. |
03258b3
to
e580ed1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that we have tagged components, does this actually need to be a Transform-specific component?
This could be rerun.components.InvalidData
.
I'm also now wondering about Invalid = True
vs Valid = False
.
rerun.components.ValidityMask
would feel the most arrow-like from a concept perspective, though I recognize this opens a can of worm of wanting to start supporting valid = False
for every visualizer.
crates/store/re_types/definitions/rerun/archetypes/transform3d.fbs
Outdated
Show resolved
Hide resolved
That would imply that we make this more of an infrastructure thing and many things can be flagged as On that note: we could also dodge this entire thing completely by saying any of the invalid-transform states like full nulled mat3x3 has the same semantics. Today, some of these "invalid transforms" are explicitly ignored since it's more practical - specifically we speced rotation-axis-angle with a null axis to just be no-rotation since that's more convenient (and I actually already fixed it up here so that the same is true for null quaternions)
Either isn't great, but .... but overall I really don't want to make this any more complicated than is. The whole point of doing this now is to make a presumably rarely used feature not be as much in the way of performance enhancement & simplifying (!) refactors. That's why I wanted to deprecate |
This is a great observation, which makes me realize any of the names related to Validity aren't quite correct. What we really want to say then is simply "Don't use this transform" (which is also more Transform-specific concept than validity) Other words: "Enable/Disable", "Apply", "Connect/Disconnect"... 🤔 |
…nvalid transform component has the same effect
InvalidTransform
component & deprecate DisconnectedSpace
archetype/componentDisconnectedSpace
archetype/component in favor of implicit invalid transforms
Talking this out we came to the conclusion that for the moment we won't introduce a new component and instead encourage invalid transforms like scale==0/matrix==0 etc. |
crates/viewer/re_view_spatial/src/contexts/transform_context.rs
Outdated
Show resolved
Hide resolved
…ith some whitespace
…ecation warnings and it doesn't do much
Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
…messes with some whitespace" This reverts commit ed1756d.
Related
DisconnectedSpace
, replace with pure transform marker typeInvalidTransform
/UndefinedTransform
(tbd) #7868What
See title. In detail:
RotationAxisAngle
will no longer be ignored when axis is non-normalizableDisconnectedSpace