|
@@ -0,0 +1,82 @@
|
|
|
|
|
+# 驾驶舱代码与资产瘦身记录
|
|
|
|
|
+
|
|
|
|
|
+日期: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:当前运行配置的目录与大小
|
|
|
|
|
+
|
|
|
|
|
+生产地图参数见 [部署模板](<../deploy/cockpit.config.json>),与本机当前 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。
|
|
|
|
|
+
|
|
|
|
|
+[模型独立交付清单](<../deploy/city-model-assets.json>) 记录了目录、三个跨版本模型和可排除项。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 的聚合导出确有强耦合,但整个旧模块组均在驾驶舱引用闭包之外,因此直接隔离,不将其继续拆成新抽象。
|
|
|
|
|
+- 真正把旧库带入应用的是 [全局入口](<../src/app.jsx>):已移除预览登录/菜单、Tres、FMenu、iconify、qiankun、插件页 glob;保留 FES 生命周期和 Pinia。
|
|
|
|
|
+- [构建配置](<../.fes.js>) 已移除 federation、旧 3d-tiles-renderer 强制分包、PLS/私有库别名、GoView SCSS 注入、GLSL/UnoCSS。仅对实际引用的 Cesium/Three 引擎分包。
|
|
|
|
|
+- 离线 GIS/模型加工工具不在浏览器引用闭包,保留本机、退出部署仓库。它们依赖 Turf、图像/压缩处理等旧工具环境,不能拿精简后的依赖安装目录直接重跑。原始依赖与锁文件已留档。
|
|
|
|
|
+- [mapService](<../src/modules/cockpit/services/mapService.js>)、[cesiumEngine](<../src/modules/cockpit/services/cesiumEngine.js>) 及地下管道 Three 实现是必要功能,不能整体排除;现有引擎和管线模块懒加载继续保留。单纯按行数拆分不会降低发布代码量,本轮未冒险改动其业务实现。
|
|
|
|
|
+- 驾驶舱 mocks 被启动逻辑真实引用,属于既有离线模式;保留,而不是按文件夹名称当孤立测试删除。
|
|
|
|
|
+
|
|
|
|
|
+## 5. 打包隔离与环境同步
|
|
|
|
|
+
|
|
|
|
|
+[显式路由](<../.fes.js>) 只保留根跳转和驾驶舱页。旧 URL 回到驾驶舱,不加载示例。旧预览模式及面向上游 GitHub Pages 的发布工作流已隔离。
|
|
|
|
|
+
|
|
|
|
|
+[静态白名单](<../src/common/cockpitStaticPlugin.js>) 关闭整个 public 目录的自动复制,仅复制驾驶舱 assets、models、aerial.webp 与 favicon。Cesium 的 Workers/ThirdParty/Assets/Widgets 仍单独保留。构建还会拒绝引用被隔离的工作区目录。
|
|
|
|
|
+
|
|
|
|
|
+[配置插件](<../src/common/cockpitEnvPlugin.js>) 从 [部署模板](<../deploy/cockpit.config.json>) 生成运行时配置,再以 [生产环境](<../.env.production>) 覆盖连接值,不复制本机 JSON。开发/生产图片基址已同步;本机挂载已删掉未使用的旧地形、旧影像和测试夹具路径。[环境说明](<cockpit-environment.md>) 记录了优先级和代理要求。
|
|
|
|
|
+
|
|
|
|
|
+## 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/模型/贴图审计](<../.scratch/cockpit-slimming/delegated-gis-model-audit.md>),其完整清单仅作本地留档,不进入 Git 或生产产物。
|