@galacean/effects-threejs 2.1.0-alpha.4 → 2.1.0-alpha.6
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/index.js +1841 -243
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +1842 -241
- package/dist/index.mjs.map +1 -1
- package/dist/three-display-object.d.ts +4 -3
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime threejs plugin for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.1.0-alpha.
|
|
6
|
+
* Version: v2.1.0-alpha.6
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import * as THREE from 'three';
|
|
@@ -3948,6 +3948,12 @@ Euler.tempMat0 = new Matrix4();
|
|
|
3948
3948
|
/**
|
|
3949
3949
|
* 节点元素
|
|
3950
3950
|
*/ ItemType["node"] = "node";
|
|
3951
|
+
/**
|
|
3952
|
+
* 视频元素
|
|
3953
|
+
*/ ItemType["video"] = "video";
|
|
3954
|
+
/**
|
|
3955
|
+
* 音频元素
|
|
3956
|
+
*/ ItemType["audio"] = "audio";
|
|
3951
3957
|
})(ItemType || (ItemType = {}));
|
|
3952
3958
|
/**
|
|
3953
3959
|
* 渲染模式
|
|
@@ -4048,15 +4054,6 @@ var CameraClipMode;
|
|
|
4048
4054
|
*/ CameraClipMode[CameraClipMode["landscape"] = 0] = "landscape";
|
|
4049
4055
|
})(CameraClipMode || (CameraClipMode = {}));
|
|
4050
4056
|
|
|
4051
|
-
/**
|
|
4052
|
-
* 动态换图类型
|
|
4053
|
-
* @since 1.1.0
|
|
4054
|
-
*/ var BackgroundType;
|
|
4055
|
-
(function(BackgroundType) {
|
|
4056
|
-
BackgroundType["video"] = "video";
|
|
4057
|
-
BackgroundType["image"] = "image";
|
|
4058
|
-
})(BackgroundType || (BackgroundType = {}));
|
|
4059
|
-
|
|
4060
4057
|
/*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
|
|
4061
4058
|
(function(ValueType) {
|
|
4062
4059
|
/**
|
|
@@ -4362,6 +4359,8 @@ var DataType;
|
|
|
4362
4359
|
DataType["TreeComponent"] = "TreeComponent";
|
|
4363
4360
|
DataType["AnimationComponent"] = "AnimationComponent";
|
|
4364
4361
|
DataType["SpineComponent"] = "SpineComponent";
|
|
4362
|
+
DataType["VideoComponent"] = "VideoComponent";
|
|
4363
|
+
DataType["AudioComponent"] = "AudioComponent";
|
|
4365
4364
|
// Non-EffectObject
|
|
4366
4365
|
DataType["TimelineClip"] = "TimelineClip";
|
|
4367
4366
|
})(DataType || (DataType = {}));
|
|
@@ -4451,10 +4450,28 @@ var VertexBufferSemantic;
|
|
|
4451
4450
|
|
|
4452
4451
|
var BuiltinObjectGUID = {
|
|
4453
4452
|
WhiteTexture: "whitetexture00000000000000000000",
|
|
4453
|
+
TransparentTexture: "transparenttexture00000000000000000000",
|
|
4454
4454
|
PBRShader: "pbr00000000000000000000000000000",
|
|
4455
4455
|
UnlitShader: "unlit000000000000000000000000000"
|
|
4456
4456
|
};
|
|
4457
4457
|
|
|
4458
|
+
/**
|
|
4459
|
+
* 动态换图类型
|
|
4460
|
+
* @since 1.1.0
|
|
4461
|
+
*/ var BackgroundType;
|
|
4462
|
+
(function(BackgroundType) {
|
|
4463
|
+
BackgroundType["video"] = "video";
|
|
4464
|
+
BackgroundType["image"] = "image";
|
|
4465
|
+
})(BackgroundType || (BackgroundType = {}));
|
|
4466
|
+
/**
|
|
4467
|
+
* 多媒体资源类型
|
|
4468
|
+
* @since 2.1.0
|
|
4469
|
+
*/ var MultimediaType;
|
|
4470
|
+
(function(MultimediaType) {
|
|
4471
|
+
MultimediaType["video"] = "video";
|
|
4472
|
+
MultimediaType["audio"] = "audio";
|
|
4473
|
+
})(MultimediaType || (MultimediaType = {}));
|
|
4474
|
+
|
|
4458
4475
|
var index$1 = /*#__PURE__*/Object.freeze({
|
|
4459
4476
|
__proto__: null,
|
|
4460
4477
|
get RenderLevel () { return RenderLevel; },
|
|
@@ -4471,7 +4488,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4471
4488
|
get RenderType () { return RenderType; },
|
|
4472
4489
|
get RenderFace () { return RenderFace; },
|
|
4473
4490
|
get CameraClipMode () { return CameraClipMode; },
|
|
4474
|
-
get BackgroundType () { return BackgroundType; },
|
|
4475
4491
|
END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY,
|
|
4476
4492
|
END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE,
|
|
4477
4493
|
END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD,
|
|
@@ -4505,7 +4521,9 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4505
4521
|
get VertexFormatType () { return VertexFormatType; },
|
|
4506
4522
|
get IndexFormatType () { return IndexFormatType; },
|
|
4507
4523
|
get VertexBufferSemantic () { return VertexBufferSemantic; },
|
|
4508
|
-
BuiltinObjectGUID: BuiltinObjectGUID
|
|
4524
|
+
BuiltinObjectGUID: BuiltinObjectGUID,
|
|
4525
|
+
get BackgroundType () { return BackgroundType; },
|
|
4526
|
+
get MultimediaType () { return MultimediaType; }
|
|
4509
4527
|
});
|
|
4510
4528
|
|
|
4511
4529
|
var decoratorInitialStore = new Map();
|
|
@@ -8168,11 +8186,11 @@ function _loadMedia() {
|
|
|
8168
8186
|
return _loadMedia.apply(this, arguments);
|
|
8169
8187
|
}
|
|
8170
8188
|
|
|
8171
|
-
function deserializeMipmapTexture(textureOptions, bins,
|
|
8189
|
+
function deserializeMipmapTexture(textureOptions, bins, assets) {
|
|
8172
8190
|
return _deserializeMipmapTexture.apply(this, arguments);
|
|
8173
8191
|
}
|
|
8174
8192
|
function _deserializeMipmapTexture() {
|
|
8175
|
-
_deserializeMipmapTexture = _async_to_generator(function(textureOptions, bins,
|
|
8193
|
+
_deserializeMipmapTexture = _async_to_generator(function(textureOptions, bins, assets, files) {
|
|
8176
8194
|
var mipmaps, target, jobs, loadedMipmaps, mipmaps1, target1, jobs1, loadedMipmaps1, bin;
|
|
8177
8195
|
return __generator(this, function(_state) {
|
|
8178
8196
|
switch(_state.label){
|
|
@@ -8188,9 +8206,8 @@ function _deserializeMipmapTexture() {
|
|
|
8188
8206
|
// @ts-expect-error
|
|
8189
8207
|
if (pointer.id) {
|
|
8190
8208
|
// @ts-expect-error
|
|
8191
|
-
var
|
|
8192
|
-
|
|
8193
|
-
return loadedImageAsset.data;
|
|
8209
|
+
var loadedImage = assets[pointer.id];
|
|
8210
|
+
return loadedImage;
|
|
8194
8211
|
} else {
|
|
8195
8212
|
return loadMipmapImage(pointer, bins);
|
|
8196
8213
|
}
|
|
@@ -8427,7 +8444,7 @@ var sourceOptions = {
|
|
|
8427
8444
|
};
|
|
8428
8445
|
function generateWhiteTexture(engine) {
|
|
8429
8446
|
return Texture.create(engine, _extends({
|
|
8430
|
-
id:
|
|
8447
|
+
id: BuiltinObjectGUID.WhiteTexture,
|
|
8431
8448
|
data: {
|
|
8432
8449
|
width: 1,
|
|
8433
8450
|
height: 1,
|
|
@@ -8443,7 +8460,7 @@ function generateWhiteTexture(engine) {
|
|
|
8443
8460
|
}
|
|
8444
8461
|
function generateTransparentTexture(engine) {
|
|
8445
8462
|
return Texture.create(engine, _extends({
|
|
8446
|
-
id:
|
|
8463
|
+
id: BuiltinObjectGUID.TransparentTexture,
|
|
8447
8464
|
data: {
|
|
8448
8465
|
width: 1,
|
|
8449
8466
|
height: 1,
|
|
@@ -10802,7 +10819,7 @@ var Shader = /*#__PURE__*/ function(EffectsObject) {
|
|
|
10802
10819
|
return Shader;
|
|
10803
10820
|
}(EffectsObject);
|
|
10804
10821
|
Shader = __decorate([
|
|
10805
|
-
effectsClass(
|
|
10822
|
+
effectsClass(DataType.Shader)
|
|
10806
10823
|
], Shader);
|
|
10807
10824
|
|
|
10808
10825
|
var EFFECTS_COPY_MESH_NAME = "effects-internal-copy";
|
|
@@ -11589,7 +11606,7 @@ var valueDefine = "#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValu
|
|
|
11589
11606
|
|
|
11590
11607
|
var screenMeshVert = "precision highp float;attribute vec2 aPos;varying vec2 uv;void main(){gl_Position=vec4(aPos,0.,1.0);uv=(aPos+vec2(1.0))/2.;}";
|
|
11591
11608
|
|
|
11592
|
-
var colorGradingFrag = "precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;uniform vec3 _VignetteColor;uniform vec2 _VignetteCenter;uniform float _VignetteIntensity;uniform float _VignetteSmoothness;uniform float _VignetteRoundness;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}vec3 ApplyVignette(vec3 inputColor,vec2 uv,vec2 center,float intensity,float roundness,float smoothness,vec3 color){vec2 dist=abs(uv-center)*intensity;dist.x*=roundness;float vfactor=pow(clamp((1.0-dot(dist,dist)),0.0,1.0),smoothness);return inputColor*mix(color,vec3(1.0),vfactor);}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor
|
|
11609
|
+
var colorGradingFrag = "precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;uniform vec3 _VignetteColor;uniform vec2 _VignetteCenter;uniform float _VignetteIntensity;uniform float _VignetteSmoothness;uniform float _VignetteRoundness;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}vec3 ApplyVignette(vec3 inputColor,vec2 uv,vec2 center,float intensity,float roundness,float smoothness,vec3 color){vec2 dist=abs(uv-center)*intensity;dist.x*=roundness;float vfactor=pow(clamp((1.0-dot(dist,dist)),0.0,1.0),smoothness);return inputColor*mix(color,vec3(1.0),vfactor);}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor.rgb=pow(hdrColor.rgb,vec3(2.2));vec3 finalColor=hdrColor.rgb;if(_UseBloom){vec4 bloomColor=texture2D(_GaussianTex,uv);bloomColor.rgb*=_BloomIntensity;finalColor+=bloomColor.rgb;}if(_VignetteIntensity>0.0){finalColor=ApplyVignette(finalColor,uv,_VignetteCenter,_VignetteIntensity,_VignetteRoundness,_VignetteSmoothness,_VignetteColor);}finalColor=finalColor*_Brightness;vec3 colorLog=LinearToLogC(finalColor);colorLog=(colorLog-ACEScc_MIDGRAY)*_Contrast+ACEScc_MIDGRAY;finalColor=LogCToLinear(colorLog);finalColor=max(finalColor,0.0);float luminance=0.2125*finalColor.r+0.7154*finalColor.g+0.0721*finalColor.b;vec3 luminanceColor=vec3(luminance,luminance,luminance);finalColor=(finalColor-luminanceColor)*_Saturation+luminanceColor;finalColor=max(finalColor,0.0);if(_UseToneMapping){finalColor=max(vec3(0.0),ACESToneMapping(finalColor));}float alpha=min(hdrColor.a,1.0);gl_FragColor=vec4(clamp(GammaCorrection(finalColor),0.0,1.0),alpha);}";
|
|
11593
11610
|
|
|
11594
11611
|
var gaussianDown_frag = "precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=5/2;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec4 mainColor=texture2D(_MainTex,uv);vec3 color=mainColor.rgb;color=GaussNxN(_MainTex,uv,1.0/_TextureSize,1.0);gl_FragColor=vec4(color,1.0);}";
|
|
11595
11612
|
|
|
@@ -12887,7 +12904,7 @@ var GPUCapability = /*#__PURE__*/ function() {
|
|
|
12887
12904
|
shaderTextureLod: level2 || !!gl.getExtension("EXT_shader_texture_lod"),
|
|
12888
12905
|
instanceDraw: level2 || !!gl.getExtension("ANGLE_instanced_arrays"),
|
|
12889
12906
|
drawBuffers: level2 || !!this.drawBufferExtension,
|
|
12890
|
-
asyncShaderCompile: !!
|
|
12907
|
+
asyncShaderCompile: !!this.glAsyncCompileExt,
|
|
12891
12908
|
intIndexElementBuffer: !!gl.getExtension("OES_element_index_uint"),
|
|
12892
12909
|
standardDerivatives: level2 || !!gl.getExtension("OES_standard_derivatives"),
|
|
12893
12910
|
readableDepthStencilTextures: level2 || !!depthTextureExtension,
|
|
@@ -15791,7 +15808,7 @@ function getGeometryTriangles(geometry, options) {
|
|
|
15791
15808
|
*/ function getGeometriesByShapeData(shape) {
|
|
15792
15809
|
var geometries = [];
|
|
15793
15810
|
// 该版本的单个形状数据可以包含多个形状,可以加个埋点,五福之后没有就可以下掉
|
|
15794
|
-
if (shape
|
|
15811
|
+
if ("gs" in shape) {
|
|
15795
15812
|
shape.gs.forEach(function(gs) {
|
|
15796
15813
|
geometries.push({
|
|
15797
15814
|
p: [
|
|
@@ -15804,7 +15821,7 @@ function getGeometryTriangles(geometry, options) {
|
|
|
15804
15821
|
]
|
|
15805
15822
|
});
|
|
15806
15823
|
});
|
|
15807
|
-
} else if (shape
|
|
15824
|
+
} else if ("g" in shape) {
|
|
15808
15825
|
geometries.push({
|
|
15809
15826
|
p: [
|
|
15810
15827
|
ValueType.SHAPE_POINTS,
|
|
@@ -16803,6 +16820,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
16803
16820
|
});
|
|
16804
16821
|
this.frozen = false;
|
|
16805
16822
|
this.ended = false;
|
|
16823
|
+
this.destroyed = false;
|
|
16806
16824
|
};
|
|
16807
16825
|
_proto.update = function update(delta) {
|
|
16808
16826
|
var _this = this;
|
|
@@ -18113,7 +18131,9 @@ var ParticleMesh = /*#__PURE__*/ function() {
|
|
|
18113
18131
|
aPos: new Float32Array(48),
|
|
18114
18132
|
aRot: new Float32Array(32),
|
|
18115
18133
|
aOffset: new Float32Array(16),
|
|
18116
|
-
aTranslation: new Float32Array(12)
|
|
18134
|
+
aTranslation: new Float32Array(12),
|
|
18135
|
+
aLinearMove: new Float32Array(12),
|
|
18136
|
+
aRotation0: new Float32Array(36)
|
|
18117
18137
|
};
|
|
18118
18138
|
var useSprite = this.useSprite;
|
|
18119
18139
|
if (useSprite) {
|
|
@@ -19089,7 +19109,7 @@ var TransformPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19089
19109
|
return TransformPlayableAsset;
|
|
19090
19110
|
}(PlayableAsset);
|
|
19091
19111
|
TransformPlayableAsset = __decorate([
|
|
19092
|
-
effectsClass(
|
|
19112
|
+
effectsClass(DataType.TransformPlayableAsset)
|
|
19093
19113
|
], TransformPlayableAsset);
|
|
19094
19114
|
/**
|
|
19095
19115
|
* @since 2.0.0
|
|
@@ -19120,7 +19140,7 @@ var ActivationPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19120
19140
|
return ActivationPlayableAsset;
|
|
19121
19141
|
}(PlayableAsset);
|
|
19122
19142
|
ActivationPlayableAsset = __decorate([
|
|
19123
|
-
effectsClass(
|
|
19143
|
+
effectsClass(DataType.ActivationPlayableAsset)
|
|
19124
19144
|
], ActivationPlayableAsset);
|
|
19125
19145
|
var AnimationClip = /*#__PURE__*/ function(EffectsObject) {
|
|
19126
19146
|
_inherits(AnimationClip, EffectsObject);
|
|
@@ -19363,7 +19383,7 @@ __decorate([
|
|
|
19363
19383
|
serialize()
|
|
19364
19384
|
], TrackAsset.prototype, "children", void 0);
|
|
19365
19385
|
TrackAsset = __decorate([
|
|
19366
|
-
effectsClass(
|
|
19386
|
+
effectsClass(DataType.TrackAsset)
|
|
19367
19387
|
], TrackAsset);
|
|
19368
19388
|
var TrackType;
|
|
19369
19389
|
(function(TrackType) {
|
|
@@ -19458,7 +19478,7 @@ var ObjectBindingTrack = /*#__PURE__*/ function(TrackAsset1) {
|
|
|
19458
19478
|
return ObjectBindingTrack;
|
|
19459
19479
|
}(TrackAsset);
|
|
19460
19480
|
ObjectBindingTrack = __decorate([
|
|
19461
|
-
effectsClass(
|
|
19481
|
+
effectsClass(DataType.ObjectBindingTrack)
|
|
19462
19482
|
], ObjectBindingTrack);
|
|
19463
19483
|
|
|
19464
19484
|
var TransformTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
@@ -19469,7 +19489,7 @@ var TransformTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19469
19489
|
return TransformTrack;
|
|
19470
19490
|
}(TrackAsset);
|
|
19471
19491
|
TransformTrack = __decorate([
|
|
19472
|
-
effectsClass(
|
|
19492
|
+
effectsClass(DataType.TransformTrack)
|
|
19473
19493
|
], TransformTrack);
|
|
19474
19494
|
|
|
19475
19495
|
var ActivationMixerPlayable = /*#__PURE__*/ function(Playable) {
|
|
@@ -19530,7 +19550,7 @@ var ActivationTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19530
19550
|
return ActivationTrack;
|
|
19531
19551
|
}(TrackAsset);
|
|
19532
19552
|
ActivationTrack = __decorate([
|
|
19533
|
-
effectsClass(
|
|
19553
|
+
effectsClass(DataType.ActivationTrack)
|
|
19534
19554
|
], ActivationTrack);
|
|
19535
19555
|
|
|
19536
19556
|
var SpriteColorTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
@@ -19541,7 +19561,7 @@ var SpriteColorTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19541
19561
|
return SpriteColorTrack;
|
|
19542
19562
|
}(TrackAsset);
|
|
19543
19563
|
SpriteColorTrack = __decorate([
|
|
19544
|
-
effectsClass(
|
|
19564
|
+
effectsClass(DataType.SpriteColorTrack)
|
|
19545
19565
|
], SpriteColorTrack);
|
|
19546
19566
|
|
|
19547
19567
|
var TimelineAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
@@ -19578,7 +19598,7 @@ __decorate([
|
|
|
19578
19598
|
serialize()
|
|
19579
19599
|
], TimelineAsset.prototype, "tracks", void 0);
|
|
19580
19600
|
TimelineAsset = __decorate([
|
|
19581
|
-
effectsClass(
|
|
19601
|
+
effectsClass(DataType.TimelineAsset)
|
|
19582
19602
|
], TimelineAsset);
|
|
19583
19603
|
var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
19584
19604
|
_inherits(TimelinePlayable, Playable);
|
|
@@ -19943,7 +19963,7 @@ var SubCompositionTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19943
19963
|
return SubCompositionTrack;
|
|
19944
19964
|
}(TrackAsset);
|
|
19945
19965
|
SubCompositionTrack = __decorate([
|
|
19946
|
-
effectsClass(
|
|
19966
|
+
effectsClass(DataType.SubCompositionTrack)
|
|
19947
19967
|
], SubCompositionTrack);
|
|
19948
19968
|
|
|
19949
19969
|
var SubCompositionClipPlayable = /*#__PURE__*/ function(Playable) {
|
|
@@ -19973,7 +19993,7 @@ var SubCompositionPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19973
19993
|
return SubCompositionPlayableAsset;
|
|
19974
19994
|
}(PlayableAsset);
|
|
19975
19995
|
SubCompositionPlayableAsset = __decorate([
|
|
19976
|
-
effectsClass(
|
|
19996
|
+
effectsClass(DataType.SubCompositionPlayableAsset)
|
|
19977
19997
|
], SubCompositionPlayableAsset);
|
|
19978
19998
|
|
|
19979
19999
|
function _possible_constructor_return(self, call) {
|
|
@@ -20793,6 +20813,1652 @@ PostProcessVolume = __decorate([
|
|
|
20793
20813
|
effectsClass("PostProcessVolume")
|
|
20794
20814
|
], PostProcessVolume);
|
|
20795
20815
|
|
|
20816
|
+
/**
|
|
20817
|
+
* A class to define a shape via user defined coordinates.
|
|
20818
|
+
*/ var Polygon = /*#__PURE__*/ function() {
|
|
20819
|
+
function Polygon() {
|
|
20820
|
+
for(var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++){
|
|
20821
|
+
points[_key] = arguments[_key];
|
|
20822
|
+
}
|
|
20823
|
+
/** An array of the points of this polygon. */ this.points = [];
|
|
20824
|
+
/** `false` after moveTo, `true` after `closePath`. In all other cases it is `true`. */ this.closePath = false;
|
|
20825
|
+
var flat = Array.isArray(points[0]) ? points[0] : points;
|
|
20826
|
+
// if this is an array of points, convert it to a flat array of numbers
|
|
20827
|
+
if (typeof flat[0] !== "number") {
|
|
20828
|
+
var p = [];
|
|
20829
|
+
for(var i = 0, il = flat.length; i < il; i++){
|
|
20830
|
+
p.push(flat[i].x, flat[i].y);
|
|
20831
|
+
}
|
|
20832
|
+
flat = p;
|
|
20833
|
+
}
|
|
20834
|
+
this.points = flat;
|
|
20835
|
+
this.closePath = true;
|
|
20836
|
+
}
|
|
20837
|
+
var _proto = Polygon.prototype;
|
|
20838
|
+
/**
|
|
20839
|
+
* Creates a clone of this polygon.
|
|
20840
|
+
* @returns - A copy of the polygon.
|
|
20841
|
+
*/ _proto.clone = function clone() {
|
|
20842
|
+
var points = this.points.slice();
|
|
20843
|
+
var polygon = new Polygon(points);
|
|
20844
|
+
polygon.closePath = this.closePath;
|
|
20845
|
+
return polygon;
|
|
20846
|
+
};
|
|
20847
|
+
/**
|
|
20848
|
+
* Checks whether the x and y coordinates passed to this function are contained within this polygon.
|
|
20849
|
+
* @param x - The X coordinate of the point to test.
|
|
20850
|
+
* @param y - The Y coordinate of the point to test.
|
|
20851
|
+
* @returns - Whether the x/y coordinates are within this polygon.
|
|
20852
|
+
*/ _proto.contains = function contains(x, y) {
|
|
20853
|
+
var inside = false;
|
|
20854
|
+
// use some raycasting to test hits
|
|
20855
|
+
// https://github.com/substack/point-in-polygon/blob/master/index.js
|
|
20856
|
+
var length = this.points.length / 2;
|
|
20857
|
+
for(var i = 0, j = length - 1; i < length; j = i++){
|
|
20858
|
+
var xi = this.points[i * 2];
|
|
20859
|
+
var yi = this.points[i * 2 + 1];
|
|
20860
|
+
var xj = this.points[j * 2];
|
|
20861
|
+
var yj = this.points[j * 2 + 1];
|
|
20862
|
+
var intersect = yi > y !== yj > y && x < (xj - xi) * ((y - yi) / (yj - yi)) + xi;
|
|
20863
|
+
if (intersect) {
|
|
20864
|
+
inside = !inside;
|
|
20865
|
+
}
|
|
20866
|
+
}
|
|
20867
|
+
return inside;
|
|
20868
|
+
};
|
|
20869
|
+
/**
|
|
20870
|
+
* Copies another polygon to this one.
|
|
20871
|
+
* @param polygon - The polygon to copy from.
|
|
20872
|
+
* @returns Returns itself.
|
|
20873
|
+
*/ _proto.copyFrom = function copyFrom(polygon) {
|
|
20874
|
+
this.points = polygon.points.slice();
|
|
20875
|
+
this.closePath = polygon.closePath;
|
|
20876
|
+
return this;
|
|
20877
|
+
};
|
|
20878
|
+
/**
|
|
20879
|
+
* Copies this polygon to another one.
|
|
20880
|
+
* @param polygon - The polygon to copy to.
|
|
20881
|
+
* @returns Returns given parameter.
|
|
20882
|
+
*/ _proto.copyTo = function copyTo(polygon) {
|
|
20883
|
+
polygon.copyFrom(this);
|
|
20884
|
+
return polygon;
|
|
20885
|
+
};
|
|
20886
|
+
_create_class(Polygon, [
|
|
20887
|
+
{
|
|
20888
|
+
key: "lastX",
|
|
20889
|
+
get: /**
|
|
20890
|
+
* Get the last X coordinate of the polygon
|
|
20891
|
+
* @readonly
|
|
20892
|
+
*/ function get() {
|
|
20893
|
+
return this.points[this.points.length - 2];
|
|
20894
|
+
}
|
|
20895
|
+
},
|
|
20896
|
+
{
|
|
20897
|
+
key: "lastY",
|
|
20898
|
+
get: /**
|
|
20899
|
+
* Get the last Y coordinate of the polygon
|
|
20900
|
+
* @readonly
|
|
20901
|
+
*/ function get() {
|
|
20902
|
+
return this.points[this.points.length - 1];
|
|
20903
|
+
}
|
|
20904
|
+
},
|
|
20905
|
+
{
|
|
20906
|
+
key: "x",
|
|
20907
|
+
get: /**
|
|
20908
|
+
* Get the first X coordinate of the polygon
|
|
20909
|
+
* @readonly
|
|
20910
|
+
*/ function get() {
|
|
20911
|
+
return this.points[this.points.length - 2];
|
|
20912
|
+
}
|
|
20913
|
+
},
|
|
20914
|
+
{
|
|
20915
|
+
key: "y",
|
|
20916
|
+
get: /**
|
|
20917
|
+
* Get the first Y coordinate of the polygon
|
|
20918
|
+
* @readonly
|
|
20919
|
+
*/ function get() {
|
|
20920
|
+
return this.points[this.points.length - 1];
|
|
20921
|
+
}
|
|
20922
|
+
}
|
|
20923
|
+
]);
|
|
20924
|
+
return Polygon;
|
|
20925
|
+
}();
|
|
20926
|
+
|
|
20927
|
+
// thanks to https://github.com/mattdesl/adaptive-bezier-curve
|
|
20928
|
+
// for the original code!
|
|
20929
|
+
var RECURSION_LIMIT = 8;
|
|
20930
|
+
var FLT_EPSILON = 1.19209290e-7;
|
|
20931
|
+
var PATH_DISTANCE_EPSILON = 1.0;
|
|
20932
|
+
var defaultBezierSmoothness = 0.5;
|
|
20933
|
+
function buildAdaptiveBezier(points, sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, smoothness) {
|
|
20934
|
+
// TODO expose as a parameter
|
|
20935
|
+
var scale = 5;
|
|
20936
|
+
var smoothing = Math.min(0.99, Math.max(0, smoothness != null ? smoothness : defaultBezierSmoothness));
|
|
20937
|
+
var distanceTolerance = (PATH_DISTANCE_EPSILON - smoothing) / scale;
|
|
20938
|
+
distanceTolerance *= distanceTolerance;
|
|
20939
|
+
begin(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance);
|
|
20940
|
+
return points;
|
|
20941
|
+
}
|
|
20942
|
+
//// Based on:
|
|
20943
|
+
//// https://github.com/pelson/antigrain/blob/master/agg-2.4/src/agg_curves.cpp
|
|
20944
|
+
function begin(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance) {
|
|
20945
|
+
// dont need to actually ad this!
|
|
20946
|
+
// points.push(sX, sY);
|
|
20947
|
+
recursive(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance, 0);
|
|
20948
|
+
points.push(eX, eY);
|
|
20949
|
+
}
|
|
20950
|
+
// eslint-disable-next-line max-params
|
|
20951
|
+
function recursive(x1, y1, x2, y2, x3, y3, x4, y4, points, distanceTolerance, level) {
|
|
20952
|
+
if (level > RECURSION_LIMIT) {
|
|
20953
|
+
return;
|
|
20954
|
+
}
|
|
20955
|
+
// Calculate all the mid-points of the line segments
|
|
20956
|
+
// ----------------------
|
|
20957
|
+
var x12 = (x1 + x2) / 2;
|
|
20958
|
+
var y12 = (y1 + y2) / 2;
|
|
20959
|
+
var x23 = (x2 + x3) / 2;
|
|
20960
|
+
var y23 = (y2 + y3) / 2;
|
|
20961
|
+
var x34 = (x3 + x4) / 2;
|
|
20962
|
+
var y34 = (y3 + y4) / 2;
|
|
20963
|
+
var x123 = (x12 + x23) / 2;
|
|
20964
|
+
var y123 = (y12 + y23) / 2;
|
|
20965
|
+
var x234 = (x23 + x34) / 2;
|
|
20966
|
+
var y234 = (y23 + y34) / 2;
|
|
20967
|
+
var x1234 = (x123 + x234) / 2;
|
|
20968
|
+
var y1234 = (y123 + y234) / 2;
|
|
20969
|
+
if (level > 0) {
|
|
20970
|
+
// Try to approximate the full cubic curve by a single straight line
|
|
20971
|
+
// ------------------
|
|
20972
|
+
var dx = x4 - x1;
|
|
20973
|
+
var dy = y4 - y1;
|
|
20974
|
+
var d2 = Math.abs((x2 - x4) * dy - (y2 - y4) * dx);
|
|
20975
|
+
var d3 = Math.abs((x3 - x4) * dy - (y3 - y4) * dx);
|
|
20976
|
+
if (d2 > FLT_EPSILON && d3 > FLT_EPSILON) {
|
|
20977
|
+
// Regular care
|
|
20978
|
+
// -----------------
|
|
20979
|
+
if ((d2 + d3) * (d2 + d3) <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
20980
|
+
// If the curvature doesn't exceed the distanceTolerance value
|
|
20981
|
+
// we tend to finish subdivisions.
|
|
20982
|
+
// ----------------------
|
|
20983
|
+
{
|
|
20984
|
+
points.push(x1234, y1234);
|
|
20985
|
+
return;
|
|
20986
|
+
}
|
|
20987
|
+
}
|
|
20988
|
+
} else if (d2 > FLT_EPSILON) {
|
|
20989
|
+
// p1,p3,p4 are collinear, p2 is considerable
|
|
20990
|
+
// ----------------------
|
|
20991
|
+
if (d2 * d2 <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
20992
|
+
{
|
|
20993
|
+
points.push(x1234, y1234);
|
|
20994
|
+
return;
|
|
20995
|
+
}
|
|
20996
|
+
}
|
|
20997
|
+
} else if (d3 > FLT_EPSILON) {
|
|
20998
|
+
// p1,p2,p4 are collinear, p3 is considerable
|
|
20999
|
+
// ----------------------
|
|
21000
|
+
if (d3 * d3 <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
21001
|
+
{
|
|
21002
|
+
points.push(x1234, y1234);
|
|
21003
|
+
return;
|
|
21004
|
+
}
|
|
21005
|
+
}
|
|
21006
|
+
} else {
|
|
21007
|
+
// Collinear case
|
|
21008
|
+
// -----------------
|
|
21009
|
+
dx = x1234 - (x1 + x4) / 2;
|
|
21010
|
+
dy = y1234 - (y1 + y4) / 2;
|
|
21011
|
+
if (dx * dx + dy * dy <= distanceTolerance) {
|
|
21012
|
+
points.push(x1234, y1234);
|
|
21013
|
+
return;
|
|
21014
|
+
}
|
|
21015
|
+
}
|
|
21016
|
+
}
|
|
21017
|
+
// Continue subdivision
|
|
21018
|
+
// ----------------------
|
|
21019
|
+
recursive(x1, y1, x12, y12, x123, y123, x1234, y1234, points, distanceTolerance, level + 1);
|
|
21020
|
+
recursive(x1234, y1234, x234, y234, x34, y34, x4, y4, points, distanceTolerance, level + 1);
|
|
21021
|
+
}
|
|
21022
|
+
|
|
21023
|
+
var ShapePath = /*#__PURE__*/ function() {
|
|
21024
|
+
function ShapePath(graphicsPath) {
|
|
21025
|
+
this.graphicsPath = graphicsPath;
|
|
21026
|
+
this.currentPoly = null;
|
|
21027
|
+
this.shapePrimitives = [];
|
|
21028
|
+
}
|
|
21029
|
+
var _proto = ShapePath.prototype;
|
|
21030
|
+
/** Builds the path. */ _proto.buildPath = function buildPath() {
|
|
21031
|
+
this.currentPoly = null;
|
|
21032
|
+
this.shapePrimitives.length = 0;
|
|
21033
|
+
var path = this.graphicsPath;
|
|
21034
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(path.instructions), _step; !(_step = _iterator()).done;){
|
|
21035
|
+
var instruction = _step.value;
|
|
21036
|
+
var action = instruction.action;
|
|
21037
|
+
var data = instruction.data;
|
|
21038
|
+
switch(action){
|
|
21039
|
+
case "bezierCurveTo":
|
|
21040
|
+
{
|
|
21041
|
+
this.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5], data[6]);
|
|
21042
|
+
break;
|
|
21043
|
+
}
|
|
21044
|
+
case "moveTo":
|
|
21045
|
+
{
|
|
21046
|
+
this.moveTo(data[0], data[1]);
|
|
21047
|
+
break;
|
|
21048
|
+
}
|
|
21049
|
+
}
|
|
21050
|
+
}
|
|
21051
|
+
this.endPoly();
|
|
21052
|
+
};
|
|
21053
|
+
/**
|
|
21054
|
+
* Adds a cubic Bezier curve to the path.
|
|
21055
|
+
* It requires three points: the first two are control points and the third one is the end point.
|
|
21056
|
+
* The starting point is the last point in the current path.
|
|
21057
|
+
* @param cp1x - The x-coordinate of the first control point.
|
|
21058
|
+
* @param cp1y - The y-coordinate of the first control point.
|
|
21059
|
+
* @param cp2x - The x-coordinate of the second control point.
|
|
21060
|
+
* @param cp2y - The y-coordinate of the second control point.
|
|
21061
|
+
* @param x - The x-coordinate of the end point.
|
|
21062
|
+
* @param y - The y-coordinate of the end point.
|
|
21063
|
+
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
21064
|
+
* @returns The instance of the current object for chaining.
|
|
21065
|
+
*/ _proto.bezierCurveTo = function bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, smoothness) {
|
|
21066
|
+
this.ensurePoly();
|
|
21067
|
+
var currentPoly = this.currentPoly;
|
|
21068
|
+
buildAdaptiveBezier(currentPoly.points, currentPoly.lastX, currentPoly.lastY, cp1x, cp1y, cp2x, cp2y, x, y, smoothness);
|
|
21069
|
+
return this;
|
|
21070
|
+
};
|
|
21071
|
+
_proto.moveTo = function moveTo(x, y) {
|
|
21072
|
+
this.startPoly(x, y);
|
|
21073
|
+
return this;
|
|
21074
|
+
};
|
|
21075
|
+
/**
|
|
21076
|
+
* Starts a new polygon path from the specified starting point.
|
|
21077
|
+
* This method initializes a new polygon or ends the current one if it exists.
|
|
21078
|
+
* @param x - The x-coordinate of the starting point of the new polygon.
|
|
21079
|
+
* @param y - The y-coordinate of the starting point of the new polygon.
|
|
21080
|
+
* @returns The instance of the current object for chaining.
|
|
21081
|
+
*/ _proto.startPoly = function startPoly(x, y) {
|
|
21082
|
+
var currentPoly = this.currentPoly;
|
|
21083
|
+
if (currentPoly) {
|
|
21084
|
+
this.endPoly();
|
|
21085
|
+
}
|
|
21086
|
+
currentPoly = new Polygon();
|
|
21087
|
+
currentPoly.points.push(x, y);
|
|
21088
|
+
this.currentPoly = currentPoly;
|
|
21089
|
+
return this;
|
|
21090
|
+
};
|
|
21091
|
+
/**
|
|
21092
|
+
* Ends the current polygon path. If `closePath` is set to true,
|
|
21093
|
+
* the path is closed by connecting the last point to the first one.
|
|
21094
|
+
* This method finalizes the current polygon and prepares it for drawing or adding to the shape primitives.
|
|
21095
|
+
* @param closePath - A boolean indicating whether to close the polygon by connecting the last point
|
|
21096
|
+
* back to the starting point. False by default.
|
|
21097
|
+
* @returns The instance of the current object for chaining.
|
|
21098
|
+
*/ _proto.endPoly = function endPoly(closePath) {
|
|
21099
|
+
if (closePath === void 0) closePath = false;
|
|
21100
|
+
var shape = this.currentPoly;
|
|
21101
|
+
if (shape && shape.points.length > 2) {
|
|
21102
|
+
shape.closePath = closePath;
|
|
21103
|
+
this.shapePrimitives.push({
|
|
21104
|
+
shape: shape
|
|
21105
|
+
});
|
|
21106
|
+
}
|
|
21107
|
+
this.currentPoly = null;
|
|
21108
|
+
return this;
|
|
21109
|
+
};
|
|
21110
|
+
_proto.ensurePoly = function ensurePoly(start) {
|
|
21111
|
+
if (this.currentPoly) {
|
|
21112
|
+
return;
|
|
21113
|
+
}
|
|
21114
|
+
this.currentPoly = new Polygon();
|
|
21115
|
+
this.currentPoly.points.push(0, 0);
|
|
21116
|
+
};
|
|
21117
|
+
return ShapePath;
|
|
21118
|
+
}();
|
|
21119
|
+
|
|
21120
|
+
var GraphicsPath = /*#__PURE__*/ function() {
|
|
21121
|
+
function GraphicsPath() {
|
|
21122
|
+
this.instructions = [];
|
|
21123
|
+
this.dirty = false;
|
|
21124
|
+
}
|
|
21125
|
+
var _proto = GraphicsPath.prototype;
|
|
21126
|
+
/**
|
|
21127
|
+
* Adds a cubic Bezier curve to the path.
|
|
21128
|
+
* It requires three points: the first two are control points and the third one is the end point.
|
|
21129
|
+
* The starting point is the last point in the current path.
|
|
21130
|
+
* @param cp1x - The x-coordinate of the first control point.
|
|
21131
|
+
* @param cp1y - The y-coordinate of the first control point.
|
|
21132
|
+
* @param cp2x - The x-coordinate of the second control point.
|
|
21133
|
+
* @param cp2y - The y-coordinate of the second control point.
|
|
21134
|
+
* @param x - The x-coordinate of the end point.
|
|
21135
|
+
* @param y - The y-coordinate of the end point.
|
|
21136
|
+
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
21137
|
+
* @returns The instance of the current object for chaining.
|
|
21138
|
+
*/ _proto.bezierCurveTo = function bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, smoothness) {
|
|
21139
|
+
this.instructions.push({
|
|
21140
|
+
action: "bezierCurveTo",
|
|
21141
|
+
data: [
|
|
21142
|
+
cp1x,
|
|
21143
|
+
cp1y,
|
|
21144
|
+
cp2x,
|
|
21145
|
+
cp2y,
|
|
21146
|
+
x,
|
|
21147
|
+
y,
|
|
21148
|
+
smoothness
|
|
21149
|
+
]
|
|
21150
|
+
});
|
|
21151
|
+
this.dirty = true;
|
|
21152
|
+
return this;
|
|
21153
|
+
};
|
|
21154
|
+
_proto.moveTo = function moveTo(x, y) {
|
|
21155
|
+
this.instructions.push({
|
|
21156
|
+
action: "moveTo",
|
|
21157
|
+
data: [
|
|
21158
|
+
x,
|
|
21159
|
+
y
|
|
21160
|
+
]
|
|
21161
|
+
});
|
|
21162
|
+
this.dirty = true;
|
|
21163
|
+
return this;
|
|
21164
|
+
};
|
|
21165
|
+
_proto.clear = function clear() {
|
|
21166
|
+
this.instructions.length = 0;
|
|
21167
|
+
this.dirty = true;
|
|
21168
|
+
return this;
|
|
21169
|
+
};
|
|
21170
|
+
_create_class(GraphicsPath, [
|
|
21171
|
+
{
|
|
21172
|
+
key: "shapePath",
|
|
21173
|
+
get: /**
|
|
21174
|
+
* Provides access to the internal shape path, ensuring it is up-to-date with the current instructions.
|
|
21175
|
+
* @returns The `ShapePath` instance associated with this `GraphicsPath`.
|
|
21176
|
+
*/ function get() {
|
|
21177
|
+
if (!this._shapePath) {
|
|
21178
|
+
this._shapePath = new ShapePath(this);
|
|
21179
|
+
}
|
|
21180
|
+
if (this.dirty) {
|
|
21181
|
+
this.dirty = false;
|
|
21182
|
+
this._shapePath.buildPath();
|
|
21183
|
+
}
|
|
21184
|
+
return this._shapePath;
|
|
21185
|
+
}
|
|
21186
|
+
}
|
|
21187
|
+
]);
|
|
21188
|
+
return GraphicsPath;
|
|
21189
|
+
}();
|
|
21190
|
+
|
|
21191
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
21192
|
+
|
|
21193
|
+
var libtess_min = {exports: {}};
|
|
21194
|
+
|
|
21195
|
+
/*
|
|
21196
|
+
|
|
21197
|
+
Copyright 2000, Silicon Graphics, Inc. All Rights Reserved.
|
|
21198
|
+
Copyright 2015, Google Inc. All Rights Reserved.
|
|
21199
|
+
|
|
21200
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
21201
|
+
of this software and associated documentation files (the "Software"), to
|
|
21202
|
+
deal in the Software without restriction, including without limitation the
|
|
21203
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
21204
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
|
21205
|
+
furnished to do so, subject to the following conditions:
|
|
21206
|
+
|
|
21207
|
+
The above copyright notice including the dates of first publication and
|
|
21208
|
+
either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
|
|
21209
|
+
shall be included in all copies or substantial portions of the Software.
|
|
21210
|
+
|
|
21211
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21212
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21213
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
21214
|
+
SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
21215
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|
21216
|
+
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21217
|
+
|
|
21218
|
+
Original Code. The Original Code is: OpenGL Sample Implementation,
|
|
21219
|
+
Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
|
21220
|
+
Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
|
|
21221
|
+
Copyright in any portions created by third parties is as indicated
|
|
21222
|
+
elsewhere herein. All Rights Reserved.
|
|
21223
|
+
*/
|
|
21224
|
+
|
|
21225
|
+
(function (module) {
|
|
21226
|
+
var n;
|
|
21227
|
+
function t(a, b) {
|
|
21228
|
+
return a.b === b.b && a.a === b.a;
|
|
21229
|
+
}
|
|
21230
|
+
function u(a, b) {
|
|
21231
|
+
return a.b < b.b || a.b === b.b && a.a <= b.a;
|
|
21232
|
+
}
|
|
21233
|
+
function v(a, b, c) {
|
|
21234
|
+
var d = b.b - a.b, e = c.b - b.b;
|
|
21235
|
+
return 0 < d + e ? d < e ? b.a - a.a + d / (d + e) * (a.a - c.a) : b.a - c.a + e / (d + e) * (c.a - a.a) : 0;
|
|
21236
|
+
}
|
|
21237
|
+
function x(a, b, c) {
|
|
21238
|
+
var d = b.b - a.b, e = c.b - b.b;
|
|
21239
|
+
return 0 < d + e ? (b.a - c.a) * d + (b.a - a.a) * e : 0;
|
|
21240
|
+
}
|
|
21241
|
+
function z(a, b) {
|
|
21242
|
+
return a.a < b.a || a.a === b.a && a.b <= b.b;
|
|
21243
|
+
}
|
|
21244
|
+
function aa(a, b, c) {
|
|
21245
|
+
var d = b.a - a.a, e = c.a - b.a;
|
|
21246
|
+
return 0 < d + e ? d < e ? b.b - a.b + d / (d + e) * (a.b - c.b) : b.b - c.b + e / (d + e) * (c.b - a.b) : 0;
|
|
21247
|
+
}
|
|
21248
|
+
function ba(a, b, c) {
|
|
21249
|
+
var d = b.a - a.a, e = c.a - b.a;
|
|
21250
|
+
return 0 < d + e ? (b.b - c.b) * d + (b.b - a.b) * e : 0;
|
|
21251
|
+
}
|
|
21252
|
+
function ca(a) {
|
|
21253
|
+
return u(a.b.a, a.a);
|
|
21254
|
+
}
|
|
21255
|
+
function da(a) {
|
|
21256
|
+
return u(a.a, a.b.a);
|
|
21257
|
+
}
|
|
21258
|
+
function A(a, b, c, d) {
|
|
21259
|
+
a = 0 > a ? 0 : a;
|
|
21260
|
+
c = 0 > c ? 0 : c;
|
|
21261
|
+
return a <= c ? 0 === c ? (b + d) / 2 : b + a / (a + c) * (d - b) : d + c / (a + c) * (b - d);
|
|
21262
|
+
}
|
|
21263
|
+
function ea(a) {
|
|
21264
|
+
var b = B(a.b);
|
|
21265
|
+
C(b, a.c);
|
|
21266
|
+
C(b.b, a.c);
|
|
21267
|
+
D(b, a.a);
|
|
21268
|
+
return b;
|
|
21269
|
+
}
|
|
21270
|
+
function E(a, b) {
|
|
21271
|
+
var c = !1, d = !1;
|
|
21272
|
+
a !== b && (b.a !== a.a && (d = !0, F(b.a, a.a)), b.d !== a.d && (c = !0, G(b.d, a.d)), H(b, a), d || (C(b, a.a), a.a.c = a), c || (D(b, a.d), a.d.a = a));
|
|
21273
|
+
}
|
|
21274
|
+
function I(a) {
|
|
21275
|
+
var b = a.b, c = !1;
|
|
21276
|
+
a.d !== a.b.d && (c = !0, G(a.d, a.b.d));
|
|
21277
|
+
a.c === a ? F(a.a, null) : (a.b.d.a = J(a), a.a.c = a.c, H(a, J(a)), c || D(a, a.d));
|
|
21278
|
+
b.c === b ? (F(b.a, null), G(b.d, null)) : (a.d.a = J(b), b.a.c = b.c, H(b, J(b)));
|
|
21279
|
+
fa(a);
|
|
21280
|
+
}
|
|
21281
|
+
function K(a) {
|
|
21282
|
+
var b = B(a), c = b.b;
|
|
21283
|
+
H(b, a.e);
|
|
21284
|
+
b.a = a.b.a;
|
|
21285
|
+
C(c, b.a);
|
|
21286
|
+
b.d = c.d = a.d;
|
|
21287
|
+
b = b.b;
|
|
21288
|
+
H(a.b, J(a.b));
|
|
21289
|
+
H(a.b, b);
|
|
21290
|
+
a.b.a = b.a;
|
|
21291
|
+
b.b.a.c = b.b;
|
|
21292
|
+
b.b.d = a.b.d;
|
|
21293
|
+
b.f = a.f;
|
|
21294
|
+
b.b.f = a.b.f;
|
|
21295
|
+
return b;
|
|
21296
|
+
}
|
|
21297
|
+
function L(a, b) {
|
|
21298
|
+
var c = !1, d = B(a), e = d.b;
|
|
21299
|
+
b.d !== a.d && (c = !0, G(b.d, a.d));
|
|
21300
|
+
H(d, a.e);
|
|
21301
|
+
H(e, b);
|
|
21302
|
+
d.a = a.b.a;
|
|
21303
|
+
e.a = b.a;
|
|
21304
|
+
d.d = e.d = a.d;
|
|
21305
|
+
a.d.a = e;
|
|
21306
|
+
c || D(d, a.d);
|
|
21307
|
+
return d;
|
|
21308
|
+
}
|
|
21309
|
+
function B(a) {
|
|
21310
|
+
var b = new M, c = new M, d = a.b.h;
|
|
21311
|
+
c.h = d;
|
|
21312
|
+
d.b.h = b;
|
|
21313
|
+
b.h = a;
|
|
21314
|
+
a.b.h = c;
|
|
21315
|
+
b.b = c;
|
|
21316
|
+
b.c = b;
|
|
21317
|
+
b.e = c;
|
|
21318
|
+
c.b = b;
|
|
21319
|
+
c.c = c;
|
|
21320
|
+
return c.e = b;
|
|
21321
|
+
}
|
|
21322
|
+
function H(a, b) {
|
|
21323
|
+
var c = a.c, d = b.c;
|
|
21324
|
+
c.b.e = b;
|
|
21325
|
+
d.b.e = a;
|
|
21326
|
+
a.c = d;
|
|
21327
|
+
b.c = c;
|
|
21328
|
+
}
|
|
21329
|
+
function C(a, b) {
|
|
21330
|
+
var c = b.f, d = new N(b, c);
|
|
21331
|
+
c.e = d;
|
|
21332
|
+
b.f = d;
|
|
21333
|
+
c = d.c = a;
|
|
21334
|
+
do c.a = d, c = c.c;
|
|
21335
|
+
while (c !== a);
|
|
21336
|
+
}
|
|
21337
|
+
function D(a, b) {
|
|
21338
|
+
var c = b.d, d = new ga(b, c);
|
|
21339
|
+
c.b = d;
|
|
21340
|
+
b.d = d;
|
|
21341
|
+
d.a = a;
|
|
21342
|
+
d.c = b.c;
|
|
21343
|
+
c = a;
|
|
21344
|
+
do c.d = d, c = c.e;
|
|
21345
|
+
while (c !== a);
|
|
21346
|
+
}
|
|
21347
|
+
function fa(a) {
|
|
21348
|
+
var b = a.h;
|
|
21349
|
+
a = a.b.h;
|
|
21350
|
+
b.b.h = a;
|
|
21351
|
+
a.b.h = b;
|
|
21352
|
+
}
|
|
21353
|
+
function F(a, b) {
|
|
21354
|
+
var c = a.c, d = c;
|
|
21355
|
+
do d.a = b, d = d.c;
|
|
21356
|
+
while (d !== c);
|
|
21357
|
+
c = a.f;
|
|
21358
|
+
d = a.e;
|
|
21359
|
+
d.f = c;
|
|
21360
|
+
c.e = d;
|
|
21361
|
+
}
|
|
21362
|
+
function G(a, b) {
|
|
21363
|
+
var c = a.a, d = c;
|
|
21364
|
+
do d.d = b, d = d.e;
|
|
21365
|
+
while (d !== c);
|
|
21366
|
+
c = a.d;
|
|
21367
|
+
d = a.b;
|
|
21368
|
+
d.d = c;
|
|
21369
|
+
c.b = d;
|
|
21370
|
+
}
|
|
21371
|
+
function ha(a) {
|
|
21372
|
+
var b = 0;
|
|
21373
|
+
Math.abs(a[1]) > Math.abs(a[0]) && (b = 1);
|
|
21374
|
+
Math.abs(a[2]) > Math.abs(a[b]) && (b = 2);
|
|
21375
|
+
return b;
|
|
21376
|
+
}
|
|
21377
|
+
var O = 4 * 1E150;
|
|
21378
|
+
function P(a, b) {
|
|
21379
|
+
a.f += b.f;
|
|
21380
|
+
a.b.f += b.b.f;
|
|
21381
|
+
}
|
|
21382
|
+
function ia(a, b, c) {
|
|
21383
|
+
a = a.a;
|
|
21384
|
+
b = b.a;
|
|
21385
|
+
c = c.a;
|
|
21386
|
+
if (b.b.a === a) return c.b.a === a ? u(b.a, c.a) ? 0 >= x(c.b.a, b.a, c.a) : 0 <= x(b.b.a, c.a, b.a) : 0 >= x(c.b.a, a, c.a);
|
|
21387
|
+
if (c.b.a === a) return 0 <= x(b.b.a, a, b.a);
|
|
21388
|
+
b = v(b.b.a, a, b.a);
|
|
21389
|
+
a = v(c.b.a, a, c.a);
|
|
21390
|
+
return b >= a;
|
|
21391
|
+
}
|
|
21392
|
+
function Q(a) {
|
|
21393
|
+
a.a.i = null;
|
|
21394
|
+
var b = a.e;
|
|
21395
|
+
b.a.c = b.c;
|
|
21396
|
+
b.c.a = b.a;
|
|
21397
|
+
a.e = null;
|
|
21398
|
+
}
|
|
21399
|
+
function ja(a, b) {
|
|
21400
|
+
I(a.a);
|
|
21401
|
+
a.c = !1;
|
|
21402
|
+
a.a = b;
|
|
21403
|
+
b.i = a;
|
|
21404
|
+
}
|
|
21405
|
+
function ka(a) {
|
|
21406
|
+
var b = a.a.a;
|
|
21407
|
+
do a = R(a);
|
|
21408
|
+
while (a.a.a === b);
|
|
21409
|
+
a.c && (b = L(S(a).a.b, a.a.e), ja(a, b), a = R(a));
|
|
21410
|
+
return a;
|
|
21411
|
+
}
|
|
21412
|
+
function la(a, b, c) {
|
|
21413
|
+
var d = new ma;
|
|
21414
|
+
d.a = c;
|
|
21415
|
+
d.e = na(a.f, b.e, d);
|
|
21416
|
+
return c.i = d;
|
|
21417
|
+
}
|
|
21418
|
+
function oa(a, b) {
|
|
21419
|
+
switch(a.s){
|
|
21420
|
+
case 100130:
|
|
21421
|
+
return 0 !== (b & 1);
|
|
21422
|
+
case 100131:
|
|
21423
|
+
return 0 !== b;
|
|
21424
|
+
case 100132:
|
|
21425
|
+
return 0 < b;
|
|
21426
|
+
case 100133:
|
|
21427
|
+
return 0 > b;
|
|
21428
|
+
case 100134:
|
|
21429
|
+
return 2 <= b || -2 >= b;
|
|
21430
|
+
}
|
|
21431
|
+
return !1;
|
|
21432
|
+
}
|
|
21433
|
+
function pa(a) {
|
|
21434
|
+
var b = a.a, c = b.d;
|
|
21435
|
+
c.c = a.d;
|
|
21436
|
+
c.a = b;
|
|
21437
|
+
Q(a);
|
|
21438
|
+
}
|
|
21439
|
+
function T(a, b, c) {
|
|
21440
|
+
a = b;
|
|
21441
|
+
for(b = b.a; a !== c;){
|
|
21442
|
+
a.c = !1;
|
|
21443
|
+
var d = S(a), e = d.a;
|
|
21444
|
+
if (e.a !== b.a) {
|
|
21445
|
+
if (!d.c) {
|
|
21446
|
+
pa(a);
|
|
21447
|
+
break;
|
|
21448
|
+
}
|
|
21449
|
+
e = L(b.c.b, e.b);
|
|
21450
|
+
ja(d, e);
|
|
21451
|
+
}
|
|
21452
|
+
b.c !== e && (E(J(e), e), E(b, e));
|
|
21453
|
+
pa(a);
|
|
21454
|
+
b = d.a;
|
|
21455
|
+
a = d;
|
|
21456
|
+
}
|
|
21457
|
+
return b;
|
|
21458
|
+
}
|
|
21459
|
+
function U(a, b, c, d, e, f) {
|
|
21460
|
+
var g = !0;
|
|
21461
|
+
do la(a, b, c.b), c = c.c;
|
|
21462
|
+
while (c !== d);
|
|
21463
|
+
for(null === e && (e = S(b).a.b.c);;){
|
|
21464
|
+
d = S(b);
|
|
21465
|
+
c = d.a.b;
|
|
21466
|
+
if (c.a !== e.a) break;
|
|
21467
|
+
c.c !== e && (E(J(c), c), E(J(e), c));
|
|
21468
|
+
d.f = b.f - c.f;
|
|
21469
|
+
d.d = oa(a, d.f);
|
|
21470
|
+
b.b = !0;
|
|
21471
|
+
!g && qa(a, b) && (P(c, e), Q(b), I(e));
|
|
21472
|
+
g = !1;
|
|
21473
|
+
b = d;
|
|
21474
|
+
e = c;
|
|
21475
|
+
}
|
|
21476
|
+
b.b = !0;
|
|
21477
|
+
f && ra(a, b);
|
|
21478
|
+
}
|
|
21479
|
+
function sa(a, b, c, d, e) {
|
|
21480
|
+
var f = [
|
|
21481
|
+
b.g[0],
|
|
21482
|
+
b.g[1],
|
|
21483
|
+
b.g[2]
|
|
21484
|
+
];
|
|
21485
|
+
b.d = null;
|
|
21486
|
+
b.d = a.o ? a.o(f, c, d, a.c) || null : null;
|
|
21487
|
+
null === b.d && (e ? a.n || (V(a, 100156), a.n = !0) : b.d = c[0]);
|
|
21488
|
+
}
|
|
21489
|
+
function ta(a, b, c) {
|
|
21490
|
+
var d = [
|
|
21491
|
+
null,
|
|
21492
|
+
null,
|
|
21493
|
+
null,
|
|
21494
|
+
null
|
|
21495
|
+
];
|
|
21496
|
+
d[0] = b.a.d;
|
|
21497
|
+
d[1] = c.a.d;
|
|
21498
|
+
sa(a, b.a, d, [
|
|
21499
|
+
.5,
|
|
21500
|
+
.5,
|
|
21501
|
+
0,
|
|
21502
|
+
0
|
|
21503
|
+
], !1);
|
|
21504
|
+
E(b, c);
|
|
21505
|
+
}
|
|
21506
|
+
function ua(a, b, c, d, e) {
|
|
21507
|
+
var f = Math.abs(b.b - a.b) + Math.abs(b.a - a.a), g = Math.abs(c.b - a.b) + Math.abs(c.a - a.a), h = e + 1;
|
|
21508
|
+
d[e] = .5 * g / (f + g);
|
|
21509
|
+
d[h] = .5 * f / (f + g);
|
|
21510
|
+
a.g[0] += d[e] * b.g[0] + d[h] * c.g[0];
|
|
21511
|
+
a.g[1] += d[e] * b.g[1] + d[h] * c.g[1];
|
|
21512
|
+
a.g[2] += d[e] * b.g[2] + d[h] * c.g[2];
|
|
21513
|
+
}
|
|
21514
|
+
function qa(a, b) {
|
|
21515
|
+
var c = S(b), d = b.a, e = c.a;
|
|
21516
|
+
if (u(d.a, e.a)) {
|
|
21517
|
+
if (0 < x(e.b.a, d.a, e.a)) return !1;
|
|
21518
|
+
if (!t(d.a, e.a)) K(e.b), E(d, J(e)), b.b = c.b = !0;
|
|
21519
|
+
else if (d.a !== e.a) {
|
|
21520
|
+
var c = a.e, f = d.a.h;
|
|
21521
|
+
if (0 <= f) {
|
|
21522
|
+
var c = c.b, g = c.d, h = c.e, k = c.c, l = k[f];
|
|
21523
|
+
g[l] = g[c.a];
|
|
21524
|
+
k[g[l]] = l;
|
|
21525
|
+
l <= --c.a && (1 >= l ? W(c, l) : u(h[g[l >> 1]], h[g[l]]) ? W(c, l) : va(c, l));
|
|
21526
|
+
h[f] = null;
|
|
21527
|
+
k[f] = c.b;
|
|
21528
|
+
c.b = f;
|
|
21529
|
+
} else for(c.c[-(f + 1)] = null; 0 < c.a && null === c.c[c.d[c.a - 1]];)--c.a;
|
|
21530
|
+
ta(a, J(e), d);
|
|
21531
|
+
}
|
|
21532
|
+
} else {
|
|
21533
|
+
if (0 > x(d.b.a, e.a, d.a)) return !1;
|
|
21534
|
+
R(b).b = b.b = !0;
|
|
21535
|
+
K(d.b);
|
|
21536
|
+
E(J(e), d);
|
|
21537
|
+
}
|
|
21538
|
+
return !0;
|
|
21539
|
+
}
|
|
21540
|
+
function wa(a, b) {
|
|
21541
|
+
var c = S(b), d = b.a, e = c.a, f = d.a, g = e.a, h = d.b.a, k = e.b.a, l = new N;
|
|
21542
|
+
x(h, a.a, f);
|
|
21543
|
+
x(k, a.a, g);
|
|
21544
|
+
if (f === g || Math.min(f.a, h.a) > Math.max(g.a, k.a)) return !1;
|
|
21545
|
+
if (u(f, g)) {
|
|
21546
|
+
if (0 < x(k, f, g)) return !1;
|
|
21547
|
+
} else if (0 > x(h, g, f)) return !1;
|
|
21548
|
+
var r = h, p = f, q = k, y = g, m, w;
|
|
21549
|
+
u(r, p) || (m = r, r = p, p = m);
|
|
21550
|
+
u(q, y) || (m = q, q = y, y = m);
|
|
21551
|
+
u(r, q) || (m = r, r = q, q = m, m = p, p = y, y = m);
|
|
21552
|
+
u(q, p) ? u(p, y) ? (m = v(r, q, p), w = v(q, p, y), 0 > m + w && (m = -m, w = -w), l.b = A(m, q.b, w, p.b)) : (m = x(r, q, p), w = -x(r, y, p), 0 > m + w && (m = -m, w = -w), l.b = A(m, q.b, w, y.b)) : l.b = (q.b + p.b) / 2;
|
|
21553
|
+
z(r, p) || (m = r, r = p, p = m);
|
|
21554
|
+
z(q, y) || (m = q, q = y, y = m);
|
|
21555
|
+
z(r, q) || (m = r, r = q, q = m, m = p, p = y, y = m);
|
|
21556
|
+
z(q, p) ? z(p, y) ? (m = aa(r, q, p), w = aa(q, p, y), 0 > m + w && (m = -m, w = -w), l.a = A(m, q.a, w, p.a)) : (m = ba(r, q, p), w = -ba(r, y, p), 0 > m + w && (m = -m, w = -w), l.a = A(m, q.a, w, y.a)) : l.a = (q.a + p.a) / 2;
|
|
21557
|
+
u(l, a.a) && (l.b = a.a.b, l.a = a.a.a);
|
|
21558
|
+
r = u(f, g) ? f : g;
|
|
21559
|
+
u(r, l) && (l.b = r.b, l.a = r.a);
|
|
21560
|
+
if (t(l, f) || t(l, g)) return qa(a, b), !1;
|
|
21561
|
+
if (!t(h, a.a) && 0 <= x(h, a.a, l) || !t(k, a.a) && 0 >= x(k, a.a, l)) {
|
|
21562
|
+
if (k === a.a) return K(d.b), E(e.b, d), b = ka(b), d = S(b).a, T(a, S(b), c), U(a, b, J(d), d, d, !0), !0;
|
|
21563
|
+
if (h === a.a) {
|
|
21564
|
+
K(e.b);
|
|
21565
|
+
E(d.e, J(e));
|
|
21566
|
+
f = c = b;
|
|
21567
|
+
g = f.a.b.a;
|
|
21568
|
+
do f = R(f);
|
|
21569
|
+
while (f.a.b.a === g);
|
|
21570
|
+
b = f;
|
|
21571
|
+
f = S(b).a.b.c;
|
|
21572
|
+
c.a = J(e);
|
|
21573
|
+
e = T(a, c, null);
|
|
21574
|
+
U(a, b, e.c, d.b.c, f, !0);
|
|
21575
|
+
return !0;
|
|
21576
|
+
}
|
|
21577
|
+
0 <= x(h, a.a, l) && (R(b).b = b.b = !0, K(d.b), d.a.b = a.a.b, d.a.a = a.a.a);
|
|
21578
|
+
0 >= x(k, a.a, l) && (b.b = c.b = !0, K(e.b), e.a.b = a.a.b, e.a.a = a.a.a);
|
|
21579
|
+
return !1;
|
|
21580
|
+
}
|
|
21581
|
+
K(d.b);
|
|
21582
|
+
K(e.b);
|
|
21583
|
+
E(J(e), d);
|
|
21584
|
+
d.a.b = l.b;
|
|
21585
|
+
d.a.a = l.a;
|
|
21586
|
+
d.a.h = xa(a.e, d.a);
|
|
21587
|
+
d = d.a;
|
|
21588
|
+
e = [
|
|
21589
|
+
0,
|
|
21590
|
+
0,
|
|
21591
|
+
0,
|
|
21592
|
+
0
|
|
21593
|
+
];
|
|
21594
|
+
l = [
|
|
21595
|
+
f.d,
|
|
21596
|
+
h.d,
|
|
21597
|
+
g.d,
|
|
21598
|
+
k.d
|
|
21599
|
+
];
|
|
21600
|
+
d.g[0] = d.g[1] = d.g[2] = 0;
|
|
21601
|
+
ua(d, f, h, e, 0);
|
|
21602
|
+
ua(d, g, k, e, 2);
|
|
21603
|
+
sa(a, d, l, e, !0);
|
|
21604
|
+
R(b).b = b.b = c.b = !0;
|
|
21605
|
+
return !1;
|
|
21606
|
+
}
|
|
21607
|
+
function ra(a, b) {
|
|
21608
|
+
for(var c = S(b);;){
|
|
21609
|
+
for(; c.b;)b = c, c = S(c);
|
|
21610
|
+
if (!b.b && (c = b, b = R(b), null === b || !b.b)) break;
|
|
21611
|
+
b.b = !1;
|
|
21612
|
+
var d = b.a, e = c.a, f;
|
|
21613
|
+
if (f = d.b.a !== e.b.a) a: {
|
|
21614
|
+
f = b;
|
|
21615
|
+
var g = S(f), h = f.a, k = g.a, l = void 0;
|
|
21616
|
+
if (u(h.b.a, k.b.a)) {
|
|
21617
|
+
if (0 > x(h.b.a, k.b.a, h.a)) {
|
|
21618
|
+
f = !1;
|
|
21619
|
+
break a;
|
|
21620
|
+
}
|
|
21621
|
+
R(f).b = f.b = !0;
|
|
21622
|
+
l = K(h);
|
|
21623
|
+
E(k.b, l);
|
|
21624
|
+
l.d.c = f.d;
|
|
21625
|
+
} else {
|
|
21626
|
+
if (0 < x(k.b.a, h.b.a, k.a)) {
|
|
21627
|
+
f = !1;
|
|
21628
|
+
break a;
|
|
21629
|
+
}
|
|
21630
|
+
f.b = g.b = !0;
|
|
21631
|
+
l = K(k);
|
|
21632
|
+
E(h.e, k.b);
|
|
21633
|
+
l.b.d.c = f.d;
|
|
21634
|
+
}
|
|
21635
|
+
f = !0;
|
|
21636
|
+
}
|
|
21637
|
+
f && (c.c ? (Q(c), I(e), c = S(b), e = c.a) : b.c && (Q(b), I(d), b = R(c), d = b.a));
|
|
21638
|
+
if (d.a !== e.a) {
|
|
21639
|
+
if (d.b.a === e.b.a || b.c || c.c || d.b.a !== a.a && e.b.a !== a.a) qa(a, b);
|
|
21640
|
+
else if (wa(a, b)) break;
|
|
21641
|
+
}
|
|
21642
|
+
d.a === e.a && d.b.a === e.b.a && (P(e, d), Q(b), I(d), b = R(c));
|
|
21643
|
+
}
|
|
21644
|
+
}
|
|
21645
|
+
function ya(a, b) {
|
|
21646
|
+
a.a = b;
|
|
21647
|
+
for(var c = b.c; null === c.i;)if (c = c.c, c === b.c) {
|
|
21648
|
+
var c = a, d = b, e = new ma;
|
|
21649
|
+
e.a = d.c.b;
|
|
21650
|
+
var f = c.f, g = f.a;
|
|
21651
|
+
do g = g.a;
|
|
21652
|
+
while (null !== g.b && !f.c(f.b, e, g.b));
|
|
21653
|
+
var f = g.b, h = S(f), e = f.a, g = h.a;
|
|
21654
|
+
if (0 === x(e.b.a, d, e.a)) e = f.a, t(e.a, d) || t(e.b.a, d) || (K(e.b), f.c && (I(e.c), f.c = !1), E(d.c, e), ya(c, d));
|
|
21655
|
+
else {
|
|
21656
|
+
var k = u(g.b.a, e.b.a) ? f : h, h = void 0;
|
|
21657
|
+
f.d || k.c ? (k === f ? h = L(d.c.b, e.e) : h = L(g.b.c.b, d.c).b, k.c ? ja(k, h) : (e = c, f = la(c, f, h), f.f = R(f).f + f.a.f, f.d = oa(e, f.f)), ya(c, d)) : U(c, f, d.c, d.c, null, !0);
|
|
21658
|
+
}
|
|
21659
|
+
return;
|
|
21660
|
+
}
|
|
21661
|
+
c = ka(c.i);
|
|
21662
|
+
e = S(c);
|
|
21663
|
+
f = e.a;
|
|
21664
|
+
e = T(a, e, null);
|
|
21665
|
+
if (e.c === f) {
|
|
21666
|
+
var f = e, e = f.c, g = S(c), h = c.a, k = g.a, l = !1;
|
|
21667
|
+
h.b.a !== k.b.a && wa(a, c);
|
|
21668
|
+
t(h.a, a.a) && (E(J(e), h), c = ka(c), e = S(c).a, T(a, S(c), g), l = !0);
|
|
21669
|
+
t(k.a, a.a) && (E(f, J(k)), f = T(a, g, null), l = !0);
|
|
21670
|
+
l ? U(a, c, f.c, e, e, !0) : (u(k.a, h.a) ? d = J(k) : d = h, d = L(f.c.b, d), U(a, c, d, d.c, d.c, !1), d.b.i.c = !0, ra(a, c));
|
|
21671
|
+
} else U(a, c, e.c, f, f, !0);
|
|
21672
|
+
}
|
|
21673
|
+
function za(a, b) {
|
|
21674
|
+
var c = new ma, d = ea(a.b);
|
|
21675
|
+
d.a.b = O;
|
|
21676
|
+
d.a.a = b;
|
|
21677
|
+
d.b.a.b = -O;
|
|
21678
|
+
d.b.a.a = b;
|
|
21679
|
+
a.a = d.b.a;
|
|
21680
|
+
c.a = d;
|
|
21681
|
+
c.f = 0;
|
|
21682
|
+
c.d = !1;
|
|
21683
|
+
c.c = !1;
|
|
21684
|
+
c.h = !0;
|
|
21685
|
+
c.b = !1;
|
|
21686
|
+
d = a.f;
|
|
21687
|
+
d = na(d, d.a, c);
|
|
21688
|
+
c.e = d;
|
|
21689
|
+
}
|
|
21690
|
+
function Aa(a) {
|
|
21691
|
+
this.a = new Ba;
|
|
21692
|
+
this.b = a;
|
|
21693
|
+
this.c = ia;
|
|
21694
|
+
}
|
|
21695
|
+
function na(a, b, c) {
|
|
21696
|
+
do b = b.c;
|
|
21697
|
+
while (null !== b.b && !a.c(a.b, b.b, c));
|
|
21698
|
+
a = new Ba(c, b.a, b);
|
|
21699
|
+
b.a.c = a;
|
|
21700
|
+
return b.a = a;
|
|
21701
|
+
}
|
|
21702
|
+
function Ba(a, b, c) {
|
|
21703
|
+
this.b = a || null;
|
|
21704
|
+
this.a = b || this;
|
|
21705
|
+
this.c = c || this;
|
|
21706
|
+
}
|
|
21707
|
+
function X() {
|
|
21708
|
+
this.d = Y;
|
|
21709
|
+
this.p = this.b = this.q = null;
|
|
21710
|
+
this.j = [
|
|
21711
|
+
0,
|
|
21712
|
+
0,
|
|
21713
|
+
0
|
|
21714
|
+
];
|
|
21715
|
+
this.s = 100130;
|
|
21716
|
+
this.n = !1;
|
|
21717
|
+
this.o = this.a = this.e = this.f = null;
|
|
21718
|
+
this.m = !1;
|
|
21719
|
+
this.c = this.r = this.i = this.k = this.l = this.h = null;
|
|
21720
|
+
}
|
|
21721
|
+
var Y = 0;
|
|
21722
|
+
n = X.prototype;
|
|
21723
|
+
n.x = function() {
|
|
21724
|
+
Z(this, Y);
|
|
21725
|
+
};
|
|
21726
|
+
n.B = function(a, b) {
|
|
21727
|
+
switch(a){
|
|
21728
|
+
case 100142:
|
|
21729
|
+
return;
|
|
21730
|
+
case 100140:
|
|
21731
|
+
switch(b){
|
|
21732
|
+
case 100130:
|
|
21733
|
+
case 100131:
|
|
21734
|
+
case 100132:
|
|
21735
|
+
case 100133:
|
|
21736
|
+
case 100134:
|
|
21737
|
+
this.s = b;
|
|
21738
|
+
return;
|
|
21739
|
+
}
|
|
21740
|
+
break;
|
|
21741
|
+
case 100141:
|
|
21742
|
+
this.m = !!b;
|
|
21743
|
+
return;
|
|
21744
|
+
default:
|
|
21745
|
+
V(this, 100900);
|
|
21746
|
+
return;
|
|
21747
|
+
}
|
|
21748
|
+
V(this, 100901);
|
|
21749
|
+
};
|
|
21750
|
+
n.y = function(a) {
|
|
21751
|
+
switch(a){
|
|
21752
|
+
case 100142:
|
|
21753
|
+
return 0;
|
|
21754
|
+
case 100140:
|
|
21755
|
+
return this.s;
|
|
21756
|
+
case 100141:
|
|
21757
|
+
return this.m;
|
|
21758
|
+
default:
|
|
21759
|
+
V(this, 100900);
|
|
21760
|
+
}
|
|
21761
|
+
return !1;
|
|
21762
|
+
};
|
|
21763
|
+
n.A = function(a, b, c) {
|
|
21764
|
+
this.j[0] = a;
|
|
21765
|
+
this.j[1] = b;
|
|
21766
|
+
this.j[2] = c;
|
|
21767
|
+
};
|
|
21768
|
+
n.z = function(a, b) {
|
|
21769
|
+
var c = b ? b : null;
|
|
21770
|
+
switch(a){
|
|
21771
|
+
case 100100:
|
|
21772
|
+
case 100106:
|
|
21773
|
+
this.h = c;
|
|
21774
|
+
break;
|
|
21775
|
+
case 100104:
|
|
21776
|
+
case 100110:
|
|
21777
|
+
this.l = c;
|
|
21778
|
+
break;
|
|
21779
|
+
case 100101:
|
|
21780
|
+
case 100107:
|
|
21781
|
+
this.k = c;
|
|
21782
|
+
break;
|
|
21783
|
+
case 100102:
|
|
21784
|
+
case 100108:
|
|
21785
|
+
this.i = c;
|
|
21786
|
+
break;
|
|
21787
|
+
case 100103:
|
|
21788
|
+
case 100109:
|
|
21789
|
+
this.p = c;
|
|
21790
|
+
break;
|
|
21791
|
+
case 100105:
|
|
21792
|
+
case 100111:
|
|
21793
|
+
this.o = c;
|
|
21794
|
+
break;
|
|
21795
|
+
case 100112:
|
|
21796
|
+
this.r = c;
|
|
21797
|
+
break;
|
|
21798
|
+
default:
|
|
21799
|
+
V(this, 100900);
|
|
21800
|
+
}
|
|
21801
|
+
};
|
|
21802
|
+
n.C = function(a, b) {
|
|
21803
|
+
var c = !1, d = [
|
|
21804
|
+
0,
|
|
21805
|
+
0,
|
|
21806
|
+
0
|
|
21807
|
+
];
|
|
21808
|
+
Z(this, 2);
|
|
21809
|
+
for(var e = 0; 3 > e; ++e){
|
|
21810
|
+
var f = a[e];
|
|
21811
|
+
-1E150 > f && (f = -1E150, c = !0);
|
|
21812
|
+
1E150 < f && (f = 1E150, c = !0);
|
|
21813
|
+
d[e] = f;
|
|
21814
|
+
}
|
|
21815
|
+
c && V(this, 100155);
|
|
21816
|
+
c = this.q;
|
|
21817
|
+
null === c ? (c = ea(this.b), E(c, c.b)) : (K(c), c = c.e);
|
|
21818
|
+
c.a.d = b;
|
|
21819
|
+
c.a.g[0] = d[0];
|
|
21820
|
+
c.a.g[1] = d[1];
|
|
21821
|
+
c.a.g[2] = d[2];
|
|
21822
|
+
c.f = 1;
|
|
21823
|
+
c.b.f = -1;
|
|
21824
|
+
this.q = c;
|
|
21825
|
+
};
|
|
21826
|
+
n.u = function(a) {
|
|
21827
|
+
Z(this, Y);
|
|
21828
|
+
this.d = 1;
|
|
21829
|
+
this.b = new Ca;
|
|
21830
|
+
this.c = a;
|
|
21831
|
+
};
|
|
21832
|
+
n.t = function() {
|
|
21833
|
+
Z(this, 1);
|
|
21834
|
+
this.d = 2;
|
|
21835
|
+
this.q = null;
|
|
21836
|
+
};
|
|
21837
|
+
n.v = function() {
|
|
21838
|
+
Z(this, 2);
|
|
21839
|
+
this.d = 1;
|
|
21840
|
+
};
|
|
21841
|
+
n.w = function() {
|
|
21842
|
+
Z(this, 1);
|
|
21843
|
+
this.d = Y;
|
|
21844
|
+
var a = this.j[0], b = this.j[1], c = this.j[2], d = !1, e = [
|
|
21845
|
+
a,
|
|
21846
|
+
b,
|
|
21847
|
+
c
|
|
21848
|
+
];
|
|
21849
|
+
if (0 === a && 0 === b && 0 === c) {
|
|
21850
|
+
for(var b = [
|
|
21851
|
+
-2 * 1E150,
|
|
21852
|
+
-2 * 1E150,
|
|
21853
|
+
-2 * 1E150
|
|
21854
|
+
], f = [
|
|
21855
|
+
2 * 1E150,
|
|
21856
|
+
2 * 1E150,
|
|
21857
|
+
2 * 1E150
|
|
21858
|
+
], c = [], g = [], d = this.b.c, a = d.e; a !== d; a = a.e)for(var h = 0; 3 > h; ++h){
|
|
21859
|
+
var k = a.g[h];
|
|
21860
|
+
k < f[h] && (f[h] = k, g[h] = a);
|
|
21861
|
+
k > b[h] && (b[h] = k, c[h] = a);
|
|
21862
|
+
}
|
|
21863
|
+
a = 0;
|
|
21864
|
+
b[1] - f[1] > b[0] - f[0] && (a = 1);
|
|
21865
|
+
b[2] - f[2] > b[a] - f[a] && (a = 2);
|
|
21866
|
+
if (f[a] >= b[a]) e[0] = 0, e[1] = 0, e[2] = 1;
|
|
21867
|
+
else {
|
|
21868
|
+
b = 0;
|
|
21869
|
+
f = g[a];
|
|
21870
|
+
c = c[a];
|
|
21871
|
+
g = [
|
|
21872
|
+
0,
|
|
21873
|
+
0,
|
|
21874
|
+
0
|
|
21875
|
+
];
|
|
21876
|
+
f = [
|
|
21877
|
+
f.g[0] - c.g[0],
|
|
21878
|
+
f.g[1] - c.g[1],
|
|
21879
|
+
f.g[2] - c.g[2]
|
|
21880
|
+
];
|
|
21881
|
+
h = [
|
|
21882
|
+
0,
|
|
21883
|
+
0,
|
|
21884
|
+
0
|
|
21885
|
+
];
|
|
21886
|
+
for(a = d.e; a !== d; a = a.e)h[0] = a.g[0] - c.g[0], h[1] = a.g[1] - c.g[1], h[2] = a.g[2] - c.g[2], g[0] = f[1] * h[2] - f[2] * h[1], g[1] = f[2] * h[0] - f[0] * h[2], g[2] = f[0] * h[1] - f[1] * h[0], k = g[0] * g[0] + g[1] * g[1] + g[2] * g[2], k > b && (b = k, e[0] = g[0], e[1] = g[1], e[2] = g[2]);
|
|
21887
|
+
0 >= b && (e[0] = e[1] = e[2] = 0, e[ha(f)] = 1);
|
|
21888
|
+
}
|
|
21889
|
+
d = !0;
|
|
21890
|
+
}
|
|
21891
|
+
g = ha(e);
|
|
21892
|
+
a = this.b.c;
|
|
21893
|
+
b = (g + 1) % 3;
|
|
21894
|
+
c = (g + 2) % 3;
|
|
21895
|
+
g = 0 < e[g] ? 1 : -1;
|
|
21896
|
+
for(e = a.e; e !== a; e = e.e)e.b = e.g[b], e.a = g * e.g[c];
|
|
21897
|
+
if (d) {
|
|
21898
|
+
e = 0;
|
|
21899
|
+
d = this.b.a;
|
|
21900
|
+
for(a = d.b; a !== d; a = a.b)if (b = a.a, !(0 >= b.f)) {
|
|
21901
|
+
do e += (b.a.b - b.b.a.b) * (b.a.a + b.b.a.a), b = b.e;
|
|
21902
|
+
while (b !== a.a);
|
|
21903
|
+
}
|
|
21904
|
+
if (0 > e) for(e = this.b.c, d = e.e; d !== e; d = d.e)d.a = -d.a;
|
|
21905
|
+
}
|
|
21906
|
+
this.n = !1;
|
|
21907
|
+
e = this.b.b;
|
|
21908
|
+
for(a = e.h; a !== e; a = d)if (d = a.h, b = a.e, t(a.a, a.b.a) && a.e.e !== a && (ta(this, b, a), I(a), a = b, b = a.e), b.e === a) {
|
|
21909
|
+
if (b !== a) {
|
|
21910
|
+
if (b === d || b === d.b) d = d.h;
|
|
21911
|
+
I(b);
|
|
21912
|
+
}
|
|
21913
|
+
if (a === d || a === d.b) d = d.h;
|
|
21914
|
+
I(a);
|
|
21915
|
+
}
|
|
21916
|
+
this.e = e = new Da;
|
|
21917
|
+
d = this.b.c;
|
|
21918
|
+
for(a = d.e; a !== d; a = a.e)a.h = xa(e, a);
|
|
21919
|
+
Ea(e);
|
|
21920
|
+
this.f = new Aa(this);
|
|
21921
|
+
za(this, -O);
|
|
21922
|
+
for(za(this, O); null !== (e = Fa(this.e));){
|
|
21923
|
+
for(;;){
|
|
21924
|
+
a: if (a = this.e, 0 === a.a) d = Ga(a.b);
|
|
21925
|
+
else if (d = a.c[a.d[a.a - 1]], 0 !== a.b.a && (a = Ga(a.b), u(a, d))) {
|
|
21926
|
+
d = a;
|
|
21927
|
+
break a;
|
|
21928
|
+
}
|
|
21929
|
+
if (null === d || !t(d, e)) break;
|
|
21930
|
+
d = Fa(this.e);
|
|
21931
|
+
ta(this, e.c, d.c);
|
|
21932
|
+
}
|
|
21933
|
+
ya(this, e);
|
|
21934
|
+
}
|
|
21935
|
+
this.a = this.f.a.a.b.a.a;
|
|
21936
|
+
for(e = 0; null !== (d = this.f.a.a.b);)d.h || ++e, Q(d);
|
|
21937
|
+
this.f = null;
|
|
21938
|
+
e = this.e;
|
|
21939
|
+
e.b = null;
|
|
21940
|
+
e.d = null;
|
|
21941
|
+
this.e = e.c = null;
|
|
21942
|
+
e = this.b;
|
|
21943
|
+
for(a = e.a.b; a !== e.a; a = d)d = a.b, a = a.a, a.e.e === a && (P(a.c, a), I(a));
|
|
21944
|
+
if (!this.n) {
|
|
21945
|
+
e = this.b;
|
|
21946
|
+
if (this.m) for(a = e.b.h; a !== e.b; a = d)d = a.h, a.b.d.c !== a.d.c ? a.f = a.d.c ? 1 : -1 : I(a);
|
|
21947
|
+
else for(a = e.a.b; a !== e.a; a = d)if (d = a.b, a.c) {
|
|
21948
|
+
for(a = a.a; u(a.b.a, a.a); a = a.c.b);
|
|
21949
|
+
for(; u(a.a, a.b.a); a = a.e);
|
|
21950
|
+
b = a.c.b;
|
|
21951
|
+
for(c = void 0; a.e !== b;)if (u(a.b.a, b.a)) {
|
|
21952
|
+
for(; b.e !== a && (ca(b.e) || 0 >= x(b.a, b.b.a, b.e.b.a));)c = L(b.e, b), b = c.b;
|
|
21953
|
+
b = b.c.b;
|
|
21954
|
+
} else {
|
|
21955
|
+
for(; b.e !== a && (da(a.c.b) || 0 <= x(a.b.a, a.a, a.c.b.a));)c = L(a, a.c.b), a = c.b;
|
|
21956
|
+
a = a.e;
|
|
21957
|
+
}
|
|
21958
|
+
for(; b.e.e !== a;)c = L(b.e, b), b = c.b;
|
|
21959
|
+
}
|
|
21960
|
+
if (this.h || this.i || this.k || this.l) if (this.m) for(e = this.b, d = e.a.b; d !== e.a; d = d.b){
|
|
21961
|
+
if (d.c) {
|
|
21962
|
+
this.h && this.h(2, this.c);
|
|
21963
|
+
a = d.a;
|
|
21964
|
+
do this.k && this.k(a.a.d, this.c), a = a.e;
|
|
21965
|
+
while (a !== d.a);
|
|
21966
|
+
this.i && this.i(this.c);
|
|
21967
|
+
}
|
|
21968
|
+
}
|
|
21969
|
+
else {
|
|
21970
|
+
e = this.b;
|
|
21971
|
+
d = !!this.l;
|
|
21972
|
+
a = !1;
|
|
21973
|
+
b = -1;
|
|
21974
|
+
for(c = e.a.d; c !== e.a; c = c.d)if (c.c) {
|
|
21975
|
+
a || (this.h && this.h(4, this.c), a = !0);
|
|
21976
|
+
g = c.a;
|
|
21977
|
+
do d && (f = g.b.d.c ? 0 : 1, b !== f && (b = f, this.l && this.l(!!b, this.c))), this.k && this.k(g.a.d, this.c), g = g.e;
|
|
21978
|
+
while (g !== c.a);
|
|
21979
|
+
}
|
|
21980
|
+
a && this.i && this.i(this.c);
|
|
21981
|
+
}
|
|
21982
|
+
if (this.r) {
|
|
21983
|
+
e = this.b;
|
|
21984
|
+
for(a = e.a.b; a !== e.a; a = d)if (d = a.b, !a.c) {
|
|
21985
|
+
b = a.a;
|
|
21986
|
+
c = b.e;
|
|
21987
|
+
g = void 0;
|
|
21988
|
+
do g = c, c = g.e, g.d = null, null === g.b.d && (g.c === g ? F(g.a, null) : (g.a.c = g.c, H(g, J(g))), f = g.b, f.c === f ? F(f.a, null) : (f.a.c = f.c, H(f, J(f))), fa(g));
|
|
21989
|
+
while (g !== b);
|
|
21990
|
+
b = a.d;
|
|
21991
|
+
a = a.b;
|
|
21992
|
+
a.d = b;
|
|
21993
|
+
b.b = a;
|
|
21994
|
+
}
|
|
21995
|
+
this.r(this.b);
|
|
21996
|
+
this.c = this.b = null;
|
|
21997
|
+
return;
|
|
21998
|
+
}
|
|
21999
|
+
}
|
|
22000
|
+
this.b = this.c = null;
|
|
22001
|
+
};
|
|
22002
|
+
function Z(a, b) {
|
|
22003
|
+
if (a.d !== b) for(; a.d !== b;)if (a.d < b) switch(a.d){
|
|
22004
|
+
case Y:
|
|
22005
|
+
V(a, 100151);
|
|
22006
|
+
a.u(null);
|
|
22007
|
+
break;
|
|
22008
|
+
case 1:
|
|
22009
|
+
V(a, 100152), a.t();
|
|
22010
|
+
}
|
|
22011
|
+
else switch(a.d){
|
|
22012
|
+
case 2:
|
|
22013
|
+
V(a, 100154);
|
|
22014
|
+
a.v();
|
|
22015
|
+
break;
|
|
22016
|
+
case 1:
|
|
22017
|
+
V(a, 100153), a.w();
|
|
22018
|
+
}
|
|
22019
|
+
}
|
|
22020
|
+
function V(a, b) {
|
|
22021
|
+
a.p && a.p(b, a.c);
|
|
22022
|
+
}
|
|
22023
|
+
function ga(a, b) {
|
|
22024
|
+
this.b = a || this;
|
|
22025
|
+
this.d = b || this;
|
|
22026
|
+
this.a = null;
|
|
22027
|
+
this.c = !1;
|
|
22028
|
+
}
|
|
22029
|
+
function M() {
|
|
22030
|
+
this.h = this;
|
|
22031
|
+
this.i = this.d = this.a = this.e = this.c = this.b = null;
|
|
22032
|
+
this.f = 0;
|
|
22033
|
+
}
|
|
22034
|
+
function J(a) {
|
|
22035
|
+
return a.b.e;
|
|
22036
|
+
}
|
|
22037
|
+
function Ca() {
|
|
22038
|
+
this.c = new N;
|
|
22039
|
+
this.a = new ga;
|
|
22040
|
+
this.b = new M;
|
|
22041
|
+
this.d = new M;
|
|
22042
|
+
this.b.b = this.d;
|
|
22043
|
+
this.d.b = this.b;
|
|
22044
|
+
}
|
|
22045
|
+
function N(a, b) {
|
|
22046
|
+
this.e = a || this;
|
|
22047
|
+
this.f = b || this;
|
|
22048
|
+
this.d = this.c = null;
|
|
22049
|
+
this.g = [
|
|
22050
|
+
0,
|
|
22051
|
+
0,
|
|
22052
|
+
0
|
|
22053
|
+
];
|
|
22054
|
+
this.h = this.a = this.b = 0;
|
|
22055
|
+
}
|
|
22056
|
+
function Da() {
|
|
22057
|
+
this.c = [];
|
|
22058
|
+
this.d = null;
|
|
22059
|
+
this.a = 0;
|
|
22060
|
+
this.e = !1;
|
|
22061
|
+
this.b = new Ha;
|
|
22062
|
+
}
|
|
22063
|
+
function Ea(a) {
|
|
22064
|
+
a.d = [];
|
|
22065
|
+
for(var b = 0; b < a.a; b++)a.d[b] = b;
|
|
22066
|
+
a.d.sort(function(a) {
|
|
22067
|
+
return function(b, e) {
|
|
22068
|
+
return u(a[b], a[e]) ? 1 : -1;
|
|
22069
|
+
};
|
|
22070
|
+
}(a.c));
|
|
22071
|
+
a.e = !0;
|
|
22072
|
+
Ia(a.b);
|
|
22073
|
+
}
|
|
22074
|
+
function xa(a, b) {
|
|
22075
|
+
if (a.e) {
|
|
22076
|
+
var c = a.b, d = ++c.a;
|
|
22077
|
+
2 * d > c.f && (c.f *= 2, c.c = Ja(c.c, c.f + 1));
|
|
22078
|
+
var e;
|
|
22079
|
+
0 === c.b ? e = d : (e = c.b, c.b = c.c[c.b]);
|
|
22080
|
+
c.e[e] = b;
|
|
22081
|
+
c.c[e] = d;
|
|
22082
|
+
c.d[d] = e;
|
|
22083
|
+
c.h && va(c, d);
|
|
22084
|
+
return e;
|
|
22085
|
+
}
|
|
22086
|
+
c = a.a++;
|
|
22087
|
+
a.c[c] = b;
|
|
22088
|
+
return -(c + 1);
|
|
22089
|
+
}
|
|
22090
|
+
function Fa(a) {
|
|
22091
|
+
if (0 === a.a) return Ka(a.b);
|
|
22092
|
+
var b = a.c[a.d[a.a - 1]];
|
|
22093
|
+
if (0 !== a.b.a && u(Ga(a.b), b)) return Ka(a.b);
|
|
22094
|
+
do --a.a;
|
|
22095
|
+
while (0 < a.a && null === a.c[a.d[a.a - 1]]);
|
|
22096
|
+
return b;
|
|
22097
|
+
}
|
|
22098
|
+
function Ha() {
|
|
22099
|
+
this.d = Ja([
|
|
22100
|
+
0
|
|
22101
|
+
], 33);
|
|
22102
|
+
this.e = [
|
|
22103
|
+
null,
|
|
22104
|
+
null
|
|
22105
|
+
];
|
|
22106
|
+
this.c = [
|
|
22107
|
+
0,
|
|
22108
|
+
0
|
|
22109
|
+
];
|
|
22110
|
+
this.a = 0;
|
|
22111
|
+
this.f = 32;
|
|
22112
|
+
this.b = 0;
|
|
22113
|
+
this.h = !1;
|
|
22114
|
+
this.d[1] = 1;
|
|
22115
|
+
}
|
|
22116
|
+
function Ja(a, b) {
|
|
22117
|
+
for(var c = Array(b), d = 0; d < a.length; d++)c[d] = a[d];
|
|
22118
|
+
for(; d < b; d++)c[d] = 0;
|
|
22119
|
+
return c;
|
|
22120
|
+
}
|
|
22121
|
+
function Ia(a) {
|
|
22122
|
+
for(var b = a.a; 1 <= b; --b)W(a, b);
|
|
22123
|
+
a.h = !0;
|
|
22124
|
+
}
|
|
22125
|
+
function Ga(a) {
|
|
22126
|
+
return a.e[a.d[1]];
|
|
22127
|
+
}
|
|
22128
|
+
function Ka(a) {
|
|
22129
|
+
var b = a.d, c = a.e, d = a.c, e = b[1], f = c[e];
|
|
22130
|
+
0 < a.a && (b[1] = b[a.a], d[b[1]] = 1, c[e] = null, d[e] = a.b, a.b = e, 0 < --a.a && W(a, 1));
|
|
22131
|
+
return f;
|
|
22132
|
+
}
|
|
22133
|
+
function W(a, b) {
|
|
22134
|
+
for(var c = a.d, d = a.e, e = a.c, f = b, g = c[f];;){
|
|
22135
|
+
var h = f << 1;
|
|
22136
|
+
h < a.a && u(d[c[h + 1]], d[c[h]]) && (h += 1);
|
|
22137
|
+
var k = c[h];
|
|
22138
|
+
if (h > a.a || u(d[g], d[k])) {
|
|
22139
|
+
c[f] = g;
|
|
22140
|
+
e[g] = f;
|
|
22141
|
+
break;
|
|
22142
|
+
}
|
|
22143
|
+
c[f] = k;
|
|
22144
|
+
e[k] = f;
|
|
22145
|
+
f = h;
|
|
22146
|
+
}
|
|
22147
|
+
}
|
|
22148
|
+
function va(a, b) {
|
|
22149
|
+
for(var c = a.d, d = a.e, e = a.c, f = b, g = c[f];;){
|
|
22150
|
+
var h = f >> 1, k = c[h];
|
|
22151
|
+
if (0 === h || u(d[k], d[g])) {
|
|
22152
|
+
c[f] = g;
|
|
22153
|
+
e[g] = f;
|
|
22154
|
+
break;
|
|
22155
|
+
}
|
|
22156
|
+
c[f] = k;
|
|
22157
|
+
e[k] = f;
|
|
22158
|
+
f = h;
|
|
22159
|
+
}
|
|
22160
|
+
}
|
|
22161
|
+
function ma() {
|
|
22162
|
+
this.e = this.a = null;
|
|
22163
|
+
this.f = 0;
|
|
22164
|
+
this.c = this.b = this.h = this.d = !1;
|
|
22165
|
+
}
|
|
22166
|
+
function S(a) {
|
|
22167
|
+
return a.e.c.b;
|
|
22168
|
+
}
|
|
22169
|
+
function R(a) {
|
|
22170
|
+
return a.e.a.b;
|
|
22171
|
+
}
|
|
22172
|
+
commonjsGlobal.libtess = {
|
|
22173
|
+
GluTesselator: X,
|
|
22174
|
+
windingRule: {
|
|
22175
|
+
GLU_TESS_WINDING_ODD: 100130,
|
|
22176
|
+
GLU_TESS_WINDING_NONZERO: 100131,
|
|
22177
|
+
GLU_TESS_WINDING_POSITIVE: 100132,
|
|
22178
|
+
GLU_TESS_WINDING_NEGATIVE: 100133,
|
|
22179
|
+
GLU_TESS_WINDING_ABS_GEQ_TWO: 100134
|
|
22180
|
+
},
|
|
22181
|
+
primitiveType: {
|
|
22182
|
+
GL_LINE_LOOP: 2,
|
|
22183
|
+
GL_TRIANGLES: 4,
|
|
22184
|
+
GL_TRIANGLE_STRIP: 5,
|
|
22185
|
+
GL_TRIANGLE_FAN: 6
|
|
22186
|
+
},
|
|
22187
|
+
errorType: {
|
|
22188
|
+
GLU_TESS_MISSING_BEGIN_POLYGON: 100151,
|
|
22189
|
+
GLU_TESS_MISSING_END_POLYGON: 100153,
|
|
22190
|
+
GLU_TESS_MISSING_BEGIN_CONTOUR: 100152,
|
|
22191
|
+
GLU_TESS_MISSING_END_CONTOUR: 100154,
|
|
22192
|
+
GLU_TESS_COORD_TOO_LARGE: 100155,
|
|
22193
|
+
GLU_TESS_NEED_COMBINE_CALLBACK: 100156
|
|
22194
|
+
},
|
|
22195
|
+
gluEnum: {
|
|
22196
|
+
GLU_TESS_MESH: 100112,
|
|
22197
|
+
GLU_TESS_TOLERANCE: 100142,
|
|
22198
|
+
GLU_TESS_WINDING_RULE: 100140,
|
|
22199
|
+
GLU_TESS_BOUNDARY_ONLY: 100141,
|
|
22200
|
+
GLU_INVALID_ENUM: 100900,
|
|
22201
|
+
GLU_INVALID_VALUE: 100901,
|
|
22202
|
+
GLU_TESS_BEGIN: 100100,
|
|
22203
|
+
GLU_TESS_VERTEX: 100101,
|
|
22204
|
+
GLU_TESS_END: 100102,
|
|
22205
|
+
GLU_TESS_ERROR: 100103,
|
|
22206
|
+
GLU_TESS_EDGE_FLAG: 100104,
|
|
22207
|
+
GLU_TESS_COMBINE: 100105,
|
|
22208
|
+
GLU_TESS_BEGIN_DATA: 100106,
|
|
22209
|
+
GLU_TESS_VERTEX_DATA: 100107,
|
|
22210
|
+
GLU_TESS_END_DATA: 100108,
|
|
22211
|
+
GLU_TESS_ERROR_DATA: 100109,
|
|
22212
|
+
GLU_TESS_EDGE_FLAG_DATA: 100110,
|
|
22213
|
+
GLU_TESS_COMBINE_DATA: 100111
|
|
22214
|
+
}
|
|
22215
|
+
};
|
|
22216
|
+
X.prototype.gluDeleteTess = X.prototype.x;
|
|
22217
|
+
X.prototype.gluTessProperty = X.prototype.B;
|
|
22218
|
+
X.prototype.gluGetTessProperty = X.prototype.y;
|
|
22219
|
+
X.prototype.gluTessNormal = X.prototype.A;
|
|
22220
|
+
X.prototype.gluTessCallback = X.prototype.z;
|
|
22221
|
+
X.prototype.gluTessVertex = X.prototype.C;
|
|
22222
|
+
X.prototype.gluTessBeginPolygon = X.prototype.u;
|
|
22223
|
+
X.prototype.gluTessBeginContour = X.prototype.t;
|
|
22224
|
+
X.prototype.gluTessEndContour = X.prototype.v;
|
|
22225
|
+
X.prototype.gluTessEndPolygon = X.prototype.w;
|
|
22226
|
+
{
|
|
22227
|
+
module.exports = commonjsGlobal.libtess;
|
|
22228
|
+
}
|
|
22229
|
+
}(libtess_min));
|
|
22230
|
+
|
|
22231
|
+
var tessy = function initTesselator() {
|
|
22232
|
+
// function called for each vertex of tesselator output
|
|
22233
|
+
function vertexCallback(data, polyVertArray) {
|
|
22234
|
+
polyVertArray[polyVertArray.length] = data[0];
|
|
22235
|
+
polyVertArray[polyVertArray.length] = data[1];
|
|
22236
|
+
}
|
|
22237
|
+
function begincallback(type) {
|
|
22238
|
+
if (type !== libtess_min.exports.primitiveType.GL_TRIANGLES) {
|
|
22239
|
+
console.info("expected TRIANGLES but got type: " + type);
|
|
22240
|
+
}
|
|
22241
|
+
}
|
|
22242
|
+
function errorcallback(errno) {
|
|
22243
|
+
console.error("error callback, error number: " + errno);
|
|
22244
|
+
}
|
|
22245
|
+
// callback for when segments intersect and must be split
|
|
22246
|
+
function combinecallback(coords, data, weight) {
|
|
22247
|
+
// console.log('combine callback');
|
|
22248
|
+
return [
|
|
22249
|
+
coords[0],
|
|
22250
|
+
coords[1],
|
|
22251
|
+
coords[2]
|
|
22252
|
+
];
|
|
22253
|
+
}
|
|
22254
|
+
function edgeCallback(flag) {
|
|
22255
|
+
// don't really care about the flag, but need no-strip/no-fan behavior
|
|
22256
|
+
// console.log('edge flag: ' + flag);
|
|
22257
|
+
}
|
|
22258
|
+
var tessy = new libtess_min.exports.GluTesselator();
|
|
22259
|
+
// tessy.gluTessProperty(libtess.gluEnum.GLU_TESS_WINDING_RULE, libtess.windingRule.GLU_TESS_WINDING_POSITIVE);
|
|
22260
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_VERTEX_DATA, vertexCallback);
|
|
22261
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_BEGIN, begincallback);
|
|
22262
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_ERROR, errorcallback);
|
|
22263
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_COMBINE, combinecallback);
|
|
22264
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_EDGE_FLAG, edgeCallback);
|
|
22265
|
+
return tessy;
|
|
22266
|
+
}();
|
|
22267
|
+
function triangulate(contours) {
|
|
22268
|
+
// libtess will take 3d verts and flatten to a plane for tesselation
|
|
22269
|
+
// since only doing 2d tesselation here, provide z=1 normal to skip
|
|
22270
|
+
// iterating over verts only to get the same answer.
|
|
22271
|
+
// comment out to test normal-generation code
|
|
22272
|
+
tessy.gluTessNormal(0, 0, 1);
|
|
22273
|
+
var triangleVerts = [];
|
|
22274
|
+
tessy.gluTessBeginPolygon(triangleVerts);
|
|
22275
|
+
for(var i = 0; i < contours.length; i++){
|
|
22276
|
+
tessy.gluTessBeginContour();
|
|
22277
|
+
var contour = contours[i];
|
|
22278
|
+
for(var j = 0; j < contour.length; j += 2){
|
|
22279
|
+
var coords = [
|
|
22280
|
+
contour[j],
|
|
22281
|
+
contour[j + 1],
|
|
22282
|
+
0
|
|
22283
|
+
];
|
|
22284
|
+
tessy.gluTessVertex(coords, coords);
|
|
22285
|
+
}
|
|
22286
|
+
tessy.gluTessEndContour();
|
|
22287
|
+
}
|
|
22288
|
+
// finish polygon
|
|
22289
|
+
tessy.gluTessEndPolygon();
|
|
22290
|
+
return triangleVerts;
|
|
22291
|
+
}
|
|
22292
|
+
|
|
22293
|
+
var ShapeComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
22294
|
+
_inherits(ShapeComponent, RendererComponent);
|
|
22295
|
+
function ShapeComponent(engine) {
|
|
22296
|
+
var _this;
|
|
22297
|
+
_this = RendererComponent.call(this, engine) || this;
|
|
22298
|
+
_this.path = new GraphicsPath();
|
|
22299
|
+
_this.curveValues = [];
|
|
22300
|
+
_this.dirty = false;
|
|
22301
|
+
_this.vert = "\nprecision highp float;\n\nattribute vec3 aPos;//x y\n\nvarying vec4 vColor;\n\nuniform vec4 _Color;\nuniform mat4 effects_MatrixVP;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_ObjectToWorld;\n\nvoid main() {\n vColor = _Color;\n vec4 pos = vec4(aPos.xyz, 1.0);\n gl_Position = effects_MatrixVP * effects_ObjectToWorld * pos;\n}\n";
|
|
22302
|
+
_this.frag = "\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n vec4 color = vec4(1.0,1.0,1.0,1.0);\n gl_FragColor = color;\n}\n";
|
|
22303
|
+
if (!_this.geometry) {
|
|
22304
|
+
_this.geometry = Geometry.create(engine, {
|
|
22305
|
+
attributes: {
|
|
22306
|
+
aPos: {
|
|
22307
|
+
type: glContext.FLOAT,
|
|
22308
|
+
size: 3,
|
|
22309
|
+
data: new Float32Array([
|
|
22310
|
+
-0.5,
|
|
22311
|
+
0.5,
|
|
22312
|
+
0,
|
|
22313
|
+
-0.5,
|
|
22314
|
+
-0.5,
|
|
22315
|
+
0,
|
|
22316
|
+
0.5,
|
|
22317
|
+
0.5,
|
|
22318
|
+
0,
|
|
22319
|
+
0.5,
|
|
22320
|
+
-0.5,
|
|
22321
|
+
0
|
|
22322
|
+
])
|
|
22323
|
+
},
|
|
22324
|
+
aUV: {
|
|
22325
|
+
type: glContext.FLOAT,
|
|
22326
|
+
size: 2,
|
|
22327
|
+
data: new Float32Array()
|
|
22328
|
+
}
|
|
22329
|
+
},
|
|
22330
|
+
mode: glContext.TRIANGLES,
|
|
22331
|
+
drawCount: 4
|
|
22332
|
+
});
|
|
22333
|
+
}
|
|
22334
|
+
if (!_this.material) {
|
|
22335
|
+
var materialProps = {
|
|
22336
|
+
shader: {
|
|
22337
|
+
vertex: _this.vert,
|
|
22338
|
+
fragment: _this.frag,
|
|
22339
|
+
glslVersion: GLSLVersion.GLSL1
|
|
22340
|
+
}
|
|
22341
|
+
};
|
|
22342
|
+
_this.material = Material.create(engine, materialProps);
|
|
22343
|
+
_this.material.setColor("_Color", new Color(1, 1, 1, 1));
|
|
22344
|
+
_this.material.depthMask = true;
|
|
22345
|
+
_this.material.depthTest = true;
|
|
22346
|
+
_this.material.blending = true;
|
|
22347
|
+
}
|
|
22348
|
+
return _this;
|
|
22349
|
+
}
|
|
22350
|
+
var _proto = ShapeComponent.prototype;
|
|
22351
|
+
_proto.onUpdate = function onUpdate(dt) {
|
|
22352
|
+
if (this.dirty) {
|
|
22353
|
+
this.path.clear();
|
|
22354
|
+
this.path.moveTo(this.curveValues[this.curveValues.length - 1].point.x, this.curveValues[this.curveValues.length - 1].point.y);
|
|
22355
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.curveValues), _step; !(_step = _iterator()).done;){
|
|
22356
|
+
var curveValue = _step.value;
|
|
22357
|
+
var point = curveValue.point;
|
|
22358
|
+
var control1 = curveValue.controlPoint1;
|
|
22359
|
+
var control2 = curveValue.controlPoint2;
|
|
22360
|
+
this.path.bezierCurveTo(control1.x, control1.y, control2.x, control2.y, point.x, point.y, 1);
|
|
22361
|
+
}
|
|
22362
|
+
this.buildGeometryFromPath(this.path.shapePath);
|
|
22363
|
+
this.dirty = false;
|
|
22364
|
+
}
|
|
22365
|
+
};
|
|
22366
|
+
_proto.render = function render(renderer) {
|
|
22367
|
+
if (renderer.renderingData.currentFrame.globalUniforms) {
|
|
22368
|
+
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
22369
|
+
}
|
|
22370
|
+
renderer.drawGeometry(this.geometry, this.material);
|
|
22371
|
+
};
|
|
22372
|
+
_proto.buildGeometryFromPath = function buildGeometryFromPath(shapePath) {
|
|
22373
|
+
var shapePrimitives = shapePath.shapePrimitives;
|
|
22374
|
+
var vertices = [];
|
|
22375
|
+
// triangulate shapePrimitive
|
|
22376
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(shapePrimitives), _step; !(_step = _iterator()).done;){
|
|
22377
|
+
var shapePrimitive = _step.value;
|
|
22378
|
+
var _vertices;
|
|
22379
|
+
var shape = shapePrimitive.shape;
|
|
22380
|
+
(_vertices = vertices).push.apply(_vertices, [].concat(triangulate([
|
|
22381
|
+
shape.points
|
|
22382
|
+
])));
|
|
22383
|
+
}
|
|
22384
|
+
// build vertices and uvs
|
|
22385
|
+
var vertexCount = vertices.length / 2;
|
|
22386
|
+
var positionArray = this.geometry.getAttributeData("aPos");
|
|
22387
|
+
var uvArray = this.geometry.getAttributeData("aUV");
|
|
22388
|
+
if (!positionArray || positionArray.length < vertexCount * 3) {
|
|
22389
|
+
positionArray = new Float32Array(vertexCount * 3);
|
|
22390
|
+
}
|
|
22391
|
+
if (!uvArray || uvArray.length < vertexCount * 2) {
|
|
22392
|
+
uvArray = new Float32Array(vertexCount * 2);
|
|
22393
|
+
}
|
|
22394
|
+
for(var i = 0; i < vertexCount; i++){
|
|
22395
|
+
var pointsOffset = i * 3;
|
|
22396
|
+
var positionArrayOffset = i * 2;
|
|
22397
|
+
var uvOffset = i * 2;
|
|
22398
|
+
positionArray[pointsOffset] = vertices[positionArrayOffset];
|
|
22399
|
+
positionArray[pointsOffset + 1] = vertices[positionArrayOffset + 1];
|
|
22400
|
+
positionArray[pointsOffset + 2] = 0;
|
|
22401
|
+
uvArray[uvOffset] = positionArray[pointsOffset];
|
|
22402
|
+
uvArray[uvOffset + 1] = positionArray[pointsOffset + 1];
|
|
22403
|
+
}
|
|
22404
|
+
this.geometry.setAttributeData("aPos", positionArray);
|
|
22405
|
+
this.geometry.setAttributeData("aUV", uvArray);
|
|
22406
|
+
this.geometry.setDrawCount(vertexCount);
|
|
22407
|
+
};
|
|
22408
|
+
_proto.fromData = function fromData(data) {
|
|
22409
|
+
RendererComponent.prototype.fromData.call(this, data);
|
|
22410
|
+
var points = data.param.points;
|
|
22411
|
+
var easingIns = data.param.easingIn;
|
|
22412
|
+
var easingOuts = data.param.easingOut;
|
|
22413
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(data.param.shapes), _step; !(_step = _iterator()).done;){
|
|
22414
|
+
var shape = _step.value;
|
|
22415
|
+
var indices = shape.indexes;
|
|
22416
|
+
for(var i = 1; i < indices.length; i++){
|
|
22417
|
+
var pointIndex = indices[i];
|
|
22418
|
+
var lastPointIndex = indices[i - 1];
|
|
22419
|
+
this.curveValues.push({
|
|
22420
|
+
point: points[pointIndex.point],
|
|
22421
|
+
controlPoint1: easingOuts[lastPointIndex.easingOut],
|
|
22422
|
+
controlPoint2: easingIns[pointIndex.easingIn]
|
|
22423
|
+
});
|
|
22424
|
+
}
|
|
22425
|
+
// Push the last curve
|
|
22426
|
+
this.curveValues.push({
|
|
22427
|
+
point: points[indices[0].point],
|
|
22428
|
+
controlPoint1: easingOuts[indices[indices.length - 1].easingOut],
|
|
22429
|
+
controlPoint2: easingIns[indices[0].easingIn]
|
|
22430
|
+
});
|
|
22431
|
+
}
|
|
22432
|
+
this.dirty = true;
|
|
22433
|
+
};
|
|
22434
|
+
return ShapeComponent;
|
|
22435
|
+
}(RendererComponent);
|
|
22436
|
+
ShapeComponent = __decorate([
|
|
22437
|
+
effectsClass("ShapeComponent")
|
|
22438
|
+
], ShapeComponent);
|
|
22439
|
+
var ComponentShapeType;
|
|
22440
|
+
(function(ComponentShapeType) {
|
|
22441
|
+
/**
|
|
22442
|
+
* 自定义图形
|
|
22443
|
+
*/ ComponentShapeType[ComponentShapeType["CUSTOM"] = 0] = "CUSTOM";
|
|
22444
|
+
/**
|
|
22445
|
+
* 矩形
|
|
22446
|
+
*/ ComponentShapeType[ComponentShapeType["RECTANGLE"] = 1] = "RECTANGLE";
|
|
22447
|
+
/**
|
|
22448
|
+
* 椭圆
|
|
22449
|
+
*/ ComponentShapeType[ComponentShapeType["ELLIPSE"] = 2] = "ELLIPSE";
|
|
22450
|
+
/**
|
|
22451
|
+
* 多边形
|
|
22452
|
+
*/ ComponentShapeType[ComponentShapeType["POLYGON"] = 3] = "POLYGON";
|
|
22453
|
+
/**
|
|
22454
|
+
* 星形
|
|
22455
|
+
*/ ComponentShapeType[ComponentShapeType["STAR"] = 4] = "STAR";
|
|
22456
|
+
})(ComponentShapeType || (ComponentShapeType = {}));
|
|
22457
|
+
var ShapeConnectType;
|
|
22458
|
+
(function(ShapeConnectType) {})(ShapeConnectType || (ShapeConnectType = {}));
|
|
22459
|
+
var ShapePointType;
|
|
22460
|
+
(function(ShapePointType) {})(ShapePointType || (ShapePointType = {}));
|
|
22461
|
+
|
|
20796
22462
|
var EventEmitter = function EventEmitter() {
|
|
20797
22463
|
var _this = this;
|
|
20798
22464
|
var _this1 = this;
|
|
@@ -21162,21 +22828,21 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
21162
22828
|
return now - this.duration > 0.001;
|
|
21163
22829
|
};
|
|
21164
22830
|
_proto.find = function find(name) {
|
|
22831
|
+
var _queue;
|
|
21165
22832
|
if (this.name === name) {
|
|
21166
22833
|
return this;
|
|
21167
22834
|
}
|
|
21168
|
-
|
|
21169
|
-
|
|
21170
|
-
|
|
21171
|
-
|
|
21172
|
-
|
|
21173
|
-
|
|
21174
|
-
|
|
21175
|
-
|
|
21176
|
-
|
|
21177
|
-
if (res) {
|
|
21178
|
-
return res;
|
|
22835
|
+
var queue = [];
|
|
22836
|
+
(_queue = queue).push.apply(_queue, [].concat(this.children));
|
|
22837
|
+
var index = 0;
|
|
22838
|
+
while(index < queue.length){
|
|
22839
|
+
var _queue1;
|
|
22840
|
+
var item = queue[index];
|
|
22841
|
+
index++;
|
|
22842
|
+
if (item.name === name) {
|
|
22843
|
+
return item;
|
|
21179
22844
|
}
|
|
22845
|
+
(_queue1 = queue).push.apply(_queue1, [].concat(item.children));
|
|
21180
22846
|
}
|
|
21181
22847
|
return undefined;
|
|
21182
22848
|
};
|
|
@@ -23920,15 +25586,22 @@ function passRenderLevel(l, renderLevel) {
|
|
|
23920
25586
|
return false;
|
|
23921
25587
|
}
|
|
23922
25588
|
|
|
23923
|
-
|
|
23924
|
-
|
|
23925
|
-
|
|
23926
|
-
|
|
23927
|
-
|
|
23928
|
-
|
|
23929
|
-
|
|
23930
|
-
|
|
23931
|
-
|
|
25589
|
+
var Scene;
|
|
25590
|
+
(function(Scene) {
|
|
25591
|
+
function isJSONObject(scene) {
|
|
25592
|
+
return isObject(scene) && "jsonScene" in scene;
|
|
25593
|
+
}
|
|
25594
|
+
// JSON 对象
|
|
25595
|
+
Scene.isJSONObject = isJSONObject;
|
|
25596
|
+
function isURL(scene) {
|
|
25597
|
+
return isObject(scene) && "url" in scene;
|
|
25598
|
+
}
|
|
25599
|
+
Scene.isURL = isURL;
|
|
25600
|
+
function isWithOptions(scene) {
|
|
25601
|
+
return isObject(scene) && "options" in scene;
|
|
25602
|
+
}
|
|
25603
|
+
Scene.isWithOptions = isWithOptions;
|
|
25604
|
+
})(Scene || (Scene = {}));
|
|
23932
25605
|
|
|
23933
25606
|
function getBackgroundImage(template, variables) {
|
|
23934
25607
|
var templateBackground;
|
|
@@ -24053,13 +25726,12 @@ var seed$1 = 1;
|
|
|
24053
25726
|
*/ _proto.loadScene = function loadScene(url, renderer, options) {
|
|
24054
25727
|
var _this = this;
|
|
24055
25728
|
return _async_to_generator(function() {
|
|
24056
|
-
var
|
|
25729
|
+
var rawJSON, assetUrl, startTime, timeInfoMessages, gpuInstance, _gpuInstance_detail_compressedTexture, compressedTexture, timeInfos, loadTimer, cancelLoading, waitPromise, hookTimeInfo, loadResourcePromise;
|
|
24057
25730
|
return __generator(this, function(_state) {
|
|
24058
25731
|
assetUrl = isString(url) ? url : _this.id;
|
|
24059
25732
|
startTime = performance.now();
|
|
24060
25733
|
timeInfoMessages = [];
|
|
24061
25734
|
gpuInstance = renderer == null ? void 0 : renderer.engine.gpuCapability;
|
|
24062
|
-
asyncShaderCompile = (_gpuInstance_detail_asyncShaderCompile = gpuInstance == null ? void 0 : (_gpuInstance_detail = gpuInstance.detail) == null ? void 0 : _gpuInstance_detail.asyncShaderCompile) != null ? _gpuInstance_detail_asyncShaderCompile : false;
|
|
24063
25735
|
compressedTexture = (_gpuInstance_detail_compressedTexture = gpuInstance == null ? void 0 : gpuInstance.detail.compressedTexture) != null ? _gpuInstance_detail_compressedTexture : COMPRESSED_TEXTURE.NONE;
|
|
24064
25736
|
timeInfos = {};
|
|
24065
25737
|
cancelLoading = false;
|
|
@@ -24112,81 +25784,55 @@ var seed$1 = 1;
|
|
|
24112
25784
|
});
|
|
24113
25785
|
});
|
|
24114
25786
|
loadResourcePromise = /*#__PURE__*/ _async_to_generator(function() {
|
|
24115
|
-
var scene,
|
|
25787
|
+
var scene, link, _ref, jsonScene, pluginSystem, _jsonScene_bins, bins, images, compositions, fonts, _ref1, loadedBins, loadedImages, i, i1, imageAsset, loadedTextures, totalTime;
|
|
24116
25788
|
return __generator(this, function(_state) {
|
|
24117
25789
|
switch(_state.label){
|
|
24118
25790
|
case 0:
|
|
24119
|
-
if (!
|
|
24120
|
-
3,
|
|
24121
|
-
1
|
|
24122
|
-
];
|
|
24123
|
-
// TODO: 原 JSONLoader contructor 判断是否兼容
|
|
24124
|
-
rawJSON = url;
|
|
24125
|
-
_this.baseUrl = location.href;
|
|
24126
|
-
return [
|
|
25791
|
+
if (!isString(url)) return [
|
|
24127
25792
|
3,
|
|
24128
|
-
|
|
25793
|
+
2
|
|
24129
25794
|
];
|
|
24130
|
-
case 1:
|
|
24131
25795
|
// 兼容相对路径
|
|
24132
|
-
|
|
24133
|
-
_this.baseUrl =
|
|
25796
|
+
link = new URL(url, location.href).href;
|
|
25797
|
+
_this.baseUrl = link;
|
|
24134
25798
|
return [
|
|
24135
25799
|
4,
|
|
24136
25800
|
hookTimeInfo("loadJSON", function() {
|
|
24137
|
-
return _this.loadJSON(
|
|
25801
|
+
return _this.loadJSON(link);
|
|
24138
25802
|
})
|
|
24139
25803
|
];
|
|
24140
|
-
case
|
|
25804
|
+
case 1:
|
|
24141
25805
|
rawJSON = _state.sent();
|
|
25806
|
+
return [
|
|
25807
|
+
3,
|
|
25808
|
+
3
|
|
25809
|
+
];
|
|
25810
|
+
case 2:
|
|
25811
|
+
// url 为 spec.JSONScene 或 Scene 对象
|
|
25812
|
+
rawJSON = url;
|
|
25813
|
+
_this.baseUrl = location.href;
|
|
24142
25814
|
_state.label = 3;
|
|
24143
25815
|
case 3:
|
|
24144
|
-
if (!
|
|
25816
|
+
if (!Scene.isJSONObject(rawJSON)) return [
|
|
24145
25817
|
3,
|
|
24146
|
-
|
|
25818
|
+
4
|
|
24147
25819
|
];
|
|
24148
25820
|
// 已经加载过的 可能需要更新数据模板
|
|
24149
25821
|
scene = _extends({}, rawJSON);
|
|
24150
|
-
if (!(_this.options && _this.options.variables && Object.keys(_this.options.variables).length !== 0)) return [
|
|
24151
|
-
3,
|
|
24152
|
-
5
|
|
24153
|
-
];
|
|
24154
|
-
_rawJSON_jsonScene = rawJSON.jsonScene, rawImages = _rawJSON_jsonScene.images;
|
|
24155
|
-
images = scene.images;
|
|
24156
|
-
for(i = 0; i < rawImages.length; i++){
|
|
24157
|
-
// 仅重新加载数据模板对应的图片
|
|
24158
|
-
if (_instanceof1(images[i], HTMLCanvasElement)) {
|
|
24159
|
-
images[i] = rawImages[i];
|
|
24160
|
-
}
|
|
24161
|
-
}
|
|
24162
|
-
return [
|
|
24163
|
-
4,
|
|
24164
|
-
hookTimeInfo("processImages", function() {
|
|
24165
|
-
return _this.processImages(images, compressedTexture);
|
|
24166
|
-
})
|
|
24167
|
-
];
|
|
24168
|
-
case 4:
|
|
24169
|
-
scene.images = _state.sent();
|
|
24170
|
-
// 更新 TextureOptions 中的 image 指向
|
|
24171
|
-
for(i1 = 0; i1 < scene.images.length; i1++){
|
|
24172
|
-
scene.textureOptions[i1].image = scene.images[i1];
|
|
24173
|
-
}
|
|
24174
|
-
_state.label = 5;
|
|
24175
|
-
case 5:
|
|
24176
25822
|
return [
|
|
24177
25823
|
3,
|
|
24178
|
-
|
|
25824
|
+
9
|
|
24179
25825
|
];
|
|
24180
|
-
case
|
|
25826
|
+
case 4:
|
|
24181
25827
|
return [
|
|
24182
25828
|
4,
|
|
24183
25829
|
hookTimeInfo("processJSON", function() {
|
|
24184
25830
|
return _this.processJSON(rawJSON);
|
|
24185
25831
|
})
|
|
24186
25832
|
];
|
|
24187
|
-
case
|
|
24188
|
-
_ref = _state.sent(),
|
|
24189
|
-
_jsonScene_bins = jsonScene.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins,
|
|
25833
|
+
case 5:
|
|
25834
|
+
_ref = _state.sent(), jsonScene = _ref.jsonScene, pluginSystem = _ref.pluginSystem;
|
|
25835
|
+
_jsonScene_bins = jsonScene.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins, images = jsonScene.images, compositions = jsonScene.compositions, fonts = jsonScene.fonts;
|
|
24190
25836
|
return [
|
|
24191
25837
|
4,
|
|
24192
25838
|
Promise.all([
|
|
@@ -24194,38 +25840,36 @@ var seed$1 = 1;
|
|
|
24194
25840
|
return _this.processBins(bins);
|
|
24195
25841
|
}),
|
|
24196
25842
|
hookTimeInfo("processImages", function() {
|
|
24197
|
-
return _this.processImages(
|
|
25843
|
+
return _this.processImages(images, compressedTexture);
|
|
24198
25844
|
}),
|
|
24199
|
-
hookTimeInfo(""
|
|
25845
|
+
hookTimeInfo("precompile", function() {
|
|
24200
25846
|
return _this.precompile(compositions, pluginSystem, renderer, options);
|
|
25847
|
+
}),
|
|
25848
|
+
hookTimeInfo("processFontURL", function() {
|
|
25849
|
+
return _this.processFontURL(fonts);
|
|
24201
25850
|
})
|
|
24202
25851
|
])
|
|
24203
25852
|
];
|
|
24204
|
-
case
|
|
25853
|
+
case 6:
|
|
24205
25854
|
_ref1 = _state.sent(), loadedBins = _ref1[0], loadedImages = _ref1[1];
|
|
25855
|
+
for(i = 0; i < images.length; i++){
|
|
25856
|
+
_this.assets[images[i].id] = loadedImages[i];
|
|
25857
|
+
}
|
|
24206
25858
|
if (renderer) {
|
|
24207
|
-
for(
|
|
25859
|
+
for(i1 = 0; i1 < images.length; i1++){
|
|
24208
25860
|
imageAsset = new ImageAsset(renderer.engine);
|
|
24209
|
-
imageAsset.data = loadedImages[
|
|
24210
|
-
imageAsset.setInstanceId(
|
|
25861
|
+
imageAsset.data = loadedImages[i1];
|
|
25862
|
+
imageAsset.setInstanceId(images[i1].id);
|
|
24211
25863
|
renderer.engine.addInstance(imageAsset);
|
|
24212
25864
|
}
|
|
24213
25865
|
}
|
|
24214
|
-
return [
|
|
24215
|
-
4,
|
|
24216
|
-
hookTimeInfo("processFontURL", function() {
|
|
24217
|
-
return _this.processFontURL(fonts);
|
|
24218
|
-
})
|
|
24219
|
-
];
|
|
24220
|
-
case 9:
|
|
24221
|
-
_state.sent();
|
|
24222
25866
|
return [
|
|
24223
25867
|
4,
|
|
24224
25868
|
hookTimeInfo("processTextures", function() {
|
|
24225
|
-
return _this.processTextures(loadedImages, loadedBins, jsonScene
|
|
25869
|
+
return _this.processTextures(loadedImages, loadedBins, jsonScene);
|
|
24226
25870
|
})
|
|
24227
25871
|
];
|
|
24228
|
-
case
|
|
25872
|
+
case 7:
|
|
24229
25873
|
loadedTextures = _state.sent();
|
|
24230
25874
|
scene = {
|
|
24231
25875
|
timeInfos: timeInfos,
|
|
@@ -24234,7 +25878,6 @@ var seed$1 = 1;
|
|
|
24234
25878
|
storage: {},
|
|
24235
25879
|
pluginSystem: pluginSystem,
|
|
24236
25880
|
jsonScene: jsonScene,
|
|
24237
|
-
usedImages: usedImages,
|
|
24238
25881
|
images: loadedImages,
|
|
24239
25882
|
textureOptions: loadedTextures,
|
|
24240
25883
|
bins: loadedBins
|
|
@@ -24246,10 +25889,10 @@ var seed$1 = 1;
|
|
|
24246
25889
|
return pluginSystem.loadResources(scene, _this.options);
|
|
24247
25890
|
})
|
|
24248
25891
|
];
|
|
24249
|
-
case
|
|
25892
|
+
case 8:
|
|
24250
25893
|
_state.sent();
|
|
24251
|
-
_state.label =
|
|
24252
|
-
case
|
|
25894
|
+
_state.label = 9;
|
|
25895
|
+
case 9:
|
|
24253
25896
|
totalTime = performance.now() - startTime;
|
|
24254
25897
|
logger.info("Load asset: totalTime: " + totalTime.toFixed(4) + "ms " + timeInfoMessages.join(" ") + ", url: " + assetUrl + ".");
|
|
24255
25898
|
window.clearTimeout(loadTimer);
|
|
@@ -24277,7 +25920,6 @@ var seed$1 = 1;
|
|
|
24277
25920
|
};
|
|
24278
25921
|
_proto.precompile = function precompile(compositions, pluginSystem, renderer, options) {
|
|
24279
25922
|
return _async_to_generator(function() {
|
|
24280
|
-
var shaderLibrary;
|
|
24281
25923
|
return __generator(this, function(_state) {
|
|
24282
25924
|
switch(_state.label){
|
|
24283
25925
|
case 0:
|
|
@@ -24286,22 +25928,11 @@ var seed$1 = 1;
|
|
|
24286
25928
|
2
|
|
24287
25929
|
];
|
|
24288
25930
|
}
|
|
24289
|
-
shaderLibrary = renderer == null ? void 0 : renderer.getShaderLibrary();
|
|
24290
25931
|
return [
|
|
24291
25932
|
4,
|
|
24292
25933
|
pluginSystem == null ? void 0 : pluginSystem.precompile(compositions, renderer, options)
|
|
24293
25934
|
];
|
|
24294
25935
|
case 1:
|
|
24295
|
-
_state.sent();
|
|
24296
|
-
return [
|
|
24297
|
-
4,
|
|
24298
|
-
new Promise(function(resolve) {
|
|
24299
|
-
shaderLibrary == null ? void 0 : shaderLibrary.compileAllShaders(function() {
|
|
24300
|
-
resolve(null);
|
|
24301
|
-
});
|
|
24302
|
-
})
|
|
24303
|
-
];
|
|
24304
|
-
case 2:
|
|
24305
25936
|
_state.sent();
|
|
24306
25937
|
return [
|
|
24307
25938
|
2
|
|
@@ -24313,12 +25944,12 @@ var seed$1 = 1;
|
|
|
24313
25944
|
_proto.processJSON = function processJSON(json) {
|
|
24314
25945
|
var _this = this;
|
|
24315
25946
|
return _async_to_generator(function() {
|
|
24316
|
-
var jsonScene, _jsonScene_plugins, plugins,
|
|
25947
|
+
var jsonScene, _jsonScene_plugins, plugins, pluginSystem;
|
|
24317
25948
|
return __generator(this, function(_state) {
|
|
24318
25949
|
switch(_state.label){
|
|
24319
25950
|
case 0:
|
|
24320
25951
|
jsonScene = getStandardJSON(json);
|
|
24321
|
-
_jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins
|
|
25952
|
+
_jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins;
|
|
24322
25953
|
pluginSystem = new PluginSystem(plugins);
|
|
24323
25954
|
return [
|
|
24324
25955
|
4,
|
|
@@ -24326,20 +25957,9 @@ var seed$1 = 1;
|
|
|
24326
25957
|
];
|
|
24327
25958
|
case 1:
|
|
24328
25959
|
_state.sent();
|
|
24329
|
-
renderLevel = _this.options.renderLevel;
|
|
24330
|
-
usedImages = {};
|
|
24331
|
-
if (imgUsage) {
|
|
24332
|
-
// TODO: 考虑放到独立的 fix 文件
|
|
24333
|
-
fixOldImageUsage(usedImages, sceneCompositions, imgUsage, images, renderLevel);
|
|
24334
|
-
} else {
|
|
24335
|
-
images == null ? void 0 : images.forEach(function(_, i) {
|
|
24336
|
-
usedImages[i] = true;
|
|
24337
|
-
});
|
|
24338
|
-
}
|
|
24339
25960
|
return [
|
|
24340
25961
|
2,
|
|
24341
25962
|
{
|
|
24342
|
-
usedImages: usedImages,
|
|
24343
25963
|
jsonScene: jsonScene,
|
|
24344
25964
|
pluginSystem: pluginSystem
|
|
24345
25965
|
}
|
|
@@ -24411,7 +26031,6 @@ var seed$1 = 1;
|
|
|
24411
26031
|
];
|
|
24412
26032
|
case 2:
|
|
24413
26033
|
_state.sent();
|
|
24414
|
-
//@ts-expect-error
|
|
24415
26034
|
document.fonts.add(fontFace);
|
|
24416
26035
|
AssetManager.fonts.add(font.fontFamily);
|
|
24417
26036
|
return [
|
|
@@ -24493,6 +26112,10 @@ var seed$1 = 1;
|
|
|
24493
26112
|
3,
|
|
24494
26113
|
3
|
|
24495
26114
|
];
|
|
26115
|
+
_this.assets[idx] = {
|
|
26116
|
+
url: resultImage.src,
|
|
26117
|
+
type: TextureSourceType.video
|
|
26118
|
+
};
|
|
24496
26119
|
return [
|
|
24497
26120
|
2,
|
|
24498
26121
|
resultImage
|
|
@@ -24502,6 +26125,10 @@ var seed$1 = 1;
|
|
|
24502
26125
|
if (background && Array.isArray(url) && variables) {
|
|
24503
26126
|
variables[background.name] = resultImage.src;
|
|
24504
26127
|
}
|
|
26128
|
+
_this.assets[idx] = {
|
|
26129
|
+
url: resultImage.src,
|
|
26130
|
+
type: TextureSourceType.image
|
|
26131
|
+
};
|
|
24505
26132
|
return [
|
|
24506
26133
|
4,
|
|
24507
26134
|
combineImageTemplate(resultImage, template, variables)
|
|
@@ -24544,12 +26171,6 @@ var seed$1 = 1;
|
|
|
24544
26171
|
_this.loadBins(bufferURL)
|
|
24545
26172
|
];
|
|
24546
26173
|
}
|
|
24547
|
-
} else if ("sourceType" in img) {
|
|
24548
|
-
// TODO: 确定是否有用
|
|
24549
|
-
return [
|
|
24550
|
-
2,
|
|
24551
|
-
img
|
|
24552
|
-
];
|
|
24553
26174
|
} else if (_instanceof1(img, HTMLImageElement) || _instanceof1(img, HTMLCanvasElement) || _instanceof1(img, HTMLVideoElement) || _instanceof1(img, Texture)) {
|
|
24554
26175
|
return [
|
|
24555
26176
|
2,
|
|
@@ -24600,7 +26221,7 @@ var seed$1 = 1;
|
|
|
24600
26221
|
});
|
|
24601
26222
|
})();
|
|
24602
26223
|
};
|
|
24603
|
-
_proto.processTextures = function processTextures(images, bins, jsonScene
|
|
26224
|
+
_proto.processTextures = function processTextures(images, bins, jsonScene) {
|
|
24604
26225
|
var _this = this;
|
|
24605
26226
|
return _async_to_generator(function() {
|
|
24606
26227
|
var _jsonScene_textures, textures, jobs;
|
|
@@ -24611,7 +26232,7 @@ var seed$1 = 1;
|
|
|
24611
26232
|
};
|
|
24612
26233
|
});
|
|
24613
26234
|
jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
|
|
24614
|
-
var e, source, image, texture;
|
|
26235
|
+
var e, source, id, image, texture;
|
|
24615
26236
|
return __generator(this, function(_state) {
|
|
24616
26237
|
switch(_state.label){
|
|
24617
26238
|
case 0:
|
|
@@ -24635,7 +26256,7 @@ var seed$1 = 1;
|
|
|
24635
26256
|
]);
|
|
24636
26257
|
return [
|
|
24637
26258
|
4,
|
|
24638
|
-
deserializeMipmapTexture(textureOptions, bins,
|
|
26259
|
+
deserializeMipmapTexture(textureOptions, bins, _this.assets, jsonScene.bins)
|
|
24639
26260
|
];
|
|
24640
26261
|
case 2:
|
|
24641
26262
|
return [
|
|
@@ -24646,12 +26267,12 @@ var seed$1 = 1;
|
|
|
24646
26267
|
e = _state.sent();
|
|
24647
26268
|
throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
|
|
24648
26269
|
case 4:
|
|
24649
|
-
source = textureOptions.source;
|
|
26270
|
+
source = textureOptions.source, id = textureOptions.id;
|
|
24650
26271
|
if (!isObject(source)) return [
|
|
24651
26272
|
3,
|
|
24652
26273
|
5
|
|
24653
26274
|
];
|
|
24654
|
-
image =
|
|
26275
|
+
image = _this.assets[source.id];
|
|
24655
26276
|
return [
|
|
24656
26277
|
3,
|
|
24657
26278
|
7
|
|
@@ -24670,9 +26291,7 @@ var seed$1 = 1;
|
|
|
24670
26291
|
_state.label = 7;
|
|
24671
26292
|
case 7:
|
|
24672
26293
|
if (image) {
|
|
24673
|
-
texture = createTextureOptionsBySource(image, _this.assets[idx]);
|
|
24674
|
-
texture.id = textureOptions.id;
|
|
24675
|
-
texture.dataType = DataType.Texture;
|
|
26294
|
+
texture = createTextureOptionsBySource(image, _this.assets[idx], id);
|
|
24676
26295
|
return [
|
|
24677
26296
|
2,
|
|
24678
26297
|
texture.sourceType === TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
|
|
@@ -24733,11 +26352,6 @@ var seed$1 = 1;
|
|
|
24733
26352
|
return window.clearTimeout(id);
|
|
24734
26353
|
});
|
|
24735
26354
|
}
|
|
24736
|
-
for(var key in this.assets){
|
|
24737
|
-
var _asset_dispose;
|
|
24738
|
-
var asset = this.assets[key];
|
|
24739
|
-
asset == null ? void 0 : (_asset_dispose = asset.dispose) == null ? void 0 : _asset_dispose.call(asset);
|
|
24740
|
-
}
|
|
24741
26355
|
this.assets = {};
|
|
24742
26356
|
this.timers = [];
|
|
24743
26357
|
};
|
|
@@ -24746,55 +26360,44 @@ var seed$1 = 1;
|
|
|
24746
26360
|
/**
|
|
24747
26361
|
* 自定义文本缓存,随页面销毁而销毁
|
|
24748
26362
|
*/ AssetManager.fonts = new Set();
|
|
24749
|
-
function
|
|
24750
|
-
|
|
24751
|
-
|
|
24752
|
-
|
|
24753
|
-
|
|
24754
|
-
for(var j = 0; j < ids.length; j++){
|
|
24755
|
-
var id1 = ids[j];
|
|
24756
|
-
var tag = images[id1].renderLevel;
|
|
24757
|
-
if (passRenderLevel(tag, renderLevel)) {
|
|
24758
|
-
usedImages[id1] = true;
|
|
24759
|
-
}
|
|
24760
|
-
}
|
|
24761
|
-
}
|
|
24762
|
-
}
|
|
24763
|
-
}
|
|
24764
|
-
function createTextureOptionsBySource(image, sourceFrom) {
|
|
26363
|
+
function createTextureOptionsBySource(image, sourceFrom, id) {
|
|
26364
|
+
var options = {
|
|
26365
|
+
id: id,
|
|
26366
|
+
dataType: DataType.Texture
|
|
26367
|
+
};
|
|
24765
26368
|
if (_instanceof1(image, Texture)) {
|
|
24766
|
-
return image.source;
|
|
26369
|
+
return _extends({}, image.source, options);
|
|
24767
26370
|
} else if (_instanceof1(image, HTMLImageElement) || isCanvas(image)) {
|
|
24768
|
-
return {
|
|
26371
|
+
return _extends({
|
|
24769
26372
|
image: image,
|
|
24770
26373
|
sourceType: TextureSourceType.image,
|
|
24771
26374
|
sourceFrom: sourceFrom,
|
|
24772
26375
|
keepImageSource: true,
|
|
24773
26376
|
minFilter: glContext.LINEAR,
|
|
24774
26377
|
magFilter: glContext.LINEAR
|
|
24775
|
-
};
|
|
26378
|
+
}, options);
|
|
24776
26379
|
} else if (_instanceof1(image, HTMLVideoElement)) {
|
|
24777
26380
|
// 视频
|
|
24778
|
-
return {
|
|
26381
|
+
return _extends({
|
|
24779
26382
|
sourceType: TextureSourceType.video,
|
|
24780
26383
|
video: image,
|
|
24781
26384
|
minFilter: glContext.LINEAR,
|
|
24782
26385
|
magFilter: glContext.LINEAR
|
|
24783
|
-
};
|
|
26386
|
+
}, options);
|
|
24784
26387
|
} else if (_instanceof1(image, ArrayBuffer)) {
|
|
24785
26388
|
// 压缩纹理
|
|
24786
26389
|
return _extends({}, getKTXTextureOptions(image), {
|
|
24787
26390
|
sourceFrom: sourceFrom
|
|
24788
|
-
});
|
|
26391
|
+
}, options);
|
|
24789
26392
|
} else if ("width" in image && "height" in image && "data" in image) {
|
|
24790
|
-
return {
|
|
26393
|
+
return _extends({
|
|
24791
26394
|
sourceType: TextureSourceType.data,
|
|
24792
26395
|
data: image,
|
|
24793
26396
|
wrapS: glContext.CLAMP_TO_EDGE,
|
|
24794
26397
|
wrapT: glContext.CLAMP_TO_EDGE,
|
|
24795
26398
|
minFilter: glContext.NEAREST,
|
|
24796
26399
|
magFilter: glContext.NEAREST
|
|
24797
|
-
};
|
|
26400
|
+
}, options);
|
|
24798
26401
|
}
|
|
24799
26402
|
throw new Error("Invalid texture options.");
|
|
24800
26403
|
}
|
|
@@ -25098,11 +26701,12 @@ var listOrder = 0;
|
|
|
25098
26701
|
function CompositionSourceManager(scene, engine) {
|
|
25099
26702
|
this.refCompositions = new Map();
|
|
25100
26703
|
this.refCompositionProps = new Map();
|
|
26704
|
+
this.imgUsage = {};
|
|
25101
26705
|
this.mask = 0;
|
|
25102
26706
|
this.engine = engine;
|
|
25103
26707
|
// 资源
|
|
25104
26708
|
var jsonScene = scene.jsonScene, renderLevel = scene.renderLevel, textureOptions = scene.textureOptions, pluginSystem = scene.pluginSystem, totalTime = scene.totalTime;
|
|
25105
|
-
var compositions = jsonScene.compositions,
|
|
26709
|
+
var compositions = jsonScene.compositions, compositionId = jsonScene.compositionId;
|
|
25106
26710
|
if (!textureOptions) {
|
|
25107
26711
|
throw new Error("scene.textures expected.");
|
|
25108
26712
|
}
|
|
@@ -25122,7 +26726,6 @@ var listOrder = 0;
|
|
|
25122
26726
|
this.renderLevel = renderLevel;
|
|
25123
26727
|
this.pluginSystem = pluginSystem;
|
|
25124
26728
|
this.totalTime = totalTime != null ? totalTime : 0;
|
|
25125
|
-
this.imgUsage = imgUsage != null ? imgUsage : {};
|
|
25126
26729
|
this.textures = cachedTextures;
|
|
25127
26730
|
listOrder = 0;
|
|
25128
26731
|
this.sourceContent = this.getContent(this.composition);
|
|
@@ -25143,11 +26746,12 @@ var listOrder = 0;
|
|
|
25143
26746
|
});
|
|
25144
26747
|
};
|
|
25145
26748
|
_proto.assembleItems = function assembleItems(composition) {
|
|
26749
|
+
var _this_jsonScene;
|
|
25146
26750
|
var items = [];
|
|
25147
|
-
this.mask++;
|
|
25148
26751
|
var componentMap = {};
|
|
25149
|
-
|
|
25150
|
-
|
|
26752
|
+
this.mask++;
|
|
26753
|
+
var _this_jsonScene_components;
|
|
26754
|
+
for(var _iterator = _create_for_of_iterator_helper_loose((_this_jsonScene_components = (_this_jsonScene = this.jsonScene) == null ? void 0 : _this_jsonScene.components) != null ? _this_jsonScene_components : []), _step; !(_step = _iterator()).done;){
|
|
25151
26755
|
var component = _step.value;
|
|
25152
26756
|
componentMap[component.id] = component;
|
|
25153
26757
|
}
|
|
@@ -25184,19 +26788,24 @@ var listOrder = 0;
|
|
|
25184
26788
|
_proto.preProcessItemContent = function preProcessItemContent(renderContent) {
|
|
25185
26789
|
if (renderContent.renderer) {
|
|
25186
26790
|
renderContent.renderer = this.changeTex(renderContent.renderer);
|
|
25187
|
-
if (!renderContent.renderer
|
|
26791
|
+
if (!("mask" in renderContent.renderer)) {
|
|
25188
26792
|
this.processMask(renderContent.renderer);
|
|
25189
26793
|
}
|
|
25190
|
-
var split = renderContent.splits && !renderContent.textureSheetAnimation
|
|
25191
|
-
|
|
26794
|
+
var split = renderContent.splits && !renderContent.textureSheetAnimation ? renderContent.splits[0] : undefined;
|
|
26795
|
+
var shape = renderContent.renderer.shape;
|
|
26796
|
+
var shapeData;
|
|
26797
|
+
if (Number.isInteger(shape)) {
|
|
25192
26798
|
var _this_jsonScene;
|
|
25193
|
-
|
|
25194
|
-
|
|
25195
|
-
|
|
25196
|
-
|
|
26799
|
+
shapeData = (_this_jsonScene = this.jsonScene) == null ? void 0 : _this_jsonScene.shapes[shape];
|
|
26800
|
+
} else {
|
|
26801
|
+
shapeData = shape;
|
|
26802
|
+
}
|
|
26803
|
+
if (shapeData !== undefined) {
|
|
26804
|
+
// @ts-expect-error 类型转换问题
|
|
26805
|
+
renderContent.renderer.shape = getGeometryByShape(shapeData, split);
|
|
25197
26806
|
}
|
|
25198
26807
|
}
|
|
25199
|
-
if (renderContent.trails) {
|
|
26808
|
+
if ("trails" in renderContent && renderContent.trails !== undefined) {
|
|
25200
26809
|
renderContent.trails = this.changeTex(renderContent.trails);
|
|
25201
26810
|
}
|
|
25202
26811
|
};
|
|
@@ -25204,22 +26813,17 @@ var listOrder = 0;
|
|
|
25204
26813
|
if (!renderer.texture) {
|
|
25205
26814
|
return renderer;
|
|
25206
26815
|
}
|
|
25207
|
-
//@ts-expect-error
|
|
25208
26816
|
var texIdx = renderer.texture.id;
|
|
25209
26817
|
if (texIdx !== undefined) {
|
|
25210
|
-
|
|
25211
|
-
this.addTextureUsage(texIdx) || texIdx;
|
|
26818
|
+
this.addTextureUsage(texIdx);
|
|
25212
26819
|
}
|
|
25213
26820
|
return renderer;
|
|
25214
26821
|
};
|
|
25215
|
-
_proto.addTextureUsage = function addTextureUsage(
|
|
25216
|
-
var texId = texIdx;
|
|
26822
|
+
_proto.addTextureUsage = function addTextureUsage(texId) {
|
|
25217
26823
|
var _this_imgUsage;
|
|
25218
|
-
// FIXME: imageUsage 取自 scene.imgUsage,类型为 Record<string, number[]>,这里给的 number,类型对不上
|
|
25219
26824
|
var imageUsage = (_this_imgUsage = this.imgUsage) != null ? _this_imgUsage : {};
|
|
25220
26825
|
if (texId && imageUsage) {
|
|
25221
|
-
|
|
25222
|
-
if (!imageUsage.hasOwnProperty(texId)) {
|
|
26826
|
+
if (!Object.prototype.hasOwnProperty.call(imageUsage, texId)) {
|
|
25223
26827
|
imageUsage[texId] = 0;
|
|
25224
26828
|
}
|
|
25225
26829
|
imageUsage[texId]++;
|
|
@@ -25390,7 +26994,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25390
26994
|
_this.lastVideoUpdateTime = 0;
|
|
25391
26995
|
var _props_reusable = props.reusable, reusable = _props_reusable === void 0 ? false : _props_reusable, _props_speed = props.speed, speed = _props_speed === void 0 ? 1 : _props_speed, _props_baseRenderOrder = props.baseRenderOrder, baseRenderOrder = _props_baseRenderOrder === void 0 ? 0 : _props_baseRenderOrder, renderer = props.renderer, event = props.event, width = props.width, height = props.height, handleItemMessage = props.handleItemMessage;
|
|
25392
26996
|
_this.compositionSourceManager = new CompositionSourceManager(scene, renderer.engine);
|
|
25393
|
-
scene.jsonScene.imgUsage = undefined;
|
|
25394
26997
|
if (reusable) {
|
|
25395
26998
|
_this.keepResource = true;
|
|
25396
26999
|
scene.textures = undefined;
|
|
@@ -25409,24 +27012,23 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25409
27012
|
_this.rootComposition.data = sourceContent;
|
|
25410
27013
|
_this.rootComposition.item = _this.rootItem;
|
|
25411
27014
|
_this.rootItem.components.push(_this.rootComposition);
|
|
25412
|
-
var imageUsage = !reusable && imgUsage;
|
|
25413
27015
|
_this.width = width;
|
|
25414
27016
|
_this.height = height;
|
|
25415
27017
|
_this.renderOrder = baseRenderOrder;
|
|
25416
27018
|
_this.id = sourceContent.id;
|
|
25417
27019
|
_this.renderer = renderer;
|
|
25418
|
-
_this.texInfo =
|
|
27020
|
+
_this.texInfo = !reusable ? imgUsage : {};
|
|
25419
27021
|
_this.event = event;
|
|
25420
|
-
var _scene_startTime
|
|
27022
|
+
var _scene_startTime;
|
|
25421
27023
|
_this.statistic = {
|
|
25422
|
-
loadTime: totalTime != null ? totalTime : 0,
|
|
25423
27024
|
loadStart: (_scene_startTime = scene.startTime) != null ? _scene_startTime : 0,
|
|
25424
|
-
|
|
25425
|
-
|
|
27025
|
+
loadTime: totalTime != null ? totalTime : 0,
|
|
27026
|
+
compileTime: 0,
|
|
27027
|
+
firstFrameTime: 0
|
|
25426
27028
|
};
|
|
25427
27029
|
_this.reusable = reusable;
|
|
25428
27030
|
_this.speed = speed;
|
|
25429
|
-
_this.autoRefTex = !_this.keepResource &&
|
|
27031
|
+
_this.autoRefTex = !_this.keepResource && _this.texInfo && _this.rootItem.endBehavior !== EndBehavior.restart;
|
|
25430
27032
|
_this.name = sourceContent.name;
|
|
25431
27033
|
_this.pluginSystem = pluginSystem;
|
|
25432
27034
|
_this.pluginSystem.initializeComposition(_assert_this_initialized(_this), scene);
|
|
@@ -25435,7 +27037,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25435
27037
|
}));
|
|
25436
27038
|
_this.url = scene.url;
|
|
25437
27039
|
_this.assigned = true;
|
|
25438
|
-
_this.globalTime = 0;
|
|
25439
27040
|
_this.interactive = true;
|
|
25440
27041
|
_this.handleItemMessage = handleItemMessage;
|
|
25441
27042
|
_this.createRenderFrame();
|
|
@@ -25598,8 +27199,8 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25598
27199
|
* 重置状态函数
|
|
25599
27200
|
*/ _proto.reset = function reset() {
|
|
25600
27201
|
this.rendererOptions = null;
|
|
25601
|
-
this.globalTime = 0;
|
|
25602
27202
|
this.rootItem.ended = false;
|
|
27203
|
+
this.rootComposition.time = 0;
|
|
25603
27204
|
this.pluginSystem.resetComposition(this, this.renderFrame);
|
|
25604
27205
|
};
|
|
25605
27206
|
_proto.prepareRender = function prepareRender() {
|
|
@@ -25636,9 +27237,8 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25636
27237
|
if (!this.assigned || this.paused) {
|
|
25637
27238
|
return;
|
|
25638
27239
|
}
|
|
25639
|
-
var
|
|
25640
|
-
this.
|
|
25641
|
-
this.updateRootComposition();
|
|
27240
|
+
var dt = this.getUpdateTime(deltaTime * this.speed);
|
|
27241
|
+
this.updateRootComposition(dt / 1000);
|
|
25642
27242
|
this.updateVideo();
|
|
25643
27243
|
// 更新 model-tree-plugin
|
|
25644
27244
|
this.updatePluginLoaders(deltaTime);
|
|
@@ -25647,8 +27247,8 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25647
27247
|
this.callAwake(this.rootItem);
|
|
25648
27248
|
this.rootItem.beginPlay();
|
|
25649
27249
|
}
|
|
25650
|
-
this.sceneTicking.update.tick(
|
|
25651
|
-
this.sceneTicking.lateUpdate.tick(
|
|
27250
|
+
this.sceneTicking.update.tick(dt);
|
|
27251
|
+
this.sceneTicking.lateUpdate.tick(dt);
|
|
25652
27252
|
this.updateCamera();
|
|
25653
27253
|
this.prepareRender();
|
|
25654
27254
|
if (this.shouldDispose()) {
|
|
@@ -25789,9 +27389,9 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25789
27389
|
};
|
|
25790
27390
|
/**
|
|
25791
27391
|
* 更新主合成组件
|
|
25792
|
-
*/ _proto.updateRootComposition = function updateRootComposition() {
|
|
27392
|
+
*/ _proto.updateRootComposition = function updateRootComposition(deltaTime) {
|
|
25793
27393
|
if (this.rootComposition.isActiveAndEnabled) {
|
|
25794
|
-
var localTime = this.toLocalTime(this.
|
|
27394
|
+
var localTime = this.toLocalTime(this.time + deltaTime);
|
|
25795
27395
|
this.rootComposition.time = localTime;
|
|
25796
27396
|
}
|
|
25797
27397
|
};
|
|
@@ -28125,7 +29725,7 @@ __decorate([
|
|
|
28125
29725
|
serialize()
|
|
28126
29726
|
], BinaryAsset.prototype, "buffer", void 0);
|
|
28127
29727
|
BinaryAsset = __decorate([
|
|
28128
|
-
effectsClass(
|
|
29728
|
+
effectsClass(DataType.BinaryAsset)
|
|
28129
29729
|
], BinaryAsset);
|
|
28130
29730
|
|
|
28131
29731
|
registerPlugin("camera", CameraVFXItemLoader, VFXItem, true);
|
|
@@ -28134,7 +29734,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
|
|
|
28134
29734
|
registerPlugin("particle", ParticleLoader, VFXItem, true);
|
|
28135
29735
|
registerPlugin("cal", CalculateLoader, VFXItem, true);
|
|
28136
29736
|
registerPlugin("interact", InteractLoader, VFXItem, true);
|
|
28137
|
-
var version$1 = "2.1.0-alpha.
|
|
29737
|
+
var version$1 = "2.1.0-alpha.6";
|
|
28138
29738
|
logger.info("Core version: " + version$1 + ".");
|
|
28139
29739
|
|
|
28140
29740
|
var _obj;
|
|
@@ -29533,13 +31133,14 @@ var ThreeRenderer = /*#__PURE__*/ function(Renderer) {
|
|
|
29533
31133
|
opts = _extends({
|
|
29534
31134
|
autoplay: true
|
|
29535
31135
|
}, options);
|
|
29536
|
-
|
|
29537
|
-
|
|
29538
|
-
if (
|
|
31136
|
+
source = url;
|
|
31137
|
+
if (Scene.isURL(url)) {
|
|
31138
|
+
if (!Scene.isJSONObject(url)) {
|
|
31139
|
+
source = url.url;
|
|
31140
|
+
}
|
|
31141
|
+
if (Scene.isWithOptions(url)) {
|
|
29539
31142
|
opts = _extends({}, opts, url.options || {});
|
|
29540
31143
|
}
|
|
29541
|
-
} else {
|
|
29542
|
-
source = url;
|
|
29543
31144
|
}
|
|
29544
31145
|
if (_this.assetManager) {
|
|
29545
31146
|
_this.assetManager.updateOptions(opts);
|
|
@@ -29815,8 +31416,8 @@ setMaxSpriteMeshItemCount(8);
|
|
|
29815
31416
|
*/ Mesh.create = function(engine, props) {
|
|
29816
31417
|
return new ThreeMesh(engine, props);
|
|
29817
31418
|
};
|
|
29818
|
-
var version = "2.1.0-alpha.
|
|
31419
|
+
var version = "2.1.0-alpha.6";
|
|
29819
31420
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
29820
31421
|
|
|
29821
|
-
export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, FilterMode, Float16ArrayWrapper, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, PostProcessVolume, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, decimalEqual, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject,
|
|
31422
|
+
export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, ComponentShapeType, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, FilterMode, Float16ArrayWrapper, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, PostProcessVolume, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapeConnectType, ShapePointType, SpriteColorPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, decimalEqual, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
|
|
29822
31423
|
//# sourceMappingURL=index.mjs.map
|