chore: freeze guide and explain update

This commit is contained in:
lyf
2026-06-24 18:00:25 +08:00
parent feb7310a46
commit 67c6609ae6
104 changed files with 3203572 additions and 40713 deletions

View File

@@ -23,6 +23,21 @@ export interface MuseumPoi {
accessible: boolean
}
export type GuideLocationResolutionStatus = 'exact' | 'hallFallback' | 'candidate' | 'unavailable'
export interface GuideLocationResolution {
status: GuideLocationResolutionStatus
poiId?: string
sourcePoiId?: string
actionText: string
previewOnly: boolean
confidence?: string
method?: string
floorId?: string
floorLabel?: string
note?: string
}
export interface MuseumHall {
id: string
name: string
@@ -33,6 +48,7 @@ export interface MuseumHall {
exhibitCount?: number
area?: string
poiId?: string
location?: GuideLocationResolution
}
export interface MuseumExhibit {
@@ -45,11 +61,21 @@ export interface MuseumExhibit {
image?: string
description?: string
poiId?: string
sourcePoiId?: string
location?: GuideLocationResolution
artist?: string
year?: string
material?: string
size?: string
tags?: string[]
guideContentId?: string
guideTitle?: string
guideText?: string
audioUrl?: string
audioDuration?: number
audioAvailable?: boolean
playTargetType?: AudioPlayTargetType
playTargetId?: string
}
export interface GuideLocationPreview {
@@ -88,6 +114,56 @@ export interface GuideRouteReadiness {
requiredData: string[]
}
export interface GuideRouteTarget {
poiId: string
name: string
floorId: string
floorLabel: string
categoryLabel?: string
positionGltf?: [number, number, number]
routeNodeId: string
}
export interface GuideRoutePoint {
nodeId: string
floorId: string
position: [number, number, number]
}
export interface GuideRouteFloorSegment {
floorId: string
floorLabel: string
points: GuideRoutePoint[]
}
export interface GuideRouteConnectorPoint {
nodeId: string
floorId: string
floorLabel: string
position: [number, number, number]
connectorType?: string
}
export interface GuideRouteEndpoint {
poiId: string
name: string
floorId: string
floorLabel: string
routeNodeId: string
position: [number, number, number]
}
export interface GuideRouteResult {
id: string
start: GuideRouteEndpoint
end: GuideRouteEndpoint
distanceMeters: number
nodeIds: string[]
points: GuideRoutePoint[]
floorSegments: GuideRouteFloorSegment[]
connectorPoints: GuideRouteConnectorPoint[]
}
export interface MediaAsset {
id: string
type: 'audio' | 'image' | 'transcript'
@@ -98,6 +174,8 @@ export interface MediaAsset {
unavailableReason?: string
}
export type AudioPlayTargetType = 'ITEM' | 'STOP'
export interface ExplainTrack {
id: string
exhibitId?: string
@@ -107,8 +185,12 @@ export interface ExplainTrack {
mediaId?: string
coverImage?: string
poiId?: string
sourcePoiId?: string
location?: GuideLocationResolution
floorId?: string
available: boolean
playTargetType?: AudioPlayTargetType
playTargetId?: string
}
export interface SearchIndexItem {