Navigation quickstart
Run a demo to see how Rotatrix controls a 3D application’s camera and objects. The browser (TypeScript), Python, C++ and C# demos share the same scene and controls. You can explore the scene with a mouse before connecting a device.
Before you start
Section titled “Before you start”For device input, connect a Rotatrix device and start the Rotatrix desktop app. See Rotatrix compatibility for the required version. Keep Rotatrix running while you use the demo.
You can open the hosted browser demo without building anything. To run demos locally, install Node 22.12 or newer and the pnpm version declared in the repository’s package.json, then obtain a source checkout.
Run a demo
Section titled “Run a demo”From the OpenAxis checkout root:
pnpm install --frozen-lockfilepnpm demoChoose 1 Browser, 2 Python, 3 C++, or 4 C# from the menu. The launcher builds the selected demo and starts it; the browser choice opens a local URL. Start Rotatrix separately. Enter q to quit the launcher and stop its demos.
Install the tools needed by your chosen demo before selecting it:
| Demo | Additional requirements | Build and platform details |
|---|---|---|
| Browser (TypeScript) | A browser with WebGL | TypeScript README |
| Python | uv; the launcher prepares a Python 3.11 environment and installs dependencies | Python README |
| C++ | CMake 3.24+, a C++17 compiler and desktop OpenGL | C++ README |
| C# | .NET 8 SDK or newer | C# README |
Rotatrix profile
Section titled “Rotatrix profile”The demo declares the navigation capability. Rotatrix automatically selects the
user’s shared navigation profile; no demo-specific profile import is needed.
The demo-3d-services tag identifies the example but does not select its controls.
Demo controls
Section titled “Demo controls”Focus the demo. With the default shared navigation profile, hold Win (Windows), Ctrl (Mac) or Super (Linux) to orbit; button 4 pans, and Shift swaps orbit/pan. The camera should move while the scene remains visible. These are Rotatrix default-profile bindings, owned by Rotatrix rather than the SDK or demo. Users can customize them; check Rotatrix for active mappings.
Click an object to select it; double-click or press Enter to edit it. With an object selected, camera navigation remains active so you can try a selection-based pivot. Press O to toggle perspective/orthographic projection, R to reset the camera and all objects, U to undo an accepted edit, and D to toggle diagnostics. A green pivot marker appears when the server supplies a pivot. Navigation should continue in both projections and after resizing the window.
Left-drag pans; middle- or right-drag rotates; Shift swaps these actions, and the wheel zooms. In edit mode, left-drag translates, middle/right-drag rotates, and the wheel changes depth. Left-click or Enter accepts; right-click or Esc cancels and restores the object. Both deselect the object. See the object editing recipe for more about editing.
The demo connects to local Rotatrix automatically and reconnects if it restarts.
If nothing moves, confirm Rotatrix is running, the demo has focus, and the active Rotatrix profile has the expected bindings. Then check the connection and use diagnostics to inspect queries and camera writes.
How Navigation works
Section titled “How Navigation works”When you navigate, Rotatrix asks the demo for camera and scene information. The SDK passes those queries to the demo’s integration, which reads its native application state. Rotatrix uses the answers to compute camera or object poses; the integration applies those poses, and the demo renders the result.
The application supplies scene facts and native API access. Rotatrix supplies the navigation behavior, including choosing the pivot around which movement rotates.
Build your integration
Section titled “Build your integration”Continue with the Navigation integration guide to connect the SDK to your application’s camera and scene APIs. It explains the adapter, scene queries, scheduling and setup using the demo source.