@rings-webgpu/core 1.0.11 → 1.0.12

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.
@@ -2113,7 +2113,7 @@ function GetShader(name) {
2113
2113
  }
2114
2114
 
2115
2115
  var __defProp$2 = Object.defineProperty;
2116
- var __decorateClass$j = (decorators, target, key, kind) => {
2116
+ var __decorateClass$m = (decorators, target, key, kind) => {
2117
2117
  var result = void 0 ;
2118
2118
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2119
2119
  if (decorator = decorators[i])
@@ -2216,10 +2216,10 @@ const _Struct = class _Struct {
2216
2216
  return struct.__size;
2217
2217
  }
2218
2218
  };
2219
- __decorateClass$j([
2219
+ __decorateClass$m([
2220
2220
  NonSerialize
2221
2221
  ], _Struct.prototype, "__refection");
2222
- __decorateClass$j([
2222
+ __decorateClass$m([
2223
2223
  NonSerialize
2224
2224
  ], _Struct.prototype, "__size");
2225
2225
  let Struct = _Struct;
@@ -5025,18 +5025,20 @@ class SkeletonAnimation_shader {
5025
5025
  }
5026
5026
  }
5027
5027
 
5028
- let VertexAttributes_vert = `
5028
+ let VertexAttributes_vert = (
5029
+ /*wgsl*/
5030
+ `
5029
5031
  var<private> PI: f32 = 3.14159265359;
5030
5032
  #if USE_METAHUMAN
5031
5033
  ${MorphTarget_shader.getMorphTargetShaderBinding(3, 0)}
5032
- ${SkeletonAnimation_shader.groupBindingAndFunctions(3, 2)}
5034
+ ${SkeletonAnimation_shader.groupBindingAndFunctions(3, 2)}
5033
5035
  #else
5034
5036
  #if USE_MORPHTARGETS
5035
5037
  ${MorphTarget_shader.getMorphTargetShaderBinding(3, 0)}
5036
5038
  #endif
5037
5039
 
5038
5040
  #if USE_SKELETON
5039
- ${SkeletonAnimation_shader.groupBindingAndFunctions(3, 0)}
5041
+ ${SkeletonAnimation_shader.groupBindingAndFunctions(3, 0)}
5040
5042
  #endif
5041
5043
  #endif
5042
5044
 
@@ -5071,6 +5073,10 @@ let VertexAttributes_vert = `
5071
5073
  #endif
5072
5074
  #endif
5073
5075
  #else
5076
+ #if USE_TANGENT
5077
+ @location(auto) TANGENT: vec4<f32>,
5078
+ #endif
5079
+
5074
5080
  #if USE_SKELETON
5075
5081
  #if USE_TANGENT
5076
5082
  @location(auto) joints0: vec4<f32>,
@@ -5117,6 +5123,7 @@ let VertexAttributes_vert = `
5117
5123
  #if USE_TANGENT
5118
5124
  @location(auto) varying_Tangent: vec4<f32>,
5119
5125
  #endif
5126
+
5120
5127
 
5121
5128
  @builtin(position) member: vec4<f32>
5122
5129
  };
@@ -5166,23 +5173,24 @@ let VertexAttributes_vert = `
5166
5173
  clipPosition.z = log2Depth(clipPosition.w, globalUniform.near, globalUniform.far);
5167
5174
  #endif
5168
5175
 
5169
- ORI_CameraWorldDir = normalize(ORI_CAMERAMATRIX[3].xyz - worldPos.xyz);
5176
+ ORI_CameraWorldDir = normalize(ORI_CAMERAMATRIX[3].xyz - worldPos.xyz) ;
5170
5177
 
5171
- ORI_VertexOut.index = f32(vertex.index);
5178
+ ORI_VertexOut.index = f32(vertex.index) ;
5172
5179
 
5173
- ORI_VertexOut.varying_UV0 = vertex.uv.xy;
5180
+ ORI_VertexOut.varying_UV0 = vertex.uv.xy ;
5174
5181
 
5175
5182
  ORI_VertexOut.varying_UV1 = vertex.TEXCOORD_1.xy;
5176
5183
 
5177
- ORI_VertexOut.varying_ViewPos = viewPosition;
5178
- ORI_VertexOut.varying_Clip = clipPosition;
5179
- ORI_VertexOut.varying_WPos = worldPos;
5184
+ ORI_VertexOut.varying_ViewPos = viewPosition ;
5185
+ ORI_VertexOut.varying_Clip = clipPosition ;
5186
+ ORI_VertexOut.varying_WPos = worldPos ;
5180
5187
  ORI_VertexOut.varying_WPos.w = f32(vertex.index);
5181
- ORI_VertexOut.varying_WNormal = normalize(ORI_NORMALMATRIX * vertexNormal.xyz);
5188
+ ORI_VertexOut.varying_WNormal = normalize(ORI_NORMALMATRIX * vertexNormal.xyz) ;
5182
5189
 
5183
- ORI_VertexOut.member = clipPosition;
5190
+ ORI_VertexOut.member = clipPosition ;
5184
5191
  }
5185
- `;
5192
+ `
5193
+ );
5186
5194
 
5187
5195
  let VideoUniform_frag = `
5188
5196
  struct MaterialUniform {
@@ -5301,68 +5309,90 @@ let Inline_vert = (
5301
5309
  `
5302
5310
  );
5303
5311
 
5304
- let Common_frag = `
5305
- #include "GlobalUniform"
5306
- #include "FragmentVarying"
5307
- #include "FragmentOutput"
5308
- #include "ShadingInput"
5309
- #include "ColorUtil_frag"
5310
- #include "BitUtil"
5311
-
5312
- var<private> ORI_FragmentOutput: FragmentOutput;
5313
- var<private> ORI_VertexVarying: FragmentVarying;
5314
- var<private> ORI_ShadingInput: ShadingInput;
5315
- var<private> viewDir:vec3<f32>;
5316
- var<private> modelIndex:u32;
5312
+ let Common_frag = (
5313
+ /*wgsl*/
5314
+ `
5315
+ #include "GlobalUniform"
5316
+ #include "FragmentVarying"
5317
+ #include "FragmentOutput"
5318
+ #include "ShadingInput"
5319
+ #include "ColorUtil_frag"
5320
+ #include "BitUtil"
5317
5321
 
5318
- @fragment
5319
- fn FragMain( vertex_varying:FragmentVarying ) -> FragmentOutput {
5320
- modelIndex = u32(round(vertex_varying.index));
5321
- ORI_VertexVarying = vertex_varying;
5322
- ORI_VertexVarying.vWorldNormal = normalize(vertex_varying.vWorldNormal);
5322
+ var<private> ORI_FragmentOutput: FragmentOutput;
5323
+ var<private> ORI_VertexVarying: FragmentVarying;
5324
+ var<private> ORI_ShadingInput: ShadingInput;
5325
+ var<private> viewDir:vec3<f32>;
5326
+ var<private> modelIndex:u32;
5327
+
5328
+ @fragment
5329
+ fn FragMain( vertex_varying:FragmentVarying ) -> FragmentOutput {
5323
5330
  ORI_FragmentOutput.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
5324
- viewDir = normalize(globalUniform.CameraPos.xyz - ORI_VertexVarying.vWorldPos.xyz);
5325
- frag();
5331
+ ORI_VertexVarying = vertex_varying;
5332
+ ORI_VertexVarying.vWorldNormal = normalize(vertex_varying.vWorldNormal);
5333
+ ORI_FragmentOutput.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
5334
+ viewDir = normalize(globalUniform.CameraPos.xyz - ORI_VertexVarying.vWorldPos.xyz) ;
5326
5335
 
5327
- #if USE_DEBUG
5328
- debugFragmentOut();
5329
- #endif
5336
+ frag();
5337
+
5338
+ #if USE_DEBUG
5339
+ debugFragmentOut();
5340
+ #endif
5330
5341
 
5331
- #if USE_OUTDEPTH
5332
- #if USE_LOGDEPTH
5333
- ORI_FragmentOutput.out_depth = log2DepthFixPersp(ORI_VertexVarying.fragPosition.w, globalUniform.near, globalUniform.far);
5334
- #else
5335
- ORI_FragmentOutput.out_depth = ORI_ShadingInput.FragDepth;
5336
- #endif
5337
- #endif
5342
+ #if USE_DEFAULTFRAGOUT
5343
+ // let finalMatrix = globalUniform.projMat * globalUniform.viewMat ;
5344
+ // let nMat = mat3x3<f32>(finalMatrix[0].xyz,finalMatrix[1].xyz,finalMatrix[2].xyz) ;
5345
+ // let ORI_NORMALMATRIX = transpose(inverse( nMat ));
5346
+ // var vNormal = normalize(ORI_NORMALMATRIX * (ORI_VertexVarying.vWorldNormal));
5347
+
5348
+ // let gBuffer = packNHMDGBuffer(
5349
+ // ORI_VertexVarying.fragCoord.z,
5350
+ // ORI_ShadingInput.BaseColor.rgb,
5351
+ // ORI_ShadingInput.BaseColor.rgb,
5352
+ // vec3f(ORI_ShadingInput.Roughness,ORI_ShadingInput.Metallic,ORI_ShadingInput.AmbientOcclusion),
5353
+ // ORI_ShadingInput.Normal,
5354
+ // ORI_ShadingInput.Opacity
5355
+ // ) ;
5356
+ #endif
5338
5357
 
5339
- return ORI_FragmentOutput;
5340
- }
5358
+ #if USE_OUTDEPTH
5359
+ #if USE_LOGDEPTH
5360
+ ORI_FragmentOutput.out_depth = log2DepthFixPersp(ORI_VertexVarying.fragPosition.w, globalUniform.near, globalUniform.far);
5361
+ #else
5362
+ ORI_FragmentOutput.out_depth = ORI_ShadingInput.FragDepth ;
5363
+ #endif
5364
+ #endif
5341
5365
 
5342
- fn packNHMDGBuffer(depth:f32, albedo:vec3f,hdrLighting:vec3f,rmao:vec3f,normal:vec3f,alpha:f32) -> vec4f {
5343
- var gBuffer : vec4f;
5344
- var octUVNormal = (octEncode(normalize( (normal) )) + 1.0) * 0.5;
5345
- var yc = f32(r11g11b9_to_float(vec3f(octUVNormal,rmao.r)));
5346
- #if USE_CASTREFLECTION
5347
- var rgbm = EncodeRGBM(hdrLighting);
5348
- var zc = f32(pack4x8unorm(vec4f(rgbm.rgb,0.0))) ;
5349
- var wc = f32(pack4x8unorm(vec4f(rmao.rg,rgbm.a,0.0)));
5350
- #else
5351
- var zc = f32(vec4fToFloat_7bits(vec4f(albedo.rgb,alpha)));
5352
- var wc = f32(r22g8_to_float(vec2f(f32(modelIndex)/f_r22g8.r,rmao.g)));
5353
- #endif
5366
+ return ORI_FragmentOutput ;
5367
+ }
5354
5368
 
5355
- gBuffer.x = depth ;
5356
- gBuffer.y = yc;
5357
- gBuffer.z = zc;
5358
- gBuffer.w = wc;
5359
- return gBuffer;
5360
- }
5361
5369
 
5362
- fn transformUV( uv:vec2f , offsetScale:vec4f ) -> vec2f{
5363
- return uv * offsetScale.zw + offsetScale.xy;
5364
- }
5365
- `;
5370
+ fn packNHMDGBuffer(depth:f32, albedo:vec3f,hdrLighting:vec3f,rmao:vec3f,normal:vec3f,alpha:f32) -> vec4f {
5371
+ var gBuffer : vec4f ;
5372
+ var octUVNormal = (octEncode(normalize( (normal) )) + 1.0) * 0.5 ;
5373
+ var yc = f32(r11g11b9_to_float(vec3f(octUVNormal,rmao.r))) ;
5374
+ #if USE_CASTREFLECTION
5375
+ var rgbm = EncodeRGBM(hdrLighting);
5376
+ var zc = f32(pack4x8unorm(vec4f(rgbm.rgb,0.0))) ;
5377
+ var wc = f32(pack4x8unorm(vec4f(rmao.rg,rgbm.a,0.0)));
5378
+ #else
5379
+ var zc = f32(vec4fToFloat_7bits(vec4f(albedo.rgb,alpha)));
5380
+ var wc = f32(r22g8_to_float(vec2f(f32(modelIndex)/f_r22g8.r,rmao.g)));
5381
+ #endif
5382
+
5383
+ gBuffer.x = depth ;
5384
+ gBuffer.y = yc ;
5385
+ gBuffer.z = zc ;
5386
+ gBuffer.w = wc ;
5387
+ return gBuffer ;
5388
+ }
5389
+
5390
+ fn transformUV( uv:vec2f , offsetScale:vec4f ) -> vec2f{
5391
+ return uv * offsetScale.zw + offsetScale.xy ;
5392
+ }
5393
+
5394
+ `
5395
+ );
5366
5396
 
5367
5397
  let Common_vert = (
5368
5398
  /*wgsl*/
@@ -5732,6 +5762,7 @@ let FragmentVarying = `
5732
5762
  let FragmentOutput = `
5733
5763
  #if USE_CASTREFLECTION
5734
5764
  struct FragmentOutput {
5765
+ @location(auto) color: vec4<f32>,
5735
5766
  @location(auto) gBuffer: vec4<f32>,
5736
5767
  #if USE_OUTDEPTH
5737
5768
  @builtin(frag_depth) out_depth: f32
@@ -9525,6 +9556,186 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
9525
9556
  }
9526
9557
  `;
9527
9558
 
9559
+ const FatLine_VS = (
9560
+ /* wgsl */
9561
+ `
9562
+ #include "GlobalUniform"
9563
+
9564
+ // Instance attributes stored in storage buffer
9565
+ // Extended with prevDir and nextDir for Line Join support
9566
+ struct InstanceData {
9567
+ start: vec3<f32>,
9568
+ _padding1: f32,
9569
+ end: vec3<f32>,
9570
+ _padding2: f32,
9571
+ colorStart: vec3<f32>,
9572
+ _padding3: f32,
9573
+ colorEnd: vec3<f32>,
9574
+ _padding4: f32,
9575
+ };
9576
+
9577
+ struct VertexInput {
9578
+ @builtin(instance_index) instanceIndex: u32,
9579
+ @location(0) position: vec3<f32>, // Quad vertices
9580
+ @location(1) uv: vec2<f32>, // UV coordinates
9581
+ };
9582
+
9583
+ struct VertexOutput {
9584
+ @builtin(position) position: vec4<f32>,
9585
+ @location(0) vUv: vec2<f32>,
9586
+ @location(1) vColor: vec3<f32>,
9587
+ };
9588
+
9589
+ struct MaterialUniform {
9590
+ baseColor: vec4<f32>,
9591
+ lineWidth: f32,
9592
+ opacity: f32,
9593
+ resolution: vec2<f32>,
9594
+ modelMatrix: mat4x4<f32>,
9595
+ };
9596
+
9597
+ @group(1) @binding(0) var<uniform> materialUniform: MaterialUniform;
9598
+ @group(1) @binding(1) var<storage, read> instances: array<InstanceData>;
9599
+
9600
+ @vertex
9601
+ fn VertMain(input: VertexInput) -> VertexOutput {
9602
+ var output: VertexOutput;
9603
+
9604
+ let instance = instances[input.instanceIndex];
9605
+
9606
+ // Transform from local space to world space, then to view space
9607
+ let start_world = materialUniform.modelMatrix * vec4<f32>(instance.start, 1.0);
9608
+ let end_world = materialUniform.modelMatrix * vec4<f32>(instance.end, 1.0);
9609
+
9610
+ let start_view = globalUniform.viewMat * start_world;
9611
+ let end_view = globalUniform.viewMat * end_world;
9612
+
9613
+ // Project to clip space
9614
+ var clip_start = globalUniform.projMat * start_view;
9615
+ var clip_end = globalUniform.projMat * end_view;
9616
+
9617
+ // Perspective division to NDC space
9618
+ let ndc_start = clip_start.xyz / clip_start.w;
9619
+ let ndc_end = clip_end.xyz / clip_end.w;
9620
+
9621
+ // Calculate screen-space direction
9622
+ var dir = ndc_end.xy - ndc_start.xy;
9623
+
9624
+ // Account for aspect ratio
9625
+ let aspect = materialUniform.resolution.x / materialUniform.resolution.y;
9626
+ dir.x *= aspect;
9627
+ dir = normalize(dir);
9628
+
9629
+ // Calculate perpendicular offset
9630
+ var offset = vec2<f32>(dir.y, -dir.x);
9631
+
9632
+ // Undo aspect ratio adjustment for both dir and offset
9633
+ dir.x /= aspect;
9634
+ offset.x /= aspect;
9635
+
9636
+ // Flip offset direction based on position.x
9637
+ if (input.position.x < 0.0) {
9638
+ offset *= -1.0;
9639
+ }
9640
+
9641
+ // Handle endcaps
9642
+ if (input.position.y < 0.0) {
9643
+ offset += -dir;
9644
+ } else if (input.position.y > 1.0) {
9645
+ offset += dir;
9646
+ }
9647
+
9648
+ // Apply line width
9649
+ offset *= materialUniform.lineWidth;
9650
+ offset /= materialUniform.resolution.y; // Convert to clip space
9651
+
9652
+ // Select start or end point
9653
+ var clip = select(clip_end, clip_start, input.position.y < 0.5);
9654
+
9655
+ // Shift the depth of the projected points so the line segments
9656
+ // overlap neatly and face the camera properly (billboard effect)
9657
+ let clipPose = select(ndc_end, ndc_start, input.position.y < 0.5);
9658
+ clip.z = clipPose.z * clip.w;
9659
+
9660
+ // Perspective correction
9661
+ offset *= clip.w;
9662
+ clip.x += offset.x;
9663
+ clip.y += offset.y;
9664
+
9665
+ output.position = clip;
9666
+ output.vUv = input.uv;
9667
+ output.vColor = select(instance.colorEnd, instance.colorStart, input.position.y < 0.5);
9668
+
9669
+ return output;
9670
+ }
9671
+ `
9672
+ );
9673
+ const FatLine_FS = (
9674
+ /* wgsl */
9675
+ `
9676
+ struct FragmentOutput {
9677
+ @location(0) color: vec4<f32>,
9678
+ @location(1) gBuffer: vec4<f32>,
9679
+ };
9680
+
9681
+ struct VertexOutput {
9682
+ @builtin(position) position: vec4<f32>,
9683
+ @location(0) vUv: vec2<f32>,
9684
+ @location(1) vColor: vec3<f32>,
9685
+ };
9686
+
9687
+ struct MaterialUniform {
9688
+ baseColor: vec4<f32>,
9689
+ lineWidth: f32,
9690
+ opacity: f32,
9691
+ resolution: vec2<f32>,
9692
+ modelMatrix: mat4x4<f32>,
9693
+ };
9694
+
9695
+ @group(1) @binding(0) var<uniform> materialUniform: MaterialUniform;
9696
+
9697
+ @fragment
9698
+ fn FragMain(input: VertexOutput) -> FragmentOutput {
9699
+ var output: FragmentOutput;
9700
+
9701
+ var alpha = materialUniform.opacity;
9702
+
9703
+ // Round endcap rendering with anti-aliasing
9704
+ let a = input.vUv.x;
9705
+ let b = select(input.vUv.y - 1.0, input.vUv.y + 1.0, input.vUv.y > 0.0);
9706
+ let len2 = a * a + b * b;
9707
+
9708
+ // Calculate derivative (must be in uniform control flow)
9709
+ let dlen = fwidth(len2);
9710
+
9711
+ // Round endcap rendering - simple approach
9712
+ if (abs(input.vUv.y) > 1.0) {
9713
+ // Determine circle center: (0, 1) for top, (0, -1) for bottom
9714
+ var basePoint = select(
9715
+ vec2<f32>(0.0, -1.0), // Bottom endcap
9716
+ vec2<f32>(0.0, 1.0), // Top endcap
9717
+ input.vUv.y > 0.0
9718
+ );
9719
+
9720
+ // Distance from UV to circle center
9721
+ // var dist = length(input.vUv - basePoint);
9722
+ var dist2 = (input.vUv.x - basePoint.x) * (input.vUv.x - basePoint.x) + (input.vUv.y - basePoint.y) * (input.vUv.y - basePoint.y);
9723
+
9724
+ // Discard pixels outside circle (radius = 1.0)
9725
+ if (dist2 > 1.0) {
9726
+ discard;
9727
+ }
9728
+ }
9729
+
9730
+ let color = input.vColor * materialUniform.baseColor.rgb;
9731
+ output.color = vec4<f32>(color, alpha);
9732
+ output.gBuffer = vec4<f32>(0.0, 0.0, 0.0, 0.0); // No GBuffer data for lines
9733
+
9734
+ return output;
9735
+ }
9736
+ `
9737
+ );
9738
+
9528
9739
  class ShaderLib {
9529
9740
  static init() {
9530
9741
  ShaderLib.register("MathShader", MathShader);
@@ -9594,6 +9805,8 @@ class ShaderLib {
9594
9805
  );
9595
9806
  ShaderLib.register("ZPass_shader_vs", ZPassShader_vs);
9596
9807
  ShaderLib.register("ZPass_shader_fs", ZPassShader_fs);
9808
+ ShaderLib.register("FatLine_VS", FatLine_VS);
9809
+ ShaderLib.register("FatLine_FS", FatLine_FS);
9597
9810
  }
9598
9811
  static register(keyName, code) {
9599
9812
  if (!ShaderLib[keyName.toLowerCase()]) {
@@ -21680,9 +21893,9 @@ class OctreeEntity {
21680
21893
  }
21681
21894
 
21682
21895
  var __defProp$1 = Object.defineProperty;
21683
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
21684
- var __decorateClass$i = (decorators, target, key, kind) => {
21685
- var result = __getOwnPropDesc$i(target, key) ;
21896
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
21897
+ var __decorateClass$l = (decorators, target, key, kind) => {
21898
+ var result = __getOwnPropDesc$l(target, key) ;
21686
21899
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
21687
21900
  if (decorator = decorators[i])
21688
21901
  result = (decorator(target, key, result) ) || result;
@@ -22267,221 +22480,16 @@ class RenderNode extends ComponentBase {
22267
22480
  this._combineShaderRefection = void 0;
22268
22481
  }
22269
22482
  }
22270
- __decorateClass$i([
22483
+ __decorateClass$l([
22271
22484
  EditorInspector
22272
22485
  ], RenderNode.prototype, "materials");
22273
- __decorateClass$i([
22486
+ __decorateClass$l([
22274
22487
  EditorInspector
22275
22488
  ], RenderNode.prototype, "castShadow");
22276
- __decorateClass$i([
22489
+ __decorateClass$l([
22277
22490
  EditorInspector
22278
22491
  ], RenderNode.prototype, "castGI");
22279
22492
 
22280
- class Shader {
22281
- computes;
22282
- passShader;
22283
- constructor() {
22284
- this.computes = [];
22285
- this.passShader = /* @__PURE__ */ new Map();
22286
- }
22287
- addRenderPass(renderShader, index = -1) {
22288
- let subShader = this.passShader.get(renderShader.passType) || [];
22289
- if (index == -1) {
22290
- subShader.push(renderShader);
22291
- } else {
22292
- subShader.splice(index, -1, renderShader);
22293
- }
22294
- this.passShader.set(renderShader.passType, subShader);
22295
- }
22296
- removeShader(renderShader, index = -1) {
22297
- let subShader = this.passShader.get(
22298
- renderShader.passType
22299
- );
22300
- if (subShader) {
22301
- if (index == -1) {
22302
- let index2 = subShader.indexOf(renderShader);
22303
- if (index2 != -1) {
22304
- subShader.splice(index2);
22305
- }
22306
- } else {
22307
- subShader.splice(index, 1);
22308
- }
22309
- }
22310
- }
22311
- removeShaderByIndex(passType, index = -1) {
22312
- let subShader = this.passShader.get(passType);
22313
- if (subShader) {
22314
- if (index == -1) {
22315
- this.passShader.delete(passType);
22316
- } else {
22317
- subShader.splice(index, 1);
22318
- }
22319
- }
22320
- }
22321
- getSubShaders(passType) {
22322
- return this.passShader.get(passType) || [];
22323
- }
22324
- hasSubShaders(passType) {
22325
- let subs = this.passShader.get(passType);
22326
- return subs.length > 0;
22327
- }
22328
- getDefaultShaders() {
22329
- return this.passShader.get(PassType.COLOR);
22330
- }
22331
- getDefaultColorShader() {
22332
- return this.passShader.get(PassType.COLOR)[0];
22333
- }
22334
- setDefine(arg0, arg1) {
22335
- for (const pass of this.passShader) {
22336
- for (const rd of pass[1]) {
22337
- rd.setDefine(arg0, arg1);
22338
- }
22339
- }
22340
- }
22341
- hasDefine(arg0) {
22342
- for (const pass of this.passShader) {
22343
- for (const rd of pass[1]) {
22344
- let has = rd.hasDefine(arg0);
22345
- if (has) return has;
22346
- }
22347
- }
22348
- return false;
22349
- }
22350
- deleteDefine(arg0) {
22351
- for (const pass of this.passShader) {
22352
- for (const rd of pass[1]) {
22353
- rd.deleteDefine(arg0);
22354
- }
22355
- }
22356
- }
22357
- setUniform(arg0, arg1) {
22358
- for (const pass of this.passShader) {
22359
- for (const rd of pass[1]) {
22360
- rd.setUniform(arg0, arg1);
22361
- }
22362
- }
22363
- }
22364
- setUniformFloat(arg0, arg1) {
22365
- for (const pass of this.passShader) {
22366
- for (const rd of pass[1]) {
22367
- rd.setUniformFloat(arg0, arg1);
22368
- }
22369
- }
22370
- }
22371
- setUniformVector2(arg0, arg1) {
22372
- for (const pass of this.passShader) {
22373
- for (const rd of pass[1]) {
22374
- rd.setUniformVector2(arg0, arg1);
22375
- }
22376
- }
22377
- }
22378
- setUniformVector3(arg0, arg1) {
22379
- for (const pass of this.passShader) {
22380
- for (const rd of pass[1]) {
22381
- rd.setUniformVector3(arg0, arg1);
22382
- }
22383
- }
22384
- }
22385
- setUniformVector4(arg0, arg1) {
22386
- for (const pass of this.passShader) {
22387
- for (const rd of pass[1]) {
22388
- rd.setUniformVector4(arg0, arg1);
22389
- }
22390
- }
22391
- }
22392
- setUniformColor(arg0, arg1) {
22393
- for (const pass of this.passShader) {
22394
- for (const rd of pass[1]) {
22395
- rd.setUniformColor(arg0, arg1);
22396
- }
22397
- }
22398
- }
22399
- getUniform(arg0) {
22400
- return this.getDefaultColorShader().getUniform(arg0);
22401
- }
22402
- getUniformFloat(arg0) {
22403
- return this.getDefaultColorShader().getUniformFloat(arg0);
22404
- }
22405
- getUniformVector2(arg0) {
22406
- return this.getDefaultColorShader().getUniformVector2(arg0);
22407
- }
22408
- getUniformVector3(arg0) {
22409
- return this.getDefaultColorShader().getUniformVector3(arg0);
22410
- }
22411
- getUniformVector4(arg0) {
22412
- return this.getDefaultColorShader().getUniformVector4(arg0);
22413
- }
22414
- getUniformColor(arg0) {
22415
- return this.getDefaultColorShader().getUniformColor(arg0);
22416
- }
22417
- setTexture(arg0, arg1) {
22418
- for (const pass of this.passShader) {
22419
- for (const rd of pass[1]) {
22420
- rd.setTexture(arg0, arg1);
22421
- }
22422
- }
22423
- this.setDefine(`USE_${arg0.toLocaleUpperCase()}`, true);
22424
- }
22425
- getTexture(arg0) {
22426
- return this.getDefaultColorShader().textures[arg0];
22427
- }
22428
- setUniformBuffer(arg0, arg1) {
22429
- for (const pass of this.passShader) {
22430
- for (const rd of pass[1]) {
22431
- rd.setUniformBuffer(arg0, arg1);
22432
- }
22433
- }
22434
- }
22435
- getUniformBuffer(arg0) {
22436
- return this.getDefaultColorShader().getBuffer(arg0);
22437
- }
22438
- setStorageBuffer(arg0, arg1) {
22439
- for (const pass of this.passShader) {
22440
- for (const rd of pass[1]) {
22441
- rd.setStorageBuffer(arg0, arg1);
22442
- }
22443
- }
22444
- }
22445
- getStorageBuffer(arg0) {
22446
- return this.getDefaultColorShader().getBuffer(arg0);
22447
- }
22448
- setStructStorageBuffer(arg0, arg1) {
22449
- for (const pass of this.passShader) {
22450
- for (const rd of pass[1]) {
22451
- rd.setStructStorageBuffer(arg0, arg1);
22452
- }
22453
- }
22454
- }
22455
- getStructStorageBuffer(arg0) {
22456
- return this.getDefaultColorShader().getBuffer(arg0);
22457
- }
22458
- noticeValueChange() {
22459
- for (const pass of this.passShader) {
22460
- for (const rd of pass[1]) {
22461
- rd.noticeValueChange();
22462
- }
22463
- }
22464
- }
22465
- destroy() {
22466
- this.getDefaultColorShader().destroy();
22467
- }
22468
- clone() {
22469
- let newShader = new Shader();
22470
- let sourceShaderPassList = this.getDefaultShaders();
22471
- for (const shadePass of sourceShaderPassList) {
22472
- newShader.addRenderPass(shadePass);
22473
- }
22474
- return newShader;
22475
- }
22476
- applyUniform() {
22477
- for (const pass of this.passShader) {
22478
- for (const rd of pass[1]) {
22479
- rd.applyUniform();
22480
- }
22481
- }
22482
- }
22483
- }
22484
-
22485
22493
  class Material {
22486
22494
  instanceID;
22487
22495
  name;
@@ -22965,11 +22973,222 @@ const GSplat_FS = (
22965
22973
  `
22966
22974
  );
22967
22975
 
22968
- class GSplatMaterial extends Material {
22976
+ class Shader {
22977
+ computes;
22978
+ passShader;
22979
+ constructor() {
22980
+ this.computes = [];
22981
+ this.passShader = /* @__PURE__ */ new Map();
22982
+ }
22983
+ addRenderPass(renderShader, index = -1) {
22984
+ let subShader = this.passShader.get(renderShader.passType) || [];
22985
+ if (index == -1) {
22986
+ subShader.push(renderShader);
22987
+ } else {
22988
+ subShader.splice(index, -1, renderShader);
22989
+ }
22990
+ this.passShader.set(renderShader.passType, subShader);
22991
+ }
22992
+ removeShader(renderShader, index = -1) {
22993
+ let subShader = this.passShader.get(
22994
+ renderShader.passType
22995
+ );
22996
+ if (subShader) {
22997
+ if (index == -1) {
22998
+ let index2 = subShader.indexOf(renderShader);
22999
+ if (index2 != -1) {
23000
+ subShader.splice(index2);
23001
+ }
23002
+ } else {
23003
+ subShader.splice(index, 1);
23004
+ }
23005
+ }
23006
+ }
23007
+ removeShaderByIndex(passType, index = -1) {
23008
+ let subShader = this.passShader.get(passType);
23009
+ if (subShader) {
23010
+ if (index == -1) {
23011
+ this.passShader.delete(passType);
23012
+ } else {
23013
+ subShader.splice(index, 1);
23014
+ }
23015
+ }
23016
+ }
23017
+ getSubShaders(passType) {
23018
+ return this.passShader.get(passType) || [];
23019
+ }
23020
+ hasSubShaders(passType) {
23021
+ let subs = this.passShader.get(passType);
23022
+ return subs.length > 0;
23023
+ }
23024
+ getDefaultShaders() {
23025
+ return this.passShader.get(PassType.COLOR);
23026
+ }
23027
+ getDefaultColorShader() {
23028
+ return this.passShader.get(PassType.COLOR)[0];
23029
+ }
23030
+ setDefine(arg0, arg1) {
23031
+ for (const pass of this.passShader) {
23032
+ for (const rd of pass[1]) {
23033
+ rd.setDefine(arg0, arg1);
23034
+ }
23035
+ }
23036
+ }
23037
+ hasDefine(arg0) {
23038
+ for (const pass of this.passShader) {
23039
+ for (const rd of pass[1]) {
23040
+ let has = rd.hasDefine(arg0);
23041
+ if (has) return has;
23042
+ }
23043
+ }
23044
+ return false;
23045
+ }
23046
+ deleteDefine(arg0) {
23047
+ for (const pass of this.passShader) {
23048
+ for (const rd of pass[1]) {
23049
+ rd.deleteDefine(arg0);
23050
+ }
23051
+ }
23052
+ }
23053
+ setUniform(arg0, arg1) {
23054
+ for (const pass of this.passShader) {
23055
+ for (const rd of pass[1]) {
23056
+ rd.setUniform(arg0, arg1);
23057
+ }
23058
+ }
23059
+ }
23060
+ setUniformFloat(arg0, arg1) {
23061
+ for (const pass of this.passShader) {
23062
+ for (const rd of pass[1]) {
23063
+ rd.setUniformFloat(arg0, arg1);
23064
+ }
23065
+ }
23066
+ }
23067
+ setUniformVector2(arg0, arg1) {
23068
+ for (const pass of this.passShader) {
23069
+ for (const rd of pass[1]) {
23070
+ rd.setUniformVector2(arg0, arg1);
23071
+ }
23072
+ }
23073
+ }
23074
+ setUniformVector3(arg0, arg1) {
23075
+ for (const pass of this.passShader) {
23076
+ for (const rd of pass[1]) {
23077
+ rd.setUniformVector3(arg0, arg1);
23078
+ }
23079
+ }
23080
+ }
23081
+ setUniformVector4(arg0, arg1) {
23082
+ for (const pass of this.passShader) {
23083
+ for (const rd of pass[1]) {
23084
+ rd.setUniformVector4(arg0, arg1);
23085
+ }
23086
+ }
23087
+ }
23088
+ setUniformColor(arg0, arg1) {
23089
+ for (const pass of this.passShader) {
23090
+ for (const rd of pass[1]) {
23091
+ rd.setUniformColor(arg0, arg1);
23092
+ }
23093
+ }
23094
+ }
23095
+ getUniform(arg0) {
23096
+ return this.getDefaultColorShader().getUniform(arg0);
23097
+ }
23098
+ getUniformFloat(arg0) {
23099
+ return this.getDefaultColorShader().getUniformFloat(arg0);
23100
+ }
23101
+ getUniformVector2(arg0) {
23102
+ return this.getDefaultColorShader().getUniformVector2(arg0);
23103
+ }
23104
+ getUniformVector3(arg0) {
23105
+ return this.getDefaultColorShader().getUniformVector3(arg0);
23106
+ }
23107
+ getUniformVector4(arg0) {
23108
+ return this.getDefaultColorShader().getUniformVector4(arg0);
23109
+ }
23110
+ getUniformColor(arg0) {
23111
+ return this.getDefaultColorShader().getUniformColor(arg0);
23112
+ }
23113
+ setTexture(arg0, arg1) {
23114
+ for (const pass of this.passShader) {
23115
+ for (const rd of pass[1]) {
23116
+ rd.setTexture(arg0, arg1);
23117
+ }
23118
+ }
23119
+ this.setDefine(`USE_${arg0.toLocaleUpperCase()}`, true);
23120
+ }
23121
+ getTexture(arg0) {
23122
+ return this.getDefaultColorShader().textures[arg0];
23123
+ }
23124
+ setUniformBuffer(arg0, arg1) {
23125
+ for (const pass of this.passShader) {
23126
+ for (const rd of pass[1]) {
23127
+ rd.setUniformBuffer(arg0, arg1);
23128
+ }
23129
+ }
23130
+ }
23131
+ getUniformBuffer(arg0) {
23132
+ return this.getDefaultColorShader().getBuffer(arg0);
23133
+ }
23134
+ setStorageBuffer(arg0, arg1) {
23135
+ for (const pass of this.passShader) {
23136
+ for (const rd of pass[1]) {
23137
+ rd.setStorageBuffer(arg0, arg1);
23138
+ }
23139
+ }
23140
+ }
23141
+ getStorageBuffer(arg0) {
23142
+ return this.getDefaultColorShader().getBuffer(arg0);
23143
+ }
23144
+ setStructStorageBuffer(arg0, arg1) {
23145
+ for (const pass of this.passShader) {
23146
+ for (const rd of pass[1]) {
23147
+ rd.setStructStorageBuffer(arg0, arg1);
23148
+ }
23149
+ }
23150
+ }
23151
+ getStructStorageBuffer(arg0) {
23152
+ return this.getDefaultColorShader().getBuffer(arg0);
23153
+ }
23154
+ noticeValueChange() {
23155
+ for (const pass of this.passShader) {
23156
+ for (const rd of pass[1]) {
23157
+ rd.noticeValueChange();
23158
+ }
23159
+ }
23160
+ }
23161
+ destroy() {
23162
+ this.getDefaultColorShader().destroy();
23163
+ }
23164
+ clone() {
23165
+ let newShader = new Shader();
23166
+ let sourceShaderPassList = this.getDefaultShaders();
23167
+ for (const shadePass of sourceShaderPassList) {
23168
+ newShader.addRenderPass(shadePass);
23169
+ }
23170
+ return newShader;
23171
+ }
23172
+ applyUniform() {
23173
+ for (const pass of this.passShader) {
23174
+ for (const rd of pass[1]) {
23175
+ rd.applyUniform();
23176
+ }
23177
+ }
23178
+ }
23179
+ }
23180
+
23181
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
23182
+ var __decorateClass$k = (decorators, target, key, kind) => {
23183
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
23184
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
23185
+ if (decorator = decorators[i])
23186
+ result = (decorator(result)) || result;
23187
+ return result;
23188
+ };
23189
+ let GSplatShader = class extends Shader {
22969
23190
  constructor() {
22970
23191
  super();
22971
- ShaderLib.register("gsplat_vs_dc", GSplat_VS);
22972
- ShaderLib.register("gsplat_fs_dc", GSplat_FS);
22973
23192
  const pass = new RenderShaderPass("gsplat_vs_dc", "gsplat_fs_dc");
22974
23193
  pass.passType = PassType.COLOR;
22975
23194
  pass.setShaderEntry("VertMain", "FragMain");
@@ -22979,9 +23198,29 @@ class GSplatMaterial extends Material {
22979
23198
  pass.shaderState.transparent = true;
22980
23199
  pass.shaderState.blendMode = BlendMode.NORMAL;
22981
23200
  pass.shaderState.writeMasks = [15, 15];
22982
- const shader = new Shader();
22983
- shader.addRenderPass(pass);
22984
- this.shader = shader;
23201
+ this.addRenderPass(pass);
23202
+ this.setDefault();
23203
+ }
23204
+ /**
23205
+ * Set default uniform values
23206
+ */
23207
+ setDefault() {
23208
+ const pass = this.getDefaultColorShader();
23209
+ const identityMatrix = new Matrix4();
23210
+ pass.setUniform("modelMatrix", identityMatrix.rawData);
23211
+ pass.setUniform("pixelCull", new Float32Array([2, 0, 0, 0]));
23212
+ }
23213
+ };
23214
+ GSplatShader = __decorateClass$k([
23215
+ RegisterShader(GSplatShader, "GSplatShader")
23216
+ ], GSplatShader);
23217
+
23218
+ class GSplatMaterial extends Material {
23219
+ constructor() {
23220
+ super();
23221
+ ShaderLib.register("gsplat_vs_dc", GSplat_VS);
23222
+ ShaderLib.register("gsplat_fs_dc", GSplat_FS);
23223
+ this.shader = new GSplatShader();
22985
23224
  }
22986
23225
  setSplatTextures(splatColor, transformA, transformB, texParams, splatOrder) {
22987
23226
  const pass = this.shader.getDefaultColorShader();
@@ -23990,9 +24229,9 @@ class Float16ArrayTexture extends Texture {
23990
24229
  }
23991
24230
  }
23992
24231
 
23993
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
23994
- var __decorateClass$h = (decorators, target, key, kind) => {
23995
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
24232
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
24233
+ var __decorateClass$j = (decorators, target, key, kind) => {
24234
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
23996
24235
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23997
24236
  if (decorator = decorators[i])
23998
24237
  result = (decorator(result)) || result;
@@ -24745,7 +24984,7 @@ let GSplatRenderer = class extends RenderNode {
24745
24984
  super.destroy(force);
24746
24985
  }
24747
24986
  };
24748
- GSplatRenderer = __decorateClass$h([
24987
+ GSplatRenderer = __decorateClass$j([
24749
24988
  RegisterComponent(GSplatRenderer, "GSplatRenderer")
24750
24989
  ], GSplatRenderer);
24751
24990
 
@@ -25056,9 +25295,9 @@ class Entity extends CEventDispatcher {
25056
25295
  }
25057
25296
  }
25058
25297
 
25059
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
25060
- var __decorateClass$g = (decorators, target, key, kind) => {
25061
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
25298
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
25299
+ var __decorateClass$i = (decorators, target, key, kind) => {
25300
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
25062
25301
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25063
25302
  if (decorator = decorators[i])
25064
25303
  result = (decorator(result)) || result;
@@ -25323,7 +25562,7 @@ let Object3D = class extends Entity {
25323
25562
  super.destroy(force);
25324
25563
  }
25325
25564
  };
25326
- Object3D = __decorateClass$g([
25565
+ Object3D = __decorateClass$i([
25327
25566
  DecorateObject3D
25328
25567
  ], Object3D);
25329
25568
  function DecorateObject3D(ctor, _) {
@@ -26652,9 +26891,9 @@ class MorphTargetData {
26652
26891
  }
26653
26892
 
26654
26893
  var __defProp = Object.defineProperty;
26655
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
26656
- var __decorateClass$f = (decorators, target, key, kind) => {
26657
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
26894
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
26895
+ var __decorateClass$h = (decorators, target, key, kind) => {
26896
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
26658
26897
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
26659
26898
  if (decorator = decorators[i])
26660
26899
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -26763,13 +27002,13 @@ let MeshRenderer = class extends RenderNode {
26763
27002
  super.destroy(force);
26764
27003
  }
26765
27004
  };
26766
- __decorateClass$f([
27005
+ __decorateClass$h([
26767
27006
  EditorInspector
26768
27007
  ], MeshRenderer.prototype, "geometry", 1);
26769
- __decorateClass$f([
27008
+ __decorateClass$h([
26770
27009
  EditorInspector
26771
27010
  ], MeshRenderer.prototype, "material", 1);
26772
- MeshRenderer = __decorateClass$f([
27011
+ MeshRenderer = __decorateClass$h([
26773
27012
  RegisterComponent(MeshRenderer, "MeshRenderer")
26774
27013
  ], MeshRenderer);
26775
27014
 
@@ -27266,9 +27505,9 @@ class WebGPUDescriptorCreator {
27266
27505
  }
27267
27506
  }
27268
27507
 
27269
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
27270
- var __decorateClass$e = (decorators, target, key, kind) => {
27271
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
27508
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
27509
+ var __decorateClass$g = (decorators, target, key, kind) => {
27510
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
27272
27511
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
27273
27512
  if (decorator = decorators[i])
27274
27513
  result = (decorator(result)) || result;
@@ -27292,7 +27531,7 @@ let QuadShader = class extends Shader {
27292
27531
  this.setUniformFloat(`height`, 100);
27293
27532
  }
27294
27533
  };
27295
- QuadShader = __decorateClass$e([
27534
+ QuadShader = __decorateClass$g([
27296
27535
  RegisterShader(QuadShader, "QuadShader")
27297
27536
  ], QuadShader);
27298
27537
 
@@ -34566,9 +34805,9 @@ class LightBase extends ComponentBase {
34566
34805
  }
34567
34806
  }
34568
34807
 
34569
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
34570
- var __decorateClass$d = (decorators, target, key, kind) => {
34571
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
34808
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
34809
+ var __decorateClass$f = (decorators, target, key, kind) => {
34810
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
34572
34811
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34573
34812
  if (decorator = decorators[i])
34574
34813
  result = (decorator(result)) || result;
@@ -34610,13 +34849,13 @@ let DirectLight = class extends LightBase {
34610
34849
  debug() {
34611
34850
  }
34612
34851
  };
34613
- DirectLight = __decorateClass$d([
34852
+ DirectLight = __decorateClass$f([
34614
34853
  RegisterComponent(DirectLight, "DirectLight")
34615
34854
  ], DirectLight);
34616
34855
 
34617
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
34618
- var __decorateClass$c = (decorators, target, key, kind) => {
34619
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
34856
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
34857
+ var __decorateClass$e = (decorators, target, key, kind) => {
34858
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
34620
34859
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34621
34860
  if (decorator = decorators[i])
34622
34861
  result = (decorator(result)) || result;
@@ -34674,13 +34913,13 @@ let PointLight = class extends LightBase {
34674
34913
  debugDraw(show) {
34675
34914
  }
34676
34915
  };
34677
- PointLight = __decorateClass$c([
34916
+ PointLight = __decorateClass$e([
34678
34917
  RegisterComponent(PointLight, "PointLight")
34679
34918
  ], PointLight);
34680
34919
 
34681
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
34682
- var __decorateClass$b = (decorators, target, key, kind) => {
34683
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
34920
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
34921
+ var __decorateClass$d = (decorators, target, key, kind) => {
34922
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
34684
34923
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34685
34924
  if (decorator = decorators[i])
34686
34925
  result = (decorator(result)) || result;
@@ -34745,7 +34984,7 @@ let SpotLight = class extends LightBase {
34745
34984
  debugDraw(show) {
34746
34985
  }
34747
34986
  };
34748
- SpotLight = __decorateClass$b([
34987
+ SpotLight = __decorateClass$d([
34749
34988
  RegisterComponent(SpotLight, "SpotLight")
34750
34989
  ], SpotLight);
34751
34990
 
@@ -39298,483 +39537,483 @@ class AtlasParser extends ParserBase {
39298
39537
  }
39299
39538
  }
39300
39539
 
39301
- // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
39302
- // https://tools.ietf.org/html/rfc1951
39303
- // You may also wish to take a look at the guide I made about this program:
39304
- // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
39305
- // Some of the following code is similar to that of UZIP.js:
39306
- // https://github.com/photopea/UZIP.js
39307
- // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
39308
- // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
39309
- // is better for memory in most engines (I *think*).
39310
-
39311
- // aliases for shorter compressed code (most minifers don't do this)
39312
- var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
39313
- // fixed length extra bits
39314
- var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);
39315
- // fixed distance extra bits
39316
- var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);
39317
- // code length index map
39318
- var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
39319
- // get base, reverse index map from extra bits
39320
- var freb = function (eb, start) {
39321
- var b = new u16(31);
39322
- for (var i = 0; i < 31; ++i) {
39323
- b[i] = start += 1 << eb[i - 1];
39324
- }
39325
- // numbers here are at max 18 bits
39326
- var r = new i32(b[30]);
39327
- for (var i = 1; i < 30; ++i) {
39328
- for (var j = b[i]; j < b[i + 1]; ++j) {
39329
- r[j] = ((j - b[i]) << 5) | i;
39330
- }
39331
- }
39332
- return { b: b, r: r };
39333
- };
39334
- var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
39335
- // we can ignore the fact that the other numbers are wrong; they never happen anyway
39336
- fl[28] = 258, revfl[258] = 28;
39337
- var _b = freb(fdeb, 0), fd = _b.b;
39338
- // map of value to reverse (assuming 16 bits)
39339
- var rev = new u16(32768);
39340
- for (var i = 0; i < 32768; ++i) {
39341
- // reverse table algorithm from SO
39342
- var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
39343
- x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
39344
- x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
39345
- rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
39346
- }
39347
- // create huffman tree from u8 "map": index -> code length for code index
39348
- // mb (max bits) must be at most 15
39349
- // TODO: optimize/split up?
39350
- var hMap = (function (cd, mb, r) {
39351
- var s = cd.length;
39352
- // index
39353
- var i = 0;
39354
- // u16 "map": index -> # of codes with bit length = index
39355
- var l = new u16(mb);
39356
- // length of cd must be 288 (total # of codes)
39357
- for (; i < s; ++i) {
39358
- if (cd[i])
39359
- ++l[cd[i] - 1];
39360
- }
39361
- // u16 "map": index -> minimum code for bit length = index
39362
- var le = new u16(mb);
39363
- for (i = 1; i < mb; ++i) {
39364
- le[i] = (le[i - 1] + l[i - 1]) << 1;
39365
- }
39366
- var co;
39367
- if (r) {
39368
- // u16 "map": index -> number of actual bits, symbol for code
39369
- co = new u16(1 << mb);
39370
- // bits to remove for reverser
39371
- var rvb = 15 - mb;
39372
- for (i = 0; i < s; ++i) {
39373
- // ignore 0 lengths
39374
- if (cd[i]) {
39375
- // num encoding both symbol and bits read
39376
- var sv = (i << 4) | cd[i];
39377
- // free bits
39378
- var r_1 = mb - cd[i];
39379
- // start value
39380
- var v = le[cd[i] - 1]++ << r_1;
39381
- // m is end value
39382
- for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
39383
- // every 16 bit value starting with the code yields the same result
39384
- co[rev[v] >> rvb] = sv;
39385
- }
39386
- }
39387
- }
39388
- }
39389
- else {
39390
- co = new u16(s);
39391
- for (i = 0; i < s; ++i) {
39392
- if (cd[i]) {
39393
- co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
39394
- }
39395
- }
39396
- }
39397
- return co;
39398
- });
39399
- // fixed length tree
39400
- var flt = new u8(288);
39401
- for (var i = 0; i < 144; ++i)
39402
- flt[i] = 8;
39403
- for (var i = 144; i < 256; ++i)
39404
- flt[i] = 9;
39405
- for (var i = 256; i < 280; ++i)
39406
- flt[i] = 7;
39407
- for (var i = 280; i < 288; ++i)
39408
- flt[i] = 8;
39409
- // fixed distance tree
39410
- var fdt = new u8(32);
39411
- for (var i = 0; i < 32; ++i)
39412
- fdt[i] = 5;
39413
- // fixed length map
39414
- var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
39415
- // fixed distance map
39416
- var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
39417
- // find max of array
39418
- var max = function (a) {
39419
- var m = a[0];
39420
- for (var i = 1; i < a.length; ++i) {
39421
- if (a[i] > m)
39422
- m = a[i];
39423
- }
39424
- return m;
39425
- };
39426
- // read d, starting at bit p and mask with m
39427
- var bits = function (d, p, m) {
39428
- var o = (p / 8) | 0;
39429
- return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
39430
- };
39431
- // read d, starting at bit p continuing for at least 16 bits
39432
- var bits16 = function (d, p) {
39433
- var o = (p / 8) | 0;
39434
- return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
39435
- };
39436
- // get end of byte
39437
- var shft = function (p) { return ((p + 7) / 8) | 0; };
39438
- // typed array slice - allows garbage collector to free original reference,
39439
- // while being more compatible than .slice
39440
- var slc = function (v, s, e) {
39441
- if (s == null || s < 0)
39442
- s = 0;
39443
- if (e == null || e > v.length)
39444
- e = v.length;
39445
- // can't use .constructor in case user-supplied
39446
- return new u8(v.subarray(s, e));
39447
- };
39448
- // error codes
39449
- var ec = [
39450
- 'unexpected EOF',
39451
- 'invalid block type',
39452
- 'invalid length/literal',
39453
- 'invalid distance',
39454
- 'stream finished',
39455
- 'no stream handler',
39456
- ,
39457
- 'no callback',
39458
- 'invalid UTF-8 data',
39459
- 'extra field too long',
39460
- 'date not in range 1980-2099',
39461
- 'filename too long',
39462
- 'stream finishing',
39463
- 'invalid zip data'
39464
- // determined by unknown compression method
39465
- ];
39466
- var err = function (ind, msg, nt) {
39467
- var e = new Error(msg || ec[ind]);
39468
- e.code = ind;
39469
- if (Error.captureStackTrace)
39470
- Error.captureStackTrace(e, err);
39471
- if (!nt)
39472
- throw e;
39473
- return e;
39474
- };
39475
- // expands raw DEFLATE data
39476
- var inflt = function (dat, st, buf, dict) {
39477
- // source length dict length
39478
- var sl = dat.length, dl = dict ? dict.length : 0;
39479
- if (!sl || st.f && !st.l)
39480
- return buf || new u8(0);
39481
- var noBuf = !buf;
39482
- // have to estimate size
39483
- var resize = noBuf || st.i != 2;
39484
- // no state
39485
- var noSt = st.i;
39486
- // Assumes roughly 33% compression ratio average
39487
- if (noBuf)
39488
- buf = new u8(sl * 3);
39489
- // ensure buffer can fit at least l elements
39490
- var cbuf = function (l) {
39491
- var bl = buf.length;
39492
- // need to increase size to fit
39493
- if (l > bl) {
39494
- // Double or set to necessary, whichever is greater
39495
- var nbuf = new u8(Math.max(bl * 2, l));
39496
- nbuf.set(buf);
39497
- buf = nbuf;
39498
- }
39499
- };
39500
- // last chunk bitpos bytes
39501
- var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
39502
- // total bits
39503
- var tbts = sl * 8;
39504
- do {
39505
- if (!lm) {
39506
- // BFINAL - this is only 1 when last chunk is next
39507
- final = bits(dat, pos, 1);
39508
- // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
39509
- var type = bits(dat, pos + 1, 3);
39510
- pos += 3;
39511
- if (!type) {
39512
- // go to end of byte boundary
39513
- var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
39514
- if (t > sl) {
39515
- if (noSt)
39516
- err(0);
39517
- break;
39518
- }
39519
- // ensure size
39520
- if (resize)
39521
- cbuf(bt + l);
39522
- // Copy over uncompressed data
39523
- buf.set(dat.subarray(s, t), bt);
39524
- // Get new bitpos, update byte count
39525
- st.b = bt += l, st.p = pos = t * 8, st.f = final;
39526
- continue;
39527
- }
39528
- else if (type == 1)
39529
- lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
39530
- else if (type == 2) {
39531
- // literal lengths
39532
- var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
39533
- var tl = hLit + bits(dat, pos + 5, 31) + 1;
39534
- pos += 14;
39535
- // length+distance tree
39536
- var ldt = new u8(tl);
39537
- // code length tree
39538
- var clt = new u8(19);
39539
- for (var i = 0; i < hcLen; ++i) {
39540
- // use index map to get real code
39541
- clt[clim[i]] = bits(dat, pos + i * 3, 7);
39542
- }
39543
- pos += hcLen * 3;
39544
- // code lengths bits
39545
- var clb = max(clt), clbmsk = (1 << clb) - 1;
39546
- // code lengths map
39547
- var clm = hMap(clt, clb, 1);
39548
- for (var i = 0; i < tl;) {
39549
- var r = clm[bits(dat, pos, clbmsk)];
39550
- // bits read
39551
- pos += r & 15;
39552
- // symbol
39553
- var s = r >> 4;
39554
- // code length to copy
39555
- if (s < 16) {
39556
- ldt[i++] = s;
39557
- }
39558
- else {
39559
- // copy count
39560
- var c = 0, n = 0;
39561
- if (s == 16)
39562
- n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
39563
- else if (s == 17)
39564
- n = 3 + bits(dat, pos, 7), pos += 3;
39565
- else if (s == 18)
39566
- n = 11 + bits(dat, pos, 127), pos += 7;
39567
- while (n--)
39568
- ldt[i++] = c;
39569
- }
39570
- }
39571
- // length tree distance tree
39572
- var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
39573
- // max length bits
39574
- lbt = max(lt);
39575
- // max dist bits
39576
- dbt = max(dt);
39577
- lm = hMap(lt, lbt, 1);
39578
- dm = hMap(dt, dbt, 1);
39579
- }
39580
- else
39581
- err(1);
39582
- if (pos > tbts) {
39583
- if (noSt)
39584
- err(0);
39585
- break;
39586
- }
39587
- }
39588
- // Make sure the buffer can hold this + the largest possible addition
39589
- // Maximum chunk size (practically, theoretically infinite) is 2^17
39590
- if (resize)
39591
- cbuf(bt + 131072);
39592
- var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
39593
- var lpos = pos;
39594
- for (;; lpos = pos) {
39595
- // bits read, code
39596
- var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
39597
- pos += c & 15;
39598
- if (pos > tbts) {
39599
- if (noSt)
39600
- err(0);
39601
- break;
39602
- }
39603
- if (!c)
39604
- err(2);
39605
- if (sym < 256)
39606
- buf[bt++] = sym;
39607
- else if (sym == 256) {
39608
- lpos = pos, lm = null;
39609
- break;
39610
- }
39611
- else {
39612
- var add = sym - 254;
39613
- // no extra bits needed if less
39614
- if (sym > 264) {
39615
- // index
39616
- var i = sym - 257, b = fleb[i];
39617
- add = bits(dat, pos, (1 << b) - 1) + fl[i];
39618
- pos += b;
39619
- }
39620
- // dist
39621
- var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
39622
- if (!d)
39623
- err(3);
39624
- pos += d & 15;
39625
- var dt = fd[dsym];
39626
- if (dsym > 3) {
39627
- var b = fdeb[dsym];
39628
- dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
39629
- }
39630
- if (pos > tbts) {
39631
- if (noSt)
39632
- err(0);
39633
- break;
39634
- }
39635
- if (resize)
39636
- cbuf(bt + 131072);
39637
- var end = bt + add;
39638
- if (bt < dt) {
39639
- var shift = dl - dt, dend = Math.min(dt, end);
39640
- if (shift + bt < 0)
39641
- err(3);
39642
- for (; bt < dend; ++bt)
39643
- buf[bt] = dict[shift + bt];
39644
- }
39645
- for (; bt < end; ++bt)
39646
- buf[bt] = buf[bt - dt];
39647
- }
39648
- }
39649
- st.l = lm, st.p = lpos, st.b = bt, st.f = final;
39650
- if (lm)
39651
- final = 1, st.m = lbt, st.d = dm, st.n = dbt;
39652
- } while (!final);
39653
- // don't reallocate for streams or user buffers
39654
- return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
39655
- };
39656
- // empty
39657
- var et = /*#__PURE__*/ new u8(0);
39658
- // read 2 bytes
39659
- var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
39660
- // read 4 bytes
39661
- var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
39662
- var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
39663
- /**
39664
- * Expands DEFLATE data with no wrapper
39665
- * @param data The data to decompress
39666
- * @param opts The decompression options
39667
- * @returns The decompressed version of the data
39668
- */
39669
- function inflateSync(data, opts) {
39670
- return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
39671
- }
39672
- // text decoder
39673
- var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
39674
- // text decoder stream
39675
- var tds = 0;
39676
- try {
39677
- td.decode(et, { stream: true });
39678
- tds = 1;
39679
- }
39680
- catch (e) { }
39681
- // decode UTF8
39682
- var dutf8 = function (d) {
39683
- for (var r = '', i = 0;;) {
39684
- var c = d[i++];
39685
- var eb = (c > 127) + (c > 223) + (c > 239);
39686
- if (i + eb > d.length)
39687
- return { s: r, r: slc(d, i - 1) };
39688
- if (!eb)
39689
- r += String.fromCharCode(c);
39690
- else if (eb == 3) {
39691
- c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
39692
- r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
39693
- }
39694
- else if (eb & 1)
39695
- r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
39696
- else
39697
- r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
39698
- }
39699
- };
39700
- /**
39701
- * Converts a Uint8Array to a string
39702
- * @param dat The data to decode to string
39703
- * @param latin1 Whether or not to interpret the data as Latin-1. This should
39704
- * not need to be true unless encoding to binary string.
39705
- * @returns The original UTF-8/Latin-1 string
39706
- */
39707
- function strFromU8(dat, latin1) {
39708
- if (latin1) {
39709
- var r = '';
39710
- for (var i = 0; i < dat.length; i += 16384)
39711
- r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
39712
- return r;
39713
- }
39714
- else if (td) {
39715
- return td.decode(dat);
39716
- }
39717
- else {
39718
- var _a = dutf8(dat), s = _a.s, r = _a.r;
39719
- if (r.length)
39720
- err(8);
39721
- return s;
39722
- }
39723
- }
39724
- // skip local zip header
39725
- var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
39726
- // read zip header
39727
- var zh = function (d, b, z) {
39728
- var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
39729
- var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];
39730
- return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
39731
- };
39732
- // read zip64 extra field
39733
- var z64e = function (d, b) {
39734
- for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
39735
- ;
39736
- return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
39737
- };
39738
- /**
39739
- * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
39740
- * performance with more than one file.
39741
- * @param data The raw compressed ZIP file
39742
- * @param opts The ZIP extraction options
39743
- * @returns The decompressed files
39744
- */
39745
- function unzipSync(data, opts) {
39746
- var files = {};
39747
- var e = data.length - 22;
39748
- for (; b4(data, e) != 0x6054B50; --e) {
39749
- if (!e || data.length - e > 65558)
39750
- err(13);
39751
- }
39752
- var c = b2(data, e + 8);
39753
- if (!c)
39754
- return {};
39755
- var o = b4(data, e + 16);
39756
- var z = o == 4294967295 || c == 65535;
39757
- if (z) {
39758
- var ze = b4(data, e - 12);
39759
- z = b4(data, ze) == 0x6064B50;
39760
- if (z) {
39761
- c = b4(data, ze + 32);
39762
- o = b4(data, ze + 48);
39763
- }
39764
- }
39765
- for (var i = 0; i < c; ++i) {
39766
- var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
39767
- o = no;
39768
- {
39769
- if (!c_2)
39770
- files[fn] = slc(data, b, b + sc);
39771
- else if (c_2 == 8)
39772
- files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
39773
- else
39774
- err(14, 'unknown compression type ' + c_2);
39775
- }
39776
- }
39777
- return files;
39540
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
39541
+ // https://tools.ietf.org/html/rfc1951
39542
+ // You may also wish to take a look at the guide I made about this program:
39543
+ // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
39544
+ // Some of the following code is similar to that of UZIP.js:
39545
+ // https://github.com/photopea/UZIP.js
39546
+ // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
39547
+ // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
39548
+ // is better for memory in most engines (I *think*).
39549
+
39550
+ // aliases for shorter compressed code (most minifers don't do this)
39551
+ var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
39552
+ // fixed length extra bits
39553
+ var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);
39554
+ // fixed distance extra bits
39555
+ var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);
39556
+ // code length index map
39557
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
39558
+ // get base, reverse index map from extra bits
39559
+ var freb = function (eb, start) {
39560
+ var b = new u16(31);
39561
+ for (var i = 0; i < 31; ++i) {
39562
+ b[i] = start += 1 << eb[i - 1];
39563
+ }
39564
+ // numbers here are at max 18 bits
39565
+ var r = new i32(b[30]);
39566
+ for (var i = 1; i < 30; ++i) {
39567
+ for (var j = b[i]; j < b[i + 1]; ++j) {
39568
+ r[j] = ((j - b[i]) << 5) | i;
39569
+ }
39570
+ }
39571
+ return { b: b, r: r };
39572
+ };
39573
+ var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
39574
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
39575
+ fl[28] = 258, revfl[258] = 28;
39576
+ var _b = freb(fdeb, 0), fd = _b.b;
39577
+ // map of value to reverse (assuming 16 bits)
39578
+ var rev = new u16(32768);
39579
+ for (var i = 0; i < 32768; ++i) {
39580
+ // reverse table algorithm from SO
39581
+ var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
39582
+ x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
39583
+ x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
39584
+ rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
39585
+ }
39586
+ // create huffman tree from u8 "map": index -> code length for code index
39587
+ // mb (max bits) must be at most 15
39588
+ // TODO: optimize/split up?
39589
+ var hMap = (function (cd, mb, r) {
39590
+ var s = cd.length;
39591
+ // index
39592
+ var i = 0;
39593
+ // u16 "map": index -> # of codes with bit length = index
39594
+ var l = new u16(mb);
39595
+ // length of cd must be 288 (total # of codes)
39596
+ for (; i < s; ++i) {
39597
+ if (cd[i])
39598
+ ++l[cd[i] - 1];
39599
+ }
39600
+ // u16 "map": index -> minimum code for bit length = index
39601
+ var le = new u16(mb);
39602
+ for (i = 1; i < mb; ++i) {
39603
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
39604
+ }
39605
+ var co;
39606
+ if (r) {
39607
+ // u16 "map": index -> number of actual bits, symbol for code
39608
+ co = new u16(1 << mb);
39609
+ // bits to remove for reverser
39610
+ var rvb = 15 - mb;
39611
+ for (i = 0; i < s; ++i) {
39612
+ // ignore 0 lengths
39613
+ if (cd[i]) {
39614
+ // num encoding both symbol and bits read
39615
+ var sv = (i << 4) | cd[i];
39616
+ // free bits
39617
+ var r_1 = mb - cd[i];
39618
+ // start value
39619
+ var v = le[cd[i] - 1]++ << r_1;
39620
+ // m is end value
39621
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
39622
+ // every 16 bit value starting with the code yields the same result
39623
+ co[rev[v] >> rvb] = sv;
39624
+ }
39625
+ }
39626
+ }
39627
+ }
39628
+ else {
39629
+ co = new u16(s);
39630
+ for (i = 0; i < s; ++i) {
39631
+ if (cd[i]) {
39632
+ co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
39633
+ }
39634
+ }
39635
+ }
39636
+ return co;
39637
+ });
39638
+ // fixed length tree
39639
+ var flt = new u8(288);
39640
+ for (var i = 0; i < 144; ++i)
39641
+ flt[i] = 8;
39642
+ for (var i = 144; i < 256; ++i)
39643
+ flt[i] = 9;
39644
+ for (var i = 256; i < 280; ++i)
39645
+ flt[i] = 7;
39646
+ for (var i = 280; i < 288; ++i)
39647
+ flt[i] = 8;
39648
+ // fixed distance tree
39649
+ var fdt = new u8(32);
39650
+ for (var i = 0; i < 32; ++i)
39651
+ fdt[i] = 5;
39652
+ // fixed length map
39653
+ var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
39654
+ // fixed distance map
39655
+ var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
39656
+ // find max of array
39657
+ var max = function (a) {
39658
+ var m = a[0];
39659
+ for (var i = 1; i < a.length; ++i) {
39660
+ if (a[i] > m)
39661
+ m = a[i];
39662
+ }
39663
+ return m;
39664
+ };
39665
+ // read d, starting at bit p and mask with m
39666
+ var bits = function (d, p, m) {
39667
+ var o = (p / 8) | 0;
39668
+ return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
39669
+ };
39670
+ // read d, starting at bit p continuing for at least 16 bits
39671
+ var bits16 = function (d, p) {
39672
+ var o = (p / 8) | 0;
39673
+ return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
39674
+ };
39675
+ // get end of byte
39676
+ var shft = function (p) { return ((p + 7) / 8) | 0; };
39677
+ // typed array slice - allows garbage collector to free original reference,
39678
+ // while being more compatible than .slice
39679
+ var slc = function (v, s, e) {
39680
+ if (s == null || s < 0)
39681
+ s = 0;
39682
+ if (e == null || e > v.length)
39683
+ e = v.length;
39684
+ // can't use .constructor in case user-supplied
39685
+ return new u8(v.subarray(s, e));
39686
+ };
39687
+ // error codes
39688
+ var ec = [
39689
+ 'unexpected EOF',
39690
+ 'invalid block type',
39691
+ 'invalid length/literal',
39692
+ 'invalid distance',
39693
+ 'stream finished',
39694
+ 'no stream handler',
39695
+ ,
39696
+ 'no callback',
39697
+ 'invalid UTF-8 data',
39698
+ 'extra field too long',
39699
+ 'date not in range 1980-2099',
39700
+ 'filename too long',
39701
+ 'stream finishing',
39702
+ 'invalid zip data'
39703
+ // determined by unknown compression method
39704
+ ];
39705
+ var err = function (ind, msg, nt) {
39706
+ var e = new Error(msg || ec[ind]);
39707
+ e.code = ind;
39708
+ if (Error.captureStackTrace)
39709
+ Error.captureStackTrace(e, err);
39710
+ if (!nt)
39711
+ throw e;
39712
+ return e;
39713
+ };
39714
+ // expands raw DEFLATE data
39715
+ var inflt = function (dat, st, buf, dict) {
39716
+ // source length dict length
39717
+ var sl = dat.length, dl = dict ? dict.length : 0;
39718
+ if (!sl || st.f && !st.l)
39719
+ return buf || new u8(0);
39720
+ var noBuf = !buf;
39721
+ // have to estimate size
39722
+ var resize = noBuf || st.i != 2;
39723
+ // no state
39724
+ var noSt = st.i;
39725
+ // Assumes roughly 33% compression ratio average
39726
+ if (noBuf)
39727
+ buf = new u8(sl * 3);
39728
+ // ensure buffer can fit at least l elements
39729
+ var cbuf = function (l) {
39730
+ var bl = buf.length;
39731
+ // need to increase size to fit
39732
+ if (l > bl) {
39733
+ // Double or set to necessary, whichever is greater
39734
+ var nbuf = new u8(Math.max(bl * 2, l));
39735
+ nbuf.set(buf);
39736
+ buf = nbuf;
39737
+ }
39738
+ };
39739
+ // last chunk bitpos bytes
39740
+ var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
39741
+ // total bits
39742
+ var tbts = sl * 8;
39743
+ do {
39744
+ if (!lm) {
39745
+ // BFINAL - this is only 1 when last chunk is next
39746
+ final = bits(dat, pos, 1);
39747
+ // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
39748
+ var type = bits(dat, pos + 1, 3);
39749
+ pos += 3;
39750
+ if (!type) {
39751
+ // go to end of byte boundary
39752
+ var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
39753
+ if (t > sl) {
39754
+ if (noSt)
39755
+ err(0);
39756
+ break;
39757
+ }
39758
+ // ensure size
39759
+ if (resize)
39760
+ cbuf(bt + l);
39761
+ // Copy over uncompressed data
39762
+ buf.set(dat.subarray(s, t), bt);
39763
+ // Get new bitpos, update byte count
39764
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
39765
+ continue;
39766
+ }
39767
+ else if (type == 1)
39768
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
39769
+ else if (type == 2) {
39770
+ // literal lengths
39771
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
39772
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
39773
+ pos += 14;
39774
+ // length+distance tree
39775
+ var ldt = new u8(tl);
39776
+ // code length tree
39777
+ var clt = new u8(19);
39778
+ for (var i = 0; i < hcLen; ++i) {
39779
+ // use index map to get real code
39780
+ clt[clim[i]] = bits(dat, pos + i * 3, 7);
39781
+ }
39782
+ pos += hcLen * 3;
39783
+ // code lengths bits
39784
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
39785
+ // code lengths map
39786
+ var clm = hMap(clt, clb, 1);
39787
+ for (var i = 0; i < tl;) {
39788
+ var r = clm[bits(dat, pos, clbmsk)];
39789
+ // bits read
39790
+ pos += r & 15;
39791
+ // symbol
39792
+ var s = r >> 4;
39793
+ // code length to copy
39794
+ if (s < 16) {
39795
+ ldt[i++] = s;
39796
+ }
39797
+ else {
39798
+ // copy count
39799
+ var c = 0, n = 0;
39800
+ if (s == 16)
39801
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
39802
+ else if (s == 17)
39803
+ n = 3 + bits(dat, pos, 7), pos += 3;
39804
+ else if (s == 18)
39805
+ n = 11 + bits(dat, pos, 127), pos += 7;
39806
+ while (n--)
39807
+ ldt[i++] = c;
39808
+ }
39809
+ }
39810
+ // length tree distance tree
39811
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
39812
+ // max length bits
39813
+ lbt = max(lt);
39814
+ // max dist bits
39815
+ dbt = max(dt);
39816
+ lm = hMap(lt, lbt, 1);
39817
+ dm = hMap(dt, dbt, 1);
39818
+ }
39819
+ else
39820
+ err(1);
39821
+ if (pos > tbts) {
39822
+ if (noSt)
39823
+ err(0);
39824
+ break;
39825
+ }
39826
+ }
39827
+ // Make sure the buffer can hold this + the largest possible addition
39828
+ // Maximum chunk size (practically, theoretically infinite) is 2^17
39829
+ if (resize)
39830
+ cbuf(bt + 131072);
39831
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
39832
+ var lpos = pos;
39833
+ for (;; lpos = pos) {
39834
+ // bits read, code
39835
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
39836
+ pos += c & 15;
39837
+ if (pos > tbts) {
39838
+ if (noSt)
39839
+ err(0);
39840
+ break;
39841
+ }
39842
+ if (!c)
39843
+ err(2);
39844
+ if (sym < 256)
39845
+ buf[bt++] = sym;
39846
+ else if (sym == 256) {
39847
+ lpos = pos, lm = null;
39848
+ break;
39849
+ }
39850
+ else {
39851
+ var add = sym - 254;
39852
+ // no extra bits needed if less
39853
+ if (sym > 264) {
39854
+ // index
39855
+ var i = sym - 257, b = fleb[i];
39856
+ add = bits(dat, pos, (1 << b) - 1) + fl[i];
39857
+ pos += b;
39858
+ }
39859
+ // dist
39860
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
39861
+ if (!d)
39862
+ err(3);
39863
+ pos += d & 15;
39864
+ var dt = fd[dsym];
39865
+ if (dsym > 3) {
39866
+ var b = fdeb[dsym];
39867
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
39868
+ }
39869
+ if (pos > tbts) {
39870
+ if (noSt)
39871
+ err(0);
39872
+ break;
39873
+ }
39874
+ if (resize)
39875
+ cbuf(bt + 131072);
39876
+ var end = bt + add;
39877
+ if (bt < dt) {
39878
+ var shift = dl - dt, dend = Math.min(dt, end);
39879
+ if (shift + bt < 0)
39880
+ err(3);
39881
+ for (; bt < dend; ++bt)
39882
+ buf[bt] = dict[shift + bt];
39883
+ }
39884
+ for (; bt < end; ++bt)
39885
+ buf[bt] = buf[bt - dt];
39886
+ }
39887
+ }
39888
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
39889
+ if (lm)
39890
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
39891
+ } while (!final);
39892
+ // don't reallocate for streams or user buffers
39893
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
39894
+ };
39895
+ // empty
39896
+ var et = /*#__PURE__*/ new u8(0);
39897
+ // read 2 bytes
39898
+ var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
39899
+ // read 4 bytes
39900
+ var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
39901
+ var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
39902
+ /**
39903
+ * Expands DEFLATE data with no wrapper
39904
+ * @param data The data to decompress
39905
+ * @param opts The decompression options
39906
+ * @returns The decompressed version of the data
39907
+ */
39908
+ function inflateSync(data, opts) {
39909
+ return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
39910
+ }
39911
+ // text decoder
39912
+ var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
39913
+ // text decoder stream
39914
+ var tds = 0;
39915
+ try {
39916
+ td.decode(et, { stream: true });
39917
+ tds = 1;
39918
+ }
39919
+ catch (e) { }
39920
+ // decode UTF8
39921
+ var dutf8 = function (d) {
39922
+ for (var r = '', i = 0;;) {
39923
+ var c = d[i++];
39924
+ var eb = (c > 127) + (c > 223) + (c > 239);
39925
+ if (i + eb > d.length)
39926
+ return { s: r, r: slc(d, i - 1) };
39927
+ if (!eb)
39928
+ r += String.fromCharCode(c);
39929
+ else if (eb == 3) {
39930
+ c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
39931
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
39932
+ }
39933
+ else if (eb & 1)
39934
+ r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
39935
+ else
39936
+ r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
39937
+ }
39938
+ };
39939
+ /**
39940
+ * Converts a Uint8Array to a string
39941
+ * @param dat The data to decode to string
39942
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
39943
+ * not need to be true unless encoding to binary string.
39944
+ * @returns The original UTF-8/Latin-1 string
39945
+ */
39946
+ function strFromU8(dat, latin1) {
39947
+ if (latin1) {
39948
+ var r = '';
39949
+ for (var i = 0; i < dat.length; i += 16384)
39950
+ r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
39951
+ return r;
39952
+ }
39953
+ else if (td) {
39954
+ return td.decode(dat);
39955
+ }
39956
+ else {
39957
+ var _a = dutf8(dat), s = _a.s, r = _a.r;
39958
+ if (r.length)
39959
+ err(8);
39960
+ return s;
39961
+ }
39962
+ }
39963
+ // skip local zip header
39964
+ var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
39965
+ // read zip header
39966
+ var zh = function (d, b, z) {
39967
+ var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
39968
+ var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];
39969
+ return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
39970
+ };
39971
+ // read zip64 extra field
39972
+ var z64e = function (d, b) {
39973
+ for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
39974
+ ;
39975
+ return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
39976
+ };
39977
+ /**
39978
+ * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
39979
+ * performance with more than one file.
39980
+ * @param data The raw compressed ZIP file
39981
+ * @param opts The ZIP extraction options
39982
+ * @returns The decompressed files
39983
+ */
39984
+ function unzipSync(data, opts) {
39985
+ var files = {};
39986
+ var e = data.length - 22;
39987
+ for (; b4(data, e) != 0x6054B50; --e) {
39988
+ if (!e || data.length - e > 65558)
39989
+ err(13);
39990
+ }
39991
+ var c = b2(data, e + 8);
39992
+ if (!c)
39993
+ return {};
39994
+ var o = b4(data, e + 16);
39995
+ var z = o == 4294967295 || c == 65535;
39996
+ if (z) {
39997
+ var ze = b4(data, e - 12);
39998
+ z = b4(data, ze) == 0x6064B50;
39999
+ if (z) {
40000
+ c = b4(data, ze + 32);
40001
+ o = b4(data, ze + 48);
40002
+ }
40003
+ }
40004
+ for (var i = 0; i < c; ++i) {
40005
+ var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
40006
+ o = no;
40007
+ {
40008
+ if (!c_2)
40009
+ files[fn] = slc(data, b, b + sc);
40010
+ else if (c_2 == 8)
40011
+ files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
40012
+ else
40013
+ err(14, 'unknown compression type ' + c_2);
40014
+ }
40015
+ }
40016
+ return files;
39778
40017
  }
39779
40018
 
39780
40019
  class UnLitMaterial extends Material {
@@ -40545,7 +40784,7 @@ class PostProcessingComponent extends ComponentBase {
40545
40784
  }
40546
40785
  }
40547
40786
 
40548
- const version = "1.0.11";
40787
+ const version = "1.0.12";
40549
40788
 
40550
40789
  class Engine3D {
40551
40790
  /**
@@ -45058,9 +45297,9 @@ class AtmosphericTexture2D extends VirtualTexture {
45058
45297
  }
45059
45298
  }
45060
45299
 
45061
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
45062
- var __decorateClass$a = (decorators, target, key, kind) => {
45063
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
45300
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
45301
+ var __decorateClass$c = (decorators, target, key, kind) => {
45302
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
45064
45303
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
45065
45304
  if (decorator = decorators[i])
45066
45305
  result = (decorator(result)) || result;
@@ -45084,7 +45323,7 @@ let SkyShader = class extends Shader {
45084
45323
  shaderState.depthCompare = GPUCompareFunction.less;
45085
45324
  }
45086
45325
  };
45087
- SkyShader = __decorateClass$a([
45326
+ SkyShader = __decorateClass$c([
45088
45327
  RegisterShader(SkyShader, "SkyShader")
45089
45328
  ], SkyShader);
45090
45329
 
@@ -45882,9 +46121,9 @@ class SkeletonAnimationClipState {
45882
46121
  }
45883
46122
  }
45884
46123
 
45885
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
45886
- var __decorateClass$9 = (decorators, target, key, kind) => {
45887
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
46124
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
46125
+ var __decorateClass$b = (decorators, target, key, kind) => {
46126
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
45888
46127
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
45889
46128
  if (decorator = decorators[i])
45890
46129
  result = (decorator(result)) || result;
@@ -46088,7 +46327,7 @@ let SkeletonAnimationComponent = class extends ComponentBase {
46088
46327
  this._currentClipState.weight = 1;
46089
46328
  }
46090
46329
  };
46091
- SkeletonAnimationComponent = __decorateClass$9([
46330
+ SkeletonAnimationComponent = __decorateClass$b([
46092
46331
  RegisterComponent(SkeletonAnimationComponent, "SkeletonAnimationComponent")
46093
46332
  ], SkeletonAnimationComponent);
46094
46333
  class SkeletonAnimationCrossFadeState {
@@ -46124,9 +46363,9 @@ class SkeletonAnimationCrossFadeState {
46124
46363
  }
46125
46364
  }
46126
46365
 
46127
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
46128
- var __decorateClass$8 = (decorators, target, key, kind) => {
46129
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
46366
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
46367
+ var __decorateClass$a = (decorators, target, key, kind) => {
46368
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
46130
46369
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
46131
46370
  if (decorator = decorators[i])
46132
46371
  result = (decorator(result)) || result;
@@ -46537,7 +46776,7 @@ let AnimatorComponent = class extends ComponentBase {
46537
46776
  return dst;
46538
46777
  }
46539
46778
  };
46540
- AnimatorComponent = __decorateClass$8([
46779
+ AnimatorComponent = __decorateClass$a([
46541
46780
  RegisterComponent(AnimatorComponent, "AnimatorComponent")
46542
46781
  ], AnimatorComponent);
46543
46782
  class PropertyAnimationClipState {
@@ -47294,9 +47533,9 @@ class PropertyAnimation extends ComponentBase {
47294
47533
  }
47295
47534
  }
47296
47535
 
47297
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
47298
- var __decorateClass$7 = (decorators, target, key, kind) => {
47299
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
47536
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
47537
+ var __decorateClass$9 = (decorators, target, key, kind) => {
47538
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
47300
47539
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
47301
47540
  if (decorator = decorators[i])
47302
47541
  result = (decorator(result)) || result;
@@ -47445,7 +47684,7 @@ let SkinnedMeshRenderer2 = class extends MeshRenderer {
47445
47684
  super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
47446
47685
  }
47447
47686
  };
47448
- SkinnedMeshRenderer2 = __decorateClass$7([
47687
+ SkinnedMeshRenderer2 = __decorateClass$9([
47449
47688
  RegisterComponent(SkinnedMeshRenderer2, "SkinnedMeshRenderer2")
47450
47689
  ], SkinnedMeshRenderer2);
47451
47690
 
@@ -52578,9 +52817,9 @@ class UITextField extends UIRenderAble {
52578
52817
  }
52579
52818
  }
52580
52819
 
52581
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
52582
- var __decorateClass$6 = (decorators, target, key, kind) => {
52583
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
52820
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
52821
+ var __decorateClass$8 = (decorators, target, key, kind) => {
52822
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
52584
52823
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
52585
52824
  if (decorator = decorators[i])
52586
52825
  result = (decorator(result)) || result;
@@ -52657,10 +52896,86 @@ let Light = class extends LightBase {
52657
52896
  debugDraw(show) {
52658
52897
  }
52659
52898
  };
52660
- Light = __decorateClass$6([
52899
+ Light = __decorateClass$8([
52661
52900
  RegisterComponent(Light, "Light")
52662
52901
  ], Light);
52663
52902
 
52903
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
52904
+ var __decorateClass$7 = (decorators, target, key, kind) => {
52905
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
52906
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
52907
+ if (decorator = decorators[i])
52908
+ result = (decorator(result)) || result;
52909
+ return result;
52910
+ };
52911
+ let FatLineRenderer = class extends RenderNode {
52912
+ _fatLineMaterial = null;
52913
+ _fatLineGeometry = null;
52914
+ constructor() {
52915
+ super();
52916
+ }
52917
+ onEnable() {
52918
+ super.onEnable();
52919
+ }
52920
+ onDisable() {
52921
+ super.onDisable();
52922
+ }
52923
+ cloneTo(obj) {
52924
+ const component = obj.addComponent(FatLineRenderer);
52925
+ component.copyComponent(this);
52926
+ }
52927
+ copyComponent(from) {
52928
+ super.copyComponent(from);
52929
+ return this;
52930
+ }
52931
+ /**
52932
+ * Set FatLine geometry
52933
+ */
52934
+ set geometry(value) {
52935
+ super.geometry = value;
52936
+ this._fatLineGeometry = value;
52937
+ if (value) {
52938
+ this.instanceCount = value.instanceCount;
52939
+ if (this._fatLineMaterial && value.instanceBuffer) {
52940
+ this._fatLineMaterial.setInstanceBuffer(value.instanceBuffer);
52941
+ }
52942
+ }
52943
+ }
52944
+ get geometry() {
52945
+ return this._fatLineGeometry;
52946
+ }
52947
+ /**
52948
+ * Set FatLine material
52949
+ */
52950
+ set material(value) {
52951
+ this.materials = [value];
52952
+ this._fatLineMaterial = value;
52953
+ if (this._fatLineGeometry && this._fatLineGeometry.instanceBuffer) {
52954
+ value.setInstanceBuffer(this._fatLineGeometry.instanceBuffer);
52955
+ }
52956
+ }
52957
+ get material() {
52958
+ return this._fatLineMaterial;
52959
+ }
52960
+ /**
52961
+ * Override nodeUpdate to automatically update FatLine-specific uniforms
52962
+ */
52963
+ nodeUpdate(view, passType, renderPassState, clusterLightingBuffer) {
52964
+ if (this._fatLineMaterial && this.object3D) {
52965
+ this._fatLineMaterial.setModelMatrix(this.object3D.transform.worldMatrix);
52966
+ const width = webGPUContext.presentationSize[0];
52967
+ const height = webGPUContext.presentationSize[1];
52968
+ if (width > 0 && height > 0) {
52969
+ this._fatLineMaterial.resolution = new Vector2(width, height);
52970
+ }
52971
+ }
52972
+ super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
52973
+ }
52974
+ };
52975
+ FatLineRenderer = __decorateClass$7([
52976
+ RegisterComponent(FatLineRenderer, "FatLineRenderer")
52977
+ ], FatLineRenderer);
52978
+
52664
52979
  class Probe extends Object3D {
52665
52980
  index = 0;
52666
52981
  drawCallFrame = -1;
@@ -52959,9 +53274,9 @@ class InstanceDrawComponent extends RenderNode {
52959
53274
  }
52960
53275
  }
52961
53276
 
52962
- var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
52963
- var __decorateClass$5 = (decorators, target, key, kind) => {
52964
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
53277
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
53278
+ var __decorateClass$6 = (decorators, target, key, kind) => {
53279
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
52965
53280
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
52966
53281
  if (decorator = decorators[i])
52967
53282
  result = (decorator(result)) || result;
@@ -52987,13 +53302,13 @@ let MeshFilter = class extends MeshRenderer {
52987
53302
  }
52988
53303
  }
52989
53304
  };
52990
- MeshFilter = __decorateClass$5([
53305
+ MeshFilter = __decorateClass$6([
52991
53306
  RegisterComponent(MeshFilter, "MeshFilter")
52992
53307
  ], MeshFilter);
52993
53308
 
52994
- var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
52995
- var __decorateClass$4 = (decorators, target, key, kind) => {
52996
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
53309
+ var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
53310
+ var __decorateClass$5 = (decorators, target, key, kind) => {
53311
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
52997
53312
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
52998
53313
  if (decorator = decorators[i])
52999
53314
  result = (decorator(result)) || result;
@@ -53119,7 +53434,7 @@ let SkinnedMeshRenderer = class extends MeshRenderer {
53119
53434
  super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
53120
53435
  }
53121
53436
  };
53122
- SkinnedMeshRenderer = __decorateClass$4([
53437
+ SkinnedMeshRenderer = __decorateClass$5([
53123
53438
  RegisterComponent(SkinnedMeshRenderer, "SkinnedMeshRenderer")
53124
53439
  ], SkinnedMeshRenderer);
53125
53440
 
@@ -53951,6 +54266,230 @@ class ExtrudeGeometry extends GeometryBase {
53951
54266
  }
53952
54267
  }
53953
54268
 
54269
+ class FatLineGeometry extends GeometryBase {
54270
+ _instanceBuffer;
54271
+ _instanceData;
54272
+ _instanceCount = 0;
54273
+ constructor() {
54274
+ super();
54275
+ this.initBaseGeometry();
54276
+ }
54277
+ /**
54278
+ * Initialize base quad geometry (shared by all line segments)
54279
+ * This is similar to ThreeJS LineSegmentsGeometry base geometry
54280
+ */
54281
+ initBaseGeometry() {
54282
+ const positions = new Float32Array([
54283
+ -1,
54284
+ 2,
54285
+ 0,
54286
+ 1,
54287
+ 2,
54288
+ 0,
54289
+ // Top endcap
54290
+ -1,
54291
+ 1,
54292
+ 0,
54293
+ 1,
54294
+ 1,
54295
+ 0,
54296
+ // Top of line segment
54297
+ -1,
54298
+ 0,
54299
+ 0,
54300
+ 1,
54301
+ 0,
54302
+ 0,
54303
+ // Bottom of line segment
54304
+ -1,
54305
+ -1,
54306
+ 0,
54307
+ 1,
54308
+ -1,
54309
+ 0
54310
+ // Bottom endcap
54311
+ ]);
54312
+ const uvs = new Float32Array([
54313
+ -1,
54314
+ 2,
54315
+ 1,
54316
+ 2,
54317
+ -1,
54318
+ 1,
54319
+ 1,
54320
+ 1,
54321
+ -1,
54322
+ -1,
54323
+ 1,
54324
+ -1,
54325
+ -1,
54326
+ -2,
54327
+ 1,
54328
+ -2
54329
+ ]);
54330
+ const indices = new Uint16Array([
54331
+ 0,
54332
+ 2,
54333
+ 1,
54334
+ 2,
54335
+ 3,
54336
+ 1,
54337
+ // First quad
54338
+ 2,
54339
+ 4,
54340
+ 3,
54341
+ 4,
54342
+ 5,
54343
+ 3,
54344
+ // Second quad
54345
+ 4,
54346
+ 6,
54347
+ 5,
54348
+ 6,
54349
+ 7,
54350
+ 5
54351
+ // Third quad
54352
+ ]);
54353
+ this.setIndices(indices);
54354
+ this.setAttribute(VertexAttributeName.position, positions);
54355
+ this.setAttribute(VertexAttributeName.uv, uvs);
54356
+ this.addSubGeometry({
54357
+ indexStart: 0,
54358
+ indexCount: indices.length,
54359
+ vertexStart: 0,
54360
+ vertexCount: positions.length / 3,
54361
+ firstStart: 0,
54362
+ index: 0,
54363
+ topology: 0
54364
+ });
54365
+ }
54366
+ /**
54367
+ * Set line positions from continuous points array
54368
+ * @param positions Array of positions [x1,y1,z1, x2,y2,z2, ...]
54369
+ */
54370
+ setPositions(positions) {
54371
+ const posArray = positions instanceof Float32Array ? positions : new Float32Array(positions);
54372
+ const numPoints = posArray.length / 3;
54373
+ const numSegments = numPoints - 1;
54374
+ if (numSegments <= 0) {
54375
+ console.warn("FatLineGeometry: Need at least 2 points");
54376
+ return this;
54377
+ }
54378
+ const instanceData = new Float32Array(numSegments * 16);
54379
+ for (let i = 0; i < numSegments; i++) {
54380
+ const i0 = i * 3;
54381
+ const i1 = (i + 1) * 3;
54382
+ instanceData[i * 16 + 0] = posArray[i0 + 0];
54383
+ instanceData[i * 16 + 1] = posArray[i0 + 1];
54384
+ instanceData[i * 16 + 2] = posArray[i0 + 2];
54385
+ instanceData[i * 16 + 3] = 0;
54386
+ instanceData[i * 16 + 4] = posArray[i1 + 0];
54387
+ instanceData[i * 16 + 5] = posArray[i1 + 1];
54388
+ instanceData[i * 16 + 6] = posArray[i1 + 2];
54389
+ instanceData[i * 16 + 7] = 0;
54390
+ instanceData[i * 16 + 8] = 1;
54391
+ instanceData[i * 16 + 9] = 1;
54392
+ instanceData[i * 16 + 10] = 1;
54393
+ instanceData[i * 16 + 11] = 0;
54394
+ instanceData[i * 16 + 12] = 1;
54395
+ instanceData[i * 16 + 13] = 1;
54396
+ instanceData[i * 16 + 14] = 1;
54397
+ instanceData[i * 16 + 15] = 0;
54398
+ }
54399
+ this._instanceData = instanceData;
54400
+ this._instanceCount = numSegments;
54401
+ this.computeBoundingBox(posArray);
54402
+ return this;
54403
+ }
54404
+ /**
54405
+ * Set colors for line segments
54406
+ * @param colors Array of colors [r1,g1,b1, r2,g2,b2, ...] for each point
54407
+ */
54408
+ setColors(colors) {
54409
+ const colorArray = colors instanceof Float32Array ? colors : new Float32Array(colors);
54410
+ if (!this._instanceData) {
54411
+ console.warn(
54412
+ "FatLineGeometry: Must call setPositions() before setColors()"
54413
+ );
54414
+ return this;
54415
+ }
54416
+ const numPoints = colorArray.length / 3;
54417
+ const numSegments = numPoints - 1;
54418
+ if (numSegments !== this._instanceCount) {
54419
+ console.warn(
54420
+ "FatLineGeometry: Color array length doesn't match segment count"
54421
+ );
54422
+ return this;
54423
+ }
54424
+ for (let i = 0; i < numSegments; i++) {
54425
+ const i0 = i * 3;
54426
+ const i1 = (i + 1) * 3;
54427
+ this._instanceData[i * 16 + 8] = colorArray[i0 + 0];
54428
+ this._instanceData[i * 16 + 9] = colorArray[i0 + 1];
54429
+ this._instanceData[i * 16 + 10] = colorArray[i0 + 2];
54430
+ this._instanceData[i * 16 + 12] = colorArray[i1 + 0];
54431
+ this._instanceData[i * 16 + 13] = colorArray[i1 + 1];
54432
+ this._instanceData[i * 16 + 14] = colorArray[i1 + 2];
54433
+ }
54434
+ return this;
54435
+ }
54436
+ /**
54437
+ * Compute bounding box from positions
54438
+ */
54439
+ computeBoundingBox(positions) {
54440
+ const min = new Vector3(Infinity, Infinity, Infinity);
54441
+ const max = new Vector3(-Infinity, -Infinity, -Infinity);
54442
+ for (let i = 0; i < positions.length; i += 3) {
54443
+ const x = positions[i];
54444
+ const y = positions[i + 1];
54445
+ const z = positions[i + 2];
54446
+ min.x = Math.min(min.x, x);
54447
+ min.y = Math.min(min.y, y);
54448
+ min.z = Math.min(min.z, z);
54449
+ max.x = Math.max(max.x, x);
54450
+ max.y = Math.max(max.y, y);
54451
+ max.z = Math.max(max.z, z);
54452
+ }
54453
+ const size = Vector3.sub(max, min);
54454
+ this.bounds = new BoundingBox(Vector3.ZERO.clone(), size);
54455
+ this.bounds.setFromMinMax(min, max);
54456
+ }
54457
+ /**
54458
+ * Get instance data for GPU upload
54459
+ */
54460
+ get instanceData() {
54461
+ return this._instanceData;
54462
+ }
54463
+ /**
54464
+ * Get number of line segments (instances)
54465
+ */
54466
+ get instanceCount() {
54467
+ return this._instanceCount;
54468
+ }
54469
+ /**
54470
+ * Get or create instance buffer
54471
+ */
54472
+ get instanceBuffer() {
54473
+ if (!this._instanceBuffer && this._instanceData) {
54474
+ this._instanceBuffer = new StorageGPUBuffer(
54475
+ this._instanceData.byteLength
54476
+ );
54477
+ this._instanceBuffer.setFloat32Array("", this._instanceData);
54478
+ this._instanceBuffer.apply();
54479
+ }
54480
+ return this._instanceBuffer;
54481
+ }
54482
+ /**
54483
+ * Update instance buffer with new data
54484
+ */
54485
+ updateInstanceBuffer() {
54486
+ if (this._instanceBuffer && this._instanceData) {
54487
+ this._instanceBuffer.setFloat32Array("", this._instanceData);
54488
+ this._instanceBuffer.apply();
54489
+ }
54490
+ }
54491
+ }
54492
+
53954
54493
  class VertexBufferLayout {
53955
54494
  name;
53956
54495
  offset;
@@ -59221,9 +59760,9 @@ class PrefabTextureParser extends ParserBase {
59221
59760
  }
59222
59761
  }
59223
59762
 
59224
- var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
59225
- var __decorateClass$3 = (decorators, target, key, kind) => {
59226
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
59763
+ var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
59764
+ var __decorateClass$4 = (decorators, target, key, kind) => {
59765
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
59227
59766
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
59228
59767
  if (decorator = decorators[i])
59229
59768
  result = (decorator(result)) || result;
@@ -59342,13 +59881,13 @@ let LitSSSShader = class extends Shader {
59342
59881
  }
59343
59882
  }
59344
59883
  };
59345
- LitSSSShader = __decorateClass$3([
59884
+ LitSSSShader = __decorateClass$4([
59346
59885
  RegisterShader(LitSSSShader, "LitSSSShader")
59347
59886
  ], LitSSSShader);
59348
59887
 
59349
- var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
59350
- var __decorateClass$2 = (decorators, target, key, kind) => {
59351
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
59888
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
59889
+ var __decorateClass$3 = (decorators, target, key, kind) => {
59890
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
59352
59891
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
59353
59892
  if (decorator = decorators[i])
59354
59893
  result = (decorator(result)) || result;
@@ -59444,7 +59983,7 @@ let LitShader = class extends Shader {
59444
59983
  }
59445
59984
  }
59446
59985
  };
59447
- LitShader = __decorateClass$2([
59986
+ LitShader = __decorateClass$3([
59448
59987
  RegisterShader(LitShader, "LitShader")
59449
59988
  ], LitShader);
59450
59989
 
@@ -59603,6 +60142,47 @@ class PrefabStringUtil {
59603
60142
  }
59604
60143
  }
59605
60144
 
60145
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
60146
+ var __decorateClass$2 = (decorators, target, key, kind) => {
60147
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
60148
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
60149
+ if (decorator = decorators[i])
60150
+ result = (decorator(result)) || result;
60151
+ return result;
60152
+ };
60153
+ let FatLineShader = class extends Shader {
60154
+ constructor() {
60155
+ super();
60156
+ const colorShader = new RenderShaderPass("FatLine_VS", "FatLine_FS");
60157
+ colorShader.setShaderEntry(`VertMain`, `FragMain`);
60158
+ this.addRenderPass(colorShader);
60159
+ const shaderState = colorShader.shaderState;
60160
+ shaderState.acceptShadow = false;
60161
+ shaderState.castShadow = false;
60162
+ shaderState.receiveEnv = false;
60163
+ shaderState.acceptGI = false;
60164
+ shaderState.useLight = false;
60165
+ shaderState.cullMode = GPUCullMode.none;
60166
+ shaderState.depthWriteEnabled = true;
60167
+ this.setDefault();
60168
+ }
60169
+ /**
60170
+ * Set default uniform values
60171
+ */
60172
+ setDefault() {
60173
+ this.setUniformColor(`baseColor`, new Color(1, 1, 1, 1));
60174
+ this.setUniformFloat(`lineWidth`, 1);
60175
+ this.setUniformFloat(`opacity`, 1);
60176
+ this.setUniformVector2(`resolution`, new Vector2(1920, 1080));
60177
+ const identityMatrix = new Matrix4();
60178
+ const pass = this.getDefaultColorShader();
60179
+ pass.setUniform(`modelMatrix`, identityMatrix.rawData);
60180
+ }
60181
+ };
60182
+ FatLineShader = __decorateClass$2([
60183
+ RegisterShader(FatLineShader, "FatLineShader")
60184
+ ], FatLineShader);
60185
+
59606
60186
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
59607
60187
  var __decorateClass$1 = (decorators, target, key, kind) => {
59608
60188
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
@@ -59939,6 +60519,78 @@ class ColorLitMaterial extends Material {
59939
60519
  }
59940
60520
  }
59941
60521
 
60522
+ class FatLineMaterial extends Material {
60523
+ constructor() {
60524
+ super();
60525
+ this.shader = new FatLineShader();
60526
+ this.transparent = true;
60527
+ }
60528
+ /**
60529
+ * Set instance buffer for line segments
60530
+ * This should be called after setting the geometry
60531
+ */
60532
+ setInstanceBuffer(buffer) {
60533
+ this.shader.setStorageBuffer("instances", buffer);
60534
+ }
60535
+ /**
60536
+ * Set model matrix for transforming line segments
60537
+ * This should be updated each frame if the object moves
60538
+ */
60539
+ setModelMatrix(matrix) {
60540
+ const pass = this.shader.getDefaultColorShader();
60541
+ pass.setUniform("modelMatrix", matrix.rawData);
60542
+ }
60543
+ /**
60544
+ * Set base color (tint color)
60545
+ */
60546
+ set baseColor(color) {
60547
+ this.shader.setUniformColor(`baseColor`, color);
60548
+ }
60549
+ /**
60550
+ * Get base color (tint color)
60551
+ */
60552
+ get baseColor() {
60553
+ return this.shader.getUniformColor("baseColor");
60554
+ }
60555
+ /**
60556
+ * Set line width in pixels
60557
+ */
60558
+ set lineWidth(value) {
60559
+ this.shader.setUniformFloat(`lineWidth`, value);
60560
+ }
60561
+ /**
60562
+ * Get line width in pixels
60563
+ */
60564
+ get lineWidth() {
60565
+ return this.shader.getUniformFloat("lineWidth");
60566
+ }
60567
+ /**
60568
+ * Set opacity (0-1)
60569
+ */
60570
+ set opacity(value) {
60571
+ this.shader.setUniformFloat(`opacity`, value);
60572
+ }
60573
+ /**
60574
+ * Get opacity (0-1)
60575
+ */
60576
+ get opacity() {
60577
+ return this.shader.getUniformFloat("opacity");
60578
+ }
60579
+ /**
60580
+ * Set viewport resolution for correct pixel-space calculations
60581
+ * This should be set automatically by the renderer
60582
+ */
60583
+ set resolution(value) {
60584
+ this.shader.setUniformVector2(`resolution`, value);
60585
+ }
60586
+ /**
60587
+ * Get viewport resolution
60588
+ */
60589
+ get resolution() {
60590
+ return this.shader.getUniformVector2("resolution");
60591
+ }
60592
+ }
60593
+
59942
60594
  class LambertMaterial extends Material {
59943
60595
  /**
59944
60596
  * @constructor
@@ -65718,4 +66370,4 @@ const __viteBrowserExternal = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.def
65718
66370
  __proto__: null
65719
66371
  }, Symbol.toStringTag, { value: 'Module' }));
65720
66372
 
65721
- 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, 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, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, 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, GSplatMaterial, GSplatRenderer, 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, LDRTextureCube, 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, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, 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, 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, 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, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, 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, 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, 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, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, perm, post, 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, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };
66373
+ 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, 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, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, 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, GSplatMaterial, GSplatRenderer, GSplatShader, 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, LDRTextureCube, 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, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, 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, 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, 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, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, 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, 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, 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, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, perm, post, 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, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };