vislite 0.7.0 → 0.7.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 (90) hide show
  1. package/CHANGELOG +177 -171
  2. package/README.md +135 -135
  3. package/lib/Buffer/index.umd.js +2 -2
  4. package/lib/Buffer/index.umd.min.js +2 -2
  5. package/lib/Canvas/index.umd.js +2 -2
  6. package/lib/Canvas/index.umd.min.js +2 -2
  7. package/lib/Cardinal/index.umd.js +2 -2
  8. package/lib/Cardinal/index.umd.min.js +2 -2
  9. package/lib/Eoap/index.umd.js +2 -2
  10. package/lib/Eoap/index.umd.min.js +2 -2
  11. package/lib/Geometry/index.umd.js +2 -2
  12. package/lib/Geometry/index.umd.min.js +2 -2
  13. package/lib/Hermite/index.umd.js +2 -2
  14. package/lib/Hermite/index.umd.min.js +2 -2
  15. package/lib/Matrix4/index.umd.js +2 -2
  16. package/lib/Matrix4/index.umd.min.js +2 -2
  17. package/lib/Mercator/index.umd.js +2 -2
  18. package/lib/Mercator/index.umd.min.js +2 -2
  19. package/lib/OralCanvas/index.es.js +2 -2
  20. package/lib/OralCanvas/index.es.min.js +2 -2
  21. package/lib/OralWebGL/index.es.js +2 -3
  22. package/lib/OralWebGL/index.es.min.js +3 -3
  23. package/lib/SVG/index.umd.js +2 -2
  24. package/lib/SVG/index.umd.min.js +2 -2
  25. package/lib/Shader/index.umd.js +2 -3
  26. package/lib/Shader/index.umd.min.js +3 -3
  27. package/lib/Texture/index.umd.js +2 -2
  28. package/lib/Texture/index.umd.min.js +2 -2
  29. package/lib/TreeLayout/index.umd.js +2 -2
  30. package/lib/TreeLayout/index.umd.min.js +2 -2
  31. package/lib/WebGL/index.umd.js +2 -3
  32. package/lib/WebGL/index.umd.min.js +3 -3
  33. package/lib/animation/index.umd.js +2 -2
  34. package/lib/animation/index.umd.min.js +2 -2
  35. package/lib/formatColor/index.umd.js +2 -2
  36. package/lib/formatColor/index.umd.min.js +2 -2
  37. package/lib/getLoopColors/index.umd.js +2 -2
  38. package/lib/getLoopColors/index.umd.min.js +2 -2
  39. package/lib/getWebGLContext/index.umd.js +2 -2
  40. package/lib/getWebGLContext/index.umd.min.js +2 -2
  41. package/lib/index.umd.js +2 -3
  42. package/lib/index.umd.min.js +3 -3
  43. package/lib/move/index.umd.js +2 -2
  44. package/lib/move/index.umd.min.js +2 -2
  45. package/lib/resizeObserver/index.umd.js +2 -2
  46. package/lib/resizeObserver/index.umd.min.js +2 -2
  47. package/lib/rotate/index.umd.js +2 -2
  48. package/lib/rotate/index.umd.min.js +2 -2
  49. package/lib/ruler/index.umd.js +2 -2
  50. package/lib/ruler/index.umd.min.js +2 -2
  51. package/lib/scale/index.umd.js +2 -2
  52. package/lib/scale/index.umd.min.js +2 -2
  53. package/lib/throttle/index.umd.js +2 -2
  54. package/lib/throttle/index.umd.min.js +2 -2
  55. package/lib/viewHandler/index.umd.js +2 -2
  56. package/lib/viewHandler/index.umd.min.js +2 -2
  57. package/package.json +70 -70
  58. package/src/Canvas.ts +70 -70
  59. package/src/Geometry.ts +126 -126
  60. package/src/Matrix4/rotate.ts +15 -15
  61. package/src/Matrix4/transform.ts +64 -64
  62. package/src/WebGL.ts +66 -66
  63. package/src/common/assemble.ts +22 -22
  64. package/src/common/canvas/index.ts +177 -177
  65. package/src/common/canvas/painter.ts +419 -419
  66. package/src/common/geometry/prism-vertical.ts +40 -40
  67. package/src/common/geometry/tool/rotateLine.ts +35 -35
  68. package/src/common/setStyle.ts +5 -5
  69. package/src/common/svg/config.ts +190 -190
  70. package/src/common/svg/index.ts +356 -356
  71. package/src/common/svg/tool.ts +44 -44
  72. package/src/common/tree/toInnerTree.ts +59 -59
  73. package/src/common/tree/toPlainTree.ts +132 -132
  74. package/src/common/webgl/buffer.ts +79 -79
  75. package/src/common/webgl/doDraw.ts +108 -108
  76. package/src/common/webgl/getWebGLContext.ts +28 -28
  77. package/src/common/webgl/index.ts +226 -226
  78. package/src/common/webgl/shader.ts +75 -75
  79. package/src/common/webgl/texture.ts +97 -97
  80. package/src/layout/TreeLayout.ts +188 -188
  81. package/src/resizeObserver.ts +37 -37
  82. package/src/ruler.ts +209 -209
  83. package/src/viewHandler.ts +160 -160
  84. package/types/Canvas.d.ts +308 -308
  85. package/types/Geometry.d.ts +65 -65
  86. package/types/Object3D.d.ts +1 -1
  87. package/types/SVGConfig.d.ts +79 -79
  88. package/types/Shader.d.ts +2 -0
  89. package/types/TreeConfig.d.ts +36 -36
  90. package/uni-app/ui-canvas.vue +237 -237
package/CHANGELOG CHANGED
@@ -1,171 +1,177 @@
1
- v0.1.0:
2
- date:2023-04-29
3
- changes:
4
- - 初始化版本
5
- 1、Canvas
6
- (支持平台:H5、uni-app(包括:H5、微信小程序、支付宝小程序)、微信小程序)
7
- 2、SVG画笔
8
- (支持平台:H5)
9
- 3、Eoap 等角斜方位投影
10
- 4、rotate 旋转
11
- 5、Matrix4 变换矩阵
12
- 6、插值函数
13
- (包括:Hermite、Cardinal)
14
- 7、getLoopColors 循环色彩
15
- 8、animation 动画
16
- 9、ruler 刻度尺
17
- v0.1.1:
18
- date:2023-05-07
19
- changes:
20
- - 修复bug
21
- 1、解决uni-app和微信小程序组件ui-canvas未绑定事件点击报错问题
22
- v0.2.0:
23
- date:2023-06-03
24
- changes:
25
- - 修复bug
26
- 1、为解决this问题,同时优化参数内容,修改了uni-app和微信小程序组件ui-canvas事件语法
27
- (对旧语法进行了向下兼容)
28
- 2、校对types中定义的类型信息
29
- 3、修复uni-app组件ui-canvas在支付宝小程序区域计算相关错误
30
- - 优化改造
31
- 1、针对Canvas和SVG的画笔配置config的属性名,统一使用小驼峰
32
- (对旧语法进行了向下兼容)
33
- - 新增功能
34
- 1、WebGL画笔
35
- (支持平台:H5)
36
- 2、Mercator 墨卡托投影
37
- 3、Canvas新增功能
38
- * 多行文字:fillTexts、strokeTexts、fullTexts
39
- * 获取原始画笔:getContext
40
- 4、uni-app平台的ui-canvas新增cover属性配置,支持非原生渲染模式
41
- 5、控制信息捕获 viewHandler
42
- (支持平台:H5)
43
- v0.3.0:
44
- date:2023-07-01
45
- changes:
46
- - 修复bug
47
- 1、Canvas画笔
48
- * 在部分安卓手机上可能绘制失败问题
49
- 2、SVG画笔
50
- * 部分情况下文字大小设置失败问题
51
- * 配置失效问题
52
- * 圆弧系列(fillArc、strokeArc、fullArc)和路径arc角度未正确使用角度值问题
53
- 3、WebGL画笔
54
- * render方法中itemSize设置无效问题
55
- 4、修复Cardinal插值超过界限的值问题
56
- - 新增功能
57
- 1、Canvas画笔
58
- * createLinearGradient 线性渐变色
59
- * createRadialGradient 环形渐变色
60
- * clip 裁剪
61
- * 绘制圆弧系列(fillArc、strokeArc、fullArc)的闭合方式添加```-round```选项
62
- * getColor 获取指定位置颜色
63
- 2、SVG画笔
64
- * 绘制圆弧系列(fillArc、strokeArc、fullArc)的闭合方式添加```-round```选项
65
- 3、WebGL画笔
66
- * 材料material新增多颜色值colors
67
- 4、朴素的WebGL接口集合
68
- * getWebGLContext 画笔
69
- * Shader 着色器
70
- * Buffer 缓冲区
71
- * Texture 纹理
72
- v0.3.1:
73
- date:2023-07-08
74
- changes:
75
- - 修复bug
76
- 1、Canvas画笔
77
- * 优化区域计算有时候出错问题
78
- v0.4.0:
79
- date:2023-07-22
80
- changes:
81
- - 新增功能
82
- 1、Canvas画笔
83
- * textWidth 计算文字宽
84
- v0.4.1:
85
- date:2023-09-03
86
- changes:
87
- - 修复bug
88
- 1、uni-app平台的ui-canvas在微信小程序环境下有时会绘制失败并渲染过慢问题
89
- 2、Canvas画笔
90
- * 多行文字(fillTexts、strokeTexts、fullTexts)在处理有换行文字时的未正确处理
91
- 3、SVG画笔
92
- * 部分默认值失效
93
- - 优化改造
94
- 1、优化WebGL区域计算设计
95
- 2、丰富types并暴露更多有用的类型对象
96
- - 新增功能
97
- 1、Canvas画笔
98
- * 添加region配置,可以控制是否支持区域管理
99
- * onlyRegion 区域模式
100
- 2、WebGL画笔
101
- * 添加region配置,可以控制是否支持区域管理
102
- 3、uni-app平台的ui-canvas
103
- * 画笔的draw方法对外暴露更丰富的参数
104
- * 添加region属性,可以控制是否支持区域管理
105
- 4、微信小程序平台的ui-canvas
106
- * 添加region属性,可以控制是否支持区域管理
107
- 5、viewHandler新增对悬浮hover事件的捕获并统一添加event参数
108
- 6、刻度尺算法ruler新增可选上下界约束
109
- 7、颜色格式化 formatColor
110
- (支持平台:H5)
111
- 8、节点缩放监听 resizeObserver
112
- (支持平台:H5)
113
- 9、节流函数 throttle
114
- 10、布局
115
- * 树布局 treeLayout
116
- 11、着色器compile方法丰富参数(添加color、colors、image、cube四种内置着色器程序)
117
- v0.5.0:
118
- date:2023-10-01
119
- changes:
120
- - 修复bug
121
- 1、SVG画笔
122
- * 修改文字默认值错误(50恢复成16)
123
- - 优化改造
124
- 1、一些types定义优化(比如 Array<number> 改成更具体的 [number, number] 类型)
125
- - 新增功能
126
- 1、Geometry 立方体运算
127
- * cylinder 圆柱体
128
- * prism 棱柱体
129
- * sphere 球体
130
- 2、SVG画笔
131
- * bind 绑定事件
132
- 3、布局的bind和use方法新增第二个可选参数noOpens,用于控制结点默认是否闭合
133
- v0.5.2:
134
- date:2023-11-04
135
- changes:
136
- - 修复bug
137
- 1、修复ui-canvas在支付宝小程序模拟器中的错误
138
- - 新增功能
139
- 1、move 移动
140
- 2、scale 缩放
141
- 3、SVG画笔
142
- * createLinearGradient 线性渐变色
143
- * createRadialGradient 环形渐变色
144
- v0.6.0:
145
- date:2023-12-17
146
- changes:
147
- - 修复bug
148
- 1、修复ruler值出现浮点“不精确”问题
149
- - 优化改造
150
- 1、uni-app平台的ui-canvas明确为inline-block盒子
151
- 2、开发环境添加了eslint
152
- - 新增功能
153
- 1、Canvas画笔
154
- * getInfo 获取画布信息
155
- * H5环境下创建的时候添加willReadFrequently配置
156
- 2、Matrix4 变换矩阵
157
- * setValue 设置内置矩阵
158
- v0.7.0:
159
- date:2024-01-14
160
- changes:
161
- - 修复bug
162
- 1、修复ui-canvas在HBuilderX中使用“发行”打包成H5后css代码未生效问题
163
- (这应该是HBuilderX自身的BUG,但为了快速修复,内部消化)
164
- - 优化改造
165
- 1、一些types定义优化
166
- * 针对svg新增:svgElType、svgBoardType
167
- 2、Geometry 立方体运算
168
- * 针对 “prism 棱柱体” 和 “cylinder 圆柱体” 新增直接设置起终点方式
169
- * 给拼接成立方体的每个小片定义一个名称
170
- 3、开启严格模式并进行相关代码调整
171
- (使得更多问题提前暴露出来,提高代码质量)
1
+ v0.1.0:
2
+ date:2023-04-29
3
+ changes:
4
+ - 初始化版本
5
+ 1、Canvas
6
+ (支持平台:H5、uni-app(包括:H5、微信小程序、支付宝小程序)、微信小程序)
7
+ 2、SVG画笔
8
+ (支持平台:H5)
9
+ 3、Eoap 等角斜方位投影
10
+ 4、rotate 旋转
11
+ 5、Matrix4 变换矩阵
12
+ 6、插值函数
13
+ (包括:Hermite、Cardinal)
14
+ 7、getLoopColors 循环色彩
15
+ 8、animation 动画
16
+ 9、ruler 刻度尺
17
+ v0.1.1:
18
+ date:2023-05-07
19
+ changes:
20
+ - 修复bug
21
+ 1、解决uni-app和微信小程序组件ui-canvas未绑定事件点击报错问题
22
+ v0.2.0:
23
+ date:2023-06-03
24
+ changes:
25
+ - 修复bug
26
+ 1、为解决this问题,同时优化参数内容,修改了uni-app和微信小程序组件ui-canvas事件语法
27
+ (对旧语法进行了向下兼容)
28
+ 2、校对types中定义的类型信息
29
+ 3、修复uni-app组件ui-canvas在支付宝小程序区域计算相关错误
30
+ - 优化改造
31
+ 1、针对Canvas和SVG的画笔配置config的属性名,统一使用小驼峰
32
+ (对旧语法进行了向下兼容)
33
+ - 新增功能
34
+ 1、WebGL画笔
35
+ (支持平台:H5)
36
+ 2、Mercator 墨卡托投影
37
+ 3、Canvas新增功能
38
+ * 多行文字:fillTexts、strokeTexts、fullTexts
39
+ * 获取原始画笔:getContext
40
+ 4、uni-app平台的ui-canvas新增cover属性配置,支持非原生渲染模式
41
+ 5、控制信息捕获 viewHandler
42
+ (支持平台:H5)
43
+ v0.3.0:
44
+ date:2023-07-01
45
+ changes:
46
+ - 修复bug
47
+ 1、Canvas画笔
48
+ * 在部分安卓手机上可能绘制失败问题
49
+ 2、SVG画笔
50
+ * 部分情况下文字大小设置失败问题
51
+ * 配置失效问题
52
+ * 圆弧系列(fillArc、strokeArc、fullArc)和路径arc角度未正确使用角度值问题
53
+ 3、WebGL画笔
54
+ * render方法中itemSize设置无效问题
55
+ 4、修复Cardinal插值超过界限的值问题
56
+ - 新增功能
57
+ 1、Canvas画笔
58
+ * createLinearGradient 线性渐变色
59
+ * createRadialGradient 环形渐变色
60
+ * clip 裁剪
61
+ * 绘制圆弧系列(fillArc、strokeArc、fullArc)的闭合方式添加```-round```选项
62
+ * getColor 获取指定位置颜色
63
+ 2、SVG画笔
64
+ * 绘制圆弧系列(fillArc、strokeArc、fullArc)的闭合方式添加```-round```选项
65
+ 3、WebGL画笔
66
+ * 材料material新增多颜色值colors
67
+ 4、朴素的WebGL接口集合
68
+ * getWebGLContext 画笔
69
+ * Shader 着色器
70
+ * Buffer 缓冲区
71
+ * Texture 纹理
72
+ v0.3.1:
73
+ date:2023-07-08
74
+ changes:
75
+ - 修复bug
76
+ 1、Canvas画笔
77
+ * 优化区域计算有时候出错问题
78
+ v0.4.0:
79
+ date:2023-07-22
80
+ changes:
81
+ - 新增功能
82
+ 1、Canvas画笔
83
+ * textWidth 计算文字宽
84
+ v0.4.1:
85
+ date:2023-09-03
86
+ changes:
87
+ - 修复bug
88
+ 1、uni-app平台的ui-canvas在微信小程序环境下有时会绘制失败并渲染过慢问题
89
+ 2、Canvas画笔
90
+ * 多行文字(fillTexts、strokeTexts、fullTexts)在处理有换行文字时的未正确处理
91
+ 3、SVG画笔
92
+ * 部分默认值失效
93
+ - 优化改造
94
+ 1、优化WebGL区域计算设计
95
+ 2、丰富types并暴露更多有用的类型对象
96
+ - 新增功能
97
+ 1、Canvas画笔
98
+ * 添加region配置,可以控制是否支持区域管理
99
+ * onlyRegion 区域模式
100
+ 2、WebGL画笔
101
+ * 添加region配置,可以控制是否支持区域管理
102
+ 3、uni-app平台的ui-canvas
103
+ * 画笔的draw方法对外暴露更丰富的参数
104
+ * 添加region属性,可以控制是否支持区域管理
105
+ 4、微信小程序平台的ui-canvas
106
+ * 添加region属性,可以控制是否支持区域管理
107
+ 5、viewHandler新增对悬浮hover事件的捕获并统一添加event参数
108
+ 6、刻度尺算法ruler新增可选上下界约束
109
+ 7、颜色格式化 formatColor
110
+ (支持平台:H5)
111
+ 8、节点缩放监听 resizeObserver
112
+ (支持平台:H5)
113
+ 9、节流函数 throttle
114
+ 10、布局
115
+ * 树布局 treeLayout
116
+ 11、着色器compile方法丰富参数(添加color、colors、image、cube四种内置着色器程序)
117
+ v0.5.0:
118
+ date:2023-10-01
119
+ changes:
120
+ - 修复bug
121
+ 1、SVG画笔
122
+ * 修改文字默认值错误(50恢复成16)
123
+ - 优化改造
124
+ 1、一些types定义优化(比如 Array<number> 改成更具体的 [number, number] 类型)
125
+ - 新增功能
126
+ 1、Geometry 立方体运算
127
+ * cylinder 圆柱体
128
+ * prism 棱柱体
129
+ * sphere 球体
130
+ 2、SVG画笔
131
+ * bind 绑定事件
132
+ 3、布局的bind和use方法新增第二个可选参数noOpens,用于控制结点默认是否闭合
133
+ v0.5.2:
134
+ date:2023-11-04
135
+ changes:
136
+ - 修复bug
137
+ 1、修复ui-canvas在支付宝小程序模拟器中的错误
138
+ - 新增功能
139
+ 1、move 移动
140
+ 2、scale 缩放
141
+ 3、SVG画笔
142
+ * createLinearGradient 线性渐变色
143
+ * createRadialGradient 环形渐变色
144
+ v0.6.0:
145
+ date:2023-12-17
146
+ changes:
147
+ - 修复bug
148
+ 1、修复ruler值出现浮点“不精确”问题
149
+ - 优化改造
150
+ 1、uni-app平台的ui-canvas明确为inline-block盒子
151
+ 2、开发环境添加了eslint
152
+ - 新增功能
153
+ 1、Canvas画笔
154
+ * getInfo 获取画布信息
155
+ * H5环境下创建的时候添加willReadFrequently配置
156
+ 2、Matrix4 变换矩阵
157
+ * setValue 设置内置矩阵
158
+ v0.7.0:
159
+ date:2024-01-14
160
+ changes:
161
+ - 修复bug
162
+ 1、修复ui-canvas在HBuilderX中使用“发行”打包成H5后css代码未生效问题
163
+ (这应该是HBuilderX自身的BUG,但为了快速修复,内部消化)
164
+ - 优化改造
165
+ 1、一些types定义优化
166
+ * 针对svg新增:svgElType、svgBoardType
167
+ 2、Geometry 立方体运算
168
+ * 针对 “prism 棱柱体” 和 “cylinder 圆柱体” 新增直接设置起终点方式
169
+ * 给拼接成立方体的每个小片定义一个名称
170
+ 3、开启严格模式并进行相关代码调整
171
+ (使得更多问题提前暴露出来,提高代码质量)
172
+ v0.7.1:
173
+ date:
174
+ changes:
175
+ - 修复bug
176
+ 1、修复types中类型定义错误
177
+ * Object3D.d.ts中LINE_STRIP被误写成INE_STRIP
package/README.md CHANGED
@@ -1,135 +1,135 @@
1
- - 💘 开源不易,去 <i>[Github给个Star](https://github.com/oi-contrib/VISLite) </i>吧!
2
-
3
- <img src='https://oi-contrib.github.io/VISLite/images/logo.png' height='300px'/>
4
-
5
- <p>
6
- <a href="https://zxl20070701.github.io/toolbox/#/npm-download?packages=vislite&interval=7">
7
- <img src="https://img.shields.io/npm/dm/vislite.svg" alt="downloads">
8
- </a>
9
- <a href="https://www.npmjs.com/package/vislite">
10
- <img src="https://img.shields.io/npm/v/vislite.svg" alt="npm">
11
- </a>
12
- <a href="https://www.jsdelivr.com/package/npm/vislite">
13
- <img src="https://data.jsdelivr.com/v1/package/npm/vislite/badge" alt="cdn">
14
- </a>
15
- <a href="https://github.com/oi-contrib/VISLite" target='_blank'>
16
- <img alt="GitHub repo stars" src="https://img.shields.io/github/stars/oi-contrib/VISLite?style=social">
17
- </a>
18
- <a href="https://gitee.com/oi-contrib/VISLite" target='_blank'>
19
- <img alt="Gitee repo stars" src="https://gitee.com/oi-contrib/VISLite/badge/star.svg?theme=dark">
20
- </a>
21
- </p>
22
-
23
- # VISLite
24
-
25
- ```VISLite```是一个使用```TypeScript```开发的可视化库。官网地址:[https://oi-contrib.github.io/VISLite](https://oi-contrib.github.io/VISLite)
26
-
27
- 主要提供了跨端的画布和计算,开发人员只需要按照文档的描述就可以非常简单的完成包括Web、uni-app、微信小程序等平台的可视化开发,除了必要的初始化差异,主要的业务代码部分不同端完全一致。
28
-
29
- ## 简介
30
-
31
- 这是一个轻量级的数据可视化资源库,目标是:帮助你更快速、简单、高效的开发出任意的可视化业务产品。
32
-
33
- > 本项目已在[开源中国](https://www.oschina.net/p/vislite)中开源,欢迎关注和留言。
34
-
35
- ### 常用的算法
36
-
37
- 我们通过提供可视化常用的算法来帮助你绘制复杂图表。比如下面的树图,通过简单的配置就可以把任意格式的数据变成任意绘制的带坐标的数据:
38
-
39
- <img src="https://oi-contrib.github.io/VISLite/images/docs/what_1.png" width="400"/>
40
-
41
- > 上述例子的运行地址:[从左到右树状图](https://oi-contrib.github.io/VISLite/#/example/canvas/tree-layout-lr)。
42
-
43
- 除了[树布局](https://oi-contrib.github.io/VISLite/#/api/treeLayout)外,我们还提供了:[刻度尺算法](https://oi-contrib.github.io/VISLite/#/api/ruler)来帮助你计算刻度应该如何确定、[等角斜方位投影](https://oi-contrib.github.io/VISLite/#/api/eoap)和[墨卡托投影](https://oi-contrib.github.io/VISLite/#/api/mercator)来绘制地图、[插值函数](https://oi-contrib.github.io/VISLite/#/api/cardinal)来完成折线变光滑的曲线、[变换矩阵](https://oi-contrib.github.io/VISLite/#/api/matrix4)提供各种坐标变换等。
44
-
45
- ### 画笔加强
46
-
47
- 我们对画笔进行了加强,使得其更简单好用。比如canvas、webgl,抽象出区域的概念,使得无论你绘制的图形多么的不规则,都可以很轻松的实现交互功能:
48
-
49
- <img src="https://oi-contrib.github.io/VISLite/images/docs/what_2.png" width="400"/>
50
-
51
- > 上述例子的运行地址:[中国地图](https://oi-contrib.github.io/VISLite/#/example/canvas/china)。
52
-
53
- 画笔除了像上面那样为了方便交互而补充区域的设计外,还对原来的API进行了一次抽象,使得API更友好简单```(比如WebGL,即使不会3D的人也可以轻松使用,而SVG的使用,你无需去记忆那些晦涩难懂的属性)```,同时,我们还抹平了不同版本浏览器等之间的差异。
54
-
55
- ### 数据驱动的3D
56
-
57
- 通过一个简单```立方体JSON```表达立方体意图,从而快速实现3D图表开发:
58
-
59
- <img src="https://oi-contrib.github.io/VISLite/images/docs/ring-simple.png" width="400"/>
60
-
61
- > 上述例子的运行地址:[环图](https://oi-contrib.github.io/VISLite/#/example/webgl/ring-simple)。
62
-
63
- ### 立方体运算
64
-
65
- 借助我们提供的[立方体运算](https://oi-contrib.github.io/VISLite/#/api/geometry)就可以快速获得常见的立方体的```立方体JSON```数据:
66
-
67
- <img src="https://oi-contrib.github.io/VISLite/images/docs/H2O.png" width="400"/>
68
-
69
- > 上述例子的运行地址:[水分子式H2O](https://oi-contrib.github.io/VISLite/#/example/webgl/H2O)。
70
-
71
- ### 支持跨端开发
72
-
73
- 除了Web端外,我们还针对uni-app、微信小程序等端进行了支持,并且不同端API保持一致,大大提高了代码的复用性:
74
-
75
- <img src="https://oi-contrib.github.io/VISLite/images/docs/what_3.png" width="600"/>
76
-
77
- > 上述例子的运行地址:[金额波浪球](https://oi-contrib.github.io/VISLite/#/example/svg/money-schedule)。
78
-
79
- 基于实际需要,我们目前对 ```Canvas``` 提供了跨端支持,除 ```Web端``` 外,还支持 ```原生微信小程序``` 和 ```uni-app端``` (编译成H5、微信小程序、支付宝小程序等) ,如果后续有必要,我们会对Canvas支持的端或SVG、WebGL等画笔进行更多端扩展。
80
-
81
- ### 可视化大屏
82
-
83
- 当然,按照业务和UI设计,快速开发一个大屏也是相对容易的:
84
-
85
- <img src="https://oi-contrib.github.io/VISLite/images/docs/bigview.jpeg" width="700"/>
86
-
87
- > 上述例子的运行地址:[数据看板大屏](https://oi-contrib.github.io/VISLite/#/bigview?page=databoard)。
88
-
89
- ## 特点
90
-
91
- - 灵活的引入方式:包括npm安装后按照```ES Module```或```CommonJS```规范引入或直接使用script标签的```CDN```方式。
92
- - 按需引入或全局引入:支持源码TS引入、按需JS引入或者全量引入等多种方式。
93
- - 简单与复杂共存:一方面我们提供了可视化需要的基础功能,你可以按照自己的需要组合使用;另一方面,为了加速开发,我们针对常见的可视化业务场景进行了封装,可以帮助你快速完成,你可以根据实际情况进行选择。
94
- - 向下兼容:我们向你保证,始终向下兼容```(alpha和beta版本为测试版本,不包括)```,因此,无论何时,最新版本总是最好的选择。
95
-
96
- > 版本说明:alpha为开发阶段、beta为发布前测试、rc为候选版本、无后缀的为正式版本。
97
-
98
- ## 需求墙
99
-
100
- 我们的目标是不断完善丰富可视化功能,非常希望获得你宝贵的建议和批评,无论任何想法,都可以给我们[留言](https://github.com/oi-contrib/VISLite/issues)告诉我们。
101
-
102
- 你所提的任何建议我们都会在最长一周内进行反馈说明。
103
-
104
- ## 更新日志
105
-
106
- 详见[正式版更新日志](./CHANGELOG),我们会在每次发布完正式版本后更新其内容。
107
-
108
- ## 下一步
109
-
110
- 我们会在这里列出接下来的工作重心:
111
-
112
- - Canvas、SVG和WebGL画笔功能丰富
113
- - 为加速开发,提供常用坐标系和布局
114
- - 文档优化(提高可读性、丰富用例、补充教程)
115
-
116
- 给我们[留言](https://github.com/oi-contrib/VISLite/issues)告诉我们你希望快速扩展的功能,我们会优先你的建议考虑哦~
117
-
118
- ## 参与贡献
119
-
120
- 你可以选择下列一项或多项进行参与:
121
-
122
- - 代码维护:由于新功能或一些BUG的出现,对代码进行维护和升级。
123
- - 文档编辑:主要是接口文档和教程需要编辑,这很重要。
124
- - 用例开发和测试:在项目的test文件夹下有一些测试,而在docs文档中存在一些例子需要补充。
125
- - 参与讨论:主要是讨论未来如何发展,改造的方向等。
126
-
127
- 如果有意向加入我们,你可以通过提 [issue](https://github.com/oi-contrib/VISLite/issues) 和我们取到联系,请简单说明一下情况,我们会尽快回复。
128
-
129
- 你可以查看[VISLite 贡献指南](./.github/CONTRIBUTING.md)文件了解更多细节,查看[AUTHORS.txt](./AUTHORS.txt)了解所有的贡献者。
130
-
131
- ## 版权
132
-
133
- MIT License
134
-
135
- Copyright (c) [zxl20070701](https://zxl20070701.github.io/notebook/home.html) 走一步,再走一步
1
+ - 💘 开源不易,去 <i>[Github给个Star](https://github.com/oi-contrib/VISLite) </i>吧!
2
+
3
+ <img src='https://oi-contrib.github.io/VISLite/images/logo.png' height='300px'/>
4
+
5
+ <p>
6
+ <a href="https://zxl20070701.github.io/toolbox/#/npm-download?packages=vislite&interval=7">
7
+ <img src="https://img.shields.io/npm/dm/vislite.svg" alt="downloads">
8
+ </a>
9
+ <a href="https://www.npmjs.com/package/vislite">
10
+ <img src="https://img.shields.io/npm/v/vislite.svg" alt="npm">
11
+ </a>
12
+ <a href="https://www.jsdelivr.com/package/npm/vislite">
13
+ <img src="https://data.jsdelivr.com/v1/package/npm/vislite/badge" alt="cdn">
14
+ </a>
15
+ <a href="https://github.com/oi-contrib/VISLite" target='_blank'>
16
+ <img alt="GitHub repo stars" src="https://img.shields.io/github/stars/oi-contrib/VISLite?style=social">
17
+ </a>
18
+ <a href="https://gitee.com/oi-contrib/VISLite" target='_blank'>
19
+ <img alt="Gitee repo stars" src="https://gitee.com/oi-contrib/VISLite/badge/star.svg?theme=dark">
20
+ </a>
21
+ </p>
22
+
23
+ # VISLite
24
+
25
+ ```VISLite```是一个使用```TypeScript```开发的可视化库。官网地址:[https://oi-contrib.github.io/VISLite](https://oi-contrib.github.io/VISLite)
26
+
27
+ 主要提供了跨端的画布和计算,开发人员只需要按照文档的描述就可以非常简单的完成包括Web、uni-app、微信小程序等平台的可视化开发,除了必要的初始化差异,主要的业务代码部分不同端完全一致。
28
+
29
+ ## 简介
30
+
31
+ 这是一个轻量级的数据可视化资源库,目标是:帮助你更快速、简单、高效的开发出任意的可视化业务产品。
32
+
33
+ > 本项目已在[开源中国](https://www.oschina.net/p/vislite)中开源,欢迎关注和留言。
34
+
35
+ ### 常用的算法
36
+
37
+ 我们通过提供可视化常用的算法来帮助你绘制复杂图表。比如下面的树图,通过简单的配置就可以把任意格式的数据变成任意绘制的带坐标的数据:
38
+
39
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/what_1.png" width="400"/>
40
+
41
+ > 上述例子的运行地址:[从左到右树状图](https://oi-contrib.github.io/VISLite/#/example/canvas/tree-layout-lr)。
42
+
43
+ 除了[树布局](https://oi-contrib.github.io/VISLite/#/api/treeLayout)外,我们还提供了:[刻度尺算法](https://oi-contrib.github.io/VISLite/#/api/ruler)来帮助你计算刻度应该如何确定、[等角斜方位投影](https://oi-contrib.github.io/VISLite/#/api/eoap)和[墨卡托投影](https://oi-contrib.github.io/VISLite/#/api/mercator)来绘制地图、[插值函数](https://oi-contrib.github.io/VISLite/#/api/cardinal)来完成折线变光滑的曲线、[变换矩阵](https://oi-contrib.github.io/VISLite/#/api/matrix4)提供各种坐标变换等。
44
+
45
+ ### 画笔加强
46
+
47
+ 我们对画笔进行了加强,使得其更简单好用。比如canvas、webgl,抽象出区域的概念,使得无论你绘制的图形多么的不规则,都可以很轻松的实现交互功能:
48
+
49
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/what_2.png" width="400"/>
50
+
51
+ > 上述例子的运行地址:[中国地图](https://oi-contrib.github.io/VISLite/#/example/canvas/china)。
52
+
53
+ 画笔除了像上面那样为了方便交互而补充区域的设计外,还对原来的API进行了一次抽象,使得API更友好简单```(比如WebGL,即使不会3D的人也可以轻松使用,而SVG的使用,你无需去记忆那些晦涩难懂的属性)```,同时,我们还抹平了不同版本浏览器等之间的差异。
54
+
55
+ ### 数据驱动的3D
56
+
57
+ 通过一个简单```立方体JSON```表达立方体意图,从而快速实现3D图表开发:
58
+
59
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/ring-simple.png" width="400"/>
60
+
61
+ > 上述例子的运行地址:[环图](https://oi-contrib.github.io/VISLite/#/example/webgl/ring-simple)。
62
+
63
+ ### 立方体运算
64
+
65
+ 借助我们提供的[立方体运算](https://oi-contrib.github.io/VISLite/#/api/geometry)就可以快速获得常见的立方体的```立方体JSON```数据:
66
+
67
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/H2O.png" width="400"/>
68
+
69
+ > 上述例子的运行地址:[水分子式H2O](https://oi-contrib.github.io/VISLite/#/example/webgl/H2O)。
70
+
71
+ ### 支持跨端开发
72
+
73
+ 除了Web端外,我们还针对uni-app、微信小程序等端进行了支持,并且不同端API保持一致,大大提高了代码的复用性:
74
+
75
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/what_3.png" width="600"/>
76
+
77
+ > 上述例子的运行地址:[金额波浪球](https://oi-contrib.github.io/VISLite/#/example/svg/money-schedule)。
78
+
79
+ 基于实际需要,我们目前对 ```Canvas``` 提供了跨端支持,除 ```Web端``` 外,还支持 ```原生微信小程序``` 和 ```uni-app端``` (编译成H5、微信小程序、支付宝小程序等) ,如果后续有必要,我们会对Canvas支持的端或SVG、WebGL等画笔进行更多端扩展。
80
+
81
+ ### 可视化大屏
82
+
83
+ 当然,按照业务和UI设计,快速开发一个大屏也是相对容易的:
84
+
85
+ <img src="https://oi-contrib.github.io/VISLite/images/docs/bigview.jpeg" width="700"/>
86
+
87
+ > 上述例子的运行地址:[数据看板大屏](https://oi-contrib.github.io/VISLite/#/bigview?page=databoard)。
88
+
89
+ ## 特点
90
+
91
+ - 灵活的引入方式:包括npm安装后按照```ES Module```或```CommonJS```规范引入或直接使用script标签的```CDN```方式。
92
+ - 按需引入或全局引入:支持源码TS引入、按需JS引入或者全量引入等多种方式。
93
+ - 简单与复杂共存:一方面我们提供了可视化需要的基础功能,你可以按照自己的需要组合使用;另一方面,为了加速开发,我们针对常见的可视化业务场景进行了封装,可以帮助你快速完成,你可以根据实际情况进行选择。
94
+ - 向下兼容:我们向你保证,始终向下兼容```(alpha和beta版本为测试版本,不包括)```,因此,无论何时,最新版本总是最好的选择。
95
+
96
+ > 版本说明:alpha为开发阶段、beta为发布前测试、rc为候选版本、无后缀的为正式版本。
97
+
98
+ ## 需求墙
99
+
100
+ 我们的目标是不断完善丰富可视化功能,非常希望获得你宝贵的建议和批评,无论任何想法,都可以给我们[留言](https://github.com/oi-contrib/VISLite/issues)告诉我们。
101
+
102
+ 你所提的任何建议我们都会在最长一周内进行反馈说明。
103
+
104
+ ## 更新日志
105
+
106
+ 详见[正式版更新日志](./CHANGELOG),我们会在每次发布完正式版本后更新其内容。
107
+
108
+ ## 下一步
109
+
110
+ 我们会在这里列出接下来的工作重心:
111
+
112
+ - Canvas、SVG和WebGL画笔功能丰富
113
+ - 为加速开发,提供常用坐标系和布局
114
+ - 文档优化(提高可读性、丰富用例、补充教程)
115
+
116
+ 给我们[留言](https://github.com/oi-contrib/VISLite/issues)告诉我们你希望快速扩展的功能,我们会优先你的建议考虑哦~
117
+
118
+ ## 参与贡献
119
+
120
+ 你可以选择下列一项或多项进行参与:
121
+
122
+ - 代码维护:由于新功能或一些BUG的出现,对代码进行维护和升级。
123
+ - 文档编辑:主要是接口文档和教程需要编辑,这很重要。
124
+ - 用例开发和测试:在项目的test文件夹下有一些测试,而在docs文档中存在一些例子需要补充。
125
+ - 参与讨论:主要是讨论未来如何发展,改造的方向等。
126
+
127
+ 如果有意向加入我们,你可以通过提 [issue](https://github.com/oi-contrib/VISLite/issues) 和我们取到联系,请简单说明一下情况,我们会尽快回复。
128
+
129
+ 你可以查看[VISLite 贡献指南](./.github/CONTRIBUTING.md)文件了解更多细节,查看[AUTHORS.txt](./AUTHORS.txt)了解所有的贡献者。
130
+
131
+ ## 版权
132
+
133
+ MIT License
134
+
135
+ Copyright (c) [zxl20070701](https://zxl20070701.github.io/notebook/home.html) 走一步,再走一步
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.0
2
+ * VISLite JavaScript Library v0.7.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: Sun Jan 14 2024 15:48:51 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Jan 16 2024 22:41:02 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :