OrbitControls 
OrbitControls is a camera controller that allows you to orbit around a target. It's a great way to explore your scene.
However, it is not part of the core of ThreeJS. So to use it you would need to import it from the three/examples/jsm/controls/OrbitControls module.
Here is where the fancy part begins. ✨ The cientos package provides a component called <OrbitControls /> that is a wrapper of the OrbitControls from the three-stdlib module.
The nicest part? You don't need to extend the catalog or pass any arguments. It just works. 💯
Usage 
vue
<script setup lang="ts">
import { Box, OrbitControls } from '@tresjs/cientos'
import { TresCanvas } from '@tresjs/core'
</script>
<template>
  <TresCanvas clear-color="#82DBC5">
    <TresPerspectiveCamera :position="[3, 3, 3]" />
    <OrbitControls />
    <Box :scale="2">
      <TresMeshToonMaterial color="orange" />
    </Box>
    <TresAmbientLight />
    <TresDirectionalLight
      :position="[0, 2, 4]"
    />
    <TresGridHelper />
  </TresCanvas>
</template>WARNING
Is really important that the Perspective camera is set first in the canvas. Otherwise might break.
Props 
| Prop | Description | Default | 
|---|---|---|
| makeDefault | If true, the controls will be set as the default controls for the scene. | false | 
| camera | The camera to control. | undefined | 
| domElement | The dom element to listen to. | undefined | 
| target | The target to orbit around. | undefined | 
| enableDamping | If true, the controls will use damping (inertia), which can be used to give a sense of weight to the controls. | true | 
| dampingFactor | The damping inertia used if .enableDamping is set to true. | 0.05 | 
| autoRotate | Set to true to automatically rotate around the target. | false | 
| autoRotateSpeed | How fast to rotate around the target if .autoRotate is true. | 2 | 
| enablePan | Whether to enable panning. | true | 
| keyPanSpeed | How fast to pan the camera when the keyboard is used. Default is 7.0 pixels per keypress. | 7.0 | 
| keys | This object contains references to the keycodes for controlling camera panning. Default is the 4 arrow keys. | { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' } | 
| maxAzimuthAngle | How far you can orbit horizontally, upper limit. If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ). Default is Infinity. | Infinity | 
| minAzimuthAngle | How far you can orbit horizontally, lower limit. If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ). Default is - Infinity. | -Infinity | 
| maxPolarAngle | How far you can orbit vertically, upper limit. Range is 0 to Math.PI radians, and default is Math.PI. | Math.PI | 
| minPolarAngle | How far you can orbit vertically, lower limit. Range is 0 to Math.PI radians, and default is 0. | 0 | 
| minDistance | The minimum distance of the camera to the target. Default is 0. | 0 | 
| maxDistance | The maximum distance of the camera to the target. Default is Infinity. | Infinity | 
| minZoom | The minimum field of view angle, in radians. Default is 0. | 0 | 
| maxZoom | The maximum field of view angle, in radians. ( OrthographicCamera only ). Default is Infinity. | Infinity | 
| touches | This object contains references to the touch actions used by the controls. | { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN } | 
| - | - | |
| enableZoom | Whether to enable zooming. | true | 
| zoomSpeed | How fast to zoom in and out. Default is 1. | 1 | 
| enableRotate | Whether to enable rotating. | true | 
| rotateSpeed | How fast to rotate around the target. Default is 1. | 1 | 
Events 
vue
<OrbitControls @change="onChange" @start="onStart" @end="onEnd" />| Event | Description | 
|---|---|
| start | Dispatched when the control starts to change. | 
| change | Dispatched when the control changes. | 
| end | Dispatched when the control ends to change. |