Manipulator handles

The visible part: a universal widget, in the sense Cheetah 3D means it. Every enabled affordance is on screen at once and the part you grab is what says what the drag means — drag a shaft to move along an axis, a pad to move in a plane, a ring to turn, a cube to scale. tosijs-3d has no manipulator (UPSTREAM.md #3) and Babylon's GizmoManager is mouse-shaped, so this is built here — and built so a hand can grab it, not only a ray.

Why one widget instead of a mode

A mode switch makes you say what you want twice: once to the toolbar and again to the handle. It also costs a round trip for the commonest edit there is — nudge it over, then turn it a bit. The cost is crowding, and the answer to that is the transform set: turn off what you are not using and its grips are simply not built. That is the same dial that makes this usable on a touchscreen, where thirteen grips genuinely is too many.

Sized for hands, not only for pixels

Handles carry a nearRadius and are picked two ways: a hand inside that radius grabs directly, anything further grabs by pointing. A gizmo designed for a mouse gets this wrong by being visually thin — fine for a pixel-accurate cursor, impossible to grab with a controller you are holding at arm's length.

They also draw on top (renderingGroupId), because a handle buried inside the mesh it manipulates cannot be clicked at all — and the piece an author most wants to move is usually the one embedded in something else.