1.1.7   修改的文本y偏移4
1.1.8   版本，去掉fillText和strokeText的maxW
1.1.9   新加shape,待测试,hitTestByPixel有问题得为false先

1.2.0   sprite修改，置空纹理时执行updateLocalBoundsSelf
        movieClip修改，alpha小于0.05不置visible为false，置alpha为0
        matrix修改，添加decompose方法
        const里的backupCanvas 赋值createCanvas()  

1.2.1   bitmapText的单位图字文本一致但贴图不一致，不会修改，去掉_text判断

1.2.2   backupCanvas导出修改

1.2.3   Rectangle.createFromRects修改，忽略宽高都为0的矩形；（待测试）
        sprite赋值texture时如果存在原贴图，且还没加载好，移除监听_onTextureUpdate；（待测试）
        sprite获取texture时如果是空纹理，返回null；（待测试）
        shape的_instanceType从ShapeNode改为Shape

1.2.4   button加上方法changeTexture，三个纹理属性都变成private  （代码已改，还未build）
        loader的loadImage里的url需要encodeURI一边，为了中文
        shape在updateShaper的s.texture.update();后添加_onTextureUpdate
        修改backupCanvas为getBackupCanvasCtx，返回上下文，（待测试）

1.2.5   shape的点击事件，清除颜色前要先setTransform(1,0,0,1,0,0);


1.2.6   canvasGraphicsRenderer画洞时的for循环里有bug（j写成了i）

1.2.7   修改canvasGraphicsRenderer的holePath方法里的SHAPES.CIRC，先加moveTo;
        canvasRenderTarget 修改，改变canvas宽度resize方法，宽高至少是1;

1.2.8   canvasRenderTarget还原修改，resize，否则可能有bug

1.2.9   button的changeTexture在禁用状态时贴图也要修改
        EventDispatcher添加移除指定类型的所有事件removeAllEventListenerByType

1.3.1   canvasMaskManager修改pushMask,置零globalAlpha
        frameAni修改，frameRate不判断必执行，否则默写修改过贴图集的会不生效
        frameAni新增resetTexturesAll方法
        frameAni去掉changeTexture方法，直接整合进currentFrame的set方法
        
1.3.3   Stage的webgl模式创建webgl上下文时添加属性
        textField单行文本检测加入\r  \r\n
        container里removeChildren在不传参数时的修改
        CanvasRenderTarget构造函数里添加clear方法，为了里面的clearRect，(淘宝canvas问题，绘制前必须调用过clearRect，否则有几率画不出来)
        filterManager里恢复判断target.filterArea
        maskManager里pushSpriteMask设置遮罩滤镜的范围为遮罩的bounds

1.3.5   加入lottie

1.3.6   stage的onMouseEvent添加e.preventDefault();

1.3.7   修复淘宝stage的onMouseEvent不加e.preventDefault()

1.3.8   stage挂上canvas，考虑非全屏canvas的onMouseEvent
1.3.9
1.4.0

1.4.1   修复lottie循环次数问题（自身Tween移除），stop可以传参重置或停在最后一帧,play会停留在最后一帧,如需play后重置回调时加stop

1.4.2   utils的index里加clamp方法,vao的getSize修改byteLength 

1.4.3(待测试)   graphics里的_renderCanvas执行finishPoly，缓存离屏时去掉children先
        maskManager里的pushSpriteMask执行shape的updateShape方法，修复webgl模式下shape作为遮罩时需要updateShape先绘制离屏的贴图
        canvasMaskManager里的pushMask的Graphics的形式下添加执行finishPoly，以防止Graphics没有end

1.4.4   空

1.4.5   textField测量文本区分web和tb环境
        所有根据my区分环境都用getEnv判断（总导出index去掉my置空逻辑，tbminiAdapte里面添加getEnv方法（initCanvas里修改env），
        下面几个修改环境判断 
        loader里的loadJson，
        textField文本测量，textField偏移upY，
        stage构造里获取canvasOffset，stage里onMouseEvent阻止默认事件，stage里onMouseEvent获取canvas偏移量）

1.4.6   container里添加removeAllChildren方法
        rectangle里得createFromRects方法有问题，针对wx1 == 0 和 hy1 == 0，先注释了

1.4.7   createTextureSheet里trim的判断添加图集宽高和原始宽高不相等也要算trim

1.4.8   lottie添加计算贝塞尔补间然后生成svga数据的方法lottieToSvgaData
        ui文件夹里添加贝塞尔补间方法
        (其实用Lottie类播放更流畅与文件帧率无关，但是缓动信息没了，只能完整播放)
        MovieClip添加记录原始数据rawData，
        MovieClip的totalFrames和videoWidth等改成只读，
        MovieClip的textures记录移入原始数据中，根据images记录，不进全局缓存
        MovieClip的initChildren纹理取值判断，原始数据没有就取全局缓存
        MovieClip的setImage方法修改
        MovieClip文件里添加deepCopyFrames方法，以后参考

1.4.9   修改包名为fyge，以后引入的包改为fyge

1.5.0   lottie里addTween添加h的判断不做缓动
        createTextureSheet里添加返回类型声明

1.5.1   shape的updateShape方法增加执行s._boundsID++
        shape的hitTestPoint方法增加执行this.updateShape();
        shape的calculateBounds继承前增加执行this.updateShape();（maskManager的pushSpriteMask里不需要updateShape了）

1.5.2   textField的updateText方法增加执行s._boundsID++;
        textField的calculateBounds继承前增加执行this.updateText();
        (shape和textField重写calculateBounds其实不好，应该只重写_calculateBounds，但是_boundsID++又是在update啥啥的时候执行，暂时那么搞吧)

1.5.3   Rectangle里的createFromRects静态方法x覆盖判断修改 

1.5.4   淘宝小程序环境下Loader的loadJson需要反序列化

1.5.5   scrollList里的updateData默认重置列表为true，暂时发现需要重置的但是漏写的居多，暂时也只有排行榜上拉请求多页不重置，老项目注意

1.5.6   button里设置锚点anchorXY的地方对纹理作判断，以防报错
        sprite的fromFrame去掉Error,改成warn

1.5.7   tween添加队列by方法
        loader方法添加loadRawWeb方法，修改downloadReadFile方法里的encoding（ArrayBuffer时传""）

1.5.8   tween上加入方法removeTweenSelf，移除tween实例
        scrollPage的scrollTo用Tween做缓动

1.5.9   stage上的canvasOffsetTb去掉先(这版本有问题)

1.5.10  stage上的canvasOffsetTb去掉先//后续版本都是去掉3d和spine的

2.0.0   添加3d模块
        webglRenderer里的bindVao方法添加第二个参数force，是否强制执行vao.bind()，默认false，D3Renderer里用（到时考虑根据vao的dirty判断bind）

2.0.1   VertexArrayObject里removeAttribute添加标记this.dirty = true;
        generateUniformAccessObject的GLSL_ARRAY_SETTERS里添加setMat4Array方法，传矩阵数组
        stage的onMouseEvent添加pc的points，
        stage的_mouseEventTypes添加3个pc的鼠标事件映射
        scrollPage手动移动时去掉Tween，destroy时去掉Tween
        3d添加骨骼动画
        
2.0.2   animationClip和animationManager放入2d,可公用，
        spine加入，（暂无约束）
        FloatDisplay和EditableText加入，淘宝小程序不可用
        displayObject添加斜切属性skew
        rope加入
        filterManager的 onPreRender方法及移除事件名改成驼峰，原先移除事件名写错了
        web环境处理webgl上下丢失情况,stage监听两个事件,webglRenderer里的handleContextRestored方法里添加执行resize
        
2.0.3   stage构造函数添加参数stageCenter:boolean=false,fixedHeight:boolean=false
        spine添加SpineAniManager类，处理动画切换过度，暂时最多只有两个动画叠加，临时解决硬切的问题

2.0.4   loader添加方法loadAB加载二进制数据，gltfLoader相应修改
        utils通用方法里添加ArrayBufferToBase64、decodeText方法处理buffer，gltfLoader相应修改
        spine文件夹添加方法loadSpine用于加载三合一的二进制文件
        spine添加clone方法，data和textures变成私有，不暴露
        loadAtlas封装createTexturesByAtlas方法

2.0.5   bone和spine尝试了用官方的，有问题，用回原来的，以后再说
        spine添加setSkin方法，去掉默认设置skin为defaultSkin
        Attachment替换掉worldMatrix为matrix
        AttachmentAniTrack修改传入spine，为了setSkin
        SpineAniManager的applyMixingFrom添加判断to
        spine添加获取所有动画名和所有皮肤名的get方法
        spine修改getAttachment方法，先获取skin的，再获取default的

2.0.6   AnimationClip基类修改stop方法lastTime赋值curTime，修改resetState方法设置_isPlaying改为调用stop
        Slot传入spine自身，为了获取初始attachment，不能提前获取放入，因为skin会变导致获取的attachment不固定
        Spine皮肤数据修改兼容数组形式
        所有的SpineAniTrack动画数据time等数据兼容默认数据
        Spine的updateSlots和updateDrawOrder从update移到updateTransform内
        AttachmentAniTrack和SpineColorAniTrack加方法resetValue
        readCurve兼容非数组数据，curve,c2,c3,c4
        Scene3D修改鼠标控件可配置参数
        getCusShader和D3Renderer大改，添加useMap、useEnvMap、combine、useVertexColor判断
        BaseMaterial修改map可为空，envMap、combine、reflectivity、useVertexColor属性加入
        
2.0.7   Bone类里updateTransform方法里super.updateTransform()改成this.displayObjectUpdateTransform()，否则重复多算了n次
        ObservablePoint的set方法修改，y不传时用x
        BitmapText添加垂直居中verticalAlign和间隙gap，并且修改textAlign和verticalAlign及gap的getset方法用于执行adaptate，adaptate变私有
        加了个SpineMeshRenderer，需要时把Spine里的Mesh换成SpineMesh就行，暂时不用，性能还比不上批处理
        去掉sound导出
        AxesHelper和GridHelper里的材质添加useVertexColor为true，使用顶点颜色

2.0.8   删掉AttachmentAniTrack copy.ts文件
        AnimationManager类里showAni方法里加判断，name的动画不存在则return，添加stop和reset方法（待测试，估计不怎么会用到）
        Shape统一beginGradientFill和beginGradientStroke，根据传的points确定是线性渐变还是径向渐变
        utils的getGradientColor方法修改参数points，为了径向渐变参数与w3c文档一致
        Spine动画duration计算，endtime都兼容下0;readAttachment里兼容path（部分贴图路径用了path字段）;setSkin方法修改（为了当前业务，和官网方式差异较大）
        SpineAniManager类里 applyMixingFrom方法在融合alpha到0时对AttachmentAniTrack额外做处理重置
        3d添加CircleGeometry（以后等改了attr方式和three一致后再加，否则改动地方太多）
        GLTFLoader里导出GltfData;

2.0.9   Object3D里加stagePos的get方法为了获取在舞台上的坐标
        Scene3D构造里加上自己的scene赋值
        添加Box3Helper类
        getCusShader的着色器参数增加glUid和precision，增加getMaxPrecision方法，顶点和片元改成动态拼接整数和浮点数精度

2.0.10  AnimationClip的update方法最后添加了派发END_FRAME，
        Object3D添加addChildren方法
        getCusShader里片元着色器光照处理提取了公共变量和方法光的镜面反射（以后抄three的着色器，处理光照和pbr）

2.0.11  Lottie的destroy里添加执行Tween.removeTweens(this);
        getCusShader的片元着色器里环境贴图的计算方式修改envUv


2.0.12  MovieClip的startAniRange方法处理下前三个传参beginFrame endFrame loops；beginFrame>endFrame时不颠倒（待测试）
        MovieClip的setImage方法里把canvas创建方法改成兼容的
        Stage去掉淘宝环境canvasOffsetTb的循环计算，淘宝环境返回的就是canvas上的显示坐标
        Stage的鼠标事件里的mouseOut和mouseOver派发事件的currentTarget和target调换下，currentTarget为当前捕捉的对象，target为触发事件的对象
        BitmapText的adaptate方法里的垂直对齐方式vertical的每个子级y值修改

2.0.13  canvas模式添加CanvasMeshRenderer用于渲染网格,CanvasRenderer的plugins添加mesh
        Stage添加判断webgl是否支持，否则回退，同时添加webgl获取不到时再试试experimental-webgl；
        Shape的像素检测点击加了getImageData返回值的判断，为了淘宝小程序的问题
        tbminiAdapte里 getCreateImage改成createImage，影响的地方有（Loader的loadImage方法，Lottie的init方法，MovieClip的init方法和setImage方法，）
        utils的isWebGLSupported方法修改
        utils的inputFeildIosEnable有修改，到时删掉

2.0.14  Stage的dpi字段改成_dpi
        Stage记录_scaleMode和_stageCenter
        Stage添加_setAlign方法(原来构造方法里设定缩放和视窗,现在在构造函数和resize方法里调用),
        Stage添加resize方法(外部自行监听window的resize事件调用)
        DisplayObject的getLocalBounds最后执行一次updateTransform(为了计算还原子级的transform);待观察后续
        tbminiAdapte修改了一边,但是注释了,未使用
        AttachmentAniTrack的setValue方法在time小于首帧时间时,对blend额外加了replace的或判断;待观察后续
        删除utils的inputFeildIosEnable(从没用过)

2.0.15  const里去掉了devicePixelRatio，SystemRenderer去掉devicePixelRatio引用
        Container的children类型any改成DisplayObject，spliceChildren返回值多了断言as，calculateBounds的child多了断言及_mask改成mask
        DisplayObject的parent加上类型Container，stage加上类型Stage，getBounds里多了断言，worldVisible忽略了item类型
        FloatDisplay去掉了devicePixelRatio，改成了stage["_dpi"]
        Graphics的_renderCanvas方法缓存里加了父级存在的判断
        Loader的loadSheet修改false回调加上各自的数据
        BitmapText的set text加了断言
        EditableText加了onblur和remove时scrollTo
        InputText暂不导出
        FrameAni新增getCurrentFrame方法
        Lottie新增几处断言，mark引号，layerData引号
        MovieClip的setImage加了断言
        Spine加了_instanceType，sortBone加了断言

2.0.16  Graphics的_renderCanvas方法的this.transform._parentID = -1，保证世界矩阵重新计算
        CanvasMaskManager的pushMask方法添加finishPoly执行条件
        EditableText大改，待测试
        toDisplayDataURL的传参typeInfo加入type限制png|jpeg
        
2.0.17  Shape类的各种绘图指令都加上返回自身，方便链式

2.0.18  loadAtlas里的 createTexturesByAtlas trim的y轴偏移修改

2.0.19  loadSpine修改，返回对象格式修改，包括动画数据，纹理数据，spine实例对象   
        删除determineCrossOrigin文件
        Bone计算时 noRotationOrReflection，scaleY乘上sy。负号
        InputText导出，并有较大修改
        Spine加上关于this.textures的判断
        SpineAniManager的showAni添加返回currentClip
        MovieClip里的init方法里添加移除所有子级，移除startAniRangeFun事件，
        MovieClip添加静态方法deepCopyFrames

2.0.20  Graphics的_renderCanvas方法里去掉了this.parent判断，去掉执行updateTransform
        Transform的updateWorldMatrix方法里去掉了==-1相关判断
        CanvasRenderer的render方法两个事件名修改，还有带transform时_worldID=-1改为_worldID++;
        toDisplayDataURL绘制完设置_parentID = -1;
        Scene3D修改_localId为_viewId，记录_viewport


现在不改，索引数据过大时得用Uint32Array，同时开扩展gl.getExtension( "OES_element_index_uint" )和drawElements改参数类型为gl.UNSIGNED_INT
//现在不改，DisplayObject的getLocalBounds最后是否考虑计算一次updateTransform(不用计算自己的,为了计算子级的)
现在不改，D3Renderer里的aSkinIndex传值用了Uint8Array，类型是gl.UNSIGNED_BYTE，估计那个外星头是因为这个
现在不改，到时loadSpine要改成返回数据（方便创建多个实例）

检查spine动画区间问题

检查spine变形动画切换不回默认

以后要改成和three一样的几何数据处理方式，为了数据能修改
以后光照要改成和three一样的处理方式

Scene3D的renderWebgl里的viewport需要修改，参数计算考虑缓存，viewport必执行

2.0.0以后的都是3d版本,前面版本有需要,index.ts修改引入后build

以后注意提交的时候带版本号，方便搜索修改记录，const里的版本要修改
//TODO
createContext到时整理下，改成createGlContext，以后所有webgl上下文获取都用这个，
CanvasRanderer里的插件注册，以后开个静态方法，方便扩展
Spine是否把showAni方法挂出来
loadSpine考虑返回的是数据而不是Spine对象
Lottie以后有时间考虑用track的方式来封装,和3d及spine的方式一致，显示对象上挂AnimationClip，部分方法挂出来，有办法多继承？
shape作为遮罩在webgl模式下_boundsID不变。所以滤镜的getBound只会计算一次，到时看Shape里怎么解决；(其实所有的计算bound都有这问题)
Texture里的removeAllHandlers是否考虑加上tex.removeEventListener = function _emptyOn() { /* empty */ };
//bitmapText 考虑添加垂直居中方法（还没写）,简单起见，没标记过dirty，所以有需要先设置对齐，再设置text
//graphics的canvas模式渲染，会把子级的也缓存，现在做法，尽量不在矢量图添加子级（已改，预存子级置空，绘制后还原，待测试）

shape的beginFill待兼容"#ff0000"和"0xff0000"，还有链式方法

ScrollPage在isSpringBack为false也做判断，触发SCROLL_TO_END或SCROLL_TO_HEAD事件

scrollList里不放数据时默认显示了一条（其实n条叠一起），待处理构造函数置空（需测试）

//shape作为遮罩时并未计算过_localBoundSelf,导致遮罩加遮罩物的点击有问题,后续考虑分开计算_localBoundSelf，暂时手动执行updateShape()
//shape在webgl模式下作为遮罩并未绘制过离屏canvas，暂时手动执行updateShape()

多page上的canvas，存在资源干扰的情况，考虑RES单独缓存，不进TextureCache缓存,createTextureSheet也不缓存进TextureCache

淘宝小程序的canvas路径api没用非零环绕原则，必须逆时针绘制想绘制的，顺时针绘制镂空的
文本在fillText没修复前，空格用\t替代

Lottie的loopout的pingpong和cycle模式，后续循环有问题，layerData的op可能比rawData的op大，暂时用补间数据用MovieClip的方式处理

Texture.WHITE得修改下，在canvas下不能用imageData去drawImage

//h5下webgl上下丢失情况需要处理事件，待加，到时可能要加在stage上了，因为渲染器里拿不到canvas标签了

音频待处理，不考虑加入渲染引擎，单独搞个npm包吧，用的时候引入

//Graphics的_canvasRender绘制模式下也要加finishPoly

目前canvas模式下不能用纯纹理的sprite作为遮罩

//3D模块分支dev3D，只需要里面的./src/3D文件夹和./test文件夹，暂时不会把dev的修改合并到dev3D

D3Renderer到时要考虑重新addAttr，重新bindVao，重新传数据upload，到时改造下vao，

FloatDisplay会阻止鼠标事件，因为现在stage的鼠标事件是在canvas的，
如果自行监听到canvas的父级上或body上，此时非全屏的canvas的鼠标事件会有问题，因为stage里只算了canvas包围盒，pageXY又不是canvas上的

FloatDisplay现在是body上面的。以后有时间取canvas的父级

文本以后按照bottom来，但是真实高度怎么拿

gltf加载考虑怎么变成加载数据，通过数据初始化一个显示对象，或者用paser生成个新的对象