OptionaldataDataObject id of the space, e.g. an IfcSpace global id.
Same provenance as SpaceGraphNode.dataObjectId.
OptionaldwellMilliseconds the playback engine should sit at this waypoint
before moving on. Defaults to CameraTourPlanOptions.dwellMs
on in-space stops; 0 on portal transits.
OptionalfovOptional per-waypoint vertical field-of-view override
(degrees). When undefined, playback keeps the View's
current FOV.
OptionallabelHuman-readable label inherited from the space, for narration overlays / progress HUDs.
Camera look-at point, world coords.
Camera eye position, world coords.
OptionalspaceId of the SpaceGraphNode the waypoint sits inside,
when the waypoint is an in-space stop. undefined for
portal-transit waypoints inserted by the smoother.
Always present for in-space stops regardless of whether the
source space has a renderable SceneObject (synthesised
IfcSpaces and geometry-fallback rooms have none, but they
always have a SpaceGraphNode id) — use this as the
"is this a planned stop?" test in onWaypointEnter. To pick
back into the source model, use dataObjectId (IFC
GUID for IFC sources, undefined for geometry-fallback rooms).
Camera up vector, world coords.
One discrete stop on a CameraTour. The full Camera state (
position/look/up), plus tour-level metadata (dwell time, label, source space) so playback narration and pickback to the source model work out of the box.Waypoints alternate between two roles in a played tour:
spaceIdpopulated, camera dwells fordwellMsso the viewer can absorb the room.spaceId === undefined, generated automatically by the smoother on cross-portal edges so the camera threads the door instead of clipping the wall.