@galacean/effects-threejs 2.6.0-alpha.0 → 2.6.0-alpha.1
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 +149 -77
- 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 +149 -78
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
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.6.0-alpha.
|
|
6
|
+
* Version: v2.6.0-alpha.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -1099,8 +1099,7 @@ function _inherits(subClass, superClass) {
|
|
|
1099
1099
|
JSONSceneVersion["3_1"] = "3.1";
|
|
1100
1100
|
JSONSceneVersion["3_2"] = "3.2";
|
|
1101
1101
|
JSONSceneVersion["3_3"] = "3.3";
|
|
1102
|
-
JSONSceneVersion["
|
|
1103
|
-
JSONSceneVersion["LATEST"] = "3.4";
|
|
1102
|
+
JSONSceneVersion["LATEST"] = "3.3";
|
|
1104
1103
|
})(JSONSceneVersion || (JSONSceneVersion = {}));
|
|
1105
1104
|
|
|
1106
1105
|
/*********************************************/ /* 元素属性参数类型 */ /*********************************************/ /**
|
|
@@ -1749,6 +1748,7 @@ var NodeDataType;
|
|
|
1749
1748
|
NodeDataType["AnimationClipNodeData"] = "AnimationClipNodeData";
|
|
1750
1749
|
NodeDataType["BlendNodeData"] = "BlendNodeData";
|
|
1751
1750
|
NodeDataType["ApplyAdditiveNodeData"] = "ApplyAdditiveNodeData";
|
|
1751
|
+
NodeDataType["LayerBlendNodeData"] = "LayerBlendNodeData";
|
|
1752
1752
|
NodeDataType["StateMachineNodeData"] = "StateMachineNodeData";
|
|
1753
1753
|
NodeDataType["TransitionNodeData"] = "TransitionNodeData";
|
|
1754
1754
|
NodeDataType["StateNodeData"] = "StateNodeData";
|
|
@@ -4215,6 +4215,17 @@ var Pose = /*#__PURE__*/ function() {
|
|
|
4215
4215
|
this.floatPropertyValues[animatedObjectIndex] = value;
|
|
4216
4216
|
}
|
|
4217
4217
|
};
|
|
4218
|
+
_proto.copyFrom = function copyFrom(pose) {
|
|
4219
|
+
for(var i = 0; i < this.parentSpaceTransforms.length; i++){
|
|
4220
|
+
this.parentSpaceTransforms[i].copyFrom(pose.parentSpaceTransforms[i]);
|
|
4221
|
+
}
|
|
4222
|
+
for(var i1 = 0; i1 < this.colorPropertyValues.length; i1++){
|
|
4223
|
+
this.colorPropertyValues[i1].copyFrom(pose.colorPropertyValues[i1]);
|
|
4224
|
+
}
|
|
4225
|
+
for(var i2 = 0; i2 < this.floatPropertyValues.length; i2++){
|
|
4226
|
+
this.floatPropertyValues[i2] = pose.floatPropertyValues[i2];
|
|
4227
|
+
}
|
|
4228
|
+
};
|
|
4218
4229
|
return Pose;
|
|
4219
4230
|
}();
|
|
4220
4231
|
|
|
@@ -4754,6 +4765,109 @@ var ControlParameterTriggerNode = /*#__PURE__*/ function(BoolValueNode) {
|
|
|
4754
4765
|
return ControlParameterTriggerNode;
|
|
4755
4766
|
}(BoolValueNode);
|
|
4756
4767
|
|
|
4768
|
+
exports.LayerBlendNodeData = /*#__PURE__*/ function(GraphNodeData) {
|
|
4769
|
+
_inherits(LayerBlendNodeData, GraphNodeData);
|
|
4770
|
+
function LayerBlendNodeData() {
|
|
4771
|
+
var _this;
|
|
4772
|
+
_this = GraphNodeData.apply(this, arguments) || this;
|
|
4773
|
+
_this.baseNodeIndex = InvalidIndex;
|
|
4774
|
+
_this.layerDatas = [];
|
|
4775
|
+
return _this;
|
|
4776
|
+
}
|
|
4777
|
+
var _proto = LayerBlendNodeData.prototype;
|
|
4778
|
+
_proto.instantiate = function instantiate(context) {
|
|
4779
|
+
var node = this.createNode(LayerBlendNode, context);
|
|
4780
|
+
node.baseLayerNode = context.getNode(this.baseNodeIndex);
|
|
4781
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.layerDatas), _step; !(_step = _iterator()).done;){
|
|
4782
|
+
var layerData = _step.value;
|
|
4783
|
+
node.layers.push({
|
|
4784
|
+
inputNode: context.getNode(layerData.inputNodeIndex),
|
|
4785
|
+
weightValueNode: context.getNode(layerData.weightValueNodeIndex),
|
|
4786
|
+
weight: 0
|
|
4787
|
+
});
|
|
4788
|
+
}
|
|
4789
|
+
};
|
|
4790
|
+
_proto.load = function load(data) {
|
|
4791
|
+
GraphNodeData.prototype.load.call(this, data);
|
|
4792
|
+
var _data_baseNodeIndex;
|
|
4793
|
+
this.baseNodeIndex = (_data_baseNodeIndex = data.baseNodeIndex) != null ? _data_baseNodeIndex : InvalidIndex;
|
|
4794
|
+
if (data.layerDatas) {
|
|
4795
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(data.layerDatas), _step; !(_step = _iterator()).done;){
|
|
4796
|
+
var layerData = _step.value;
|
|
4797
|
+
this.layerDatas.push(_extends({
|
|
4798
|
+
inputNodeIndex: InvalidIndex,
|
|
4799
|
+
weightValueNodeIndex: InvalidIndex
|
|
4800
|
+
}, layerData));
|
|
4801
|
+
}
|
|
4802
|
+
}
|
|
4803
|
+
};
|
|
4804
|
+
return LayerBlendNodeData;
|
|
4805
|
+
}(GraphNodeData);
|
|
4806
|
+
exports.LayerBlendNodeData = __decorate([
|
|
4807
|
+
nodeDataClass(NodeDataType.LayerBlendNodeData)
|
|
4808
|
+
], exports.LayerBlendNodeData);
|
|
4809
|
+
var LayerBlendNode = /*#__PURE__*/ function(PoseNode) {
|
|
4810
|
+
_inherits(LayerBlendNode, PoseNode);
|
|
4811
|
+
function LayerBlendNode() {
|
|
4812
|
+
var _this;
|
|
4813
|
+
_this = PoseNode.apply(this, arguments) || this;
|
|
4814
|
+
_this.baseLayerNode = null;
|
|
4815
|
+
_this.layers = [];
|
|
4816
|
+
return _this;
|
|
4817
|
+
}
|
|
4818
|
+
var _proto = LayerBlendNode.prototype;
|
|
4819
|
+
_proto.initializeInternal = function initializeInternal(context) {
|
|
4820
|
+
var //-------------------------------------------------------------------------
|
|
4821
|
+
_this_baseLayerNode;
|
|
4822
|
+
PoseNode.prototype.initializeInternal.call(this, context);
|
|
4823
|
+
//-------------------------------------------------------------------------
|
|
4824
|
+
this.layerNodeResult = new PoseResult(context.skeleton);
|
|
4825
|
+
(_this_baseLayerNode = this.baseLayerNode) == null ? void 0 : _this_baseLayerNode.initialize(context);
|
|
4826
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.layers), _step; !(_step = _iterator()).done;){
|
|
4827
|
+
var layer = _step.value;
|
|
4828
|
+
var _layer_inputNode, _layer_weightValueNode;
|
|
4829
|
+
(_layer_inputNode = layer.inputNode) == null ? void 0 : _layer_inputNode.initialize(context);
|
|
4830
|
+
(_layer_weightValueNode = layer.weightValueNode) == null ? void 0 : _layer_weightValueNode.initialize(context);
|
|
4831
|
+
}
|
|
4832
|
+
};
|
|
4833
|
+
_proto.shutdownInternal = function shutdownInternal(context) {
|
|
4834
|
+
var _this_baseLayerNode;
|
|
4835
|
+
(_this_baseLayerNode = this.baseLayerNode) == null ? void 0 : _this_baseLayerNode.shutdown(context);
|
|
4836
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.layers), _step; !(_step = _iterator()).done;){
|
|
4837
|
+
var layer = _step.value;
|
|
4838
|
+
var _layer_inputNode, _layer_weightValueNode;
|
|
4839
|
+
(_layer_inputNode = layer.inputNode) == null ? void 0 : _layer_inputNode.shutdown(context);
|
|
4840
|
+
(_layer_weightValueNode = layer.weightValueNode) == null ? void 0 : _layer_weightValueNode.shutdown(context);
|
|
4841
|
+
}
|
|
4842
|
+
PoseNode.prototype.shutdownInternal.call(this, context);
|
|
4843
|
+
};
|
|
4844
|
+
_proto.evaluate = function evaluate(context, result) {
|
|
4845
|
+
if (!(this.baseLayerNode && this.baseLayerNode.isValid())) {
|
|
4846
|
+
return result;
|
|
4847
|
+
}
|
|
4848
|
+
this.markNodeActive(context);
|
|
4849
|
+
this.previousTime = this.baseLayerNode.getCurrentTime();
|
|
4850
|
+
result = this.baseLayerNode.evaluate(context, result);
|
|
4851
|
+
this.currentTime = this.baseLayerNode.getCurrentTime();
|
|
4852
|
+
this.duration = this.baseLayerNode.getDuration();
|
|
4853
|
+
this.updateLayers(context, result);
|
|
4854
|
+
return result;
|
|
4855
|
+
};
|
|
4856
|
+
_proto.updateLayers = function updateLayers(context, result) {
|
|
4857
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.layers), _step; !(_step = _iterator()).done;){
|
|
4858
|
+
var layer = _step.value;
|
|
4859
|
+
if (layer.inputNode && layer.weightValueNode) {
|
|
4860
|
+
this.layerNodeResult.pose.copyFrom(result.pose);
|
|
4861
|
+
layer.inputNode.evaluate(context, this.layerNodeResult);
|
|
4862
|
+
var layerWeight = layer.weightValueNode.getValue(context);
|
|
4863
|
+
Blender.localBlend(result.pose, this.layerNodeResult.pose, layerWeight, result.pose);
|
|
4864
|
+
}
|
|
4865
|
+
}
|
|
4866
|
+
return result;
|
|
4867
|
+
};
|
|
4868
|
+
return LayerBlendNode;
|
|
4869
|
+
}(PoseNode);
|
|
4870
|
+
|
|
4757
4871
|
exports.EqualNodeData = /*#__PURE__*/ function(GraphNodeData) {
|
|
4758
4872
|
_inherits(EqualNodeData, GraphNodeData);
|
|
4759
4873
|
function EqualNodeData() {
|
|
@@ -15201,8 +15315,7 @@ var singleSplits = [
|
|
|
15201
15315
|
* 设置当前图层的颜色
|
|
15202
15316
|
* @since 2.5.0
|
|
15203
15317
|
*/ function set(value) {
|
|
15204
|
-
this.
|
|
15205
|
-
this.material.setColor("_Color", this._color);
|
|
15318
|
+
this.setColor(value);
|
|
15206
15319
|
}
|
|
15207
15320
|
}
|
|
15208
15321
|
]);
|
|
@@ -16560,7 +16673,11 @@ function buildEasingCurve(leftKeyframe, rightKeyframe) {
|
|
|
16560
16673
|
if (BezierMap[str]) {
|
|
16561
16674
|
bezEasing = BezierMap[str];
|
|
16562
16675
|
} else {
|
|
16563
|
-
|
|
16676
|
+
if (decimalEqual(valueInterval, 0)) {
|
|
16677
|
+
bezEasing = new BezierEasing();
|
|
16678
|
+
} else {
|
|
16679
|
+
bezEasing = new BezierEasing(x1, y1, x2, y2);
|
|
16680
|
+
}
|
|
16564
16681
|
BezierMap[str] = bezEasing;
|
|
16565
16682
|
}
|
|
16566
16683
|
return {
|
|
@@ -18983,12 +19100,23 @@ var seed$4 = 1;
|
|
|
18983
19100
|
return transformData;
|
|
18984
19101
|
};
|
|
18985
19102
|
_proto.fromData = function fromData(data) {
|
|
18986
|
-
var
|
|
18987
|
-
|
|
18988
|
-
|
|
18989
|
-
|
|
18990
|
-
|
|
18991
|
-
|
|
19103
|
+
var transformProps = {};
|
|
19104
|
+
transformProps.position = new Vector3().copyFrom(data.position);
|
|
19105
|
+
//@ts-expect-error
|
|
19106
|
+
if (data.quat) {
|
|
19107
|
+
//@ts-expect-error
|
|
19108
|
+
transformProps.quat = new Quaternion(data.quat.x, data.quat.y, data.quat.z, data.quat.w);
|
|
19109
|
+
} else {
|
|
19110
|
+
transformProps.rotation = new Euler(data.eulerHint.x, data.eulerHint.y, data.eulerHint.z);
|
|
19111
|
+
}
|
|
19112
|
+
transformProps.scale = new Vector3().copyFrom(data.scale);
|
|
19113
|
+
if (data.size) {
|
|
19114
|
+
transformProps.size = new Vector2().copyFrom(data.size);
|
|
19115
|
+
}
|
|
19116
|
+
if (data.anchor) {
|
|
19117
|
+
transformProps.anchor = new Vector2().copyFrom(data.anchor);
|
|
19118
|
+
}
|
|
19119
|
+
this.setTransform(transformProps);
|
|
18992
19120
|
};
|
|
18993
19121
|
_proto.dispose = function dispose() {};
|
|
18994
19122
|
_proto.updateTRSCache = function updateTRSCache() {
|
|
@@ -21408,44 +21536,6 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
21408
21536
|
_proto.setVisible = function setVisible(visible) {
|
|
21409
21537
|
this.renderer.setVisible(visible);
|
|
21410
21538
|
};
|
|
21411
|
-
_proto.setOpacity = function setOpacity(opacity) {
|
|
21412
|
-
var _material_getVector4;
|
|
21413
|
-
var material = this.renderer.particleMesh.mesh.material;
|
|
21414
|
-
var geometry = this.renderer.particleMesh.mesh.geometry;
|
|
21415
|
-
var originalColor = ((_material_getVector4 = material.getVector4("uOpacityOverLifetimeValue")) == null ? void 0 : _material_getVector4.toArray()) || [
|
|
21416
|
-
1,
|
|
21417
|
-
1,
|
|
21418
|
-
1,
|
|
21419
|
-
1
|
|
21420
|
-
];
|
|
21421
|
-
material.setVector4("uOpacityOverLifetimeValue", new Vector4(originalColor[0], originalColor[1], originalColor[2], opacity));
|
|
21422
|
-
var data = geometry.getAttributeData("aColor") || [];
|
|
21423
|
-
for(var i = 0; i < data.length; i += 32){
|
|
21424
|
-
data[i * 8 + 7] = opacity;
|
|
21425
|
-
}
|
|
21426
|
-
};
|
|
21427
|
-
/**
|
|
21428
|
-
* @internal
|
|
21429
|
-
*/ _proto.setColor = function setColor(r, g, b, a) {
|
|
21430
|
-
var _material_getVector4;
|
|
21431
|
-
var material = this.renderer.particleMesh.mesh.material;
|
|
21432
|
-
var geometry = this.renderer.particleMesh.mesh.geometry;
|
|
21433
|
-
var originalColor = ((_material_getVector4 = material.getVector4("uOpacityOverLifetimeValue")) == null ? void 0 : _material_getVector4.toArray()) || [
|
|
21434
|
-
1,
|
|
21435
|
-
1,
|
|
21436
|
-
1,
|
|
21437
|
-
1
|
|
21438
|
-
];
|
|
21439
|
-
material.setVector4("uOpacityOverLifetimeValue", new Vector4(originalColor[0], originalColor[1], originalColor[2], a));
|
|
21440
|
-
var data = geometry.getAttributeData("aColor") || [];
|
|
21441
|
-
for(var i = 0; i < data.length; i += 32){
|
|
21442
|
-
data[i * 8 + 4] = r;
|
|
21443
|
-
data[i * 8 + 5] = g;
|
|
21444
|
-
data[i * 8 + 6] = b;
|
|
21445
|
-
data[i * 8 + 7] = a;
|
|
21446
|
-
}
|
|
21447
|
-
};
|
|
21448
|
-
_proto.setParentTransform = function setParentTransform(transform) {};
|
|
21449
21539
|
_proto.getTextures = function getTextures() {
|
|
21450
21540
|
return this.renderer.getTextures();
|
|
21451
21541
|
};
|
|
@@ -23773,8 +23863,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
23773
23863
|
/**
|
|
23774
23864
|
* 是否开启后处理
|
|
23775
23865
|
*/ _this.postProcessingEnabled = false;
|
|
23776
|
-
// TODO: 待优化
|
|
23777
|
-
_this.assigned = false;
|
|
23778
23866
|
/**
|
|
23779
23867
|
* 销毁状态位
|
|
23780
23868
|
*/ _this.destroyed = false;
|
|
@@ -23842,7 +23930,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
23842
23930
|
aspect: width / height
|
|
23843
23931
|
}));
|
|
23844
23932
|
_this.url = scene.url;
|
|
23845
|
-
_this.assigned = true;
|
|
23846
23933
|
_this.interactive = true;
|
|
23847
23934
|
_this.handleItemMessage = handleItemMessage;
|
|
23848
23935
|
_this.createRenderFrame();
|
|
@@ -24022,7 +24109,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
24022
24109
|
* 合成更新,针对所有 item 的更新
|
|
24023
24110
|
* @param deltaTime - 更新的时间步长
|
|
24024
24111
|
*/ _proto.update = function update(deltaTime) {
|
|
24025
|
-
if (
|
|
24112
|
+
if (this.getPaused()) {
|
|
24026
24113
|
return;
|
|
24027
24114
|
}
|
|
24028
24115
|
// scene VFXItem components lifetime function.
|
|
@@ -24655,10 +24742,13 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
24655
24742
|
* @param {number} b
|
|
24656
24743
|
* @param {number} a
|
|
24657
24744
|
* @internal
|
|
24745
|
+
* @deprecated 2.6.0 Please use `Component.setColor` instead
|
|
24658
24746
|
*/ _proto.setColor = function setColor(r, g, b, a) {};
|
|
24659
24747
|
/**
|
|
24660
24748
|
* 设置元素的透明度
|
|
24661
24749
|
* @param opacity - 透明度值,范围 [0,1]
|
|
24750
|
+
* @internal
|
|
24751
|
+
* @deprecated 2.6.0 Please use `Component.setColor` instead
|
|
24662
24752
|
*/ _proto.setOpacity = function setOpacity(opacity) {};
|
|
24663
24753
|
/**
|
|
24664
24754
|
* 激活或停用 VFXItem
|
|
@@ -24861,27 +24951,8 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
24861
24951
|
this.id = id.toString(); // TODO 老数据 id 是 number,需要转换
|
|
24862
24952
|
this.name = name;
|
|
24863
24953
|
this.start = delay ? delay : this.start;
|
|
24864
|
-
var transformProps = {};
|
|
24865
24954
|
if (transform) {
|
|
24866
|
-
|
|
24867
|
-
// FIXME: transform.rotation待删除
|
|
24868
|
-
//@ts-expect-error
|
|
24869
|
-
if (transform.quat) {
|
|
24870
|
-
//@ts-expect-error
|
|
24871
|
-
transformProps.quat = new Quaternion(transform.quat.x, transform.quat.y, transform.quat.z, transform.quat.w);
|
|
24872
|
-
} else {
|
|
24873
|
-
var _transform_eulerHint;
|
|
24874
|
-
//@ts-expect-error
|
|
24875
|
-
transformProps.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
|
|
24876
|
-
}
|
|
24877
|
-
transformProps.scale = new Vector3().copyFrom(transform.scale);
|
|
24878
|
-
if (transform.size) {
|
|
24879
|
-
transformProps.size = new Vector2().copyFrom(transform.size);
|
|
24880
|
-
}
|
|
24881
|
-
if (transform.anchor) {
|
|
24882
|
-
transformProps.anchor = new Vector2().copyFrom(transform.anchor);
|
|
24883
|
-
}
|
|
24884
|
-
this.transform.setTransform(transformProps);
|
|
24955
|
+
this.transform.fromData(transform);
|
|
24885
24956
|
}
|
|
24886
24957
|
this.transform.name = this.name;
|
|
24887
24958
|
this.transform.engine = this.engine;
|
|
@@ -30990,7 +31061,7 @@ function getStandardSpriteContent(sprite, transform) {
|
|
|
30990
31061
|
return ret;
|
|
30991
31062
|
}
|
|
30992
31063
|
|
|
30993
|
-
var version$2 = "2.6.0-alpha.
|
|
31064
|
+
var version$2 = "2.6.0-alpha.1";
|
|
30994
31065
|
var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
|
|
30995
31066
|
var standardVersion = /^(\d+)\.(\d+)$/;
|
|
30996
31067
|
var reverseParticle = false;
|
|
@@ -34240,7 +34311,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem);
|
|
|
34240
34311
|
registerPlugin("particle", ParticleLoader, exports.VFXItem);
|
|
34241
34312
|
registerPlugin("cal", CalculateLoader, exports.VFXItem);
|
|
34242
34313
|
registerPlugin("interact", InteractLoader, exports.VFXItem);
|
|
34243
|
-
var version$1 = "2.6.0-alpha.
|
|
34314
|
+
var version$1 = "2.6.0-alpha.1";
|
|
34244
34315
|
logger.info("Core version: " + version$1 + ".");
|
|
34245
34316
|
|
|
34246
34317
|
var _obj;
|
|
@@ -35842,7 +35913,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
35842
35913
|
*/ Mesh.create = function(engine, props) {
|
|
35843
35914
|
return new ThreeMesh(engine, props);
|
|
35844
35915
|
};
|
|
35845
|
-
var version = "2.6.0-alpha.
|
|
35916
|
+
var version = "2.6.0-alpha.1";
|
|
35846
35917
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
35847
35918
|
|
|
35848
35919
|
exports.AbstractPlugin = AbstractPlugin;
|
|
@@ -35918,6 +35989,7 @@ exports.InteractLoader = InteractLoader;
|
|
|
35918
35989
|
exports.InteractMesh = InteractMesh;
|
|
35919
35990
|
exports.InvalidIndex = InvalidIndex;
|
|
35920
35991
|
exports.KTXTexture = KTXTexture;
|
|
35992
|
+
exports.LayerBlendNode = LayerBlendNode;
|
|
35921
35993
|
exports.LineSegments = LineSegments;
|
|
35922
35994
|
exports.LinearValue = LinearValue;
|
|
35923
35995
|
exports.MaskProcessor = MaskProcessor;
|