abstract-3d 2.3.11 → 2.3.12

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.
@@ -24,7 +24,7 @@ export function ImageMesh({ image, materialStateImages, material, id, useAlphaTe
24
24
  ? `data:image/svg+xml,${createSVG(image.image.image)}`
25
25
  : image.image.url;
26
26
  const color = getColor(selectedIds, id, hoveredId, material);
27
- const texture = suspend(urlIsSvg(url) ? loadSvg(url, filter, color) : loadNormal(url, filter), [
27
+ const texture = suspend(urlIsSvg(url) ? loadSvg(url, filter) : loadNormal(url, filter), [
28
28
  url,
29
29
  color,
30
30
  ]);
@@ -40,7 +40,7 @@ export function ImageMesh({ image, materialStateImages, material, id, useAlphaTe
40
40
  function urlIsSvg(url) {
41
41
  return url.startsWith("data:image/svg+xml") || url.endsWith(".svg") || url.includes(".svg?");
42
42
  }
43
- function loadSvg(url, filter, color) {
43
+ function loadSvg(url, filter) {
44
44
  const maxSize = 4096;
45
45
  return new Promise((res) => {
46
46
  const img = new Image();
@@ -58,10 +58,6 @@ function loadSvg(url, filter, color) {
58
58
  return res(null);
59
59
  }
60
60
  ctx.clearRect(0, 0, canvas.width, canvas.height);
61
- if (color) {
62
- ctx.fillStyle = color;
63
- ctx.fillRect(0, 0, canvas.width, canvas.height);
64
- }
65
61
  ctx.imageSmoothingEnabled = true;
66
62
  ctx.imageSmoothingQuality = "high";
67
63
  ctx.drawImage(img, 0, 0, width, height);
@@ -1 +1 @@
1
- {"version":3,"file":"react-image.js","sourceRoot":"","sources":["../../../src/renderers/react/react-image.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-image.js","sourceRoot":"","sources":["../../../src/renderers/react/react-image.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEJ,IAAI,EAKJ,IAAI,EAGL,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,GAAG,GAAI,KAAK,IAAI,EAAE,MAAM,IAAI,EAAE,UAAU,MAAM,KAAG,MAI7D,CAAC;AACF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGxB,CAAC;AAE3D,wBAAgB,UAAU,CACxB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,MAAM,CAWR;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,MAAM,CASR;AA+CD,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,KAAK,IAAI,EACT,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,QAAQ,aAAa,CAAC,IAAI,CAAC,KAC1B,MAGsE,CAAC;AA8C1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MACyD,CAAC;AAEhK,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAElD,eAAO,MAAM,QAAQ,GACnB,GAAG,IAAI,EACP,MAAM,IAAI,EACV,KAAK,IAAI,EACT,MAAM,YAAY,EAClB,aAAa,MAAM,EACnB,QAAQ,IAAI,KACX,MAWF,CAAC"}
1
+ {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEJ,IAAI,EAKJ,IAAI,EAGL,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,GAAG,GAAI,KAAK,IAAI,EAAE,MAAM,IAAI,EAAE,UAAU,MAAM,KAAG,MAI7D,CAAC;AACF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGxB,CAAC;AAE3D,wBAAgB,UAAU,CACxB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,MAAM,CAWR;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,MAAM,CASR;AA+CD,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,KAAK,IAAI,EACT,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,QAAQ,aAAa,CAAC,IAAI,CAAC,KAC1B,MAGsE,CAAC;AA8C1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MACyD,CAAC;AAEhK,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAElD,eAAO,MAAM,QAAQ,GACnB,GAAG,IAAI,EACP,MAAM,IAAI,EACV,KAAK,IAAI,EACT,MAAM,YAAY,EAClB,aAAa,MAAM,EACnB,QAAQ,IAAI,KACX,MAoBF,CAAC"}
@@ -95,13 +95,18 @@ export const svgText = (text, matrix, color, font, fontSize) => `<text font-fami
95
95
  export const rawSvgPrefix = "data:image/svg+xml,";
96
96
  export const svgImage = (p, size, rot, data, background, scale) => {
97
97
  const matrix = svgTrsMatrix(p, rot, scale);
98
- const bg = background
99
- ? `<rect width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" fill="${background}"/>`
100
- : "";
101
- const content = data.type === "url"
102
- ? `${bg}<image width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" href="${data.url}"/>`
103
- : `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}">${bg}${data.svg}</svg>`;
104
- return `<g transform="${matrix}">${content}</g>`;
98
+ if (data.type === "url") {
99
+ const bg = background
100
+ ? `<rect width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" fill="${background}"/>`
101
+ : "";
102
+ return `<g transform="${matrix}">${bg}<image width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" href="${data.url}"/></g>`;
103
+ }
104
+ // scale maps image-space coords → world coords, so the wrapper SVG and rect
105
+ // must use image-space dimensions: imgW * scale.x = size.x (the desired world size).
106
+ const imgW = scale ? size.x / scale.x : size.x;
107
+ const imgH = scale ? size.y / scale.y : size.y;
108
+ const bg = background ? `<rect width="${imgW.toFixed(0)}" height="${imgH.toFixed(0)}" fill="${background}"/>` : "";
109
+ return `<g transform="${matrix}"><svg width="${imgW.toFixed(0)}" height="${imgH.toFixed(0)}">${bg}${data.svg}</svg></g>`;
105
110
  };
106
111
  const counter = (() => {
107
112
  let counter = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-3d",
3
- "version": "2.3.11",
3
+ "version": "2.3.12",
4
4
  "description": "Abstract 3D",
5
5
  "author": "Divid AB <info@divid.se>",
6
6
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
@@ -65,5 +65,5 @@
65
65
  "@types/three": "^0.180.0",
66
66
  "react": "^19.2.6"
67
67
  },
68
- "gitHead": "cdac5c8a92f9ab9d25d8a3c2772df4803dfd5b2f"
68
+ "gitHead": "0313e8ef96f251a5058ad517916beb79def8a187"
69
69
  }
@@ -51,7 +51,7 @@ export function ImageMesh({
51
51
  ? `data:image/svg+xml,${createSVG(image.image.image)}`
52
52
  : image.image.url;
53
53
  const color = getColor(selectedIds, id, hoveredId, material);
54
- const texture = suspend(urlIsSvg(url) ? loadSvg(url, filter, color) : loadNormal(url, filter), [
54
+ const texture = suspend(urlIsSvg(url) ? loadSvg(url, filter) : loadNormal(url, filter), [
55
55
  url,
56
56
  color,
57
57
  ]) as Texture | null;
@@ -88,7 +88,7 @@ function urlIsSvg(url: string): boolean {
88
88
  return url.startsWith("data:image/svg+xml") || url.endsWith(".svg") || url.includes(".svg?");
89
89
  }
90
90
 
91
- function loadSvg(url: string, filter: TextureFilter, color: string | undefined): Promise<Texture | null> {
91
+ function loadSvg(url: string, filter: TextureFilter): Promise<Texture | null> {
92
92
  const maxSize = 4096;
93
93
 
94
94
  return new Promise((res) => {
@@ -111,10 +111,6 @@ function loadSvg(url: string, filter: TextureFilter, color: string | undefined):
111
111
  }
112
112
 
113
113
  ctx.clearRect(0, 0, canvas.width, canvas.height);
114
- if (color) {
115
- ctx.fillStyle = color;
116
- ctx.fillRect(0, 0, canvas.width, canvas.height);
117
- }
118
114
  ctx.imageSmoothingEnabled = true;
119
115
  ctx.imageSmoothingQuality = "high";
120
116
  ctx.drawImage(img, 0, 0, width, height);
@@ -185,14 +185,23 @@ export const svgImage = (
185
185
  ): string => {
186
186
  const matrix = svgTrsMatrix(p, rot, scale);
187
187
 
188
- const bg = background
189
- ? `<rect width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" fill="${background}"/>`
190
- : "";
191
- const content =
192
- data.type === "url"
193
- ? `${bg}<image width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" href="${data.url}"/>`
194
- : `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}">${bg}${data.svg}</svg>`;
195
- return `<g transform="${matrix}">${content}</g>`;
188
+ if (data.type === "url") {
189
+ const bg = background
190
+ ? `<rect width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" fill="${background}"/>`
191
+ : "";
192
+ return `<g transform="${matrix}">${bg}<image width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" href="${
193
+ data.url
194
+ }"/></g>`;
195
+ }
196
+
197
+ // scale maps image-space coords → world coords, so the wrapper SVG and rect
198
+ // must use image-space dimensions: imgW * scale.x = size.x (the desired world size).
199
+ const imgW = scale ? size.x / scale.x : size.x;
200
+ const imgH = scale ? size.y / scale.y : size.y;
201
+ const bg = background ? `<rect width="${imgW.toFixed(0)}" height="${imgH.toFixed(0)}" fill="${background}"/>` : "";
202
+ return `<g transform="${matrix}"><svg width="${imgW.toFixed(0)}" height="${imgH.toFixed(0)}">${bg}${
203
+ data.svg
204
+ }</svg></g>`;
196
205
  };
197
206
 
198
207
  const counter = (() => {