恢复空间标签层级与模型锚点
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

@@ -0,0 +1,37 @@
import { describe, expect, it } from 'vitest'
import {
getPoiDisplayPolicy,
isPoiVisibilityTierAtLeast
} from '@/domain/poiDisplay'
describe('POI 显示策略', () => {
it('空间点位初始总览保留 marker但不进入环境标签层', () => {
const policy = getPoiDisplayPolicy({
primaryCategory: 'space_public_area',
kind: 'space'
})
expect(policy.labelVisible).toBe(false)
expect(policy.minMarkerTier).toBe('tight')
expect(policy.allowOverview).toBe(true)
expect(policy.allowMulti).toBe(true)
expect(policy.minLabelTier).toBe('full')
})
it('展厅和服务设施拥有不同优先级与标签密度策略', () => {
const hall = getPoiDisplayPolicy({ primaryCategory: 'exhibition_hall', kind: 'hall' })
const service = getPoiDisplayPolicy({ primaryCategory: 'business_poi', kind: 'facility' })
expect(hall.labelVisible).toBe(true)
expect(hall.minLabelTier).toBe('tight')
expect(hall.priority).toBeGreaterThan(service.priority)
expect(service.minLabelTier).toBe('full')
})
it('LOD tier 按 tight 到 full 单调放宽', () => {
expect(isPoiVisibilityTierAtLeast('tight', 'tight')).toBe(true)
expect(isPoiVisibilityTierAtLeast('balanced', 'tight')).toBe(true)
expect(isPoiVisibilityTierAtLeast('balanced', 'full')).toBe(false)
expect(isPoiVisibilityTierAtLeast('full', 'balanced')).toBe(true)
})
})