# CameraPath
> Defines a path of waypoints for smooth camera movement during cutscenes.
`gg.lode.lecternapi.api.cutscene.CameraPath`
---
## Signature
```java
public final class CameraPath
```
---
## Overview
CameraPath holds a list of waypoints and an interpolation mode. The client interpolates camera position and rotation between waypoints based on their tick timing.
Camera paths are typically created via `Cutscene.Builder.cameraPath()`:
```java
Cutscene.builder("flyover")
.cameraPath(path -> path
.waypoint(Vec.of(0, 100, 0), 0, 90, 0, 0) // Start: tick 0
.waypoint(Vec.of(50, 100, 50), 45, 80, 0, 40) // Mid: tick 40
.waypoint(Vec.of(100, 80, 100), 90, 70, 0, 80) // End: tick 80
.interpolation(CameraInterpolation.CATMULL_ROM))
.build();
```
---
## Constructor
```java
public CameraPath(List<CameraWaypoint> waypoints, CameraInterpolation interpolation)
```
| Parameter | Type | Description |
|---|---|---|
| `waypoints` | `List<CameraWaypoint>` | Ordered list of waypoints. |
| `interpolation` | `CameraInterpolation` | The interpolation method. |
---
## Methods
### getWaypoints
```java
public List<CameraWaypoint> getWaypoints()
```
**Returns:** The list of waypoints defining this path.
---
### getInterpolation
```java
public CameraInterpolation getInterpolation()
```
**Returns:** The interpolation mode used between waypoints.
---
## Related Pages
- [[Cutscene]] — Parent builder
- [[CameraWaypoint]] — Individual waypoints
- [[CameraInterpolation]] — Interpolation modes
- [[Vec]] — Position helper