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

@@ -13,6 +13,7 @@ export interface GuideModelFloorAsset {
label: string
order: number
modelUrl: string
sharedModelAsset?: boolean
}
export interface GuideModelRenderPackage {

View File

@@ -1,11 +1,15 @@
import type {
GuideRouteReadiness
} from '@/domain/museum'
export const NAV_ROUTE_GRAPH_READY = false
export const NAV_ROUTE_UNAVAILABLE_MESSAGE = '正式路线数据尚未接入,可先查看馆内三维位置'
export const NAV_ROUTE_UNAVAILABLE_MESSAGE = '当前支持位置预览、三维位置预览与室外入口参考'
export const NAV_ROUTE_READINESS = {
export const NAV_ROUTE_READINESS: GuideRouteReadiness = {
ready: NAV_ROUTE_GRAPH_READY,
message: NAV_ROUTE_UNAVAILABLE_MESSAGE,
requiredData: ['route_graph', 'nav_data']
} as const
}
export const NAV_ASSET_BASE_URL = '/static/nav-assets/app_nav_assets_v2_clean_20260611_093623'
export const NAV_ASSET_BASE_URL = '/static/nav-assets/codex_nav_20260621_175310_museum_default_centerline_finalxy'

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 {