41 lines
849 B
TypeScript
41 lines
849 B
TypeScript
export interface GuideRenderPoi {
|
|
id: string
|
|
name: string
|
|
floorId: string
|
|
primaryCategory: string
|
|
primaryCategoryZh: string
|
|
iconType: string
|
|
positionGltf?: [number, number, number]
|
|
}
|
|
|
|
export interface GuideModelFloorAsset {
|
|
floorId: string
|
|
label: string
|
|
order: number
|
|
modelUrl: string
|
|
}
|
|
|
|
export interface GuideModelRenderPackage {
|
|
overviewModelUrl: string
|
|
floors: GuideModelFloorAsset[]
|
|
}
|
|
|
|
export interface GuideModelSource {
|
|
loadPackage(): Promise<GuideModelRenderPackage>
|
|
loadFloorPois(floorId: string): Promise<GuideRenderPoi[]>
|
|
}
|
|
|
|
export interface AutoSwitchConfig {
|
|
enabled: boolean
|
|
thresholdLowFactor: number
|
|
thresholdHighFactor: number
|
|
cooldownMs: number
|
|
}
|
|
|
|
export interface AutoSwitchEvent {
|
|
from: 'overview' | 'floor'
|
|
to: 'overview' | 'floor'
|
|
trigger: 'zoom-in' | 'zoom-out'
|
|
distance: number
|
|
}
|