vislite 0.5.2 → 0.6.0-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 (191) hide show
  1. package/.editorconfig +18 -18
  2. package/AUTHORS.txt +6 -6
  3. package/CHANGELOG +13 -1
  4. package/LICENSE +20 -20
  5. package/README.md +41 -2
  6. package/lib/Buffer/index.umd.js +2 -2
  7. package/lib/Buffer/index.umd.min.js +2 -2
  8. package/lib/Canvas/index.umd.js +8 -2
  9. package/lib/Canvas/index.umd.min.js +3 -3
  10. package/lib/Cardinal/index.umd.js +2 -2
  11. package/lib/Cardinal/index.umd.min.js +2 -2
  12. package/lib/Eoap/index.umd.js +2 -2
  13. package/lib/Eoap/index.umd.min.js +2 -2
  14. package/lib/Geometry/index.umd.js +2 -2
  15. package/lib/Geometry/index.umd.min.js +2 -2
  16. package/lib/Hermite/index.umd.js +2 -2
  17. package/lib/Hermite/index.umd.min.js +2 -2
  18. package/lib/Matrix4/index.umd.js +14 -8
  19. package/lib/Matrix4/index.umd.min.js +3 -3
  20. package/lib/Mercator/index.umd.js +2 -2
  21. package/lib/Mercator/index.umd.min.js +2 -2
  22. package/lib/OralCanvas/index.es.js +8 -2
  23. package/lib/OralCanvas/index.es.min.js +3 -3
  24. package/lib/OralWebGL/index.es.js +22 -16
  25. package/lib/OralWebGL/index.es.min.js +3 -3
  26. package/lib/SVG/index.umd.js +2 -2
  27. package/lib/SVG/index.umd.min.js +2 -2
  28. package/lib/Shader/index.umd.js +10 -10
  29. package/lib/Shader/index.umd.min.js +3 -3
  30. package/lib/Texture/index.umd.js +2 -2
  31. package/lib/Texture/index.umd.min.js +2 -2
  32. package/lib/TreeLayout/index.umd.js +2 -2
  33. package/lib/TreeLayout/index.umd.min.js +2 -2
  34. package/lib/WebGL/index.umd.js +22 -16
  35. package/lib/WebGL/index.umd.min.js +3 -3
  36. package/lib/animation/index.umd.js +2 -2
  37. package/lib/animation/index.umd.min.js +2 -2
  38. package/lib/formatColor/index.umd.js +2 -2
  39. package/lib/formatColor/index.umd.min.js +2 -2
  40. package/lib/getLoopColors/index.umd.js +2 -2
  41. package/lib/getLoopColors/index.umd.min.js +2 -2
  42. package/lib/getWebGLContext/index.umd.js +2 -2
  43. package/lib/getWebGLContext/index.umd.min.js +2 -2
  44. package/lib/index.umd.js +40 -16
  45. package/lib/index.umd.min.js +3 -3
  46. package/lib/move/index.umd.js +2 -2
  47. package/lib/move/index.umd.min.js +2 -2
  48. package/lib/resizeObserver/index.umd.js +2 -2
  49. package/lib/resizeObserver/index.umd.min.js +2 -2
  50. package/lib/rotate/index.umd.js +2 -2
  51. package/lib/rotate/index.umd.min.js +2 -2
  52. package/lib/ruler/index.umd.js +14 -2
  53. package/lib/ruler/index.umd.min.js +3 -3
  54. package/lib/scale/index.umd.js +2 -2
  55. package/lib/scale/index.umd.min.js +2 -2
  56. package/lib/throttle/index.umd.js +2 -2
  57. package/lib/throttle/index.umd.min.js +2 -2
  58. package/lib/viewHandler/index.umd.js +2 -2
  59. package/lib/viewHandler/index.umd.min.js +2 -2
  60. package/miniprogram/ui-canvas/index.js +107 -107
  61. package/miniprogram/ui-canvas/index.json +4 -4
  62. package/miniprogram/ui-canvas/index.wxml +4 -4
  63. package/miniprogram/ui-canvas/index.wxss +5 -5
  64. package/package/Buffer/index.ts +2 -2
  65. package/package/Canvas/index.ts +2 -2
  66. package/package/Cardinal/index.ts +2 -2
  67. package/package/Eoap/index.ts +2 -2
  68. package/package/Geometry/index.ts +2 -2
  69. package/package/Hermite/index.ts +2 -2
  70. package/package/Matrix4/index.ts +2 -2
  71. package/package/Mercator/index.ts +2 -2
  72. package/package/OralCanvas/index.ts +2 -2
  73. package/package/OralWebGL/index.ts +2 -2
  74. package/package/SVG/index.ts +2 -2
  75. package/package/Shader/index.ts +39 -39
  76. package/package/Texture/index.ts +2 -2
  77. package/package/TreeLayout/index.ts +1 -1
  78. package/package/WebGL/index.ts +2 -2
  79. package/package/animation/index.ts +2 -2
  80. package/package/formatColor/index.ts +2 -2
  81. package/package/getLoopColors/index.ts +2 -2
  82. package/package/getWebGLContext/index.ts +39 -39
  83. package/package/index.ts +76 -76
  84. package/package/move/index.ts +2 -2
  85. package/package/resizeObserver/index.ts +2 -2
  86. package/package/rotate/index.ts +2 -2
  87. package/package/ruler/index.ts +2 -2
  88. package/package/scale/index.ts +2 -2
  89. package/package/throttle/index.ts +2 -2
  90. package/package/viewHandler/index.ts +2 -2
  91. package/package.json +1 -1
  92. package/src/Canvas.ts +67 -67
  93. package/src/Eoap.ts +66 -66
  94. package/src/Geometry.ts +82 -82
  95. package/src/Matrix4/index.ts +14 -6
  96. package/src/Matrix4/move.ts +12 -12
  97. package/src/Matrix4/rotate.ts +15 -15
  98. package/src/Matrix4/scale.ts +11 -11
  99. package/src/Matrix4/transform.ts +64 -64
  100. package/src/Mercator.ts +27 -27
  101. package/src/SVG.ts +24 -24
  102. package/src/WebGL.ts +66 -66
  103. package/src/animation.ts +98 -98
  104. package/src/common/assemble.ts +22 -22
  105. package/src/common/canvas/arc.ts +50 -50
  106. package/src/common/canvas/config.ts +158 -158
  107. package/src/common/canvas/gradient.ts +29 -29
  108. package/src/common/canvas/index.ts +147 -139
  109. package/src/common/canvas/painter.ts +426 -426
  110. package/src/common/canvas/texts.ts +18 -18
  111. package/src/common/geometry/prism-horizontal.ts +33 -33
  112. package/src/common/geometry/prism-vertical.ts +40 -40
  113. package/src/common/geometry/sphere-fragment.ts +39 -39
  114. package/src/common/geometry/tool/circle.ts +11 -11
  115. package/src/common/mergeOption.ts +6 -6
  116. package/src/common/setStyle.ts +5 -5
  117. package/src/common/svg/config.ts +186 -186
  118. package/src/common/svg/gradient.ts +63 -63
  119. package/src/common/svg/index.ts +356 -356
  120. package/src/common/svg/tool.ts +44 -44
  121. package/src/common/tree/index.ts +25 -25
  122. package/src/common/tree/toInnerTree.ts +56 -56
  123. package/src/common/tree/toPlainTree.ts +131 -131
  124. package/src/common/webgl/buffer.ts +79 -79
  125. package/src/common/webgl/doDraw.ts +108 -108
  126. package/src/common/webgl/getColorFactory.ts +26 -26
  127. package/src/common/webgl/getShader.ts +48 -48
  128. package/src/common/webgl/getTexture.ts +11 -11
  129. package/src/common/webgl/getWebGLContext.ts +27 -27
  130. package/src/common/webgl/index.ts +223 -223
  131. package/src/common/webgl/shader.ts +75 -75
  132. package/src/common/webgl/texture.ts +96 -96
  133. package/src/formatColor.ts +44 -44
  134. package/src/getLoopColors.ts +42 -42
  135. package/src/interpolation/Cardinal.ts +110 -110
  136. package/src/interpolation/Hermite.ts +65 -65
  137. package/src/move.ts +7 -7
  138. package/src/resizeObserver.ts +36 -36
  139. package/src/rotate.ts +7 -7
  140. package/src/ruler.ts +23 -1
  141. package/src/scale.ts +6 -6
  142. package/src/shader/fsColor.c +7 -7
  143. package/src/shader/fsColors.c +7 -7
  144. package/src/shader/fsCube.c +8 -8
  145. package/src/shader/fsImage.c +8 -8
  146. package/src/shader/vsColor.c +17 -17
  147. package/src/shader/vsColors.c +13 -13
  148. package/src/shader/vsCube.c +13 -13
  149. package/src/shader/vsImage.c +13 -13
  150. package/src/throttle.ts +51 -51
  151. package/src/viewHandler.ts +158 -158
  152. package/types/Buffer.d.ts +23 -23
  153. package/types/Canvas.d.ts +8 -0
  154. package/types/CanvasConfig.d.ts +106 -106
  155. package/types/CanvasOption.d.ts +7 -7
  156. package/types/Cardinal.d.ts +13 -13
  157. package/types/Geometry.d.ts +40 -40
  158. package/types/GeometryOption.d.ts +11 -11
  159. package/types/GeometryResult.d.ts +18 -18
  160. package/types/Gradient.d.ts +14 -14
  161. package/types/Hermite.d.ts +18 -18
  162. package/types/Map.d.ts +9 -9
  163. package/types/Matrix4.d.ts +5 -0
  164. package/types/Object3D.d.ts +114 -114
  165. package/types/SVG.d.ts +238 -238
  166. package/types/SVGConfig.d.ts +76 -76
  167. package/types/Scene3D.d.ts +6 -6
  168. package/types/Shader.d.ts +21 -21
  169. package/types/Texture.d.ts +16 -16
  170. package/types/Tree.d.ts +69 -69
  171. package/types/TreeConfig.d.ts +24 -24
  172. package/types/TreeLayout.d.ts +54 -54
  173. package/types/TreeOption.d.ts +48 -48
  174. package/types/WebGL.d.ts +38 -38
  175. package/types/WebGLOption.d.ts +7 -7
  176. package/types/animation.d.ts +6 -6
  177. package/types/formatColor.d.ts +2 -2
  178. package/types/getLoopColors.d.ts +2 -2
  179. package/types/getWebGLContext.d.ts +2 -2
  180. package/types/index.d.ts +175 -175
  181. package/types/move.d.ts +2 -2
  182. package/types/painterConfig.d.ts +2 -2
  183. package/types/resizeObserver.d.ts +2 -2
  184. package/types/rotate.d.ts +2 -2
  185. package/types/ruler.d.ts +7 -7
  186. package/types/scale.d.ts +2 -2
  187. package/types/throttle.d.ts +4 -4
  188. package/types/throttleOption.d.ts +21 -21
  189. package/types/viewHandler.d.ts +13 -13
  190. package/uni-app/ui-canvas.vue +239 -206
  191. /package/src/{TreeLayout/index.ts → layout/TreeLayout.ts} +0 -0
@@ -1,19 +1,19 @@
1
- export default function (painter: CanvasRenderingContext2D, contents: string, width: number, height: number, doback: (content: string, top: number) => void) {
2
-
3
- let lineNumber = 0, content = ""
4
- for (let i = 0; i < contents.length; i++) {
5
- if (painter.measureText(content + contents[i]).width > width || /\n$/.test(content)) {
6
- lineNumber += 1
7
- doback(content, (lineNumber - 0.5) * height)
8
-
9
- content = contents[i]
10
- } else if (i == contents.length - 1) {
11
- lineNumber += 1
12
- doback(content + contents[i], (lineNumber - 0.5) * height)
13
- } else {
14
- content += contents[i]
15
- }
16
- }
17
-
18
- return lineNumber * height
1
+ export default function (painter: CanvasRenderingContext2D, contents: string, width: number, height: number, doback: (content: string, top: number) => void) {
2
+
3
+ let lineNumber = 0, content = ""
4
+ for (let i = 0; i < contents.length; i++) {
5
+ if (painter.measureText(content + contents[i]).width > width || /\n$/.test(content)) {
6
+ lineNumber += 1
7
+ doback(content, (lineNumber - 0.5) * height)
8
+
9
+ content = contents[i]
10
+ } else if (i == contents.length - 1) {
11
+ lineNumber += 1
12
+ doback(content + contents[i], (lineNumber - 0.5) * height)
13
+ } else {
14
+ content += contents[i]
15
+ }
16
+ }
17
+
18
+ return lineNumber * height
19
19
  }
@@ -1,33 +1,33 @@
1
- import rotate from '../../rotate'
2
-
3
- // 棱柱水平部分
4
-
5
- export default function (normal: boolean, x: number, y: number, z: number, radius: number, num: number, d: number) {
6
-
7
- let beginX: number, beginZ: number
8
- if (num == 4) {
9
- let temp = radius / 1.414
10
- beginX = x + temp
11
- beginZ = z + temp
12
-
13
- } else {
14
- beginX = x + radius
15
- beginZ = z
16
- }
17
-
18
- let point = [beginX, beginZ], points = [], deg = Math.PI * 2 / num
19
- for (let i = 0; i < num; i++) {
20
-
21
- points.push(x, y, z)
22
- if (normal) points.push(0, d, 0)
23
-
24
- points.push(point[0], y, point[1])
25
- if (normal) points.push(0, d, 0)
26
-
27
- point = rotate(x, z, deg * (i + 1), beginX, beginZ)
28
- points.push(point[0], y, point[1])
29
- if (normal) points.push(0, d, 0)
30
- }
31
-
32
- return points
33
- }
1
+ import rotate from '../../rotate'
2
+
3
+ // 棱柱水平部分
4
+
5
+ export default function (normal: boolean, x: number, y: number, z: number, radius: number, num: number, d: number) {
6
+
7
+ let beginX: number, beginZ: number
8
+ if (num == 4) {
9
+ let temp = radius / 1.414
10
+ beginX = x + temp
11
+ beginZ = z + temp
12
+
13
+ } else {
14
+ beginX = x + radius
15
+ beginZ = z
16
+ }
17
+
18
+ let point = [beginX, beginZ], points = [], deg = Math.PI * 2 / num
19
+ for (let i = 0; i < num; i++) {
20
+
21
+ points.push(x, y, z)
22
+ if (normal) points.push(0, d, 0)
23
+
24
+ points.push(point[0], y, point[1])
25
+ if (normal) points.push(0, d, 0)
26
+
27
+ point = rotate(x, z, deg * (i + 1), beginX, beginZ)
28
+ points.push(point[0], y, point[1])
29
+ if (normal) points.push(0, d, 0)
30
+ }
31
+
32
+ return points
33
+ }
@@ -1,40 +1,40 @@
1
- import rotate from '../../rotate'
2
-
3
- // 棱柱垂直部分
4
-
5
- export default function (normal: boolean, x: number, y: number, z: number, radius: number, height: number, num: number) {
6
- let points = []
7
- let beginPosition: [number, number]
8
-
9
- if (num == 4) {
10
- beginPosition = rotate(x, z, Math.PI * 0.25, x - radius, z)
11
- } else {
12
- beginPosition = [x + radius, z]
13
- }
14
-
15
- let deg = Math.PI * 2 / num, degHalf = Math.PI * 2 / (num * 2)
16
-
17
- let endPosition: [number, number], normalPosition = []
18
- for (let i = 0; i < num; i++) {
19
-
20
- endPosition = rotate(x, z, deg, ...beginPosition)
21
-
22
- if (normal) {
23
- let halfPosition = rotate(x, z, degHalf, ...beginPosition)
24
- normalPosition = [halfPosition[0], 0, halfPosition[1]]
25
- }
26
-
27
- points.push(beginPosition[0], y, beginPosition[1], ...normalPosition)
28
- points.push(beginPosition[0], y + height, beginPosition[1], ...normalPosition)
29
- points.push(endPosition[0], y + height, endPosition[1], ...normalPosition)
30
-
31
- points.push(beginPosition[0], y, beginPosition[1], ...normalPosition)
32
- points.push(endPosition[0], y, endPosition[1], ...normalPosition)
33
- points.push(endPosition[0], y + height, endPosition[1], ...normalPosition)
34
-
35
-
36
- beginPosition = endPosition
37
- }
38
-
39
- return points
40
- }
1
+ import rotate from '../../rotate'
2
+
3
+ // 棱柱垂直部分
4
+
5
+ export default function (normal: boolean, x: number, y: number, z: number, radius: number, height: number, num: number) {
6
+ let points = []
7
+ let beginPosition: [number, number]
8
+
9
+ if (num == 4) {
10
+ beginPosition = rotate(x, z, Math.PI * 0.25, x - radius, z)
11
+ } else {
12
+ beginPosition = [x + radius, z]
13
+ }
14
+
15
+ let deg = Math.PI * 2 / num, degHalf = Math.PI * 2 / (num * 2)
16
+
17
+ let endPosition: [number, number], normalPosition = []
18
+ for (let i = 0; i < num; i++) {
19
+
20
+ endPosition = rotate(x, z, deg, ...beginPosition)
21
+
22
+ if (normal) {
23
+ let halfPosition = rotate(x, z, degHalf, ...beginPosition)
24
+ normalPosition = [halfPosition[0], 0, halfPosition[1]]
25
+ }
26
+
27
+ points.push(beginPosition[0], y, beginPosition[1], ...normalPosition)
28
+ points.push(beginPosition[0], y + height, beginPosition[1], ...normalPosition)
29
+ points.push(endPosition[0], y + height, endPosition[1], ...normalPosition)
30
+
31
+ points.push(beginPosition[0], y, beginPosition[1], ...normalPosition)
32
+ points.push(endPosition[0], y, endPosition[1], ...normalPosition)
33
+ points.push(endPosition[0], y + height, endPosition[1], ...normalPosition)
34
+
35
+
36
+ beginPosition = endPosition
37
+ }
38
+
39
+ return points
40
+ }
@@ -1,39 +1,39 @@
1
- import rotate from '../../rotate'
2
-
3
- // 球体中的一瓣子
4
-
5
- export default function (normal: boolean, cx: number, cy: number, cz: number, radius: number, num: number, index: number) {
6
- let points = [cx, cy + radius, cz], deg = Math.PI * 2 / num, point: [number, number]
7
-
8
- if (normal) points.push(0, radius, 0)
9
-
10
- let copy2 = () => {
11
- points.push(...points.slice(points.length - (normal ? 12 : 6)))
12
- }
13
-
14
- for (let i = 1; i < num * 0.5; i++) {
15
- point = rotate(cx, cy, deg * i, cx, cy + radius)
16
-
17
- if (i > 1) copy2()
18
-
19
- // 第一个点
20
- let point1 = rotate(cx, cz, deg * index, point[0], cz)
21
- points.push(point1[0], point[1], point1[1])
22
-
23
- if (normal) points.push(point1[0] - cx, point[1] - cy, point1[1] - cz)
24
-
25
- if (i > 1) copy2()
26
-
27
- // 下一个点
28
- let point2 = rotate(cx, cz, deg * (index + 1), point[0], cz)
29
- points.push(point2[0], point[1], point2[1])
30
-
31
- if (normal) points.push(point2[0] - cx, point2[1] - cy, point2[1] - cz)
32
- }
33
- copy2()
34
- points.push(cx, cy - radius, cz)
35
-
36
- if (normal) points.push(0, - radius, 0)
37
-
38
- return points
39
- }
1
+ import rotate from '../../rotate'
2
+
3
+ // 球体中的一瓣子
4
+
5
+ export default function (normal: boolean, cx: number, cy: number, cz: number, radius: number, num: number, index: number) {
6
+ let points = [cx, cy + radius, cz], deg = Math.PI * 2 / num, point: [number, number]
7
+
8
+ if (normal) points.push(0, radius, 0)
9
+
10
+ let copy2 = () => {
11
+ points.push(...points.slice(points.length - (normal ? 12 : 6)))
12
+ }
13
+
14
+ for (let i = 1; i < num * 0.5; i++) {
15
+ point = rotate(cx, cy, deg * i, cx, cy + radius)
16
+
17
+ if (i > 1) copy2()
18
+
19
+ // 第一个点
20
+ let point1 = rotate(cx, cz, deg * index, point[0], cz)
21
+ points.push(point1[0], point[1], point1[1])
22
+
23
+ if (normal) points.push(point1[0] - cx, point[1] - cy, point1[1] - cz)
24
+
25
+ if (i > 1) copy2()
26
+
27
+ // 下一个点
28
+ let point2 = rotate(cx, cz, deg * (index + 1), point[0], cz)
29
+ points.push(point2[0], point[1], point2[1])
30
+
31
+ if (normal) points.push(point2[0] - cx, point2[1] - cy, point2[1] - cz)
32
+ }
33
+ copy2()
34
+ points.push(cx, cy - radius, cz)
35
+
36
+ if (normal) points.push(0, - radius, 0)
37
+
38
+ return points
39
+ }
@@ -1,12 +1,12 @@
1
- // 计算切割份数
2
- export let splitNum = function (precision: number, radius: number) {
3
-
4
- // 根据切割弧度得出切割块数目
5
- let num = Math.ceil(Math.PI * 2 /
6
-
7
- // 为了满足最小精度而得出的切割弧度
8
- Math.asin(precision / radius) * 2)
9
-
10
- return (isNaN(num) || num < 12) ? 12 : num
11
-
1
+ // 计算切割份数
2
+ export let splitNum = function (precision: number, radius: number) {
3
+
4
+ // 根据切割弧度得出切割块数目
5
+ let num = Math.ceil(Math.PI * 2 /
6
+
7
+ // 为了满足最小精度而得出的切割弧度
8
+ Math.asin(precision / radius) * 2)
9
+
10
+ return (isNaN(num) || num < 12) ? 12 : num
11
+
12
12
  }
@@ -1,7 +1,7 @@
1
- export default function (option: any, defaultOption: any) {
2
- for (let key in option) {
3
- defaultOption[key] = option[key]
4
- }
5
-
6
- return defaultOption
1
+ export default function (option: any, defaultOption: any) {
2
+ for (let key in option) {
3
+ defaultOption[key] = option[key]
4
+ }
5
+
6
+ return defaultOption
7
7
  }
@@ -1,6 +1,6 @@
1
- // 修改样式
2
- export default function (el: HTMLElement | SVGElement, styles: any) {
3
- for (let key in styles) {
4
- el.style[key] = styles[key]
5
- }
1
+ // 修改样式
2
+ export default function (el: HTMLElement | SVGElement, styles: any) {
3
+ for (let key in styles) {
4
+ el.style[key] = styles[key]
5
+ }
6
6
  }