vislite 0.6.0-alpha.0 → 0.6.0

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.
Files changed (110) hide show
  1. package/.eslintrc.js +26 -0
  2. package/CHANGELOG +3 -1
  3. package/README.md +11 -3
  4. package/lib/Buffer/index.umd.js +2 -2
  5. package/lib/Buffer/index.umd.min.js +2 -2
  6. package/lib/Canvas/index.umd.js +13 -8
  7. package/lib/Canvas/index.umd.min.js +3 -3
  8. package/lib/Cardinal/index.umd.js +2 -2
  9. package/lib/Cardinal/index.umd.min.js +2 -2
  10. package/lib/Eoap/index.umd.js +2 -2
  11. package/lib/Eoap/index.umd.min.js +2 -2
  12. package/lib/Geometry/index.umd.js +7 -4
  13. package/lib/Geometry/index.umd.min.js +2 -2
  14. package/lib/Hermite/index.umd.js +2 -2
  15. package/lib/Hermite/index.umd.min.js +2 -2
  16. package/lib/Matrix4/index.umd.js +2 -2
  17. package/lib/Matrix4/index.umd.min.js +2 -2
  18. package/lib/Mercator/index.umd.js +2 -2
  19. package/lib/Mercator/index.umd.min.js +2 -2
  20. package/lib/OralCanvas/index.es.js +8 -6
  21. package/lib/OralCanvas/index.es.min.js +3 -3
  22. package/lib/OralWebGL/index.es.js +7 -5
  23. package/lib/OralWebGL/index.es.min.js +3 -3
  24. package/lib/SVG/index.umd.js +6 -4
  25. package/lib/SVG/index.umd.min.js +2 -2
  26. package/lib/Shader/index.umd.js +2 -2
  27. package/lib/Shader/index.umd.min.js +2 -2
  28. package/lib/Texture/index.umd.js +4 -3
  29. package/lib/Texture/index.umd.min.js +2 -2
  30. package/lib/TreeLayout/index.umd.js +8 -5
  31. package/lib/TreeLayout/index.umd.min.js +2 -2
  32. package/lib/WebGL/index.umd.js +7 -5
  33. package/lib/WebGL/index.umd.min.js +3 -3
  34. package/lib/animation/index.umd.js +4 -3
  35. package/lib/animation/index.umd.min.js +2 -2
  36. package/lib/formatColor/index.umd.js +2 -2
  37. package/lib/formatColor/index.umd.min.js +2 -2
  38. package/lib/getLoopColors/index.umd.js +2 -2
  39. package/lib/getLoopColors/index.umd.min.js +2 -2
  40. package/lib/getWebGLContext/index.umd.js +4 -3
  41. package/lib/getWebGLContext/index.umd.min.js +2 -2
  42. package/lib/index.umd.js +35 -20
  43. package/lib/index.umd.min.js +3 -3
  44. package/lib/move/index.umd.js +2 -2
  45. package/lib/move/index.umd.min.js +2 -2
  46. package/lib/resizeObserver/index.umd.js +4 -3
  47. package/lib/resizeObserver/index.umd.min.js +2 -2
  48. package/lib/rotate/index.umd.js +2 -2
  49. package/lib/rotate/index.umd.min.js +2 -2
  50. package/lib/ruler/index.umd.js +2 -2
  51. package/lib/ruler/index.umd.min.js +2 -2
  52. package/lib/scale/index.umd.js +2 -2
  53. package/lib/scale/index.umd.min.js +2 -2
  54. package/lib/throttle/index.umd.js +2 -2
  55. package/lib/throttle/index.umd.min.js +2 -2
  56. package/lib/viewHandler/index.umd.js +4 -4
  57. package/lib/viewHandler/index.umd.min.js +3 -3
  58. package/package.json +6 -2
  59. package/src/Canvas.ts +70 -67
  60. package/src/Eoap.ts +66 -66
  61. package/src/Geometry.ts +82 -82
  62. package/src/Matrix4/index.ts +4 -4
  63. package/src/Matrix4/move.ts +12 -12
  64. package/src/Matrix4/rotate.ts +15 -15
  65. package/src/Matrix4/transform.ts +64 -64
  66. package/src/Mercator.ts +27 -27
  67. package/src/SVG.ts +24 -24
  68. package/src/WebGL.ts +66 -66
  69. package/src/animation.ts +98 -98
  70. package/src/common/assemble.ts +22 -22
  71. package/src/common/canvas/arc.ts +51 -50
  72. package/src/common/canvas/config.ts +158 -158
  73. package/src/common/canvas/gradient.ts +29 -29
  74. package/src/common/canvas/index.ts +13 -12
  75. package/src/common/canvas/painter.ts +417 -426
  76. package/src/common/geometry/prism-horizontal.ts +35 -33
  77. package/src/common/geometry/prism-vertical.ts +40 -40
  78. package/src/common/geometry/sphere-fragment.ts +40 -39
  79. package/src/common/geometry/tool/circle.ts +11 -11
  80. package/src/common/mergeOption.ts +6 -6
  81. package/src/common/setStyle.ts +5 -5
  82. package/src/common/svg/config.ts +186 -186
  83. package/src/common/svg/dictionary.ts +1 -1
  84. package/src/common/svg/gradient.ts +63 -63
  85. package/src/common/svg/index.ts +356 -356
  86. package/src/common/svg/tool.ts +44 -44
  87. package/src/common/tree/toInnerTree.ts +57 -56
  88. package/src/common/tree/toPlainTree.ts +132 -131
  89. package/src/common/webgl/buffer.ts +79 -79
  90. package/src/common/webgl/doDraw.ts +108 -108
  91. package/src/common/webgl/getColorFactory.ts +26 -26
  92. package/src/common/webgl/getShader.ts +48 -48
  93. package/src/common/webgl/getTexture.ts +11 -11
  94. package/src/common/webgl/getWebGLContext.ts +28 -27
  95. package/src/common/webgl/index.ts +224 -223
  96. package/src/common/webgl/shader.ts +75 -75
  97. package/src/common/webgl/texture.ts +97 -96
  98. package/src/formatColor.ts +44 -44
  99. package/src/getLoopColors.ts +42 -42
  100. package/src/interpolation/Cardinal.ts +110 -110
  101. package/src/interpolation/Hermite.ts +65 -65
  102. package/src/layout/TreeLayout.ts +21 -21
  103. package/src/move.ts +7 -7
  104. package/src/resizeObserver.ts +37 -36
  105. package/src/rotate.ts +7 -7
  106. package/src/ruler.ts +18 -18
  107. package/src/throttle.ts +52 -51
  108. package/src/viewHandler.ts +158 -158
  109. package/types/CanvasOption.d.ts +8 -7
  110. package/types/CanvasOpts.d.ts +10 -0
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  /******************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
@@ -42,7 +42,8 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
42
42
 
43
43
  function getWebGLContext (canvas, scale, opts) {
44
44
  if (opts === void 0) { opts = {}; }
45
- var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], painter = null;
45
+ var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"];
46
+ var painter = null;
46
47
  for (var i = 0; i < names.length; i++) {
47
48
  try {
48
49
  painter = canvas.getContext(names[i], opts);
@@ -262,7 +263,8 @@ var linkCube = function (painter, type, level, format, textureType, images, widt
262
263
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Y,
263
264
  painter.TEXTURE_CUBE_MAP_POSITIVE_Z,
264
265
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Z
265
- ], target;
266
+ ];
267
+ var target;
266
268
  for (var i = 0; i < types.length; i++) {
267
269
  if (images[i]) {
268
270
  target = types[i];
@@ -599,7 +601,7 @@ var WebGL = (function () {
599
601
  if (needUpdate)
600
602
  this.review(true);
601
603
  needUpdate = false;
602
- return new Promise(function (resolve, reject) {
604
+ return new Promise(function (resolve) {
603
605
  var rgba = _this.__getColor(x, y);
604
606
  for (var key in _this.__regionList) {
605
607
  var currentRGBA = _this.__regionList[key];
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
- function t(t,r,e){if(e||2===arguments.length)for(var i,o=0,n=r.length;o<n;o++)!i&&o in r||(i||(i=Array.prototype.slice.call(r,0,o)),i[o]=r[o]);return t.concat(i||Array.prototype.slice.call(r))}function r(t,r,e){void 0===e&&(e={});for(var i=["webgl","experimental-webgl","webkit-3d","moz-webgl"],o=null,n=0;n<i.length;n++){try{o=t.getContext(i[n],e)}catch(t){}if(o)break}if(!o)throw new Error("Non canvas or browser does not support webgl.");var a=o.canvas.width,_=o.canvas.height,s=a*r,m=_*r;return o.viewport(.5*(a-s),.5*(_-m),s,m),o.depthFunc(o.LEQUAL),o.enable(o.DEPTH_TEST),o}function e(t){var r=t.drawingBufferWidth,e=t.drawingBufferHeight,i=new Uint8Array(4*r*e);return t.readPixels(0,0,r,e,t.RGBA,t.UNSIGNED_BYTE,i),function(t,o){return"rgba("+i[4*((o=e-o)*r+t)]+","+i[4*(o*r+t)+1]+","+i[4*(o*r+t)+2]+","+i[4*(o*r+t)+3]+")"}}"function"==typeof SuppressedError&&SuppressedError;var i=function(t,r){for(var e=[],i=0;i<4;i++)for(var o=0;o<r.length/4;o++)e[4*o+i]=t[i]*r[4*o]+t[i+4]*r[4*o+1]+t[i+8]*r[4*o+2]+t[i+12]*r[4*o+3];return e},o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],n=function(){function t(t){void 0===t&&(t=o),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=o),this.__matrix4=t,this},t.prototype.move=function(t,r,e,o){return void 0===o&&(o=0),this.__matrix4=i(function(t,r,e,i){void 0===i&&(i=0);var o=Math.sqrt(r*r+e*e+i*i);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/o,e*t/o,i*t/o,1]}(t,r,e,o),this.__matrix4),this},t.prototype.rotate=function(t,r,e,o,n,a,_){var s=function(t,r,e,i,o,n){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof e?(e=0,i=t,o=r,n=1):"number"==typeof i&&"number"==typeof o&&"number"==typeof n||(i=t,o=r,n=e,t=0,r=0,e=0),t==i&&r==o&&e==n)throw new Error("It's not a legitimate ray!");var a=Math.sqrt((i-t)*(i-t)+(o-r)*(o-r)),_=0!=a?(o-r)/a:1,s=0!=a?(i-t)/a:0,m=(i-t)*s+(o-r)*_,u=n-e,p=Math.sqrt(m*m+u*u),l=0!=p?u/p:1,c=0!=p?m/p:0;return[[_,l*s,s*c,0,-s,_*l,_*c,0,0,-c,l,0,r*s-t*_,e*c-t*s*l-r*_*l,-t*s*c-r*_*c-e*l,1],[_,-s,0,0,l*s,l*_,-c,0,s*c,_*c,l,0,t,r,e,1]]}throw new Error("a1 and b1 is required!")}(r,e,o,n,a,_);return this.__matrix4=i(i(i(s[1],function(t){var r=Math.sin(t),e=Math.cos(t);return[e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1]}(t)),s[0]),this.__matrix4),this},t.prototype.scale=function(t,r,e,o,n,a){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===a&&(a=0),this.__matrix4=i(function(t,r,e,i,o,n){return void 0===i&&(i=0),void 0===o&&(o=0),void 0===n&&(n=0),[t,0,0,0,0,r,0,0,0,0,e,0,i-i*t,o-o*r,n-n*e,1]}(t,r,e,o,n,a),this.__matrix4),this},t.prototype.multiply=function(t,r){return void 0===r&&(r=!1),this.__matrix4=r?i(this.__matrix4,t):i(t,this.__matrix4),this},t.prototype.use=function(t,r,e,o){return void 0===e&&(e=0),void 0===o&&(o=1),i(this.__matrix4,[t,r,e,o])},t.prototype.value=function(){return this.__matrix4},t}(),a=function(){function t(t,r){void 0===r&&(r=!1),this.__painter=t,this.__isElement=r,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=r?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,r,e,i){var o=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(o,r,i)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,r,e,i){return void 0===i&&(i=0),function(t,r,e,i,o,n,a){t.vertexAttribPointer(r,e,i,a,o,n),t.enableVertexAttribArray(r)}(this.__painter,t,r,this.__painter.FLOAT,e*this.__fsize,i*this.__fsize,!1),this},t}(),_=function(){function t(t,r,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[r],this.__texture=function(t,r,e){var i=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(r,i),i}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,r,e,i,o,n){t.texImage2D(r,e,i,i,o,n)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,r,e){return function(t,r,e,i,o,n,a,_,s){for(var m,u=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],p=0;p<u.length;p++)n[p]&&(m=u[p],t.texImage2D(m,e,i,a,_,0,i,o,null),t.bindTexture(r,s),t.texImage2D(m,e,i,i,o,n[p]));t.generateMipmap(r)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,r,e,this.__texture),this},t}(),s={};function m(t,r,e){var i=t+"-"+e;return s[i]||(s[i]=new _(r,e)),s[i]}var u=function(t,r,e){var i=t.createShader(r);if(null==i)throw new Error("Unable to create shader!");if(t.shaderSource(i,e),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(i));return i},p=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,r){return this.program=function(t,r,e){var i=u(t,t.VERTEX_SHADER,r),o=u(t,t.FRAGMENT_SHADER,e),n=t.createProgram();if(t.attachShader(n,i),t.attachShader(n,o),t.linkProgram(n),!t.getProgramParameter(n,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(n));return n}(this.__painter,t,r),this},t}(),l="attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",c="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",h="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",g="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}",f="precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",v="precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",d="precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",y="precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}",E={};function x(t,r,e,i,o){var n=function(t,r,e){var i,o,n=t+(e.material.color?"1":"0")+(e.material.colors?"1":"0")+(e.material.image?"1":"0")+(e.material.cube?"1":"0");if(E[n])return E[n].use();var a=(i={},i[t+"1000"]=l,i[t+"0100"]=c,i[t+"0010"]=h,i[t+"0001"]=g,i)[n].replace(/uniform +mat4 +u_matrix;/,"\n uniform mat4 u_matrix_world;\n uniform mat4 u_matrix_mesh;\n uniform mat4 u_matrix_proporion;").replace(/u_matrix +\* +a_position/,"u_matrix_proporion * u_matrix_world * u_matrix_mesh * a_position"),_=(o={},o[t+"1000"]=f,o[t+"0100"]=v,o[t+"0010"]=d,o[t+"0001"]=y,o)[n],s=new p(r).compile(a,_).use();return E[n]=s,s}(t,r,e);if(new a(r).use().write(e.geometry.attributes.position.array).divide(r.getAttribLocation(n.program,"a_position"),e.geometry.attributes.position.itemSize,e.geometry.attributes.position.itemSize,0),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_world"),!1,o.matrix),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_proporion"),!1,o.proporion),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_mesh"),!1,i.matrix),e.geometry.attributes.normal&&new a(r).use().write(e.geometry.attributes.normal.array).divide(r.getAttribLocation(n.program,"a_normal"),e.geometry.attributes.normal.itemSize,e.geometry.attributes.normal.itemSize,0),"color"in e.material&&r.uniform4f(r.getUniformLocation(n.program,"u_color"),e.material.color.r,e.material.color.g,e.material.color.b,e.material.color.alpha),"colors"in e.material)new a(r).use().write(e.material.colors.array).divide(r.getAttribLocation(n.program,"a_color"),e.material.colors.itemSize,e.material.colors.itemSize,0);else if("cube"in e.material){var _=e.material.cube.right.image.value.width;r.uniform1i(r.getUniformLocation(n.program,"u_texture"),0),m(t,r,"cube").useCube([e.material.cube.right.image.value,e.material.cube.left.image.value,e.material.cube.top.image.value,e.material.cube.bottom.image.value,e.material.cube.far.image.value,e.material.cube.near.image.value],_,_)}else"image"in e.material&&(r.uniform1i(r.getUniformLocation(n.program,"u_sampler"),0),new a(r).use().write(e.geometry.attributes.uv.array).divide(r.getAttribLocation(n.program,"a_textcoord"),e.geometry.attributes.uv.itemSize,2,0),m(t,r,"2d").useImage(e.material.image.value));e.geometry.index?(new a(r,!0).use().write(e.geometry.index.array),r.drawElements(r[e.geometry.type],e.geometry.index.count,r.UNSIGNED_BYTE,0)):r.drawArrays(r[e.geometry.type],0,e.geometry.attributes.position.count)}var b=!1,A=function(){function i(t,e){this.name="WebGL",this.__getColor=function(t,r){return"rgba(0,0,0,1)"},this.__regionList={},this.__regionAssemble=function(t,r,e,i){for(var o=[],n=0;n<i;n++)o[n]=t;return function(){for(var n=0;n<i;n++){if(o[n]+e<r){o[n]=+(o[n]+e).toFixed(7);break}n<i-1&&(o[n]=t)}return o}}(0,1,.2,3),this.__regionName="",this.__regionColor=[0,0,0,1],this.__scene={children:[],matrix:new n([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,10])},this.__unique=(new Date).valueOf(),this.painter=r(t,10),e&&(this.__regionPainter=r(e,10,{}));var i=this.painter.canvas.width/this.painter.canvas.height,o=1,a=1;i>1?o=1/i:a=i;var _=Math.min(o,a);this.__proporion=[o,0,0,0,0,a,0,0,0,0,_,0,0,0,0,1]}return i.prototype.matrix=function(t){return new n(t)},i.prototype.getMatrix=function(){return this.__scene.matrix},i.prototype.getObject3D=function(){return this.__scene.children},i.prototype.review=function(t){void 0===t&&(t=!1),t?this.__regionPainter&&(this.__regionPainter.clearColor(1,1,1,1),this.__regionPainter.clear(this.__regionPainter.COLOR_BUFFER_BIT)):(this.painter.clearColor(1,1,1,1),this.painter.clear(this.painter.COLOR_BUFFER_BIT));for(var r=0;r<this.__scene.children.length;r++)this.draw(this.__scene.children[r],t);return this},i.prototype.draw=function(t,r){void 0===r&&(r=!1),r||(b=!0);var i={matrix:t.matrix.value()},o={matrix:this.__scene.matrix.value(),proporion:this.__proporion};this.setRegion(t.region);for(var n=0;n<t.mesh.length;n++)r?this.__regionPainter&&(x("painter"+this.__unique,this.__regionPainter,{geometry:t.mesh[n].geometry,material:{color:{r:this.__regionColor[0],g:this.__regionColor[1],b:this.__regionColor[2],alpha:this.__regionColor[3]}}},i,o),this.__getColor=e(this.__regionPainter)):x("region"+this.__unique,this.painter,t.mesh[n],i,o)},i.prototype.render=function(t){"matrix"in t||(t.matrix=new n),"region"in t||(t.region="");for(var r=0;r<t.mesh.length;r++){var e=t.mesh[r];e.geometry.attributes.normal&&Array.isArray(e.geometry.attributes.normal.array)&&(e.geometry.attributes.normal.array=new Float32Array(e.geometry.attributes.normal.array)),e.geometry.attributes.position&&Array.isArray(e.geometry.attributes.position.array)&&(e.geometry.attributes.position.array=new Float32Array(e.geometry.attributes.position.array)),e.geometry.attributes.uv&&Array.isArray(e.geometry.attributes.uv.array)&&(e.geometry.attributes.uv.array=new Float32Array(e.geometry.attributes.uv.array)),e.geometry.index&&Array.isArray(e.geometry.index.array)&&(e.geometry.index.array=new Uint8Array(e.geometry.index.array)),e.material.colors&&Array.isArray(e.material.colors.array)&&(e.material.colors.array=new Float32Array(e.material.colors.array))}this.__scene.children.push(t),this.draw(t)},i.prototype.setRegion=function(r){return this.__regionName=r+"",r?(null==this.__regionList[r]&&(this.__regionList[r]=t(t([],this.__regionAssemble(),!0),[1],!1)),this.__regionColor=this.__regionList[r]):this.__regionColor=[0,0,0,1],this},i.prototype.getRegion=function(t,r){var e=this;return b&&this.review(!0),b=!1,new Promise((function(i,o){var n=e.__getColor(t,r);for(var a in e.__regionList){var _=e.__regionList[a];if("rgba("+255*_[0]+","+255*_[1]+","+255*_[2]+","+255*_[3]+")"==n){i(a);break}}i("")}))},i}();export{A as default};
11
+ function t(t,r,e){if(e||2===arguments.length)for(var i,o=0,n=r.length;o<n;o++)!i&&o in r||(i||(i=Array.prototype.slice.call(r,0,o)),i[o]=r[o]);return t.concat(i||Array.prototype.slice.call(r))}function r(t,r,e){void 0===e&&(e={});for(var i=["webgl","experimental-webgl","webkit-3d","moz-webgl"],o=null,n=0;n<i.length;n++){try{o=t.getContext(i[n],e)}catch(t){}if(o)break}if(!o)throw new Error("Non canvas or browser does not support webgl.");var a=o.canvas.width,_=o.canvas.height,s=a*r,m=_*r;return o.viewport(.5*(a-s),.5*(_-m),s,m),o.depthFunc(o.LEQUAL),o.enable(o.DEPTH_TEST),o}function e(t){var r=t.drawingBufferWidth,e=t.drawingBufferHeight,i=new Uint8Array(4*r*e);return t.readPixels(0,0,r,e,t.RGBA,t.UNSIGNED_BYTE,i),function(t,o){return"rgba("+i[4*((o=e-o)*r+t)]+","+i[4*(o*r+t)+1]+","+i[4*(o*r+t)+2]+","+i[4*(o*r+t)+3]+")"}}"function"==typeof SuppressedError&&SuppressedError;var i=function(t,r){for(var e=[],i=0;i<4;i++)for(var o=0;o<r.length/4;o++)e[4*o+i]=t[i]*r[4*o]+t[i+4]*r[4*o+1]+t[i+8]*r[4*o+2]+t[i+12]*r[4*o+3];return e},o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],n=function(){function t(t){void 0===t&&(t=o),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=o),this.__matrix4=t,this},t.prototype.move=function(t,r,e,o){return void 0===o&&(o=0),this.__matrix4=i(function(t,r,e,i){void 0===i&&(i=0);var o=Math.sqrt(r*r+e*e+i*i);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/o,e*t/o,i*t/o,1]}(t,r,e,o),this.__matrix4),this},t.prototype.rotate=function(t,r,e,o,n,a,_){var s=function(t,r,e,i,o,n){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof e?(e=0,i=t,o=r,n=1):"number"==typeof i&&"number"==typeof o&&"number"==typeof n||(i=t,o=r,n=e,t=0,r=0,e=0),t==i&&r==o&&e==n)throw new Error("It's not a legitimate ray!");var a=Math.sqrt((i-t)*(i-t)+(o-r)*(o-r)),_=0!=a?(o-r)/a:1,s=0!=a?(i-t)/a:0,m=(i-t)*s+(o-r)*_,u=n-e,p=Math.sqrt(m*m+u*u),l=0!=p?u/p:1,c=0!=p?m/p:0;return[[_,l*s,s*c,0,-s,_*l,_*c,0,0,-c,l,0,r*s-t*_,e*c-t*s*l-r*_*l,-t*s*c-r*_*c-e*l,1],[_,-s,0,0,l*s,l*_,-c,0,s*c,_*c,l,0,t,r,e,1]]}throw new Error("a1 and b1 is required!")}(r,e,o,n,a,_);return this.__matrix4=i(i(i(s[1],function(t){var r=Math.sin(t),e=Math.cos(t);return[e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1]}(t)),s[0]),this.__matrix4),this},t.prototype.scale=function(t,r,e,o,n,a){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===a&&(a=0),this.__matrix4=i(function(t,r,e,i,o,n){return void 0===i&&(i=0),void 0===o&&(o=0),void 0===n&&(n=0),[t,0,0,0,0,r,0,0,0,0,e,0,i-i*t,o-o*r,n-n*e,1]}(t,r,e,o,n,a),this.__matrix4),this},t.prototype.multiply=function(t,r){return void 0===r&&(r=!1),this.__matrix4=r?i(this.__matrix4,t):i(t,this.__matrix4),this},t.prototype.use=function(t,r,e,o){return void 0===e&&(e=0),void 0===o&&(o=1),i(this.__matrix4,[t,r,e,o])},t.prototype.value=function(){return this.__matrix4},t}(),a=function(){function t(t,r){void 0===r&&(r=!1),this.__painter=t,this.__isElement=r,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=r?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,r,e,i){var o=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(o,r,i)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,r,e,i){return void 0===i&&(i=0),function(t,r,e,i,o,n,a){t.vertexAttribPointer(r,e,i,a,o,n),t.enableVertexAttribArray(r)}(this.__painter,t,r,this.__painter.FLOAT,e*this.__fsize,i*this.__fsize,!1),this},t}(),_=function(){function t(t,r,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[r],this.__texture=function(t,r,e){var i=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(r,i),i}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,r,e,i,o,n){t.texImage2D(r,e,i,i,o,n)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,r,e){return function(t,r,e,i,o,n,a,_,s){for(var m,u=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],p=0;p<u.length;p++)n[p]&&(m=u[p],t.texImage2D(m,e,i,a,_,0,i,o,null),t.bindTexture(r,s),t.texImage2D(m,e,i,i,o,n[p]));t.generateMipmap(r)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,r,e,this.__texture),this},t}(),s={};function m(t,r,e){var i=t+"-"+e;return s[i]||(s[i]=new _(r,e)),s[i]}var u=function(t,r,e){var i=t.createShader(r);if(null==i)throw new Error("Unable to create shader!");if(t.shaderSource(i,e),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(i));return i},p=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,r){return this.program=function(t,r,e){var i=u(t,t.VERTEX_SHADER,r),o=u(t,t.FRAGMENT_SHADER,e),n=t.createProgram();if(t.attachShader(n,i),t.attachShader(n,o),t.linkProgram(n),!t.getProgramParameter(n,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(n));return n}(this.__painter,t,r),this},t}(),l="attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",c="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",h="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",g="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}",f="precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",v="precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",d="precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",y="precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}",E={};function x(t,r,e,i,o){var n=function(t,r,e){var i,o,n=t+(e.material.color?"1":"0")+(e.material.colors?"1":"0")+(e.material.image?"1":"0")+(e.material.cube?"1":"0");if(E[n])return E[n].use();var a=(i={},i[t+"1000"]=l,i[t+"0100"]=c,i[t+"0010"]=h,i[t+"0001"]=g,i)[n].replace(/uniform +mat4 +u_matrix;/,"\n uniform mat4 u_matrix_world;\n uniform mat4 u_matrix_mesh;\n uniform mat4 u_matrix_proporion;").replace(/u_matrix +\* +a_position/,"u_matrix_proporion * u_matrix_world * u_matrix_mesh * a_position"),_=(o={},o[t+"1000"]=f,o[t+"0100"]=v,o[t+"0010"]=d,o[t+"0001"]=y,o)[n],s=new p(r).compile(a,_).use();return E[n]=s,s}(t,r,e);if(new a(r).use().write(e.geometry.attributes.position.array).divide(r.getAttribLocation(n.program,"a_position"),e.geometry.attributes.position.itemSize,e.geometry.attributes.position.itemSize,0),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_world"),!1,o.matrix),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_proporion"),!1,o.proporion),r.uniformMatrix4fv(r.getUniformLocation(n.program,"u_matrix_mesh"),!1,i.matrix),e.geometry.attributes.normal&&new a(r).use().write(e.geometry.attributes.normal.array).divide(r.getAttribLocation(n.program,"a_normal"),e.geometry.attributes.normal.itemSize,e.geometry.attributes.normal.itemSize,0),"color"in e.material&&r.uniform4f(r.getUniformLocation(n.program,"u_color"),e.material.color.r,e.material.color.g,e.material.color.b,e.material.color.alpha),"colors"in e.material)new a(r).use().write(e.material.colors.array).divide(r.getAttribLocation(n.program,"a_color"),e.material.colors.itemSize,e.material.colors.itemSize,0);else if("cube"in e.material){var _=e.material.cube.right.image.value.width;r.uniform1i(r.getUniformLocation(n.program,"u_texture"),0),m(t,r,"cube").useCube([e.material.cube.right.image.value,e.material.cube.left.image.value,e.material.cube.top.image.value,e.material.cube.bottom.image.value,e.material.cube.far.image.value,e.material.cube.near.image.value],_,_)}else"image"in e.material&&(r.uniform1i(r.getUniformLocation(n.program,"u_sampler"),0),new a(r).use().write(e.geometry.attributes.uv.array).divide(r.getAttribLocation(n.program,"a_textcoord"),e.geometry.attributes.uv.itemSize,2,0),m(t,r,"2d").useImage(e.material.image.value));e.geometry.index?(new a(r,!0).use().write(e.geometry.index.array),r.drawElements(r[e.geometry.type],e.geometry.index.count,r.UNSIGNED_BYTE,0)):r.drawArrays(r[e.geometry.type],0,e.geometry.attributes.position.count)}var b=!1,A=function(){function i(t,e){this.name="WebGL",this.__getColor=function(t,r){return"rgba(0,0,0,1)"},this.__regionList={},this.__regionAssemble=function(t,r,e,i){for(var o=[],n=0;n<i;n++)o[n]=t;return function(){for(var n=0;n<i;n++){if(o[n]+e<r){o[n]=+(o[n]+e).toFixed(7);break}n<i-1&&(o[n]=t)}return o}}(0,1,.2,3),this.__regionName="",this.__regionColor=[0,0,0,1],this.__scene={children:[],matrix:new n([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,10])},this.__unique=(new Date).valueOf(),this.painter=r(t,10),e&&(this.__regionPainter=r(e,10,{}));var i=this.painter.canvas.width/this.painter.canvas.height,o=1,a=1;i>1?o=1/i:a=i;var _=Math.min(o,a);this.__proporion=[o,0,0,0,0,a,0,0,0,0,_,0,0,0,0,1]}return i.prototype.matrix=function(t){return new n(t)},i.prototype.getMatrix=function(){return this.__scene.matrix},i.prototype.getObject3D=function(){return this.__scene.children},i.prototype.review=function(t){void 0===t&&(t=!1),t?this.__regionPainter&&(this.__regionPainter.clearColor(1,1,1,1),this.__regionPainter.clear(this.__regionPainter.COLOR_BUFFER_BIT)):(this.painter.clearColor(1,1,1,1),this.painter.clear(this.painter.COLOR_BUFFER_BIT));for(var r=0;r<this.__scene.children.length;r++)this.draw(this.__scene.children[r],t);return this},i.prototype.draw=function(t,r){void 0===r&&(r=!1),r||(b=!0);var i={matrix:t.matrix.value()},o={matrix:this.__scene.matrix.value(),proporion:this.__proporion};this.setRegion(t.region);for(var n=0;n<t.mesh.length;n++)r?this.__regionPainter&&(x("painter"+this.__unique,this.__regionPainter,{geometry:t.mesh[n].geometry,material:{color:{r:this.__regionColor[0],g:this.__regionColor[1],b:this.__regionColor[2],alpha:this.__regionColor[3]}}},i,o),this.__getColor=e(this.__regionPainter)):x("region"+this.__unique,this.painter,t.mesh[n],i,o)},i.prototype.render=function(t){"matrix"in t||(t.matrix=new n),"region"in t||(t.region="");for(var r=0;r<t.mesh.length;r++){var e=t.mesh[r];e.geometry.attributes.normal&&Array.isArray(e.geometry.attributes.normal.array)&&(e.geometry.attributes.normal.array=new Float32Array(e.geometry.attributes.normal.array)),e.geometry.attributes.position&&Array.isArray(e.geometry.attributes.position.array)&&(e.geometry.attributes.position.array=new Float32Array(e.geometry.attributes.position.array)),e.geometry.attributes.uv&&Array.isArray(e.geometry.attributes.uv.array)&&(e.geometry.attributes.uv.array=new Float32Array(e.geometry.attributes.uv.array)),e.geometry.index&&Array.isArray(e.geometry.index.array)&&(e.geometry.index.array=new Uint8Array(e.geometry.index.array)),e.material.colors&&Array.isArray(e.material.colors.array)&&(e.material.colors.array=new Float32Array(e.material.colors.array))}this.__scene.children.push(t),this.draw(t)},i.prototype.setRegion=function(r){return this.__regionName=r+"",r?(null==this.__regionList[r]&&(this.__regionList[r]=t(t([],this.__regionAssemble(),!0),[1],!1)),this.__regionColor=this.__regionList[r]):this.__regionColor=[0,0,0,1],this},i.prototype.getRegion=function(t,r){var e=this;return b&&this.review(!0),b=!1,new Promise((function(i){var o=e.__getColor(t,r);for(var n in e.__regionList){var a=e.__regionList[n];if("rgba("+255*a[0]+","+255*a[1]+","+255*a[2]+","+255*a[3]+")"==o){i(n);break}}i("")}))},i}();export{A as default};
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -101,7 +101,8 @@
101
101
  beginA += rotateA;
102
102
  rotateA *= -1;
103
103
  }
104
- var temp = [], p;
104
+ var temp = [];
105
+ var p;
105
106
  p = rotate$1(0, 0, beginA, r1, 0);
106
107
  temp[0] = p[0];
107
108
  temp[1] = p[1];
@@ -199,7 +200,8 @@
199
200
  deg = deg % (Math.PI * 2);
200
201
  }
201
202
  arc(beginDeg, deg, cx, cy, r1, r2, function (beginA, endA, begInnerX, begInnerY, begOuterX, begOuterY, endInnerX, endInnerY, endOuterX, endOuterY, r) {
202
- var f = endA - beginA > Math.PI ? 1 : 0, d = "M" + begInnerX + " " + begInnerY;
203
+ var f = endA - beginA > Math.PI ? 1 : 0;
204
+ var d = "M" + begInnerX + " " + begInnerY;
203
205
  if (r < 0)
204
206
  r = -r;
205
207
  d +=
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var t,e;t=this,e=function(){"use strict";var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};"function"==typeof SuppressedError&&SuppressedError;var e=["href","title","show","type","role","actuate"];function i(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var n=function(t,i,n){e.indexOf(i)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+i,n+""):t.setAttribute(i,n+"")},r=n;function o(t,e){n(t,"stroke",e.strokeStyle),n(t,"fill",e.fillStyle),n(t,"stroke-dasharray",e.lineDash.join(","))}function s(t,e){n(t,"fill",e.fillStyle)}function u(t,e){n(t,"stroke",e.strokeStyle),n(t,"fill","none"),n(t,"stroke-dasharray",e.lineDash.join(","))}var h=function(t,e,i,n,r){var o=Math.cos(i),s=Math.sin(i);return[+((n-t)*o-(r-e)*s+t).toFixed(7),+((n-t)*s+(r-e)*o+e).toFixed(7)]},a=function(t){var e=t.getElementsByTagName("defs");if(e.length<=0){var n=i("defs");return t.appendChild(n),n}return e[0]},_=function(t,e,i,n,o){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");r(t,"dy",{top:.5*e.fontSize,middle:0,bottom:.5*-e.fontSize}[e.textBaseline]),function(t,e){for(var i in e)t.style[i]=e[i]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[e.textAlign],"dominant-baseline":"central","font-size":e.fontSize+"px","font-family":e.fontFamily}),r(t,"x",i),r(t,"y",n),"number"==typeof o&&r(t,"transform","rotate("+(o%=360)+","+i+","+n+")")},l=function(t,e,i,n){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");r(t,"cx",e),r(t,"cy",i),r(t,"r",n)},c=function(t,e){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");r(t,"d",e)},f=function(t,e,i,n,o){if("rect"!==t.nodeName.toLowerCase())throw new Error("Need a <rect> !");o<0&&(i-=o*=-1),n<0&&(e-=n*=-1),r(t,"x",e),r(t,"y",i),r(t,"width",n),r(t,"height",o)},p=function(t,e,i,n,o,s,u,a){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(u=u/180*Math.PI,a=a/180*Math.PI,u%=2*Math.PI,o>s){var _=o;o=s,s=_}a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=1.999999*Math.PI:a%=2*Math.PI,function(t,e,i,n,r,o,s){e<0&&(t+=e,e*=-1);var u,a=[];u=h(0,0,t,r,0),a[0]=u[0],a[1]=u[1],u=h(0,0,e,u[0],u[1]),a[2]=u[0],a[3]=u[1],u=h(0,0,t,o,0),a[4]=u[0],a[5]=u[1],u=h(0,0,e,u[0],u[1]),a[6]=u[0],a[7]=u[1],s(t,t+e,a[0]+i,a[1]+n,a[4]+i,a[5]+n,a[2]+i,a[3]+n,a[6]+i,a[7]+n,.5*(o-r))}(u,a,i,n,o,s,(function(i,n,u,h,a,_,l,c,f,p,d){var y=n-i>Math.PI?1:0,E="M"+u+" "+h;d<0&&(d=-d),E+="A"+o+" "+o+" 0 "+y+" 1 "+l+" "+c,"round"==e.arcEndCap?E+="A"+d+" "+d+" 0 1 0 "+f+" "+p:"-round"==e.arcEndCap?E+="A"+d+" "+d+" 0 1 1 "+f+" "+p:E+="L"+f+" "+p,E+="A"+s+" "+s+" 0 "+y+" 0 "+a+" "+_,"round"==e.arcStartCap?E+="A"+d+" "+d+" 0 1 0 "+u+" "+h:"-round"==e.arcStartCap?E+="A"+d+" "+d+" 0 1 1 "+u+" "+h:E+="L"+u+" "+h,"butt"==e.arcStartCap&&(E+="Z"),r(t,"d",E)}))};function d(t,e,i,n,r){var o=Math.cos(i),s=Math.sin(i);return[(n-t)*o-(r-e)*s+t,(n-t)*s+(r-e)*o+e]}var y={"font-size":"fontSize","font-family":"fontFamily","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},E=function(){function t(t){this.name="SVG",this.__config={fillStyle:"#000",strokeStyle:"#000",lineWidth:1,textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[]},this.__path="",this.__currentPosition=[],this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[y[t]||t];for(var e in t){var i=y[e]||e;this.__config[i]=t[e]}return this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,e){return e=e||this.__svg,"string"==typeof t&&(t=i(t)),e.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,e){var i=t;if("string"==typeof t&&(i={text:"text",path:"path",arc:"path",circle:"circle",rect:"rect"}[t]||""),""==i)throw new Error("Unsupported drawing method:"+t);return this.appendEl(i,e)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,i){return e.indexOf(i)>-1&&(i="xlink:"+i),t.getAttribute(i)}(this.__useEl,t);for(var i in t)r(this.__useEl,i,t[i]);return this},t.prototype.fillText=function(t,e,i,n){return void 0===n&&(n=0),_(this.__useEl,this.__config,e,i,n),this.__useEl.textContent=t,s(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,e,i,n){return void 0===n&&(n=0),_(this.__useEl,this.__config,e,i,n),this.__useEl.textContent=t,u(this.__useEl,this.__config),this},t.prototype.fullText=function(t,e,i,n){return void 0===n&&(n=0),_(this.__useEl,this.__config,e,i,n),this.__useEl.textContent=t,o(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,e,i,n,r,o){return p(this.__useEl,this.__config,t,e,i,n,r,o),s(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,e,i,n,r,o){return p(this.__useEl,this.__config,t,e,i,n,r,o),u(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,e,i,n,r,s){return p(this.__useEl,this.__config,t,e,i,n,r,s),o(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,e,i){return l(this.__useEl,t,e,i),s(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,e,i){return l(this.__useEl,t,e,i),u(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,e,i){return l(this.__useEl,t,e,i),o(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,e,i,n){return f(this.__useEl,t,e,i,n),s(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,e,i,n){return f(this.__useEl,t,e,i,n),u(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,e,i,n){return f(this.__useEl,t,e,i,n),o(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,e){return this.__currentPosition=[t,e],this.__path+="M"+t+" "+e,this},t.prototype.lineTo=function(t,e){return this.__currentPosition=[t,e],this.__path+=(""==this.__path?"M":"L")+t+" "+e,this},t.prototype.fill=function(){return c(this.__useEl,this.__path),s(this.__useEl,this.__config),this},t.prototype.stroke=function(){return c(this.__useEl,this.__path),u(this.__useEl,this.__config),this},t.prototype.full=function(){return c(this.__useEl,this.__path),o(this.__useEl,this.__config),this},t.prototype.arc=function(t,e,i,n,r){var o=d(t,e,n/180*Math.PI,t+i,e),s=d(t,e,(n+r)/180*Math.PI,t+i,e);return""==this.__path?this.__path+="M"+o[0]+","+o[1]:o[0]==this.__currentPosition[0]&&o[1]==this.__currentPosition[1]||(this.__path+="L"+o[0]+","+o[1]),this.__path+="A"+i+","+i+" 0 "+(r>180||r<-180?1:0)+","+(r>0?1:0)+" "+s[0]+","+s[1],this},t.prototype.quadraticCurveTo=function(t,e,i,n){return this.__path+="Q"+t+" "+e+","+i+" "+n,this},t.prototype.bezierCurveTo=function(t,e,i,n,r,o){return this.__path+="C"+t+" "+e+","+i+" "+n+","+r+" "+o,this},t.prototype.bind=function(t,e){return this.__useEl.addEventListener(t,(function(t){e.call(this,t,this)}),!1),this},t.prototype.createLinearGradient=function(t,e,n,o){return function(t,e,n,o,s){var u=a(t),h="vislite-lg-"+(new Date).valueOf()+"-"+Math.random(),_=i("linearGradient");u.appendChild(_),r(_,"id",h),r(_,"x1",e+"%"),r(_,"y1",n+"%"),r(_,"x2",o+"%"),r(_,"y2",s+"%");var l={value:function(){return"url(#"+h+")"},setColor:function(t,e){var n=i("stop");return _.appendChild(n),r(n,"offset",100*t+"%"),r(n,"style","stop-color:"+e+";"),l}};return l}(this.__svg,t,e,n,o)},t.prototype.createRadialGradient=function(t,e,n){return function(t,e,n,o){var s=a(t),u="vislite-rg-"+(new Date).valueOf()+"-"+Math.random(),h=i("radialGradient");s.appendChild(h),r(h,"id",u),r(h,"cx",e+"%"),r(h,"cy",n+"%"),r(h,"r",o+"%");var _={value:function(){return"url(#"+u+")"},setColor:function(t,e){var n=i("stop");return h.appendChild(n),r(n,"offset",100*t+"%"),r(n,"style","stop-color:"+e+";"),_}};return _}(this.__svg,t,e,n)},t}();return function(e){function i(t){if(!t)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var i=t.clientWidth,n=t.clientHeight,r=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.appendChild(r),r.setAttribute("width",i+""),r.setAttribute("height",n+""),r.setAttribute("viewBox","0 0 "+i+" "+n),e.call(this,r)||this}return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}(i,e),i}(E)},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_SVG=e();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var t,n;t=this,n=function(){"use strict";var t=function(n,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},t(n,e)};"function"==typeof SuppressedError&&SuppressedError;var n=function(t,n,e){var o=t.createShader(n);if(null==o)throw new Error("Unable to create shader!");if(t.shaderSource(o,e),t.compileShader(o),!t.getShaderParameter(o,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(o));return o},e=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,e){return this.program=function(t,e,o){var r=n(t,t.VERTEX_SHADER,e),i=n(t,t.FRAGMENT_SHADER,o),a=t.createProgram();if(t.attachShader(a,r),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(a));return a}(this.__painter,t,e),this},t}(),o=function(n){function e(){return null!==n&&n.apply(this,arguments)||this}return function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=n}t(n,e),n.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}(e,n),e.prototype.compile=function(t,e){return e?n.prototype.compile.call(this,t,e):n.prototype.compile.call(this,{color:"attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",colors:"attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",image:"attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",cube:"attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}"}[t],{color:"precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",colors:"precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",image:"precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",cube:"precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}"}[t]),this},e}(e);return o},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Shader=n();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -31,7 +31,8 @@
31
31
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Y,
32
32
  painter.TEXTURE_CUBE_MAP_POSITIVE_Z,
33
33
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Z
34
- ], target;
34
+ ];
35
+ var target;
35
36
  for (var i = 0; i < types.length; i++) {
36
37
  if (images[i]) {
37
38
  target = types[i];
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";return function(){function e(e,t,_){void 0===_&&(_=0),this.__painter=e,this.__type={"2d":e.TEXTURE_2D,cube:e.TEXTURE_CUBE_MAP}[t],this.__texture=function(e,t,_){var E=e.createTexture();return e.activeTexture(e["TEXTURE"+_]),e.bindTexture(t,E),E}(e,this.__type,_),e.texParameteri(this.__type,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(this.__type,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(this.__type,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(this.__type,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}return e.prototype.useImage=function(e){return function(e,t,_,E,i,T){e.texImage2D(t,_,E,E,i,T)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,e),this},e.prototype.useCube=function(e,t,_){return function(e,t,_,E,i,T,r,n,u){for(var a,s=[e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z],p=0;p<s.length;p++)T[p]&&(a=s[p],e.texImage2D(a,_,E,r,n,0,E,i,null),e.bindTexture(t,u),e.texImage2D(a,_,E,E,i,T[p]));e.generateMipmap(t)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,e,t,_,this.__texture),this},e}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_Texture=t();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -52,7 +52,8 @@
52
52
 
53
53
  var toInnerTree = (function (initTree, config) {
54
54
  var tempTree = {};
55
- var temp = config.root(initTree), id, rid;
55
+ var temp = config.root(initTree);
56
+ var id, rid;
56
57
  id = rid = config.id(temp);
57
58
  tempTree[id] = {
58
59
  "data": temp,
@@ -103,7 +104,8 @@
103
104
  };
104
105
  }
105
106
  else {
106
- var beforeDis_1 = [], size_1 = 0, maxDeep_1 = 0;
107
+ var beforeDis_1 = [];
108
+ var size_1 = 0, maxDeep_1 = 0;
107
109
  if (noOpens[rootid]) {
108
110
  alltreedata[rootid].left = 0.5;
109
111
  alltreedata[rootid].top = 0.5;
@@ -222,7 +224,8 @@
222
224
  }
223
225
  },
224
226
  "tick": function () {
225
- var createTime, flag, tick, callback, timer, duration, passTime, timers = $timers;
227
+ var createTime, flag, tick, callback, timer, duration, passTime;
228
+ var timers = $timers;
226
229
  $timers = [];
227
230
  $timers.length = 0;
228
231
  for (flag = 0; flag < timers.length; flag++) {
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var t,e;t=this,e=function(){"use strict";var t=function(e,o){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])},t(e,o)};function e(t,e){for(var o in t)e[o]=t[o];return e}"function"==typeof SuppressedError&&SuppressedError;var o,n=function(){function t(t){void 0===t&&(t={}),this.name="Tree",this.__config=e(t,{root:function(t){return t},children:function(t){return t.children},id:function(t){return t.name}})}return t.prototype.use=function(t,e){return void 0===e&&(e={}),function(t,e,o){var n=function(t,e){var o,n,i={},r=e.root(t);o=n=e.id(r),i[o]={data:r,pid:null,id:o,isOpen:!0,show:!0,children:[]};var p=1;return function n(r,s){var d=e.children(r,t);p+=d?d.length:0;for(var _=0;d&&_<d.length;_++)o=e.id(d[_]),i[s].children.push(o),i[o]={data:d[_],pid:s,id:o,isOpen:!0,show:!0,children:[]},n(d[_],o)}(r,o),{rid:n,value:i,num:p}}(t,e),i=n.value,r=n.rid;if(1==n.num)return i[r].left=.5,i[r].top=.5,i[r].show=!0,{deep:1,node:i,root:r,size:1};var p=[],s=0,d=0;for(var _ in o[r]?(i[r].left=.5,i[r].top=.5,i[r].show=!0,s=1):function t(e,n){n>d&&(d=n);var r=0;if(!o[e.id])for(r=0;r<e.children.length;r++)t(i[e.children[r]],n+1);if(i[e.id].left=n+.5,0==r?(null==p[n]&&(p[n]=-.5),null==p[n-1]&&(p[n-1]=-.5),i[e.id].top=p[n]+1,p[n]+1+.5*(i[e.pid].children.length-1)-1<p[n-1]&&(i[e.id].top=p[n-1]+1-.5*(i[e.pid].children.length-1))):i[e.id].top=.5*(i[e.children[0]].top+i[e.children[r-1]].top),i[e.id].top<=p[n])var _=p[n]+1-i[e.id].top((function t(e,o){i[e].top+=_,p[o]<i[e].top&&(p[o]=i[e].top);for(var n=0;n<i[e].children.length;n++)t(i[e].children[n],o+1)}))(e.id,n);p[n]=i[e.id].top,i[e.id].top+.5>s&&(s=i[e.id].top+.5)}(i[r],0),o)o[_]&&(i[_].isOpen=!1,function t(e,o,n){for(var r=0;r<i[e].children.length;r++)i[i[e].children[r]].left=o,i[i[e].children[r]].top=n,i[i[e].children[r]].show=!1,t(i[e].children[r],o,n)}(_,i[_].left,i[_].top));return{node:i,root:r,size:s,deep:d+1}}(t,this.__config,e)},t}(),i=[];function r(t,e,o,n,i){var r=Math.cos(o),p=Math.sin(o);return[(n-t)*r-(i-e)*p+t,(n-t)*p+(i-e)*r+e]}var p=function(n){function p(){var t=null!==n&&n.apply(this,arguments)||this;return t.name="TreeLayout",t.__option={offsetX:0,offsetY:0,duration:500,type:"plain",direction:"LR",x:100,y:100,width:100,height:100,radius:100},t.__noOpens={},t}return function(e,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function n(){this.constructor=e}t(e,o),e.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}(p,n),p.prototype.setOption=function(t){return e(t,this.__option),this},p.prototype.use=function(t,e){void 0===e&&(e={});var o=n.prototype.use.call(this,t,e);if(0!=this.__option.offsetX||0!=this.__option.offsetY)for(var i in o.node)if(!o.node[i].show){var p=0,s=i;do{s=o.node[s].pid,p++}while(!o.node[s].show);o.node[i].left+=this.__option.offsetX*p,o.node[i].top+=this.__option.offsetY*p}if("rect"==this.__option.type){if("LR"==this.__option.direction||"RL"==this.__option.direction){var d=this.__option.height/o.size,_=this.__option.width/(o.deep-1),h=this.__option.y-.5*this.__option.height,f="LR"==this.__option.direction?1:-1;for(var i in o.node)1==o.deep?(o.node[i].left=this.__option.x+.5*this.__option.width*f,o.node[i].top=this.__option.y):(o.node[i].left=this.__option.x+(o.node[i].left-.5)*_*f,o.node[i].top=o.node[i].top*d+h)}else if("TB"==this.__option.direction||"BT"==this.__option.direction)for(var i in d=this.__option.width/o.size,_=this.__option.height/(o.deep-1),h=this.__option.x-.5*this.__option.width,f="TB"==this.__option.direction?1:-1,o.node)if(1==o.deep)o.node[i].left=this.__option.x,o.node[i].top=this.__option.y+.5*this.__option.height*f;else{var l=o.node[i].left;o.node[i].left=o.node[i].top*d+h,o.node[i].top=this.__option.y+(l-.5)*_*f}}else if("circle"==this.__option.type){var u=this.__option.x,c=this.__option.y,a=2*Math.PI/o.size,v=this.__option.radius/(o.deep-1);for(var i in o.node)if(.5==o.node[i].left)o.node[i].left=u,o.node[i].top=c;else{var y=r(u,c,a*o.node[i].top,u+(o.node[i].left-.5)*v,c);o.node[i].left=y[0],o.node[i].top=y[1]}}return o},p.prototype.bind=function(t,e,o){return void 0===o&&(o={}),this.__rback=e,this.__oralTree=t,this.__noOpens=o,this.__preTree=this.use(this.__oralTree,this.__noOpens),this.__rback(this.__preTree),this},p.prototype.unbind=function(){return this.__rback=null,this.__oralTree=null,this.__preTree=null,this.__noOpens={},this},p.prototype.doUpdate=function(){var t=this,e=this.use(this.__oralTree,this.__noOpens),n=JSON.parse(JSON.stringify(e));!function(t,e,n){void 0===e&&(e=400),void 0===n&&(n=function(){});var r={timer:function(t,e,o){if(!t)throw new Error("Tick is required!");var n=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return i.push({id:n,createTime:new Date,tick:t,duration:e,callback:o}),r.start(),n},start:function(){o||(o=setInterval(r.tick,13))},tick:function(){var t,e,o,n,p,s,d,_=i;for((i=[]).length=0,e=0;e<_.length;e++)t=(p=_[e]).createTime,o=p.tick,s=p.duration,n=p.callback,o(d=(d=(+(new Date).valueOf()-t.valueOf())/s)>1?1:d),d<1&&p.id?i.push(p):n(d);i.length<=0&&r.stop()},stop:function(){o&&(clearInterval(o),o=null)}};r.timer((function(e){t(e)}),e,n)}((function(o){for(var i in n.node)(e.node[i].show||t.__preTree.node[i].show)&&(n.node[i].show=!0,n.node[i].left=t.__preTree.node[i].left+(e.node[i].left-t.__preTree.node[i].left)*o,n.node[i].top=t.__preTree.node[i].top+(e.node[i].top-t.__preTree.node[i].top)*o);t.__rback(n)}),this.__option.duration,(function(){t.__preTree=e,t.__rback(t.__preTree)}))},p.prototype.closeNode=function(t){if(this.__preTree)return this.__noOpens[t]=!0,this.doUpdate(),this},p.prototype.openNode=function(t){if(this.__preTree)return this.__noOpens[t]=!1,this.doUpdate(),this},p.prototype.toggleNode=function(t){if(this.__preTree)return this.__noOpens[t]=!this.__noOpens[t],this.doUpdate(),this},p}(n);return p},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_TreeLayout=e();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -62,7 +62,8 @@
62
62
 
63
63
  function getWebGLContext (canvas, scale, opts) {
64
64
  if (opts === void 0) { opts = {}; }
65
- var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], painter = null;
65
+ var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"];
66
+ var painter = null;
66
67
  for (var i = 0; i < names.length; i++) {
67
68
  try {
68
69
  painter = canvas.getContext(names[i], opts);
@@ -282,7 +283,8 @@
282
283
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Y,
283
284
  painter.TEXTURE_CUBE_MAP_POSITIVE_Z,
284
285
  painter.TEXTURE_CUBE_MAP_NEGATIVE_Z
285
- ], target;
286
+ ];
287
+ var target;
286
288
  for (var i = 0; i < types.length; i++) {
287
289
  if (images[i]) {
288
290
  target = types[i];
@@ -619,7 +621,7 @@
619
621
  if (needUpdate)
620
622
  this.review(true);
621
623
  needUpdate = false;
622
- return new Promise(function (resolve, reject) {
624
+ return new Promise(function (resolve) {
623
625
  var rgba = _this.__getColor(x, y);
624
626
  for (var key in _this.__regionList) {
625
627
  var currentRGBA = _this.__regionList[key];
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
- var t,r;t=this,r=function(){"use strict";var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},t(r,e)};function r(t,r,e){if(e||2===arguments.length)for(var i,n=0,o=r.length;n<o;n++)!i&&n in r||(i||(i=Array.prototype.slice.call(r,0,n)),i[n]=r[n]);return t.concat(i||Array.prototype.slice.call(r))}function e(t,r,e){void 0===e&&(e={});for(var i=["webgl","experimental-webgl","webkit-3d","moz-webgl"],n=null,o=0;o<i.length;o++){try{n=t.getContext(i[o],e)}catch(t){}if(n)break}if(!n)throw new Error("Non canvas or browser does not support webgl.");var a=n.canvas.width,s=n.canvas.height,_=a*r,u=s*r;return n.viewport(.5*(a-_),.5*(s-u),_,u),n.depthFunc(n.LEQUAL),n.enable(n.DEPTH_TEST),n}function i(t){var r=t.drawingBufferWidth,e=t.drawingBufferHeight,i=new Uint8Array(4*r*e);return t.readPixels(0,0,r,e,t.RGBA,t.UNSIGNED_BYTE,i),function(t,n){return"rgba("+i[4*((n=e-n)*r+t)]+","+i[4*(n*r+t)+1]+","+i[4*(n*r+t)+2]+","+i[4*(n*r+t)+3]+")"}}"function"==typeof SuppressedError&&SuppressedError;var n=function(t,r){for(var e=[],i=0;i<4;i++)for(var n=0;n<r.length/4;n++)e[4*n+i]=t[i]*r[4*n]+t[i+4]*r[4*n+1]+t[i+8]*r[4*n+2]+t[i+12]*r[4*n+3];return e},o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],a=function(){function t(t){void 0===t&&(t=o),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=o),this.__matrix4=t,this},t.prototype.move=function(t,r,e,i){return void 0===i&&(i=0),this.__matrix4=n(function(t,r,e,i){void 0===i&&(i=0);var n=Math.sqrt(r*r+e*e+i*i);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/n,e*t/n,i*t/n,1]}(t,r,e,i),this.__matrix4),this},t.prototype.rotate=function(t,r,e,i,o,a,s){var _=function(t,r,e,i,n,o){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof e?(e=0,i=t,n=r,o=1):"number"==typeof i&&"number"==typeof n&&"number"==typeof o||(i=t,n=r,o=e,t=0,r=0,e=0),t==i&&r==n&&e==o)throw new Error("It's not a legitimate ray!");var a=Math.sqrt((i-t)*(i-t)+(n-r)*(n-r)),s=0!=a?(n-r)/a:1,_=0!=a?(i-t)/a:0,u=(i-t)*_+(n-r)*s,m=o-e,p=Math.sqrt(u*u+m*m),l=0!=p?m/p:1,c=0!=p?u/p:0;return[[s,l*_,_*c,0,-_,s*l,s*c,0,0,-c,l,0,r*_-t*s,e*c-t*_*l-r*s*l,-t*_*c-r*s*c-e*l,1],[s,-_,0,0,l*_,l*s,-c,0,_*c,s*c,l,0,t,r,e,1]]}throw new Error("a1 and b1 is required!")}(r,e,i,o,a,s);return this.__matrix4=n(n(n(_[1],function(t){var r=Math.sin(t),e=Math.cos(t);return[e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1]}(t)),_[0]),this.__matrix4),this},t.prototype.scale=function(t,r,e,i,o,a){return void 0===i&&(i=0),void 0===o&&(o=0),void 0===a&&(a=0),this.__matrix4=n(function(t,r,e,i,n,o){return void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=0),[t,0,0,0,0,r,0,0,0,0,e,0,i-i*t,n-n*r,o-o*e,1]}(t,r,e,i,o,a),this.__matrix4),this},t.prototype.multiply=function(t,r){return void 0===r&&(r=!1),this.__matrix4=r?n(this.__matrix4,t):n(t,this.__matrix4),this},t.prototype.use=function(t,r,e,i){return void 0===e&&(e=0),void 0===i&&(i=1),n(this.__matrix4,[t,r,e,i])},t.prototype.value=function(){return this.__matrix4},t}(),s=function(){function t(t,r){void 0===r&&(r=!1),this.__painter=t,this.__isElement=r,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=r?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,r,e,i){var n=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(n,r,i)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,r,e,i){return void 0===i&&(i=0),function(t,r,e,i,n,o,a){t.vertexAttribPointer(r,e,i,a,n,o),t.enableVertexAttribArray(r)}(this.__painter,t,r,this.__painter.FLOAT,e*this.__fsize,i*this.__fsize,!1),this},t}(),_=function(){function t(t,r,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[r],this.__texture=function(t,r,e){var i=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(r,i),i}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,r,e,i,n,o){t.texImage2D(r,e,i,i,n,o)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,r,e){return function(t,r,e,i,n,o,a,s,_){for(var u,m=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],p=0;p<m.length;p++)o[p]&&(u=m[p],t.texImage2D(u,e,i,a,s,0,i,n,null),t.bindTexture(r,_),t.texImage2D(u,e,i,i,n,o[p]));t.generateMipmap(r)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,r,e,this.__texture),this},t}(),u={};function m(t,r,e){var i=t+"-"+e;return u[i]||(u[i]=new _(r,e)),u[i]}var p=function(t,r,e){var i=t.createShader(r);if(null==i)throw new Error("Unable to create shader!");if(t.shaderSource(i,e),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(i));return i},l=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,r){return this.program=function(t,r,e){var i=p(t,t.VERTEX_SHADER,r),n=p(t,t.FRAGMENT_SHADER,e),o=t.createProgram();if(t.attachShader(o,i),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(o));return o}(this.__painter,t,r),this},t}(),c="attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",h="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",f="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",g="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}",v="precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",d="precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",y="precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",E="precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}",b={};function x(t,r,e,i,n){var o=function(t,r,e){var i,n,o=t+(e.material.color?"1":"0")+(e.material.colors?"1":"0")+(e.material.image?"1":"0")+(e.material.cube?"1":"0");if(b[o])return b[o].use();var a=(i={},i[t+"1000"]=c,i[t+"0100"]=h,i[t+"0010"]=f,i[t+"0001"]=g,i)[o].replace(/uniform +mat4 +u_matrix;/,"\n uniform mat4 u_matrix_world;\n uniform mat4 u_matrix_mesh;\n uniform mat4 u_matrix_proporion;").replace(/u_matrix +\* +a_position/,"u_matrix_proporion * u_matrix_world * u_matrix_mesh * a_position"),s=(n={},n[t+"1000"]=v,n[t+"0100"]=d,n[t+"0010"]=y,n[t+"0001"]=E,n)[o],_=new l(r).compile(a,s).use();return b[o]=_,_}(t,r,e);if(new s(r).use().write(e.geometry.attributes.position.array).divide(r.getAttribLocation(o.program,"a_position"),e.geometry.attributes.position.itemSize,e.geometry.attributes.position.itemSize,0),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_world"),!1,n.matrix),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_proporion"),!1,n.proporion),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_mesh"),!1,i.matrix),e.geometry.attributes.normal&&new s(r).use().write(e.geometry.attributes.normal.array).divide(r.getAttribLocation(o.program,"a_normal"),e.geometry.attributes.normal.itemSize,e.geometry.attributes.normal.itemSize,0),"color"in e.material&&r.uniform4f(r.getUniformLocation(o.program,"u_color"),e.material.color.r,e.material.color.g,e.material.color.b,e.material.color.alpha),"colors"in e.material)new s(r).use().write(e.material.colors.array).divide(r.getAttribLocation(o.program,"a_color"),e.material.colors.itemSize,e.material.colors.itemSize,0);else if("cube"in e.material){var a=e.material.cube.right.image.value.width;r.uniform1i(r.getUniformLocation(o.program,"u_texture"),0),m(t,r,"cube").useCube([e.material.cube.right.image.value,e.material.cube.left.image.value,e.material.cube.top.image.value,e.material.cube.bottom.image.value,e.material.cube.far.image.value,e.material.cube.near.image.value],a,a)}else"image"in e.material&&(r.uniform1i(r.getUniformLocation(o.program,"u_sampler"),0),new s(r).use().write(e.geometry.attributes.uv.array).divide(r.getAttribLocation(o.program,"a_textcoord"),e.geometry.attributes.uv.itemSize,2,0),m(t,r,"2d").useImage(e.material.image.value));e.geometry.index?(new s(r,!0).use().write(e.geometry.index.array),r.drawElements(r[e.geometry.type],e.geometry.index.count,r.UNSIGNED_BYTE,0)):r.drawArrays(r[e.geometry.type],0,e.geometry.attributes.position.count)}var w=!1,T=function(){function t(t,r){this.name="WebGL",this.__getColor=function(t,r){return"rgba(0,0,0,1)"},this.__regionList={},this.__regionAssemble=function(t,r,e,i){for(var n=[],o=0;o<i;o++)n[o]=t;return function(){for(var o=0;o<i;o++){if(n[o]+e<r){n[o]=+(n[o]+e).toFixed(7);break}o<i-1&&(n[o]=t)}return n}}(0,1,.2,3),this.__regionName="",this.__regionColor=[0,0,0,1],this.__scene={children:[],matrix:new a([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,10])},this.__unique=(new Date).valueOf(),this.painter=e(t,10),r&&(this.__regionPainter=e(r,10,{}));var i=this.painter.canvas.width/this.painter.canvas.height,n=1,o=1;i>1?n=1/i:o=i;var s=Math.min(n,o);this.__proporion=[n,0,0,0,0,o,0,0,0,0,s,0,0,0,0,1]}return t.prototype.matrix=function(t){return new a(t)},t.prototype.getMatrix=function(){return this.__scene.matrix},t.prototype.getObject3D=function(){return this.__scene.children},t.prototype.review=function(t){void 0===t&&(t=!1),t?this.__regionPainter&&(this.__regionPainter.clearColor(1,1,1,1),this.__regionPainter.clear(this.__regionPainter.COLOR_BUFFER_BIT)):(this.painter.clearColor(1,1,1,1),this.painter.clear(this.painter.COLOR_BUFFER_BIT));for(var r=0;r<this.__scene.children.length;r++)this.draw(this.__scene.children[r],t);return this},t.prototype.draw=function(t,r){void 0===r&&(r=!1),r||(w=!0);var e={matrix:t.matrix.value()},n={matrix:this.__scene.matrix.value(),proporion:this.__proporion};this.setRegion(t.region);for(var o=0;o<t.mesh.length;o++)r?this.__regionPainter&&(x("painter"+this.__unique,this.__regionPainter,{geometry:t.mesh[o].geometry,material:{color:{r:this.__regionColor[0],g:this.__regionColor[1],b:this.__regionColor[2],alpha:this.__regionColor[3]}}},e,n),this.__getColor=i(this.__regionPainter)):x("region"+this.__unique,this.painter,t.mesh[o],e,n)},t.prototype.render=function(t){"matrix"in t||(t.matrix=new a),"region"in t||(t.region="");for(var r=0;r<t.mesh.length;r++){var e=t.mesh[r];e.geometry.attributes.normal&&Array.isArray(e.geometry.attributes.normal.array)&&(e.geometry.attributes.normal.array=new Float32Array(e.geometry.attributes.normal.array)),e.geometry.attributes.position&&Array.isArray(e.geometry.attributes.position.array)&&(e.geometry.attributes.position.array=new Float32Array(e.geometry.attributes.position.array)),e.geometry.attributes.uv&&Array.isArray(e.geometry.attributes.uv.array)&&(e.geometry.attributes.uv.array=new Float32Array(e.geometry.attributes.uv.array)),e.geometry.index&&Array.isArray(e.geometry.index.array)&&(e.geometry.index.array=new Uint8Array(e.geometry.index.array)),e.material.colors&&Array.isArray(e.material.colors.array)&&(e.material.colors.array=new Float32Array(e.material.colors.array))}this.__scene.children.push(t),this.draw(t)},t.prototype.setRegion=function(t){return this.__regionName=t+"",t?(null==this.__regionList[t]&&(this.__regionList[t]=r(r([],this.__regionAssemble(),!0),[1],!1)),this.__regionColor=this.__regionList[t]):this.__regionColor=[0,0,0,1],this},t.prototype.getRegion=function(t,r){var e=this;return w&&this.review(!0),w=!1,new Promise((function(i,n){var o=e.__getColor(t,r);for(var a in e.__regionList){var s=e.__regionList[a];if("rgba("+255*s[0]+","+255*s[1]+","+255*s[2]+","+255*s[3]+")"==o){i(a);break}}i("")}))},t}();return function(r){function e(t,e){if(void 0===e&&(e={}),!t)throw new Error("VISLite WebGL:The mount point requires an HTMLElement type but encountered null.");e=function(t,r){for(var e in t)r[e]=t[e];return r}(e,{region:!0});var i,n,o=t.clientWidth,a=t.clientHeight,s=t;s._vislite_canvas_?(i=s._vislite_canvas_[0],n=s._vislite_canvas_[1]):(e.region&&(n=document.createElement("canvas"),t.appendChild(n),n.style.position="absolute",n.style.zIndex="-1",n.style.opacity="0"),i=document.createElement("canvas"),t.appendChild(i),s._vislite_canvas_=[i,n],t.setAttribute("vislite","WebGL"));for(var _=0,u=[i,n];_<u.length;_++){var m=u[_];m&&(m.style.width=o+"px",m.setAttribute("width",o+""),m.style.height=a+"px",m.setAttribute("height",a+""))}return r.call(this,i,n)||this}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,r),e}(T)},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_WebGL=r();
11
+ var t,r;t=this,r=function(){"use strict";var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},t(r,e)};function r(t,r,e){if(e||2===arguments.length)for(var i,n=0,o=r.length;n<o;n++)!i&&n in r||(i||(i=Array.prototype.slice.call(r,0,n)),i[n]=r[n]);return t.concat(i||Array.prototype.slice.call(r))}function e(t,r,e){void 0===e&&(e={});for(var i=["webgl","experimental-webgl","webkit-3d","moz-webgl"],n=null,o=0;o<i.length;o++){try{n=t.getContext(i[o],e)}catch(t){}if(n)break}if(!n)throw new Error("Non canvas or browser does not support webgl.");var a=n.canvas.width,s=n.canvas.height,_=a*r,u=s*r;return n.viewport(.5*(a-_),.5*(s-u),_,u),n.depthFunc(n.LEQUAL),n.enable(n.DEPTH_TEST),n}function i(t){var r=t.drawingBufferWidth,e=t.drawingBufferHeight,i=new Uint8Array(4*r*e);return t.readPixels(0,0,r,e,t.RGBA,t.UNSIGNED_BYTE,i),function(t,n){return"rgba("+i[4*((n=e-n)*r+t)]+","+i[4*(n*r+t)+1]+","+i[4*(n*r+t)+2]+","+i[4*(n*r+t)+3]+")"}}"function"==typeof SuppressedError&&SuppressedError;var n=function(t,r){for(var e=[],i=0;i<4;i++)for(var n=0;n<r.length/4;n++)e[4*n+i]=t[i]*r[4*n]+t[i+4]*r[4*n+1]+t[i+8]*r[4*n+2]+t[i+12]*r[4*n+3];return e},o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],a=function(){function t(t){void 0===t&&(t=o),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=o),this.__matrix4=t,this},t.prototype.move=function(t,r,e,i){return void 0===i&&(i=0),this.__matrix4=n(function(t,r,e,i){void 0===i&&(i=0);var n=Math.sqrt(r*r+e*e+i*i);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/n,e*t/n,i*t/n,1]}(t,r,e,i),this.__matrix4),this},t.prototype.rotate=function(t,r,e,i,o,a,s){var _=function(t,r,e,i,n,o){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof e?(e=0,i=t,n=r,o=1):"number"==typeof i&&"number"==typeof n&&"number"==typeof o||(i=t,n=r,o=e,t=0,r=0,e=0),t==i&&r==n&&e==o)throw new Error("It's not a legitimate ray!");var a=Math.sqrt((i-t)*(i-t)+(n-r)*(n-r)),s=0!=a?(n-r)/a:1,_=0!=a?(i-t)/a:0,u=(i-t)*_+(n-r)*s,m=o-e,p=Math.sqrt(u*u+m*m),l=0!=p?m/p:1,c=0!=p?u/p:0;return[[s,l*_,_*c,0,-_,s*l,s*c,0,0,-c,l,0,r*_-t*s,e*c-t*_*l-r*s*l,-t*_*c-r*s*c-e*l,1],[s,-_,0,0,l*_,l*s,-c,0,_*c,s*c,l,0,t,r,e,1]]}throw new Error("a1 and b1 is required!")}(r,e,i,o,a,s);return this.__matrix4=n(n(n(_[1],function(t){var r=Math.sin(t),e=Math.cos(t);return[e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1]}(t)),_[0]),this.__matrix4),this},t.prototype.scale=function(t,r,e,i,o,a){return void 0===i&&(i=0),void 0===o&&(o=0),void 0===a&&(a=0),this.__matrix4=n(function(t,r,e,i,n,o){return void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=0),[t,0,0,0,0,r,0,0,0,0,e,0,i-i*t,n-n*r,o-o*e,1]}(t,r,e,i,o,a),this.__matrix4),this},t.prototype.multiply=function(t,r){return void 0===r&&(r=!1),this.__matrix4=r?n(this.__matrix4,t):n(t,this.__matrix4),this},t.prototype.use=function(t,r,e,i){return void 0===e&&(e=0),void 0===i&&(i=1),n(this.__matrix4,[t,r,e,i])},t.prototype.value=function(){return this.__matrix4},t}(),s=function(){function t(t,r){void 0===r&&(r=!1),this.__painter=t,this.__isElement=r,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=r?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,r,e,i){var n=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(n,r,i)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,r,e,i){return void 0===i&&(i=0),function(t,r,e,i,n,o,a){t.vertexAttribPointer(r,e,i,a,n,o),t.enableVertexAttribArray(r)}(this.__painter,t,r,this.__painter.FLOAT,e*this.__fsize,i*this.__fsize,!1),this},t}(),_=function(){function t(t,r,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[r],this.__texture=function(t,r,e){var i=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(r,i),i}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,r,e,i,n,o){t.texImage2D(r,e,i,i,n,o)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,r,e){return function(t,r,e,i,n,o,a,s,_){for(var u,m=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],p=0;p<m.length;p++)o[p]&&(u=m[p],t.texImage2D(u,e,i,a,s,0,i,n,null),t.bindTexture(r,_),t.texImage2D(u,e,i,i,n,o[p]));t.generateMipmap(r)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,r,e,this.__texture),this},t}(),u={};function m(t,r,e){var i=t+"-"+e;return u[i]||(u[i]=new _(r,e)),u[i]}var p=function(t,r,e){var i=t.createShader(r);if(null==i)throw new Error("Unable to create shader!");if(t.shaderSource(i,e),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(i));return i},l=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,r){return this.program=function(t,r,e){var i=p(t,t.VERTEX_SHADER,r),n=p(t,t.FRAGMENT_SHADER,e),o=t.createProgram();if(t.attachShader(o,i),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(o));return o}(this.__painter,t,r),this},t}(),c="attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",h="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",f="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",g="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}",v="precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",d="precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",y="precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",E="precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}",b={};function x(t,r,e,i,n){var o=function(t,r,e){var i,n,o=t+(e.material.color?"1":"0")+(e.material.colors?"1":"0")+(e.material.image?"1":"0")+(e.material.cube?"1":"0");if(b[o])return b[o].use();var a=(i={},i[t+"1000"]=c,i[t+"0100"]=h,i[t+"0010"]=f,i[t+"0001"]=g,i)[o].replace(/uniform +mat4 +u_matrix;/,"\n uniform mat4 u_matrix_world;\n uniform mat4 u_matrix_mesh;\n uniform mat4 u_matrix_proporion;").replace(/u_matrix +\* +a_position/,"u_matrix_proporion * u_matrix_world * u_matrix_mesh * a_position"),s=(n={},n[t+"1000"]=v,n[t+"0100"]=d,n[t+"0010"]=y,n[t+"0001"]=E,n)[o],_=new l(r).compile(a,s).use();return b[o]=_,_}(t,r,e);if(new s(r).use().write(e.geometry.attributes.position.array).divide(r.getAttribLocation(o.program,"a_position"),e.geometry.attributes.position.itemSize,e.geometry.attributes.position.itemSize,0),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_world"),!1,n.matrix),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_proporion"),!1,n.proporion),r.uniformMatrix4fv(r.getUniformLocation(o.program,"u_matrix_mesh"),!1,i.matrix),e.geometry.attributes.normal&&new s(r).use().write(e.geometry.attributes.normal.array).divide(r.getAttribLocation(o.program,"a_normal"),e.geometry.attributes.normal.itemSize,e.geometry.attributes.normal.itemSize,0),"color"in e.material&&r.uniform4f(r.getUniformLocation(o.program,"u_color"),e.material.color.r,e.material.color.g,e.material.color.b,e.material.color.alpha),"colors"in e.material)new s(r).use().write(e.material.colors.array).divide(r.getAttribLocation(o.program,"a_color"),e.material.colors.itemSize,e.material.colors.itemSize,0);else if("cube"in e.material){var a=e.material.cube.right.image.value.width;r.uniform1i(r.getUniformLocation(o.program,"u_texture"),0),m(t,r,"cube").useCube([e.material.cube.right.image.value,e.material.cube.left.image.value,e.material.cube.top.image.value,e.material.cube.bottom.image.value,e.material.cube.far.image.value,e.material.cube.near.image.value],a,a)}else"image"in e.material&&(r.uniform1i(r.getUniformLocation(o.program,"u_sampler"),0),new s(r).use().write(e.geometry.attributes.uv.array).divide(r.getAttribLocation(o.program,"a_textcoord"),e.geometry.attributes.uv.itemSize,2,0),m(t,r,"2d").useImage(e.material.image.value));e.geometry.index?(new s(r,!0).use().write(e.geometry.index.array),r.drawElements(r[e.geometry.type],e.geometry.index.count,r.UNSIGNED_BYTE,0)):r.drawArrays(r[e.geometry.type],0,e.geometry.attributes.position.count)}var w=!1,T=function(){function t(t,r){this.name="WebGL",this.__getColor=function(t,r){return"rgba(0,0,0,1)"},this.__regionList={},this.__regionAssemble=function(t,r,e,i){for(var n=[],o=0;o<i;o++)n[o]=t;return function(){for(var o=0;o<i;o++){if(n[o]+e<r){n[o]=+(n[o]+e).toFixed(7);break}o<i-1&&(n[o]=t)}return n}}(0,1,.2,3),this.__regionName="",this.__regionColor=[0,0,0,1],this.__scene={children:[],matrix:new a([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,10])},this.__unique=(new Date).valueOf(),this.painter=e(t,10),r&&(this.__regionPainter=e(r,10,{}));var i=this.painter.canvas.width/this.painter.canvas.height,n=1,o=1;i>1?n=1/i:o=i;var s=Math.min(n,o);this.__proporion=[n,0,0,0,0,o,0,0,0,0,s,0,0,0,0,1]}return t.prototype.matrix=function(t){return new a(t)},t.prototype.getMatrix=function(){return this.__scene.matrix},t.prototype.getObject3D=function(){return this.__scene.children},t.prototype.review=function(t){void 0===t&&(t=!1),t?this.__regionPainter&&(this.__regionPainter.clearColor(1,1,1,1),this.__regionPainter.clear(this.__regionPainter.COLOR_BUFFER_BIT)):(this.painter.clearColor(1,1,1,1),this.painter.clear(this.painter.COLOR_BUFFER_BIT));for(var r=0;r<this.__scene.children.length;r++)this.draw(this.__scene.children[r],t);return this},t.prototype.draw=function(t,r){void 0===r&&(r=!1),r||(w=!0);var e={matrix:t.matrix.value()},n={matrix:this.__scene.matrix.value(),proporion:this.__proporion};this.setRegion(t.region);for(var o=0;o<t.mesh.length;o++)r?this.__regionPainter&&(x("painter"+this.__unique,this.__regionPainter,{geometry:t.mesh[o].geometry,material:{color:{r:this.__regionColor[0],g:this.__regionColor[1],b:this.__regionColor[2],alpha:this.__regionColor[3]}}},e,n),this.__getColor=i(this.__regionPainter)):x("region"+this.__unique,this.painter,t.mesh[o],e,n)},t.prototype.render=function(t){"matrix"in t||(t.matrix=new a),"region"in t||(t.region="");for(var r=0;r<t.mesh.length;r++){var e=t.mesh[r];e.geometry.attributes.normal&&Array.isArray(e.geometry.attributes.normal.array)&&(e.geometry.attributes.normal.array=new Float32Array(e.geometry.attributes.normal.array)),e.geometry.attributes.position&&Array.isArray(e.geometry.attributes.position.array)&&(e.geometry.attributes.position.array=new Float32Array(e.geometry.attributes.position.array)),e.geometry.attributes.uv&&Array.isArray(e.geometry.attributes.uv.array)&&(e.geometry.attributes.uv.array=new Float32Array(e.geometry.attributes.uv.array)),e.geometry.index&&Array.isArray(e.geometry.index.array)&&(e.geometry.index.array=new Uint8Array(e.geometry.index.array)),e.material.colors&&Array.isArray(e.material.colors.array)&&(e.material.colors.array=new Float32Array(e.material.colors.array))}this.__scene.children.push(t),this.draw(t)},t.prototype.setRegion=function(t){return this.__regionName=t+"",t?(null==this.__regionList[t]&&(this.__regionList[t]=r(r([],this.__regionAssemble(),!0),[1],!1)),this.__regionColor=this.__regionList[t]):this.__regionColor=[0,0,0,1],this},t.prototype.getRegion=function(t,r){var e=this;return w&&this.review(!0),w=!1,new Promise((function(i){var n=e.__getColor(t,r);for(var o in e.__regionList){var a=e.__regionList[o];if("rgba("+255*a[0]+","+255*a[1]+","+255*a[2]+","+255*a[3]+")"==n){i(o);break}}i("")}))},t}();return function(r){function e(t,e){if(void 0===e&&(e={}),!t)throw new Error("VISLite WebGL:The mount point requires an HTMLElement type but encountered null.");e=function(t,r){for(var e in t)r[e]=t[e];return r}(e,{region:!0});var i,n,o=t.clientWidth,a=t.clientHeight,s=t;s._vislite_canvas_?(i=s._vislite_canvas_[0],n=s._vislite_canvas_[1]):(e.region&&(n=document.createElement("canvas"),t.appendChild(n),n.style.position="absolute",n.style.zIndex="-1",n.style.opacity="0"),i=document.createElement("canvas"),t.appendChild(i),s._vislite_canvas_=[i,n],t.setAttribute("vislite","WebGL"));for(var _=0,u=[i,n];_<u.length;_++){var m=u[_];m&&(m.style.width=o+"px",m.setAttribute("width",o+""),m.style.height=a+"px",m.setAttribute("height",a+""))}return r.call(this,i,n)||this}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,r),e}(T)},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_WebGL=r();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -42,7 +42,8 @@
42
42
  }
43
43
  },
44
44
  "tick": function () {
45
- var createTime, flag, tick, callback, timer, duration, passTime, timers = $timers;
45
+ var createTime, flag, tick, callback, timer, duration, passTime;
46
+ var timers = $timers;
46
47
  $timers = [];
47
48
  $timers.length = 0;
48
49
  for (flag = 0; flag < timers.length; flag++) {
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";var e,t=[];return function(i,n,r){void 0===n&&(n=400),void 0===r&&(r=function(){});var o={timer:function(e,i,n){if(!e)throw new Error("Tick is required!");var r=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return t.push({id:r,createTime:new Date,tick:e,duration:i,callback:n}),o.start(),r},start:function(){e||(e=setInterval(o.tick,13))},tick:function(){var e,i,n,r,a,u,f,c=t;for((t=[]).length=0,i=0;i<c.length;i++)e=(a=c[i]).createTime,n=a.tick,u=a.duration,r=a.callback,n(f=(f=(+(new Date).valueOf()-e.valueOf())/u)>1?1:f),f<1&&a.id?t.push(a):r(f);t.length<=0&&o.stop()},stop:function(){e&&(clearInterval(e),e=null)}},a=o.timer((function(e){i(e)}),n,r);return function(){var e;for(e in t)if(t[e].id==a)return void(t[e].id=void 0)}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_animation=t();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";var e=function(e){var t=e.toString(16);return 1==t.length?"0"+t:t};return function(t,o){var c=document.getElementsByTagName("head")[0];c.style.color=t;for(var n=(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(c,null):c.currentStyle).getPropertyValue("color").replace(/rgba?\(/,"").replace(")","").split(","),r=0;r<n.length;r++)n[r]=+n[r];switch(n.push(1),o){case"3d":return[n[0]/255,n[1]/255,n[2]/255,n[3]];case"rgba":return"rgba(".concat(n[0],", ").concat(n[1],", ").concat(n[2],", ").concat(n[3],")");case"rgb":return"rgb(".concat(n[0],", ").concat(n[1],", ").concat(n[2],")");case"hexAlpha":return"#".concat(e(n[0])).concat(e(n[1])).concat(e(n[2])).concat(e(+(255*n[3]).toFixed(0)));case"hex":return"#".concat(e(n[0])).concat(e(n[1])).concat(e(n[2]))}throw new Error("Unsupported color format: "+o)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_formatColor=t();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.6.0-alpha.0
2
+ * VISLite JavaScript Library v0.6.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Dec 16 2023 15:40:07 GMT+0800 (中国标准时间)
9
+ * Publish Date: Sun Dec 17 2023 17:10:48 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";return function(e,t){void 0===t&&(t=1);var r=["rgba(84,112,198,"+t+")","rgba(145,204,117,"+t+")","rgba(250,200,88,"+t+")","rgba(238,102,102,"+t+")","rgba(115,192,222,"+t+")","rgba(59,162,114,"+t+")","rgba(252,132,82,"+t+")","rgba(154,96,180,"+t+")","rgba(234,124,204,"+t+")"],n=[];if(e<=r.length)return r;if(e%r.length==0)for(var o=0;o<e/r.length;o++)n=n.concat(r);else{for(var a=1;a<e/r.length;a++)n=n.concat(r);if(e%r.length==1)n=n.concat(r[4]);else for(var f=0;f<e%r.length;f++)n=n.concat(r[f])}return n}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_getLoopColors=t();