The Foundry TourStep data fields SoHL reuses verbatim. Kept as a local interface (rather than importing Foundry types) so this module stays Foundry-free and passes the logic-layer purity harness.

interface TourStepBase {
    content: string;
    id: string;
    restricted?: boolean;
    selector?: string;
    spotlight?: string;
    title: string;
    tooltipDirection?: string;
}

Hierarchy (View Summary)

Properties

content: string

Raw HTML body (localization key or literal), split on newlines.

id: string

Machine-friendly id, unique within the tour.

restricted?: boolean

Whether the step is GM-only.

selector?: string

CSS selector of the element to highlight; centered if omitted.

spotlight?: string

CSS selector of an element to spotlight (ring with the fade "hole") while the step's card stays centered and stable — unlike selector, which anchors the card to the target via Foundry's shared tooltip. Use this to point at an element that itself has hover-tooltips or re-renders (a sidebar tab, a directory button): the card can't be hijacked or lost because it isn't tooltip-anchored, yet the target is still clearly indicated. Ignored when selector is set.

title: string

Tooltip header (localization key or literal).

tooltipDirection?: string

Preferred tooltip direction relative to the target.