abstract-3d 1.3.6 → 1.3.7
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.
- package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
- package/lib/renderers/svg/svg-encoding.js +1 -2
- package/lib/renderers/svg/svg-encoding.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/shared.d.ts +1 -1
- package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/shared.js +6 -24
- package/lib/renderers/svg/svg-geometries/shared.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.js +3 -7
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/svg/svg-encoding.ts +1 -2
- package/src/renderers/svg/svg-geometries/shared.ts +6 -28
- package/src/renderers/svg/svg-geometries/svg-plane.ts +4 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAQ,IAAI,EAAqC,IAAI,EAAqB,MAAM,sBAAsB,CAAC;AAGlJ,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,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAQ1L;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAKvL;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAQ,aAAa,CAAC,IAAI,CAAC,KAAG,MAG9E,CAAC;AAyC1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAC0D,CAAC;AAEjK,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,IAAI,EAAE,MAAM,YAAY,KAAG,
|
|
1
|
+
{"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAQ,IAAI,EAAqC,IAAI,EAAqB,MAAM,sBAAsB,CAAC;AAGlJ,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,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAQ1L;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAKvL;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAQ,aAAa,CAAC,IAAI,CAAC,KAAG,MAG9E,CAAC;AAyC1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAC0D,CAAC;AAEjK,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,IAAI,EAAE,MAAM,YAAY,KAAG,MAM7E,CAAC"}
|
|
@@ -59,8 +59,7 @@ function svgMaskHoles(factor, rot, size, holes) {
|
|
|
59
59
|
}
|
|
60
60
|
export const svgText = (text, matrix, color, font, fontSize) => `<text font-family="${font}" font-size="${fontSize}px" text-anchor="middle" alignment-baseline="middle" fill="${color}" transform="${matrix} ">${text}</text>`;
|
|
61
61
|
export const svgImage = (p, size, rot, data) => {
|
|
62
|
-
const
|
|
63
|
-
const matrix = eulerToSvgMatrix(rot, p, half);
|
|
62
|
+
const matrix = eulerToSvgMatrix(rot, p);
|
|
64
63
|
return data.type === "url"
|
|
65
64
|
? `<image width="${size.x}" height="${size.y}" transform="${matrix}" href="${data.url}" />`
|
|
66
65
|
: `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" transform="${matrix}">${data.svg}</svg>
|
|
@@ -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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"}
|
|
@@ -25,5 +25,5 @@ export type SvgOptions = {
|
|
|
25
25
|
readonly imageDataByUrl: Record<string, ImageDataUri>;
|
|
26
26
|
readonly rotation: number;
|
|
27
27
|
};
|
|
28
|
-
export declare function eulerToSvgMatrix(rot: Vec3, pos: Vec2
|
|
28
|
+
export declare function eulerToSvgMatrix(rot: Vec3, pos: Vec2): string;
|
|
29
29
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAQ,IAAI,EAA0B,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/F,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClF,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,aAAsC,CAAC;AAE/F,eAAO,MAAM,IAAI,MAAM,CAAC;AACxB,eAAO,MAAM,GAAG,MAAM,CAAC;AAEvB,eAAO,MAAM,IAAI,oBAAoB,CAAC;AACtC,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,eAAO,MAAM,KAAK,oBAAoB,CAAC;AAEvC,MAAM,MAAM,YAAY,GACpB,yBAAyB,MAAM,EAAE,GACjC,0BAA0B,MAAM,EAAE,GAClC,sBAAsB,MAAM,EAAE,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAoB7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { vec3TransRot, vec3Zero } from "../../../abstract-3d.js";
|
|
2
2
|
export const zElem = (element, zOrder) => ({ element, zOrder });
|
|
3
3
|
export const stBW = 0.7;
|
|
4
4
|
export const stN = 0.1;
|
|
@@ -6,27 +6,9 @@ export const gray = "rgb(85, 85, 85)";
|
|
|
6
6
|
export const white = "rgb(255, 255, 255)";
|
|
7
7
|
export const transparent = "rgba(255, 255, 255, 0)";
|
|
8
8
|
export const black = "rgb(15, 15, 15)";
|
|
9
|
-
export function eulerToSvgMatrix(rot, pos
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const rz = rot.z;
|
|
13
|
-
const cx = Math.cos(rx);
|
|
14
|
-
const cy = Math.cos(ry);
|
|
15
|
-
const cz = Math.cos(rz);
|
|
16
|
-
const sx = Math.sin(rx);
|
|
17
|
-
const sy = Math.sin(ry);
|
|
18
|
-
const sz = Math.sin(rz);
|
|
19
|
-
const rotate3D = (v) => {
|
|
20
|
-
return {
|
|
21
|
-
x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
|
|
22
|
-
y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
|
|
23
|
-
z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
const ori = origin ?? vec2(0, 0);
|
|
27
|
-
const originRotated = rotate3D(vec3(ori.x, ori.y, 0));
|
|
28
|
-
const xRot = rotate3D({ x: 1, y: 0, z: 0 });
|
|
29
|
-
const yRot = rotate3D({ x: 0, y: -1, z: 0 });
|
|
9
|
+
export function eulerToSvgMatrix(rot, pos) {
|
|
10
|
+
const xRot = vec3TransRot({ x: 1, y: 0, z: 0 }, vec3Zero, rot);
|
|
11
|
+
const yRot = vec3TransRot({ x: 0, y: -1, z: 0 }, vec3Zero, rot);
|
|
30
12
|
const x2D = { x: xRot.x, y: -xRot.y };
|
|
31
13
|
const y2D = { x: yRot.x, y: -yRot.y };
|
|
32
14
|
const lenX = Math.hypot(x2D.x, x2D.y);
|
|
@@ -37,8 +19,8 @@ export function eulerToSvgMatrix(rot, pos, origin) {
|
|
|
37
19
|
const b = xN.y * lenX;
|
|
38
20
|
const c = yN.x * lenY;
|
|
39
21
|
const d = yN.y * lenY;
|
|
40
|
-
const e = pos.x
|
|
41
|
-
const f = pos.y
|
|
22
|
+
const e = pos.x;
|
|
23
|
+
const f = pos.y;
|
|
42
24
|
return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
|
|
43
25
|
}
|
|
44
26
|
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAG/F,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,MAAc,EAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC;AAEvB,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,CAAC;AACtC,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AACpD,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAmBvC,MAAM,UAAU,gBAAgB,CAAC,GAAS,EAAE,GAAS;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAChD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAEhD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEhB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-plane.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EASJ,QAAQ,EACR,IAAI,
|
|
1
|
+
{"version":3,"file":"svg-plane.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EASJ,QAAQ,EACR,IAAI,EAGL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAsB,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI5E,wBAAgB,KAAK,CACnB,CAAC,EAAE,KAAK,EACR,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,EACf,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,aAAa,CAAC,aAAa,CAAC,CA8B9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3,
|
|
1
|
+
import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3ZMean, } from "../../../abstract-3d.js";
|
|
2
2
|
import { gray, black, zElem } from "./shared.js";
|
|
3
3
|
import { svgImage, svgPolygon } from "../svg-encoding.js";
|
|
4
4
|
import { rgbGrayScale } from "../../shared.js";
|
|
@@ -18,12 +18,8 @@ export function plane(p, point, factor, material, opts, parentPos, parentRot, ho
|
|
|
18
18
|
? { type: "url", url: imageData ?? material.imageUrl }
|
|
19
19
|
: undefined;
|
|
20
20
|
if (image) {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const bottomLeft = point(leftX, bottomY);
|
|
24
|
-
const topRight = point(rightX, topY);
|
|
25
|
-
const p = point(pos.x, pos.y);
|
|
26
|
-
const img = svgImage(p, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), rot, image);
|
|
21
|
+
const size = vec2Scale(p.size, factor);
|
|
22
|
+
const img = svgImage(point(v4.x, v4.y), size, rot, image);
|
|
27
23
|
return [zElem(img, (v2.z + v4.z) / 2)];
|
|
28
24
|
}
|
|
29
25
|
const points = [point(v1.x, v1.y), point(v2.x, v2.y), point(v3.x, v3.y), point(v4.x, v4.y)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,IAAI,
|
|
1
|
+
{"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-3d",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
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",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"@types/three": "^0.180.0",
|
|
36
36
|
"react": "^19.0.0"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "a188f904afe30ecc7f0488942fec3e38bfec7507"
|
|
39
39
|
}
|
|
@@ -81,8 +81,7 @@ export type EmbededImage =
|
|
|
81
81
|
| { readonly type: "svg"; readonly svg: string };
|
|
82
82
|
|
|
83
83
|
export const svgImage = (p: Vec2, size: Vec2, rot: Vec3, data: EmbededImage): string => {
|
|
84
|
-
const
|
|
85
|
-
const matrix = eulerToSvgMatrix(rot, p, half);
|
|
84
|
+
const matrix = eulerToSvgMatrix(rot, p);
|
|
86
85
|
return data.type === "url"
|
|
87
86
|
? `<image width="${size.x}" height="${size.y}" transform="${matrix}" href="${data.url}" />`
|
|
88
87
|
: `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" transform="${matrix}">${data.svg}</svg>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { vec2, Vec2, vec3, Vec3, View } from "../../../abstract-3d.js";
|
|
1
|
+
import { vec2, Vec2, vec3, Vec3, vec3TransRot, vec3Zero, View } from "../../../abstract-3d.js";
|
|
2
2
|
|
|
3
3
|
export type zOrderElement = { readonly element: string; readonly zOrder: number };
|
|
4
4
|
export const zElem = (element: string, zOrder: number): zOrderElement => ({ element, zOrder });
|
|
@@ -28,31 +28,9 @@ export type SvgOptions = {
|
|
|
28
28
|
readonly rotation: number;
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
export function eulerToSvgMatrix(rot: Vec3, pos: Vec2
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const rz = rot.z;
|
|
35
|
-
|
|
36
|
-
const cx = Math.cos(rx);
|
|
37
|
-
const cy = Math.cos(ry);
|
|
38
|
-
const cz = Math.cos(rz);
|
|
39
|
-
const sx = Math.sin(rx);
|
|
40
|
-
const sy = Math.sin(ry);
|
|
41
|
-
const sz = Math.sin(rz);
|
|
42
|
-
|
|
43
|
-
const rotate3D = (v: Vec3): Vec3 => {
|
|
44
|
-
return {
|
|
45
|
-
x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
|
|
46
|
-
y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
|
|
47
|
-
z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const ori = origin ?? vec2(0, 0);
|
|
52
|
-
const originRotated = rotate3D(vec3(ori.x, ori.y, 0));
|
|
53
|
-
|
|
54
|
-
const xRot = rotate3D({ x: 1, y: 0, z: 0 });
|
|
55
|
-
const yRot = rotate3D({ x: 0, y: -1, z: 0 });
|
|
31
|
+
export function eulerToSvgMatrix(rot: Vec3, pos: Vec2): string {
|
|
32
|
+
const xRot = vec3TransRot({ x: 1, y: 0, z: 0 }, vec3Zero, rot);
|
|
33
|
+
const yRot = vec3TransRot({ x: 0, y: -1, z: 0 }, vec3Zero, rot);
|
|
56
34
|
|
|
57
35
|
const x2D = { x: xRot.x, y: -xRot.y };
|
|
58
36
|
const y2D = { x: yRot.x, y: -yRot.y };
|
|
@@ -66,8 +44,8 @@ export function eulerToSvgMatrix(rot: Vec3, pos: Vec2, origin?: Vec2): string {
|
|
|
66
44
|
const b = xN.y * lenX;
|
|
67
45
|
const c = yN.x * lenY;
|
|
68
46
|
const d = yN.y * lenY;
|
|
69
|
-
const e = pos.x
|
|
70
|
-
const f = pos.y
|
|
47
|
+
const e = pos.x;
|
|
48
|
+
const f = pos.y;
|
|
71
49
|
|
|
72
50
|
return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
|
|
73
51
|
}
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
vec3ZMean,
|
|
13
13
|
Material,
|
|
14
14
|
Hole,
|
|
15
|
+
vec2Add,
|
|
16
|
+
vec2Sub,
|
|
15
17
|
} from "../../../abstract-3d.js";
|
|
16
18
|
import { gray, black, zElem, zOrderElement, SvgOptions } from "./shared.js";
|
|
17
19
|
import { EmbededImage, svgImage, svgPolygon } from "../svg-encoding.js";
|
|
@@ -45,12 +47,8 @@ export function plane(
|
|
|
45
47
|
: undefined;
|
|
46
48
|
|
|
47
49
|
if (image) {
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const bottomLeft = point(leftX, bottomY);
|
|
51
|
-
const topRight = point(rightX, topY);
|
|
52
|
-
const p = point(pos.x, pos.y);
|
|
53
|
-
const img = svgImage(p, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), rot, image);
|
|
50
|
+
const size = vec2Scale(p.size, factor);
|
|
51
|
+
const img = svgImage(point(v4.x, v4.y), size, rot, image);
|
|
54
52
|
return [zElem(img, (v2.z + v4.z) / 2)];
|
|
55
53
|
}
|
|
56
54
|
|