s3m-maplibre 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +37 -10
  2. package/dist/core/CRNDecode.d.ts +13 -0
  3. package/dist/core/CRNDecode.d.ts.map +1 -0
  4. package/dist/core/CRNDecode.js +84 -0
  5. package/dist/core/CRNDecode.js.map +1 -0
  6. package/dist/core/FeatureInfo.d.ts +15 -1
  7. package/dist/core/FeatureInfo.d.ts.map +1 -1
  8. package/dist/core/FeatureInfo.js +32 -1
  9. package/dist/core/FeatureInfo.js.map +1 -1
  10. package/dist/core/MeshOpt.d.ts.map +1 -1
  11. package/dist/core/MeshOpt.js +12 -1
  12. package/dist/core/MeshOpt.js.map +1 -1
  13. package/dist/core/S3MBParser.d.ts.map +1 -1
  14. package/dist/core/S3MBParser.js +9 -5
  15. package/dist/core/S3MBParser.js.map +1 -1
  16. package/dist/core/TextureFormat.d.ts +44 -0
  17. package/dist/core/TextureFormat.d.ts.map +1 -0
  18. package/dist/core/TextureFormat.js +97 -0
  19. package/dist/core/TextureFormat.js.map +1 -0
  20. package/dist/core/types.d.ts +9 -0
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/index.d.ts +3 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/render/GeometryBuilder.d.ts.map +1 -1
  27. package/dist/render/GeometryBuilder.js +19 -7
  28. package/dist/render/GeometryBuilder.js.map +1 -1
  29. package/dist/render/Picker.d.ts +13 -2
  30. package/dist/render/Picker.d.ts.map +1 -1
  31. package/dist/render/Picker.js +50 -14
  32. package/dist/render/Picker.js.map +1 -1
  33. package/dist/render/S3MLayer.d.ts +83 -2
  34. package/dist/render/S3MLayer.d.ts.map +1 -1
  35. package/dist/render/S3MLayer.js +429 -67
  36. package/dist/render/S3MLayer.js.map +1 -1
  37. package/dist/render/StyleMaterial.d.ts.map +1 -1
  38. package/dist/render/StyleMaterial.js +19 -4
  39. package/dist/render/StyleMaterial.js.map +1 -1
  40. package/dist/render/TextureFactory.d.ts +7 -4
  41. package/dist/render/TextureFactory.d.ts.map +1 -1
  42. package/dist/render/TextureFactory.js +48 -20
  43. package/dist/render/TextureFactory.js.map +1 -1
  44. package/dist/tileset/S3MTileset.d.ts +38 -0
  45. package/dist/tileset/S3MTileset.d.ts.map +1 -1
  46. package/dist/tileset/S3MTileset.js +105 -8
  47. package/dist/tileset/S3MTileset.js.map +1 -1
  48. package/dist/vendor/crunch_decoder.module.js +1140 -0
  49. package/docs/API.md +52 -4
  50. package/package.json +7 -3
  51. package/src/core/CRNDecode.ts +107 -0
  52. package/src/core/FeatureInfo.ts +37 -2
  53. package/src/core/MeshOpt.ts +13 -1
  54. package/src/core/S3MBParser.ts +9 -5
  55. package/src/core/TextureFormat.ts +103 -0
  56. package/src/core/types.ts +9 -0
  57. package/src/index.ts +5 -0
  58. package/src/render/GeometryBuilder.ts +20 -7
  59. package/src/render/Picker.ts +53 -14
  60. package/src/render/S3MLayer.ts +447 -63
  61. package/src/render/StyleMaterial.ts +19 -4
  62. package/src/render/TextureFactory.ts +51 -24
  63. package/src/tileset/S3MTileset.ts +115 -7
  64. package/src/vendor/crunch_decoder.module.d.ts +27 -0
  65. package/src/vendor/crunch_decoder.module.js +1140 -0
  66. package/tools/crn-probe.mjs +313 -0
  67. package/tools/parse-sample.mjs +10 -2
  68. package/tools/test-instanced.mjs +207 -0
  69. package/tools/test-parser.mjs +203 -0
  70. package/tools/test-regressions.mjs +483 -0
  71. package/tools/test-texture-format.mjs +58 -0
package/README.md CHANGED
@@ -54,7 +54,7 @@ iServer / 本地目录 → .scp 配置 + .s3mb 瓦片
54
54
  | 骨骼动画 | ❌ | 已解析未驱动 |
55
55
  | 地形遮挡 | ❌ | |
56
56
  | Draco 压缩几何 | ❌ | 能识别、不能解码,遇到抛明确错误;接法见[未支持的格式](#未支持的格式draco--crn--ktx2) |
57
- | CRN 纹理(pixelFormat 26 / 27) | ❌ | 官方 SDK 是 crunch.js 转 DXT5 再解码,接口位置已留好 |
57
+ | CRN 纹理(`compressType` 26 / 27 / 38001 / 50000) | ✅ | 内联 crunch wasm 转 DXT 后走同一套解码,只在遇到时懒加载;已在 SuperMap Online 公有服务实测 |
58
58
  | KTX2 纹理 | — | S3M 官方 `pixelFormat` 枚举里没有这个值,属于「不会遇到」而不是「不支持」 |
59
59
 
60
60
  ---
@@ -65,7 +65,7 @@ iServer / 本地目录 → .scp 配置 + .s3mb 瓦片
65
65
  npm install s3m-maplibre three
66
66
  ```
67
67
 
68
- 包在 npm 上是 [s3m-maplibre](https://www.npmjs.com/package/s3m-maplibre),当前 `0.2.6`。
68
+ 包在 npm 上是 [s3m-maplibre](https://www.npmjs.com/package/s3m-maplibre),当前 `0.2.8`。
69
69
 
70
70
  `three` 是 peer 依赖(`>=0.168.0`)。`maplibre-gl` 不是依赖——图层只是一个符合 `CustomLayerInterface` 的普通对象,MapLibre / Mapbox 都能挂;不用地图时也能只用解析和瓦片层(见「纯 three.js 使用」)。
71
71
 
@@ -154,7 +154,7 @@ npm run demo # 一次性编译后起静态服务(不做监听)
154
154
 
155
155
  两个命令都指向 http://localhost:8123/s3m-maplibre/demo/index.html ,`demo/three.html` 是同一台服务器上的纯 three 版。
156
156
 
157
- 演示自带两份样例数据(北京 CBD 的 CCTV、comModel),也可以在地址栏输入框里填任意 iServer `realspace` 服务根地址、`datas` 集合或具体的 `.scp`,自动列出数据集并默认勾选第一个。
157
+ 演示自带两份本地样例数据(北京 CBD 的 CCTV、comModel,离线可用),另有一个在线预设「地铁站 (CRN 纹理)」——SuperMap Online 公有服务,纹理全是 CRN,用来肉眼验证 CRN 转码链路;也可以在地址栏输入框里填任意 iServer `realspace` 服务根地址、`datas` 集合或具体的 `.scp`,自动列出数据集并默认勾选第一个。
158
158
 
159
159
  演示包含:数据集叠加开关、着色模式、透明度、平面/平滑着色、选中描边(棱线 / 外扩两种画法,粗细可调)、全局棱线、点击属性卡;右侧面板还能填 iServer 数据服务地址,按业务字段(KEYID / SmMaxZ…)上色出图例、按区间过滤、按字段值抬高。
160
160
 
@@ -208,20 +208,39 @@ function tick() {
208
208
 
209
209
  ---
210
210
 
211
- ## 未支持的格式:Draco / CRN / KTX2
211
+ ## 未支持的格式:Draco / KTX2
212
212
 
213
213
  这三个常被问到,结论分别不同:
214
214
 
215
215
  **Draco 压缩几何 —— 能解决,缺的是样本。**
216
216
  官方 SDK 里有 `S3MParser/S3MDracoDecode.js` + `draco_decode.module.js`(对 `DecodeBufferToPointCloud` 的封装,POSITION / NORMAL / TEX_COORD 三个属性,再按 `compressOptions` 分支处理)。接法与本项目的 MeshOpt 完全一致:内联 wasm 解码器、只在遇到 `VertexTag.DRACO` 时动态 `import`、解码后走同一套 attribute 组装 + 量化还原。真正的成本不在写代码,而在**标定容器**——MeshOpt 当时就是靠 60 个真实瓦片逐字节对齐才做对的,Draco 的 attribute 映射、`compressOptions` 与实际数据是否一致也必须拿样例验。仓库里没有 Draco 瓦片,所以现在是「识别到就抛明确错误」。
217
217
 
218
- **CRN 纹理(`pixelFormat` 26 / 27)—— 能解决,纯接解码器。**
219
- SuperMap 自己的做法是 `crunch.js` 把 CRN 转码成 DXT5 字节,再走普通 DXT 上传。本项目的 `TextureFactory` 在 DXT 那条路上已经完整(DXT1/3/4/5 都解到 RGBA8),所以只要在 `decodeTexture` 里加一个 CRN 分支:crunch 转 DXT5 → 复用现成解码。工作量约一个解码器文件 + 一个分支,同样需要一份 CRN 纹理样例来验字节。
218
+ **CRN 纹理 —— 已支持,并在真实服务上验过。**
219
+ `src/vendor/crunch_decoder.module.js`(crunch 的 emscripten 胶水,wasm 内联成 base64,只在真的遇到 CRN 时动态 import)把 CRN 转回 DXT 块,再走现成的 DXT1/3/4/5 解码;具体是 DXT1 还是 DXT5 由 CRN 头部给出。判定逻辑收敛在 `src/core/TextureFormat.ts`,单测钉死 25 条断言。
220
+
221
+ **关键点:「是不是 CRN」看 `compressType`,不能看 `pixelFormat`。** 实测到的三组组合(SuperMap Online 公有服务):
222
+
223
+ | 数据版本 | compressType | pixelFormat | 实际内容 |
224
+ |:---|:---|:---|:---|
225
+ | v3.00 | `26`(CRN_DXT5) | `13`(ABGR,无意义) | CRN,数据以 `Hx` 开头 |
226
+ | v3.00 | `14`(噪声) | `21` | DXT5 裸块 |
227
+ | v3.01(行标) | `50000`(TC_CRN_DXT5) | `32856`(GL_RGBA8) | CRN,数据以 `Hx` 开头 |
228
+
229
+ 早期版本按 `pixelFormat === 26 / 27` 判断,真实服务里的 CRN 纹理会被当成未知格式整包丢掉——表现就是**模型能出来,但全是灰模**。现在先看 `compressType`(`26 / 27 / 38001 / 50000`),认不出来才退回 `pixelFormat`;另外 `transcodeCRN` 会先验 `Hx` 魔数,避免把误标的 DXT 数据喂进 crunch 解出一个「尺寸看着合理」的垃圾块。
230
+
231
+ 验证方式:
232
+
233
+ ```bash
234
+ npm run probe:crn -- --crn https://host/iserver/services/svc/rest/realspace/datas/<数据集>/config --limit 3
235
+ # 也可以先摸底:--service <realspace 根地址> 列出每个数据集的 s3m:TextureCompressionType
236
+ ```
237
+
238
+ 探针会对每张 CRN 纹理报告「尺寸是否与纹理头一致 / 解出的色数 / 邻域粗糙度」,并打一张 ASCII 灰度预览,用来判断熵解码是否真的解对了(解错会是一屏噪声)。已跑过的数据:`3D-BianDianZhan3`(512²,v3.00)、`3D-BIMTreeModel` / `3D-local3DCache-SubwayStationCombined`(32² / 64²,v3.01)、`3D-scyx`(1024²),除「数据本身标错」外全部尺寸吻合、预览有真实结构。
220
239
 
221
240
  **KTX2 —— 不是「不支持」,是 S3M 里基本不会出现。**
222
241
  官方 `S3MPixelFormat` 枚举(`1/2/3/4/5/6/7/10/11/12/13/14/17…21/25/26/27/28`)里没有 KTX2 / Basis 的条目,iServer 也不会发。真要支持,得自己引入 `basis_transcoder.wasm` 并把 KTX2 容器转成 RGBA32 或 DXT,但那是给「别人转成 KTX2 再塞进 S3M」的场景准备的,没有数据样本可测。
223
242
 
224
- 两者的共同前提:**要有样例数据**。手头有 Draco 压缩的瓦片或带 CRN 纹理的服务地址,把 `.s3mb` 或服务地址给我,就能按 MeshOpt 那套方式标定 + 实现 + 回归。
243
+ 共同前提:**要有样例数据**。手头有 Draco 压缩的瓦片,把 `.s3mb` 给我,就能按 MeshOpt 那套方式标定 + 实现 + 回归(CRN 的代码已经接好,只差真样本验一遍熵解码)。
225
244
 
226
245
  ---
227
246
 
@@ -286,6 +305,8 @@ S3M 顶点(数据集局部 ENU,米)
286
305
 
287
306
  「物体编号 + batchId」编码成 RGBA 渲到离屏目标,点击时读那一个像素。代价与三角面数无关,深度测试由 GPU 完成,天然只命中最前面的可见面。
288
307
 
308
+ 离屏目标只有 1×1:viewport 仍是整块画布、原点平移到点击点,整幅画面照常光栅化,只有那一格落在目标上——所以每点一次不是渲染一整屏。
309
+
289
310
  ---
290
311
 
291
312
  ## 验证情况
@@ -311,10 +332,13 @@ S3M 顶点(数据集局部 ENU,米)
311
332
 
312
333
  ## 已知限制
313
334
 
314
- - **Draco 压缩几何 / CRN 纹理**未实现(可解,缺样例数据),见[未支持的格式](#未支持的格式draco--crn--ktx2)。
335
+ - **Draco 压缩几何**未实现(可解,缺样例数据),见[未支持的格式](#未支持的格式draco--ktx2)。
336
+ - **纹理分包(`s3m:TextureSharing`)未支持**:这类数据集的 `tiles` 全是 `.s3mblock`(纹理块文件),不是 `.s3mb` 瓦片,加载会直接失败,例如 SuperMap Online 的 `3D-CBD/Xiaopin@CBD`。目前会如实报错,不做静默降级。
337
+ - **多块 MeshOpt 骨架尚未对齐**:`3D-WorkSpace_pbr1/pbrmodel` 里有根瓦片是 `blockCount=2`,第二块的头按现有布局读会错位。单个属性流尺寸会先拦一道、给出可定位的报错,不会抛「Invalid typed array length」。
315
338
  - **地形遮挡**未实现:MapLibre 的地形深度没进 custom layer 的深度缓冲,建筑不会被地形裁掉。
316
339
  - 跨城市量级的数据集叠加会重新引入 float32 精度问题。
317
- - MVT 式的「按需懒加载 + 卸载」没有做:已加载的瓦片常驻,只受 `maxTiles` 限制。
340
+ - 卸载只做了「超上限淘汰」:`maxTiles` 满了会淘汰最久没用的瓦片,但没有做预算式(按显存占用)的主动回收。
341
+ - **切线(TANGENT)顶点流不参与渲染**:没有法线贴图通道,所以这条流只跳过不解码;但带它的数据(PBR 一类)不会因此失败。
318
342
 
319
343
  ---
320
344
 
@@ -328,6 +352,8 @@ src/
328
352
  MeshOpt.ts MeshOpt 几何压缩解码(量化还原 + 八面体法线)
329
353
  FeatureInfo.ts 单体属性反推
330
354
  DXTTextureDecode.ts DXT 解码(来自 SuperMap/s3m-spec)
355
+ TextureFormat.ts 纹理格式判定(compressType / pixelFormat → 解码路径)
356
+ CRNDecode.ts CRN → DXT 转码(crunch wasm,按需加载)
331
357
  tileset/ 瓦片树 + LOD + 加载调度
332
358
  render/ three 渲染
333
359
  S3MLayer.ts 图层主体(多数据集 / 样式 / 拾取)
@@ -340,7 +366,7 @@ src/
340
366
  demo/
341
367
  index.html / main.js MapLibre 完整示例(控制面板 + 属性卡)
342
368
  three.html / three.js 纯 three.js 示例(无地图)
343
- tools/ 自检脚本(解析校验、MeshOpt 回归、带热更新的静态服务)
369
+ tools/ 自检脚本(解析校验、MeshOpt 回归、纹理/CRN 探针、带热更新的静态服务)
344
370
  ```
345
371
 
346
372
  ---
@@ -349,5 +375,6 @@ tools/ 自检脚本(解析校验、MeshOpt 回归、带热更新的静
349
375
 
350
376
  - 本项目 [Apache-2.0](./LICENSE)。
351
377
  - `src/core/DXTTextureDecode.ts` 来自 [SuperMap/s3m-spec](https://github.com/supermap/s3m-spec)(Apache-2.0)。
378
+ - `src/vendor/crunch_decoder.module.js` 是 [crunch](https://github.com/BinomialLLC/crunch) 的 emscripten 构建(经 SuperMap SDK 转发,Apache-2.0);只改了两处:wasm 改为内联字节、Node ESM 下 `__dirname` 兜底。
352
379
  - `src/vendor/meshopt_decoder.module.js` 是 [meshoptimizer](https://github.com/zeux/meshoptimizer) 官方解码器(MIT,© Arseny Kapoulkine),未做修改。
353
380
  - S3M 规范文本遵循 CC BY-ND 4.0,不得修改规范文本后再发布。
@@ -0,0 +1,13 @@
1
+ export interface CRNResult {
2
+ width: number;
3
+ height: number;
4
+ /** CRN 里打包的 mip 层数(我们只取第 0 层,其余交给 three 生成) */
5
+ levels: number;
6
+ /** 1 / 3 / 5 */
7
+ dxtFormat: 1 | 3 | 5;
8
+ /** 第 0 层的 DXT 块数据 */
9
+ data: Uint8Array;
10
+ }
11
+ /** 解一个 CRN 块。失败时抛错(调用方负责降级成「无贴图」)。 */
12
+ export declare function transcodeCRN(src: Uint8Array): Promise<CRNResult>;
13
+ //# sourceMappingURL=CRNDecode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CRNDecode.d.ts","sourceRoot":"","sources":["../../src/core/CRNDecode.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,qBAAqB;IACrB,IAAI,EAAE,UAAU,CAAC;CAClB;AA2CD,sCAAsC;AACtC,wBAAsB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAyCtE"}
@@ -0,0 +1,84 @@
1
+ let modulePromise = null;
2
+ /**
3
+ * wasm 是否真的可用。
4
+ *
5
+ * 注意:胶水在实例化开始前就把 `Module.asm` 赋成了空对象,所以「asm 存在」不等于
6
+ * 「就绪」——必须看导出表里有没有东西,否则 `_malloc` 会在内部对一个 undefined 调 apply。
7
+ */
8
+ function isReady(m) {
9
+ return !!m.asm && Object.keys(m.asm).length > 0;
10
+ }
11
+ /** wasm 只在真的遇到 CRN 纹理时才加载(内联在 vendor 里,不发额外请求) */
12
+ async function getCrunch() {
13
+ if (!modulePromise) {
14
+ modulePromise = (async () => {
15
+ const mod = await import('../vendor/crunch_decoder.module.js');
16
+ const m = mod.default;
17
+ if (!isReady(m)) {
18
+ await new Promise((resolve) => {
19
+ m.onRuntimeInitialized = () => resolve();
20
+ const tick = () => {
21
+ if (isReady(m))
22
+ resolve();
23
+ else
24
+ setTimeout(tick, 8);
25
+ };
26
+ tick();
27
+ });
28
+ }
29
+ return m;
30
+ })();
31
+ }
32
+ return modulePromise;
33
+ }
34
+ /** CRN 文件头魔数 'Hx';S3M 的纹理裸块没有容器头,但 crunch 负载自己保留了这两个字节 */
35
+ const CRN_MAGIC = [0x48, 0x78];
36
+ function hasMagic(src) {
37
+ return src.length >= 2 && src[0] === CRN_MAGIC[0] && src[1] === CRN_MAGIC[1];
38
+ }
39
+ /** 解一个 CRN 块。失败时抛错(调用方负责降级成「无贴图」)。 */
40
+ export async function transcodeCRN(src) {
41
+ const srcSize = src.byteLength;
42
+ if (!srcSize)
43
+ throw new Error('[s3m] CRN 数据为空');
44
+ // 先验魔数:压缩方式标成 CRN 但数据其实不是(见过 DXT 被误标)时,
45
+ // crunch 会拿垃圾头解出一个尺寸「看着合理」的块,越早拦越好;也省掉一次 wasm 加载
46
+ if (!hasMagic(src))
47
+ throw new Error('[s3m] 数据没有 CRN 头(Hx),不是 crunch 负载');
48
+ const crunch = await getCrunch();
49
+ const srcPtr = crunch._malloc(srcSize);
50
+ if (!srcPtr)
51
+ throw new Error('[s3m] crunch 分配源数据失败');
52
+ try {
53
+ // 注意:malloc 可能触发堆扩容,HEAPU8 会换成新视图,所以每次都重新取
54
+ crunch.HEAPU8.set(src, srcPtr);
55
+ const fmt = crunch._crn_get_dxt_format(srcPtr, srcSize);
56
+ const dxtFormat = fmt === 0 ? 1 : fmt === 1 ? 3 : fmt === 2 ? 5 : 0;
57
+ if (!dxtFormat)
58
+ throw new Error(`[s3m] 不是可识别的 CRN 数据(dxtFormat=${fmt})`);
59
+ const width = crunch._crn_get_width(srcPtr, srcSize);
60
+ const height = crunch._crn_get_height(srcPtr, srcSize);
61
+ const levels = crunch._crn_get_levels(srcPtr, srcSize);
62
+ if (!(width > 0) || !(height > 0)) {
63
+ throw new Error(`[s3m] CRN 尺寸异常:${width}×${height}`);
64
+ }
65
+ // 只解第 0 层:DXT1 每 4×4 块 8 字节,DXT3/5 是 16 字节
66
+ const blockSize = dxtFormat === 1 ? 8 : 16;
67
+ const dstSize = Math.max(1, width >> 2) * Math.max(1, height >> 2) * blockSize;
68
+ const dstPtr = crunch._malloc(dstSize);
69
+ if (!dstPtr)
70
+ throw new Error('[s3m] crunch 分配输出缓冲失败');
71
+ try {
72
+ crunch._crn_decompress(srcPtr, srcSize, dstPtr, dstSize, 0, 1);
73
+ const data = new Uint8Array(crunch.HEAPU8.subarray(dstPtr, dstPtr + dstSize));
74
+ return { width, height, levels, dxtFormat: dxtFormat, data };
75
+ }
76
+ finally {
77
+ crunch._free(dstPtr);
78
+ }
79
+ }
80
+ finally {
81
+ crunch._free(srcPtr);
82
+ }
83
+ }
84
+ //# sourceMappingURL=CRNDecode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CRNDecode.js","sourceRoot":"","sources":["../../src/core/CRNDecode.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,23 @@
10
10
  * 避免使用者误以为是业务数据。
11
11
  */
12
12
  import type { BufferGeometry } from 'three';
13
- import type { FeatureAttributes, GeoPackageEntry, PickSegment, SegmentBox } from './types.js';
13
+ import type { FeatureAttributes, GeoPackageEntry, PickEntry, PickSegment, SegmentBox } from './types.js';
14
14
  /** 楼层估算用的默认层高(米) */
15
15
  export declare const DEFAULT_FLOOR_HEIGHT = 3.2;
16
+ /**
17
+ * 单体的控制位。
18
+ *
19
+ * 顶点区间型单体用 `batchId`(写进 `aBatchId`),实例化型用 `instanceBatchId`
20
+ * (写进 `aInstanceBatchId`)。两者都走「每网格一张状态纹理」,所以对上层是同一个概念。
21
+ */
22
+ export declare function pickEntryId(entry?: PickEntry | null): number;
23
+ /** 实例化几何里「实例序号 → 单体」的反查表 */
24
+ export interface InstanceFeature {
25
+ smid: number;
26
+ /** 控制位(状态纹理下标) */
27
+ batchId: number;
28
+ }
29
+ export declare function buildInstanceLookup(pickInfo?: Record<number, PickEntry> | null): Map<number, InstanceFeature>;
16
30
  export declare function resolveFeature(geo: GeoPackageEntry | undefined, batchId: number): {
17
31
  smid: number | null;
18
32
  segments: PickSegment[];
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureInfo.d.ts","sourceRoot":"","sources":["../../src/core/FeatureInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9F,oBAAoB;AACpB,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,wBAAgB,cAAc,CAC5B,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAUlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,GAAG,IAAI,CA+ChH;AAED,qBAAqB;AACrB,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,iBAAiB,CAmBpB"}
1
+ {"version":3,"file":"FeatureInfo.d.ts","sourceRoot":"","sources":["../../src/core/FeatureInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzG,oBAAoB;AACpB,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAK5D;AAED,4BAA4B;AAC5B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,GAC1C,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAW9B;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAUlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,GAAG,IAAI,CA+ChH;AAED,qBAAqB;AACrB,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,iBAAiB,CAmBpB"}
@@ -1,11 +1,42 @@
1
1
  /** 楼层估算用的默认层高(米) */
2
2
  export const DEFAULT_FLOOR_HEIGHT = 3.2;
3
+ /**
4
+ * 单体的控制位。
5
+ *
6
+ * 顶点区间型单体用 `batchId`(写进 `aBatchId`),实例化型用 `instanceBatchId`
7
+ * (写进 `aInstanceBatchId`)。两者都走「每网格一张状态纹理」,所以对上层是同一个概念。
8
+ */
9
+ export function pickEntryId(entry) {
10
+ if (!entry)
11
+ return -1;
12
+ if (entry.batchId != null)
13
+ return entry.batchId;
14
+ if (entry.instanceBatchId != null)
15
+ return entry.instanceBatchId;
16
+ return -1;
17
+ }
18
+ export function buildInstanceLookup(pickInfo) {
19
+ const map = new Map();
20
+ if (!pickInfo)
21
+ return map;
22
+ for (const [key, entry] of Object.entries(pickInfo)) {
23
+ if (!entry?.instanceIds?.length)
24
+ continue;
25
+ const smid = Number(key);
26
+ if (!Number.isFinite(smid))
27
+ continue;
28
+ const batchId = pickEntryId(entry);
29
+ for (const instanceIndex of entry.instanceIds)
30
+ map.set(instanceIndex, { smid, batchId });
31
+ }
32
+ return map;
33
+ }
3
34
  export function resolveFeature(geo, batchId) {
4
35
  const pickInfo = geo?.pickInfo;
5
36
  if (!pickInfo || batchId < 0)
6
37
  return { smid: null, segments: [] };
7
38
  for (const [id, entry] of Object.entries(pickInfo)) {
8
- if (entry?.batchId === batchId) {
39
+ if (pickEntryId(entry) === batchId) {
9
40
  return { smid: Number(id), segments: entry.segments ?? [] };
10
41
  }
11
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureInfo.js","sourceRoot":"","sources":["../../src/core/FeatureInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureInfo.js","sourceRoot":"","sources":["../../src/core/FeatureInfo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeshOpt.d.ts","sourceRoot":"","sources":["../../src/core/MeshOpt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,sBAAsB;AACtB,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAalB,CAAC;AAOX;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAU5D;AAkFD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,cAAc,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAiBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmJxG;AAID;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0CxF"}
1
+ {"version":3,"file":"MeshOpt.d.ts","sourceRoot":"","sources":["../../src/core/MeshOpt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,sBAAsB;AACtB,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAalB,CAAC;AAOX;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAU5D;AAuFD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,cAAc,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAiBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0JxG;AAID;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0CxF"}
@@ -93,7 +93,12 @@ function strideFor(semantic, compressOptions, customId) {
93
93
  }
94
94
  }
95
95
  function decode(decoder, vertexCount, stride, source) {
96
- const out = new Uint8Array(vertexCount * stride);
96
+ const size = vertexCount * stride;
97
+ // 头读错时 vertexCount 会是天文数字,这里先拦一道,免得报「Invalid typed array length」这种没法定位的错
98
+ if (!Number.isSafeInteger(size) || size > 64 * 1024 * 1024) {
99
+ throw new Error(`[s3m] MeshOpt 流尺寸异常:${vertexCount} 顶点 × ${stride}B = ${size}B`);
100
+ }
101
+ const out = new Uint8Array(size);
97
102
  decoder.decodeVertexBuffer(out, vertexCount, stride, source, source.length);
98
103
  return out;
99
104
  }
@@ -196,6 +201,12 @@ export async function parseMeshOptSkeleton(r, vp) {
196
201
  r.align4();
197
202
  if (!decodeThisBlock)
198
203
  continue;
204
+ // 切线流我们不用(渲染里没有法线贴图通道),解不出来也不该拖垮整个瓦片:
205
+ // 真实服务里带 PBR 的数据(如 SubwayStationCombined)都带这条流,之前直接抛错导致整套数据不可见
206
+ if (semantic === MeshOptSemantic.TANGENT) {
207
+ info.streams.push({ semantic: 'tangent', bytes: compressedSize, stride: 0 });
208
+ continue;
209
+ }
199
210
  const stride = strideFor(semantic, compressOptions, customId);
200
211
  let out;
201
212
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"MeshOpt.js","sourceRoot":"","sources":["../../src/core/MeshOpt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeshOpt.js","sourceRoot":"","sources":["../../src/core/MeshOpt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"S3MBParser.d.ts","sourceRoot":"","sources":["../../src/core/S3MBParser.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAOV,UAAU,EAIV,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;CAAyC,CAAC;AAElE,eAAO,MAAM,SAAS;;;;;CAAgE,CAAC;AACvF,eAAO,MAAM,WAAW;;;;CAAiD,CAAC;AAa1E,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mBAAmB;IACnB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AA6dD,wBAAsB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDzG;AAED,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"S3MBParser.d.ts","sourceRoot":"","sources":["../../src/core/S3MBParser.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAOV,UAAU,EAIV,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;CAAyC,CAAC;AAElE,eAAO,MAAM,SAAS;;;;;CAAgE,CAAC;AACvF,eAAO,MAAM,WAAW;;;;CAAiD,CAAC;AAa1E,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mBAAmB;IACnB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAieD,wBAAsB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDzG;AAED,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -423,21 +423,25 @@ function parsePickInfo(r, options, geoPackage, version) {
423
423
  }
424
424
  else {
425
425
  const instanceCount = vp.instanceCount;
426
- const instanceIds = new Float32Array(instanceCount);
426
+ const instanceBatchIds = new Float32Array(instanceCount).fill(-1);
427
427
  for (let j = 0; j < selectCount; j++) {
428
428
  const id = r.u32();
429
429
  const n = r.u32();
430
- const entry = { instanceIds: [] };
430
+ const entry = { instanceIds: [], instanceBatchId: j };
431
431
  pickInfo[id] = entry;
432
432
  for (let k = 0; k < n; k++) {
433
433
  const instanceId = r.u32();
434
434
  if (version >= 3)
435
435
  r.u32();
436
- entry.instanceIds.push(instanceId);
437
- instanceIds[instanceId] = j;
436
+ if (instanceId >= 0 && instanceId < instanceCount) {
437
+ entry.instanceIds.push(instanceId);
438
+ instanceBatchIds[instanceId] = j;
439
+ }
438
440
  }
439
441
  }
440
- pushAttr(vp, 'batchId', new Uint8Array(instanceIds.buffer), 1, 4, 0, 1, 'f32');
442
+ // 实例化的单体粒度是「逐实例」的,不能塞进逐顶点属性:
443
+ // 顶点数(base mesh)和实例数根本不是一个量级,长度对不上会被 three 当成坏 buffer。
444
+ vp.instanceBatchIds = instanceBatchIds;
441
445
  }
442
446
  geo.pickInfo = pickInfo;
443
447
  result[geometryName] = pickInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"S3MBParser.js","sourceRoot":"","sources":["../../src/core/S3MBParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S3MBParser.js","sourceRoot":"","sources":["../../src/core/S3MBParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * S3M 纹理格式判定
3
+ *
4
+ * 纹理头里有两个字段特别容易搞混:
5
+ * compressType —— 压缩方式。S3M 3.0(v3.00)这个字段直接借用了 PixelFormat 的数值,
6
+ * 26 / 27 表示 CRN;行标(v3.01)改成了 GL 压缩枚举(33776 DXT1、
7
+ * 33779 DXT5、38000 WEBP、38001 CRN、38002 KTX2),再加自定义的
8
+ * 50000(CRN_DXT5)。
9
+ * pixelFormat —— 像素 / 块格式。v3.00 下 CRN 纹理这里写的是 13(ABGR,实际无意义);
10
+ * v3.01 下写的是 32856(GL_RGBA8)这类 GL 内部格式,也不是 DXT。
11
+ *
12
+ * 实测(SuperMap Online 公有服务,2026-10)三组组合:
13
+ * v3.00 ct=26 pf=13 → CRN,数据以 'Hx' 开头
14
+ * v3.00 ct=14 pf=21 → DXT5 裸块
15
+ * v3.01 ct=50000 pf=32856 → CRN,数据以 'Hx' 开头
16
+ *
17
+ * 结论:**「是不是 CRN」只能看 compressType**。之前按 pixelFormat 26 / 27 判断,
18
+ * 真实服务里的 CRN 纹理会被当成未知格式整包丢掉(模型变成无贴图的灰模)。
19
+ */
20
+ /** S3M 3.01(行标)compressType 取值 */
21
+ export declare const TextureCompress: {
22
+ readonly NONE: 0;
23
+ readonly DXT1_RGB: 33776;
24
+ readonly DXT1_RGBA: 33777;
25
+ readonly DXT3: 33778;
26
+ readonly DXT5: 33779;
27
+ readonly WEBP: 38000;
28
+ readonly CRN: 38001;
29
+ readonly KTX2: 38002;
30
+ /** 超图自定义扩展 */
31
+ readonly CRN_DXT5: 50000;
32
+ };
33
+ /** 判定结果:`dxt*` 走块解码,`crn` 先转码成 DXT,`raw` 走逐像素拷贝 */
34
+ export type TextureKind = 'dxt1' | 'dxt3' | 'dxt4' | 'dxt5' | 'crn' | 'webp' | 'ktx2' | 'raw' | 'unknown';
35
+ /**
36
+ * 判定一张纹理该走哪条解码路径。
37
+ *
38
+ * 顺序有讲究:先看 compressType(CRN / 行标枚举),再退回 pixelFormat——
39
+ * v3.00 的 CRN 纹理 pixelFormat 是 13,先看 pixelFormat 会误判成 raw。
40
+ */
41
+ export declare function resolveTextureKind(compressType: number, pixelFormat: number): TextureKind;
42
+ /** DXT 族对应的 pixelFormat(喂给 DXTTextureDecode,>11 即按 16 字节块解) */
43
+ export declare function dxtPixelFormatOf(kind: TextureKind): number;
44
+ //# sourceMappingURL=TextureFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextureFormat.d.ts","sourceRoot":"","sources":["../../src/core/TextureFormat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kCAAkC;AAClC,eAAO,MAAM,eAAe;;;;;;;;;IAS1B,cAAc;;CAEN,CAAC;AAEX,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAmD1G;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,CAKzF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAE1D"}