+ X_NodeAnime_DEFAULT = {\r
+ x : NaN,\r
+ y : NaN,\r
+ toX : NaN,\r
+ toY : NaN,\r
+ fromX : NaN,\r
+ fromY : NaN,\r
+ rotate : NaN, fromRotate : NaN, toRotate : NaN,\r
+ skewX : NaN, fromSkewX : NaN, toSkewX : NaN,\r
+ skewY : NaN, fromSkewY : NaN, toSkewY : NaN,\r
+ scaleX : 1, fromScaleX : 1, toScaleX : 1,\r
+ scaleY : 1, fromScaleY : 1, toScaleY : 1,\r
+ alpha : NaN,\r
+ scrollX : NaN, fromScrollX : NaN, toScrollX : NaN,\r
+ scrollY : NaN, fromScrollY : NaN, toScrollY : NaN //,\r
+ //doScroll : false//,\r
+ //duration : 0\r
+ //phase, lazyRelease, easing, follower, releaseNow, inited, progress, fallback\r
+ // fromTime, toTime\r
+ };\r
+\r
+/**\r
+ * GPU サポートの効いたアニメーションの設定\r
+ * <a href="https://outcloud.blogspot.jp/2015/12/pettanR-Node-Anime.html">ぺったんRフレームワークのアニメーションメソッド</a>\r
+ * @alias Node.prototype.animate\r
+ * @param {object} obj\r
+ * @return {Node} メソッドチェーン\r
+ * @example\r
+ * xnode.animate{\r
+ * from : {\r
+ * x : num,\r
+ * y : num,\r
+ * opacity : 0.0, //~1.0\r
+ * rotate : deg,\r
+ * skew : deg,\r
+ * skewX : deg,\r
+ * skewY : deg,\r
+ * scale : num,\r
+ * scaleX : num,\r
+ * scaleY : num,\r
+ * scrollX : num,\r
+ * scrollY : num\r
+ * },\r
+ * to : {}, // from と同じ\r
+ * duration : ms,\r
+ * lazyRelease : ms,\r
+ * easing : 'quadratic', // function, 'circular', 'back', 'bounce', 'elastic'\r
+ * fallback : bitFlag // 16:DXTransform, 8:css-p, 4:zoom(s) > 2:fontSize(s) > 1:width&height(vh,s)\r
+ * ** tree にいなくてもアニメーションを行いイベントを発生\r
+ * ** SVG transfrom\r
+ * fallbackWidth, fallbackHeight, transformOrigin( 0.5, 0.5 )\r
+ * }\r
+ */\r
+function X_Node_animate( obj ){\r
+ var list = X_NodeAnime_QUEUE,\r
+ from = obj[ 'from' ] || {},\r
+ dest = obj[ 'to' ] || {},\r
+ duration = obj[ 'duration' ],\r
+ lazyRelease = obj[ 'lazyRelease' ],\r
+ easing = obj[ 'easing' ],\r
+ fallback = obj[ 'fallback' ],\r
+ a, sameRate;\r