abstract-3d 1.5.3 → 1.6.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 (68) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/lib/abstract-3d.d.ts +13 -1
  3. package/lib/abstract-3d.d.ts.map +1 -1
  4. package/lib/abstract-3d.js +7 -0
  5. package/lib/abstract-3d.js.map +1 -1
  6. package/lib/renderers/dxf/color.d.ts +1 -0
  7. package/lib/renderers/dxf/color.d.ts.map +1 -1
  8. package/lib/renderers/dxf/color.js +8 -0
  9. package/lib/renderers/dxf/color.js.map +1 -1
  10. package/lib/renderers/dxf/dxf-encoding.d.ts +2 -1
  11. package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -1
  12. package/lib/renderers/dxf/dxf-encoding.js +13 -7
  13. package/lib/renderers/dxf/dxf-encoding.js.map +1 -1
  14. package/lib/renderers/dxf/dxf-geometries/dxf-box.js +1 -2
  15. package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
  16. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +1 -2
  17. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
  18. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +1 -2
  19. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
  20. package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts +4 -0
  21. package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts.map +1 -0
  22. package/lib/renderers/dxf/dxf-geometries/dxf-image.js +147 -0
  23. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -0
  24. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +1 -2
  25. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
  26. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +1 -2
  27. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  28. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +1 -2
  29. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  30. package/lib/renderers/dxf/dxf.d.ts.map +1 -1
  31. package/lib/renderers/dxf/dxf.js +5 -0
  32. package/lib/renderers/dxf/dxf.js.map +1 -1
  33. package/lib/renderers/react/react-group.d.ts.map +1 -1
  34. package/lib/renderers/react/react-group.js +19 -1
  35. package/lib/renderers/react/react-group.js.map +1 -1
  36. package/lib/renderers/react/react-material.d.ts +1 -0
  37. package/lib/renderers/react/react-material.d.ts.map +1 -1
  38. package/lib/renderers/react/react-material.js +5 -1
  39. package/lib/renderers/react/react-material.js.map +1 -1
  40. package/lib/renderers/react/react-mesh.d.ts.map +1 -1
  41. package/lib/renderers/react/react-mesh.js +4 -0
  42. package/lib/renderers/react/react-mesh.js.map +1 -1
  43. package/lib/renderers/svg/svg-geometries/svg-image.d.ts +4 -0
  44. package/lib/renderers/svg/svg-geometries/svg-image.d.ts.map +1 -0
  45. package/lib/renderers/svg/svg-geometries/svg-image.js +27 -0
  46. package/lib/renderers/svg/svg-geometries/svg-image.js.map +1 -0
  47. package/lib/renderers/svg/svg.d.ts.map +1 -1
  48. package/lib/renderers/svg/svg.js +5 -3
  49. package/lib/renderers/svg/svg.js.map +1 -1
  50. package/package.json +3 -2
  51. package/src/.DS_Store +0 -0
  52. package/src/abstract-3d.ts +25 -1
  53. package/src/renderers/.DS_Store +0 -0
  54. package/src/renderers/dxf/color.ts +11 -1
  55. package/src/renderers/dxf/dxf-encoding.ts +15 -7
  56. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +1 -1
  57. package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +1 -1
  58. package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +1 -1
  59. package/src/renderers/dxf/dxf-geometries/dxf-image.ts +177 -0
  60. package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +1 -1
  61. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +1 -1
  62. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +1 -1
  63. package/src/renderers/dxf/dxf.ts +6 -0
  64. package/src/renderers/react/react-group.tsx +22 -2
  65. package/src/renderers/react/react-material.tsx +7 -0
  66. package/src/renderers/react/react-mesh.tsx +13 -0
  67. package/src/renderers/svg/svg-geometries/svg-image.ts +44 -0
  68. package/src/renderers/svg/svg.ts +5 -3
@@ -35,6 +35,7 @@ import { text } from "./svg-geometries/svg-text.js";
35
35
  import { cone } from "./svg-geometries/svg-cone.js";
36
36
  import { Optional } from "../shared.js";
37
37
  import { svg } from "./svg-encoding.js";
38
+ import { image } from "./svg-geometries/svg-image.js";
38
39
 
39
40
  export type SvgScene = {
40
41
  readonly scene: Scene;
@@ -94,8 +95,7 @@ function renderInternal(
94
95
  imageDataByUrl: options?.imageDataByUrl ?? {},
95
96
  rotation: options?.rotation ?? 0,
96
97
  };
97
- const viewRot = rotationForCameraPos(opts.view);
98
- const baseRot = vec3RotCombine(viewRot, scene.rotation_deprecated ?? vec3Zero);
98
+ const baseRot = vec3RotCombine(rotationForCameraPos(opts.view), scene.rotation_deprecated ?? vec3Zero);
99
99
  const unitRot = opts.rotation ? vec3RotCombine(vec3(0, 0, (opts.rotation * Math.PI) / 180), baseRot) : baseRot;
100
100
  const [unitSize, unitCenter] = sizeCenterBoundsForCameraPos(
101
101
  scene.size_deprecated,
@@ -103,7 +103,7 @@ function renderInternal(
103
103
  unitRot
104
104
  );
105
105
  const svgSize = vec2(unitSize.x + 1.5 * opts.stroke_thickness, unitSize.y + 1.5 * opts.stroke_thickness);
106
- const svgCenter = vec2(-offset.x + opts.stroke_thickness * 0.75, offset.y + opts.stroke_thickness * 0.75);
106
+ const svgCenter = vec2(offset.x + opts.stroke_thickness * 0.75, offset.y + opts.stroke_thickness * 0.75);
107
107
  const point = (x: number, y: number): Vec2 => vec2(svgCenter.x + x, svgCenter.y - y);
108
108
  const unitCenterFlipped = vec3Flip(unitCenter);
109
109
 
@@ -170,6 +170,8 @@ function svgMesh(
170
170
  return shape(mesh.geometry, point, material, opts, parentPos, parentRot);
171
171
  case "Text":
172
172
  return text(mesh.geometry, point, material.normal, opts, parentPos, parentRot);
173
+ case "Image":
174
+ return image(mesh.geometry, point, opts, parentPos, parentRot);
173
175
  case "Tube":
174
176
  case "Sphere":
175
177
  return [];