Skip to content
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

Root path space views #1060

Closed
3 of 4 tasks
emilk opened this issue Feb 2, 2023 · 6 comments
Closed
3 of 4 tasks

Root path space views #1060

emilk opened this issue Feb 2, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@emilk
Copy link
Member

emilk commented Feb 2, 2023

As requested by @nikolausWest, we want to be able to omit the leading world/ in our example paths.

For instance, a user can log to the paths

image
detections
text_logging

And then the viewer will automatically create two spaceviews:

  • One called "2D" containing image and detections
  • One called "text_logging"

Upside

Users can care less about what they log. Log to image and detections, and you can still overlay the detections on the image.

Downside

We encourage a less structured way to organize your entities.

TODO

A few steps to reach that in a nice way:

  • Allow making the root (/) a space view
  • Name space views based on last component name plus category (world/camera/video -> video 2D)
  • Split ViewCategory into ViewCategory2D and ViewCategory3D
  • Make sure we do the correct things with all the transform stuff everywhere
@emilk emilk added enhancement New feature or request 👀 needs triage This issue needs to be triaged by the Rerun team labels Feb 2, 2023
@emilk emilk assigned emilk and Wumpf Feb 2, 2023
@nikolausWest nikolausWest removed the 👀 needs triage This issue needs to be triaged by the Rerun team label Feb 2, 2023
@jleibs
Copy link
Member

jleibs commented Feb 3, 2023

"Make sure we do the correct things with all the transform stuff everywhere" carries some big assumptions.

This seems to necessitate default-connecting root-level paths with the identity transform (just like we do with other spaces), so that their siblings are are reachable.

I'm generally in favor of this because I think it's more globally consistent, but I want to make sure we're being explicit about the behavior and also defining the opt-out pathway? If you want truly isolated spaces does this mean explicitly logging, e.g. rr.unknown_transform("isolated") (maybe aliasing this as rr.disconnect_space("space") would be more clear, but same idea).

@Wumpf
Copy link
Member

Wumpf commented Feb 3, 2023

for the moment the trick would just be to not create a space view at root by default. That way they become opt in (at least for now). I don't think logging "permanent unknown transforms" is something we really need therefore.

@nikolausWest
Copy link
Member

Fyi @Wumpf, we still can't log transforms to one below root:

rr.log_rigid3(
    "cam",
    child_from_parent=camera_from_world,
    xyz="RDF",  # X=Right, Y=Down, Z=Forward
 )

Gives this error:

Traceback (most recent call last):
  File "./examples/colmap/main.py", line 212, in <module>
    main()
  File "./examples/colmap/main.py", line 197, in main
    read_and_log_sparse_reconstruction(dataset_path, filter_output=not args.unfiltered)
  File "./examples/colmap/main.py", line 128, in read_and_log_sparse_reconstruction
    rr.log_rigid3(
  File "/Users/niko/src/rerun/rerun/venv/lib/python3.8/site-packages/rerun_sdk/rerun/log/transform.py", line 153, in log_rigid3
    bindings.log_rigid3(
TypeError: Transforms are between a child entity and its parent, so root entities cannot have transforms

@nikolausWest
Copy link
Member

I'll still record videos as if we can but that means we need to fix this by launch

@Wumpf
Copy link
Member

Wumpf commented Feb 5, 2023

addressed in #1097

@Wumpf
Copy link
Member

Wumpf commented Feb 5, 2023

fix was premature and caused new issues. Taking another look at this on Monday

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants