Skip to content

Rework a lot of space handling in oxr state tracker

Christoph Haag requested to merge haagch/monado:locate_global_space into main

Apologies for the big commit, there was no good way to split it up. This fixes several limitations in the space handling in the state tracker and is an initial attempt at cleaning up some technical debt.

I smoke tested what I could, but this definitely needs more testing.

Possible controversial points:

  • initial_head_relation variable renamed to local_space_pure_relation. helper functions now called is_local_space_set_up and set_up_local_space
  • whenever one of the new functions tries to use the local space it first checks is_local_space_set_up, and if not, calls set_up_local_space. This means the local space will only be set up to the current HMD position once the application actually starts using local space, which might not be what the user wants.
  • set_up_local_space doesn't take a head pose as a parameter anymore, instead it queries the assigned HMD device itself

Merge request reports