@rings-webgpu/core 1.0.49 → 1.0.51

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.
@@ -2141,13 +2141,13 @@ function GetShader(name) {
2141
2141
  return null;
2142
2142
  }
2143
2143
 
2144
- var __defProp$3 = Object.defineProperty;
2145
- var __decorateClass$p = (decorators, target, key, kind) => {
2144
+ var __defProp$4 = Object.defineProperty;
2145
+ var __decorateClass$q = (decorators, target, key, kind) => {
2146
2146
  var result = void 0 ;
2147
2147
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2148
2148
  if (decorator = decorators[i])
2149
2149
  result = (decorator(target, key, result) ) || result;
2150
- if (result) __defProp$3(target, key, result);
2150
+ if (result) __defProp$4(target, key, result);
2151
2151
  return result;
2152
2152
  };
2153
2153
  const _Struct = class _Struct {
@@ -2245,10 +2245,10 @@ const _Struct = class _Struct {
2245
2245
  return struct.__size;
2246
2246
  }
2247
2247
  };
2248
- __decorateClass$p([
2248
+ __decorateClass$q([
2249
2249
  NonSerialize
2250
2250
  ], _Struct.prototype, "__refection");
2251
- __decorateClass$p([
2251
+ __decorateClass$q([
2252
2252
  NonSerialize
2253
2253
  ], _Struct.prototype, "__size");
2254
2254
  let Struct = _Struct;
@@ -21993,14 +21993,14 @@ class OctreeEntity {
21993
21993
  }
21994
21994
  }
21995
21995
 
21996
- var __defProp$2 = Object.defineProperty;
21997
- var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
21998
- var __decorateClass$o = (decorators, target, key, kind) => {
21999
- var result = __getOwnPropDesc$o(target, key) ;
21996
+ var __defProp$3 = Object.defineProperty;
21997
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
21998
+ var __decorateClass$p = (decorators, target, key, kind) => {
21999
+ var result = __getOwnPropDesc$p(target, key) ;
22000
22000
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
22001
22001
  if (decorator = decorators[i])
22002
22002
  result = (decorator(target, key, result) ) || result;
22003
- if (result) __defProp$2(target, key, result);
22003
+ if (result) __defProp$3(target, key, result);
22004
22004
  return result;
22005
22005
  };
22006
22006
  class RenderNode extends ComponentBase {
@@ -22594,13 +22594,13 @@ class RenderNode extends ComponentBase {
22594
22594
  this._combineShaderRefection = void 0;
22595
22595
  }
22596
22596
  }
22597
- __decorateClass$o([
22597
+ __decorateClass$p([
22598
22598
  EditorInspector
22599
22599
  ], RenderNode.prototype, "materials");
22600
- __decorateClass$o([
22600
+ __decorateClass$p([
22601
22601
  EditorInspector
22602
22602
  ], RenderNode.prototype, "castShadow");
22603
- __decorateClass$o([
22603
+ __decorateClass$p([
22604
22604
  EditorInspector
22605
22605
  ], RenderNode.prototype, "castGI");
22606
22606
 
@@ -23299,9 +23299,9 @@ class Shader {
23299
23299
  }
23300
23300
  }
23301
23301
 
23302
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
23303
- var __decorateClass$n = (decorators, target, key, kind) => {
23304
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
23302
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
23303
+ var __decorateClass$o = (decorators, target, key, kind) => {
23304
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
23305
23305
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23306
23306
  if (decorator = decorators[i])
23307
23307
  result = (decorator(result)) || result;
@@ -23334,7 +23334,7 @@ let GSplatShader = class extends Shader {
23334
23334
  pass.setUniform("pixelCull", new Float32Array([2, 0, 0, 0]));
23335
23335
  }
23336
23336
  };
23337
- GSplatShader = __decorateClass$n([
23337
+ GSplatShader = __decorateClass$o([
23338
23338
  RegisterShader(GSplatShader, "GSplatShader")
23339
23339
  ], GSplatShader);
23340
23340
 
@@ -24447,9 +24447,9 @@ let toHalfFloat = function(val) {
24447
24447
  return bits;
24448
24448
  };
24449
24449
 
24450
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
24451
- var __decorateClass$m = (decorators, target, key, kind) => {
24452
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
24450
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
24451
+ var __decorateClass$n = (decorators, target, key, kind) => {
24452
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
24453
24453
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24454
24454
  if (decorator = decorators[i])
24455
24455
  result = (decorator(result)) || result;
@@ -25249,7 +25249,7 @@ let GSplatRenderer = class extends RenderNode {
25249
25249
  super.destroy(force);
25250
25250
  }
25251
25251
  };
25252
- GSplatRenderer = __decorateClass$m([
25252
+ GSplatRenderer = __decorateClass$n([
25253
25253
  RegisterComponent(GSplatRenderer, "GSplatRenderer")
25254
25254
  ], GSplatRenderer);
25255
25255
 
@@ -25387,9 +25387,9 @@ const PointCloud_FS = (
25387
25387
  `
25388
25388
  );
25389
25389
 
25390
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
25391
- var __decorateClass$l = (decorators, target, key, kind) => {
25392
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
25390
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
25391
+ var __decorateClass$m = (decorators, target, key, kind) => {
25392
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
25393
25393
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25394
25394
  if (decorator = decorators[i])
25395
25395
  result = (decorator(result)) || result;
@@ -25421,7 +25421,7 @@ let PointCloudShader = class extends Shader {
25421
25421
  pass.setUniformArray("pointParams", new Float32Array([0, 0, 0, 128]));
25422
25422
  }
25423
25423
  };
25424
- PointCloudShader = __decorateClass$l([
25424
+ PointCloudShader = __decorateClass$m([
25425
25425
  RegisterShader(PointCloudShader, "PointCloudShader")
25426
25426
  ], PointCloudShader);
25427
25427
 
@@ -25551,21 +25551,32 @@ class PointCloudGeometry extends GeometryBase {
25551
25551
  }
25552
25552
 
25553
25553
  class Float32ArrayTexture extends Texture {
25554
+ _dataBuffer;
25554
25555
  create(width, height, data, filtering = true) {
25555
25556
  let device = webGPUContext.device;
25556
25557
  const bytesPerRow = width * 4 * 4;
25557
25558
  this.format = GPUTextureFormat.rgba32float;
25558
25559
  let mipmapCount = 1;
25559
25560
  this.createTextureDescriptor(width, height, mipmapCount, this.format);
25560
- const textureDataBuffer = device.createBuffer({
25561
- size: data.byteLength,
25562
- usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
25563
- });
25564
- device.queue.writeBuffer(textureDataBuffer, 0, data.buffer);
25561
+ const neededSize = data.byteLength;
25562
+ if (!this._dataBuffer || this._dataBuffer.size < neededSize) {
25563
+ this._dataBuffer && this._dataBuffer.destroy();
25564
+ this._dataBuffer = device.createBuffer({
25565
+ size: neededSize,
25566
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
25567
+ });
25568
+ }
25569
+ device.queue.writeBuffer(
25570
+ this._dataBuffer,
25571
+ 0,
25572
+ data.buffer,
25573
+ data.byteOffset,
25574
+ data.byteLength
25575
+ );
25565
25576
  const commandEncoder = GPUContext.beginCommandEncoder();
25566
25577
  commandEncoder.copyBufferToTexture(
25567
25578
  {
25568
- buffer: textureDataBuffer,
25579
+ buffer: this._dataBuffer,
25569
25580
  bytesPerRow
25570
25581
  },
25571
25582
  {
@@ -25612,11 +25623,116 @@ class Float32ArrayTexture extends Texture {
25612
25623
  this.gpuSampler = device.createSampler({});
25613
25624
  return this;
25614
25625
  }
25626
+ /**
25627
+ * Clean up resources
25628
+ */
25629
+ destroy(force) {
25630
+ if (this._dataBuffer) {
25631
+ this._dataBuffer.destroy();
25632
+ this._dataBuffer = null;
25633
+ }
25634
+ super.destroy(force);
25635
+ }
25636
+ /**
25637
+ * Update texture content
25638
+ * @param width Texture width
25639
+ * @param height Texture height
25640
+ * @param data Float32Array data (RGBA format: width * height * 4)
25641
+ * @param filtering Whether to use filtering (default: true)
25642
+ * @param startRow Start row for partial update (optional)
25643
+ * @param rowCount Number of rows to update for partial update (optional)
25644
+ */
25645
+ updateTexture(width, height, data, filtering = true, startRow, rowCount) {
25646
+ let device = webGPUContext.device;
25647
+ const bytesPerRow = width * 4 * 4;
25648
+ this.format = GPUTextureFormat.rgba32float;
25649
+ if (startRow !== void 0 && rowCount !== void 0 && rowCount < height) {
25650
+ const updateHeight = rowCount;
25651
+ const updateOffset = startRow * width * 4;
25652
+ const updateLength = updateHeight * width * 4;
25653
+ const updateData = data.subarray(updateOffset, updateOffset + updateLength);
25654
+ const neededSize2 = updateData.byteLength;
25655
+ if (!this._dataBuffer || this._dataBuffer.size < neededSize2) {
25656
+ this._dataBuffer && this._dataBuffer.destroy();
25657
+ this._dataBuffer = device.createBuffer({
25658
+ size: neededSize2,
25659
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
25660
+ });
25661
+ }
25662
+ device.queue.writeBuffer(
25663
+ this._dataBuffer,
25664
+ 0,
25665
+ updateData.buffer,
25666
+ updateData.byteOffset,
25667
+ updateData.byteLength
25668
+ );
25669
+ const commandEncoder2 = GPUContext.beginCommandEncoder();
25670
+ commandEncoder2.copyBufferToTexture(
25671
+ {
25672
+ buffer: this._dataBuffer,
25673
+ bytesPerRow,
25674
+ offset: 0
25675
+ },
25676
+ {
25677
+ texture: this.getGPUTexture(),
25678
+ origin: [0, startRow, 0]
25679
+ // Start at row startRow
25680
+ },
25681
+ {
25682
+ width,
25683
+ height: updateHeight,
25684
+ depthOrArrayLayers: 1
25685
+ }
25686
+ );
25687
+ GPUContext.endCommandEncoder(commandEncoder2);
25688
+ if (filtering) {
25689
+ this.samplerBindingLayout.type = `non-filtering`;
25690
+ this.textureBindingLayout.sampleType = `unfilterable-float`;
25691
+ }
25692
+ return;
25693
+ }
25694
+ const neededSize = data.byteLength;
25695
+ if (!this._dataBuffer || this._dataBuffer.size < neededSize) {
25696
+ this._dataBuffer && this._dataBuffer.destroy();
25697
+ this._dataBuffer = device.createBuffer({
25698
+ size: neededSize,
25699
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
25700
+ });
25701
+ }
25702
+ device.queue.writeBuffer(
25703
+ this._dataBuffer,
25704
+ 0,
25705
+ data.buffer,
25706
+ data.byteOffset,
25707
+ data.byteLength
25708
+ );
25709
+ const commandEncoder = GPUContext.beginCommandEncoder();
25710
+ commandEncoder.copyBufferToTexture(
25711
+ {
25712
+ buffer: this._dataBuffer,
25713
+ bytesPerRow
25714
+ },
25715
+ {
25716
+ texture: this.getGPUTexture()
25717
+ },
25718
+ {
25719
+ width,
25720
+ height,
25721
+ depthOrArrayLayers: 1
25722
+ }
25723
+ );
25724
+ GPUContext.endCommandEncoder(commandEncoder);
25725
+ if (filtering) {
25726
+ this.samplerBindingLayout.type = `non-filtering`;
25727
+ this.textureBindingLayout.sampleType = `unfilterable-float`;
25728
+ }
25729
+ this.gpuSampler = device.createSampler({});
25730
+ }
25615
25731
  }
25616
25732
 
25617
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
25618
- var __decorateClass$k = (decorators, target, key, kind) => {
25619
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
25733
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
25734
+ var __decorateClass$l = (decorators, target, key, kind) => {
25735
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
25620
25736
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25621
25737
  if (decorator = decorators[i])
25622
25738
  result = (decorator(result)) || result;
@@ -25637,10 +25753,6 @@ let PointCloudRenderer = class extends RenderNode {
25637
25753
  }
25638
25754
  _colors;
25639
25755
  _orderData;
25640
- _fullCount = 0;
25641
- get fullCount() {
25642
- return this._fullCount;
25643
- }
25644
25756
  _batchSize = 128;
25645
25757
  instanceCount = 0;
25646
25758
  _texturesInitialized = false;
@@ -25672,7 +25784,6 @@ let PointCloudRenderer = class extends RenderNode {
25672
25784
  return;
25673
25785
  }
25674
25786
  this.count = count;
25675
- this._fullCount = count;
25676
25787
  this.size = this.evalTextureSize(count);
25677
25788
  this._positions = positions;
25678
25789
  this._colors = colors;
@@ -25927,7 +26038,7 @@ let PointCloudRenderer = class extends RenderNode {
25927
26038
  super.destroy(force);
25928
26039
  }
25929
26040
  };
25930
- PointCloudRenderer = __decorateClass$k([
26041
+ PointCloudRenderer = __decorateClass$l([
25931
26042
  RegisterComponent(PointCloudRenderer, "PointCloudRenderer")
25932
26043
  ], PointCloudRenderer);
25933
26044
 
@@ -25960,7 +26071,7 @@ class BoundUtil {
25960
26071
  }
25961
26072
  for (const pointCloudRenderer of pointCloudRenderers) {
25962
26073
  const positions = pointCloudRenderer.positions;
25963
- const count = pointCloudRenderer.fullCount;
26074
+ const count = pointCloudRenderer.count;
25964
26075
  if (!positions || count === 0) {
25965
26076
  console.warn("genPointCloudBounds: No position data available");
25966
26077
  continue;
@@ -26282,9 +26393,9 @@ class Entity extends CEventDispatcher {
26282
26393
  }
26283
26394
  }
26284
26395
 
26285
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
26286
- var __decorateClass$j = (decorators, target, key, kind) => {
26287
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
26396
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
26397
+ var __decorateClass$k = (decorators, target, key, kind) => {
26398
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
26288
26399
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26289
26400
  if (decorator = decorators[i])
26290
26401
  result = (decorator(result)) || result;
@@ -26559,7 +26670,7 @@ let Object3D = class extends Entity {
26559
26670
  super.destroy(force);
26560
26671
  }
26561
26672
  };
26562
- Object3D = __decorateClass$j([
26673
+ Object3D = __decorateClass$k([
26563
26674
  DecorateObject3D
26564
26675
  ], Object3D);
26565
26676
  function DecorateObject3D(ctor, _) {
@@ -27945,14 +28056,14 @@ class MorphTargetData {
27945
28056
  }
27946
28057
  }
27947
28058
 
27948
- var __defProp$1 = Object.defineProperty;
27949
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
27950
- var __decorateClass$i = (decorators, target, key, kind) => {
27951
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
28059
+ var __defProp$2 = Object.defineProperty;
28060
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
28061
+ var __decorateClass$j = (decorators, target, key, kind) => {
28062
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
27952
28063
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27953
28064
  if (decorator = decorators[i])
27954
28065
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
27955
- if (kind && result) __defProp$1(target, key, result);
28066
+ if (kind && result) __defProp$2(target, key, result);
27956
28067
  return result;
27957
28068
  };
27958
28069
  let MeshRenderer = class extends RenderNode {
@@ -28061,13 +28172,13 @@ let MeshRenderer = class extends RenderNode {
28061
28172
  super.destroy(force);
28062
28173
  }
28063
28174
  };
28064
- __decorateClass$i([
28175
+ __decorateClass$j([
28065
28176
  EditorInspector
28066
28177
  ], MeshRenderer.prototype, "geometry", 1);
28067
- __decorateClass$i([
28178
+ __decorateClass$j([
28068
28179
  EditorInspector
28069
28180
  ], MeshRenderer.prototype, "material", 1);
28070
- MeshRenderer = __decorateClass$i([
28181
+ MeshRenderer = __decorateClass$j([
28071
28182
  RegisterComponent(MeshRenderer, "MeshRenderer")
28072
28183
  ], MeshRenderer);
28073
28184
 
@@ -28673,9 +28784,9 @@ class PlaneGeometry extends GeometryBase {
28673
28784
  }
28674
28785
  }
28675
28786
 
28676
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
28677
- var __decorateClass$h = (decorators, target, key, kind) => {
28678
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
28787
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
28788
+ var __decorateClass$i = (decorators, target, key, kind) => {
28789
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
28679
28790
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28680
28791
  if (decorator = decorators[i])
28681
28792
  result = (decorator(result)) || result;
@@ -28699,7 +28810,7 @@ let QuadShader = class extends Shader {
28699
28810
  this.setUniformFloat(`height`, 100);
28700
28811
  }
28701
28812
  };
28702
- QuadShader = __decorateClass$h([
28813
+ QuadShader = __decorateClass$i([
28703
28814
  RegisterShader(QuadShader, "QuadShader")
28704
28815
  ], QuadShader);
28705
28816
 
@@ -36062,9 +36173,9 @@ class LightBase extends ComponentBase {
36062
36173
  }
36063
36174
  }
36064
36175
 
36065
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
36066
- var __decorateClass$g = (decorators, target, key, kind) => {
36067
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
36176
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
36177
+ var __decorateClass$h = (decorators, target, key, kind) => {
36178
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
36068
36179
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
36069
36180
  if (decorator = decorators[i])
36070
36181
  result = (decorator(result)) || result;
@@ -36106,13 +36217,13 @@ let DirectLight = class extends LightBase {
36106
36217
  debug() {
36107
36218
  }
36108
36219
  };
36109
- DirectLight = __decorateClass$g([
36220
+ DirectLight = __decorateClass$h([
36110
36221
  RegisterComponent(DirectLight, "DirectLight")
36111
36222
  ], DirectLight);
36112
36223
 
36113
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
36114
- var __decorateClass$f = (decorators, target, key, kind) => {
36115
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
36224
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
36225
+ var __decorateClass$g = (decorators, target, key, kind) => {
36226
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
36116
36227
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
36117
36228
  if (decorator = decorators[i])
36118
36229
  result = (decorator(result)) || result;
@@ -36170,13 +36281,13 @@ let PointLight = class extends LightBase {
36170
36281
  debugDraw(show) {
36171
36282
  }
36172
36283
  };
36173
- PointLight = __decorateClass$f([
36284
+ PointLight = __decorateClass$g([
36174
36285
  RegisterComponent(PointLight, "PointLight")
36175
36286
  ], PointLight);
36176
36287
 
36177
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
36178
- var __decorateClass$e = (decorators, target, key, kind) => {
36179
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
36288
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
36289
+ var __decorateClass$f = (decorators, target, key, kind) => {
36290
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
36180
36291
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
36181
36292
  if (decorator = decorators[i])
36182
36293
  result = (decorator(result)) || result;
@@ -36241,7 +36352,7 @@ let SpotLight = class extends LightBase {
36241
36352
  debugDraw(show) {
36242
36353
  }
36243
36354
  };
36244
- SpotLight = __decorateClass$e([
36355
+ SpotLight = __decorateClass$f([
36245
36356
  RegisterComponent(SpotLight, "SpotLight")
36246
36357
  ], SpotLight);
36247
36358
 
@@ -42326,7 +42437,7 @@ class PostProcessingComponent extends ComponentBase {
42326
42437
  }
42327
42438
  }
42328
42439
 
42329
- const version = "1.0.49";
42440
+ const version = "1.0.51";
42330
42441
 
42331
42442
  class Engine3D {
42332
42443
  /**
@@ -46839,9 +46950,9 @@ class AtmosphericTexture2D extends VirtualTexture {
46839
46950
  }
46840
46951
  }
46841
46952
 
46842
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
46843
- var __decorateClass$d = (decorators, target, key, kind) => {
46844
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
46953
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
46954
+ var __decorateClass$e = (decorators, target, key, kind) => {
46955
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
46845
46956
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
46846
46957
  if (decorator = decorators[i])
46847
46958
  result = (decorator(result)) || result;
@@ -46865,7 +46976,7 @@ let SkyShader = class extends Shader {
46865
46976
  shaderState.depthCompare = GPUCompareFunction.less;
46866
46977
  }
46867
46978
  };
46868
- SkyShader = __decorateClass$d([
46979
+ SkyShader = __decorateClass$e([
46869
46980
  RegisterShader(SkyShader, "SkyShader")
46870
46981
  ], SkyShader);
46871
46982
 
@@ -47663,9 +47774,9 @@ class SkeletonAnimationClipState {
47663
47774
  }
47664
47775
  }
47665
47776
 
47666
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
47667
- var __decorateClass$c = (decorators, target, key, kind) => {
47668
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
47777
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
47778
+ var __decorateClass$d = (decorators, target, key, kind) => {
47779
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
47669
47780
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
47670
47781
  if (decorator = decorators[i])
47671
47782
  result = (decorator(result)) || result;
@@ -47869,7 +47980,7 @@ let SkeletonAnimationComponent = class extends ComponentBase {
47869
47980
  this._currentClipState.weight = 1;
47870
47981
  }
47871
47982
  };
47872
- SkeletonAnimationComponent = __decorateClass$c([
47983
+ SkeletonAnimationComponent = __decorateClass$d([
47873
47984
  RegisterComponent(SkeletonAnimationComponent, "SkeletonAnimationComponent")
47874
47985
  ], SkeletonAnimationComponent);
47875
47986
  class SkeletonAnimationCrossFadeState {
@@ -47905,9 +48016,9 @@ class SkeletonAnimationCrossFadeState {
47905
48016
  }
47906
48017
  }
47907
48018
 
47908
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
47909
- var __decorateClass$b = (decorators, target, key, kind) => {
47910
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
48019
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
48020
+ var __decorateClass$c = (decorators, target, key, kind) => {
48021
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
47911
48022
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
47912
48023
  if (decorator = decorators[i])
47913
48024
  result = (decorator(result)) || result;
@@ -48318,7 +48429,7 @@ let AnimatorComponent = class extends ComponentBase {
48318
48429
  return dst;
48319
48430
  }
48320
48431
  };
48321
- AnimatorComponent = __decorateClass$b([
48432
+ AnimatorComponent = __decorateClass$c([
48322
48433
  RegisterComponent(AnimatorComponent, "AnimatorComponent")
48323
48434
  ], AnimatorComponent);
48324
48435
  class PropertyAnimationClipState {
@@ -49075,9 +49186,9 @@ class PropertyAnimation extends ComponentBase {
49075
49186
  }
49076
49187
  }
49077
49188
 
49078
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
49079
- var __decorateClass$a = (decorators, target, key, kind) => {
49080
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
49189
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
49190
+ var __decorateClass$b = (decorators, target, key, kind) => {
49191
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
49081
49192
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
49082
49193
  if (decorator = decorators[i])
49083
49194
  result = (decorator(result)) || result;
@@ -49226,7 +49337,7 @@ let SkinnedMeshRenderer2 = class extends MeshRenderer {
49226
49337
  super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
49227
49338
  }
49228
49339
  };
49229
- SkinnedMeshRenderer2 = __decorateClass$a([
49340
+ SkinnedMeshRenderer2 = __decorateClass$b([
49230
49341
  RegisterComponent(SkinnedMeshRenderer2, "SkinnedMeshRenderer2")
49231
49342
  ], SkinnedMeshRenderer2);
49232
49343
 
@@ -54359,9 +54470,9 @@ class UITextField extends UIRenderAble {
54359
54470
  }
54360
54471
  }
54361
54472
 
54362
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
54363
- var __decorateClass$9 = (decorators, target, key, kind) => {
54364
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
54473
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
54474
+ var __decorateClass$a = (decorators, target, key, kind) => {
54475
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
54365
54476
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
54366
54477
  if (decorator = decorators[i])
54367
54478
  result = (decorator(result)) || result;
@@ -54438,13 +54549,13 @@ let Light = class extends LightBase {
54438
54549
  debugDraw(show) {
54439
54550
  }
54440
54551
  };
54441
- Light = __decorateClass$9([
54552
+ Light = __decorateClass$a([
54442
54553
  RegisterComponent(Light, "Light")
54443
54554
  ], Light);
54444
54555
 
54445
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
54446
- var __decorateClass$8 = (decorators, target, key, kind) => {
54447
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
54556
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
54557
+ var __decorateClass$9 = (decorators, target, key, kind) => {
54558
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
54448
54559
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
54449
54560
  if (decorator = decorators[i])
54450
54561
  result = (decorator(result)) || result;
@@ -54519,21 +54630,21 @@ let FatLineRenderer = class extends RenderNode {
54519
54630
  super.destroy(force);
54520
54631
  }
54521
54632
  };
54522
- FatLineRenderer = __decorateClass$8([
54633
+ FatLineRenderer = __decorateClass$9([
54523
54634
  RegisterComponent(FatLineRenderer, "FatLineRenderer")
54524
54635
  ], FatLineRenderer);
54525
54636
 
54526
- var __defProp = Object.defineProperty;
54527
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
54528
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
54529
- var __decorateClass$7 = (decorators, target, key, kind) => {
54530
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
54637
+ var __defProp$1 = Object.defineProperty;
54638
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
54639
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
54640
+ var __decorateClass$8 = (decorators, target, key, kind) => {
54641
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
54531
54642
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
54532
54643
  if (decorator = decorators[i])
54533
54644
  result = (decorator(result)) || result;
54534
54645
  return result;
54535
54646
  };
54536
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
54647
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, key + "" , value);
54537
54648
  let GSplatStreamRenderer = class extends RenderNode {
54538
54649
  // Splat count and texture dimensions
54539
54650
  totalCount = 0;
@@ -55320,8 +55431,8 @@ let GSplatStreamRenderer = class extends RenderNode {
55320
55431
  super.destroy(force);
55321
55432
  }
55322
55433
  };
55323
- __publicField(GSplatStreamRenderer, "flushFrameLimit", 60);
55324
- GSplatStreamRenderer = __decorateClass$7([
55434
+ __publicField$1(GSplatStreamRenderer, "flushFrameLimit", 60);
55435
+ GSplatStreamRenderer = __decorateClass$8([
55325
55436
  RegisterComponent(GSplatStreamRenderer, "GSplatStreamRenderer")
55326
55437
  ], GSplatStreamRenderer);
55327
55438
 
@@ -55623,9 +55734,9 @@ class InstanceDrawComponent extends RenderNode {
55623
55734
  }
55624
55735
  }
55625
55736
 
55626
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
55627
- var __decorateClass$6 = (decorators, target, key, kind) => {
55628
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
55737
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
55738
+ var __decorateClass$7 = (decorators, target, key, kind) => {
55739
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
55629
55740
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
55630
55741
  if (decorator = decorators[i])
55631
55742
  result = (decorator(result)) || result;
@@ -55651,10 +55762,410 @@ let MeshFilter = class extends MeshRenderer {
55651
55762
  }
55652
55763
  }
55653
55764
  };
55654
- MeshFilter = __decorateClass$6([
55765
+ MeshFilter = __decorateClass$7([
55655
55766
  RegisterComponent(MeshFilter, "MeshFilter")
55656
55767
  ], MeshFilter);
55657
55768
 
55769
+ var __defProp = Object.defineProperty;
55770
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
55771
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
55772
+ var __decorateClass$6 = (decorators, target, key, kind) => {
55773
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
55774
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
55775
+ if (decorator = decorators[i])
55776
+ result = (decorator(result)) || result;
55777
+ return result;
55778
+ };
55779
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
55780
+ let PointCloudStreamRenderer = class extends RenderNode {
55781
+ totalCount = 0;
55782
+ size = new Vector2();
55783
+ pointColor;
55784
+ pointPosition;
55785
+ pointOrder;
55786
+ texParams;
55787
+ // [numPoints, texWidth, validCount, pointSize]
55788
+ _texParamDirty = true;
55789
+ pointCloudMaterial;
55790
+ _colorData;
55791
+ // RGBA8: size.x * size.y * 4
55792
+ _positionData;
55793
+ // RGBA32Float: size.x * size.y * 4 (XYZ in RGB, A unused)
55794
+ _orderData;
55795
+ // R32U: size.x * size.y
55796
+ _pointSetFlags;
55797
+ // Track which indices have data
55798
+ _validCount = 0;
55799
+ // Number of points with valid data
55800
+ _batchSize = 128;
55801
+ instanceCount = 0;
55802
+ _pendingUpdates = /* @__PURE__ */ new Set();
55803
+ // Indices pending GPU update
55804
+ _autoFlushThreshold = 100;
55805
+ // Auto-flush when this many updates pending
55806
+ _frameCount = 0;
55807
+ _centerOffset = new Vector3();
55808
+ get centerOffset() {
55809
+ return this._centerOffset;
55810
+ }
55811
+ _texturesInitialized = false;
55812
+ _debugFullScreen = false;
55813
+ constructor() {
55814
+ super();
55815
+ }
55816
+ /**
55817
+ * Initialize renderer with total point count
55818
+ * Pre-allocates all GPU resources with zero-initialized data
55819
+ * @param totalCount Total number of points that will be streamed
55820
+ * @param batchSize Points per draw call (default: 128)
55821
+ */
55822
+ initCount(totalCount, batchSize = 128) {
55823
+ if (totalCount <= 0) {
55824
+ throw new Error("Total count must be greater than 0");
55825
+ }
55826
+ this.totalCount = totalCount;
55827
+ this._batchSize = batchSize;
55828
+ this.size = this.evalTextureSize(totalCount);
55829
+ const w = this.size.x | 0;
55830
+ const h = this.size.y | 0;
55831
+ const total = w * h;
55832
+ this._colorData = new Uint8Array(total * 4);
55833
+ for (let i = 0; i < total; i++) {
55834
+ const idx = i * 4;
55835
+ this._colorData[idx + 0] = 255;
55836
+ this._colorData[idx + 1] = 255;
55837
+ this._colorData[idx + 2] = 255;
55838
+ this._colorData[idx + 3] = 255;
55839
+ }
55840
+ this._positionData = new Float32Array(total * 4);
55841
+ this._positionData.fill(0);
55842
+ this._orderData = new Uint32Array(total);
55843
+ for (let i = 0; i < total; i++) {
55844
+ this._orderData[i] = i < totalCount ? i : totalCount > 0 ? totalCount - 1 : 0;
55845
+ }
55846
+ this._pointSetFlags = new Array(totalCount).fill(false);
55847
+ this._validCount = 0;
55848
+ this.texParams = new Float32Array([
55849
+ this._validCount,
55850
+ this.size.x,
55851
+ this._validCount,
55852
+ 4
55853
+ ]);
55854
+ this.pointColor = new Uint8ArrayTexture().create(w, h, this._colorData, false);
55855
+ this.pointColor.name = "pointColor";
55856
+ this.pointColor.minFilter = "nearest";
55857
+ this.pointColor.magFilter = "nearest";
55858
+ this.pointColor.mipmapFilter = "nearest";
55859
+ this.pointColor.addressModeU = "clamp-to-edge";
55860
+ this.pointColor.addressModeV = "clamp-to-edge";
55861
+ this.pointPosition = new Float32ArrayTexture().create(w, h, this._positionData);
55862
+ this.pointPosition.name = "pointPosition";
55863
+ this.pointPosition.minFilter = "nearest";
55864
+ this.pointPosition.magFilter = "nearest";
55865
+ this.pointPosition.addressModeU = "clamp-to-edge";
55866
+ this.pointPosition.addressModeV = "clamp-to-edge";
55867
+ this.pointOrder = new R32UintTexture().create(w, h, this._orderData);
55868
+ this.pointOrder.name = "pointOrder";
55869
+ this.pointOrder.minFilter = "nearest";
55870
+ this.pointOrder.magFilter = "nearest";
55871
+ this.pointOrder.addressModeU = "clamp-to-edge";
55872
+ this.pointOrder.addressModeV = "clamp-to-edge";
55873
+ this.pointCloudMaterial = new PointCloudMaterial();
55874
+ this.geometry = new PointCloudGeometry(this._batchSize);
55875
+ this.materials = [this.pointCloudMaterial];
55876
+ this.instanceCount = 0;
55877
+ this._centerOffset.set(0, 0, 0);
55878
+ }
55879
+ /**
55880
+ * Set data for a single point at the given index
55881
+ * Updates CPU buffers and marks for GPU update
55882
+ * @param index Point index (0 to count-1)
55883
+ * @param data Point data (position is required, color optional)
55884
+ */
55885
+ setPointCloudData(index, data) {
55886
+ if (index < 0 || index >= this.totalCount) {
55887
+ throw new Error(`Index ${index} out of range [0, ${this.totalCount})`);
55888
+ }
55889
+ const wasSet = this._pointSetFlags[index];
55890
+ const posIdx = index * 4;
55891
+ this._positionData[posIdx + 0] = data.position[0];
55892
+ this._positionData[posIdx + 1] = data.position[1];
55893
+ this._positionData[posIdx + 2] = data.position[2];
55894
+ this._positionData[posIdx + 3] = 0;
55895
+ const colorIdx = index * 4;
55896
+ if (data.color) {
55897
+ this._colorData[colorIdx + 0] = Math.max(0, Math.min(255, data.color[0]));
55898
+ this._colorData[colorIdx + 1] = Math.max(0, Math.min(255, data.color[1]));
55899
+ this._colorData[colorIdx + 2] = Math.max(0, Math.min(255, data.color[2]));
55900
+ this._colorData[colorIdx + 3] = Math.max(0, Math.min(255, data.color[3] !== void 0 ? data.color[3] : 255));
55901
+ } else {
55902
+ this._colorData[colorIdx + 0] = 255;
55903
+ this._colorData[colorIdx + 1] = 255;
55904
+ this._colorData[colorIdx + 2] = 255;
55905
+ this._colorData[colorIdx + 3] = 255;
55906
+ }
55907
+ if (!wasSet) {
55908
+ this._pointSetFlags[index] = true;
55909
+ this._validCount++;
55910
+ }
55911
+ this._pendingUpdates.add(index);
55912
+ }
55913
+ /**
55914
+ * Update center offset for precision (called when new points are added)
55915
+ */
55916
+ _updateCenterOffset() {
55917
+ if (this._validCount === 0) return;
55918
+ let sumX = 0, sumY = 0, sumZ = 0;
55919
+ let count = 0;
55920
+ for (let i = 0; i < this.totalCount; i++) {
55921
+ if (this._pointSetFlags[i]) {
55922
+ const idx = i * 4;
55923
+ sumX += this._positionData[idx + 0];
55924
+ sumY += this._positionData[idx + 1];
55925
+ sumZ += this._positionData[idx + 2];
55926
+ count++;
55927
+ }
55928
+ }
55929
+ if (count > 0) {
55930
+ const centerX = sumX / count;
55931
+ const centerY = sumY / count;
55932
+ const centerZ = sumZ / count;
55933
+ this._centerOffset.set(centerX, centerY, centerZ);
55934
+ this.object3D.localPosition = this._centerOffset;
55935
+ }
55936
+ }
55937
+ /**
55938
+ * Flush pending updates to GPU
55939
+ * Updates GPU textures with all pending changes
55940
+ * Uses partial updates when possible for better performance
55941
+ */
55942
+ flushUpdates() {
55943
+ if (this._pendingUpdates.size === 0) return;
55944
+ const w = this.size.x | 0;
55945
+ const h = this.size.y | 0;
55946
+ const pendingIndices = Array.from(this._pendingUpdates);
55947
+ if (pendingIndices.length === 0) return;
55948
+ let minRow = h;
55949
+ let maxRow = 0;
55950
+ for (const index of pendingIndices) {
55951
+ const row = Math.floor(index / w);
55952
+ if (row < minRow) minRow = row;
55953
+ if (row > maxRow) maxRow = row;
55954
+ }
55955
+ const rowCount = maxRow - minRow + 1;
55956
+ const updateRatio = rowCount / h;
55957
+ const total = w * h;
55958
+ if (this.totalCount < total) {
55959
+ const lastIdx = (this.totalCount - 1) * 4;
55960
+ for (let i = this.totalCount; i < total; i++) {
55961
+ const idx = i * 4;
55962
+ this._positionData[idx + 0] = this._positionData[lastIdx + 0];
55963
+ this._positionData[idx + 1] = this._positionData[lastIdx + 1];
55964
+ this._positionData[idx + 2] = this._positionData[lastIdx + 2];
55965
+ this._positionData[idx + 3] = 0;
55966
+ }
55967
+ }
55968
+ if (updateRatio < 0.5 && rowCount < h) {
55969
+ const rowStartIdx = minRow * w;
55970
+ const rowEndIdx = (maxRow + 1) * w;
55971
+ const partialPositionData = this._positionData.subarray(
55972
+ rowStartIdx * 4,
55973
+ rowEndIdx * 4
55974
+ );
55975
+ this.pointColor.updateTexture(w, h, this._colorData, minRow, rowCount);
55976
+ this.pointPosition.updateTexture(w, h, partialPositionData, false, minRow, rowCount);
55977
+ } else {
55978
+ this.pointColor.updateTexture(w, h, this._colorData);
55979
+ this.pointPosition.updateTexture(w, h, this._positionData, false);
55980
+ }
55981
+ const renderCount = this._validCount;
55982
+ this.instanceCount = Math.ceil(renderCount / this._batchSize);
55983
+ this.texParams[0] = renderCount;
55984
+ this.texParams[2] = renderCount;
55985
+ this._texParamDirty = true;
55986
+ this._pendingUpdates.clear();
55987
+ }
55988
+ /**
55989
+ * Set auto-flush threshold
55990
+ * @param threshold Number of pending updates before auto-flush (default: 100)
55991
+ */
55992
+ setAutoFlushThreshold(threshold) {
55993
+ this._autoFlushThreshold = Math.max(1, threshold);
55994
+ }
55995
+ /**
55996
+ * Get current streaming statistics
55997
+ */
55998
+ getStreamingStats() {
55999
+ return {
56000
+ totalCount: this.totalCount,
56001
+ validCount: this._validCount,
56002
+ pendingUpdates: this._pendingUpdates.size,
56003
+ progress: this.totalCount > 0 ? this._validCount / this.totalCount * 100 : 0
56004
+ };
56005
+ }
56006
+ /**
56007
+ * Calculate texture size for given point count
56008
+ * @param count Number of points
56009
+ * @returns Texture dimensions (width, height)
56010
+ */
56011
+ evalTextureSize(count) {
56012
+ let w = Math.ceil(Math.sqrt(count));
56013
+ const align = 64;
56014
+ w = Math.ceil(w / align) * align;
56015
+ const h = Math.ceil(count / w);
56016
+ return new Vector2(w, h);
56017
+ }
56018
+ /**
56019
+ * Update node before rendering
56020
+ */
56021
+ nodeUpdate(view, passType, renderPassState, clusterLightingBuffer) {
56022
+ if (this._pendingUpdates.size > 0 && this._frameCount >= PointCloudStreamRenderer.flushFrameLimit) {
56023
+ this.flushUpdates();
56024
+ }
56025
+ if (this._frameCount >= PointCloudStreamRenderer.flushFrameLimit && this._pendingUpdates.size === 0) {
56026
+ this._frameCount = 0;
56027
+ }
56028
+ this._frameCount++;
56029
+ const worldMatrix = this.object3D.transform.worldMatrix;
56030
+ this.pointCloudMaterial.setTransformMatrix(worldMatrix);
56031
+ if (!this._texturesInitialized) {
56032
+ this.pointCloudMaterial.setPointTextures(
56033
+ this.pointPosition,
56034
+ this.pointColor,
56035
+ this.texParams,
56036
+ this.pointOrder
56037
+ );
56038
+ this.pointCloudMaterial.setBatchSize(this._batchSize);
56039
+ this.pointCloudMaterial.setPointSize(this.texParams[3]);
56040
+ this.pointCloudMaterial.enableDebugFullScreen(this._debugFullScreen);
56041
+ this._texturesInitialized = true;
56042
+ }
56043
+ if (this._texParamDirty) {
56044
+ this.pointCloudMaterial.setPointTextures(
56045
+ this.pointPosition,
56046
+ this.pointColor,
56047
+ this.texParams,
56048
+ this.pointOrder
56049
+ );
56050
+ this._texParamDirty = false;
56051
+ }
56052
+ super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
56053
+ }
56054
+ /**
56055
+ * Render pass
56056
+ */
56057
+ renderPass(view, passType, renderContext) {
56058
+ const encoder = renderContext.encoder;
56059
+ for (let mat of this.materials) {
56060
+ const passes = mat.getPass(passType);
56061
+ if (!passes || passes.length === 0) continue;
56062
+ for (const pass of passes) {
56063
+ if (!pass.pipeline) continue;
56064
+ pass.apply(this.geometry, renderContext.rendererPassState || renderContext);
56065
+ GPUContext.bindPipeline(encoder, pass);
56066
+ GPUContext.bindGeometryBuffer(encoder, this.geometry);
56067
+ const subGeometry = this.geometry.subGeometries[0];
56068
+ const lodInfo = subGeometry.lodLevels[0];
56069
+ if (this.instanceCount > 0) {
56070
+ GPUContext.drawIndexed(
56071
+ encoder,
56072
+ lodInfo.indexCount,
56073
+ this.instanceCount,
56074
+ lodInfo.indexStart,
56075
+ 0,
56076
+ 0
56077
+ );
56078
+ } else {
56079
+ GPUContext.drawIndexed(
56080
+ encoder,
56081
+ lodInfo.indexCount,
56082
+ 1,
56083
+ lodInfo.indexStart,
56084
+ 0,
56085
+ 0
56086
+ );
56087
+ }
56088
+ }
56089
+ }
56090
+ }
56091
+ /**
56092
+ * Set point size in pixels
56093
+ * @param size Point size in pixels
56094
+ */
56095
+ setPointSize(size) {
56096
+ this.texParams[3] = Math.max(0.1, size);
56097
+ if (this.pointCloudMaterial) {
56098
+ this.pointCloudMaterial.setPointSize(size);
56099
+ }
56100
+ }
56101
+ /**
56102
+ * Set point shape
56103
+ * @param shape 'square' or 'circle'
56104
+ */
56105
+ setPointShape(shape) {
56106
+ if (this.pointCloudMaterial) {
56107
+ this.pointCloudMaterial.setPointShape(shape);
56108
+ }
56109
+ }
56110
+ /**
56111
+ * Enable a fullscreen debug quad to validate the render pipeline.
56112
+ */
56113
+ enableDebugFullScreen(enabled) {
56114
+ this._debugFullScreen = enabled;
56115
+ if (this.pointCloudMaterial) {
56116
+ this.pointCloudMaterial.enableDebugFullScreen(enabled);
56117
+ }
56118
+ }
56119
+ /**
56120
+ * Set batch size for instanced rendering
56121
+ * @param batchSize Number of points per draw call
56122
+ */
56123
+ setBatchSize(batchSize) {
56124
+ this._batchSize = Math.max(1, batchSize | 0);
56125
+ if (this.geometry) {
56126
+ const oldGeometry = this.geometry;
56127
+ Reference.getInstance().detached(oldGeometry, this);
56128
+ if (!Reference.getInstance().hasReference(oldGeometry)) {
56129
+ oldGeometry.destroy();
56130
+ }
56131
+ this.geometry = new PointCloudGeometry(this._batchSize);
56132
+ }
56133
+ if (this.pointCloudMaterial) {
56134
+ this.pointCloudMaterial.setBatchSize(this._batchSize);
56135
+ this.pointCloudMaterial.enableDebugFullScreen(this._debugFullScreen);
56136
+ }
56137
+ this.instanceCount = Math.ceil(this._validCount / this._batchSize);
56138
+ }
56139
+ /**
56140
+ * Clean up resources
56141
+ */
56142
+ destroy(force) {
56143
+ if (this.pointColor) {
56144
+ this.pointColor.destroy(force);
56145
+ this.pointColor = null;
56146
+ }
56147
+ if (this.pointPosition) {
56148
+ this.pointPosition.destroy(force);
56149
+ this.pointPosition = null;
56150
+ }
56151
+ if (this.pointOrder) {
56152
+ this.pointOrder.destroy(force);
56153
+ this.pointOrder = null;
56154
+ }
56155
+ this._positionData = null;
56156
+ this._colorData = null;
56157
+ this._orderData = null;
56158
+ this.texParams = null;
56159
+ this._pointSetFlags = null;
56160
+ this._pendingUpdates.clear();
56161
+ super.destroy(force);
56162
+ }
56163
+ };
56164
+ __publicField(PointCloudStreamRenderer, "flushFrameLimit", 60);
56165
+ PointCloudStreamRenderer = __decorateClass$6([
56166
+ RegisterComponent(PointCloudStreamRenderer, "PointCloudStreamRenderer")
56167
+ ], PointCloudStreamRenderer);
56168
+
55658
56169
  var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
55659
56170
  var __decorateClass$5 = (decorators, target, key, kind) => {
55660
56171
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
@@ -62555,7 +63066,7 @@ class StreamingGaussianSplatParser extends ParserBase {
62555
63066
  _streamParser = null;
62556
63067
  _streamingRenderer = null;
62557
63068
  _rendererObject = null;
62558
- _chunksPerBatch = 1e3;
63069
+ _chunksPerBatch = 1e4;
62559
63070
  // Number of splats to process per batch
62560
63071
  _headerParsed = false;
62561
63072
  _onHeaderParsed = null;
@@ -73320,4 +73831,4 @@ const __viteBrowserExternal = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.def
73320
73831
  __proto__: null
73321
73832
  }, Symbol.toStringTag, { value: 'Module' }));
73322
73833
 
73323
- export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoundingVolume, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DRACO_DECODER_GLTF_JS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FAILED, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FatLineGeometry, FatLineMaterial, FatLineRenderer, FatLineShader, FatLine_FS, FatLine_VS, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GSplatFormat, GSplatGeometry, GSplatMaterial, GSplatRenderer, GSplatShader, GSplatStreamRenderer, GSplat_FS, GSplat_VS, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GaussianSplatParser, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KMZParser, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LASLoader, LASParser, LASUtils, LASVisualizationMode, LDRTextureCube, LOADED, LOADING, LRUCache, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MinMaxAnimationCurves, MinMaxCurve, MinMaxCurveState, MinMaxPolyCurves, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PARSING, PBRLItShader, PBRLitSSSShader, PLUGIN_REGISTERED, PNTSLoader, PNTSLoaderBase, PNTSParser, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PlyMode, PlyParser, PlyStreamParser, PointClassification, PointCloudGeometry, PointCloudMaterial, PointCloudRenderer, PointCloudShader, PointCloud_FS, PointCloud_VS, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, PriorityQueue, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, R32UintTexture, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StreamLoader, StreamingGaussianSplatParser, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, Tile, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UNLOADED, UUID, UV, Uint32ArrayTexture, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, ValueSpread, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGS84_FLATTENING, WGS84_HEIGHT, WGS84_RADIUS, WGSLTranslator, WayLines3D, WayPoint3D, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, buildCurves, byteSizeOfType, calculateCurveRangesValue, calculateMinMax, castPointShadowMap_vert, clamp, clampRepeat, computeAABBFromPositions, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, curvesSupportProcedural, deg2Rad, detectGSplatFormat, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, inferSHOrder, integrateSegment, irradianceDataReader, kPI, lerp, lerpByte, lerpColor, lerpVector3, lruPriorityCallback, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, markUsedSetLeaves, markUsedTiles, markVisibleTiles, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, parsePlyMesh, parsePlyPointCloud, perm, post, priorityCallback, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readByType, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, splatColorProperties, splatProperties, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, throttle, toHalfFloat, toggleTiles, traverseAncestors, traverseSet, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };
73834
+ export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoundingVolume, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DRACO_DECODER_GLTF_JS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FAILED, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FatLineGeometry, FatLineMaterial, FatLineRenderer, FatLineShader, FatLine_FS, FatLine_VS, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GSplatFormat, GSplatGeometry, GSplatMaterial, GSplatRenderer, GSplatShader, GSplatStreamRenderer, GSplat_FS, GSplat_VS, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GaussianSplatParser, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KMZParser, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LASLoader, LASParser, LASUtils, LASVisualizationMode, LDRTextureCube, LOADED, LOADING, LRUCache, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MinMaxAnimationCurves, MinMaxCurve, MinMaxCurveState, MinMaxPolyCurves, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PARSING, PBRLItShader, PBRLitSSSShader, PLUGIN_REGISTERED, PNTSLoader, PNTSLoaderBase, PNTSParser, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PlyMode, PlyParser, PlyStreamParser, PointClassification, PointCloudGeometry, PointCloudMaterial, PointCloudRenderer, PointCloudShader, PointCloudStreamRenderer, PointCloud_FS, PointCloud_VS, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, PriorityQueue, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, R32UintTexture, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StreamLoader, StreamingGaussianSplatParser, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, Tile, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UNLOADED, UUID, UV, Uint32ArrayTexture, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, ValueSpread, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGS84_FLATTENING, WGS84_HEIGHT, WGS84_RADIUS, WGSLTranslator, WayLines3D, WayPoint3D, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, buildCurves, byteSizeOfType, calculateCurveRangesValue, calculateMinMax, castPointShadowMap_vert, clamp, clampRepeat, computeAABBFromPositions, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, curvesSupportProcedural, deg2Rad, detectGSplatFormat, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, inferSHOrder, integrateSegment, irradianceDataReader, kPI, lerp, lerpByte, lerpColor, lerpVector3, lruPriorityCallback, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, markUsedSetLeaves, markUsedTiles, markVisibleTiles, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, parsePlyMesh, parsePlyPointCloud, perm, post, priorityCallback, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readByType, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, splatColorProperties, splatProperties, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, throttle, toHalfFloat, toggleTiles, traverseAncestors, traverseSet, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };