@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.
- package/dist/rings.es.js +447 -251
- package/dist/rings.es.js.map +3 -3
- package/dist/rings.es.max.js +1483 -831
- package/dist/rings.umd.js +372 -176
- package/dist/rings.umd.js.map +3 -3
- package/dist/rings.umd.max.js +1486 -830
- package/dist/types/assets/shader/core/base/Common_frag.d.ts +3 -0
- package/dist/types/assets/shader/core/struct/VertexAttributes.d.ts +3 -0
- package/dist/types/assets/shader/lines/FatLineShader.d.ts +5 -0
- package/dist/types/components/renderer/FatLineRenderer.d.ts +38 -0
- package/dist/types/core/geometry/FatLineGeometry.d.ts +48 -0
- package/dist/types/index.d.ts +7 -1
- package/dist/types/loader/parser/prefab/mats/shader/FatLineShader.d.ts +11 -0
- package/dist/types/loader/parser/prefab/mats/shader/GSplatShader.d.ts +12 -0
- package/dist/types/materials/FatLineMaterial.d.ts +57 -0
- package/dist/types/materials/GSplatMaterial.d.ts +5 -0
- package/package.json +1 -1
- /package/dist/types/assets/shader/{materials → gsplat}/GSplatShader.d.ts +0 -0
package/dist/rings.es.max.js
CHANGED
|
@@ -2113,7 +2113,7 @@ function GetShader(name) {
|
|
|
2113
2113
|
}
|
|
2114
2114
|
|
|
2115
2115
|
var __defProp$2 = Object.defineProperty;
|
|
2116
|
-
var __decorateClass$
|
|
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$
|
|
2219
|
+
__decorateClass$m([
|
|
2220
2220
|
NonSerialize
|
|
2221
2221
|
], _Struct.prototype, "__refection");
|
|
2222
|
-
__decorateClass$
|
|
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
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
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
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
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
|
-
|
|
5325
|
-
|
|
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
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5336
|
+
frag();
|
|
5337
|
+
|
|
5338
|
+
#if USE_DEBUG
|
|
5339
|
+
debugFragmentOut();
|
|
5340
|
+
#endif
|
|
5330
5341
|
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5343
|
-
|
|
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
|
-
|
|
5363
|
-
|
|
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$
|
|
21684
|
-
var __decorateClass$
|
|
21685
|
-
var result = __getOwnPropDesc$
|
|
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$
|
|
22483
|
+
__decorateClass$l([
|
|
22271
22484
|
EditorInspector
|
|
22272
22485
|
], RenderNode.prototype, "materials");
|
|
22273
|
-
__decorateClass$
|
|
22486
|
+
__decorateClass$l([
|
|
22274
22487
|
EditorInspector
|
|
22275
22488
|
], RenderNode.prototype, "castShadow");
|
|
22276
|
-
__decorateClass$
|
|
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
|
|
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
|
-
|
|
22983
|
-
|
|
22984
|
-
|
|
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$
|
|
23994
|
-
var __decorateClass$
|
|
23995
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
25060
|
-
var __decorateClass$
|
|
25061
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
26656
|
-
var __decorateClass$
|
|
26657
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
27005
|
+
__decorateClass$h([
|
|
26767
27006
|
EditorInspector
|
|
26768
27007
|
], MeshRenderer.prototype, "geometry", 1);
|
|
26769
|
-
__decorateClass$
|
|
27008
|
+
__decorateClass$h([
|
|
26770
27009
|
EditorInspector
|
|
26771
27010
|
], MeshRenderer.prototype, "material", 1);
|
|
26772
|
-
MeshRenderer = __decorateClass$
|
|
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$
|
|
27270
|
-
var __decorateClass$
|
|
27271
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
34570
|
-
var __decorateClass$
|
|
34571
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
34852
|
+
DirectLight = __decorateClass$f([
|
|
34614
34853
|
RegisterComponent(DirectLight, "DirectLight")
|
|
34615
34854
|
], DirectLight);
|
|
34616
34855
|
|
|
34617
|
-
var __getOwnPropDesc$
|
|
34618
|
-
var __decorateClass$
|
|
34619
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
34916
|
+
PointLight = __decorateClass$e([
|
|
34678
34917
|
RegisterComponent(PointLight, "PointLight")
|
|
34679
34918
|
], PointLight);
|
|
34680
34919
|
|
|
34681
|
-
var __getOwnPropDesc$
|
|
34682
|
-
var __decorateClass$
|
|
34683
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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.
|
|
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$
|
|
45062
|
-
var __decorateClass$
|
|
45063
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
45886
|
-
var __decorateClass$
|
|
45887
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
46128
|
-
var __decorateClass$
|
|
46129
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
47298
|
-
var __decorateClass$
|
|
47299
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
52582
|
-
var __decorateClass$
|
|
52583
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
52963
|
-
var __decorateClass$
|
|
52964
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
53305
|
+
MeshFilter = __decorateClass$6([
|
|
52991
53306
|
RegisterComponent(MeshFilter, "MeshFilter")
|
|
52992
53307
|
], MeshFilter);
|
|
52993
53308
|
|
|
52994
|
-
var __getOwnPropDesc$
|
|
52995
|
-
var __decorateClass$
|
|
52996
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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$
|
|
59225
|
-
var __decorateClass$
|
|
59226
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
59884
|
+
LitSSSShader = __decorateClass$4([
|
|
59346
59885
|
RegisterShader(LitSSSShader, "LitSSSShader")
|
|
59347
59886
|
], LitSSSShader);
|
|
59348
59887
|
|
|
59349
|
-
var __getOwnPropDesc$
|
|
59350
|
-
var __decorateClass$
|
|
59351
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
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$
|
|
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 };
|