From 69cf05fe2ae26ffd69c767ec1cc57f28ea6e86ee Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 13:14:45 +0900 Subject: [PATCH 1/6] update packages --- index.html | 89 ++++++++++++++++++++++++----------------------- package-lock.json | 12 +++---- package.json | 4 +-- 3 files changed, 54 insertions(+), 51 deletions(-) diff --git a/index.html b/index.html index 9247ebc0..53000924 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,10 @@ diff --git a/package-lock.json b/package-lock.json index 1d626306..a2fa7ec4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@next2d/player", - "version": "2.1.5", + "version": "2.1.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@next2d/player", - "version": "2.1.5", + "version": "2.1.6", "license": "MIT", "workspaces": [ "packages/*" @@ -33,7 +33,7 @@ "rollup": "^4.40.0", "tslib": "^2.8.1", "typescript": "^5.8.3", - "vite": "^6.3.0", + "vite": "^6.3.1", "vitest": "^3.1.1", "vitest-webgl-canvas-mock": "^1.1.0" }, @@ -3873,9 +3873,9 @@ } }, "node_modules/vite": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.0.tgz", - "integrity": "sha512-9aC0n4pr6hIbvi1YOpFjwQ+QOTGssvbJKoeYkuHHGWwlXfdxQlI8L2qNMo9awEEcCPSiS+5mJZk5jH1PAqoDeQ==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.1.tgz", + "integrity": "sha512-kkzzkqtMESYklo96HKKPE5KKLkC1amlsqt+RjFMlX2AvbRB/0wghap19NdBxxwGZ+h/C6DLCrcEphPIItlGrRQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 9279207d..fc41fcee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@next2d/player", - "version": "2.1.5", + "version": "2.1.6", "description": "Experience the fast and beautiful anti-aliased rendering of WebGL. You can create rich, interactive graphics, cross-platform applications and games without worrying about browser or device compatibility.", "author": "Toshiyuki Ienaga (https://github.com/ienaga/)", "license": "MIT", @@ -62,7 +62,7 @@ "rollup": "^4.40.0", "tslib": "^2.8.1", "typescript": "^5.8.3", - "vite": "^6.3.0", + "vite": "^6.3.1", "vitest": "^3.1.1", "vitest-webgl-canvas-mock": "^1.1.0" }, From e7c895e205b164cfa1e3b66fb25a5305ce665fb2 Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 14:06:25 +0900 Subject: [PATCH 2/6] =?UTF-8?q?#184=20=E3=82=AD=E3=83=A3=E3=83=83=E3=82=B7?= =?UTF-8?q?=E3=83=A5=E3=82=AD=E3=83=BC=E3=81=AE=E7=94=9F=E6=88=90=E3=82=92?= =?UTF-8?q?=E6=94=B9=E4=BF=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/CacheStore/service/CacheStoreGenerateKeysService.ts | 2 +- .../DisplayObject/usecase/DisplayObjectGetScaleXUseCase.ts | 2 +- .../DisplayObject/usecase/DisplayObjectGetScaleYUseCase.ts | 2 +- .../DisplayObject/usecase/DisplayObjectSetScaleXUseCase.ts | 2 +- .../DisplayObject/usecase/DisplayObjectSetScaleYUseCase.ts | 2 +- .../src/Shape/usecase/ShapeGenerateRenderQueueUseCase.ts | 4 ++-- .../TextField/usecase/TextFieldGenerateRenderQueueUseCase.ts | 4 ++-- packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts | 4 ++-- .../renderer/src/TextField/usecase/TextFieldRenderUseCase.ts | 4 ++-- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.ts b/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.ts index 888dda0c..673f9617 100644 --- a/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.ts +++ b/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.ts @@ -11,7 +11,7 @@ */ export const execute = (x_scale: number, y_scale: number, alpha: number): number => { - const values = [x_scale * 10000, y_scale * 10000]; + const values = [x_scale * 10, y_scale * 10]; if (alpha) { values.push(alpha * 100); } diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.ts index 843eb85a..e8214311 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.ts @@ -32,7 +32,7 @@ export const execute = (display_object: D): number => xScale = +value.slice(0, index); } - xScale = Math.round(xScale * 10000) / 10000; + xScale = Math.round(xScale * 100) / 100; } return 0 > matrix[0] ? xScale * -1 : xScale; diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.ts index 2bc801f6..d549513f 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.ts @@ -31,7 +31,7 @@ export const execute = (display_object: D): number => if (index !== -1) { yScale = +value.slice(0, index); } - yScale = Math.round(yScale * 10000) / 10000; + yScale = Math.round(yScale * 100) / 100; } return 0 > matrix[0] ? yScale * -1 : yScale; diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.ts index 6d7656b3..544cbf7f 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.ts @@ -24,7 +24,7 @@ export const execute = (display_object: D, scale_x: num if (index !== -1) { scale_x = +value.slice(0, index); } - scale_x = Math.round(scale_x * 10000) / 10000; + scale_x = Math.round(scale_x * 100) / 100; } if (display_object.$scaleX === scale_x) { diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.ts index 3a212de9..e3223856 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.ts @@ -24,7 +24,7 @@ export const execute = (display_object: D, scale_y: num if (index !== -1) { scale_y = +value.slice(0, index); } - scale_y = Math.round(scale_y * 10000) / 10000; + scale_y = Math.round(scale_y * 100) / 100; } if (display_object.$scaleY === scale_y) { diff --git a/packages/display/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.ts b/packages/display/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.ts index 460bdfe2..8ee5ca52 100644 --- a/packages/display/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.ts +++ b/packages/display/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.ts @@ -163,12 +163,12 @@ export const execute = ( const xScale = Math.round(Math.sqrt( tMatrix[0] * tMatrix[0] + tMatrix[1] * tMatrix[1] - ) * 10000) / 10000; + ) * 10) / 10; const yScale = Math.round(Math.sqrt( tMatrix[2] * tMatrix[2] + tMatrix[3] * tMatrix[3] - ) * 10000) / 10000; + ) * 10) / 10; if (!shape.isBitmap && !shape.cacheKey diff --git a/packages/display/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.ts b/packages/display/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.ts index 8fb40ca8..aadf0169 100644 --- a/packages/display/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.ts +++ b/packages/display/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.ts @@ -150,12 +150,12 @@ export const execute = ( const xScale = Math.round(Math.sqrt( tMatrix[0] * tMatrix[0] + tMatrix[1] * tMatrix[1] - ) * 10000) / 10000; + ) * 10) / 10; const yScale = Math.round(Math.sqrt( tMatrix[2] * tMatrix[2] + tMatrix[3] * tMatrix[3] - ) * 10000) / 10000; + ) * 10) / 10; if (text_field.changed && !text_field.cacheKey diff --git a/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts b/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts index 7664c2a3..1d1be25d 100644 --- a/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts +++ b/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts @@ -42,12 +42,12 @@ export const execute = (render_queue: Float32Array, index: number): number => const xScale = Math.round(Math.sqrt( matrix[0] * matrix[0] + matrix[1] * matrix[1] - ) * 10000) / 10000; + ) * 10) / 10; const yScale = Math.round(Math.sqrt( matrix[2] * matrix[2] + matrix[3] * matrix[3] - ) * 10000) / 10000; + ) * 10) / 10; let node: Node; const hasCache = render_queue[index++]; diff --git a/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts b/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts index 3859518b..092c7dce 100644 --- a/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts +++ b/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts @@ -49,12 +49,12 @@ export const execute = (render_queue: Float32Array, index: number): number => const xScale = Math.round(Math.sqrt( matrix[0] * matrix[0] + matrix[1] * matrix[1] - ) * 10000) / 10000; + ) * 10) / 10; const yScale = Math.round(Math.sqrt( matrix[2] * matrix[2] + matrix[3] * matrix[3] - ) * 10000) / 10000; + ) * 10) / 10; let node: Node; const hasCache = render_queue[index++]; From ede8a7991e894c81eff46582902bec632f8a8295 Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 14:07:25 +0900 Subject: [PATCH 3/6] update packages --- package-lock.json | 12 ++++++------ package.json | 4 ++-- src/index.ts | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2fa7ec4..1c245de1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@next2d/player", - "version": "2.1.6", + "version": "2.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@next2d/player", - "version": "2.1.6", + "version": "2.2.0", "license": "MIT", "workspaces": [ "packages/*" @@ -33,7 +33,7 @@ "rollup": "^4.40.0", "tslib": "^2.8.1", "typescript": "^5.8.3", - "vite": "^6.3.1", + "vite": "^6.3.2", "vitest": "^3.1.1", "vitest-webgl-canvas-mock": "^1.1.0" }, @@ -3873,9 +3873,9 @@ } }, "node_modules/vite": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.1.tgz", - "integrity": "sha512-kkzzkqtMESYklo96HKKPE5KKLkC1amlsqt+RjFMlX2AvbRB/0wghap19NdBxxwGZ+h/C6DLCrcEphPIItlGrRQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz", + "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index fc41fcee..13a951dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@next2d/player", - "version": "2.1.6", + "version": "2.2.0", "description": "Experience the fast and beautiful anti-aliased rendering of WebGL. You can create rich, interactive graphics, cross-platform applications and games without worrying about browser or device compatibility.", "author": "Toshiyuki Ienaga (https://github.com/ienaga/)", "license": "MIT", @@ -62,7 +62,7 @@ "rollup": "^4.40.0", "tslib": "^2.8.1", "typescript": "^5.8.3", - "vite": "^6.3.1", + "vite": "^6.3.2", "vitest": "^3.1.1", "vitest-webgl-canvas-mock": "^1.1.0" }, diff --git a/src/index.ts b/src/index.ts index 41a113b7..ed9f1f1e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,7 +3,7 @@ import { Next2D } from "@next2d/core"; if (!("next2d" in window)) { - console.log("%c Next2D Player %c 2.1.4 %c https://next2d.app", + console.log("%c Next2D Player %c 2.2.0 %c https://next2d.app", "color: #fff; background: #5f5f5f", "color: #fff; background: #4bc729", ""); From 6fadc6cf826d0f63b01b361c54c4391c098f85f6 Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 14:08:21 +0900 Subject: [PATCH 4/6] =?UTF-8?q?185=20=E3=83=A1=E3=82=A4=E3=83=B3canvas?= =?UTF-8?q?=E3=81=AB=E3=83=9D=E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC=E3=82=AD?= =?UTF-8?q?=E3=83=A3=E3=83=B3=E3=82=BB=E3=83=AB=E3=82=A4=E3=83=99=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 3 --- .../Canvas/usecase/CanvasRegisterEventUseCase.ts | 1 + packages/events/src/PointerEvent.ts | 13 +++++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 53000924..df87a329 100644 --- a/index.html +++ b/index.html @@ -11,9 +11,6 @@ window.addEventListener("DOMContentLoaded", async () => { await next2d.load("develop"); - const { stage } = next2d.display; - stage.getChildAt(0).scaleX = 3; - stage.getChildAt(0).scaleY = 3; // const root = await next2d.createRootMovieClip(400, 400, 60, { // bgColor: "#0000ff" diff --git a/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.ts b/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.ts index 2bd549a4..b0c5b129 100644 --- a/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.ts +++ b/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.ts @@ -46,6 +46,7 @@ export const execute = (canvas: HTMLCanvasElement): void => canvas.addEventListener(PointerEvent.POINTER_DOWN, canvasPointerDownEventUseCase as EventListener, { "passive": false }); canvas.addEventListener(PointerEvent.POINTER_UP, canvasPointerUpEventUseCase as EventListener); + canvas.addEventListener(PointerEvent.POINTER_CANCEl, canvasPointerUpEventUseCase as EventListener); canvas.addEventListener(PointerEvent.POINTER_MOVE, canvasPointerMoveEventUseCase as EventListener, { "passive": false }); canvas.addEventListener(PointerEvent.POINTER_LEAVE, canvasPointerLeaveEventUseCase as EventListener); canvas.addEventListener(WheelEvent.WHEEL, canvasWheelEventUseCase as EventListener); diff --git a/packages/events/src/PointerEvent.ts b/packages/events/src/PointerEvent.ts index bc33fa45..fcdcb071 100644 --- a/packages/events/src/PointerEvent.ts +++ b/packages/events/src/PointerEvent.ts @@ -149,4 +149,17 @@ export class PointerEvent extends Event { return "pointerup"; } + + /** + * @description ポインターのキャンセル時に発生します。 + * Occurs when the pointer is canceled. + * + * @return {string} + * @const + * @static + */ + static get POINTER_CANCEl (): string + { + return "pointercancel"; + } } \ No newline at end of file From 2951391887710c49cb58b013e5aba3c9b1be83fc Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 14:23:14 +0900 Subject: [PATCH 5/6] =?UTF-8?q?#184=20=E3=82=AD=E3=83=A3=E3=83=83=E3=82=B7?= =?UTF-8?q?=E3=83=A5=E3=82=AD=E3=83=BC=E5=A4=89=E6=9B=B4=E3=81=A7=E5=BD=B1?= =?UTF-8?q?=E9=9F=BF=E3=81=8C=E3=81=82=E3=82=8B=E7=AE=87=E6=89=80=E3=81=AE?= =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B1=E3=83=BC=E3=82=B9=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CacheStoreGenerateKeysService.test.ts | 4 ++-- .../Canvas/usecase/CanvasRegisterEventUseCase.test.ts | 9 +++++---- .../usecase/DisplayObjectSetHeightUseCase.test.ts | 2 +- .../usecase/DisplayObjectSetScaleXUseCase.test.ts | 2 +- .../usecase/DisplayObjectSetScaleYUseCase.test.ts | 2 +- .../usecase/DisplayObjectSetWidthUseCase.test.ts | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.test.ts b/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.test.ts index e27bf8f4..ef21a9fa 100644 --- a/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.test.ts +++ b/packages/cache/src/CacheStore/service/CacheStoreGenerateKeysService.test.ts @@ -5,11 +5,11 @@ describe("CacheStoreGenerateKeysService.js test", () => { it("test case1", () => { - expect(execute(0.25, 0.5, 0)).toBe(15480923); + expect(execute(0.25, 0.5, 0)).toBe(13038674); }); it("test case2", () => { - expect(execute(0.25, 0.5, 0.3)).toBe(6600597); + expect(execute(0.25, 0.5, 0.3)).toBe(6614284); }); }); \ No newline at end of file diff --git a/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.test.ts b/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.test.ts index f0fbf74d..36082da5 100644 --- a/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.test.ts +++ b/packages/core/src/Canvas/usecase/CanvasRegisterEventUseCase.test.ts @@ -18,13 +18,14 @@ describe("CanvasRegisterEventUseCase.js test", () => } as unknown as HTMLCanvasElement; execute(MockCanvas); - expect(results.length).toBe(6); + expect(results.length).toBe(7); expect(results[0]).toBe(PointerEvent.POINTER_UP); expect(results[1]).toBe(PointerEvent.POINTER_DOWN); expect(results[2]).toBe(PointerEvent.POINTER_UP); - expect(results[3]).toBe(PointerEvent.POINTER_MOVE); - expect(results[4]).toBe(PointerEvent.POINTER_LEAVE); - expect(results[5]).toBe(WheelEvent.WHEEL); + expect(results[3]).toBe(PointerEvent.POINTER_CANCEl); + expect(results[4]).toBe(PointerEvent.POINTER_MOVE); + expect(results[5]).toBe(PointerEvent.POINTER_LEAVE); + expect(results[6]).toBe(WheelEvent.WHEEL); }); }); \ No newline at end of file diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.test.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.test.ts index 078ae7ec..69cacd85 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.test.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.test.ts @@ -94,7 +94,7 @@ describe("DisplayObjectSetHeightUseCase.js test", () => expect(rawData[0]).toBe(1); expect(rawData[1]).toBe(0); expect(rawData[2]).toBe(0); - expect(rawData[3]).toBe(0.33329999446868896); + expect(rawData[3]).toBe(0.33000001311302185); expect(rawData[4]).toBe(0); expect(rawData[5]).toBe(0); }); diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.test.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.test.ts index d27e850e..55e56042 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.test.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.test.ts @@ -57,7 +57,7 @@ describe("DisplayObjectSetScaleXUseCase.js test", () => execute(displayObject, 2.2001231231005124151); expect(displayObject.changed).toBe(true); - expect(displayObject.$scaleX).toBe(2.2001); + expect(displayObject.$scaleX).toBe(2.2); }); it("execute test case4", () => diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.test.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.test.ts index 28b05715..a7098eaa 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.test.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.test.ts @@ -57,7 +57,7 @@ describe("DisplayObjectSetScaleYUseCase.js test", () => execute(displayObject, 2.2001231231005124151); expect(displayObject.changed).toBe(true); - expect(displayObject.$scaleY).toBe(2.2001); + expect(displayObject.$scaleY).toBe(2.2); }); it("execute test case4", () => diff --git a/packages/display/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.test.ts b/packages/display/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.test.ts index ec0a9343..bf324b74 100644 --- a/packages/display/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.test.ts +++ b/packages/display/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.test.ts @@ -91,7 +91,7 @@ describe("DisplayObjectSetWidthUseCase.js test", () => throw new Error("rawData is null"); } - expect(rawData[0]).toBe(0.4544999897480011); + expect(rawData[0]).toBe(0.44999998807907104); expect(rawData[1]).toBe(0); expect(rawData[2]).toBe(0); expect(rawData[3]).toBe(1); From b4296f0b4649204aab138377c06a93774a5d70a2 Mon Sep 17 00:00:00 2001 From: ienaga Date: Fri, 18 Apr 2025 18:33:58 +0900 Subject: [PATCH 6/6] =?UTF-8?q?#184=20=E3=82=AD=E3=83=A3=E3=83=83=E3=82=B7?= =?UTF-8?q?=E3=83=A5=E6=99=82=E3=81=AEmatrix=E3=82=92=E6=94=B9=E4=BF=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../renderer/src/Shape/usecase/ShapeRenderUseCase.ts | 10 ++++++++-- .../src/TextField/usecase/TextFieldRenderUseCase.ts | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts b/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts index 1d1be25d..69964a14 100644 --- a/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts +++ b/packages/renderer/src/Shape/usecase/ShapeRenderUseCase.ts @@ -205,8 +205,14 @@ export const execute = (render_queue: Float32Array, index: number): number => const radianY = Math.atan2(-matrix[2], matrix[3]); if (radianX || radianY) { - const tx = xMin * xScale; - const ty = yMin * yScale; + const tx = xMin * Math.sqrt( + matrix[0] * matrix[0] + + matrix[1] * matrix[1] + ); + const ty = yMin * Math.sqrt( + matrix[2] * matrix[2] + + matrix[3] * matrix[3] + ); const cosX = Math.cos(radianX); const sinX = Math.sin(radianX); diff --git a/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts b/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts index 092c7dce..436b158e 100644 --- a/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts +++ b/packages/renderer/src/TextField/usecase/TextFieldRenderUseCase.ts @@ -192,8 +192,14 @@ export const execute = (render_queue: Float32Array, index: number): number => const radianY = Math.atan2(-matrix[2], matrix[3]); if (radianX || radianY) { - const tx = xMin * xScale; - const ty = yMin * yScale; + const tx = xMin * Math.sqrt( + matrix[0] * matrix[0] + + matrix[1] * matrix[1] + ); + const ty = yMin * Math.sqrt( + matrix[2] * matrix[2] + + matrix[3] * matrix[3] + ); const cosX = Math.cos(radianX); const sinX = Math.sin(radianX);