Fix cloned camera bindings and moving-camera poses for OVRTX batching - #3
Merged
pbarejko merged 1 commit intoSep 23, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Newton can author only the source camera in USD while OVRTX clones it across environments. Additional cameras on this branch were binding only that source path, leaving the other environments' views incorrect. Camera intrinsics had the same path mismatch. Moving cameras also need pose refresh enabled because OVRTX renders from the cached camera pose.
This PR against
pbarejko/batch-rendering:Validation on an RTX 6000 Ada with Newton 1.6.0 and OVRTX 0.5.0.377615:
uv run isaaclab -f: passed.replicate_physics=Trueexplicitly overridden. Its default configuration remains blocked as described below.Remaining issues found by the broader audit:
stepcontract discards history for omitted products. Alternating the submitted product set repeatedly removes/recreates the slower camera. In a four-environment diagnostic with base 64×64 and wrist 96×48, both-product native calls averaged 222.18 ms with unequal rates versus 3.01 ms with equal rates. These are instrumented native-call times, not training throughput. Raw static frames repeat a short exact cycle. The limitation also applies to other temporary subset-only submissions. Resolving it requires separate scheduling/lifetime work; this PR preserves the branch's batching behavior.replicate_physics=False; the Kit-free clone dispatch skips the Newton replication context, leaving authored prototypes while the ClonePlan still describes multiple environments. The fixed camera then fails while resolving those worlds. Enabling replication allowed the camera smoke above, but does not establish that the unchanged task works.The mixed-rate diagnostic also exposed pre-existing float32 sensor timestamp drift: a nominal two-step camera period eventually slipped to three steps. Replaying the actual physics-substep timestamp updates explains all observed frame counters; no requested native frames were missing.