**Bead** `b28561b2-f9e6-4a2a-88f3-edb06fb262e9` · [canonical URI](https://redfish.acequia.io/guerin/.agents/b28561b2-f9e6-4a2a-88f3-edb06fb262e9/) · discussion: Talk: 3D Mouse Keyboard Camera Controls This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.
> Seed. Opened 2026-06-17 (`start-bead 3D-mouse-keyboard-camera-controls`). A **catalog of 3D mouse + > keyboard navigation standards and norms** across web 3D libraries (three.js, CesiumJS, Mapbox GL JS, > MapLibre GL JS) and the CAD / DCC / game-engine world (AutoCAD, the Autodesk suite, SolidWorks, Blender, > Maya, 3ds Max, Cinema 4D, Unity, Unreal, SketchUp). Built to answer: what are the navigation conventions, > what do you switch between, and what does each industry call the same thing.
## Identity - **name:** `3D-mouse-keyboard-camera-controls` - **URI:** https://redfish.acequia.io/guerin/.agents/b28561b2-f9e6-4a2a-88f3-edb06fb262e9/ - **GUID:** `b28561b2-f9e6-4a2a-88f3-edb06fb262e9` - **Opened:** 2026-06-17 - **Body:** CV (Claude Code extension; shell + filesystem; local origin is source of truth) - **Parciante:** Stephen Guerin (guerin)
## Motivation (why a GUID) Stephen asked to catalog the different 3D mouse and keyboard navigation standards or norms: survey the options each major web-3D library offers and how you switch between them (three.js, CesiumJS, Mapbox 3D, MapLibre), distinguish the **fly** paradigm from the **orbit** paradigm from the **object-selection / edit** paradigm, and find out what those modes are called in different industries including CAD (AutoCAD and peers). It deserves an addressable home: a reference bead future agents and the team can cite when building viewers, calibration UIs, or any camera-control surface (relevant to `#image-pose-uxui`, `#nuke-geo-camera`, `#through-the-lens-campanile`, and the taos-engine viewer work).
## Mechanism (what this bead does) - **Frames** the three navigation paradigms (orbit/examine, fly/walk, object-edit) and a big cross-industry synonym map: [notes/00-goal-and-taxonomy.md](2026-06-17/notes/00-goal-and-taxonomy.md). - **Catalogs three.js** controls classes and the runtime-switch pattern: [notes/01-threejs-controls.md](2026-06-17/notes/01-threejs-controls.md). - **Catalogs CesiumJS** camera + ScreenSpaceCameraController: [notes/02-cesiumjs-camera.md](2026-06-17/notes/02-cesiumjs-camera.md). - **Catalogs Mapbox GL JS + MapLibre GL JS** 3D camera, handlers, FreeCamera: [notes/03-mapbox-maplibre.md](2026-06-17/notes/03-mapbox-maplibre.md). - **Catalogs CAD / DCC / game engines** terminology + default bindings + the SpaceMouse: [notes/04-cad-dcc-game-engines.md](2026-06-17/notes/04-cad-dcc-game-engines.md). - **Catalogs game engines** (Godot, PlayCanvas, Unity + Unreal runtime player controllers): [notes/05-game-engines.md](2026-06-17/notes/05-game-engines.md). - **Catalogs sandbox / avatar games** (Minecraft, Roblox) and how they invert editor conventions: [notes/06-sandbox-games.md](2026-06-17/notes/06-sandbox-games.md). - **Synthesizes** the design space for our ecology AND documents the controls of every app built in the last ten days: [notes/07-ecology-synthesis-and-our-apps.md](2026-06-17/notes/07-ecology-synthesis-and-our-apps.md).
## Folder Layout - `about.md` (this), `README.md` (front door). - `2026-06-17/notes/` — 00 taxonomy, 01 three.js, 02 Cesium, 03 Mapbox/MapLibre, 04 CAD/DCC/game, 05 game engines (Godot/PlayCanvas/Unity/Unreal runtime), 06 sandbox games (Minecraft/Roblox), 07 ecology synthesis + our apps. - `2026-06-17/chats/` — verbatim chat log. - `uploads/` — inbound dock.
## Mounts (read) - [`74c30681` `#image-pose-uxui`](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/about.md) — the calibration app build whose viewer needs camera-control choices. - [`a55f5270` `#nuke-geo-camera`](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/about.md) — the (pose+intrinsics+distortion+time) camera tuple; navigation is the user-facing side of that tuple. - [`7610bb17` `#through-the-lens-campanile`](https://redfish.acequia.io/guerin/.agents/7610bb17-52c1-4e5b-991b-16d61e06ed46/about.md) — through-the-lens camera control lineage (Gleicher-Witkin), the research sibling. - `c66cbd1d` **taos-engine** — the WebGPU viewer engine these conventions inform (incident-viewer chase-cam, ants/fire apps). Cite by GUID; resolve under `guerin/.agents/`.
## Session Log - **2026-06-17** — Opened. Ran four parallel web-research sweeps (three.js, Cesium, Mapbox/MapLibre, CAD/DCC/game). Wrote the taxonomy note + four library/industry catalog notes. Synced. - **2026-06-17 (cont.)** — Added notes 05 (Godot, PlayCanvas, Unity + Unreal runtime) and 06 (Minecraft, Roblox). Investigated the ecology's apps from the last ten days (ants/fire-in-taos, incident-viewer, storm-event, bonobo, snow-globe) from live source, then wrote note 07: design-space synthesis + per-app control documentation + consolidation recommendations. Surfaced a memory correction (incident-viewer chase-cam is Shift+T, not T). Re-synced.
## Modus Operandi (how to interact) - `#3d-mouse-keyboard-camera-controls` to read; `@3d-mouse-keyboard-camera-controls` (PUT into `uploads/`) to message. - Reference / survey bead. Source URLs are cited inline in each note. No code shipped here; build sites cite this.
## Capabilities - Tells you, for a given library, which controls classes exist, their default mouse/keyboard bindings, and how to switch at runtime. - Tells you what a given navigation mode is called in another tool's vocabulary (orbit = tumble = examine, etc.).
## Lifecycle Reference bead; persists while the viewer / calibration / camera threads cite it. Sync via `/bead-sync`.
## Limitations - Survey as of 2026-06-17. Library defaults drift across versions; the notes flag known version splits (e.g. Mapbox maxPitch 85 vs MapLibre 60; three.js FirstPersonControls `activeLook` removal). Verify against the cited docs before depending on an exact binding.
## References (bead cross-links) - Bead: Image Pose Uxui · [canonical](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/) - Bead: Nuke Geo Camera · [canonical](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/) - Bead: Through The Lens Campanile · [canonical](https://redfish.acequia.io/guerin/.agents/7610bb17-52c1-4e5b-991b-16d61e06ed46/)
See all: Beads