cockpit-slimming.md 8.6 KB

驾驶舱代码与资产瘦身记录

日期:2026-11-06。目标是保留驾驶舱功能、减少 Git 检出与部署依赖,不是删除本机所有研究资料,也不是重写 Git 历史。

1. 代码清理结果

项目 清理前 当前
直接依赖 104 10
锁文件 selector 1,895 720
锁文件大小 501,732 bytes 189,609 bytes
上游插件页面 40 插件、299 个页面 不再注册或打包

原 HEAD 文件树为 940,940,484 bytes(897.35 MiB)。当前 Git 可见、实际存在的候选文件为 367 项、约 5.5 MiB(内容体积约减少 99.39%);该数字包含本轮前已有的业务修改、新配置与文档,不包含忽略目录、Git 历史、依赖安装目录或未来构建产物。初步统计未完整计入 Git 转义的中文文件名,最终以前述 HEAD 树统计为准。这不是 dist 大小或首屏下载量实测。

2. GIS:当前运行配置的目录与大小

生产地图参数见 部署模板,与本机当前 map 对象一致。以下是本机数据路径,不是要求生产机器使用同一磁盘路径。MiB=1,048,576 bytes。

内容 本机目录 精确 bytes
主场景影像 ring0 D:/GIS/cockpit-gis-v2/pic-ring0 611,764,124
近景影像 ring1 D:/GIS/cockpit-gis-v2/pic-ring1 167,940,923
中景影像 ring2 D:/GIS/cockpit-gis-v2/pic-ring2 40,613,998
远景影像 ring3 D:/GIS/cockpit-gis-v2/pic-ring3 589,444,075
当前 DEM(含根 layer/meta) D:/GIS/cockpit-gis-v2/dem 152,662,109
当前 GIS 合计 不含城市模型 1,562,425,229(约 1.455 GiB)

这些资源分别映射到 /gis/pic-ring0 至 /gis/pic-ring3,以及 /gis/dem-lod;不进入前端 Git 或构建产物。影像必须保留 TMS 的 reverseY 规则,DEM 必须包含根元数据,不能仅复制数字层级目录。

旧 D:/GIS/GIS/yuanlingDEM 为 222,102,618 bytes(含加工临时目录);旧 D:/GIS/GIS/yuanlingPic3 为 3,832,749 文件、55,422,123,167 bytes(约 51.62 GiB)。这两份当前不被地图配置引用,已移除开发挂载,但磁盘原件保留。它们不是新部署的默认上传清单。

3. 模型与贴图

当前城市模型服务根目录仍为 tools/city-massing/city/cad-bim,开发挂载 /gis/cad-bim。当前入口是 city-regions-v10-cs1 下的 coarse-tileset.json 与 runtime-manifest.json,不是旧环境文件注释中的 far-aligned。

已确认运行模型引用闭包为 6,745 个文件、277,949,900 bytes(约 265.07 MiB),引用均存在,未发现远程 URI。其中 city-regions-v10-cs1 内 6,742 文件 / 276,595,540 bytes;另外必须保留 lod-near-estate-pilot-v6/streaming-v14 中的 cell-00-15-p000-lod0.glb、cell-14-00-p000-lod0.glb、cell-15-00-p000-lod0.glb,共 1,354,360 bytes。

模型独立交付清单 记录了目录、三个跨版本模型和可排除项。cs1 中的加工 manifest.json(10,211,694 bytes)及兼容报告(311 bytes)不在运行闭包;runtime-manifest.json 必须保留,不是同一个文件。所有本机模型、贴图、加工工具均原位保留,只从 Git 索引解除跟踪。

当前闭包内有 6,630 个 GLB、6,629 个内嵌图像记录,编码图像共 19,603,435 bytes(约 18.70 MiB),未发现标准外链图像或 buffer。贴图就在上述 GLB 的 bufferView 内,不需要另找一个外置 textures 目录;此体积已包含于模型总量,不可重复相加。图像记录数不是去重图片数,编码体积也不是 GPU 显存或解码后内存。Cesium 自带的解码器/Worker 仍由构建插件保留,不能因移除旧 public/draco 目录而把 Cesium ThirdParty 也删掉。

完整 city-massing 本机加工目录初始盘点为 21,778 文件、2,368,102,991 bytes;其中大多数历史版本、加工输入、审计图和脚本不在当前运行闭包。它们已退出 Git,但没有在磁盘销毁。

驾驶舱自有管件位于 public/cockpit/models/pipes;五份 glTF + 五份同目录 bin,共 29,251 bytes,随前端发布,无外置图像贴图,不依赖已隔离的旧 draco/basis/lib。模型说明 Markdown 不进入产物;字体许可证及资产 manifest 均保留。

4. 大工具与耦合处理

  • 驾驶舱入口的静态及字面量动态引用图没有 PLS 或上游插件依赖;旧 basic/simpleGIS/digitalCity/GoView 的聚合导出确有强耦合,但整个旧模块组均在驾驶舱引用闭包之外,因此直接隔离,不将其继续拆成新抽象。
  • 真正把旧库带入应用的是 全局入口:已移除预览登录/菜单、Tres、FMenu、iconify、qiankun、插件页 glob;保留 FES 生命周期和 Pinia。
  • 构建配置 已移除 federation、旧 3d-tiles-renderer 强制分包、PLS/私有库别名、GoView SCSS 注入、GLSL/UnoCSS。仅对实际引用的 Cesium/Three 引擎分包。
  • 离线 GIS/模型加工工具不在浏览器引用闭包,保留本机、退出部署仓库。它们依赖 Turf、图像/压缩处理等旧工具环境,不能拿精简后的依赖安装目录直接重跑。原始依赖与锁文件已留档。
  • mapService、cesiumEngine 及地下管道 Three 实现是必要功能,不能整体排除;现有引擎和管线模块懒加载继续保留。单纯按行数拆分不会降低发布代码量,本轮未冒险改动其业务实现。
  • 驾驶舱 mocks 被启动逻辑真实引用,属于既有离线模式;保留,而不是按文件夹名称当孤立测试删除。

5. 打包隔离与环境同步

显式路由 只保留根跳转和驾驶舱页。旧 URL 回到驾驶舱,不加载示例。旧预览模式及面向上游 GitHub Pages 的发布工作流已隔离。

静态白名单 关闭整个 public 目录的自动复制,仅复制驾驶舱 assets、models、aerial.webp 与 favicon。Cesium 的 Workers/ThirdParty/Assets/Widgets 仍单独保留。构建还会拒绝引用被隔离的工作区目录。

配置插件 从 部署模板 生成运行时配置,再以 生产环境 覆盖连接值,不复制本机 JSON。开发/生产图片基址已同步;本机挂载已删掉未使用的旧地形、旧影像和测试夹具路径。环境说明 记录了优先级和代理要求。

6. 本地留档与 Git 状态

  • 隔离区:.local-archive/cockpit-slimming-20261106。已保存旧代码、预览配置和公共示例资源,移动清单 30 项,共 3,306 个文件、216,113,127 bytes;baseline 保存原始配置和本轮开始前的 diff。
  • 原位忽略:tools、verify、DesignAssets、dynamic-component-service-master、.scratch;模型目录不移动,避免破坏当前开发挂载。
  • 上述原位文件的 7,845 项删除已进入 Git 索引;另有旧文件移动形成的工作树删除,以及本轮入口/配置修改。不能只提交当前暂存区的删除项而遗漏配套修改。
  • 本轮前已有的驾驶舱业务修改、未跟踪业务文件均未回退;提交时应人工区分主题。
  • 本轮没有 commit/push,远端内容尚未改变;历史 Git 大对象仍然存在。新提交瘦的是当前树。需要小体积检出应使用浅克隆/部分克隆;历史清理另行决定,不能擅自重写。

7. 静态核查与限制

  • 197 个 JS/JSX/Vue script 源文件完成语法解析,603 条本地导入边无缺失,未发现指向隔离源码的有效导入。
  • 完整续读后确认资产 manifest 有 64 个不同运行时路径(早期截断读取所得 54 个已修正),均存在并落在公共资源白名单,另保留 7 份字体许可;资源审计核对了清单哈希。管件 glTF/bin 引用保留。
  • 720 个可达锁记录均完整;离线裁剪后保留记录的版本、下载地址与完整性字段没有改变,未执行安装或网络解析。
  • 已对照 FES 已安装实现核实路由 schema、插件发现、onAppCreated 时机和构建钩子;另做独立只读审查。
  • diff --check 通过。

按项目规则,已跳过 build/debug、依赖安装、测试运行、服务器和浏览器验收。 静态通过不等于真实构建/运行验收通过。

独立资源审计的完整本地证据见 GIS/模型/贴图审计,其完整清单仅作本地留档,不进入 Git 或生产产物。