abstract-3d 0.5.8 → 0.5.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAsB,MAAM,sBAAsB,CAAC;AAGtE,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAIrE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGxB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGrB,CAAC;AAExF,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGhC,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAGxE,CAAC;AAErC,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,QAAQ,GAAI,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,KAAG,MAa/E,CAAC"}
1
+ {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAsB,MAAM,sBAAsB,CAAC;AAGtE,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAIrE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGxB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGrB,CAAC;AAExF,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGhC,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAGxE,CAAC;AAErC,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,QAAQ,GAAI,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,KAAG,MAW/E,CAAC"}
@@ -1,4 +1,4 @@
1
- import { vec2, vec2Add, vec2Scale } from "../../abstract-3d.js";
1
+ import { vec2, vec2Scale } from "../../abstract-3d.js";
2
2
  //dummy
3
3
  export const svg = (width, height, children) => {
4
4
  return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width.toFixed(0)} ${height.toFixed(0)}" width="${width.toFixed(0)}px" height="${height.toFixed(0)}px">${children} </svg>`;
@@ -12,11 +12,10 @@ export const svgText = (p, text, rot, color, font, fontSize) => `<text font-fami
12
12
  export const svgImage = (p, size, rot, data) => {
13
13
  const newSize = rotatedBoundingBox(size, rot);
14
14
  const half = vec2Scale(newSize, 0.5);
15
+ const transform = `${rotate(rot)}" ${transformOrigin(p, half)}`;
15
16
  return data.type === "url"
16
- ? `<image x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${rotate(rot)}" ${transformOrigin(p, half)} width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" href="${data.url}" />`
17
- : `<svg width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" transform="${translate(vec2Add(p, half))} ${rotate(rot)} ${translate(vec2Scale(half, -1))}">${data.svg}</svg>
18
-
19
- `;
17
+ ? `<image x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${transform}" width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" href="${data.url}" />`
18
+ : `<svg x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${transform}" width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}">${data.svg}</svg>`;
20
19
  };
21
20
  const transformOrigin = (p, half) => `transform-origin="${(p.x + half.x).toFixed(0)}px ${(p.y + half.y).toFixed(0)}px"`;
22
21
  const rotate = (rot) => `rotate(${rot.toFixed(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":"AAAA,OAAO,EAAE,IAAI,EAAiB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO;AAEP,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAU,EAAE;IAC7E,OAAO,wDAAwD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAC/F,CAAC,CACF,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,QAAQ,SAAS,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAQ,EAAE,EAAQ,EAAE,MAAc,EAAE,WAAmB,EAAU,EAAE,CACzF,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/F,CAAC,CACF,aAAa,MAAM,mBAAmB,WAAW,MAAM,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAA2B,EAAE,IAAY,EAAE,MAAc,EAAE,WAAmB,EAAU,EAAE,CACnH,oBAAoB,MAAM;KACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KACnE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,aAAa,MAAM,mBAAmB,WAAW,MAAM,CAAC;AAExF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,GAAS,EAAE,IAAY,EAAE,MAAc,EAAE,WAAmB,EAAU,EAAE,CAChH,cAAc,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAC5E,CAAC,CACF,WAAW,IAAI,aAAa,MAAM,mBAAmB,WAAW,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAU,EAAE,CACnH,sBAAsB,IAAI,gBAAgB,QAAQ,8DAA8D,KAAK,gBAAgB,SAAS,CAC5I,CAAC,CACF,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;AAMrC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,IAAU,EAAE,GAAW,EAAE,IAAkB,EAAU,EAAE;IACvF,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;IAChE,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK;QACxB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,SAAS,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CACrG,CAAC,CACF,aAAa,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,MAAM;QAC7D,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,SAAS,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CACnG,CAAC,CACF,aAAa,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAO,EAAE,IAAU,EAAU,EAAE,CACtD,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAErF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAEzF,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,WAAmB,EAAQ,EAAE;IACnE,MAAM,GAAG,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-3d",
3
- "version": "0.5.8",
3
+ "version": "0.5.9",
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",
@@ -33,5 +33,5 @@
33
33
  "@types/three": "^0.174.0",
34
34
  "react": "^19.0.0"
35
35
  },
36
- "gitHead": "b53d8c21626d8c4c34485a90ce3c84c6e88a45f8"
36
+ "gitHead": "f8c830485df55d4cc4c654886b0fcd76b4a487d8"
37
37
  }
@@ -34,16 +34,14 @@ export type EmbededImage =
34
34
  export const svgImage = (p: Vec2, size: Vec2, rot: number, data: EmbededImage): string => {
35
35
  const newSize = rotatedBoundingBox(size, rot);
36
36
  const half = vec2Scale(newSize, 0.5);
37
+ const transform = `${rotate(rot)}" ${transformOrigin(p, half)}`;
37
38
  return data.type === "url"
38
- ? `<image x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${rotate(rot)}" ${transformOrigin(
39
- p,
40
- half
41
- )} width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" href="${data.url}" />`
42
- : `<svg width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" transform="${translate(
43
- vec2Add(p, half)
44
- )} ${rotate(rot)} ${translate(vec2Scale(half, -1))}">${data.svg}</svg>
45
-
46
- `;
39
+ ? `<image x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${transform}" width="${newSize.x.toFixed(
40
+ 0
41
+ )}" height="${newSize.y.toFixed(0)}" href="${data.url}" />`
42
+ : `<svg x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${transform}" width="${newSize.x.toFixed(
43
+ 0
44
+ )}" height="${newSize.y.toFixed(0)}">${data.svg}</svg>`;
47
45
  };
48
46
 
49
47
  const transformOrigin = (p: Vec2, half: Vec2): string =>