# 3d Orbit Inspect Demo

Make a 3D object lean around on hover and open a full inspect view on click.

- Repository: https://github.com/MengTo/Skills (7170 stars)
- Category: Media
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add MengTo/Skills --skill 3d-orbit-inspect-demo -g -a claude-code -y`
Codex: `npx skills add MengTo/Skills --skill 3d-orbit-inspect-demo -g -a codex -y`
Cursor: `npx skills add MengTo/Skills --skill 3d-orbit-inspect-demo -g -a cursor -y`
Gemini CLI: `npx skills add MengTo/Skills --skill 3d-orbit-inspect-demo -g -a gemini-cli -y`

## Description

Make a 3D object lean around on hover and open a full inspect view on click. Hover is a damped, bounded camera lean; click lifts the piece off its bench into the hand, where you drag to turn it, coast, dolly with wheel or pinch, and put it back with Esc, click-away or a Close button. Use for product, object, joinery and portfolio pieces in Three.js where a hover orbit and click-to-full-view must not fight each other; use webgl-3d-object for a floating hero mesh with no inspect mode, and 3d-virtual-tour for a camera path through a place.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 3D Orbit and Inspect

Three.js · WebGL. No OrbitControls, no custom shaders.

**The mechanism:** hover leans the *camera* a few degrees around the object with a gain that rises only while a raycast hits it, and click hands the *object* (not the camera) to a second render layer that lifts it to a fixed spot in front of the lens. The two modes share no state except one rule: the lean freezes whenever a click is possible or the piece is in the hand. Remove that rule and the target slides out from under the click.

Nearest skills: `webgl-3d-object` (a floating mesh, no inspect), `3d-virtual-tour` (its "orbit inspection" is one mode of a walkthrough; the camera itself flies). Reach for this when there is one object and two gestures on it.

Reuse `demo.html`: the joint, the room, the lean, the lift and the return are all in one module. Copy `updateLean`, `updateHand`, `openInspect`, `closeInspect`, the pointer block and `draw`. Swap the meshes for your own object; nothing else names the joint except `FROM`, `RR` and `Q_BENCH`.

## What is and is not in the source

Kibori (`kibori.html`, section "8b. Inspect, pick an item up") has click-to-lift with drag-to-turn, an idle wheel, a "Look closer" cue and a zoom-in cursor on hover, and close by click-away, Esc, scroll or its Close button. It has **no hover orbit**: the camera only leans a few degrees as scroll dollies it between stations. It also has **no free zoom**, because wheel is the page scroll and closes the piece. So:

The rest: https://github.com/MengTo/Skills/blob/HEAD/agent-skills/3d/3d-orbit-inspect-demo/SKILL.md
