Type: prototype Status: resolved Labels: wayfinder:prototype Blocked by: 01,05,07
维护者已在实际场景观看影像交接原型,反馈“基本上没问题,可以算原型基本验收完毕”。本票按方案决策与原型观感范围 resolved:选用先隐藏精细层、雾先保护、再渐显影像,返回反向交接的方案;不等于正式功能完成、全路径零跳变或性能已达标。
下一步:正式实施按 Answer 的三条反馈调快进出雾气变化、校成冷白灰而非绿色,并使返回全球的镜头高度变化与雾气模糊同步;保留影像先收起、保护不断档的顺序。实施时还须核查目标瓦片、矩形内部 LOD 换级、异常降级和 P95 帧耗时增幅 ≤15%。三项反馈未给精确数值,交由实施调校与维护者复核,不把原型参数当成最终数值。依项目规则本轮未运行 build/dev 或浏览器调试,目视结论来自维护者反馈。
按甲方判据(Q5=B)——「从全球飞到县城视角的全过程不出现肉眼可辨的方形色块跳变」,选出一套手段组合并给出可实施的判定。
调研 05 已查明两条硬约束:① 矩形边缘是 GLSL step() 硬切,引擎零羽化、零交叉淡入,任何渐显都得手写;② 跳变有两类——(a) 矩形首批瓦片到位时整体出现,(b) 矩形内部被地形 LOD 牵着逐级换挡。甲方已确认 (b) 类也纳入判据,并允许「边界羽化 / 渐变遮罩」这类碰 shader 的手段。
候选手段(按成本从低到高):
minimumTerrainLevel 硬门——"太远就不显示精细层",最省的近似闸门,但是硬开关;ImageryLayer.alpha 整层渐显——能消除 (a) 类的"整体出现",但羽化不了边缘,也治不了 (b) 类(整层 alpha 无法只淡"新到的那一级");要裁决的:
Globe 材质、还是复用 07 那条 depth 后处理级(把"距离"换成"到矩形的距离")?与 ADR 0004「不接管 Cesium 场景」是否相容?建议做法:先出一版最小原型(改 alpha 曲线 + 一个边界羽化的最小 shader 挂点,不做美化),交给甲方目视判断;原型结论落票面 ## Answer,不作为正式实现进仓。
维护者在真实驾驶舱场景目视后反馈:“基本上没问题,可以算原型基本验收完毕”。本票采用 B:地物距离雾先形成保护,再渐显精细影像;返回采用反向交接。全球/引导态保留粗底图、隐藏精细层;进入可以在精细层不可见时预取;目标瓦片未准备好不揭示影像。雾失效时业务可用优先,提示降级并渐显精细层,但不承诺完全遮边。取消、返回及再次进入只认最新目标,过期渐显或撤雾不得生效。原型 A(现状直显)与 C(接近后渐显)保留作对照,不作为本票选定方案。
正式实施必须处理维护者指出的三项问题:
#bdcdd6 是旧原型已确认默认初值,不等于这次实际场景的最终色;实施时以本次色相反馈校准并请维护者复核最终值,18/42 km 距离端点未在本次反馈中变更。本次仅通过方案决策/原型观感,不宣称生产实现已满足从全球到县城全程无可辨方块。真实保护成立不等于 stage ready、雾强度或相机距边界单一指标;globe.tilesLoaded 也不证明目标视野逐像素就绪。矩形内部随地形 LOD 逐级换挡不能靠整层 alpha 修复,若正式实现中肉眼可辨,须另做局部过渡或在不接管 Cesium 场景的边界内评估 shader 羽化,预烘焙中精度层仅作更高成本兜底。目标瓦片失败和雾失效的可用性、透明对象可读性、首次启用卡顿及同条件 P95 帧耗时增幅 ≤15% 仍是实施验收项,均未由本票原型证明。
维护者在选择 B(仅地物距离雾)、指出进入遮挡过晚后,确认“采用上述推荐方案”。采用视距雾气的实现规格记录的“精细影像先隐藏 → 雾先形成保护 → 精细影像渐显”,返回全球采用反向交接。本节是当时的方向记录;本票后续的原型观感验收见 Answer 首节,不代表正式功能已实施。
维护者答复 Q1=A、Q2=A、Q3=A、Q4=A:
逻辑见 prototypes/prototype-coarse-to-fine-transition.html 的 Transition.reduce。页面只负责按钮。
维护者要求在实际场景观察,因此在原有单文件逻辑原型之外,新增 src/modules/cockpit/prototypes/TransitionPrototype.vue 与 transition-prototype-scene.js,并通过 src/pages/cockpit/index.vue 的 DEV query 显式接入现有 /cockpit。普通应用按仓库已有 yarn dev 启动,打开其实际地址的 /#/cockpit?transitionPrototype=1&variant=B;variant=A 和 variant=C 为对照,同一路由底栏左右箭头或键盘左右键切换。不要同时启用其它原型 query。
B 复用已有仅地物距离雾 stage,进入时渐入雾,图层 alpha=0 时保留挂载供加载,满足粗判才用 900 ms 渐显。当前原型的返回演示先把精细层收至 0,再撤雾并让镜头返回全球;维护者已指出此时高度与雾气模糊应同步,故正式实现不能照搬这一等待顺序,须以 Answer 首节的同步要求和连续保护为准。A 保留现状作为方块对照,C 只在接近时渐显。卸载还原图层原 alpha/show 与内置雾。相机距影像矩形边缘 38 km、20 km 高度门控与 globe.tilesLoaded 只是原型初值和代理信号,不是已验收的保护/瓦片就绪契约。本 agent 未运行开发服务器、构建或浏览器走查;维护者已提供目视反馈,原型方案基本通过,生产运行质量仍待验收。
维护者选择视距雾气的实现规格的 B(仅地物距离雾),反馈颜色与距离基本没有问题,但进入演示的雾出现过晚,未能及时遮挡矩形边缘。B 不包含天空/地平线背景着色,也不包含 C 的太阳方向微调。
本票后续必须验证“矩形边缘首次可能可见”与“保护已成立”之间的先后关系。当前雾原型只有 60/20 km 高度门控,未控制精细影像层交接;不能直接把这套进入参数当成达标手段。
初次登记时为候选;维护者随后确认“采用上述推荐方案”,已写入 Answer 的方向记录。保持现有依赖,不创建反向阻塞,也不将方案获选当作进入过渡已修复。本轮已 claimed,只为开始第 1 轮澄清。
方向已锁,不重开。下列四项会改变原型形状,未答复前不写原型:
维护者答复 Q1=A、Q2=A、Q3=A、Q4=A。逻辑原型已放到 prototypes/prototype-coarse-to-fine-transition.html。脚本核对了八条状态走查:保护未成立时变亮被拒绝;先收影像再撤雾不记边缘露出;先撤雾、雾失败后变亮、无雾变亮会记成可能露出。该记录只描述第一阶段;实际场景原型随后已获维护者基本目视认可,见 Answer 首节。本轮未跑 build/dev。
维护者反馈:“基本上没问题,可以算原型基本验收完毕”,同时要求后续具体执行注意:进入和返回时雾气变换速度再快一点,雾为偏冷白灰而非绿色,返回全球时高度和雾气模糊同步应用。将反馈记录为本票决策与原型观感验收,不误记成正式功能或性能验收。执行细则与保留的技术风险已归并到 Answer 首节;本票 resolved。
可丢弃原型源文件目前仍在共享工作区,/cockpit 入口还含其它尚未独立归档的原型接线;本轮未切分支或提交,以免把并行改动混入证据。后续整理时将本票原型与其入口补丁单独保存在 throwaway 分支并留下分支指针,正式实现只吸收获确认的交接决策,不把原型代码直接当生产实现。