> ## Documentation Index
> Fetch the complete documentation index at: https://docs.borntocraftstudio.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Vision Activities

> AI activities for detecting players using Sight and Patrols.

Advanced AI behaviors for scanning fields of view and patrolling.

## Activity Library

<CardGroup cols={2}>
  <Card title="Static Vision" icon="eye" href="#visibility-detection-activity">
    Stationary scanning (Field of View).
  </Card>

  <Card title="Patrol Vision" icon="route" href="#patrol-visibility-detection-activity">
    Scan while walking a path.
  </Card>

  <Card title="Random Wander" icon="shuffle" href="#random-patrol-visibility-detection-activity">
    Scan while wandering randomly.
  </Card>

  <Card title="Spin Vision" icon="arrows-spin" href="#spin-visibility-detection-activity">
    Scan while spinning 360°.
  </Card>

  <Card title="Target Chase" icon="crosshairs" href="#path-visibility-detection-activity">
    Scan while moving to target.
  </Card>

  <Card title="Look At" icon="face-viewfinder" href="#look-close-visibility-detection-activity">
    Scan while tracking players.
  </Card>
</CardGroup>

## Configuration

### `visibility_detection_activity`

Base activity for scanning for players within a cone or sphere.

<ResponseField name="radius" type="Double" default="10.0">
  Max view distance.
</ResponseField>

<ResponseField name="fov" type="Double" default="90.0">
  Field of View angle (degrees).
</ResponseField>

<ResponseField name="shape" type="VisionShape" default="CONE">
  Detection shape: `CONE` or `SPHERE`.
</ResponseField>

<ResponseField name="showDisplay" type="Boolean" default="false">
  Debug: Visualize the view cone (Client-side).
</ResponseField>

### `patrol_visibility_detection_activity`

Patrols a road network while scanning.

<ResponseField name="roadNetwork" type="RoadNetworkEntry">
  The path to patrol.
</ResponseField>

<ResponseField name="nodeIds" type="List<Int>">
  Specific nodes to visit.
</ResponseField>

### `spin_visibility_detection_activity`

Spins the NPC while scanning.

<ResponseField name="duration" type="Duration" default="2s">
  Time for one full rotation.
</ResponseField>

<ResponseField name="axis" type="SpinAxis" default="YAW">
  Axis: `YAW` (horizontal) or `PITCH` (vertical).
</ResponseField>

### `look_close_visibility_detection_activity`

Stares at nearby entities while scanning.

<ResponseField name="lookRange" type="Double" default="5.0">
  Distance to start tracking heads.
</ResponseField>

## Example

<CodeGroup>
  ```yaml Sentry Turret theme={null}
  spin_visibility_detection_activity:
    duration: 5s
    radius: 20
    fov: 45
    triggers:
      - sound_action:
          sound: BLOCK_NOTE_BLOCK_PLING
  ```
</CodeGroup>
