Why does my rotator from matrix always faces positive world axes

I think the math might be breaking down near a singularity. You’re just placing them in the editor? As in, it’s definitely not your code that determines the rotations of these particles? Once again converting rotations is gross, and it’s never ideal to convert anything to euler angles except for making them user-friendly to edit.