rerun icon indicating copy to clipboard operation
rerun copied to clipboard

`ViewCoordinates` and `AnnotationContext` should be timeless by default by being blueprinty

Open teh-cmc opened this issue 2 years ago • 3 comments

Consider this:

rr.log("world", rr.ViewCoordinates.RIGHT_HAND_Z_UP, timeless=True)

In 99.9% of cases, the coordinate system of your world isn't going to change across timelines, thus you want this to be timeless...

Forgetting to log it as timeless will also lead to a very annoying viewer experience.

teh-cmc avatar Sep 29 '23 15:09 teh-cmc

This is an interesting one. Needs some kind of archetype-aware handling in rr.log, or an optional interface we check on the AsComponents?

jleibs avatar Sep 29 '23 15:09 jleibs

Conclusion from talking with @nikolausWest -- for now we will continue to make this explicit in the APIs. For 0.9 let's go through and make sure every ViewCoordinate and AnnotationContext is correctly logged as timeless.

For 0.10 or beyond we will investigate the right way for this defaulting to be done.

One thought is both of these things are very much "Blueprinty" and so rather than thinking of them as timeless data at the root of the data tree, thinking of them as static data associated with all blueprints would sidestep the issue.

jleibs avatar Oct 02 '23 12:10 jleibs

I agree that the right way to think about ViewCoordinates and AnnotationContext is as part of a blueprint, rather than as part of the data stream.

emilk avatar Nov 06 '23 08:11 emilk