驾驶舱进入主场景区后,相机施加区域限位,并用显式状态机控制进/出(2026-09-18 维护者裁定,来源 .scratch/cockpit-primary-area-guardrails/issues/03)。
map.primaryArea.bounds([west, south, east, north] 度,配置显式给出)。未配置或顺序非法时,关闭依赖主场景区的限位与自建雾,并由引擎浮标如实提示(见 .scratch/cockpit-primary-area-guardrails/issues/01)。
primaryArea.bounds;拖拽到边界时允许软回弹 —— target.pivot 可越出最多框短边的 5%(≈550 m,可微调),松手时按既有阻尼弹回框内;shown.pivot 最终回到框内。
.scratch/cockpit-shell-panel-layout/issues/37):该约束只管手动三键(左键平移 / 右键轨道 / 滚轮)。点选/定位到框外对象是例外:中心照常飞到该对象。理由是监测点散布全县(影像 105×122 km)而主场景区只框县城(13.4×11 km),硬夹会把绝大多数点位挡在区外、点选后镜头停在框边而不是点位上。cockpit-primary-area-guardrails/spec.md 早已把这个碰撞记为「待平行图 03 裁决」;该图收口时只裁了 range/高度,故由票 37 提请裁定并落此句。手动拖拽从框外起手时不回弹(否则一按鼠标就会把刚定位到的点位拽回框边)。[120, range_max],range_max = home.range = 12,000 m —— 最远视野 = 归位默认视角(map.home pitch −55 / range 12000,home 预设不改)。PITCH_LIMITS)。h = range·sin|pitch| ≥ 正下方地形 + 10 m,但 h 是相对 pivot 的高度、地形是绝对高程,相减在量纲上不通。字面直译会把沅陵约 111.6 m 的地形高程当成 h 的下限,于是 pitch −55° 时把 120 m 下限顶到 ≈148 m、pitch −5° 时顶到 ≈1.4 km,当场推翻票 30 已验收的「拉到距离下限 120 m 仍能看到地面」。实现按物理含义取「相机绝对高度 ≥ 其正下方地形 + 10 m」,即 range ≥ (terrain + margin − pivot.height)/sin|pitch|;pivot 就在地表时(票 30 起 pivot 高程=实测地形)退化为"至少留 10 m 净空"。mapService.goHome() → cameraControl.applyViewPreset()。0 / −60 / 2×10⁷)+ 地球自转恢复 + 屏幕中央闪烁「点击进入系统」;不重置一级模式/筛选。
.scratch/cockpit-shell-panel-layout/issues/40):闲置阈值由 5 秒改为 10 秒(现场手感);并把「镜头回初始全景」补进本条 —— 原先只写了自转与引导层,实现便只做了那两件,于是回引导态时画面停在用户最后停留的视角上(维护者实报「看不出回到了引导态」)。map.intro.enabled=false(走查自隔离)时按 global 自由视角启动,不弹引导页。range ∈ [400, min(6000, range_max)] = [400, 6,000](因 range_max=12,000 > 6,000,与现状一致);pitch 上下限沿用视图模式。[120, range_max]、管线视图 [400, 6000]、防入地下限三处夹取,最终生效 = 三者交集。areaState: 'locked' | 'global' 进 filterStore(全局视图条件,与 viewMode 同层,切一级模式不重置);mapService 负责状态转移;cameraControl 按状态换 limits(setRangeLimits 与既有 setPitchLimits 对称);10 秒闲置计时器与引导页显隐归 CockpitShell。
range_max = 12,000 m 取代 .scratch/cockpit-primary-area-guardrails/issues/02 的 range_max = 1651/(2·tan(fovY/2))(≈2,542 m)与"15% 垂直覆盖预算"锚点。.scratch/cockpit-primary-area-guardrails/issues/07(以 areaState 与 range_max 为输入)。.scratch/cockpit-primary-area-guardrails/issues/08。.scratch/cockpit-point-locate-and-device-link/issues/03)的 range 上限受 range_max = 12,000 约束。