I think that we should preserve scaling sign when we use gizmo.Though we do not preserve scaling sign,it will has same result.But it means different.
1）Withough preserve scaling sign:
before attach gizmo:
I review the code and tried that.But it doesn’t work.By the way,the positionGizmo dragObserver do not need fix?Or it was fixed by the gizmo.ts changes.I think that we should preserve scale sign when we set origin parent.We should preserve scale sign everywhere that change the attachedMesh parent.
I set the next method call true,and the method result is correct.But the next flow has another process.
My first reply show that i set every change of the (attached)mesh parent set sign true,and it work.We can check if we should promise that every change of mesh parent should preserve sign.