<p dir="auto"><strong>Describe the bug</strong></p>
<p dir="auto">The axis arrows of the TransformControls are aligned with the component's local coordinate system, even if the default "world" space is used. Dragging the arrows still works as normal, so the movement of the object does not match the drag direction of the arrows if the transformed object is rotated.</p>
<p dir="auto">Could be related to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="892928459" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/21840" data-hovercard-type="issue" data-hovercard-url="/mrdoob/three.js/issues/21840/hovercard" href="https://github.com/mrdoob/three.js/issues/21840">#21840</a>, but does not require any parent object or snap configuration.</p>
<p dir="auto"><strong>To Reproduce</strong></p>
<p dir="auto">This can be easily reproduced using the <a href="https://threejs.org/examples/#misc_controls_transform" rel="nofollow">Transform Example</a>:</p>
<ol dir="auto">
<li>Switch to Rotate mode</li>
<li>Rotate your object in any way</li>
<li>Switch back to Translate mode -&gt; Notice that the axes are aligned to the cube, even though we are in "world" space</li>
<li>Drag the red arrow -&gt; Note that the object still moves on the global X axis</li>
<li>Change to "local" space -&gt; Note that the arrows are still aligned the same (correct)</li>
<li>Drag the red arrow again -&gt; Movement follows the arrow (correct)</li>
</ol>
<p dir="auto"><em><strong>Live example</strong></em></p>
<p dir="auto">See steps explained above and the <a href="https://threejs.org/examples/#misc_controls_transform" rel="nofollow">Transform Example</a>.</p>
<p dir="auto"><strong>Expected behavior</strong></p>
<p dir="auto">I believe that the arrows should be aligned to world axes in "world" space. They also have done so in past versions, IIRC.</p>
<p dir="auto"><strong>Screenshots</strong></p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/33150734/118851561-2fd40880-b8d2-11eb-8f0a-7ccfcb277c88.png"><img src="https://user-images.githubusercontent.com/33150734/118851561-2fd40880-b8d2-11eb-8f0a-7ccfcb277c88.png" alt="grafik" style="max-width: 100%;"></a></p>
<p dir="auto"><strong>Platform:</strong></p>
<ul dir="auto">
<li>Device: Desktop</li>
<li>OS: Windows</li>
<li>Browser: Chrome, Firefox</li>
<li>Three.js version: r128</li>
</ul>
<p dir="auto"><strong>Describe the bug</strong></p>
<p dir="auto">TransformControls setSpace() does not update gizmo transform as it did in Three r127.</p>
<p dir="auto"><strong>To Reproduce</strong></p>
<p dir="auto">Steps to reproduce the behavior:</p>
<ol dir="auto">
<li>Go to <a href="https://threejs.org/examples/?q=transform#misc_controls_transform" rel="nofollow">https://threejs.org/examples/?q=transform#misc_controls_transform</a></li>
<li>Select the cube</li>
<li>Rotate it by ~30 degrees on one axis</li>
<li>Press <code class="notranslate">Q</code> to toggle world/local space</li>
<li>Gizmos are not updated</li>
</ol>
<p dir="auto">This is a video of trying to move the rotated cube while changing between local and world space. The transformation is applied correctly, but the gizmos are not oriented correctly.</p>
<details open="" class="details-reset border rounded-2">
  <summary class="px-3 py-2">
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-camera-video">
    <path d="M16 3.75v8.5a.75.75 0 0 1-1.136.643L11 10.575v.675A1.75 1.75 0 0 1 9.25 13h-7.5A1.75 1.75 0 0 1 0 11.25v-6.5C0 3.784.784 3 1.75 3h7.5c.966 0 1.75.784 1.75 1.75v.675l3.864-2.318A.75.75 0 0 1 16 3.75Zm-6.5 1a.25.25 0 0 0-.25-.25h-7.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-6.5ZM11 8.825l3.5 2.1v-5.85l-3.5 2.1Z"></path>
</svg>
    <span aria-label="Video description bug.mp4" class="m-1">bug.mp4</span>
    <span class="dropdown-caret"></span>
  </summary>

  <video src="https://user-images.githubusercontent.com/6860637/116264406-8ee2a980-a77a-11eb-988e-f4c3c319f826.mp4" data-canonical-src="https://user-images.githubusercontent.com/6860637/116264406-8ee2a980-a77a-11eb-988e-f4c3c319f826.mp4" controls="controls" muted="muted" class="d-block rounded-bottom-2 border-top width-fit" style="max-height:640px; min-height: 200px">

  </video>
</details>

<p dir="auto"><strong>Expected behavior</strong></p>
<p dir="auto">Gizmos updated to match world/local space.</p>
<p dir="auto"><strong>Platform:</strong></p>
<ul dir="auto">
<li>Device: Desktop computer</li>
<li>OS: Linux Manjaro</li>
<li>Browser: Chrome 90</li>
<li>Three.js version: r128</li>
</ul>