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.
- package/README.md +37 -10
- package/dist/core/CRNDecode.d.ts +13 -0
- package/dist/core/CRNDecode.d.ts.map +1 -0
- package/dist/core/CRNDecode.js +84 -0
- package/dist/core/CRNDecode.js.map +1 -0
- package/dist/core/FeatureInfo.d.ts +15 -1
- package/dist/core/FeatureInfo.d.ts.map +1 -1
- package/dist/core/FeatureInfo.js +32 -1
- package/dist/core/FeatureInfo.js.map +1 -1
- package/dist/core/MeshOpt.d.ts.map +1 -1
- package/dist/core/MeshOpt.js +12 -1
- package/dist/core/MeshOpt.js.map +1 -1
- package/dist/core/S3MBParser.d.ts.map +1 -1
- package/dist/core/S3MBParser.js +9 -5
- package/dist/core/S3MBParser.js.map +1 -1
- package/dist/core/TextureFormat.d.ts +44 -0
- package/dist/core/TextureFormat.d.ts.map +1 -0
- package/dist/core/TextureFormat.js +97 -0
- package/dist/core/TextureFormat.js.map +1 -0
- package/dist/core/types.d.ts +9 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/render/GeometryBuilder.d.ts.map +1 -1
- package/dist/render/GeometryBuilder.js +19 -7
- package/dist/render/GeometryBuilder.js.map +1 -1
- package/dist/render/Picker.d.ts +13 -2
- package/dist/render/Picker.d.ts.map +1 -1
- package/dist/render/Picker.js +50 -14
- package/dist/render/Picker.js.map +1 -1
- package/dist/render/S3MLayer.d.ts +83 -2
- package/dist/render/S3MLayer.d.ts.map +1 -1
- package/dist/render/S3MLayer.js +429 -67
- package/dist/render/S3MLayer.js.map +1 -1
- package/dist/render/StyleMaterial.d.ts.map +1 -1
- package/dist/render/StyleMaterial.js +19 -4
- package/dist/render/StyleMaterial.js.map +1 -1
- package/dist/render/TextureFactory.d.ts +7 -4
- package/dist/render/TextureFactory.d.ts.map +1 -1
- package/dist/render/TextureFactory.js +48 -20
- package/dist/render/TextureFactory.js.map +1 -1
- package/dist/tileset/S3MTileset.d.ts +38 -0
- package/dist/tileset/S3MTileset.d.ts.map +1 -1
- package/dist/tileset/S3MTileset.js +105 -8
- package/dist/tileset/S3MTileset.js.map +1 -1
- package/dist/vendor/crunch_decoder.module.js +1140 -0
- package/docs/API.md +52 -4
- package/package.json +7 -3
- package/src/core/CRNDecode.ts +107 -0
- package/src/core/FeatureInfo.ts +37 -2
- package/src/core/MeshOpt.ts +13 -1
- package/src/core/S3MBParser.ts +9 -5
- package/src/core/TextureFormat.ts +103 -0
- package/src/core/types.ts +9 -0
- package/src/index.ts +5 -0
- package/src/render/GeometryBuilder.ts +20 -7
- package/src/render/Picker.ts +53 -14
- package/src/render/S3MLayer.ts +447 -63
- package/src/render/StyleMaterial.ts +19 -4
- package/src/render/TextureFactory.ts +51 -24
- package/src/tileset/S3MTileset.ts +115 -7
- package/src/vendor/crunch_decoder.module.d.ts +27 -0
- package/src/vendor/crunch_decoder.module.js +1140 -0
- package/tools/crn-probe.mjs +313 -0
- package/tools/parse-sample.mjs +10 -2
- package/tools/test-instanced.mjs +207 -0
- package/tools/test-parser.mjs +203 -0
- package/tools/test-regressions.mjs +483 -0
- 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
|
|
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.
|
|
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
|
-
|
|
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 /
|
|
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
|
|
219
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
-
|
|
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;
|
|
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"}
|
package/dist/core/FeatureInfo.js
CHANGED
|
@@ -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
|
|
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":"AAcA,oBAAoB;AACpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,UAAU,cAAc,CAC5B,GAAgC,EAChC,OAAe;IAEf,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAElE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,
|
|
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;
|
|
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"}
|
package/dist/core/MeshOpt.js
CHANGED
|
@@ -93,7 +93,12 @@ function strideFor(semantic, compressOptions, customId) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
function decode(decoder, vertexCount, stride, source) {
|
|
96
|
-
const
|
|
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 {
|
package/dist/core/MeshOpt.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/S3MBParser.js
CHANGED
|
@@ -423,21 +423,25 @@ function parsePickInfo(r, options, geoPackage, version) {
|
|
|
423
423
|
}
|
|
424
424
|
else {
|
|
425
425
|
const instanceCount = vp.instanceCount;
|
|
426
|
-
const
|
|
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
|
-
|
|
437
|
-
|
|
436
|
+
if (instanceId >= 0 && instanceId < instanceCount) {
|
|
437
|
+
entry.instanceIds.push(instanceId);
|
|
438
|
+
instanceBatchIds[instanceId] = j;
|
|
439
|
+
}
|
|
438
440
|
}
|
|
439
441
|
}
|
|
440
|
-
|
|
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"}
|