Enumeration: RotationGizmoMode
Rotation gizmo behaviour for free-move products in a modular scene.
Controls how the rotation gizmo responds while a user drags a product's rotation handle in the modular configurator. Configured per scene product in Product Admin → Modular Settings → Rotation Gizmo, and overridable per instance.
Example
if (mode === RotationGizmoMode.DISABLED) {
return; // no rotation gizmo for this product
}
Enumeration Members
DISABLED
DISABLED:
"DISABLED"
The rotation gizmo is not available at all.
No rotation handle is shown and the product cannot be rotated in the 3D scene. The toolbar quick-rotate can still be enabled independently via ToolbarRotateMode.
Example
{ mode: RotationGizmoMode.DISABLED }
FREE
FREE:
"FREE"
Rotation is completely free — no snapping.
The product follows the pointer continuously to any angle. snapAngle is
ignored. Best for organic arrangements where any orientation is valid.
Example
{ mode: RotationGizmoMode.FREE }
MAGNETIC
MAGNETIC:
"MAGNETIC"
Rotation is free but momentarily catches at multiples of the configured angle, releasing again when dragged past the detent.
Combines the freedom of RotationGizmoMode.FREE with soft detents at
each snapAngle multiple, so passing a step feels briefly sticky without
ever freezing the drag. Best when users want fine control but appreciate a
nudge toward common angles.
Example
// free rotation that gently catches at every 30°
{ mode: RotationGizmoMode.MAGNETIC, snapAngle: 30 }
SNAP
SNAP:
"SNAP"
Rotation snaps in hard steps of the configured angle (default).
The product jumps between multiples of the configured snapAngle
(e.g. every 15°), never coming to rest between steps. Best for grid-like
layouts where products should stay aligned to fixed orientations.
Example
// 15° steps: dragging settles on 0°, 15°, 30°, 45°…
{ mode: RotationGizmoMode.SNAP, snapAngle: 15 }