恢复空间标签层级与模型锚点
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
cxk
2026-07-20 08:56:03 +08:00
parent 298e7d7606
commit 3cc0336806
6 changed files with 223 additions and 80 deletions

View File

@@ -7,6 +7,9 @@ import type {
import type {
MuseumPoi
} from '@/domain/museum'
import {
getPoiDisplayPolicy
} from '@/domain/poiDisplay'
import {
dataSourceConfig
} from '@/config/dataSource'
@@ -56,18 +59,25 @@ const getNow = () => (
: Date.now()
)
const toRenderPoi = (poi: StaticNavPoiPayload): GuideRenderPoi => ({
id: poi.id,
name: poi.name,
floorId: poi.floorId,
primaryCategory: poi.primaryCategory,
primaryCategoryZh: poi.primaryCategoryZh,
iconType: poi.iconType || poi.primaryCategory,
positionGltf: poi.positionGltf,
sourceObjectName: poi.sourceObjectName,
kind: poi.primaryCategory === 'touring_poi' ? 'hall' : 'facility',
hallName: poi.primaryCategory === 'touring_poi' ? poi.name : undefined
})
const toRenderPoi = (poi: StaticNavPoiPayload): GuideRenderPoi => {
const kind = poi.primaryCategory === 'touring_poi' ? 'hall' : 'facility'
return {
id: poi.id,
name: poi.name,
floorId: poi.floorId,
primaryCategory: poi.primaryCategory,
primaryCategoryZh: poi.primaryCategoryZh,
iconType: poi.iconType || poi.primaryCategory,
positionGltf: poi.positionGltf,
sourceObjectName: poi.sourceObjectName,
kind,
hallName: poi.primaryCategory === 'touring_poi' ? poi.name : undefined,
displayPolicy: getPoiDisplayPolicy({
primaryCategory: poi.primaryCategory,
kind
})
}
}
const toGuideRenderPoi = (poi: MuseumPoi): GuideRenderPoi => ({
id: poi.id,
@@ -84,7 +94,11 @@ const toGuideRenderPoi = (poi: MuseumPoi): GuideRenderPoi => ({
spaceId: poi.spaceId,
sourcePlaceId: poi.sourcePlaceId,
sourceSpaceId: poi.sourceSpaceId,
entrances: poi.entrances
entrances: poi.entrances,
displayPolicy: poi.displayPolicy || getPoiDisplayPolicy({
primaryCategory: poi.primaryCategory.id,
kind: poi.kind
})
})
const toSgsRenderPoi = (poi: ReturnType<typeof toMuseumPoiFromSgs>) => toGuideRenderPoi(poi)