Matrices store rotations as quaternions (to_euler is only a method converting them), so if you get your data from a matrix, you know you lost information about the number of rotations. I don't think there's a way to read the euler values.
However, because 360° range is quite big, as long as your object is rotating slower than 180° per frame (or per ...
Before it rolls off the edge, can use the arc distance formula
$$d = r \theta$$
Where d is the distance travelled, r the radius of the cylinder (half y (or x) dimension) and theta the total angle in radians.
An empty is added the scene at location of cylinder at frame 1.
Or as demonstrated in callback "hack" (one of my favourites)
The .to_euler() function of transformation matrices allows passing an euler_compat argument that acts as a reference rotation from which new Euler values are generated.
Thus, as long as the object in question doesn't rotate more than 180° in any one step, it should be possible to always get the valid rotation by passing the known valid Euler rotation from ...
For Rigid Body sim you can try ... Bake simulation and with object selected search for Bake Action > enable Visual Keying ... it converts cache into keyframed animation.
Now if yo go to Graph editor and move timeline into a middle frame of your anim, you can Mirror curves Ctrl+M Over Current Frame ... results as reverted animation.
Things to change:
In your Scene Properties, change Collection to "Rigid Body World" by left-mouse inside the Collection
In your Scene Properties, clear the Constraints collection.
Remove all your Rigid Body Constaints (perhaps the ones with no Obj-1, Obj-2 are useless, I'm not sure)
You can do this with Rigid Body Constraints.
The 'Generic' constraint allows you to set up the constrains between two objects to set the amount the objects are allowed to vary from an Angular (rotation) and a Linear (position) point of view. By linking your 'Active' Rigid Body object to a 'Passive' one (that acts as the anchor) you can easily limit the ...
Something with an off-center center of mass doesn't fall any differently in real life (disregarding air resistance, which is not simulated by Blender's RB physics). It won't rotate as it falls unless it has some rotational inertia from some other cause; all parts of the object will experience the same acceleration due to gravity.
Rigid body physics places ...