vislite 0.8.0 → 0.8.1-alpha.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 (79) hide show
  1. package/CHANGELOG +212 -209
  2. package/README.md +136 -144
  3. package/lib/Buffer/index.umd.js +36 -36
  4. package/lib/Buffer/index.umd.min.js +2 -2
  5. package/lib/Canvas/index.umd.js +691 -691
  6. package/lib/Canvas/index.umd.min.js +2 -2
  7. package/lib/Cardinal/index.umd.js +91 -91
  8. package/lib/Cardinal/index.umd.min.js +2 -2
  9. package/lib/Eoap/index.umd.js +34 -34
  10. package/lib/Eoap/index.umd.min.js +2 -2
  11. package/lib/Geometry/index.umd.js +286 -286
  12. package/lib/Geometry/index.umd.min.js +2 -2
  13. package/lib/Hermite/index.umd.js +36 -36
  14. package/lib/Hermite/index.umd.min.js +2 -2
  15. package/lib/Matrix4/index.umd.js +125 -125
  16. package/lib/Matrix4/index.umd.min.js +2 -2
  17. package/lib/Mercator/index.umd.js +20 -20
  18. package/lib/Mercator/index.umd.min.js +2 -2
  19. package/lib/OralCanvas/index.es.js +634 -634
  20. package/lib/OralCanvas/index.es.min.js +2 -2
  21. package/lib/OralWebGL/index.es.js +552 -552
  22. package/lib/OralWebGL/index.es.min.js +2 -2
  23. package/lib/SVG/index.umd.js +471 -471
  24. package/lib/SVG/index.umd.min.js +2 -2
  25. package/lib/Shader/index.umd.js +61 -61
  26. package/lib/Shader/index.umd.min.js +2 -2
  27. package/lib/Texture/index.umd.js +54 -54
  28. package/lib/Texture/index.umd.min.js +2 -2
  29. package/lib/TreeLayout/index.umd.js +368 -368
  30. package/lib/TreeLayout/index.umd.min.js +2 -2
  31. package/lib/WebGL/index.umd.js +599 -599
  32. package/lib/WebGL/index.umd.min.js +2 -2
  33. package/lib/animation/index.umd.js +73 -73
  34. package/lib/animation/index.umd.min.js +2 -2
  35. package/lib/formatColor/index.umd.js +40 -40
  36. package/lib/formatColor/index.umd.min.js +2 -2
  37. package/lib/getLoopColors/index.umd.js +36 -36
  38. package/lib/getLoopColors/index.umd.min.js +2 -2
  39. package/lib/getWebGLContext/index.umd.js +63 -63
  40. package/lib/getWebGLContext/index.umd.min.js +2 -2
  41. package/lib/index.umd.js +2955 -2955
  42. package/lib/index.umd.min.js +2 -2
  43. package/lib/move/index.umd.js +8 -8
  44. package/lib/move/index.umd.min.js +2 -2
  45. package/lib/resizeObserver/index.umd.js +30 -30
  46. package/lib/resizeObserver/index.umd.min.js +2 -2
  47. package/lib/rotate/index.umd.js +8 -8
  48. package/lib/rotate/index.umd.min.js +2 -2
  49. package/lib/ruler/index.umd.js +138 -138
  50. package/lib/ruler/index.umd.min.js +2 -2
  51. package/lib/scale/index.umd.js +7 -7
  52. package/lib/scale/index.umd.min.js +2 -2
  53. package/lib/throttle/index.umd.js +49 -49
  54. package/lib/throttle/index.umd.min.js +2 -2
  55. package/lib/viewHandler/index.umd.js +120 -120
  56. package/lib/viewHandler/index.umd.min.js +2 -2
  57. package/miniprogram/ui-canvas/drawImage.js +34 -0
  58. package/miniprogram/ui-canvas/index.js +10 -2
  59. package/package/getWebGLContext/index.ts +40 -40
  60. package/package.json +70 -70
  61. package/src/Canvas.ts +72 -72
  62. package/src/Geometry.ts +210 -210
  63. package/src/WebGL.ts +66 -66
  64. package/src/common/canvas/index.ts +183 -183
  65. package/src/common/canvas/painter.ts +446 -446
  66. package/src/common/geometry/prism-horizontal.ts +50 -50
  67. package/src/common/geometry/prism-vertical.ts +55 -55
  68. package/src/common/geometry/tool/circle.ts +17 -17
  69. package/src/common/geometry/tool/rotateLine.ts +48 -48
  70. package/src/common/geometry/tool/triangles.ts +23 -23
  71. package/src/common/webgl/getWebGLContext.ts +45 -45
  72. package/src/common/webgl/index.ts +227 -227
  73. package/types/Canvas.d.ts +318 -318
  74. package/types/Geometry.d.ts +132 -132
  75. package/types/WebGLOption.d.ts +14 -14
  76. package/types/getWebGLContext.d.ts +4 -4
  77. package/types/ui-canvas.d.ts +4 -4
  78. package/uni-app/drawImage.js +17 -17
  79. package/uni-app/ui-canvas.vue +290 -290
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.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 Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -14,124 +14,124 @@
14
14
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_viewHandler = factory());
15
15
  })(this, (function () { 'use strict';
16
16
 
17
- var mousePosition = function (el, event) {
18
- var bounding = el.getBoundingClientRect();
19
- return {
20
- "x": event.clientX - bounding.left,
21
- "y": event.clientY - bounding.top
22
- };
23
- };
24
- var getKeyString = function (event) {
25
- return {
26
- 37: "left",
27
- 38: "up",
28
- 39: "right",
29
- 40: "down",
30
- }[event.keyCode || event.which];
31
- };
32
- function viewHandler (callback) {
33
- var el = document.getElementsByTagName('body')[0];
34
- el.addEventListener("keydown", function (event) {
35
- var keyCode = getKeyString(event);
36
- if (keyCode == 'up') {
37
- callback({
38
- type: "lookUp",
39
- normal: [],
40
- value: 0.1,
41
- event: event
42
- });
43
- }
44
- else if (keyCode == 'down') {
45
- callback({
46
- type: "lookDown",
47
- normal: [],
48
- value: 0.1,
49
- event: event
50
- });
51
- }
52
- else if (keyCode == 'left') {
53
- callback({
54
- type: "lookLeft",
55
- normal: [],
56
- value: 0.1,
57
- event: event
58
- });
59
- }
60
- else if (keyCode == 'right') {
61
- callback({
62
- type: "lookRight",
63
- normal: [],
64
- value: 0.1,
65
- event: event
66
- });
67
- }
68
- });
69
- var mouseP = null;
70
- var doMove = function (event) {
71
- if (mouseP == null) {
72
- callback({
73
- type: "hover",
74
- normal: [],
75
- value: 0,
76
- event: event
77
- });
78
- }
79
- else {
80
- var tempMouseP = mousePosition(el, event);
81
- var normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y];
82
- var rotateNormal = [
83
- normal[1],
84
- normal[0],
85
- 0
86
- ];
87
- if (rotateNormal[0] == 0 && rotateNormal[1] == 0)
88
- return;
89
- callback({
90
- type: "rotate",
91
- normal: rotateNormal,
92
- value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
93
- event: event
94
- });
95
- mouseP = tempMouseP;
96
- }
97
- };
98
- el.addEventListener("mousedown", function (event) {
99
- mouseP = mousePosition(el, event);
100
- });
101
- el.addEventListener("mouseup", function () {
102
- mouseP = null;
103
- });
104
- el.addEventListener("mousemove", function (event) {
105
- doMove(event);
106
- });
107
- el.addEventListener("touchend", function () {
108
- mouseP = null;
109
- });
110
- el.addEventListener("touchstart", function (event) {
111
- mouseP = mousePosition(el, event);
112
- });
113
- el.addEventListener("touchmove", function (event) {
114
- doMove(event.touches[0]);
115
- });
116
- var doScale = function (value, event) {
117
- if (value == 0)
118
- return;
119
- var baseTimes = 0.899;
120
- callback({
121
- type: "scale",
122
- value: value < 0 ? baseTimes : 2 - baseTimes,
123
- normal: [],
124
- event: event
125
- });
126
- };
127
- el.addEventListener("mousewheel", function (event) {
128
- doScale(event.wheelDelta, event);
129
- });
130
- if (window.addEventListener) {
131
- window.addEventListener('DOMMouseScroll', function (event) {
132
- doScale(-1 * event.detail, event);
133
- }, false);
134
- }
17
+ var mousePosition = function (el, event) {
18
+ var bounding = el.getBoundingClientRect();
19
+ return {
20
+ "x": event.clientX - bounding.left,
21
+ "y": event.clientY - bounding.top
22
+ };
23
+ };
24
+ var getKeyString = function (event) {
25
+ return {
26
+ 37: "left",
27
+ 38: "up",
28
+ 39: "right",
29
+ 40: "down",
30
+ }[event.keyCode || event.which];
31
+ };
32
+ function viewHandler (callback) {
33
+ var el = document.getElementsByTagName('body')[0];
34
+ el.addEventListener("keydown", function (event) {
35
+ var keyCode = getKeyString(event);
36
+ if (keyCode == 'up') {
37
+ callback({
38
+ type: "lookUp",
39
+ normal: [],
40
+ value: 0.1,
41
+ event: event
42
+ });
43
+ }
44
+ else if (keyCode == 'down') {
45
+ callback({
46
+ type: "lookDown",
47
+ normal: [],
48
+ value: 0.1,
49
+ event: event
50
+ });
51
+ }
52
+ else if (keyCode == 'left') {
53
+ callback({
54
+ type: "lookLeft",
55
+ normal: [],
56
+ value: 0.1,
57
+ event: event
58
+ });
59
+ }
60
+ else if (keyCode == 'right') {
61
+ callback({
62
+ type: "lookRight",
63
+ normal: [],
64
+ value: 0.1,
65
+ event: event
66
+ });
67
+ }
68
+ });
69
+ var mouseP = null;
70
+ var doMove = function (event) {
71
+ if (mouseP == null) {
72
+ callback({
73
+ type: "hover",
74
+ normal: [],
75
+ value: 0,
76
+ event: event
77
+ });
78
+ }
79
+ else {
80
+ var tempMouseP = mousePosition(el, event);
81
+ var normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y];
82
+ var rotateNormal = [
83
+ normal[1],
84
+ normal[0],
85
+ 0
86
+ ];
87
+ if (rotateNormal[0] == 0 && rotateNormal[1] == 0)
88
+ return;
89
+ callback({
90
+ type: "rotate",
91
+ normal: rotateNormal,
92
+ value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
93
+ event: event
94
+ });
95
+ mouseP = tempMouseP;
96
+ }
97
+ };
98
+ el.addEventListener("mousedown", function (event) {
99
+ mouseP = mousePosition(el, event);
100
+ });
101
+ el.addEventListener("mouseup", function () {
102
+ mouseP = null;
103
+ });
104
+ el.addEventListener("mousemove", function (event) {
105
+ doMove(event);
106
+ });
107
+ el.addEventListener("touchend", function () {
108
+ mouseP = null;
109
+ });
110
+ el.addEventListener("touchstart", function (event) {
111
+ mouseP = mousePosition(el, event);
112
+ });
113
+ el.addEventListener("touchmove", function (event) {
114
+ doMove(event.touches[0]);
115
+ });
116
+ var doScale = function (value, event) {
117
+ if (value == 0)
118
+ return;
119
+ var baseTimes = 0.899;
120
+ callback({
121
+ type: "scale",
122
+ value: value < 0 ? baseTimes : 2 - baseTimes,
123
+ normal: [],
124
+ event: event
125
+ });
126
+ };
127
+ el.addEventListener("mousewheel", function (event) {
128
+ doScale(event.wheelDelta, event);
129
+ });
130
+ if (window.addEventListener) {
131
+ window.addEventListener('DOMMouseScroll', function (event) {
132
+ doScale(-1 * event.detail, event);
133
+ }, false);
134
+ }
135
135
  }
136
136
 
137
137
  return viewHandler;
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.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 Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  var e,n;e=this,n=function(){"use strict";var e=function(e,n){var t=e.getBoundingClientRect();return{x:n.clientX-t.left,y:n.clientY-t.top}};return function(n){var t=document.getElementsByTagName("body")[0];t.addEventListener("keydown",(function(e){var t=function(e){return{37:"left",38:"up",39:"right",40:"down"}[e.keyCode||e.which]}(e);"up"==t?n({type:"lookUp",normal:[],value:.1,event:e}):"down"==t?n({type:"lookDown",normal:[],value:.1,event:e}):"left"==t?n({type:"lookLeft",normal:[],value:.1,event:e}):"right"==t&&n({type:"lookRight",normal:[],value:.1,event:e})}));var o=null,i=function(i){if(null==o)n({type:"hover",normal:[],value:0,event:i});else{var u=e(t,i),l=[u.x-o.x,u.y-o.y],a=[l[1],l[0],0];if(0==a[0]&&0==a[1])return;n({type:"rotate",normal:a,value:.01*(Math.abs(u.x-o.x)+Math.abs(u.y-o.y)),event:i}),o=u}};t.addEventListener("mousedown",(function(n){o=e(t,n)})),t.addEventListener("mouseup",(function(){o=null})),t.addEventListener("mousemove",(function(e){i(e)})),t.addEventListener("touchend",(function(){o=null})),t.addEventListener("touchstart",(function(n){o=e(t,n)})),t.addEventListener("touchmove",(function(e){i(e.touches[0])}));var u=function(e,t){0!=e&&n({type:"scale",value:e<0?.899:1.101,normal:[],event:t})};t.addEventListener("mousewheel",(function(e){u(e.wheelDelta,e)})),window.addEventListener&&window.addEventListener("DOMMouseScroll",(function(e){u(-1*e.detail,e)}),!1)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_viewHandler=n();
@@ -0,0 +1,34 @@
1
+ export default function (_this, drawImage, canvas) {
2
+ return function (imgUrl, x, y, w, h) {
3
+ return new Promise((resolve) => {
4
+
5
+ let doit = (imgsrc) => {
6
+ if (canvas.createImage) {
7
+ let img = canvas.createImage();
8
+ img.onload = function () {
9
+ drawImage.call(_this, img, x, y, w, h, true);
10
+ resolve({});
11
+ };
12
+ img.src = imgsrc;
13
+ }
14
+
15
+ // 低版本兼容
16
+ else {
17
+ drawImage.call(_this, imgsrc, x, y, w, h, true);
18
+ resolve({});
19
+ }
20
+ };
21
+
22
+ if (/^http/.test(imgUrl)) {
23
+ wx.downloadFile({
24
+ url: imgUrl,
25
+ success: function (res) {
26
+ doit(res.tempFilePath);
27
+ },
28
+ })
29
+ } else {
30
+ doit(imgUrl);
31
+ }
32
+ });
33
+ };
34
+ };
@@ -1,4 +1,5 @@
1
1
  import OralCanvas from "../../lib/OralCanvas/index.es.js";
2
+ import drawImage from "./drawImage.js";
2
3
 
3
4
  let dpr = wx.getSystemInfoSync().pixelRatio;
4
5
 
@@ -49,14 +50,14 @@ Component({
49
50
  ctx.scale(dpr, dpr);
50
51
  }
51
52
 
52
- doback(ctx);
53
+ doback(ctx, idName != 'region' ? canvas : null);
53
54
  });
54
55
  } else {
55
56
  doback(null);
56
57
  }
57
58
  };
58
59
 
59
- getCanvasContext("painter", painter => {
60
+ getCanvasContext("painter", (painter, panvas) => {
60
61
  getCanvasContext("region", region => {
61
62
  this.data.help.instance = new OralCanvas({
62
63
  getContext() {
@@ -78,6 +79,13 @@ Component({
78
79
  }, this);
79
80
  })
80
81
  };
82
+
83
+ this.data.help.instance.drawImage = drawImage(
84
+ this.data.help.instance,
85
+ this.data.help.instance.drawImage,
86
+ panvas
87
+ );
88
+
81
89
  resolve(this.data.help.instance);
82
90
  });
83
91
  });
@@ -1,41 +1,41 @@
1
- import getWebGLContext from "../../src/common/webgl/getWebGLContext"
2
- import type { WebGLmodeType } from "../../types/getWebGLContext"
3
-
4
- export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
5
- if (!el) {
6
- throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
7
- }
8
-
9
- let width = el.clientWidth, height = el.clientHeight
10
-
11
- let ViewCanvas: HTMLCanvasElement
12
-
13
- let _el = el as any
14
-
15
- // 如果已经初始化过了
16
- if (_el._vislite_canvas_) {
17
- ViewCanvas = _el._vislite_canvas_
18
- }
19
-
20
- // 否则就初始化
21
- else {
22
-
23
- ViewCanvas = document.createElement('canvas')
24
- el.appendChild(ViewCanvas)
25
-
26
- _el._vislite_canvas_ = ViewCanvas
27
-
28
- el.setAttribute('vislite', 'WebGL')
29
-
30
- }
31
-
32
- // 设置画布大小
33
-
34
- ViewCanvas.style.width = width + "px"
35
- ViewCanvas.setAttribute('width', width + "")
36
-
37
- ViewCanvas.style.height = height + "px"
38
- ViewCanvas.setAttribute('height', height + "")
39
-
40
- return getWebGLContext(ViewCanvas, scale, {}, mode)
1
+ import getWebGLContext from "../../src/common/webgl/getWebGLContext"
2
+ import type { WebGLmodeType } from "../../types/getWebGLContext"
3
+
4
+ export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
5
+ if (!el) {
6
+ throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
7
+ }
8
+
9
+ let width = el.clientWidth, height = el.clientHeight
10
+
11
+ let ViewCanvas: HTMLCanvasElement
12
+
13
+ let _el = el as any
14
+
15
+ // 如果已经初始化过了
16
+ if (_el._vislite_canvas_) {
17
+ ViewCanvas = _el._vislite_canvas_
18
+ }
19
+
20
+ // 否则就初始化
21
+ else {
22
+
23
+ ViewCanvas = document.createElement('canvas')
24
+ el.appendChild(ViewCanvas)
25
+
26
+ _el._vislite_canvas_ = ViewCanvas
27
+
28
+ el.setAttribute('vislite', 'WebGL')
29
+
30
+ }
31
+
32
+ // 设置画布大小
33
+
34
+ ViewCanvas.style.width = width + "px"
35
+ ViewCanvas.setAttribute('width', width + "")
36
+
37
+ ViewCanvas.style.height = height + "px"
38
+ ViewCanvas.setAttribute('height', height + "")
39
+
40
+ return getWebGLContext(ViewCanvas, scale, {}, mode)
41
41
  }
package/package.json CHANGED
@@ -1,70 +1,70 @@
1
- {
2
- "name": "vislite",
3
- "version": "0.8.0",
4
- "description": "灵活、快速、简单的数据可视化交互式跨端前端库",
5
- "main": "./lib/index.umd.min.js",
6
- "typings": "./types/index.d.ts",
7
- "unpkg": "./lib/index.umd.min.js",
8
- "sideEffects": false,
9
- "scripts": {
10
- "dev": "webpack serve --config ./build/webpack.config.js",
11
- "build": "devby --delete ./lib && node ./build/pkg.js",
12
- "test": "karma start ./build/karma.config.js",
13
- "lint": "eslint src/**/*.ts --fix"
14
- },
15
- "miniprogram": ".",
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/oi-contrib/VISLite.git"
19
- },
20
- "keywords": [
21
- "svg",
22
- "webgl",
23
- "typescript",
24
- "canvas",
25
- "vue",
26
- "uniapp",
27
- "miniprogram",
28
- "image2d",
29
- "image3d",
30
- "oi-contrib",
31
- "vislite",
32
- "d3",
33
- "zxl20070701",
34
- "three",
35
- "echarts",
36
- "datav",
37
- "webgpu",
38
- "layout",
39
- "algorithm"
40
- ],
41
- "author": {
42
- "name": "zxl20070701",
43
- "url": "https://zxl20070701.github.io/notebook/home.html"
44
- },
45
- "license": "MIT",
46
- "bugs": {
47
- "url": "https://github.com/oi-contrib/VISLite/issues"
48
- },
49
- "homepage": "https://oi-contrib.github.io/VISLite",
50
- "devDependencies": {
51
- "@rollup/plugin-typescript": "^11.1.0",
52
- "@types/jasmine": "^4.3.1",
53
- "@typescript-eslint/eslint-plugin": "^6.14.0",
54
- "@typescript-eslint/parser": "^6.14.0",
55
- "devby": "^0.4.6",
56
- "eslint": "^8.56.0",
57
- "karma": "^6.3.10",
58
- "karma-chrome-launcher": "^3.1.0",
59
- "karma-jasmine": "^4.0.1",
60
- "karma-webpack": "^5.0.0",
61
- "rollup": "^3.20.6",
62
- "terser": "^5.17.1",
63
- "ts-loader": "^9.2.8",
64
- "tslib": "^2.5.0",
65
- "typescript": "^4.6.2",
66
- "webpack": "^5.70.0",
67
- "webpack-cli": "^4.9.2",
68
- "webpack-dev-server": "^4.7.4"
69
- }
70
- }
1
+ {
2
+ "name": "vislite",
3
+ "version": "0.8.1-alpha.0",
4
+ "description": "灵活、快速、简单的数据可视化交互式跨端前端库",
5
+ "main": "./lib/index.umd.min.js",
6
+ "typings": "./types/index.d.ts",
7
+ "unpkg": "./lib/index.umd.min.js",
8
+ "sideEffects": false,
9
+ "scripts": {
10
+ "dev": "webpack serve --config ./build/webpack.config.js",
11
+ "build": "devby --delete ./lib && node ./build/pkg.js",
12
+ "test": "karma start ./build/karma.config.js",
13
+ "lint": "eslint src/**/*.ts --fix"
14
+ },
15
+ "miniprogram": ".",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/oi-contrib/VISLite.git"
19
+ },
20
+ "keywords": [
21
+ "svg",
22
+ "webgl",
23
+ "typescript",
24
+ "canvas",
25
+ "vue",
26
+ "uniapp",
27
+ "miniprogram",
28
+ "image2d",
29
+ "image3d",
30
+ "oi-contrib",
31
+ "vislite",
32
+ "d3",
33
+ "zxl20070701",
34
+ "three",
35
+ "echarts",
36
+ "datav",
37
+ "webgpu",
38
+ "layout",
39
+ "algorithm"
40
+ ],
41
+ "author": {
42
+ "name": "zxl20070701",
43
+ "url": "https://zxl20070701.github.io/notebook/home.html"
44
+ },
45
+ "license": "MIT",
46
+ "bugs": {
47
+ "url": "https://github.com/oi-contrib/VISLite/issues"
48
+ },
49
+ "homepage": "https://oi-contrib.github.io/VISLite",
50
+ "devDependencies": {
51
+ "@rollup/plugin-typescript": "^11.1.0",
52
+ "@types/jasmine": "^4.3.1",
53
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
54
+ "@typescript-eslint/parser": "^6.14.0",
55
+ "devby": "^0.4.6",
56
+ "eslint": "^8.56.0",
57
+ "karma": "^6.3.10",
58
+ "karma-chrome-launcher": "^3.1.0",
59
+ "karma-jasmine": "^4.0.1",
60
+ "karma-webpack": "^5.0.0",
61
+ "rollup": "^3.20.6",
62
+ "terser": "^5.17.1",
63
+ "ts-loader": "^9.2.8",
64
+ "tslib": "^2.5.0",
65
+ "typescript": "^4.6.2",
66
+ "webpack": "^5.70.0",
67
+ "webpack-cli": "^4.9.2",
68
+ "webpack-dev-server": "^4.7.4"
69
+ }
70
+ }