conflict fix
diff --git a/player/index.html b/player/index.html
index 95196e1..1d59275 100644
--- a/player/index.html
+++ b/player/index.html
@@ -12,7 +12,7 @@
}
#lottie{
- background-color:#333;
+ background-color:#fff;
width:100%;
height:100%;
display:block;
@@ -193,18 +193,17 @@
//elem.style.display = 'none';
var animData = {
container: elem,
- renderer: 'canvas',
+ renderer: 'svg',
loop: true,
- autoplay: false,
+ autoplay: true,
rendererSettings: {
progressiveLoad:false,
preserveAspectRatio: 'xMidYMid meet',
imagePreserveAspectRatio: 'xMidYMid meet'
},
- path: 'exports/gumball/data.json'
+ path: 'exports/render/dna.json'
};
anim = lottie.loadAnimation(animData);
- anim.setSubframe(false);
</script>
</body>
diff --git a/player/js/elements/CompElement.js b/player/js/elements/CompElement.js
index 8ec0e7b..efae68b 100644
--- a/player/js/elements/CompElement.js
+++ b/player/js/elements/CompElement.js
@@ -10,7 +10,7 @@
this.initHierarchy();
this.initRendererElement();
this.createContainerElements();
- this.addMasks();
+ this.createRenderableComponents();
if(this.data.xt || !globalData.progressiveLoad){
this.buildAllItems();
}
diff --git a/player/js/elements/TextElement.js b/player/js/elements/TextElement.js
index 3e405d4..c4432ed 100644
--- a/player/js/elements/TextElement.js
+++ b/player/js/elements/TextElement.js
@@ -12,7 +12,7 @@
this.initRenderable();
this.initRendererElement();
this.createContainerElements();
- this.addMasks();
+ this.createRenderableComponents();
this.createContent();
this.hide();
this.textAnimator.searchProperties(this.dynamicProperties);
diff --git a/player/js/elements/canvasElements/CVBaseElement.js b/player/js/elements/canvasElements/CVBaseElement.js
index 2044657..dc8040d 100644
--- a/player/js/elements/canvasElements/CVBaseElement.js
+++ b/player/js/elements/canvasElements/CVBaseElement.js
@@ -17,7 +17,7 @@
globalData.canvasContext.globalCompositeOperation = blendModeValue;
}
},
- addMasks: function(){
+ createRenderableComponents: function(){
this.maskManager = new CVMaskElement(this.data, this);
},
hideElement: function(){
diff --git a/player/js/elements/canvasElements/CVShapeElement.js b/player/js/elements/canvasElements/CVShapeElement.js
index 14b60b9..31c4ca3 100644
--- a/player/js/elements/canvasElements/CVShapeElement.js
+++ b/player/js/elements/canvasElements/CVShapeElement.js
@@ -262,10 +262,6 @@
if(currentStyle.da){
ctx.setLineDash(currentStyle.da);
ctx.lineDashOffset = currentStyle.do;
- this.globalData.isDashed = true;
- }else if(this.globalData.isDashed){
- ctx.setLineDash(this.dashResetter);
- this.globalData.isDashed = false;
}
}
nodes = elems[j].trNodes;
@@ -282,6 +278,9 @@
}
if(type === 'st' || type === 'gs'){
ctx.stroke();
+ if(currentStyle.da){
+ ctx.setLineDash(this.dashResetter);
+ }
}
}
if(type !== 'st' && type !== 'gs'){
diff --git a/player/js/elements/helpers/RenderableDOMElement.js b/player/js/elements/helpers/RenderableDOMElement.js
index 19ef002..f2a955f 100644
--- a/player/js/elements/helpers/RenderableDOMElement.js
+++ b/player/js/elements/helpers/RenderableDOMElement.js
@@ -10,7 +10,7 @@
this.initRenderable();
this.initRendererElement();
this.createContainerElements();
- this.addMasks();
+ this.createRenderableComponents();
this.createContent();
this.hide();
},
diff --git a/player/js/elements/htmlElements/HBaseElement.js b/player/js/elements/htmlElements/HBaseElement.js
index 4ea42c9..1890474 100644
--- a/player/js/elements/htmlElements/HBaseElement.js
+++ b/player/js/elements/htmlElements/HBaseElement.js
@@ -61,9 +61,11 @@
this.maskManager = null;
}
},
- addMasks: function(){
+ createRenderableComponents: function(){
this.maskManager = new MaskElement(this.data, this, this.globalData);
},
+ addEffects: function(){
+ },
setMatte: function(){}
};
HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;
diff --git a/player/js/elements/htmlElements/HCameraElement.js b/player/js/elements/htmlElements/HCameraElement.js
index 866b2dd..4e73433 100644
--- a/player/js/elements/htmlElements/HCameraElement.js
+++ b/player/js/elements/htmlElements/HCameraElement.js
@@ -73,6 +73,7 @@
console.log(this.mat.props)*/
var mTransf = this.hierarchy[i].finalTransform.mProp;
this.mat.translate(-mTransf.p.v[0],-mTransf.p.v[1],mTransf.p.v[2]);
+ this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);
this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);
this.mat.scale(1/mTransf.s.v[0],1/mTransf.s.v[1],1/mTransf.s.v[2]);
this.mat.translate(mTransf.a.v[0],mTransf.a.v[1],mTransf.a.v[2]);
diff --git a/player/js/elements/svgElements/SVGBaseElement.js b/player/js/elements/svgElements/SVGBaseElement.js
index 02f642d..7f3a458 100644
--- a/player/js/elements/svgElements/SVGBaseElement.js
+++ b/player/js/elements/svgElements/SVGBaseElement.js
@@ -122,7 +122,6 @@
if (this.data.bm !== 0) {
this.setBlendMode();
}
- this.renderableEffectsManager = new SVGEffects(this);
},
renderElement: function() {
@@ -144,8 +143,9 @@
}
return this.baseElement;
},
- addMasks: function() {
+ createRenderableComponents: function() {
this.maskManager = new MaskElement(this.data, this, this.globalData);
+ this.renderableEffectsManager = new SVGEffects(this);
},
setMatte: function(id) {
if (!this.matteElement) {
diff --git a/player/js/mask.js b/player/js/mask.js
index 3c300c2..d7bae26 100644
--- a/player/js/mask.js
+++ b/player/js/mask.js
@@ -201,7 +201,6 @@
}
//pathNodes.__renderedString = pathString;
-
if(viewData.lastPath !== pathString){
var pathShapeValue = '';
if(viewData.elem){
diff --git a/player/js/utils/expressions/CompInterface.js b/player/js/utils/expressions/CompInterface.js
index f328ccc..9e083db 100644
--- a/player/js/utils/expressions/CompInterface.js
+++ b/player/js/utils/expressions/CompInterface.js
@@ -18,6 +18,7 @@
_thisLayerFunction.width = comp.globalData.compSize.w;
_thisLayerFunction.pixelAspect = 1;
_thisLayerFunction.frameDuration = 1/comp.globalData.frameRate;
+ _thisLayerFunction.numLayers = comp.layers.length;
return _thisLayerFunction;
};
}());
\ No newline at end of file
diff --git a/player/js/utils/expressions/ExpressionManager.js b/player/js/utils/expressions/ExpressionManager.js
index 3ef1a48..0b0a240 100644
--- a/player/js/utils/expressions/ExpressionManager.js
+++ b/player/js/utils/expressions/ExpressionManager.js
@@ -334,7 +334,7 @@
var needsVelocity = /velocity(?![\w\d])/.test(val);
var _needsRandom = val.indexOf('random') !== -1;
var elemType = elem.data.ty;
- var transform,content,effect;
+ var transform,$bm_transform,content,effect;
var thisProperty = property;
elem.comp.frameDuration = 1/elem.comp.globalData.frameRate;
var inPoint = elem.data.ip/elem.comp.globalData.frameRate;
@@ -583,11 +583,12 @@
}
if (!transform) {
transform = elem.layerInterface("ADBE Transform Group");
+ $bm_transform = transform;
if(transform) {
anchorPoint = transform.anchorPoint;
- position = transform.position;
+ /*position = transform.position;
rotation = transform.rotation;
- scale = transform.scale;
+ scale = transform.scale;*/
}
}
diff --git a/player/js/utils/shapes/RepeaterModifier.js b/player/js/utils/shapes/RepeaterModifier.js
index 0b54adc..a9f46a0 100644
--- a/player/js/utils/shapes/RepeaterModifier.js
+++ b/player/js/utils/shapes/RepeaterModifier.js
@@ -6,6 +6,8 @@
this.c = PropertyFactory.getProp(elem,data.c,0,null,this);
this.o = PropertyFactory.getProp(elem,data.o,0,null,this);
this.tr = TransformPropertyFactory.getTransformProperty(elem,data.tr,this);
+ this.so = PropertyFactory.getProp(elem,data.tr.so,0,0.01,this);
+ this.eo = PropertyFactory.getProp(elem,data.tr.eo,0,0.01,this);
this.data = data;
if(!this.dynamicProperties.length){
this.getValue(true);
@@ -157,6 +159,7 @@
jLen = itemsTransform.length;
items[items.length - 1].transform.mProps._mdf = true;
items[items.length - 1].transform.op._mdf = true;
+ items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));
if(iteration !== 0){
if((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)){
this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);