@realsee/five-webgpu 1.0.0-alpha.3 → 1.0.0-alpha.4

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 (66) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  5. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  6. package/docs/classes/index.FivePass.html +1 -1
  7. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  8. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  9. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  10. package/docs/classes/index.GaussianBlurPass.html +1 -1
  11. package/docs/classes/index.Model.html +1 -1
  12. package/docs/classes/index.ModelScene.html +1 -1
  13. package/docs/classes/index.PBMMeshBasicMaterial.html +4 -3
  14. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +4 -3
  15. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +4 -3
  16. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +4 -3
  17. package/docs/classes/index.PBMMeshPhongMaterial.html +4 -3
  18. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +4 -3
  19. package/docs/classes/index.PBMMeshPhysicalMaterial.html +4 -3
  20. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +4 -3
  21. package/docs/classes/index.PBMPanoFilter.html +8 -8
  22. package/docs/classes/index.PBMUpdateable.html +1 -1
  23. package/docs/classes/index.Parameter.html +53 -51
  24. package/docs/classes/index.Tile3D.html +1 -1
  25. package/docs/classes/index.TileNode.html +1 -1
  26. package/docs/classes/index.TrajectoryNode.html +1 -1
  27. package/docs/classes/index.WorkResolvedObserver.html +1 -1
  28. package/docs/hierarchy.html +1 -1
  29. package/docs/interfaces/index.IPBMMaterial.html +3 -2
  30. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +1 -1
  31. package/docs/interfaces/index.PBMClipperParameter.html +2 -2
  32. package/docs/interfaces/index.PBMHDRConfig.html +2 -2
  33. package/docs/interfaces/index.PBMPanoDepth.html +5 -5
  34. package/docs/interfaces/index.PBMPanoFilterValue.html +2 -2
  35. package/docs/interfaces/index.PBMPanoPicture.html +8 -8
  36. package/docs/interfaces/index.PBMRefinedScreen.html +2 -2
  37. package/docs/interfaces/index.ParameterMaterialValue.html +38 -36
  38. package/docs/interfaces/index.ParameterTilesetValue.html +15 -15
  39. package/docs/interfaces/index.ParameterValue.html +52 -50
  40. package/docs/interfaces/index.ResolvedParameterValue.html +52 -50
  41. package/docs/interfaces/index.ViewLayer.html +1 -1
  42. package/docs/interfaces/index.WorkCubeImage.html +1 -1
  43. package/docs/interfaces/index.WorkImage.html +1 -1
  44. package/docs/interfaces/index.WorkObserver.html +1 -1
  45. package/docs/interfaces/index.WorkTile.html +1 -1
  46. package/docs/modules/index.html +1 -1
  47. package/docs/types/index.PBMColorStyle.html +1 -1
  48. package/docs/types/index.PBMPointBack.html +1 -1
  49. package/docs/types/index.PBMPointShape.html +1 -1
  50. package/docs/types/index.PBMPointSize.html +1 -1
  51. package/docs/types/index.PBMRoofStyle.html +6 -0
  52. package/docs/types/index.ParseOptions.html +1 -1
  53. package/five/index.js +8 -8
  54. package/five/index.mjs +48 -31
  55. package/five/model/index.d.ts +1 -1
  56. package/five/model/materials/pbmMaterial.d.ts +7 -0
  57. package/five/model/parameter.d.ts +3 -1
  58. package/five/utils/ktx2.d.ts +3 -3
  59. package/package.json +1 -1
  60. package/plugins/index.js +2 -2
  61. package/plugins/index.mjs +2 -2
  62. package/react/index.js +2 -2
  63. package/react/index.mjs +2 -2
  64. package/umd/five-plugins.js +2 -2
  65. package/umd/five-react.js +2 -2
  66. package/umd/five.js +58 -58
package/five/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -3091,7 +3091,7 @@ var pn = class {
3091
3091
  colorTintBias: this.color.tintBias
3092
3092
  };
3093
3093
  }
3094
- }, gn = /* @__PURE__ */ "pano0Map.pano0MapSize.pano0Histogram.pano0Matrix.pano0Zoom.pano0GainMap.pano0HdrMaxContentBoost.pano0HdrMinContentBoost.pano0HdrCapacityMin.pano0HdrCapacityMax.pano0HdrGamma.pano0DepthMap.pano0DepthMaxDepth.pano1Map.pano1MapSize.pano1Histogram.pano1Matrix.pano1Zoom.pano1GainMap.pano1HdrMaxContentBoost.pano1HdrMinContentBoost.pano1HdrCapacityMin.pano1HdrCapacityMax.pano1HdrGamma.pano1DepthMap.pano1DepthMaxDepth.panoFilterSaturationBias.panoFilterContrastBias.panoFilterLutMap.panoFilterTemperatureBias.panoFilterTintBias.refinedScreenMap.refinedScreenProjectionMatrix.refinedScreenMatrixInverse.refinedScreenOpacity.refinedScreenPano.pointSize.pointShape.pointBack.pointScale.pointMinPixel.pointMaxPixel.vertexMarks.colorAlpha.alphaMode.modelAlpha.progress.transition.colorStyle.constantColor.floorIndex.shownFloorIndex.floorStyle.brightness.colorSaturation.colorBrightness.gradientTexture.useHDR.maxDisplayBoost.modelBoundingMin.modelBoundingMax".split(".");
3094
+ }, gn = /* @__PURE__ */ "pano0Map.pano0MapSize.pano0Histogram.pano0Matrix.pano0Zoom.pano0GainMap.pano0HdrMaxContentBoost.pano0HdrMinContentBoost.pano0HdrCapacityMin.pano0HdrCapacityMax.pano0HdrGamma.pano0DepthMap.pano0DepthMaxDepth.pano1Map.pano1MapSize.pano1Histogram.pano1Matrix.pano1Zoom.pano1GainMap.pano1HdrMaxContentBoost.pano1HdrMinContentBoost.pano1HdrCapacityMin.pano1HdrCapacityMax.pano1HdrGamma.pano1DepthMap.pano1DepthMaxDepth.panoFilterSaturationBias.panoFilterContrastBias.panoFilterLutMap.panoFilterTemperatureBias.panoFilterTintBias.refinedScreenMap.refinedScreenProjectionMatrix.refinedScreenMatrixInverse.refinedScreenOpacity.refinedScreenPano.pointSize.pointShape.pointBack.pointScale.pointMinPixel.pointMaxPixel.vertexMarks.colorAlpha.alphaMode.modelAlpha.progress.transition.colorStyle.constantColor.floorIndex.shownFloorIndex.floorStyle.roofStyle.brightness.colorSaturation.colorBrightness.gradientTexture.useHDR.maxDisplayBoost.modelBoundingMin.modelBoundingMax".split(".");
3095
3095
  function _n() {
3096
3096
  return {
3097
3097
  pano0Map: null,
@@ -3147,6 +3147,7 @@ function _n() {
3147
3147
  floorIndex: -1,
3148
3148
  shownFloorIndex: -1,
3149
3149
  floorStyle: "OPACITY",
3150
+ roofStyle: "AUTO",
3150
3151
  brightness: 1,
3151
3152
  colorSaturation: 0,
3152
3153
  colorBrightness: 0,
@@ -3158,7 +3159,7 @@ function _n() {
3158
3159
  };
3159
3160
  }
3160
3161
  function vn(e, t) {
3161
- e.pano0Map = t.pano0Map, e.pano0MapSize = t.pano0MapSize, e.pano0Histogram.copy(t.pano0Histogram), e.pano0Matrix.copy(t.pano0Matrix), e.pano0Zoom = t.pano0Zoom, e.pano0GainMap = t.pano0GainMap, e.pano0HdrMaxContentBoost = t.pano0HdrMaxContentBoost, e.pano0HdrMinContentBoost = t.pano0HdrMinContentBoost, e.pano0HdrCapacityMin = t.pano0HdrCapacityMin, e.pano0HdrCapacityMax = t.pano0HdrCapacityMax, e.pano0HdrGamma = t.pano0HdrGamma, e.pano0DepthMap = t.pano0DepthMap, e.pano0DepthMaxDepth = t.pano0DepthMaxDepth, e.pano1Map = t.pano1Map, e.pano1MapSize = t.pano1MapSize, e.pano1Histogram.copy(t.pano1Histogram), e.pano1Matrix.copy(t.pano1Matrix), e.pano1Zoom = t.pano1Zoom, e.pano1GainMap = t.pano1GainMap, e.pano1HdrMaxContentBoost = t.pano1HdrMaxContentBoost, e.pano1HdrMinContentBoost = t.pano1HdrMinContentBoost, e.pano1HdrCapacityMin = t.pano1HdrCapacityMin, e.pano1HdrCapacityMax = t.pano1HdrCapacityMax, e.pano1HdrGamma = t.pano1HdrGamma, e.pano1DepthMap = t.pano1DepthMap, e.pano1DepthMaxDepth = t.pano1DepthMaxDepth, e.panoFilterSaturationBias = t.panoFilterSaturationBias, e.panoFilterContrastBias = t.panoFilterContrastBias, e.panoFilterLutMap = t.panoFilterLutMap, e.panoFilterTemperatureBias = t.panoFilterTemperatureBias, e.panoFilterTintBias = t.panoFilterTintBias, e.refinedScreenMap = t.refinedScreenMap, e.refinedScreenProjectionMatrix.copy(t.refinedScreenProjectionMatrix), e.refinedScreenMatrixInverse.copy(t.refinedScreenMatrixInverse), e.refinedScreenOpacity = t.refinedScreenOpacity, e.refinedScreenPano = t.refinedScreenPano, e.pointSize = t.pointSize, e.pointShape = t.pointShape, e.pointScale = t.pointScale, e.pointMaxPixel = t.pointMaxPixel, e.pointMinPixel = t.pointMinPixel, e.vertexMarks = t.vertexMarks, e.colorAlpha = t.colorAlpha, e.alphaMode = t.alphaMode, e.modelAlpha = t.modelAlpha, e.progress = t.progress, e.transition = t.transition, e.colorStyle = t.colorStyle, e.floorStyle = t.floorStyle, e.brightness = t.brightness, e.colorSaturation = t.colorSaturation, e.colorBrightness = t.colorBrightness, e.floorIndex = t.floorIndex, e.shownFloorIndex = t.shownFloorIndex, e.useHDR = t.useHDR, e.maxDisplayBoost = t.maxDisplayBoost, e.gradientTexture = t.gradientTexture, e.constantColor.copy(t.constantColor), e.modelBoundingMin.copy(t.modelBoundingMin), e.modelBoundingMax.copy(t.modelBoundingMax);
3162
+ e.pano0Map = t.pano0Map, e.pano0MapSize = t.pano0MapSize, e.pano0Histogram.copy(t.pano0Histogram), e.pano0Matrix.copy(t.pano0Matrix), e.pano0Zoom = t.pano0Zoom, e.pano0GainMap = t.pano0GainMap, e.pano0HdrMaxContentBoost = t.pano0HdrMaxContentBoost, e.pano0HdrMinContentBoost = t.pano0HdrMinContentBoost, e.pano0HdrCapacityMin = t.pano0HdrCapacityMin, e.pano0HdrCapacityMax = t.pano0HdrCapacityMax, e.pano0HdrGamma = t.pano0HdrGamma, e.pano0DepthMap = t.pano0DepthMap, e.pano0DepthMaxDepth = t.pano0DepthMaxDepth, e.pano1Map = t.pano1Map, e.pano1MapSize = t.pano1MapSize, e.pano1Histogram.copy(t.pano1Histogram), e.pano1Matrix.copy(t.pano1Matrix), e.pano1Zoom = t.pano1Zoom, e.pano1GainMap = t.pano1GainMap, e.pano1HdrMaxContentBoost = t.pano1HdrMaxContentBoost, e.pano1HdrMinContentBoost = t.pano1HdrMinContentBoost, e.pano1HdrCapacityMin = t.pano1HdrCapacityMin, e.pano1HdrCapacityMax = t.pano1HdrCapacityMax, e.pano1HdrGamma = t.pano1HdrGamma, e.pano1DepthMap = t.pano1DepthMap, e.pano1DepthMaxDepth = t.pano1DepthMaxDepth, e.panoFilterSaturationBias = t.panoFilterSaturationBias, e.panoFilterContrastBias = t.panoFilterContrastBias, e.panoFilterLutMap = t.panoFilterLutMap, e.panoFilterTemperatureBias = t.panoFilterTemperatureBias, e.panoFilterTintBias = t.panoFilterTintBias, e.refinedScreenMap = t.refinedScreenMap, e.refinedScreenProjectionMatrix.copy(t.refinedScreenProjectionMatrix), e.refinedScreenMatrixInverse.copy(t.refinedScreenMatrixInverse), e.refinedScreenOpacity = t.refinedScreenOpacity, e.refinedScreenPano = t.refinedScreenPano, e.pointSize = t.pointSize, e.pointShape = t.pointShape, e.pointScale = t.pointScale, e.pointMaxPixel = t.pointMaxPixel, e.pointMinPixel = t.pointMinPixel, e.vertexMarks = t.vertexMarks, e.colorAlpha = t.colorAlpha, e.alphaMode = t.alphaMode, e.modelAlpha = t.modelAlpha, e.progress = t.progress, e.transition = t.transition, e.colorStyle = t.colorStyle, e.floorStyle = t.floorStyle, e.roofStyle = t.roofStyle, e.brightness = t.brightness, e.colorSaturation = t.colorSaturation, e.colorBrightness = t.colorBrightness, e.floorIndex = t.floorIndex, e.shownFloorIndex = t.shownFloorIndex, e.useHDR = t.useHDR, e.maxDisplayBoost = t.maxDisplayBoost, e.gradientTexture = t.gradientTexture, e.constantColor.copy(t.constantColor), e.modelBoundingMin.copy(t.modelBoundingMin), e.modelBoundingMax.copy(t.modelBoundingMax);
3162
3163
  }
3163
3164
  function yn(e) {
3164
3165
  return e != null && e.isPBMMaterial === !0;
@@ -3173,6 +3174,7 @@ function bn(e) {
3173
3174
  `pano1GainMap:${!!e.pano1GainMap}`,
3174
3175
  `pano1DepthMap:${!!e.pano1DepthMap}`,
3175
3176
  `floorStyle:${e.floorStyle}`,
3177
+ `roofStyle:${e.roofStyle}`,
3176
3178
  `colorStyle:${e.colorStyle}`,
3177
3179
  `gradientTexture:${e.gradientTexture}`,
3178
3180
  `refinedScreenMap:${e.refinedScreenMap}`,
@@ -3203,7 +3205,7 @@ function wn(e, t) {
3203
3205
  function Tn(t, n) {
3204
3206
  var r, i;
3205
3207
  let a = bn(t);
3206
- xn(t, 0, n.pano0), Sn(t, 0, n.pano0Depth), xn(t, 1, n.pano1), Sn(t, 1, n.pano1Depth), Cn(t, (i = (r = n.panoFilter) == null ? void 0 : r.toValue()) == null ? null : i), wn(t, n.refinedScreen), t.pointSize = n.pointSize, t.pointShape = n.pointShape, t.pointScale = n.pointScale, t.pointMaxPixel = n.pointMaxPixel, t.pointMinPixel = n.pointMinPixel, t.vertexMarks = n.vertexMarks, t.transition = n.transition, t.floorStyle = n.floorStyle, t.colorStyle = n.colorStyle, t.constantColor.copy(n.constantColor), t.shownFloorIndex = n.shownFloorIndex, t.useHDR = n.useHDR, t.maxDisplayBoost = n.maxDisplayBoost, t.colorSaturation = n.colorSaturation, t.colorBrightness = n.colorBrightness, t.gradientTexture = n.gradientTexture, t.modelBoundingMin.copy(n.boundingBox.min), t.modelBoundingMax.copy(n.boundingBox.max), t.modelAlpha = n.modelAlpha, t.progress = n.progress, t.opacity = n.opacity, t.brightness = n.brightness, t.transparent = t.alphaMode === "BLEND", t.blending = e.NormalBlending, t.depthWrite = !0, t.depthTest = !0, n.useAddBlend && (t.depthWrite = !1, t.depthTest = !1, t.blending = e.AdditiveBlending), t.shownFloorIndex > -1 && t.shownFloorIndex !== t.floorIndex && (t.transparent = !0), t.opacity < 1 && (t.transparent = !0), t.alphaMap && t.alphaMode === "BLEND" && (t.transparent = !0), t.colorAlpha < 1 && t.alphaMode === "BLEND" && (t.transparent = !0), t.brightness < 1 && (t.transparent = !0), t.modelAlpha <= 0 && (t.transparent = !1), t.depthWrite = !t.transparent, n.useAddBlend && (t.depthWrite = !1, t.depthTest = !1, t.blending = e.AdditiveBlending), a !== bn(t) && (t.needsUpdate = !0);
3208
+ xn(t, 0, n.pano0), Sn(t, 0, n.pano0Depth), xn(t, 1, n.pano1), Sn(t, 1, n.pano1Depth), Cn(t, (i = (r = n.panoFilter) == null ? void 0 : r.toValue()) == null ? null : i), wn(t, n.refinedScreen), t.pointSize = n.pointSize, t.pointShape = n.pointShape, t.pointScale = n.pointScale, t.pointMaxPixel = n.pointMaxPixel, t.pointMinPixel = n.pointMinPixel, t.vertexMarks = n.vertexMarks, t.transition = n.transition, t.floorStyle = n.floorStyle, t.roofStyle = n.roofStyle, t.colorStyle = n.colorStyle, t.constantColor.copy(n.constantColor), t.shownFloorIndex = n.shownFloorIndex, t.useHDR = n.useHDR, t.maxDisplayBoost = n.maxDisplayBoost, t.colorSaturation = n.colorSaturation, t.colorBrightness = n.colorBrightness, t.gradientTexture = n.gradientTexture, t.modelBoundingMin.copy(n.boundingBox.min), t.modelBoundingMax.copy(n.boundingBox.max), t.modelAlpha = n.modelAlpha, t.progress = n.progress, t.opacity = n.opacity, t.brightness = n.brightness, t.transparent = t.alphaMode === "BLEND", t.blending = e.NormalBlending, t.depthWrite = !0, t.depthTest = !0, n.useAddBlend && (t.depthWrite = !1, t.depthTest = !1, t.blending = e.AdditiveBlending), t.shownFloorIndex > -1 && t.shownFloorIndex !== t.floorIndex && (t.transparent = !0), t.opacity < 1 && (t.transparent = !0), t.alphaMap && t.alphaMode === "BLEND" && (t.transparent = !0), t.colorAlpha < 1 && t.alphaMode === "BLEND" && (t.transparent = !0), t.brightness < 1 && (t.transparent = !0), t.modelAlpha <= 0 && (t.transparent = !1), t.depthWrite = !t.transparent, n.useAddBlend && (t.depthWrite = !1, t.depthTest = !1, t.blending = e.AdditiveBlending), a !== bn(t) && (t.needsUpdate = !0);
3207
3209
  }
3208
3210
  //#endregion
3209
3211
  //#region build/five/model/materials/pbmPointCloudMaterial.js
@@ -4425,16 +4427,16 @@ function xs(e) {
4425
4427
  //#region build/five/model/materials/tsl/outputBuilder.js
4426
4428
  var { Fn: Ss, vec3: Cs, vec4: ws, float: Ts, int: Es, varyingProperty: Ds, attribute: Os, positionGeometry: ks, positionWorld: As, positionView: js, modelWorldMatrix: Ms, cameraProjectionMatrix: Ns, cameraPosition: Ps, normalize: Fs, clamp: Is, length: Ls, dot: Rs, mix: zs, min: Bs, max: Vs, Discard: Hs, colorSpaceToWorking: Us, output: Ws } = e.TSL;
4427
4429
  function Gs(e, t) {
4428
- let n = e.pano0Map != null && e.pano1Map != null, r = e.vertexMarks, i = e.floorStyle === "VISIBILITY", a = e.gradientTexture != null, o = e.refinedScreenMap != null, s = e.panoFilterLutMap != null, c = e.useHDR, l = e.colorStyle, u = e.transition;
4430
+ let n = e.pano0Map != null && e.pano1Map != null, r = e.vertexMarks, i = e.roofStyle, a = e.floorStyle === "VISIBILITY", o = e.gradientTexture != null, s = e.refinedScreenMap != null, c = e.panoFilterLutMap != null, l = e.useHDR, u = e.colorStyle, d = e.transition;
4429
4431
  e.outputNode = Ss(() => {
4430
- i && yo.not().discard(), r && xo.discard();
4432
+ a && yo.not().discard(), r && (i === "HIDE" ? bo.discard() : xo.discard());
4431
4433
  let e = ws(0).toVar("result");
4432
- if (e.assign(Ws), l === "ALTITUDE" && a ? e.rgb.assign(Ro) : l === "CONSTANT" && e.rgb.assign(po), e.a.mulAssign(zo.mul(so)), n) {
4434
+ if (e.assign(Ws), u === "ALTITUDE" && o ? e.rgb.assign(Ro) : u === "CONSTANT" && e.rgb.assign(po), e.a.mulAssign(zo.mul(so)), n) {
4433
4435
  let t = xs({
4434
- transition: u,
4435
- usePanoFilter: s,
4436
- useRefinedScreen: o,
4437
- useHDR: c,
4436
+ transition: d,
4437
+ usePanoFilter: c,
4438
+ useRefinedScreen: s,
4439
+ useHDR: l,
4438
4440
  usePanoDepth: !1
4439
4441
  });
4440
4442
  e.assign(zs(ws(t(Ws), 1), e, Pa));
@@ -8533,22 +8535,33 @@ var fd = "https://vr-public.realsee-cdn.cn/release/static/image/release/five/res
8533
8535
  this.transcoderPath = e;
8534
8536
  }
8535
8537
  detectSupport(e) {
8536
- var t;
8537
- let n = e;
8538
- return n.isWebGPURenderer === !0 && (t = n.backend) != null && t.device ? this.workerConfig = {
8539
- astcSupported: n.hasFeature("texture-compression-astc"),
8540
- etc1Supported: n.hasFeature("texture-compression-etc2"),
8541
- etc2Supported: n.hasFeature("texture-compression-etc2"),
8542
- dxtSupported: n.hasFeature("texture-compression-bc"),
8543
- bptcSupported: n.hasFeature("texture-compression-bc"),
8538
+ var t, n;
8539
+ let r = e;
8540
+ if (r.isWebGPURenderer === !0 && (t = r.backend) != null && t.device) this.workerConfig = {
8541
+ astcSupported: r.hasFeature("texture-compression-astc"),
8542
+ etc1Supported: r.hasFeature("texture-compression-etc2"),
8543
+ etc2Supported: r.hasFeature("texture-compression-etc2"),
8544
+ dxtSupported: r.hasFeature("texture-compression-bc"),
8545
+ bptcSupported: r.hasFeature("texture-compression-bc"),
8544
8546
  pvrtcSupported: !1
8545
- } : n.extensions ? this.workerConfig = {
8546
- astcSupported: !!n.extensions.get("WEBGL_compressed_texture_astc"),
8547
- etc1Supported: !!n.extensions.get("WEBGL_compressed_texture_etc1"),
8548
- etc2Supported: !!n.extensions.get("WEBGL_compressed_texture_etc"),
8549
- dxtSupported: !!n.extensions.get("WEBGL_compressed_texture_s3tc"),
8550
- bptcSupported: !!n.extensions.get("EXT_texture_compression_bptc"),
8551
- pvrtcSupported: !!n.extensions.get("WEBGL_compressed_texture_pvrtc") || !!n.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")
8547
+ };
8548
+ else if (r.isWebGPURenderer === !0 && (n = r.backend) != null && n.gl) {
8549
+ let e = r.backend.gl, t = (t) => e.getExtension(t) != null;
8550
+ this.workerConfig = {
8551
+ astcSupported: t("WEBGL_compressed_texture_astc"),
8552
+ etc1Supported: t("WEBGL_compressed_texture_etc1"),
8553
+ etc2Supported: t("WEBGL_compressed_texture_etc"),
8554
+ dxtSupported: t("WEBGL_compressed_texture_s3tc"),
8555
+ bptcSupported: t("EXT_texture_compression_bptc"),
8556
+ pvrtcSupported: t("WEBGL_compressed_texture_pvrtc") || t("WEBKIT_WEBGL_compressed_texture_pvrtc")
8557
+ };
8558
+ } else r.extensions ? this.workerConfig = {
8559
+ astcSupported: !!r.extensions.get("WEBGL_compressed_texture_astc"),
8560
+ etc1Supported: !!r.extensions.get("WEBGL_compressed_texture_etc1"),
8561
+ etc2Supported: !!r.extensions.get("WEBGL_compressed_texture_etc"),
8562
+ dxtSupported: !!r.extensions.get("WEBGL_compressed_texture_s3tc"),
8563
+ bptcSupported: !!r.extensions.get("EXT_texture_compression_bptc"),
8564
+ pvrtcSupported: !!r.extensions.get("WEBGL_compressed_texture_pvrtc") || !!r.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")
8552
8565
  } : this.workerConfig || (this.workerConfig = {
8553
8566
  astcSupported: !1,
8554
8567
  etc1Supported: !1,
@@ -8556,7 +8569,8 @@ var fd = "https://vr-public.realsee-cdn.cn/release/static/image/release/five/res
8556
8569
  dxtSupported: !1,
8557
8570
  bptcSupported: !1,
8558
8571
  pvrtcSupported: !1
8559
- }), this;
8572
+ });
8573
+ return this;
8560
8574
  }
8561
8575
  init() {
8562
8576
  if (!this.transcoderPending) {
@@ -8590,8 +8604,8 @@ var fd = "https://vr-public.realsee-cdn.cn/release/static/image/release/five/res
8590
8604
  _createTextureFrom(t) {
8591
8605
  let { mipmaps: n, width: r, height: i, format: a, type: o, error: s, dfdTransferFn: c, dfdFlags: l } = t;
8592
8606
  if (o === "error") return Promise.reject(s);
8593
- let u = new e.CompressedTexture(n, r, i, a, e.UnsignedByteType);
8594
- return u.minFilter = n.length === 1 ? e.LinearFilter : e.LinearMipmapLinearFilter, u.magFilter = e.LinearFilter, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = c === xd ? e.SRGBColorSpace : e.LinearSRGBColorSpace, u.premultiplyAlpha = !!(l & Sd), Promise.resolve(u);
8607
+ let u;
8608
+ return a === e.RGBAFormat ? (u = new e.DataTexture(n[0].data, r, i, e.RGBAFormat, e.UnsignedByteType), u.mipmaps = n) : u = new e.CompressedTexture(n, r, i, a, e.UnsignedByteType), u.minFilter = n.length === 1 ? e.LinearFilter : e.LinearMipmapLinearFilter, u.magFilter = e.LinearFilter, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = c === xd ? e.SRGBColorSpace : e.LinearSRGBColorSpace, u.premultiplyAlpha = !!(l & Sd), Promise.resolve(u);
8595
8609
  }
8596
8610
  _createTexture(e) {
8597
8611
  return this.init().then(() => this.workerPool.postMessage({
@@ -14576,6 +14590,7 @@ var G_ = {
14576
14590
  transition: Z,
14577
14591
  opacity: Z,
14578
14592
  floorStyle: Z,
14593
+ roofStyle: Z,
14579
14594
  colorStyle: Z,
14580
14595
  constantColor: U_,
14581
14596
  shownFloorIndex: Z,
@@ -14629,6 +14644,7 @@ function Z_() {
14629
14644
  panoFilter: void 0,
14630
14645
  refinedScreen: void 0,
14631
14646
  floorStyle: void 0,
14647
+ roofStyle: void 0,
14632
14648
  colorStyle: void 0,
14633
14649
  constantColor: void 0,
14634
14650
  shownFloorIndex: void 0,
@@ -14684,6 +14700,7 @@ var Q_ = {
14684
14700
  panoFilter: null,
14685
14701
  refinedScreen: null,
14686
14702
  floorStyle: "OPACITY",
14703
+ roofStyle: "AUTO",
14687
14704
  colorStyle: "RGB",
14688
14705
  constantColor: q_,
14689
14706
  shownFloorIndex: -1,
@@ -24138,7 +24155,7 @@ function ow() {
24138
24155
  //#region build/five/application/five.js
24139
24156
  var sw = 1e3, cw = 90, lw = (e) => e.replace("//vrlab-public.ljcdn.com/", "//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/", "//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/", "//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/", "//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/", "//vr-image-1.realsee-cdn.cn/"), uw = new e.Sphere(), dw = new e.Box3(), fw = new e.Vector4(), pw = new e.Vector4(), mw = new e.Color(), hw = new e.Vector2(), gw = /* @__PURE__ */ new WeakMap(), _w = ob([rb(null)]), vw = {}, yw = class t extends pn {
24140
24157
  static get version() {
24141
- return "1.0.0-alpha.3";
24158
+ return "1.0.0-alpha.4";
24142
24159
  }
24143
24160
  static get dracoPath() {
24144
24161
  return hd.decoderPath;
@@ -5,7 +5,7 @@ export { PBMGaussianSplattingObject as PBMGSObject, } from "./objects/pbmGaussia
5
5
  export { PBMPointCloud, type PointCloudData, } from "./objects/pbmPointCloud";
6
6
  export { PBMGaussianSplattingRenderMesh, } from "./objects/pbmGaussianSplattingRenderMesh";
7
7
  export { PBMGaussianSplattingNodeMaterial, } from "./materials/pbmGaussianSplattingNodeMaterial";
8
- export { PBMUpdateable, PBMPanoFilter, type IPBMMaterial, type PBMPanoFilterValue, type PBMAlphaMode, type PBMClipperParameter, type PBMColorStyle, type PBMFloorStyle, type PBMPanoPicture, type PBMHDRConfig, type PBMPanoDepth, type PBMPointBack, type PBMPointCloudShaderType, type PBMPointShape, type PBMPointSize, type PBMRefinedScreen, type PBMTransition, } from "./materials/pbmMaterial";
8
+ export { PBMUpdateable, PBMPanoFilter, type IPBMMaterial, type PBMPanoFilterValue, type PBMAlphaMode, type PBMClipperParameter, type PBMColorStyle, type PBMFloorStyle, type PBMRoofStyle, type PBMPanoPicture, type PBMHDRConfig, type PBMPanoDepth, type PBMPointBack, type PBMPointCloudShaderType, type PBMPointShape, type PBMPointSize, type PBMRefinedScreen, type PBMTransition, } from "./materials/pbmMaterial";
9
9
  export { type PBMMeshMaterial, PBMMeshBasicMaterial, PBMMeshPhongMaterial, PBMMeshPhysicalMaterial, PBMMeshPanoOnlyMaterial } from './materials/pbmMeshMaterial';
10
10
  export { registerPBMMaterials, } from './materials/pbmMaterialRegister';
11
11
  export { PBMMeshBasicNodeMaterial, } from './materials/nodes/pbmMeshBasicNodeMaterial';
@@ -7,6 +7,12 @@ export type PBMPointCloudShaderType = 'pointcloud';
7
7
  export type PBMAlphaMode = 'OPAQUE' | 'MASK' | 'BLEND';
8
8
  export type PBMTransition = 'BLACK' | 'SPREAD' | 'FADE';
9
9
  export type PBMFloorStyle = 'VISIBILITY' | 'OPACITY';
10
+ /**
11
+ * 屋顶样式(仅在 vertexMarks 为 true、即模型带屋顶标记时生效)
12
+ * - AUTO: 根据相机俯仰角渐进裁切屋顶(默认,原有行为)
13
+ * - HIDE: 始终隐藏屋顶,与视角无关
14
+ */
15
+ export type PBMRoofStyle = 'AUTO' | 'HIDE';
10
16
  export type PBMColorStyle = 'RGB' | 'ALTITUDE' | 'CONSTANT';
11
17
  export type PBMPointShape = 'SQUARE' | 'CIRCLE';
12
18
  export type PBMPointSize = 'FIXED' | 'ATTENUATION';
@@ -152,6 +158,7 @@ export interface IPBMMaterial {
152
158
  floorIndex: number;
153
159
  shownFloorIndex: number;
154
160
  floorStyle: string;
161
+ roofStyle: PBMRoofStyle;
155
162
  brightness: number;
156
163
  colorSaturation: number;
157
164
  colorBrightness: number;
@@ -1,5 +1,5 @@
1
1
  import * as THREE from 'three/webgpu';
2
- import { type PBMPanoPicture, type PBMPanoDepth, type PBMRefinedScreen, type PBMTransition, type PBMFloorStyle, type PBMColorStyle, type PBMClipperParameter, type PBMPanoFilter, type PBMPointShape, type PBMPointSize, type PBMPointBack } from './materials/pbmMaterial';
2
+ import { type PBMPanoPicture, type PBMPanoDepth, type PBMRefinedScreen, type PBMTransition, type PBMFloorStyle, type PBMRoofStyle, type PBMColorStyle, type PBMClipperParameter, type PBMPanoFilter, type PBMPointShape, type PBMPointSize, type PBMPointBack } from './materials/pbmMaterial';
3
3
  import type { TileRequestOrder } from './tile3d/types';
4
4
  import type { Camera } from '../core/camera';
5
5
  export interface ParameterMaterialValue {
@@ -31,6 +31,8 @@ export interface ParameterMaterialValue {
31
31
  opacity: number;
32
32
  /** 楼层样式 */
33
33
  floorStyle: PBMFloorStyle;
34
+ /** 屋顶样式(仅在 vertexMarks 为 true 时生效;AUTO 按视角渐切,HIDE 始终隐藏) */
35
+ roofStyle: PBMRoofStyle;
34
36
  /** 颜色样式 */
35
37
  colorStyle: PBMColorStyle;
36
38
  /** 模型颜色*/
@@ -22,9 +22,9 @@ export declare class KTX2 {
22
22
  setTranscoderPath(transcoderPath: string): void;
23
23
  detectSupport(renderer: THREE.WebGPURenderer): this;
24
24
  init(): Promise<void>;
25
- parse(buffer: ArrayBuffer): Promise<THREE.CompressedTexture>;
26
- _createTextureFrom(transcodeResult: any): Promise<THREE.CompressedTexture<THREE.CompressedTextureImageData>>;
27
- _createTexture(buffers: ArrayBuffer[]): Promise<THREE.CompressedTexture<THREE.CompressedTextureImageData>>;
25
+ parse(buffer: ArrayBuffer): Promise<THREE.Texture>;
26
+ _createTextureFrom(transcodeResult: any): Promise<THREE.Texture<unknown>>;
27
+ _createTexture(buffers: ArrayBuffer[]): Promise<THREE.Texture<unknown>>;
28
28
  dispose(): this;
29
29
  }
30
30
  export declare const ktx2: KTX2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/five-webgpu",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.4",
4
4
  "description": "Realsee Renderer SDK",
5
5
  "author": "BEIKE REALSEE TECHNOLOGY (HK) LIMITED",
6
6
  "license": "SEE LICENSE IN TERMS.txt",
package/plugins/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
package/plugins/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
package/react/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
package/react/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
package/umd/five-react.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/8/11
5
- * Version: 1.0.0-alpha.3
4
+ * Generated: 2026/8/19
5
+ * Version: 1.0.0-alpha.4
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021