abstract-3d 2.7.30 → 2.7.32

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 (199) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/abstract-3d.d.ts +1 -1
  3. package/lib/abstract-3d.d.ts.map +1 -1
  4. package/lib/abstract-3d.js +20 -12
  5. package/lib/abstract-3d.js.map +1 -1
  6. package/lib/renderers/dxf/dxf-encoding/dxf-3dface.d.ts.map +1 -1
  7. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts +1 -1
  8. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts.map +1 -1
  9. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js +3 -3
  10. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -1
  11. package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -1
  12. package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -1
  13. package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -1
  14. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js.map +1 -1
  15. package/lib/renderers/dxf/dxf-encoding/dxf-solid.d.ts.map +1 -1
  16. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts.map +1 -1
  17. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
  18. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  19. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  20. package/lib/renderers/dxf/dxf.d.ts.map +1 -1
  21. package/lib/renderers/dxf/dxf.js +9 -5
  22. package/lib/renderers/dxf/dxf.js.map +1 -1
  23. package/lib/renderers/react/react-camera.d.ts +2 -2
  24. package/lib/renderers/react/react-camera.d.ts.map +1 -1
  25. package/lib/renderers/react/react-camera.js +3 -5
  26. package/lib/renderers/react/react-camera.js.map +1 -1
  27. package/lib/renderers/react/react-dimension.d.ts +2 -2
  28. package/lib/renderers/react/react-dimension.d.ts.map +1 -1
  29. package/lib/renderers/react/react-dimension.js +3 -3
  30. package/lib/renderers/react/react-dimension.js.map +1 -1
  31. package/lib/renderers/react/react-group.d.ts +4 -4
  32. package/lib/renderers/react/react-group.d.ts.map +1 -1
  33. package/lib/renderers/react/react-group.js.map +1 -1
  34. package/lib/renderers/react/react-hotspot.d.ts +2 -2
  35. package/lib/renderers/react/react-hotspot.d.ts.map +1 -1
  36. package/lib/renderers/react/react-hotspot.js +1 -1
  37. package/lib/renderers/react/react-hotspot.js.map +1 -1
  38. package/lib/renderers/react/react-image-material.d.ts +2 -2
  39. package/lib/renderers/react/react-image-material.d.ts.map +1 -1
  40. package/lib/renderers/react/react-image-material.js +1 -0
  41. package/lib/renderers/react/react-image-material.js.map +1 -1
  42. package/lib/renderers/react/react-material.d.ts +1 -1
  43. package/lib/renderers/react/react-material.d.ts.map +1 -1
  44. package/lib/renderers/react/react-material.js +1 -0
  45. package/lib/renderers/react/react-material.js.map +1 -1
  46. package/lib/renderers/react/react-mesh.d.ts +1 -1
  47. package/lib/renderers/react/react-mesh.d.ts.map +1 -1
  48. package/lib/renderers/react/react-mesh.js +4 -12
  49. package/lib/renderers/react/react-mesh.js.map +1 -1
  50. package/lib/renderers/react/react-scene.d.ts +5 -5
  51. package/lib/renderers/react/react-scene.d.ts.map +1 -1
  52. package/lib/renderers/react/react-scene.js +1 -0
  53. package/lib/renderers/react/react-scene.js.map +1 -1
  54. package/lib/renderers/react/react-types.d.ts +1 -1
  55. package/lib/renderers/react/react-types.d.ts.map +1 -1
  56. package/lib/renderers/react/react.d.ts +5 -5
  57. package/lib/renderers/react/react.d.ts.map +1 -1
  58. package/lib/renderers/react/react.js +1 -1
  59. package/lib/renderers/react/react.js.map +1 -1
  60. package/lib/renderers/step/step-encoding.d.ts +1 -1
  61. package/lib/renderers/step/step-encoding.d.ts.map +1 -1
  62. package/lib/renderers/step/step-encoding.js.map +1 -1
  63. package/lib/renderers/step/step-geometries/step-box.d.ts +2 -2
  64. package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -1
  65. package/lib/renderers/step/step-geometries/step-box.js.map +1 -1
  66. package/lib/renderers/step/step-geometries/step-cone.d.ts +2 -2
  67. package/lib/renderers/step/step-geometries/step-cone.d.ts.map +1 -1
  68. package/lib/renderers/step/step-geometries/step-cone.js +0 -1
  69. package/lib/renderers/step/step-geometries/step-cone.js.map +1 -1
  70. package/lib/renderers/step/step-geometries/step-cylinder.d.ts +2 -2
  71. package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
  72. package/lib/renderers/step/step-geometries/step-cylinder.js +8 -23
  73. package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
  74. package/lib/renderers/step/step-geometries/step-plane.d.ts +2 -2
  75. package/lib/renderers/step/step-geometries/step-plane.d.ts.map +1 -1
  76. package/lib/renderers/step/step-geometries/step-plane.js +1 -1
  77. package/lib/renderers/step/step-geometries/step-plane.js.map +1 -1
  78. package/lib/renderers/step/step.d.ts +1 -1
  79. package/lib/renderers/step/step.d.ts.map +1 -1
  80. package/lib/renderers/step/step.js +1 -1
  81. package/lib/renderers/step/step.js.map +1 -1
  82. package/lib/renderers/stl/stl-encoding.d.ts +1 -1
  83. package/lib/renderers/stl/stl-encoding.d.ts.map +1 -1
  84. package/lib/renderers/stl/stl-encoding.js.map +1 -1
  85. package/lib/renderers/stl/stl-geometries/stl-box.d.ts +1 -1
  86. package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -1
  87. package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -1
  88. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +1 -1
  89. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -1
  90. package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -1
  91. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +1 -1
  92. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -1
  93. package/lib/renderers/stl/stl-geometries/stl-cylinder.js +1 -1
  94. package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -1
  95. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +1 -1
  96. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -1
  97. package/lib/renderers/stl/stl-geometries/stl-plane.js +1 -1
  98. package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -1
  99. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +1 -1
  100. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -1
  101. package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -1
  102. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +1 -1
  103. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -1
  104. package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -1
  105. package/lib/renderers/stl/stl.d.ts +1 -1
  106. package/lib/renderers/stl/stl.d.ts.map +1 -1
  107. package/lib/renderers/stl/stl.js.map +1 -1
  108. package/lib/renderers/svg/index.js +1 -0
  109. package/lib/renderers/svg/index.js.map +1 -1
  110. package/lib/renderers/svg/svg-encoding.d.ts +3 -3
  111. package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
  112. package/lib/renderers/svg/svg-encoding.js +6 -15
  113. package/lib/renderers/svg/svg-encoding.js.map +1 -1
  114. package/lib/renderers/svg/svg-geometries/shared.d.ts +1 -1
  115. package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -1
  116. package/lib/renderers/svg/svg-geometries/shared.js.map +1 -1
  117. package/lib/renderers/svg/svg-geometries/svg-box.d.ts +2 -2
  118. package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -1
  119. package/lib/renderers/svg/svg-geometries/svg-box.js +1 -1
  120. package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -1
  121. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +2 -2
  122. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -1
  123. package/lib/renderers/svg/svg-geometries/svg-cone.js +1 -1
  124. package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -1
  125. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +2 -2
  126. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -1
  127. package/lib/renderers/svg/svg-geometries/svg-cylinder.js +1 -1
  128. package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -1
  129. package/lib/renderers/svg/svg-geometries/svg-image.d.ts +2 -2
  130. package/lib/renderers/svg/svg-geometries/svg-image.d.ts.map +1 -1
  131. package/lib/renderers/svg/svg-geometries/svg-image.js +1 -1
  132. package/lib/renderers/svg/svg-geometries/svg-image.js.map +1 -1
  133. package/lib/renderers/svg/svg-geometries/svg-line.d.ts +2 -2
  134. package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -1
  135. package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -1
  136. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +2 -2
  137. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -1
  138. package/lib/renderers/svg/svg-geometries/svg-plane.js +1 -1
  139. package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
  140. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +2 -2
  141. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -1
  142. package/lib/renderers/svg/svg-geometries/svg-polygon.js +1 -1
  143. package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -1
  144. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +2 -2
  145. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -1
  146. package/lib/renderers/svg/svg-geometries/svg-shape.js +1 -1
  147. package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -1
  148. package/lib/renderers/svg/svg-geometries/svg-text.d.ts +2 -2
  149. package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -1
  150. package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -1
  151. package/lib/renderers/svg/svg.d.ts +3 -3
  152. package/lib/renderers/svg/svg.d.ts.map +1 -1
  153. package/lib/renderers/svg/svg.js.map +1 -1
  154. package/lib/utils.d.ts +1 -1
  155. package/lib/utils.d.ts.map +1 -1
  156. package/lib/utils.js +0 -1
  157. package/lib/utils.js.map +1 -1
  158. package/package.json +3 -3
  159. package/src/abstract-3d.ts +91 -91
  160. package/src/custom_typings/react-three-fiber.d.ts +1 -1
  161. package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +57 -13
  162. package/src/renderers/dxf/dxf.ts +67 -16
  163. package/src/renderers/react/react-camera.tsx +3 -4
  164. package/src/renderers/react/react-dimension.tsx +5 -5
  165. package/src/renderers/react/react-group.tsx +6 -4
  166. package/src/renderers/react/react-hotspot.tsx +3 -2
  167. package/src/renderers/react/react-image-material.tsx +3 -2
  168. package/src/renderers/react/react-material.tsx +1 -1
  169. package/src/renderers/react/react-mesh.tsx +28 -39
  170. package/src/renderers/react/react-scene.tsx +6 -5
  171. package/src/renderers/react/react-types.ts +1 -1
  172. package/src/renderers/react/react.tsx +7 -6
  173. package/src/renderers/step/step-encoding.ts +43 -44
  174. package/src/renderers/step/step-geometries/step-box.ts +3 -8
  175. package/src/renderers/step/step-geometries/step-cone.ts +3 -14
  176. package/src/renderers/step/step-geometries/step-cylinder.ts +49 -251
  177. package/src/renderers/step/step-geometries/step-plane.ts +4 -11
  178. package/src/renderers/step/step.ts +3 -19
  179. package/src/renderers/stl/stl-encoding.ts +2 -1
  180. package/src/renderers/stl/stl-geometries/stl-box.ts +2 -1
  181. package/src/renderers/stl/stl-geometries/stl-cone.ts +2 -1
  182. package/src/renderers/stl/stl-geometries/stl-cylinder.ts +3 -2
  183. package/src/renderers/stl/stl-geometries/stl-plane.ts +2 -10
  184. package/src/renderers/stl/stl-geometries/stl-polygon.ts +2 -1
  185. package/src/renderers/stl/stl-geometries/stl-shape.ts +2 -1
  186. package/src/renderers/stl/stl.ts +2 -1
  187. package/src/renderers/svg/svg-encoding.ts +7 -31
  188. package/src/renderers/svg/svg-geometries/shared.ts +2 -1
  189. package/src/renderers/svg/svg-geometries/svg-box.ts +4 -13
  190. package/src/renderers/svg/svg-geometries/svg-cone.ts +4 -13
  191. package/src/renderers/svg/svg-geometries/svg-cylinder.ts +4 -13
  192. package/src/renderers/svg/svg-geometries/svg-image.ts +6 -12
  193. package/src/renderers/svg/svg-geometries/svg-line.ts +4 -2
  194. package/src/renderers/svg/svg-geometries/svg-plane.ts +4 -14
  195. package/src/renderers/svg/svg-geometries/svg-polygon.ts +4 -11
  196. package/src/renderers/svg/svg-geometries/svg-shape.ts +4 -12
  197. package/src/renderers/svg/svg-geometries/svg-text.ts +6 -8
  198. package/src/renderers/svg/svg.ts +13 -17
  199. package/src/utils.ts +22 -27
@@ -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
 
@@ -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(
@@ -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 } {
@@ -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 {