Kirra’s 3D view is a Three.js-powered 3D visualisation that renders blast holes, surfaces, KAD drawings, and GeoTIFF imagery in full 3D. It shares the same coordinate space as the 2D canvas – no Z scaling or elevation transform is applied.
Click the 2D/3D toggle button in the top bar to switch views. The 3D view uses the same data and coordinate system as 2D, but allows orbiting, elevation viewing, and surface draping.
| Action | Control |
|---|---|
| Pan | Click and drag (default mode) |
| Orbit | Alt + drag |
| Camera roll | Alt + Shift + drag |
| Zoom | Scroll wheel – zooms towards the mouse cursor position at the data Z centroid |
| Context menu | Right-click |
The Orbit Focus tool changes the orbit centre to any point you click in the 3D scene. By default, orbiting rotates around the centroid of all loaded data. With Orbit Focus, you can click on a specific blast hole, surface feature, or drawing to set that point as the new rotation centre.
The orbit centre persists until you click a new position or reset the view.
The 3D Settings button opens a dialog for configuring Three.js rendering options. Available settings include:
| Setting | Description |
|---|---|
| Renderer | Choose between different Three.js renderer modes (V1, V2, Performance) |
| LOD Override | Override the level-of-detail system for surface rendering |
| Instanced Holes | Use GPU instancing for blast hole rendering (better performance with large patterns) |
| Simplification | 3D mesh simplification threshold |
The Section Plane tool slices all 3D geometry along a user-defined plane, revealing internal structure.
3D selection uses a fat ray cast (cylinder) from the camera through the mouse position to infinity. This provides screen-space selection similar to the 2D canvas.
In 3D, polygon selection works in screen space:
The 3D view uses the same centroid-shifted coordinate space as the 2D canvas:
Large UTM coordinates are shifted by subtracting the data centroid to maintain floating-point precision. The same XY transform used in 2D is applied in 3D – no scaling is performed.