I think there is a little problem with the rotation gizmo. If you look at the workspace:
You will see that the global coordinate is only rotating correctly if there is no assignment made to
gizmo.updateGizmoPositionToMatchAttachedMesh prior to assigning
gizmo.updateGizmoRotationToMatchAttachedMesh = false; gizmo.updateGizmoPositionToMatchAttachedMesh = true;
does not work as expected and it seems to only accept the first assignment.
Another question is also whether using the local mesh (i.e.
gizmo.updateGizmoRotationToMatchAttachedMesh = false) should not better also yield a gizmo behaviour as in the world coordinate case, but just with the initial gizmo being accordingly rotated?