Handles that show what they do before you grab them

Every control is a real 3D arrow pointing the way the thing will travel, labelled with what it changes and its live value, with blocked directions greyed out.

What it is

Handles are welded arrow geometry (capsule shaft into a cone head, anchor collar on a pinned end) living on the axis they drive, coloured by axis, with a micro-label plate naming the field and its value, and a hover halo. Arrow length is sized in screen pixels then capped by a per-element world proportion so four tabs cannot swallow a 3ft window.

Also called: axis gizmo · arrow handles · control affordances · X red Y green Z blue

See it
Handles that show what they do before you grab them
Prepared for
Ronan Petsch
1140 Ridge Line Rd · Fair Play
Shell package$27,206
Concrete & site$7,898
Doors & windows$5,266
Trim & finish$3,510
Total
$43,880
Signature
Hover state of an eave handle: green Y arrow, white halo, chip reading Eave 14ft. Compare against a greyed blocked head. Scene.tsx Handle/AxisArrow. Sample data — no customer information appears here.
How it works
  1. 1Each descriptor declares a glyph: dim (double-headed), extent (one head + anchor collar on the pinned edge), pitch (rise arrow) or distribute (waist bead in a gap).
  2. 2The arrow is oriented by a world quaternion onto growDir, so it never reorients when you orbit.
  3. 3growBlocked / shrinkBlocked come from the probed limits; a blocked end draws as a muted wall instead of an arrowhead.
  4. 4cursorForScreenAngle() derives the cursor from the projected on-screen travel angle, so the cursor and the arrow can never disagree.
  5. 5pickNonOverlappingLabels() drops any label plate sitting on another tab's arrow.
  6. 6Progressive disclosure: nothing selected means no shell tabs; selecting an opening hands the screen to its tabs only.
Why we built it

Every control in the 3D view was a square block, so nothing told a builder what any one of them did until they grabbed it and started dragging. An earlier attempt at flat silhouettes turned to face the camera as you orbited, which read as 2D pasted into a 3D space, and the arrows were large enough to consume most of the window. Handles now come from one registry that states what each one means — its axis, its direction, and what it resizes — so the shape carries the meaning and every family draws at a consistent size.

The problem
  • Undifferentiated square handles teach nothing before you grab them.
  • Screen-space handle art snaps end-for-end when you orbit past the axis.
  • A dozen identical tabs compete for attention on a building with additions.
Sound familiar?
What you get
The arrow points where the geometry will actually travel, from any camera.
A limit is visible before you pull against it, not discovered by pulling.
Selecting a structure calms the screen to just that structure's controls.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →