abstract-3d 2.7.30 → 2.7.33

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 (239) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -1
  3. package/lib/abstract-3d.d.ts +2 -2
  4. package/lib/abstract-3d.d.ts.map +1 -1
  5. package/lib/abstract-3d.js +21 -13
  6. package/lib/abstract-3d.js.map +1 -1
  7. package/lib/renderers/dxf/dxf-encoding/dxf-3dface.d.ts.map +1 -1
  8. package/lib/renderers/dxf/dxf-encoding/dxf-color.js +2 -2
  9. package/lib/renderers/dxf/dxf-encoding/dxf-color.js.map +1 -1
  10. package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts.map +1 -1
  11. package/lib/renderers/dxf/dxf-encoding/dxf-common.js +9 -4
  12. package/lib/renderers/dxf/dxf-encoding/dxf-common.js.map +1 -1
  13. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts +1 -1
  14. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts.map +1 -1
  15. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js +3 -3
  16. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -1
  17. package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -1
  18. package/lib/renderers/dxf/dxf-encoding/dxf-footer.js +2 -1
  19. package/lib/renderers/dxf/dxf-encoding/dxf-footer.js.map +1 -1
  20. package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -1
  21. package/lib/renderers/dxf/dxf-encoding/dxf-header.js +2 -1
  22. package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -1
  23. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.d.ts.map +1 -1
  24. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js +1 -3
  25. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js.map +1 -1
  26. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.d.ts.map +1 -1
  27. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js +0 -1
  28. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js.map +1 -1
  29. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts.map +1 -1
  30. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js.map +1 -1
  31. package/lib/renderers/dxf/dxf-encoding/dxf-solid.d.ts.map +1 -1
  32. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts.map +1 -1
  33. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -1
  34. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +1 -1
  35. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -1
  36. package/lib/renderers/dxf/dxf-geometries/dxf-image.js +3 -8
  37. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
  38. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
  39. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +2 -2
  40. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  41. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
  42. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +1 -1
  43. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  44. package/lib/renderers/dxf/dxf.d.ts.map +1 -1
  45. package/lib/renderers/dxf/dxf.js +9 -5
  46. package/lib/renderers/dxf/dxf.js.map +1 -1
  47. package/lib/renderers/react/react-camera.d.ts +2 -2
  48. package/lib/renderers/react/react-camera.d.ts.map +1 -1
  49. package/lib/renderers/react/react-camera.js +4 -6
  50. package/lib/renderers/react/react-camera.js.map +1 -1
  51. package/lib/renderers/react/react-dimension.d.ts +2 -2
  52. package/lib/renderers/react/react-dimension.d.ts.map +1 -1
  53. package/lib/renderers/react/react-dimension.js +3 -3
  54. package/lib/renderers/react/react-dimension.js.map +1 -1
  55. package/lib/renderers/react/react-group.d.ts +4 -4
  56. package/lib/renderers/react/react-group.d.ts.map +1 -1
  57. package/lib/renderers/react/react-group.js.map +1 -1
  58. package/lib/renderers/react/react-hotspot.d.ts +2 -2
  59. package/lib/renderers/react/react-hotspot.d.ts.map +1 -1
  60. package/lib/renderers/react/react-hotspot.js +1 -1
  61. package/lib/renderers/react/react-hotspot.js.map +1 -1
  62. package/lib/renderers/react/react-image-material.d.ts +2 -2
  63. package/lib/renderers/react/react-image-material.d.ts.map +1 -1
  64. package/lib/renderers/react/react-image-material.js +5 -5
  65. package/lib/renderers/react/react-image-material.js.map +1 -1
  66. package/lib/renderers/react/react-material.d.ts +1 -1
  67. package/lib/renderers/react/react-material.d.ts.map +1 -1
  68. package/lib/renderers/react/react-material.js +1 -0
  69. package/lib/renderers/react/react-material.js.map +1 -1
  70. package/lib/renderers/react/react-mesh.d.ts +1 -1
  71. package/lib/renderers/react/react-mesh.d.ts.map +1 -1
  72. package/lib/renderers/react/react-mesh.js +5 -13
  73. package/lib/renderers/react/react-mesh.js.map +1 -1
  74. package/lib/renderers/react/react-scene.d.ts +5 -5
  75. package/lib/renderers/react/react-scene.d.ts.map +1 -1
  76. package/lib/renderers/react/react-scene.js +1 -0
  77. package/lib/renderers/react/react-scene.js.map +1 -1
  78. package/lib/renderers/react/react-types.d.ts +1 -1
  79. package/lib/renderers/react/react-types.d.ts.map +1 -1
  80. package/lib/renderers/react/react.d.ts +5 -5
  81. package/lib/renderers/react/react.d.ts.map +1 -1
  82. package/lib/renderers/react/react.js +2 -2
  83. package/lib/renderers/react/react.js.map +1 -1
  84. package/lib/renderers/step/step-encoding.d.ts +1 -1
  85. package/lib/renderers/step/step-encoding.d.ts.map +1 -1
  86. package/lib/renderers/step/step-encoding.js.map +1 -1
  87. package/lib/renderers/step/step-geometries/step-box.d.ts +2 -2
  88. package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -1
  89. package/lib/renderers/step/step-geometries/step-box.js.map +1 -1
  90. package/lib/renderers/step/step-geometries/step-cone.d.ts +2 -2
  91. package/lib/renderers/step/step-geometries/step-cone.d.ts.map +1 -1
  92. package/lib/renderers/step/step-geometries/step-cone.js +0 -1
  93. package/lib/renderers/step/step-geometries/step-cone.js.map +1 -1
  94. package/lib/renderers/step/step-geometries/step-cylinder.d.ts +2 -2
  95. package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
  96. package/lib/renderers/step/step-geometries/step-cylinder.js +8 -23
  97. package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
  98. package/lib/renderers/step/step-geometries/step-plane.d.ts +2 -2
  99. package/lib/renderers/step/step-geometries/step-plane.d.ts.map +1 -1
  100. package/lib/renderers/step/step-geometries/step-plane.js +1 -1
  101. package/lib/renderers/step/step-geometries/step-plane.js.map +1 -1
  102. package/lib/renderers/step/step.d.ts +1 -1
  103. package/lib/renderers/step/step.d.ts.map +1 -1
  104. package/lib/renderers/step/step.js +1 -1
  105. package/lib/renderers/step/step.js.map +1 -1
  106. package/lib/renderers/stl/stl-encoding.d.ts +1 -1
  107. package/lib/renderers/stl/stl-encoding.d.ts.map +1 -1
  108. package/lib/renderers/stl/stl-encoding.js.map +1 -1
  109. package/lib/renderers/stl/stl-geometries/stl-box.d.ts +1 -1
  110. package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -1
  111. package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -1
  112. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +1 -1
  113. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -1
  114. package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -1
  115. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +1 -1
  116. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -1
  117. package/lib/renderers/stl/stl-geometries/stl-cylinder.js +1 -1
  118. package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -1
  119. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +1 -1
  120. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -1
  121. package/lib/renderers/stl/stl-geometries/stl-plane.js +1 -1
  122. package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -1
  123. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +1 -1
  124. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -1
  125. package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -1
  126. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +1 -1
  127. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -1
  128. package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -1
  129. package/lib/renderers/stl/stl.d.ts +1 -1
  130. package/lib/renderers/stl/stl.d.ts.map +1 -1
  131. package/lib/renderers/stl/stl.js.map +1 -1
  132. package/lib/renderers/svg/index.js +1 -0
  133. package/lib/renderers/svg/index.js.map +1 -1
  134. package/lib/renderers/svg/svg-encoding.d.ts +3 -3
  135. package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
  136. package/lib/renderers/svg/svg-encoding.js +6 -15
  137. package/lib/renderers/svg/svg-encoding.js.map +1 -1
  138. package/lib/renderers/svg/svg-geometries/shared.d.ts +1 -1
  139. package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -1
  140. package/lib/renderers/svg/svg-geometries/shared.js.map +1 -1
  141. package/lib/renderers/svg/svg-geometries/svg-box.d.ts +2 -2
  142. package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -1
  143. package/lib/renderers/svg/svg-geometries/svg-box.js +1 -1
  144. package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -1
  145. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +2 -2
  146. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -1
  147. package/lib/renderers/svg/svg-geometries/svg-cone.js +2 -2
  148. package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -1
  149. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +2 -2
  150. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -1
  151. package/lib/renderers/svg/svg-geometries/svg-cylinder.js +2 -2
  152. package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -1
  153. package/lib/renderers/svg/svg-geometries/svg-image.d.ts +2 -2
  154. package/lib/renderers/svg/svg-geometries/svg-image.d.ts.map +1 -1
  155. package/lib/renderers/svg/svg-geometries/svg-image.js +1 -1
  156. package/lib/renderers/svg/svg-geometries/svg-image.js.map +1 -1
  157. package/lib/renderers/svg/svg-geometries/svg-line.d.ts +2 -2
  158. package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -1
  159. package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -1
  160. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +2 -2
  161. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -1
  162. package/lib/renderers/svg/svg-geometries/svg-plane.js +1 -1
  163. package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
  164. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +2 -2
  165. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -1
  166. package/lib/renderers/svg/svg-geometries/svg-polygon.js +1 -1
  167. package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -1
  168. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +2 -2
  169. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -1
  170. package/lib/renderers/svg/svg-geometries/svg-shape.js +1 -1
  171. package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -1
  172. package/lib/renderers/svg/svg-geometries/svg-text.d.ts +2 -2
  173. package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -1
  174. package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -1
  175. package/lib/renderers/svg/svg.d.ts +3 -3
  176. package/lib/renderers/svg/svg.d.ts.map +1 -1
  177. package/lib/renderers/svg/svg.js.map +1 -1
  178. package/lib/utils.d.ts +1 -1
  179. package/lib/utils.d.ts.map +1 -1
  180. package/lib/utils.js +0 -1
  181. package/lib/utils.js.map +1 -1
  182. package/package.json +3 -3
  183. package/src/abstract-3d.ts +93 -93
  184. package/src/custom_typings/react-three-fiber.d.ts +1 -1
  185. package/src/renderers/dxf/dxf-encoding/dxf-3dface.ts +1 -1
  186. package/src/renderers/dxf/dxf-encoding/dxf-color.ts +26 -26
  187. package/src/renderers/dxf/dxf-encoding/dxf-common.ts +23 -9
  188. package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +57 -13
  189. package/src/renderers/dxf/dxf-encoding/dxf-footer.ts +3 -2
  190. package/src/renderers/dxf/dxf-encoding/dxf-header.ts +15 -4
  191. package/src/renderers/dxf/dxf-encoding/dxf-line.ts +1 -1
  192. package/src/renderers/dxf/dxf-encoding/dxf-lwpolyline.ts +21 -17
  193. package/src/renderers/dxf/dxf-encoding/dxf-mtext.ts +12 -3
  194. package/src/renderers/dxf/dxf-encoding/dxf-polyline.ts +2 -3
  195. package/src/renderers/dxf/dxf-encoding/dxf-solid.ts +1 -1
  196. package/src/renderers/dxf/dxf-encoding/dxf-triangle.ts +1 -1
  197. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +1 -1
  198. package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +18 -4
  199. package/src/renderers/dxf/dxf-geometries/dxf-image.ts +8 -20
  200. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +16 -28
  201. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +13 -5
  202. package/src/renderers/dxf/dxf.ts +67 -16
  203. package/src/renderers/react/react-camera.tsx +7 -8
  204. package/src/renderers/react/react-dimension.tsx +5 -5
  205. package/src/renderers/react/react-group.tsx +6 -4
  206. package/src/renderers/react/react-hotspot.tsx +3 -2
  207. package/src/renderers/react/react-image-material.tsx +9 -9
  208. package/src/renderers/react/react-material.tsx +7 -7
  209. package/src/renderers/react/react-mesh.tsx +29 -40
  210. package/src/renderers/react/react-scene.tsx +6 -5
  211. package/src/renderers/react/react-types.ts +1 -1
  212. package/src/renderers/react/react.tsx +8 -7
  213. package/src/renderers/step/step-encoding.ts +43 -44
  214. package/src/renderers/step/step-geometries/step-box.ts +3 -8
  215. package/src/renderers/step/step-geometries/step-cone.ts +3 -14
  216. package/src/renderers/step/step-geometries/step-cylinder.ts +49 -251
  217. package/src/renderers/step/step-geometries/step-plane.ts +4 -11
  218. package/src/renderers/step/step.ts +3 -19
  219. package/src/renderers/stl/stl-encoding.ts +2 -1
  220. package/src/renderers/stl/stl-geometries/stl-box.ts +2 -1
  221. package/src/renderers/stl/stl-geometries/stl-cone.ts +2 -1
  222. package/src/renderers/stl/stl-geometries/stl-cylinder.ts +3 -2
  223. package/src/renderers/stl/stl-geometries/stl-plane.ts +2 -10
  224. package/src/renderers/stl/stl-geometries/stl-polygon.ts +2 -1
  225. package/src/renderers/stl/stl-geometries/stl-shape.ts +2 -1
  226. package/src/renderers/stl/stl.ts +2 -1
  227. package/src/renderers/svg/svg-encoding.ts +7 -31
  228. package/src/renderers/svg/svg-geometries/shared.ts +2 -1
  229. package/src/renderers/svg/svg-geometries/svg-box.ts +4 -13
  230. package/src/renderers/svg/svg-geometries/svg-cone.ts +5 -14
  231. package/src/renderers/svg/svg-geometries/svg-cylinder.ts +5 -14
  232. package/src/renderers/svg/svg-geometries/svg-image.ts +8 -14
  233. package/src/renderers/svg/svg-geometries/svg-line.ts +4 -2
  234. package/src/renderers/svg/svg-geometries/svg-plane.ts +4 -14
  235. package/src/renderers/svg/svg-geometries/svg-polygon.ts +4 -11
  236. package/src/renderers/svg/svg-geometries/svg-shape.ts +4 -12
  237. package/src/renderers/svg/svg-geometries/svg-text.ts +6 -8
  238. package/src/renderers/svg/svg.ts +13 -17
  239. package/src/utils.ts +26 -31
@@ -1,4 +1,5 @@
1
- import { vec2, Vec2, vec3, Vec3, vec3TransRot, vec3Zero, View } from "../../../abstract-3d.js";
1
+ import type { Vec2, Vec3, View } from "../../../abstract-3d.js";
2
+ import { vec3TransRot, vec3Zero } from "../../../abstract-3d.js";
2
3
 
3
4
  export type zOrderElement = { readonly element: string; readonly zOrder: number };
4
5
  export const zElem = (element: string, zOrder: number): zOrderElement => ({ element, zOrder });
@@ -1,16 +1,7 @@
1
- import {
2
- Box,
3
- Vec2,
4
- Vec3,
5
- vec3Scale,
6
- vec3TransRot,
7
- vec3RotCombine,
8
- vec3Zero,
9
- vec3,
10
- vec3ZMean,
11
- Material,
12
- } from "../../../abstract-3d.js";
13
- import { gray, black, zElem, zOrderElement, SvgOptions } from "./shared.js";
1
+ import type { Box, Vec2, Vec3, Material } from "../../../abstract-3d.js";
2
+ import { vec3Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3ZMean } from "../../../abstract-3d.js";
3
+ import type { zOrderElement, SvgOptions } from "./shared.js";
4
+ import { gray, black, zElem } from "./shared.js";
14
5
  import { svgPolygon } from "../svg-encoding.js";
15
6
  import { rgbGrayScale } from "../../../utils.js";
16
7
 
@@ -1,16 +1,7 @@
1
- import {
2
- Cone,
3
- Vec2,
4
- Vec3,
5
- vec3,
6
- vec3TransRot,
7
- vec3RotCombine,
8
- vec3Zero,
9
- vec3ZMean,
10
- equals,
11
- Material,
12
- } from "../../../abstract-3d.js";
13
- import { gray, stBW, zElem, zOrderElement, transparent, SvgOptions } from "./shared.js";
1
+ import type { Cone, Vec2, Vec3, Material } from "../../../abstract-3d.js";
2
+ import { vec3, vec3TransRot, vec3RotCombine, vec3Zero, vec3ZMean, equals } from "../../../abstract-3d.js";
3
+ import type { zOrderElement, SvgOptions } from "./shared.js";
4
+ import { gray, stBW, zElem, transparent } from "./shared.js";
14
5
  import { svgCircle, svgPolygon } from "../svg-encoding.js";
15
6
  import { rgbGrayScale } from "../../../utils.js";
16
7
 
@@ -59,7 +50,7 @@ export function cone(
59
50
  }
60
51
 
61
52
  // Add circle if direcly facing camera
62
- const cylTop = vec3tr(vec3(0, +half.y, 0));
53
+ const cylTop = vec3tr(vec3(0, half.y, 0));
63
54
  const cylBottom = vec3tr(vec3(0, -half.y, 0));
64
55
  if (equals(cylTop.x, cylBottom.x, 0.1) && equals(cylTop.y, cylBottom.y, 0.1)) {
65
56
  zOrderComponents.push(
@@ -1,16 +1,7 @@
1
- import {
2
- Cylinder,
3
- Vec2,
4
- Vec3,
5
- vec3,
6
- vec3TransRot,
7
- vec3RotCombine,
8
- vec3Zero,
9
- vec3ZMean,
10
- equals,
11
- Material,
12
- } from "../../../abstract-3d.js";
13
- import { gray, stBW, SvgOptions, transparent, zElem, zOrderElement } from "./shared.js";
1
+ import type { Cylinder, Vec2, Vec3, Material } from "../../../abstract-3d.js";
2
+ import { vec3, vec3TransRot, vec3RotCombine, vec3Zero, vec3ZMean, equals } from "../../../abstract-3d.js";
3
+ import type { SvgOptions, zOrderElement } from "./shared.js";
4
+ import { gray, stBW, transparent, zElem } from "./shared.js";
14
5
  import { svgCircle, svgPolygon } from "../svg-encoding.js";
15
6
  import { rgbGrayScale } from "../../../utils.js";
16
7
 
@@ -65,7 +56,7 @@ export function cylinder(
65
56
  }
66
57
  if (!c.open) {
67
58
  // Add circle if direcly facing camera
68
- const circleTop = vec3tr(vec3(0, +half.y, 0));
59
+ const circleTop = vec3tr(vec3(0, half.y, 0));
69
60
  const circleBottom = vec3tr(vec3(0, -half.y, 0));
70
61
  if (equals(circleTop.x, circleBottom.x, 0.1) && equals(circleTop.y, circleBottom.y, 0.1)) {
71
62
  const circlePos = circleTop.z > circleBottom.z ? circleTop : circleBottom;
@@ -1,16 +1,10 @@
1
1
  import { createSVG } from "abstract-image";
2
- import {
3
- ImageMesh,
4
- Vec2,
5
- Vec3,
6
- vec2Scale,
7
- vec3TransRot,
8
- vec3RotCombine,
9
- vec3Zero,
10
- vec3,
11
- } from "../../../abstract-3d.js";
12
- import { zElem, zOrderElement, SvgOptions } from "./shared.js";
13
- import { EmbededImage, rawSvgPrefix, svgImage } from "../svg-encoding.js";
2
+ import type { ImageMesh, Vec2, Vec3 } from "../../../abstract-3d.js";
3
+ import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3 } from "../../../abstract-3d.js";
4
+ import type { zOrderElement, SvgOptions } from "./shared.js";
5
+ import { zElem } from "./shared.js";
6
+ import type { EmbededImage } from "../svg-encoding.js";
7
+ import { rawSvgPrefix, svgImage } from "../svg-encoding.js";
14
8
  import { exhaustiveCheck } from "ts-exhaustive-check";
15
9
 
16
10
  export function image(
@@ -56,8 +50,8 @@ export function image(
56
50
  ),
57
51
  }
58
52
  : i.image.url
59
- ? { type: "url", url: imageData ?? i.image.url }
60
- : undefined;
53
+ ? { type: "url", url: imageData ?? i.image.url }
54
+ : undefined;
61
55
 
62
56
  if (image) {
63
57
  const img = svgImage(point(v4.x, v4.y), i.size, rot, image, opts.imageBg ? opts.background : undefined);
@@ -1,5 +1,7 @@
1
- import { CulledLine, Line, Vec2, Vec3, vec3TransRot, vec3ZMean } from "../../../abstract-3d.js";
2
- import { SvgOptions, zElem, zOrderElement } from "./shared.js";
1
+ import type { CulledLine, Line, Vec2, Vec3 } from "../../../abstract-3d.js";
2
+ import { vec3TransRot, vec3ZMean } from "../../../abstract-3d.js";
3
+ import type { SvgOptions, zOrderElement } from "./shared.js";
4
+ import { zElem } from "./shared.js";
3
5
  import { svgLine } from "../svg-encoding.js";
4
6
  import { rgbGrayScale } from "../../../utils.js";
5
7
 
@@ -1,17 +1,7 @@
1
- import {
2
- Plane,
3
- Vec2,
4
- Vec3,
5
- vec2Scale,
6
- vec3TransRot,
7
- vec3RotCombine,
8
- vec3Zero,
9
- vec3,
10
- vec3ZMean,
11
- Material,
12
- Hole,
13
- } from "../../../abstract-3d.js";
14
- import { gray, black, zElem, zOrderElement, SvgOptions } from "./shared.js";
1
+ import type { Plane, Vec2, Vec3, Material, Hole } from "../../../abstract-3d.js";
2
+ import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3ZMean } from "../../../abstract-3d.js";
3
+ import type { zOrderElement, SvgOptions } from "./shared.js";
4
+ import { gray, black, zElem } from "./shared.js";
15
5
  import { svgPolygon } from "../svg-encoding.js";
16
6
  import { rgbGrayScale } from "../../../utils.js";
17
7
 
@@ -1,14 +1,7 @@
1
- import {
2
- Polygon,
3
- vec3ZMean,
4
- Vec3,
5
- Vec2,
6
- vec3TransRot,
7
- vec3RotCombine,
8
- vec3Zero,
9
- Material,
10
- } from "../../../abstract-3d.js";
11
- import { gray, zElem, zOrderElement, transparent, SvgOptions } from "./shared.js";
1
+ import type { Polygon, Vec3, Vec2, Material } from "../../../abstract-3d.js";
2
+ import { vec3ZMean, vec3TransRot, vec3RotCombine, vec3Zero } from "../../../abstract-3d.js";
3
+ import type { zOrderElement, SvgOptions } from "./shared.js";
4
+ import { gray, zElem, transparent } from "./shared.js";
12
5
  import { svgPolygon } from "../svg-encoding.js";
13
6
  import { rgbGrayScale } from "../../../utils.js";
14
7
 
@@ -1,15 +1,7 @@
1
- import {
2
- vec3ZMean,
3
- Vec3,
4
- Vec2,
5
- vec3TransRot,
6
- vec3RotCombine,
7
- Shape,
8
- vec3,
9
- vec3Zero,
10
- Material,
11
- } from "../../../abstract-3d.js";
12
- import { gray, zElem, zOrderElement, transparent, SvgOptions } from "./shared.js";
1
+ import type { Vec3, Vec2, Shape, Material } from "../../../abstract-3d.js";
2
+ import { vec3ZMean, vec3TransRot, vec3RotCombine, vec3, vec3Zero } from "../../../abstract-3d.js";
3
+ import type { zOrderElement, SvgOptions } from "./shared.js";
4
+ import { gray, zElem, transparent } from "./shared.js";
13
5
  import { svgPolygon } from "../svg-encoding.js";
14
6
  import { rgbGrayScale } from "../../../utils.js";
15
7
 
@@ -1,5 +1,7 @@
1
- import { Text, Vec2, Vec3, vec3TransRot, vec3RotCombine, vec3Zero, vec3, View, vec3Flip, rotationForCameraPos, vec3Dot, vec3Rot } from "../../../abstract-3d.js";
2
- import { svgTrsMatrix, SvgOptions, zElem, zOrderElement } from "./shared.js";
1
+ import type { Text, Vec2, Vec3 } from "../../../abstract-3d.js";
2
+ import { vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3Dot, vec3Rot } from "../../../abstract-3d.js";
3
+ import type { SvgOptions, zOrderElement } from "./shared.js";
4
+ import { svgTrsMatrix, zElem } from "./shared.js";
3
5
  import { svgText } from "../svg-encoding.js";
4
6
 
5
7
  const SVG_FORWARD: Vec3 = vec3(0.0, 0.0, 1.0);
@@ -17,14 +19,10 @@ export function text(
17
19
  const pos = vec3TransRot(t.pos, parentPos, parentRot);
18
20
  const rot = vec3RotCombine(parentRot, t.rot ?? vec3Zero);
19
21
 
20
- const textForward = vec3Rot(
21
- { x: 0, y: 0, z: 1 },
22
- vec3Zero,
23
- rot,
24
- );
22
+ const textForward = vec3Rot({ x: 0, y: 0, z: 1 }, vec3Zero, rot);
25
23
 
26
24
  //discard texts that are pointing away
27
- if(vec3Dot(textForward, SVG_FORWARD) <= SVG_DOT_OPPOSITE_THRESHOLD) {
25
+ if (vec3Dot(textForward, SVG_FORWARD) <= SVG_DOT_OPPOSITE_THRESHOLD) {
28
26
  return [];
29
27
  }
30
28
 
@@ -1,31 +1,22 @@
1
1
  import { exhaustiveCheck } from "ts-exhaustive-check";
2
+ import type { Scene, Vec3, Mesh, Vec2, Group, Material, Bounds2 } from "../../abstract-3d.js";
2
3
  import {
3
4
  vec2,
4
- Scene,
5
- Vec3,
6
- Mesh,
7
5
  vec3Rot,
8
6
  vec3Zero,
9
7
  vec3RotCombine,
10
8
  vec3,
11
- Vec2,
12
- Group,
13
9
  vec3TransRot,
14
- Material,
15
10
  rotationForCameraPos,
16
11
  sizeBoundsForCameraPos,
17
- Bounds2,
18
12
  bounds2FromPosAndSize,
19
13
  bounds2ToSize,
20
14
  bounds2Merge,
21
15
  vec2Zero,
22
16
  vec3Flip,
23
- vec2Add,
24
- View,
25
- vec3RotInverse,
26
17
  dimensionConvertToTypeMesh,
27
18
  } from "../../abstract-3d.js";
28
- import { SvgOptions, zOrderElement } from "./svg-geometries/shared.js";
19
+ import type { SvgOptions, zOrderElement } from "./svg-geometries/shared.js";
29
20
  import { box } from "./svg-geometries/svg-box.js";
30
21
  import { cylinder } from "./svg-geometries/svg-cylinder.js";
31
22
  import { line } from "./svg-geometries/svg-line.js";
@@ -34,7 +25,8 @@ import { shape } from "./svg-geometries/svg-shape.js";
34
25
  import { polygon } from "./svg-geometries/svg-polygon.js";
35
26
  import { text } from "./svg-geometries/svg-text.js";
36
27
  import { cone } from "./svg-geometries/svg-cone.js";
37
- import { calculateVisibleViews, isViewVisible, Optional } from "../../utils.js";
28
+ import type { Optional } from "../../utils.js";
29
+ import { calculateVisibleViews, isViewVisible } from "../../utils.js";
38
30
  import { svg } from "./svg-encoding.js";
39
31
  import { image } from "./svg-geometries/svg-image.js";
40
32
 
@@ -114,13 +106,17 @@ function renderInternal(
114
106
  }
115
107
  const dimOpts: SvgOptions = { ...opts, only_stroke: false, gray_scale: false };
116
108
  elements.sort((a, b) => a.zOrder - b.zOrder);
117
- const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
109
+ const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
118
110
 
119
111
  for (const dim of scene.dimensions_deprecated?.dimensions ?? []) {
120
- const d = dimensionConvertToTypeMesh(dim, scene.rotation_deprecated ?? vec3Zero, scene.dimensions_deprecated?.material);
121
- if(isViewVisible(d.views[0], visibleViews)) {
112
+ const d = dimensionConvertToTypeMesh(
113
+ dim,
114
+ scene.rotation_deprecated ?? vec3Zero,
115
+ scene.dimensions_deprecated?.material
116
+ );
117
+ if (isViewVisible(d.views[0], visibleViews)) {
122
118
  const pos = vec3TransRot(d.pos, unitCenterFlipped, unitRot);
123
- const rot = vec3RotCombine(unitRot, d.rot);
119
+ const rot = vec3RotCombine(unitRot, d.rot);
124
120
  for (const m of d.meshes) {
125
121
  elements.push(...svgMesh(m, pos, rot, point, scene.dimensions_deprecated?.material ?? { normal: "" }, dimOpts));
126
122
  }
@@ -182,4 +178,4 @@ function svgMesh(
182
178
  default:
183
179
  return exhaustiveCheck(mesh.geometry);
184
180
  }
185
- }
181
+ }
package/src/utils.ts CHANGED
@@ -1,6 +1,5 @@
1
- /* eslint-disable @typescript-eslint/no-unused-expressions */
2
-
3
- import { vec3, Vec3, vec3Rot, vec3Zero, View } from "./abstract-3d.js";
1
+ import type { Vec3, View } from "./abstract-3d.js";
2
+ import { vec3, vec3Rot, vec3Zero } from "./abstract-3d.js";
4
3
 
5
4
  // dummy
6
5
  export function parseRgb(color: string): { readonly r: number; readonly g: number; readonly b: number } {
@@ -141,10 +140,10 @@ export function shade(p: number, from: string, to?: string): string | undefined
141
140
  (f[3]! > -1 && t[3]! > -1
142
141
  ? r(((t[3]! - f[3]!) * p + f[3]!) * 255)
143
142
  : t[3]! > -1
144
- ? r(t[3]! * 255)
145
- : f[3]! > -1
146
- ? r(f[3]! * 255)
147
- : 255)
143
+ ? r(t[3]! * 255)
144
+ : f[3]! > -1
145
+ ? r(f[3]! * 255)
146
+ : 255)
148
147
  )
149
148
  .toString(16)
150
149
  .slice(1, f[3]! > -1 || t[3]! > -1 ? undefined : -2)
@@ -153,35 +152,31 @@ export function shade(p: number, from: string, to?: string): string | undefined
153
152
 
154
153
  export function calculateVisibleViews(originalView: View, sceneRotation: Vec3 | undefined): Record<string, boolean> {
155
154
  const cameraPositionForView = (view: View): Vec3 => {
156
- switch (view) {
157
- case "front":
158
- return vec3(0, 0, 1);
159
- case "back":
160
- return vec3(0, 0, -1);
161
- case "top":
162
- return vec3(0, 1, 0);
163
- case "bottom":
164
- return vec3(0, -1, 0);
165
- case "right":
166
- return vec3(1, 0, 0);
167
- case "left":
168
- return vec3(-1, 0, 0);
155
+ switch (view) {
156
+ case "front":
157
+ return vec3(0, 0, 1);
158
+ case "back":
159
+ return vec3(0, 0, -1);
160
+ case "top":
161
+ return vec3(0, 1, 0);
162
+ case "bottom":
163
+ return vec3(0, -1, 0);
164
+ case "right":
165
+ return vec3(1, 0, 0);
166
+ case "left":
167
+ return vec3(-1, 0, 0);
169
168
  default:
170
169
  return vec3(0, 0, 1);
171
- }
172
- };
170
+ }
171
+ };
173
172
 
174
- const cam = vec3Rot(
175
- cameraPositionForView(originalView),
176
- vec3Zero,
177
- sceneRotation ?? vec3Zero
178
- );
173
+ const cam = vec3Rot(cameraPositionForView(originalView), vec3Zero, sceneRotation ?? vec3Zero);
179
174
 
180
175
  return {
181
- [cam.x >= 0 ? "right" : "left"]: originalView === "right" || originalView === "left",
182
- [cam.y >= 0 ? "top" : "bottom"]: originalView === "top" || originalView === "bottom",
183
- [cam.z >= 0 ? "front" : "back"]: originalView === "front" || originalView === "back",
184
- };
176
+ [cam.x >= 0 ? "right" : "left"]: originalView === "right" || originalView === "left",
177
+ [cam.y >= 0 ? "top" : "bottom"]: originalView === "top" || originalView === "bottom",
178
+ [cam.z >= 0 ? "front" : "back"]: originalView === "front" || originalView === "back",
179
+ };
185
180
  }
186
181
 
187
182
  export function isViewVisible(view: View | undefined, visibleViews: Record<string, boolean>): boolean {