I’m working inside an RBD Solver / Bullet DOP and trying to blend rigid body rotations toward a target orientation (similar to MOPs Apply Attributes behavior). I’m confused about the relationship between @orient, packed transforms, and the solver’s internal state.

When I run the following code inside a point Wrangle inside the RBD solver:

p@orient = slerp(@orient, targetorient, mops);

Edit: I also tried writing the matrix directly using setprimintrinsic but the matrix is still not fully written.

I want to Reliably blend a rigid body’s rotation toward a target orientation and Have the actual packed transform fully align.

The orient attribute updates correctly in the Geometry Spreadsheet and The rotation visually changes partially. However, the packed primitive transform (3×3 / 4×4) never fully aligns to the target(Rotation). Updating orient does not appear to rebuild the solver’s transform completely. Same logic works perfectly in SOPs. Disabling collisions does not change the result.

Why does writing to @orient inside the RBD solver update the attribute but not the rigid body’s full actual transform?

Thanks

Any clarification on how Bullet treats @orient vs internal transforms, and best-practice ways to drive rotation (especially snapping cases), would be greatly appreciated.