35-city-massing-redo.md 3.5 KB

35: 重做沅陵县城体块模型(修漏顶 / 贴合地形 / 尺度过目)

What to build: 票 34 交付的轻量体块模型被维护者目测否决(漏顶、飘在地形上、尺寸不搭边、 近景不像房屋)。本票按维护者的四条要求重做,目标仍只要求"远景基本达标",但中近景要能辨认出是房屋。

(维护者 2026-09-18 明确:「建议另起票另行执行」。)

Status: ready-for-agent Labels: ready-for-agent

依赖与事实

  • 上一版:票 34(已关闭,Answer 里记了否决理由与根因);生成器在 tools/city-massing/build-town.mjs,回验脚本 tools/city-massing/verify-town.mjs,产物在 D:\GIS\GIS\cityMassing\。素材与工具都在,不是从零开始。
  • 已确认可用的真原料:OSM 真实轮廓(城区内 169 个)与路网、1:5 万居民地面、水系(沅江)、 本地 DEM(yuanlingDEM,量化网格);map.tilesets 通道与三态可见性都已就绪(票 21)。
  • 地理配准链已经是对的(票 34 的坐标回验 8/8 命中),本票不要动它 —— 只修几何与地形贴合。
  • 否决产物当前已从 config.json 移除(map.tilesets 留空),重做达标后再启用。

维护者提出的三条缺陷与本票的验收

  1. 漏顶 + 近景不像房屋
    • 修掉顶面绕序/法线不匹配(或对体块统一 doubleSided,并删掉坡屋顶那段"先 push 再回退"的脏写法)。
    • 顶面在任何视角都完整可见:走查/截图证明没有可以看穿楼体内部的视角(正面 + 俯视 + 侧视)。
    • 楼体加少量细节:分层线(腰线/窗带)、女儿墙或坡屋顶檐口、底层门洞色带之类, 使中近景(≤500 m)能辨认出是房屋;不追求近景细节。
  2. 建筑尺寸与卫星图不搭边
    • 单元尺寸回到真实县城尺度并给出依据(对照卫星图/OSM 轮廓统计:民居 ~8–12 m、 商住 ~12–20 m、大体量 ~30–60 m),尺寸分布要有长尾而不是几种固定尺寸。
    • 排布不要一眼"程序生成":朝向跟路(不要出现整齐网格)、间距有变化、避免大范围同高。
  3. 模型没有贴合地形(明显的 bug)
    • 逐栋按 DEM 采样基准高程(不是 17×17 粗网格插值):每栋取足印若干角点的地形高度, 取最小值作为基准,并向下延伸一段"基础裙边"(埋入地下 3–8 m),使斜坡上也既不悬空也不悬顶。
    • 验证不被地形遮挡的问题已消失:在低视角下,山体前方的楼应被地形正确遮挡 (即"图层压在 Cesium 之上"的现象不再复现)—— 需要一组能证伪的截图/几何断言。
    • 明确深度/遮挡相关设置是否被误改(scene.globe.depthTestAgainstTerrain 等),并在票面记录结论。

附带要求

  • 生成器参数化:尺寸分布、层数、沿街间距、基础裙边、细节开关都能一条命令调,便于按维护者反馈迭代。
  • 回验脚本继续守住"坐标链正确"(票 34 的那条 8/8 命中断言要保留,不能因为重做而退化)。
  • 产物仍必须显著标注示意体块、非实测建筑、不得用于量测/统计/决策(README + meta.json + 部署手册)。
  • 维护者目测判定"远景达标 + 中近景可辨认"才算通过 —— 我这边看不了图,需给出一组对比截图。

进度:0%

未动工(维护者要求另起票另行执行)。