Skip to main content

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 }