@ericchen1990/pano-view 3.1.3 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -53,6 +53,11 @@ type HotspotTooltipAppearance = {
53
53
  shadow?: string;
54
54
  padding?: number | string;
55
55
  fontSize?: number | string;
56
+ fontFamily?: CSSProperties["fontFamily"];
57
+ /** Unitless line-height, or a CSS length. */
58
+ lineHeight?: CSSProperties["lineHeight"];
59
+ /** Numbers are CSS pixels. */
60
+ letterSpacing?: CSSProperties["letterSpacing"];
56
61
  };
57
62
  type HotspotCommonProps = {
58
63
  id: string;
@@ -885,21 +890,48 @@ declare function BackgroundAudio({ src, sources, sceneId, playing: controlledPla
885
890
 
886
891
  declare const PANO_FILTER_PRESETS: readonly ["none", "grayscale", "sepia", "vintage", "cool", "warm", "pencil", "coloredPencil", "crayon", "watercolor", "cartoon", "crosshatch"];
887
892
  type PanoFilterPreset = (typeof PANO_FILTER_PRESETS)[number];
893
+ /** Row-major 4×5 RGBA matrix, applied in display (sRGB) space like an SVG color matrix. */
894
+ type PanoColorMatrix = readonly [
895
+ number,
896
+ number,
897
+ number,
898
+ number,
899
+ number,
900
+ number,
901
+ number,
902
+ number,
903
+ number,
904
+ number,
905
+ number,
906
+ number,
907
+ number,
908
+ number,
909
+ number,
910
+ number,
911
+ number,
912
+ number,
913
+ number,
914
+ number
915
+ ];
888
916
 
889
917
  type PanoFilterProps = {
890
918
  /** Built-in look. Defaults to `none` (identity). */
891
919
  preset?: PanoFilterPreset;
892
920
  /** Mix with the original panorama, 0–1. Defaults to 1. */
893
921
  intensity?: number;
922
+ /** Display-space RGBA matrix applied after the artistic preset. */
923
+ colorMatrix?: PanoColorMatrix | null;
924
+ /** `all` also filters hotspot textures. HTML tooltips/chrome remain host-styled. */
925
+ colorMatrixScope?: "panorama" | "all";
894
926
  /** When false, the panorama renders without a filter. Defaults to true. */
895
927
  enabled?: boolean;
896
928
  };
897
929
  /**
898
930
  * Applies a color or artistic filter to the panorama source of the nearest
899
- * PanoViewer. Render one instance as a child of PanoViewer. Hotspots and HTML
900
- * chrome are not filtered.
931
+ * PanoViewer. Render one instance as a child of PanoViewer. colorMatrixScope
932
+ * can include hotspot textures; HTML chrome remains host-styled.
901
933
  */
902
- declare function PanoFilter({ preset, intensity, enabled, }: PanoFilterProps): null;
934
+ declare function PanoFilter({ preset, intensity, enabled, colorMatrix, colorMatrixScope, }: PanoFilterProps): null;
903
935
 
904
936
  type GyroTouchMode = "off" | "horizontaloffset" | "full" | "disablegyro";
905
937
 
@@ -1083,6 +1115,142 @@ type TouchControlsProps = TouchControlsOptions;
1083
1115
  */
1084
1116
  declare function TouchControls({ enabled, rotateSpeed, invert, pinchZoom, }: TouchControlsProps): null;
1085
1117
 
1118
+ type CubeFaceCode = "f" | "r" | "b" | "l" | "u" | "d";
1119
+ type TileAddress = {
1120
+ face: CubeFaceCode;
1121
+ level: number;
1122
+ row: number;
1123
+ col: number;
1124
+ faceSize: number;
1125
+ tileSize: number;
1126
+ width: number;
1127
+ height: number;
1128
+ };
1129
+ type TileMultiresConfig = {
1130
+ tileSize: number;
1131
+ /** Ascending face sizes. The first value maps to l1. */
1132
+ levels: number[];
1133
+ };
1134
+ type TileLoadProgress = {
1135
+ requested: number;
1136
+ loaded: number;
1137
+ failed: number;
1138
+ active: number;
1139
+ queued: number;
1140
+ };
1141
+ type TileLoadError = {
1142
+ address: TileAddress;
1143
+ url: string;
1144
+ error: unknown;
1145
+ };
1146
+ type TileProps = {
1147
+ baseUrl: string;
1148
+ /**
1149
+ * Tile size followed by ascending cube-face sizes (`TILESIZE,LEVELSIZE1,...`).
1150
+ * For krpano output, copy `image.cube.multires` from the XML.
1151
+ */
1152
+ multires: string | TileMultiresConfig;
1153
+ /**
1154
+ * Preview atlas path. Relative paths resolve against `baseUrl`; root-absolute
1155
+ * and `http(s)` / `blob:` / `data:` URLs are used as-is. For krpano output,
1156
+ * copy `<preview url>` (often `preview.jpg` at the scene root). This package's
1157
+ * common cube atlas path is `previews/cube-vertical.webp`.
1158
+ */
1159
+ previewUrl: string;
1160
+ /**
1161
+ * Face order in the vertical preview atlas, from top to bottom. Defaults to
1162
+ * `l/f/r/b/u/d`, matching krpano `preview.striporder` `LFRBUD`.
1163
+ */
1164
+ previewFaceOrder?: readonly CubeFaceCode[];
1165
+ /**
1166
+ * Path relative to `baseUrl`. Defaults to
1167
+ * `tiles/%s/l%l/%v/l%l_%s_%h_%v.webp`. For krpano output, copy `<cube url>`
1168
+ * from the XML; krpano templates often use `%v_%h` instead of this default
1169
+ * `%h_%v`, so omitting `urlTemplate` requests the wrong files. Supports
1170
+ * krpano cube-tile `%s` and `%l` placeholders, horizontal `%h`/`%x`/`%u`/`%c`,
1171
+ * vertical `%v`/`%y`/`%w`/`%r`, and index padding such as `%0h` or `%00v`.
1172
+ */
1173
+ urlTemplate?: string;
1174
+ /** Returns a path relative to `baseUrl`; takes precedence over `urlTemplate`. */
1175
+ resolveTileUrl?: (address: TileAddress) => string;
1176
+ maxTextureMemoryMb?: number;
1177
+ maxConcurrentLoads?: number;
1178
+ retryCount?: number;
1179
+ /**
1180
+ * `preview` loads only the preview atlas; `base` also preloads the visible
1181
+ * lowest-resolution tiles before full-resolution loading begins.
1182
+ */
1183
+ loadMode?: "full" | "preview" | "base";
1184
+ /** Keeps the source mounted for preloading without drawing it. */
1185
+ visible?: boolean;
1186
+ /** Called when the preview atlas is ready for display. */
1187
+ onReady?: () => void;
1188
+ /** Called when the preview atlas cannot be loaded. */
1189
+ onPreviewError?: (error: unknown) => void;
1190
+ onLoadProgress?: (progress: TileLoadProgress) => void;
1191
+ onTileError?: (event: TileLoadError) => void;
1192
+ onLevelChange?: (level: number) => void;
1193
+ };
1194
+
1195
+ type SphereTileLevel = {
1196
+ width: number;
1197
+ height: number;
1198
+ };
1199
+ type SphereTileMultiresConfig = {
1200
+ tileSize: number;
1201
+ /** Ascending image dimensions. The first item maps to level 0. */
1202
+ levels: SphereTileLevel[];
1203
+ };
1204
+ type SphereTileAddress = {
1205
+ /** Zero-based logical level, column and row; URL indices add indexBase. */
1206
+ level: number;
1207
+ col: number;
1208
+ row: number;
1209
+ imageWidth: number;
1210
+ imageHeight: number;
1211
+ tileSize: number;
1212
+ /** Actual tile dimensions, including partial edge tiles. */
1213
+ width: number;
1214
+ height: number;
1215
+ };
1216
+ type SphereTileLoadError = {
1217
+ address: SphereTileAddress;
1218
+ url: string;
1219
+ error: unknown;
1220
+ };
1221
+ type SphereTileProps = {
1222
+ baseUrl: string;
1223
+ /** `512,500x250,1000x500,2000x1000` or explicit ascending dimensions. */
1224
+ multires: string | SphereTileMultiresConfig;
1225
+ /** A 2:1 equirectangular preview, resolved relative to baseUrl. */
1226
+ previewUrl: string;
1227
+ /** Defaults to `tiles/%l/%h_%v.webp`. No tile overlap. */
1228
+ urlTemplate?: string;
1229
+ /** URL indices start at 1 for krpano (default), or 0 for raw Sharp Deep Zoom. */
1230
+ indexBase?: 0 | 1;
1231
+ /** Takes precedence over urlTemplate and indexBase. Receives zero-based addresses. */
1232
+ resolveTileUrl?: (address: SphereTileAddress) => string;
1233
+ /** Horizontal source rotation in degrees. Defaults to 0. */
1234
+ yawOffset?: number;
1235
+ /** Tile cache budget in MiB. Defaults to 128. Preview memory is separate. */
1236
+ maxTextureMemoryMb?: number;
1237
+ /** Defaults to 4. */
1238
+ maxConcurrentLoads?: number;
1239
+ /** Retries after the initial attempt. Defaults to 1. */
1240
+ retryCount?: number;
1241
+ loadMode?: "full" | "preview" | "base";
1242
+ visible?: boolean;
1243
+ /** First paintable preview or tile is ready, even if the preview failed. */
1244
+ onReady?: () => void;
1245
+ onPreviewError?: (error: unknown) => void;
1246
+ onLoadProgress?: (progress: TileLoadProgress) => void;
1247
+ onTileError?: (event: SphereTileLoadError) => void;
1248
+ /** Zero-based selected level. */
1249
+ onLevelChange?: (level: number) => void;
1250
+ };
1251
+
1252
+ declare function SphereTile({ multires, ...props }: SphereTileProps): react.JSX.Element;
1253
+
1086
1254
  type SphereProps = {
1087
1255
  src: string;
1088
1256
  /**
@@ -1170,83 +1338,6 @@ type SceneTransition = SceneTransitionPreset | {
1170
1338
  duration?: number;
1171
1339
  };
1172
1340
 
1173
- type CubeFaceCode = "f" | "r" | "b" | "l" | "u" | "d";
1174
- type TileAddress = {
1175
- face: CubeFaceCode;
1176
- level: number;
1177
- row: number;
1178
- col: number;
1179
- faceSize: number;
1180
- tileSize: number;
1181
- width: number;
1182
- height: number;
1183
- };
1184
- type TileMultiresConfig = {
1185
- tileSize: number;
1186
- /** Ascending face sizes. The first value maps to l1. */
1187
- levels: number[];
1188
- };
1189
- type TileLoadProgress = {
1190
- requested: number;
1191
- loaded: number;
1192
- failed: number;
1193
- active: number;
1194
- queued: number;
1195
- };
1196
- type TileLoadError = {
1197
- address: TileAddress;
1198
- url: string;
1199
- error: unknown;
1200
- };
1201
- type TileProps = {
1202
- baseUrl: string;
1203
- /**
1204
- * Tile size followed by ascending cube-face sizes (`TILESIZE,LEVELSIZE1,...`).
1205
- * For krpano output, copy `image.cube.multires` from the XML.
1206
- */
1207
- multires: string | TileMultiresConfig;
1208
- /**
1209
- * Preview atlas path. Relative paths resolve against `baseUrl`; root-absolute
1210
- * and `http(s)` / `blob:` / `data:` URLs are used as-is. For krpano output,
1211
- * copy `<preview url>` (often `preview.jpg` at the scene root). This package's
1212
- * common cube atlas path is `previews/cube-vertical.webp`.
1213
- */
1214
- previewUrl: string;
1215
- /**
1216
- * Face order in the vertical preview atlas, from top to bottom. Defaults to
1217
- * `l/f/r/b/u/d`, matching krpano `preview.striporder` `LFRBUD`.
1218
- */
1219
- previewFaceOrder?: readonly CubeFaceCode[];
1220
- /**
1221
- * Path relative to `baseUrl`. Defaults to
1222
- * `tiles/%s/l%l/%v/l%l_%s_%h_%v.webp`. For krpano output, copy `<cube url>`
1223
- * from the XML; krpano templates often use `%v_%h` instead of this default
1224
- * `%h_%v`, so omitting `urlTemplate` requests the wrong files. Supports
1225
- * krpano cube-tile `%s` and `%l` placeholders, horizontal `%h`/`%x`/`%u`/`%c`,
1226
- * vertical `%v`/`%y`/`%w`/`%r`, and index padding such as `%0h` or `%00v`.
1227
- */
1228
- urlTemplate?: string;
1229
- /** Returns a path relative to `baseUrl`; takes precedence over `urlTemplate`. */
1230
- resolveTileUrl?: (address: TileAddress) => string;
1231
- maxTextureMemoryMb?: number;
1232
- maxConcurrentLoads?: number;
1233
- retryCount?: number;
1234
- /**
1235
- * `preview` loads only the preview atlas; `base` also preloads the visible
1236
- * lowest-resolution tiles before full-resolution loading begins.
1237
- */
1238
- loadMode?: "full" | "preview" | "base";
1239
- /** Keeps the source mounted for preloading without drawing it. */
1240
- visible?: boolean;
1241
- /** Called when the preview atlas is ready for display. */
1242
- onReady?: () => void;
1243
- /** Called when the preview atlas cannot be loaded. */
1244
- onPreviewError?: (error: unknown) => void;
1245
- onLoadProgress?: (progress: TileLoadProgress) => void;
1246
- onTileError?: (event: TileLoadError) => void;
1247
- onLevelChange?: (level: number) => void;
1248
- };
1249
-
1250
1341
  type SphereScene = {
1251
1342
  id: string;
1252
1343
  type: "sphere";
@@ -1640,4 +1731,4 @@ type PointHotspotDefinition = ImageHotspotDefinition | GraphicHotspotDefinition
1640
1731
  /** A serializable, discriminated hotspot collection item. */
1641
1732
  type HotspotDefinition = PointHotspotDefinition | PolygonHotspotDefinition | PolylineHotspotDefinition;
1642
1733
 
1643
- export { type ArrowGraphic, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, type PanoMediaActivationControls, type PanoMediaActivationOptions, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type RectangleGraphic, type RingGraphic, type Scene, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, resolvePanoContextMenuEntries, unwrapPolygonVertices, usePanoEvents, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
1734
+ export { type ArrowGraphic, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, type PanoMediaActivationControls, type PanoMediaActivationOptions, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type RectangleGraphic, type RingGraphic, type Scene, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, resolvePanoContextMenuEntries, unwrapPolygonVertices, usePanoEvents, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
package/dist/index.d.ts CHANGED
@@ -53,6 +53,11 @@ type HotspotTooltipAppearance = {
53
53
  shadow?: string;
54
54
  padding?: number | string;
55
55
  fontSize?: number | string;
56
+ fontFamily?: CSSProperties["fontFamily"];
57
+ /** Unitless line-height, or a CSS length. */
58
+ lineHeight?: CSSProperties["lineHeight"];
59
+ /** Numbers are CSS pixels. */
60
+ letterSpacing?: CSSProperties["letterSpacing"];
56
61
  };
57
62
  type HotspotCommonProps = {
58
63
  id: string;
@@ -885,21 +890,48 @@ declare function BackgroundAudio({ src, sources, sceneId, playing: controlledPla
885
890
 
886
891
  declare const PANO_FILTER_PRESETS: readonly ["none", "grayscale", "sepia", "vintage", "cool", "warm", "pencil", "coloredPencil", "crayon", "watercolor", "cartoon", "crosshatch"];
887
892
  type PanoFilterPreset = (typeof PANO_FILTER_PRESETS)[number];
893
+ /** Row-major 4×5 RGBA matrix, applied in display (sRGB) space like an SVG color matrix. */
894
+ type PanoColorMatrix = readonly [
895
+ number,
896
+ number,
897
+ number,
898
+ number,
899
+ number,
900
+ number,
901
+ number,
902
+ number,
903
+ number,
904
+ number,
905
+ number,
906
+ number,
907
+ number,
908
+ number,
909
+ number,
910
+ number,
911
+ number,
912
+ number,
913
+ number,
914
+ number
915
+ ];
888
916
 
889
917
  type PanoFilterProps = {
890
918
  /** Built-in look. Defaults to `none` (identity). */
891
919
  preset?: PanoFilterPreset;
892
920
  /** Mix with the original panorama, 0–1. Defaults to 1. */
893
921
  intensity?: number;
922
+ /** Display-space RGBA matrix applied after the artistic preset. */
923
+ colorMatrix?: PanoColorMatrix | null;
924
+ /** `all` also filters hotspot textures. HTML tooltips/chrome remain host-styled. */
925
+ colorMatrixScope?: "panorama" | "all";
894
926
  /** When false, the panorama renders without a filter. Defaults to true. */
895
927
  enabled?: boolean;
896
928
  };
897
929
  /**
898
930
  * Applies a color or artistic filter to the panorama source of the nearest
899
- * PanoViewer. Render one instance as a child of PanoViewer. Hotspots and HTML
900
- * chrome are not filtered.
931
+ * PanoViewer. Render one instance as a child of PanoViewer. colorMatrixScope
932
+ * can include hotspot textures; HTML chrome remains host-styled.
901
933
  */
902
- declare function PanoFilter({ preset, intensity, enabled, }: PanoFilterProps): null;
934
+ declare function PanoFilter({ preset, intensity, enabled, colorMatrix, colorMatrixScope, }: PanoFilterProps): null;
903
935
 
904
936
  type GyroTouchMode = "off" | "horizontaloffset" | "full" | "disablegyro";
905
937
 
@@ -1083,6 +1115,142 @@ type TouchControlsProps = TouchControlsOptions;
1083
1115
  */
1084
1116
  declare function TouchControls({ enabled, rotateSpeed, invert, pinchZoom, }: TouchControlsProps): null;
1085
1117
 
1118
+ type CubeFaceCode = "f" | "r" | "b" | "l" | "u" | "d";
1119
+ type TileAddress = {
1120
+ face: CubeFaceCode;
1121
+ level: number;
1122
+ row: number;
1123
+ col: number;
1124
+ faceSize: number;
1125
+ tileSize: number;
1126
+ width: number;
1127
+ height: number;
1128
+ };
1129
+ type TileMultiresConfig = {
1130
+ tileSize: number;
1131
+ /** Ascending face sizes. The first value maps to l1. */
1132
+ levels: number[];
1133
+ };
1134
+ type TileLoadProgress = {
1135
+ requested: number;
1136
+ loaded: number;
1137
+ failed: number;
1138
+ active: number;
1139
+ queued: number;
1140
+ };
1141
+ type TileLoadError = {
1142
+ address: TileAddress;
1143
+ url: string;
1144
+ error: unknown;
1145
+ };
1146
+ type TileProps = {
1147
+ baseUrl: string;
1148
+ /**
1149
+ * Tile size followed by ascending cube-face sizes (`TILESIZE,LEVELSIZE1,...`).
1150
+ * For krpano output, copy `image.cube.multires` from the XML.
1151
+ */
1152
+ multires: string | TileMultiresConfig;
1153
+ /**
1154
+ * Preview atlas path. Relative paths resolve against `baseUrl`; root-absolute
1155
+ * and `http(s)` / `blob:` / `data:` URLs are used as-is. For krpano output,
1156
+ * copy `<preview url>` (often `preview.jpg` at the scene root). This package's
1157
+ * common cube atlas path is `previews/cube-vertical.webp`.
1158
+ */
1159
+ previewUrl: string;
1160
+ /**
1161
+ * Face order in the vertical preview atlas, from top to bottom. Defaults to
1162
+ * `l/f/r/b/u/d`, matching krpano `preview.striporder` `LFRBUD`.
1163
+ */
1164
+ previewFaceOrder?: readonly CubeFaceCode[];
1165
+ /**
1166
+ * Path relative to `baseUrl`. Defaults to
1167
+ * `tiles/%s/l%l/%v/l%l_%s_%h_%v.webp`. For krpano output, copy `<cube url>`
1168
+ * from the XML; krpano templates often use `%v_%h` instead of this default
1169
+ * `%h_%v`, so omitting `urlTemplate` requests the wrong files. Supports
1170
+ * krpano cube-tile `%s` and `%l` placeholders, horizontal `%h`/`%x`/`%u`/`%c`,
1171
+ * vertical `%v`/`%y`/`%w`/`%r`, and index padding such as `%0h` or `%00v`.
1172
+ */
1173
+ urlTemplate?: string;
1174
+ /** Returns a path relative to `baseUrl`; takes precedence over `urlTemplate`. */
1175
+ resolveTileUrl?: (address: TileAddress) => string;
1176
+ maxTextureMemoryMb?: number;
1177
+ maxConcurrentLoads?: number;
1178
+ retryCount?: number;
1179
+ /**
1180
+ * `preview` loads only the preview atlas; `base` also preloads the visible
1181
+ * lowest-resolution tiles before full-resolution loading begins.
1182
+ */
1183
+ loadMode?: "full" | "preview" | "base";
1184
+ /** Keeps the source mounted for preloading without drawing it. */
1185
+ visible?: boolean;
1186
+ /** Called when the preview atlas is ready for display. */
1187
+ onReady?: () => void;
1188
+ /** Called when the preview atlas cannot be loaded. */
1189
+ onPreviewError?: (error: unknown) => void;
1190
+ onLoadProgress?: (progress: TileLoadProgress) => void;
1191
+ onTileError?: (event: TileLoadError) => void;
1192
+ onLevelChange?: (level: number) => void;
1193
+ };
1194
+
1195
+ type SphereTileLevel = {
1196
+ width: number;
1197
+ height: number;
1198
+ };
1199
+ type SphereTileMultiresConfig = {
1200
+ tileSize: number;
1201
+ /** Ascending image dimensions. The first item maps to level 0. */
1202
+ levels: SphereTileLevel[];
1203
+ };
1204
+ type SphereTileAddress = {
1205
+ /** Zero-based logical level, column and row; URL indices add indexBase. */
1206
+ level: number;
1207
+ col: number;
1208
+ row: number;
1209
+ imageWidth: number;
1210
+ imageHeight: number;
1211
+ tileSize: number;
1212
+ /** Actual tile dimensions, including partial edge tiles. */
1213
+ width: number;
1214
+ height: number;
1215
+ };
1216
+ type SphereTileLoadError = {
1217
+ address: SphereTileAddress;
1218
+ url: string;
1219
+ error: unknown;
1220
+ };
1221
+ type SphereTileProps = {
1222
+ baseUrl: string;
1223
+ /** `512,500x250,1000x500,2000x1000` or explicit ascending dimensions. */
1224
+ multires: string | SphereTileMultiresConfig;
1225
+ /** A 2:1 equirectangular preview, resolved relative to baseUrl. */
1226
+ previewUrl: string;
1227
+ /** Defaults to `tiles/%l/%h_%v.webp`. No tile overlap. */
1228
+ urlTemplate?: string;
1229
+ /** URL indices start at 1 for krpano (default), or 0 for raw Sharp Deep Zoom. */
1230
+ indexBase?: 0 | 1;
1231
+ /** Takes precedence over urlTemplate and indexBase. Receives zero-based addresses. */
1232
+ resolveTileUrl?: (address: SphereTileAddress) => string;
1233
+ /** Horizontal source rotation in degrees. Defaults to 0. */
1234
+ yawOffset?: number;
1235
+ /** Tile cache budget in MiB. Defaults to 128. Preview memory is separate. */
1236
+ maxTextureMemoryMb?: number;
1237
+ /** Defaults to 4. */
1238
+ maxConcurrentLoads?: number;
1239
+ /** Retries after the initial attempt. Defaults to 1. */
1240
+ retryCount?: number;
1241
+ loadMode?: "full" | "preview" | "base";
1242
+ visible?: boolean;
1243
+ /** First paintable preview or tile is ready, even if the preview failed. */
1244
+ onReady?: () => void;
1245
+ onPreviewError?: (error: unknown) => void;
1246
+ onLoadProgress?: (progress: TileLoadProgress) => void;
1247
+ onTileError?: (event: SphereTileLoadError) => void;
1248
+ /** Zero-based selected level. */
1249
+ onLevelChange?: (level: number) => void;
1250
+ };
1251
+
1252
+ declare function SphereTile({ multires, ...props }: SphereTileProps): react.JSX.Element;
1253
+
1086
1254
  type SphereProps = {
1087
1255
  src: string;
1088
1256
  /**
@@ -1170,83 +1338,6 @@ type SceneTransition = SceneTransitionPreset | {
1170
1338
  duration?: number;
1171
1339
  };
1172
1340
 
1173
- type CubeFaceCode = "f" | "r" | "b" | "l" | "u" | "d";
1174
- type TileAddress = {
1175
- face: CubeFaceCode;
1176
- level: number;
1177
- row: number;
1178
- col: number;
1179
- faceSize: number;
1180
- tileSize: number;
1181
- width: number;
1182
- height: number;
1183
- };
1184
- type TileMultiresConfig = {
1185
- tileSize: number;
1186
- /** Ascending face sizes. The first value maps to l1. */
1187
- levels: number[];
1188
- };
1189
- type TileLoadProgress = {
1190
- requested: number;
1191
- loaded: number;
1192
- failed: number;
1193
- active: number;
1194
- queued: number;
1195
- };
1196
- type TileLoadError = {
1197
- address: TileAddress;
1198
- url: string;
1199
- error: unknown;
1200
- };
1201
- type TileProps = {
1202
- baseUrl: string;
1203
- /**
1204
- * Tile size followed by ascending cube-face sizes (`TILESIZE,LEVELSIZE1,...`).
1205
- * For krpano output, copy `image.cube.multires` from the XML.
1206
- */
1207
- multires: string | TileMultiresConfig;
1208
- /**
1209
- * Preview atlas path. Relative paths resolve against `baseUrl`; root-absolute
1210
- * and `http(s)` / `blob:` / `data:` URLs are used as-is. For krpano output,
1211
- * copy `<preview url>` (often `preview.jpg` at the scene root). This package's
1212
- * common cube atlas path is `previews/cube-vertical.webp`.
1213
- */
1214
- previewUrl: string;
1215
- /**
1216
- * Face order in the vertical preview atlas, from top to bottom. Defaults to
1217
- * `l/f/r/b/u/d`, matching krpano `preview.striporder` `LFRBUD`.
1218
- */
1219
- previewFaceOrder?: readonly CubeFaceCode[];
1220
- /**
1221
- * Path relative to `baseUrl`. Defaults to
1222
- * `tiles/%s/l%l/%v/l%l_%s_%h_%v.webp`. For krpano output, copy `<cube url>`
1223
- * from the XML; krpano templates often use `%v_%h` instead of this default
1224
- * `%h_%v`, so omitting `urlTemplate` requests the wrong files. Supports
1225
- * krpano cube-tile `%s` and `%l` placeholders, horizontal `%h`/`%x`/`%u`/`%c`,
1226
- * vertical `%v`/`%y`/`%w`/`%r`, and index padding such as `%0h` or `%00v`.
1227
- */
1228
- urlTemplate?: string;
1229
- /** Returns a path relative to `baseUrl`; takes precedence over `urlTemplate`. */
1230
- resolveTileUrl?: (address: TileAddress) => string;
1231
- maxTextureMemoryMb?: number;
1232
- maxConcurrentLoads?: number;
1233
- retryCount?: number;
1234
- /**
1235
- * `preview` loads only the preview atlas; `base` also preloads the visible
1236
- * lowest-resolution tiles before full-resolution loading begins.
1237
- */
1238
- loadMode?: "full" | "preview" | "base";
1239
- /** Keeps the source mounted for preloading without drawing it. */
1240
- visible?: boolean;
1241
- /** Called when the preview atlas is ready for display. */
1242
- onReady?: () => void;
1243
- /** Called when the preview atlas cannot be loaded. */
1244
- onPreviewError?: (error: unknown) => void;
1245
- onLoadProgress?: (progress: TileLoadProgress) => void;
1246
- onTileError?: (event: TileLoadError) => void;
1247
- onLevelChange?: (level: number) => void;
1248
- };
1249
-
1250
1341
  type SphereScene = {
1251
1342
  id: string;
1252
1343
  type: "sphere";
@@ -1640,4 +1731,4 @@ type PointHotspotDefinition = ImageHotspotDefinition | GraphicHotspotDefinition
1640
1731
  /** A serializable, discriminated hotspot collection item. */
1641
1732
  type HotspotDefinition = PointHotspotDefinition | PolygonHotspotDefinition | PolylineHotspotDefinition;
1642
1733
 
1643
- export { type ArrowGraphic, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, type PanoMediaActivationControls, type PanoMediaActivationOptions, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type RectangleGraphic, type RingGraphic, type Scene, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, resolvePanoContextMenuEntries, unwrapPolygonVertices, usePanoEvents, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
1734
+ export { type ArrowGraphic, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, type PanoMediaActivationControls, type PanoMediaActivationOptions, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type RectangleGraphic, type RingGraphic, type Scene, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, resolvePanoContextMenuEntries, unwrapPolygonVertices, usePanoEvents, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };