Why does World.scene.add(prim) cause changes to prim?

Adding XFormPrims to the World.scene causes them to get seemingly random, yet consistent translations and orientations applied

I thought adding prims to the scene was a best practice to ensure they are included in simulation calculations and the initial state is saved for potential reset later.

Code such as

my_prim = XFormPrim(prim_path="/World/my_prim", translation=[0,0,0])
world: World = World.instance()
world.scene.add(my_prim)

After starting simulation, translation of my_prim will not be 0,0,0 which you would expect since that’s what the value we provided. It will be some random values like [0.00006, -0.002, 0.01]

Video Example

Thank you for reporting this issue with XFormPrims and unexpected translations. Before we dive deeper into troubleshooting, I’d like to check if you’re using the latest version of Isaac Sim, which is 4.2.0. If you’re not already using Isaac Sim 4.2.0, I encourage you to upgrade and see if the issue persists.

if you’re using the latest version of Isaac Sim, which is 4.2.0

No, I responded to similar suggestion on my other posts.
There are errors using 4.2.0

While using latest version of Isaac Sim is a good general practice, it should not be required to position and place prims as you expect which is a fundamental operation of scene setup.