s3m-three 0.4.18 → 0.4.19

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 (130) hide show
  1. package/dist/browser/assets/s3mWorker-4iTAmWIu.js +1 -0
  2. package/dist/browser/s3m-three.iife.ext-three.js +406 -91
  3. package/dist/browser/s3m-three.iife.js +434 -119
  4. package/dist/core/GaussianSplat.d.ts +64 -0
  5. package/dist/core/GaussianSplat.d.ts.map +1 -0
  6. package/dist/core/GaussianSplat.js +139 -0
  7. package/dist/core/GaussianSplat.js.map +1 -0
  8. package/dist/core/S3M1Parser.d.ts +1 -1
  9. package/dist/core/S3M1Parser.d.ts.map +1 -1
  10. package/dist/core/S3M1Parser.js +320 -25
  11. package/dist/core/S3M1Parser.js.map +1 -1
  12. package/dist/core/S3MBParser.d.ts.map +1 -1
  13. package/dist/core/S3MBParser.js +13 -0
  14. package/dist/core/S3MBParser.js.map +1 -1
  15. package/dist/core/S3MBlockParser.d.ts.map +1 -1
  16. package/dist/core/S3MBlockParser.js +56 -14
  17. package/dist/core/S3MBlockParser.js.map +1 -1
  18. package/dist/core/SplatLod.d.ts +36 -0
  19. package/dist/core/SplatLod.d.ts.map +1 -0
  20. package/dist/core/SplatLod.js +54 -0
  21. package/dist/core/SplatLod.js.map +1 -0
  22. package/dist/core/SplatProjection.d.ts +75 -0
  23. package/dist/core/SplatProjection.d.ts.map +1 -0
  24. package/dist/core/SplatProjection.js +162 -0
  25. package/dist/core/SplatProjection.js.map +1 -0
  26. package/dist/core/SplatSort.d.ts +13 -0
  27. package/dist/core/SplatSort.d.ts.map +1 -0
  28. package/dist/core/SplatSort.js +14 -0
  29. package/dist/core/SplatSort.js.map +1 -0
  30. package/dist/core/TexCoordZ.d.ts +94 -0
  31. package/dist/core/TexCoordZ.d.ts.map +1 -0
  32. package/dist/core/TexCoordZ.js +125 -0
  33. package/dist/core/TexCoordZ.js.map +1 -0
  34. package/dist/core/TextureDecode.d.ts +19 -0
  35. package/dist/core/TextureDecode.d.ts.map +1 -1
  36. package/dist/core/TextureDecode.js +53 -11
  37. package/dist/core/TextureDecode.js.map +1 -1
  38. package/dist/core/TileGeometry.d.ts +29 -0
  39. package/dist/core/TileGeometry.d.ts.map +1 -1
  40. package/dist/core/TileGeometry.js +130 -14
  41. package/dist/core/TileGeometry.js.map +1 -1
  42. package/dist/core/degradations.d.ts +37 -0
  43. package/dist/core/degradations.d.ts.map +1 -0
  44. package/dist/core/degradations.js +32 -0
  45. package/dist/core/degradations.js.map +1 -0
  46. package/dist/core/types.d.ts +36 -0
  47. package/dist/core/types.d.ts.map +1 -1
  48. package/dist/index.d.ts +7 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +4 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/render/DatasetManager.d.ts +11 -0
  53. package/dist/render/DatasetManager.d.ts.map +1 -1
  54. package/dist/render/DatasetManager.js +2 -0
  55. package/dist/render/DatasetManager.js.map +1 -1
  56. package/dist/render/FeatureStyleManager.d.ts.map +1 -1
  57. package/dist/render/FeatureStyleManager.js +7 -5
  58. package/dist/render/FeatureStyleManager.js.map +1 -1
  59. package/dist/render/GeometryBuilder.d.ts +24 -0
  60. package/dist/render/GeometryBuilder.d.ts.map +1 -1
  61. package/dist/render/GeometryBuilder.js +196 -5
  62. package/dist/render/GeometryBuilder.js.map +1 -1
  63. package/dist/render/Picker.d.ts.map +1 -1
  64. package/dist/render/Picker.js +19 -5
  65. package/dist/render/Picker.js.map +1 -1
  66. package/dist/render/S3MViewer.d.ts +69 -0
  67. package/dist/render/S3MViewer.d.ts.map +1 -1
  68. package/dist/render/S3MViewer.js +222 -12
  69. package/dist/render/S3MViewer.js.map +1 -1
  70. package/dist/render/SplatMaterial.d.ts +103 -0
  71. package/dist/render/SplatMaterial.d.ts.map +1 -0
  72. package/dist/render/SplatMaterial.js +388 -0
  73. package/dist/render/SplatMaterial.js.map +1 -0
  74. package/dist/render/SplatSorter.d.ts +14 -0
  75. package/dist/render/SplatSorter.d.ts.map +1 -0
  76. package/dist/render/SplatSorter.js +59 -0
  77. package/dist/render/SplatSorter.js.map +1 -0
  78. package/dist/render/StyleMaterial.d.ts +48 -0
  79. package/dist/render/StyleMaterial.d.ts.map +1 -1
  80. package/dist/render/StyleMaterial.js +292 -69
  81. package/dist/render/StyleMaterial.js.map +1 -1
  82. package/dist/render/TextureFactory.d.ts +10 -0
  83. package/dist/render/TextureFactory.d.ts.map +1 -1
  84. package/dist/render/TextureFactory.js +35 -5
  85. package/dist/render/TextureFactory.js.map +1 -1
  86. package/dist/render/lightingPreset.d.ts +53 -0
  87. package/dist/render/lightingPreset.d.ts.map +1 -0
  88. package/dist/render/lightingPreset.js +36 -0
  89. package/dist/render/lightingPreset.js.map +1 -0
  90. package/dist/render/materialAlpha.d.ts +51 -0
  91. package/dist/render/materialAlpha.d.ts.map +1 -0
  92. package/dist/render/materialAlpha.js +68 -0
  93. package/dist/render/materialAlpha.js.map +1 -0
  94. package/dist/tileset/S3MTileset.d.ts +42 -0
  95. package/dist/tileset/S3MTileset.d.ts.map +1 -1
  96. package/dist/tileset/S3MTileset.js +52 -1
  97. package/dist/tileset/S3MTileset.js.map +1 -1
  98. package/dist/vendor/browser-node-stub.js +10 -0
  99. package/dist/worker/s3mWorker.js +1166 -979
  100. package/dist/worker/s3mWorker.js.map +1 -1
  101. package/docs/API.md +55 -1
  102. package/docs/FORMAT-NOTES.md +338 -0
  103. package/package.json +1 -1
  104. package/src/core/GaussianSplat.ts +175 -0
  105. package/src/core/S3M1Parser.ts +330 -24
  106. package/src/core/S3MBParser.ts +18 -0
  107. package/src/core/S3MBlockParser.ts +56 -11
  108. package/src/core/SplatLod.ts +83 -0
  109. package/src/core/SplatProjection.ts +231 -0
  110. package/src/core/SplatSort.ts +30 -0
  111. package/src/core/TexCoordZ.ts +160 -0
  112. package/src/core/TextureDecode.ts +63 -11
  113. package/src/core/TileGeometry.ts +138 -14
  114. package/src/core/degradations.ts +74 -0
  115. package/src/core/types.ts +32 -0
  116. package/src/index.ts +8 -1
  117. package/src/render/DatasetManager.ts +10 -0
  118. package/src/render/FeatureStyleManager.ts +7 -5
  119. package/src/render/GeometryBuilder.ts +239 -6
  120. package/src/render/Picker.ts +21 -5
  121. package/src/render/S3MViewer.ts +255 -11
  122. package/src/render/SplatMaterial.ts +433 -0
  123. package/src/render/SplatSorter.ts +59 -0
  124. package/src/render/StyleMaterial.ts +339 -69
  125. package/src/render/TextureFactory.ts +39 -5
  126. package/src/render/lightingPreset.ts +76 -0
  127. package/src/render/materialAlpha.ts +75 -0
  128. package/src/tileset/S3MTileset.ts +78 -1
  129. package/src/vendor/browser-node-stub.js +10 -0
  130. package/dist/browser/assets/s3mWorker-BjPOUgjg.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"S3MViewer.d.ts","sourceRoot":"","sources":["../../src/render/S3MViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S3MViewer.d.ts","sourceRoot":"","sources":["../../src/render/S3MViewer.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,14 @@
23
23
  import * as THREE from 'three';
24
24
  import { usableGeoBounds } from '../tileset/S3MTileset.js';
25
25
  import { authFetch } from '../core/AuthFetch.js';
26
- import { setMaxAnisotropy, setCompressedTexturesSupported, setTextureOffThreadDecode, setMaxTextureSize as setTextureSizeCap } from './TextureFactory.js';
27
- import { getMaterialQuality, setMaterialQuality } from './StyleMaterial.js';
26
+ import { sortSplatMesh } from './SplatSorter.js';
27
+ import { splatCenterBounds } from './SplatMaterial.js';
28
+ import { setSplatViewport } from './GeometryBuilder.js';
29
+ import { setMaxAnisotropy, setAnisotropyCap, setCompressedTexturesSupported, setTextureOffThreadDecode, setMaxTextureSize as setTextureSizeCap, setSrgbTextureDecode } from './TextureFactory.js';
30
+ import { getMaterialQuality, setMaterialQuality, setColorPipeline } from './StyleMaterial.js';
31
+ import { resolveLightingPreset } from './lightingPreset.js';
28
32
  import { decodeTextureWithWorker } from '../worker/S3MWorkerClient.js';
29
- import { STYLE, STYLE_LABELS, SELECT_MODE, DEFAULT_STYLE, createSharedUniforms, createStyledMaterial, createOutlineMaterial, resolveEdgeModes, sameEdgeModes, } from './StyleMaterial.js';
33
+ import { STYLE, STYLE_LABELS, SELECT_MODE, DEFAULT_STYLE, createSharedUniforms, createStyledMaterial, createOutlineMaterial, resolveEdgeModes, sameEdgeModes, restoreBaseBlendState, } from './StyleMaterial.js';
30
34
  import { applyPointCloudStyle, isOwnedPointCloudMaterial } from './PointCloudMaterial.js';
31
35
  import { Picker } from './Picker.js';
32
36
  import { GpuEdgePass } from './GpuEdgePass.js';
@@ -82,6 +86,8 @@ const STYLE_SCALAR_KEYS = [
82
86
  'texMix',
83
87
  'roofThreshold',
84
88
  'ambientGain',
89
+ 'metalness',
90
+ 'roughness',
85
91
  'edgeWidth',
86
92
  'edgeOpacity',
87
93
  'edgeOffset',
@@ -191,6 +197,9 @@ export class S3MViewer {
191
197
  _nativeEdgeLines = new Set();
192
198
  /** 点云对象集合:透明度动画时只刷它们,避免每帧遍历全部 pickables */
193
199
  _pointClouds = new Set();
200
+ /** 泼溅排序状态:相机不动且没有新瓦片时,排序结果可以直接复用 */
201
+ _lastSplatSortView = new THREE.Matrix4();
202
+ _splatsSorted = false;
194
203
  /** 当前材质是否处于 transparent 状态,用来避免逐帧重复切换 program */
195
204
  _opacityTransparent = false;
196
205
  /**
@@ -214,6 +223,8 @@ export class S3MViewer {
214
223
  _hemiLight;
215
224
  _keyLight;
216
225
  _fillLight;
226
+ /** 环境贴图的 PMREM 渲染目标(setEnvironment 建的,unmount 时释放) */
227
+ _envRT = null;
217
228
  _lightOptions = {
218
229
  ambientIntensity: 0.4,
219
230
  ambientColor: 0xffffff,
@@ -235,6 +246,8 @@ export class S3MViewer {
235
246
  /** 鉴权适配(全局默认),构造时注入 */
236
247
  _authenticate;
237
248
  _lodRangeScale = 1.0;
249
+ /** 图层级降级策略,数据集可覆盖,见 `S3MViewerOptions.unsupported` */
250
+ _unsupported;
238
251
  /** LOD 判定屏幕高度的 DPR 上限。Infinity = 不截断(默认,行为同旧版) */
239
252
  _lodPixelRatioCap = Infinity;
240
253
  /** 宿主请求重画(MapLibre 传 triggerRepaint,纯 three 宿主传自己的渲染循环) */
@@ -248,9 +261,14 @@ export class S3MViewer {
248
261
  this.options = options;
249
262
  this.pickable = options.pickable !== false;
250
263
  this._lodRangeScale = options.lodRangeScale ?? 1.0;
264
+ this._unsupported = options.unsupported ?? 'warn';
251
265
  this._lodPixelRatioCap = options.lodPixelRatioCap ?? Infinity;
252
266
  setTextureSizeCap(options.maxTextureSize ?? Infinity);
253
267
  setMaterialQuality(options.materialQuality ?? 'pbr');
268
+ if (options.lightingPreset && options.lightingPreset !== 'default') {
269
+ Object.assign(this._lightOptions, resolveLightingPreset(options.lightingPreset));
270
+ this._applyColorPipeline(options.lightingPreset);
271
+ }
254
272
  if (options.light) {
255
273
  Object.assign(this._lightOptions, options.light);
256
274
  }
@@ -411,6 +429,8 @@ export class S3MViewer {
411
429
  this.groundManager.dispose();
412
430
  this.picker?.dispose();
413
431
  this.picker = null;
432
+ this._envRT?.dispose();
433
+ this._envRT = null;
414
434
  this.outlineMaterial.dispose();
415
435
  this._gpuEdge?.dispose();
416
436
  this._gpuEdge = null;
@@ -468,6 +488,32 @@ export class S3MViewer {
468
488
  this._fillLight.color.set(this._lightOptions.fillLightColor);
469
489
  }
470
490
  }
491
+ /**
492
+ * 运行时切换光照预设:覆盖四个强度,颜色/朝向保持不变。
493
+ * 之后再调 `setLight({...})` 仍然可以逐项微调。
494
+ */
495
+ /**
496
+ * supermap 完整版 = 光照强度 + 颜色管线一起切:
497
+ * direct 管线下纹理不做 sRGB 解码、片元按官方常数 Lambert 直乘(见 lightingPreset.ts)。
498
+ * 两个都是模块级全局态,只影响之后创建的材质 / 纹理 —— 已加载瓦片要重载才换。
499
+ */
500
+ _applyColorPipeline(preset) {
501
+ const direct = preset === 'supermap';
502
+ setColorPipeline(direct ? 'direct' : 'linear');
503
+ setSrgbTextureDecode(!direct);
504
+ // 官方不开各向异性:远处直接采高 mip 平均成纯色("灰色滤镜"的一部分)。
505
+ // 我们默认 Infinity(倾斜摄影立面清晰度优先),supermap 模式必须收回。
506
+ setAnisotropyCap(direct ? 1 : Infinity);
507
+ }
508
+ setLightingPreset(preset) {
509
+ Object.assign(this._lightOptions, resolveLightingPreset(preset));
510
+ this._applyColorPipeline(preset);
511
+ this.options.lightingPreset = preset;
512
+ this._applyLightOptions();
513
+ this._updateLights();
514
+ this._needsRepaint = true;
515
+ this.triggerRepaint();
516
+ }
471
517
  /**
472
518
  * 动态设置光照配置
473
519
  */
@@ -532,20 +578,28 @@ export class S3MViewer {
532
578
  };
533
579
  place(this._keyLight, this._lightOptions.azimuth, this._lightOptions.altitude);
534
580
  place(this._fillLight, this._lightOptions.azimuth + 65, Math.max(10, this._lightOptions.altitude - 20));
581
+ // direct 管线的官方 Lambert 用主光方向(共享 uniform,所有材质同步生效)
582
+ if (this.uniforms?.uSunDirection && this._keyLight) {
583
+ this.uniforms.uSunDirection.value.copy(this._keyLight.position).normalize();
584
+ }
535
585
  }
536
586
  /* ---------------------------------------------------------------- 数据集 */
537
587
  _normalizeDatasets(options) {
538
588
  if (Array.isArray(options.datasets))
539
- return options.datasets.filter((d) => !!d?.configUrl);
589
+ return options.datasets
590
+ .filter((d) => !!d?.configUrl)
591
+ .map((d) => ({ ...d, polygonOffset: d.polygonOffset ?? options.polygonOffset }));
540
592
  if (options.configUrl)
541
- return [{ id: 'default', name: '默认数据集', configUrl: options.configUrl, useWorker: options.useWorker }];
593
+ return [{ id: 'default', name: '默认数据集', configUrl: options.configUrl, useWorker: options.useWorker, polygonOffset: options.polygonOffset }];
542
594
  return [];
543
595
  }
544
596
  /** 追加一个数据集。图层 addLayer 之前调用会抛错。 */
545
597
  async addDataset(ds) {
546
598
  if (!this.scene)
547
599
  throw new Error('[s3m] 图层尚未 addLayer,不能添加数据集');
548
- const entry = await this._datasetManager.addDataset(ds, this.scene, this.geo, this.uniforms, this._lodRangeScale, this.options.buildTile, this.options.maxTiles ?? 64, this.options.maxConcurrent ?? 4, {
600
+ // 图层级默认值:数据集自己指定了就用自己的,见 `S3MViewerOptions.unsupported`
601
+ const merged = { ...ds, unsupported: ds.unsupported ?? this._unsupported };
602
+ const entry = await this._datasetManager.addDataset(merged, this.scene, this.geo, this.uniforms, this._lodRangeScale, this.options.buildTile, this.options.maxTiles ?? 64, this.options.maxConcurrent ?? 4, {
549
603
  onTile: (node, e) => {
550
604
  this._registerTile(node, e);
551
605
  this.onStats(this.stats);
@@ -1354,6 +1408,9 @@ export class S3MViewer {
1354
1408
  continue;
1355
1409
  if (isPoints)
1356
1410
  this._pointClouds.add(child);
1411
+ // 新瓦片里的泼溅实例还没按当前视角排过,下一帧要重排
1412
+ if (isPoints)
1413
+ this._splatsSorted = false;
1357
1414
  const ud = mesh.userData;
1358
1415
  ud.pickId = this._allocPickId();
1359
1416
  ud.datasetId = entry.id;
@@ -1387,9 +1444,11 @@ export class S3MViewer {
1387
1444
  if (mat) {
1388
1445
  const o = clampOpacity(this.style.opacity);
1389
1446
  // 不写 mat.opacity:全局透明度走共享 uOpacity,材质自身 opacity 保留模型自带 alpha
1390
- mat.transparent = o < 0.999;
1447
+ // 混合开关不能写成 `o < 0.999` 一刀切:材质自身可能是 blend / 顶点 alpha
1448
+ // 透明(s3mOpts.transparent,如 SMID 4421),注册时就被这句踩掉,
1449
+ // 表现为「刚进去没透明度,切换材质质感重建后才恢复」。
1391
1450
  const keepDepth = this.style.depthWrite !== false;
1392
- mat.depthWrite = mat.transparent ? keepDepth : (this.style.depthWrite !== false);
1451
+ restoreBaseBlendState(mat, o < 0.999, keepDepth);
1393
1452
  // shading 走共享 uniform(uFlatShading),不写 mat.flatShading / needsUpdate——
1394
1453
  // transparent / depthWrite 也不是 program 决定项,整套样式继承零重编译
1395
1454
  if (mat.userData.uFlatShading) {
@@ -1443,9 +1502,10 @@ export class S3MViewer {
1443
1502
  mesh.userData.tileFadeKey = undefined;
1444
1503
  this.animator.unregister(key);
1445
1504
  // 淡入期间强制开了 transparent + depthWrite,结束时不能自己拍板关掉——
1446
- // 图层可能本来就半透明、单体也可能还有淡化。交给淡化流程重新裁决一次。
1505
+ // 先恢复「材质自身语义 || 图层透明度」的基础状态(材质可能是 blend /
1506
+ // 顶点 alpha 透明,如 SMID 4421),再让单体淡化流程有需要时重新打开。
1507
+ restoreBaseBlendState(mat, this._opacityTransparent, this.style.depthWrite !== false);
1447
1508
  this._featureStyleManager.applyOverridesToMesh(mesh);
1448
- mat.depthWrite = this.style.depthWrite !== false;
1449
1509
  this._requestRepaint();
1450
1510
  },
1451
1511
  });
@@ -1646,6 +1706,46 @@ export class S3MViewer {
1646
1706
  getStyle() {
1647
1707
  return { ...this._styleTarget, modeLabel: STYLE_LABELS[this._styleTarget.mode] };
1648
1708
  }
1709
+ /**
1710
+ * 挂 / 摘环境贴图。
1711
+ *
1712
+ * 金属度(`setStyle({ metalness })`)**必须**有环境图才看得出质感:
1713
+ * PBR 的金属几乎没有漫反射,画面全靠 `scene.environment` 里的环境反射,
1714
+ * 没有它时 metalness 一高就整片发黑,只剩两盏平行灯打成的小高光点。
1715
+ *
1716
+ * @param source 等距柱状图(.hdr / .jpg / .png,2:1)地址,或已加载的 `THREE.Texture`;
1717
+ * `null` = 关掉环境图
1718
+ * @param intensity 环境光强度(`scene.environmentIntensity`,默认 1)
1719
+ *
1720
+ * 传入 URL 时纹理由内部加载并转成 PMREM(预滤波 mipmap);传 Texture 时不会接管它的生命周期。
1721
+ */
1722
+ async setEnvironment(source, intensity = 1) {
1723
+ if (!this.renderer || !this.scene)
1724
+ return;
1725
+ this.scene.environmentIntensity = Math.max(0, intensity);
1726
+ if (source == null) {
1727
+ this.scene.environment = null;
1728
+ this._envRT?.dispose();
1729
+ this._envRT = null;
1730
+ this._requestRepaint();
1731
+ return;
1732
+ }
1733
+ const fromUrl = typeof source === 'string';
1734
+ const tex = fromUrl ? await new THREE.TextureLoader().loadAsync(source) : source;
1735
+ // PMREM 只认等距柱状图;普通贴图也按 2:1 全景处理
1736
+ tex.mapping = THREE.EquirectangularReflectionMapping;
1737
+ const pmrem = new THREE.PMREMGenerator(this.renderer);
1738
+ pmrem.compileEquirectangularShader();
1739
+ const rt = pmrem.fromEquirectangular(tex);
1740
+ pmrem.dispose();
1741
+ if (fromUrl)
1742
+ tex.dispose();
1743
+ this.scene.environment = rt.texture;
1744
+ // 上一张(同一个 viewer 反复换)要释放,否则显存里会一直堆
1745
+ this._envRT?.dispose();
1746
+ this._envRT = rt;
1747
+ this._requestRepaint();
1748
+ }
1649
1749
  /** 把某个样式键的取值转成动画通道能吃的形状(标量 or 线性 RGB 三元组) */
1650
1750
  _animTargetOf(key, patch) {
1651
1751
  const value = patch[key];
@@ -1825,6 +1925,11 @@ export class S3MViewer {
1825
1925
  if (u.uAmbientGain && s.ambientGain != null) {
1826
1926
  u.uAmbientGain.value = s.ambientGain;
1827
1927
  }
1928
+ // 金属度 / 粗糙度:负值 = 不覆盖,保持材质(数据)自身的值
1929
+ if (u.uMetalness)
1930
+ u.uMetalness.value = s.metalness ?? -1;
1931
+ if (u.uRoughness)
1932
+ u.uRoughness.value = s.roughness ?? -1;
1828
1933
  if (u.uOpacity && s.opacity != null) {
1829
1934
  u.uOpacity.value = clampOpacity(s.opacity);
1830
1935
  }
@@ -1871,8 +1976,9 @@ export class S3MViewer {
1871
1976
  continue;
1872
1977
  if ((m.userData.uTileFade?.value ?? 1) < 1)
1873
1978
  continue;
1874
- m.transparent = transparent;
1875
- m.depthWrite = transparent ? keepDepth : true;
1979
+ // 材质自身可能是 blend / 顶点 alpha 透明(s3mOpts.transparent),
1980
+ // 关全局混合时不能把它一刀切成不透明
1981
+ restoreBaseBlendState(m, transparent, keepDepth);
1876
1982
  }
1877
1983
  }
1878
1984
  // 点云不走 StyleMaterial,自己有一套 uOpacity,逐帧刷的只有这几个对象
@@ -2550,6 +2656,10 @@ export class S3MViewer {
2550
2656
  }
2551
2657
  _buildPickResult(hit, ref, exactPoint, ray) {
2552
2658
  const ud = ref.mesh.userData;
2659
+ // 泼溅走独立分支:它既没有 instanceMatrix,也没有 geoRef.pickInfo 里的单体表,
2660
+ // 走下面那段会在 `_instanceFeature()` 拿到 null 直接返回 —— 表现是「点得中但拿不到结果」。
2661
+ if (ud.isGaussianSplat)
2662
+ return this._buildSplatPickResult(hit, ref, exactPoint, ray);
2553
2663
  let smid = null;
2554
2664
  let batchId = hit.batchId;
2555
2665
  let instanceIndex = hit.instanceIndex;
@@ -2693,6 +2803,72 @@ export class S3MViewer {
2693
2803
  mesh: ref.mesh,
2694
2804
  };
2695
2805
  }
2806
+ /**
2807
+ * 泼溅的拾取结果。
2808
+ *
2809
+ * 整块泼溅瓦片当一个单体(没有单体级 smid 可报),命中点由 `splatRaycast` 给出 ——
2810
+ * 它按每个高斯的 3σ 球求交,比拾取那一趟为了命中率摊开的 4px 方块准得多。
2811
+ * 包围盒必须由 `iCenter` 算:geometry 的 position 只是 [-1,1]² 的四边形角点。
2812
+ */
2813
+ _buildSplatPickResult(hit, ref, exactPoint, ray) {
2814
+ const anchor = this.sceneAnchor;
2815
+ if (!anchor)
2816
+ return null;
2817
+ const mesh = ref.mesh;
2818
+ let hitPoint = exactPoint ?? null;
2819
+ if (!hitPoint && ray)
2820
+ hitPoint = this._intersectMeshAtRay(mesh, ray);
2821
+ const local = splatCenterBounds(mesh.geometry);
2822
+ const box = local
2823
+ ? {
2824
+ minX: local.minX,
2825
+ minY: local.minY,
2826
+ minZ: local.minZ,
2827
+ maxX: local.maxX,
2828
+ maxY: local.maxY,
2829
+ maxZ: local.maxZ,
2830
+ count: local.count,
2831
+ triangles: 0,
2832
+ }
2833
+ : null;
2834
+ const attributes = buildAttributes({
2835
+ smid: null,
2836
+ box,
2837
+ triangles: 0,
2838
+ floorHeight: this.style.floorHeight,
2839
+ });
2840
+ const s = anchor.meterInMercator;
2841
+ let point = null;
2842
+ let lngLat = null;
2843
+ let altitude = null;
2844
+ let centerLngLat = null;
2845
+ if (hitPoint) {
2846
+ point = [hitPoint.x, hitPoint.y, hitPoint.z];
2847
+ lngLat = this._lngLatFromWorld(hitPoint.x * s + anchor.x, -hitPoint.y * s + anchor.y);
2848
+ altitude = hitPoint.z + (anchor.altitude ?? 0);
2849
+ // 泼溅命中的就是一个高斯,没有「单体中心」可言,用命中点当中心
2850
+ centerLngLat = lngLat;
2851
+ }
2852
+ else if (box) {
2853
+ const v = new THREE.Vector3((box.minX + box.maxX) / 2, (box.minY + box.maxY) / 2, (box.minZ + box.maxZ) / 2).applyMatrix4(mesh.matrixWorld);
2854
+ centerLngLat = this._lngLatFromWorld(v.x * s + anchor.x, -v.y * s + anchor.y);
2855
+ altitude = v.z + (anchor.altitude ?? 0);
2856
+ }
2857
+ return {
2858
+ datasetId: ref.datasetId,
2859
+ datasetName: this.datasets.get(ref.datasetId)?.name ?? ref.datasetId,
2860
+ objectId: hit.objectId,
2861
+ batchId: -1,
2862
+ instanceIndex: undefined,
2863
+ skeletonName: ref.skeletonName,
2864
+ centerLngLat,
2865
+ point,
2866
+ lngLat,
2867
+ altitude,
2868
+ ...attributes,
2869
+ mesh,
2870
+ };
2871
+ }
2696
2872
  /** 按 canvas 左上角的 CSS 像素坐标拾取。 */
2697
2873
  pick(x, y) {
2698
2874
  if (!this.picker || !this.scene || !this.camera || !this.sceneAnchor)
@@ -3378,6 +3554,25 @@ export class S3MViewer {
3378
3554
  }
3379
3555
  this._requestRepaint();
3380
3556
  }
3557
+ /**
3558
+ * 泼溅实例按视深 back-to-front 重排:alpha 混合是顺序相关的,
3559
+ * 乱序混合就是满屏彩色噪点。相机没动且没有新瓦片时整个跳过;
3560
+ * 单个瓦片顺序本来就对时 sortSplatMesh 内部也会跳过重写。
3561
+ */
3562
+ _sortSplats() {
3563
+ const cam = this.camera;
3564
+ if (!cam)
3565
+ return;
3566
+ if (this._splatsSorted && this._lastSplatSortView.equals(cam.matrixWorldInverse))
3567
+ return;
3568
+ for (const pc of this._pointClouds) {
3569
+ if (!pc.userData.isGaussianSplat)
3570
+ continue;
3571
+ sortSplatMesh(pc, cam.matrixWorldInverse);
3572
+ }
3573
+ this._lastSplatSortView.copy(cam.matrixWorldInverse);
3574
+ this._splatsSorted = true;
3575
+ }
3381
3576
  /**
3382
3577
  * 渲染一帧。所有宿主相关量都由调用方喂进来,viewer 不碰任何地图 API:
3383
3578
  *
@@ -3449,11 +3644,14 @@ export class S3MViewer {
3449
3644
  this._updateLights();
3450
3645
  // 等宽棱线按设备像素撑开,分辨率每帧同步一次
3451
3646
  this._updateLineResolution(canvas);
3647
+ // 泼溅的最小像素半径 / 抗锯齿低通同样要把 ndc 换算成像素
3648
+ setSplatViewport(canvas.width, canvas.height);
3452
3649
  this.renderer.setViewport(0, 0, canvas.width, canvas.height);
3453
3650
  this.renderer.resetState();
3454
3651
  // 完全透明时什么都不画:透明物体照样写深度,画了会在底图上挖出一个洞。
3455
3652
  // 这里跳过的是「本层的绘制」,宿主自己的清屏 / 底图照旧。
3456
3653
  if ((this.uniforms.uOpacity?.value ?? 1) > OPACITY_EPS) {
3654
+ this._sortSplats();
3457
3655
  this.renderer.render(this.scene, this.camera);
3458
3656
  // GPU 描边必须画在主场景之后:它的全屏 quad 参与宿主深度测试,
3459
3657
  // 依赖本帧已经写好的深度(被地形挡住的地方不该描边)
@@ -3497,7 +3695,9 @@ export class S3MViewer {
3497
3695
  programs: 0,
3498
3696
  textures: 0,
3499
3697
  geometries: 0,
3698
+ degradations: [],
3500
3699
  };
3700
+ let degradations = null;
3501
3701
  for (const entry of this.datasets.values()) {
3502
3702
  const s = entry.tileset?.stats;
3503
3703
  if (!s)
@@ -3508,7 +3708,17 @@ export class S3MViewer {
3508
3708
  total.meshes += s.meshes;
3509
3709
  total.vertices += s.vertices;
3510
3710
  total.triangles += s.triangles;
3711
+ // 降级项跨数据集去重:同一类只报一次给 UI
3712
+ if (s.degradations?.length) {
3713
+ degradations ??= [];
3714
+ for (const d of s.degradations) {
3715
+ if (!degradations.includes(d))
3716
+ degradations.push(d);
3717
+ }
3718
+ }
3511
3719
  }
3720
+ if (degradations)
3721
+ total.degradations = degradations;
3512
3722
  // GPU 侧预算观测:draw call / program / 显存驻留。没有渲染器(未 mount /
3513
3723
  // 纯解析场景)时保持 0,不抛错。
3514
3724
  const info = this.renderer?.info;