docs: record SGS hall POI visibility audit

This commit is contained in:
lyf
2026-06-30 02:21:23 +08:00
parent 24699d2978
commit a934e1e3bb

View File

@@ -0,0 +1,54 @@
# Task 4: Confirm floor-mode hall POI visibility — Implementation Report
## Status
**DONE**
## Summary
Source inspection confirms floor mode already prevents hall POI hiding via distance/limit pruning. No code change required.
## Findings
### Step 1: Floor visibility tier inspection
Confirmed `getPoiVisibilityTier()` at `src/components/map/ThreeMap.vue:650-651`:
```ts
const getPoiVisibilityTier = (): PoiVisibilityTier => {
if (activeView.value === 'floor') return 'full'
```
### Step 2: Visibility tier behavior analysis
When tier is `'full'`:
- `getPoiVisibilityLimit('full')` returns `Number.POSITIVE_INFINITY`.
- `getPoiScreenSpacing('full')` returns `0`.
### Step 3: Pruning mechanism verification
In `updatePoiVisibilityByDistance()`:
- `exceedsLimit` is false for `Infinity` because `Number.isFinite(Infinity)` is false.
- `isTooClose` is false when spacing is 0.
- `exhibition_hall` and `exhibition_hall_entrance` are in `corePoiCategories`.
### Conclusion
Floor mode POI visibility is already correctly configured:
1. Distance pruning is disabled.
2. Count pruning is disabled.
3. Hall POIs pass category checks.
4. Selected/focused POIs always show.
No code modification needed.
## Files Inspected
- `src/components/map/ThreeMap.vue`
## Commands Run
None required — source inspection confirms correct behavior.
## Commits Created
None — no code changes.
## Self-Review
- Floor mode already returns `'full'` visibility tier.
- `'full'` tier prevents both distance and count pruning.
- Hall POIs are included in `corePoiCategories`.
- Logic is correct and no defensive guard is needed.
## Concerns
None.