From 4b7443015c45f7968e4c132faafc7a010da36f5e Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 11:27:19 +0900 Subject: [PATCH 01/13] chage Flowchart --- README.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 943b72f4..acb307ae 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,60 @@ start(); | `bgColor` | string | "transparent" | 你可以指定一个十六进制的背景颜色。默认为无色。 | ## Flowchart -![Flowchart](./drawing_flow_chart.svg) + +### Drawing Flow Chart + +```mermaid +flowchart TB + subgraph normal["Normal Rendering"] + Shape1["Shape
(Bitmap or Vector)"] + TextField1["TextField
(canvas2d)"] + Video1["Video
(Video Element)"] + + Shape1 --> Cache1{Is there a cache?} + TextField1 --> Cache1 + Video1 --> Cache1 + + Cache1 -->|NO| Render1[Rendering] + Cache1 -->|YES| InstancedArray1 + end + + subgraph filterBlend["Filter or Blend"] + Render1 --> NeedOffscreen{Need offscreen?} + + NeedOffscreen -->|NO| InstancedArray1 + NeedOffscreen -->|YES| Framebuffer[Framebuffer
offscreen rendering] + + Framebuffer --> InstancedArray1 + end + + subgraph mask["Mask Processing"] + Shape2["Shape
(Bitmap or Vector)"] + TextField2["TextField
(canvas2d)"] + Video2["Video
(Video Element)"] + + Shape2 --> Cache2{Is there a cache?} + TextField2 --> Cache2 + Video2 --> Cache2 + + Cache2 -->|NO| Render2[Rendering] + Cache2 -->|YES| InstancedArray2 + + Render2 --> InstancedArray2 + end + + InstancedArray1["Instanced Arrays
matrix | colorTransform | Coordinates"] + InstancedArray2["Instanced Arrays
matrix | colorTransform | Coordinates"] + + InstancedArray1 --> Rendering[Rendering
drawArraysInstanced] + InstancedArray2 --> Rendering + + Rendering -->|60fps| MainFramebuffer[Main Framebuffer] + + style normal fill:#dae8fc,stroke:#6c8ebf + style Rendering fill:#ffe6cc,stroke:#d79b00 + style MainFramebuffer fill:#d5e8d4,stroke:#82b366 +``` ## License This project is licensed under the [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE](LICENSE) file for details. From 51d74f0a310c25215eb7c139a15c30fb5bef7536 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 11:30:45 +0900 Subject: [PATCH 02/13] chage Flowchart --- README.md | 69 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index acb307ae..e114e2a5 100644 --- a/README.md +++ b/README.md @@ -124,33 +124,37 @@ start(); ## Flowchart -### Drawing Flow Chart - ```mermaid flowchart TB - subgraph normal["Normal Rendering"] + subgraph Container1["Container (framebuffer - offscreen rendering)"] Shape1["Shape
(Bitmap or Vector)"] TextField1["TextField
(canvas2d)"] Video1["Video
(Video Element)"] - Shape1 --> Cache1{Is there a cache?} - TextField1 --> Cache1 - Video1 --> Cache1 + Shape1 --> MaskRendering{mask rendering} + TextField1 --> MaskRendering + Video1 --> MaskRendering - Cache1 -->|NO| Render1[Rendering] - Cache1 -->|YES| InstancedArray1 - end - - subgraph filterBlend["Filter or Blend"] - Render1 --> NeedOffscreen{Need offscreen?} + MaskRendering -->|YES| Rendering1[rendering] + MaskRendering -->|NO| Cache1{Is there a cache?} + + Cache1 -->|NO| TextureAtlas[Texture Atlas
Drawing with binary trees] + Cache1 -->|YES| Coordinates + + TextureAtlas --> Coordinates[(Coordinates
{x, y, w, h})] + + Coordinates --> FilterOrBlend{Filter or Blend} - NeedOffscreen -->|NO| InstancedArray1 - NeedOffscreen -->|YES| Framebuffer[Framebuffer
offscreen rendering] + FilterOrBlend -->|NO| InstancedArrays1 + FilterOrBlend -->|YES| CacheCheck{Is there a cache?} - Framebuffer --> InstancedArray1 + CacheCheck -->|YES| TextureCache + CacheCheck -->|NO| Rendering2[rendering] + + Rendering2 --> TextureCache end - subgraph mask["Mask Processing"] + subgraph Container2["Container (filter or blend or mask)"] Shape2["Shape
(Bitmap or Vector)"] TextField2["TextField
(canvas2d)"] Video2["Video
(Video Element)"] @@ -159,22 +163,35 @@ flowchart TB TextField2 --> Cache2 Video2 --> Cache2 - Cache2 -->|NO| Render2[Rendering] - Cache2 -->|YES| InstancedArray2 + Cache2 -->|NO| Rendering3[rendering] + Cache2 -->|YES| InstancedArrays2 - Render2 --> InstancedArray2 + Rendering3 --> InstancedArrays2 end - InstancedArray1["Instanced Arrays
matrix | colorTransform | Coordinates"] - InstancedArray2["Instanced Arrays
matrix | colorTransform | Coordinates"] + Container1 -->|filter or blend| Container2 + + Container2 -->|filter or blend| CacheCheck2{Is there a cache?} + CacheCheck2 -->|YES| TextureCache + CacheCheck2 -->|NO| Rendering4[rendering] + Rendering4 -->|cache| TextureCache[(texture
cache)] + + Coordinates -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] + InstancedArrays2["Instanced Arrays
matrix | colorTransform | Coordinates"] -->|Array of rendering information| InstancedArrays1 + + InstancedArrays1 -->|drawArraysInstanced| FinalRendering[rendering] + InstancedArrays2 -->|drawArraysInstanced| Rendering5[rendering] + + TextureCache -->|drawArrays| FinalRendering + Rendering1 -->|drawArrays| FinalRendering - InstancedArray1 --> Rendering[Rendering
drawArraysInstanced] - InstancedArray2 --> Rendering + Rendering5 -->|filter or blend| TextureCache - Rendering -->|60fps| MainFramebuffer[Main Framebuffer] + FinalRendering -->|60fps| MainFramebuffer[main framebuffer] - style normal fill:#dae8fc,stroke:#6c8ebf - style Rendering fill:#ffe6cc,stroke:#d79b00 + style Container1 fill:#dae8fc,stroke:#6c8ebf + style FinalRendering fill:#ffe6cc,stroke:#d79b00 + style Rendering5 fill:#ffe6cc,stroke:#d79b00 style MainFramebuffer fill:#d5e8d4,stroke:#82b366 ``` From b407c7b5b5ea07bb09e5a23a372475ebe3bf53ba Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 11:31:53 +0900 Subject: [PATCH 03/13] chage Flowchart --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e114e2a5..5385049e 100644 --- a/README.md +++ b/README.md @@ -139,11 +139,11 @@ flowchart TB MaskRendering -->|NO| Cache1{Is there a cache?} Cache1 -->|NO| TextureAtlas[Texture Atlas
Drawing with binary trees] - Cache1 -->|YES| Coordinates + Cache1 -->|YES| CoordinatesDB - TextureAtlas --> Coordinates[(Coordinates
{x, y, w, h})] + TextureAtlas --> CoordinatesDB - Coordinates --> FilterOrBlend{Filter or Blend} + CoordinatesDB[(Coordinates
{x, y, w, h})] --> FilterOrBlend{Filter or Blend} FilterOrBlend -->|NO| InstancedArrays1 FilterOrBlend -->|YES| CacheCheck{Is there a cache?} @@ -176,7 +176,7 @@ flowchart TB CacheCheck2 -->|NO| Rendering4[rendering] Rendering4 -->|cache| TextureCache[(texture
cache)] - Coordinates -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] + CoordinatesDB -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] InstancedArrays2["Instanced Arrays
matrix | colorTransform | Coordinates"] -->|Array of rendering information| InstancedArrays1 InstancedArrays1 -->|drawArraysInstanced| FinalRendering[rendering] From c0bbd86b5312674144a5bc923d1c052296fcf95c Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 11:49:39 +0900 Subject: [PATCH 04/13] chage Flowchart --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5385049e..1d751984 100644 --- a/README.md +++ b/README.md @@ -142,8 +142,9 @@ flowchart TB Cache1 -->|YES| CoordinatesDB TextureAtlas --> CoordinatesDB + CoordinatesDB[(Coordinates
{x, y, w, h})] - CoordinatesDB[(Coordinates
{x, y, w, h})] --> FilterOrBlend{Filter or Blend} + CoordinatesDB --> FilterOrBlend{Filter or Blend} FilterOrBlend -->|NO| InstancedArrays1 FilterOrBlend -->|YES| CacheCheck{Is there a cache?} From 52ae90f7ac52d232c4ae0d68fc7d73136c156bb1 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 13:05:02 +0900 Subject: [PATCH 05/13] chage Flowchart v2 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1d751984..88fc1a43 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ flowchart TB Cache1 -->|YES| CoordinatesDB TextureAtlas --> CoordinatesDB - CoordinatesDB[(Coordinates
{x, y, w, h})] + CoordinatesDB[("Coordinates
x, y, w, h")] CoordinatesDB --> FilterOrBlend{Filter or Blend} @@ -175,7 +175,7 @@ flowchart TB Container2 -->|filter or blend| CacheCheck2{Is there a cache?} CacheCheck2 -->|YES| TextureCache CacheCheck2 -->|NO| Rendering4[rendering] - Rendering4 -->|cache| TextureCache[(texture
cache)] + Rendering4 -->|cache| TextureCache[("texture
cache")] CoordinatesDB -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] InstancedArrays2["Instanced Arrays
matrix | colorTransform | Coordinates"] -->|Array of rendering information| InstancedArrays1 From a821d1338054ceb6e70e5c00892ab1e1681615f2 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 13:10:03 +0900 Subject: [PATCH 06/13] chage Flowchart v3 --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88fc1a43..7a839334 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ flowchart TB Cache1 -->|YES| CoordinatesDB TextureAtlas --> CoordinatesDB - CoordinatesDB[("Coordinates
x, y, w, h")] + CoordinatesDB["Coordinates
x, y, w, h"] CoordinatesDB --> FilterOrBlend{Filter or Blend} @@ -175,7 +175,7 @@ flowchart TB Container2 -->|filter or blend| CacheCheck2{Is there a cache?} CacheCheck2 -->|YES| TextureCache CacheCheck2 -->|NO| Rendering4[rendering] - Rendering4 -->|cache| TextureCache[("texture
cache")] + Rendering4 -->|cache| TextureCache["texture cache"] CoordinatesDB -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] InstancedArrays2["Instanced Arrays
matrix | colorTransform | Coordinates"] -->|Array of rendering information| InstancedArrays1 @@ -194,6 +194,8 @@ flowchart TB style FinalRendering fill:#ffe6cc,stroke:#d79b00 style Rendering5 fill:#ffe6cc,stroke:#d79b00 style MainFramebuffer fill:#d5e8d4,stroke:#82b366 + style CoordinatesDB fill:#f0f0f0,stroke:#666,stroke-width:2px + style TextureCache fill:#f0f0f0,stroke:#666,stroke-width:2px ``` ## License From 38e623a0cefecfda5162d8f69cbecabf402b929a Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 13:23:46 +0900 Subject: [PATCH 07/13] chage Flowchart v4 --- README.md | 127 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 67 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 7a839334..3a0ecbcb 100644 --- a/README.md +++ b/README.md @@ -125,77 +125,84 @@ start(); ## Flowchart ```mermaid -flowchart TB - subgraph Container1["Container (framebuffer - offscreen rendering)"] - Shape1["Shape
(Bitmap or Vector)"] - TextField1["TextField
(canvas2d)"] - Video1["Video
(Video Element)"] +flowchart LR + subgraph Left["Drawing Flow Chart"] + direction TB + subgraph Container1["Container (framebuffer - offscreen rendering)"] + direction TB + Shape1["Shape
(Bitmap or Vector)"] + TextField1["TextField
(canvas2d)"] + Video1["Video
(Video Element)"] + + Shape1 --> MaskCheck{mask rendering?} + TextField1 --> MaskCheck + Video1 --> MaskCheck + + MaskCheck -->|NO| Cache1{Is there
a cache?} + Cache1 -->|YES| CoordDB1["Coordinates
x, y, w, h"] + CoordDB1 --> FilterCheck{Filter or
Blend?} + FilterCheck -->|NO| Arrays1["Instanced Arrays
matrix | colorTransform
| Coordinates"] + end - Shape1 --> MaskRendering{mask rendering} - TextField1 --> MaskRendering - Video1 --> MaskRendering + MaskCheck -->|YES| Direct1[rendering] + Direct1 -->|drawArrays| Final[rendering] - MaskRendering -->|YES| Rendering1[rendering] - MaskRendering -->|NO| Cache1{Is there a cache?} + Arrays1 -->|drawArraysInstanced| Final + Final -->|60fps| Screen[main framebuffer] - Cache1 -->|NO| TextureAtlas[Texture Atlas
Drawing with binary trees] - Cache1 -->|YES| CoordinatesDB - - TextureAtlas --> CoordinatesDB - CoordinatesDB["Coordinates
x, y, w, h"] - - CoordinatesDB --> FilterOrBlend{Filter or Blend} - - FilterOrBlend -->|NO| InstancedArrays1 - FilterOrBlend -->|YES| CacheCheck{Is there a cache?} - - CacheCheck -->|YES| TextureCache - CacheCheck -->|NO| Rendering2[rendering] - - Rendering2 --> TextureCache + FilterCheck -->|YES| CacheCheck1{Is there
a cache?} end - subgraph Container2["Container (filter or blend or mask)"] - Shape2["Shape
(Bitmap or Vector)"] - TextField2["TextField
(canvas2d)"] - Video2["Video
(Video Element)"] + subgraph Center["Middle Layer"] + direction TB + Cache1 -->|NO| Atlas["Texture Atlas
(Drawing with
binary trees)"] + Atlas --> CoordDB1 - Shape2 --> Cache2{Is there a cache?} - TextField2 --> Cache2 - Video2 --> Cache2 + CacheCheck1 -->|NO| Render2[rendering] + Render2 -->|cache| TexCache["texture cache"] + CacheCheck1 -->|YES| TexCache + TexCache -->|drawArrays| Final + end + + subgraph Right["Filter/Blend/Mask Processing"] + direction TB + subgraph Container2["Container (filter or blend or mask)"] + direction TB + Shape2["Shape
(Bitmap or Vector)"] + TextField2["TextField
(canvas2d)"] + Video2["Video
(Video Element)"] + + Shape2 --> Cache2{Is there
a cache?} + TextField2 --> Cache2 + Video2 --> Cache2 + + Cache2 -->|NO| Render3[rendering] + Render3 --> Arrays2["Instanced Arrays
matrix | colorTransform
| Coordinates"] + Cache2 -->|YES| Arrays2 + end - Cache2 -->|NO| Rendering3[rendering] - Cache2 -->|YES| InstancedArrays2 + Arrays2 -->|drawArraysInstanced| Render4[rendering] + Render4 -->|filter or blend| TexCache - Rendering3 --> InstancedArrays2 + Arrays2 -.->|Array of rendering
information| Arrays1 end - Container1 -->|filter or blend| Container2 - - Container2 -->|filter or blend| CacheCheck2{Is there a cache?} - CacheCheck2 -->|YES| TextureCache - CacheCheck2 -->|NO| Rendering4[rendering] - Rendering4 -->|cache| TextureCache["texture cache"] - - CoordinatesDB -->|Array of rendering information| InstancedArrays1["Instanced Arrays
matrix | colorTransform | Coordinates"] - InstancedArrays2["Instanced Arrays
matrix | colorTransform | Coordinates"] -->|Array of rendering information| InstancedArrays1 - - InstancedArrays1 -->|drawArraysInstanced| FinalRendering[rendering] - InstancedArrays2 -->|drawArraysInstanced| Rendering5[rendering] - - TextureCache -->|drawArrays| FinalRendering - Rendering1 -->|drawArrays| FinalRendering - - Rendering5 -->|filter or blend| TextureCache - - FinalRendering -->|60fps| MainFramebuffer[main framebuffer] + Container1 -.->|filter or blend| Container2 + FilterCheck -.->|filter or blend| CacheCheck2{Is there
a cache?} + CacheCheck2 -->|NO| Render5[rendering] + CacheCheck2 -->|YES| TexCache + Render5 -->|cache| TexCache - style Container1 fill:#dae8fc,stroke:#6c8ebf - style FinalRendering fill:#ffe6cc,stroke:#d79b00 - style Rendering5 fill:#ffe6cc,stroke:#d79b00 - style MainFramebuffer fill:#d5e8d4,stroke:#82b366 - style CoordinatesDB fill:#f0f0f0,stroke:#666,stroke-width:2px - style TextureCache fill:#f0f0f0,stroke:#666,stroke-width:2px + style Left fill:#e6f3ff,stroke:#4d94ff,stroke-width:2px + style Center fill:#fff9e6,stroke:#ffcc00,stroke-width:2px + style Right fill:#ffe6f0,stroke:#ff66a3,stroke-width:2px + style Container1 fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px + style Container2 fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px + style Final fill:#ffe6cc,stroke:#d79b00,stroke-width:2px + style Render4 fill:#ffe6cc,stroke:#d79b00,stroke-width:2px + style Screen fill:#d5e8d4,stroke:#82b366,stroke-width:2px + style CoordDB1 fill:#f0f0f0,stroke:#666,stroke-width:2px + style TexCache fill:#f0f0f0,stroke:#666,stroke-width:2px ``` ## License From 3f90a6d17ae92242de3927308ce722ec513439c4 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 13:52:18 +0900 Subject: [PATCH 08/13] chage Flowchart v5 --- README.md | 135 +++++++++++++++++++++++++++++------------------------- 1 file changed, 73 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 3a0ecbcb..4a8e0eff 100644 --- a/README.md +++ b/README.md @@ -125,84 +125,95 @@ start(); ## Flowchart ```mermaid -flowchart LR - subgraph Left["Drawing Flow Chart"] +flowchart TB + %% Main Drawing Flow Chart + subgraph MainFlow["🎨 Drawing Flow Chart - Main Rendering Pipeline"] direction TB - subgraph Container1["Container (framebuffer - offscreen rendering)"] - direction TB - Shape1["Shape
(Bitmap or Vector)"] - TextField1["TextField
(canvas2d)"] - Video1["Video
(Video Element)"] - - Shape1 --> MaskCheck{mask rendering?} - TextField1 --> MaskCheck - Video1 --> MaskCheck - - MaskCheck -->|NO| Cache1{Is there
a cache?} - Cache1 -->|YES| CoordDB1["Coordinates
x, y, w, h"] - CoordDB1 --> FilterCheck{Filter or
Blend?} - FilterCheck -->|NO| Arrays1["Instanced Arrays
matrix | colorTransform
| Coordinates"] + + subgraph Inputs["Display Objects"] + Shape["Shape
(Bitmap/Vector)"] + TextField["TextField
(canvas2d)"] + Video["Video Element"] end - MaskCheck -->|YES| Direct1[rendering] - Direct1 -->|drawArrays| Final[rendering] + Shape --> MaskCheck + TextField --> MaskCheck + Video --> MaskCheck - Arrays1 -->|drawArraysInstanced| Final - Final -->|60fps| Screen[main framebuffer] + MaskCheck{"mask
rendering?"} - FilterCheck -->|YES| CacheCheck1{Is there
a cache?} - end - - subgraph Center["Middle Layer"] - direction TB - Cache1 -->|NO| Atlas["Texture Atlas
(Drawing with
binary trees)"] - Atlas --> CoordDB1 + MaskCheck -->|YES| DirectRender["Direct Rendering"] + DirectRender -->|drawArrays| FinalRender + + MaskCheck -->|NO| CacheCheck1{"cache
exists?"} + + CacheCheck1 -->|NO| TextureAtlas["📦 Texture Atlas
(Binary Tree Packing)"] + TextureAtlas --> Coordinates + + CacheCheck1 -->|YES| Coordinates["📍 Coordinates DB
(x, y, w, h)"] + + Coordinates --> FilterBlendCheck{"filter or
blend?"} + + FilterBlendCheck -->|NO| MainArrays + FilterBlendCheck -->|YES| NeedCache{"cache
exists?"} + + NeedCache -->|NO| CacheRender["Render to Cache"] + CacheRender --> TextureCache + NeedCache -->|YES| TextureCache["💾 Texture Cache"] - CacheCheck1 -->|NO| Render2[rendering] - Render2 -->|cache| TexCache["texture cache"] - CacheCheck1 -->|YES| TexCache - TexCache -->|drawArrays| Final + TextureCache -->|drawArrays| FinalRender + + MainArrays["⚡ Instanced Arrays
━━━━━━━━━━━━━━━
matrix
colorTransform
Coordinates
━━━━━━━━━━━━━━━
Batch Rendering"] + + MainArrays -->|drawArraysInstanced
Multiple objects in one call| FinalRender["🎬 Final Rendering"] + + FinalRender -->|60fps| MainFramebuffer["🖥️ Main Framebuffer
(Display)"] end - subgraph Right["Filter/Blend/Mask Processing"] + %% Branch Flow for Filter/Blend/Mask + subgraph BranchFlow["🎭 Filter/Blend/Mask - Branch Processing"] direction TB - subgraph Container2["Container (filter or blend or mask)"] - direction TB - Shape2["Shape
(Bitmap or Vector)"] + + subgraph FilterInputs["Display Objects"] + Shape2["Shape
(Bitmap/Vector)"] TextField2["TextField
(canvas2d)"] - Video2["Video
(Video Element)"] - - Shape2 --> Cache2{Is there
a cache?} - TextField2 --> Cache2 - Video2 --> Cache2 - - Cache2 -->|NO| Render3[rendering] - Render3 --> Arrays2["Instanced Arrays
matrix | colorTransform
| Coordinates"] - Cache2 -->|YES| Arrays2 + Video2["Video Element"] end - Arrays2 -->|drawArraysInstanced| Render4[rendering] - Render4 -->|filter or blend| TexCache + Shape2 --> CacheCheck2 + TextField2 --> CacheCheck2 + Video2 --> CacheCheck2 + + CacheCheck2{"cache
exists?"} - Arrays2 -.->|Array of rendering
information| Arrays1 + CacheCheck2 -->|NO| EffectRender["Effect Rendering"] + CacheCheck2 -->|YES| BranchArrays + EffectRender --> BranchArrays + + BranchArrays["⚡ Instanced Arrays
━━━━━━━━━━━━━━━
matrix
colorTransform
Coordinates
━━━━━━━━━━━━━━━
Batch Rendering"] + + BranchArrays -->|drawArraysInstanced
Multiple objects in one call| BranchRender["Effect Result"] + + BranchRender -->|filter/blend| TextureCache end - Container1 -.->|filter or blend| Container2 - FilterCheck -.->|filter or blend| CacheCheck2{Is there
a cache?} - CacheCheck2 -->|NO| Render5[rendering] - CacheCheck2 -->|YES| TexCache - Render5 -->|cache| TexCache + %% Connections between flows + FilterBlendCheck -.->|"trigger
branch flow"| BranchFlow + BranchArrays -.->|"rendering info
(coordinates)"| MainArrays + + %% Styling + style MainFlow fill:#e3f2fd,stroke:#1976d2,stroke-width:3px + style BranchFlow fill:#fff3e0,stroke:#f57c00,stroke-width:3px + style Inputs fill:#f5f5f5,stroke:#9e9e9e,stroke-width:1px + style FilterInputs fill:#f5f5f5,stroke:#9e9e9e,stroke-width:1px - style Left fill:#e6f3ff,stroke:#4d94ff,stroke-width:2px - style Center fill:#fff9e6,stroke:#ffcc00,stroke-width:2px - style Right fill:#ffe6f0,stroke:#ff66a3,stroke-width:2px - style Container1 fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px - style Container2 fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px - style Final fill:#ffe6cc,stroke:#d79b00,stroke-width:2px - style Render4 fill:#ffe6cc,stroke:#d79b00,stroke-width:2px - style Screen fill:#d5e8d4,stroke:#82b366,stroke-width:2px - style CoordDB1 fill:#f0f0f0,stroke:#666,stroke-width:2px - style TexCache fill:#f0f0f0,stroke:#666,stroke-width:2px + style MainArrays fill:#c8e6c9,stroke:#388e3c,stroke-width:3px + style BranchArrays fill:#c8e6c9,stroke:#388e3c,stroke-width:3px + style FinalRender fill:#ffecb3,stroke:#f57f17,stroke-width:2px + style MainFramebuffer fill:#c5e1a5,stroke:#689f38,stroke-width:3px + style TextureCache fill:#e1bee7,stroke:#8e24aa,stroke-width:2px + style Coordinates fill:#b3e5fc,stroke:#0277bd,stroke-width:2px + style TextureAtlas fill:#fff9c4,stroke:#f9a825,stroke-width:2px ``` ## License From 4c3e30343829432943759b297114e28ef2bf98be Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 5 Nov 2025 17:52:44 +0900 Subject: [PATCH 09/13] =?UTF-8?q?mermaid=E7=94=A8=E3=81=AE=E3=83=91?= =?UTF-8?q?=E3=83=83=E3=82=B1=E3=83=BC=E3=82=B8=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 260 ++++++++++++++++++++++++++-------------------- package.json | 3 +- 2 files changed, 148 insertions(+), 115 deletions(-) diff --git a/package-lock.json b/package-lock.json index c6384ac4..1f6ae51d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,8 @@ "typescript": "^5.9.3", "vite": "^7.1.12", "vitest": "^4.0.7", - "vitest-webgl-canvas-mock": "^1.1.0" + "vitest-webgl-canvas-mock": "^1.1.0", + "xml2js": "^0.6.2" }, "funding": { "type": "github", @@ -80,9 +81,9 @@ } }, "node_modules/@asamuzakjp/dom-selector": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.3.tgz", - "integrity": "sha512-kiGFeY+Hxf5KbPpjRLf+ffWbkos1aGo8MBfd91oxS3O57RgU3XhZrt/6UzoVF9VMpWbC3v87SRc9jxGrc9qHtQ==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.4.tgz", + "integrity": "sha512-buQDjkm+wDPXd6c13534URWZqbz0RP5PAhXZ+LIoa5LgwInT9HVJvGIJivg75vi8I13CxDGdTnz+aY5YUJlIAA==", "dev": true, "license": "MIT", "dependencies": { @@ -238,9 +239,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", - "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "cpu": [ "ppc64" ], @@ -255,9 +256,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", - "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "cpu": [ "arm" ], @@ -272,9 +273,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", - "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "cpu": [ "arm64" ], @@ -289,9 +290,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", - "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "cpu": [ "x64" ], @@ -306,9 +307,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", - "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], @@ -323,9 +324,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", - "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "cpu": [ "x64" ], @@ -340,9 +341,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", - "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "cpu": [ "arm64" ], @@ -357,9 +358,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", - "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "cpu": [ "x64" ], @@ -374,9 +375,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", - "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "cpu": [ "arm" ], @@ -391,9 +392,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", - "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "cpu": [ "arm64" ], @@ -408,9 +409,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", - "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "cpu": [ "ia32" ], @@ -425,9 +426,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", - "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "cpu": [ "loong64" ], @@ -442,9 +443,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", - "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "cpu": [ "mips64el" ], @@ -459,9 +460,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", - "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "cpu": [ "ppc64" ], @@ -476,9 +477,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", - "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "cpu": [ "riscv64" ], @@ -493,9 +494,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", - "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "cpu": [ "s390x" ], @@ -510,9 +511,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", - "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], @@ -527,9 +528,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", - "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "cpu": [ "arm64" ], @@ -544,9 +545,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", - "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "cpu": [ "x64" ], @@ -561,9 +562,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", - "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "cpu": [ "arm64" ], @@ -578,9 +579,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", - "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "cpu": [ "x64" ], @@ -595,9 +596,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", - "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "cpu": [ "arm64" ], @@ -612,9 +613,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", - "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "cpu": [ "x64" ], @@ -629,9 +630,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", - "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "cpu": [ "arm64" ], @@ -646,9 +647,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", - "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "cpu": [ "ia32" ], @@ -663,9 +664,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", - "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "cpu": [ "x64" ], @@ -2322,9 +2323,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", - "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2335,32 +2336,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.11", - "@esbuild/android-arm": "0.25.11", - "@esbuild/android-arm64": "0.25.11", - "@esbuild/android-x64": "0.25.11", - "@esbuild/darwin-arm64": "0.25.11", - "@esbuild/darwin-x64": "0.25.11", - "@esbuild/freebsd-arm64": "0.25.11", - "@esbuild/freebsd-x64": "0.25.11", - "@esbuild/linux-arm": "0.25.11", - "@esbuild/linux-arm64": "0.25.11", - "@esbuild/linux-ia32": "0.25.11", - "@esbuild/linux-loong64": "0.25.11", - "@esbuild/linux-mips64el": "0.25.11", - "@esbuild/linux-ppc64": "0.25.11", - "@esbuild/linux-riscv64": "0.25.11", - "@esbuild/linux-s390x": "0.25.11", - "@esbuild/linux-x64": "0.25.11", - "@esbuild/netbsd-arm64": "0.25.11", - "@esbuild/netbsd-x64": "0.25.11", - "@esbuild/openbsd-arm64": "0.25.11", - "@esbuild/openbsd-x64": "0.25.11", - "@esbuild/openharmony-arm64": "0.25.11", - "@esbuild/sunos-x64": "0.25.11", - "@esbuild/win32-arm64": "0.25.11", - "@esbuild/win32-ia32": "0.25.11", - "@esbuild/win32-x64": "0.25.11" + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/escape-string-regexp": { @@ -3615,6 +3616,13 @@ "dev": true, "license": "MIT" }, + "node_modules/sax": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -3965,9 +3973,9 @@ } }, "node_modules/vite": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", - "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.0.tgz", + "integrity": "sha512-C/Naxf8H0pBx1PA4BdpT+c/5wdqI9ILMdwjSMILw7tVIh3JsxzZqdeTLmmdaoh5MYUEOyBnM9K3o0DzoZ/fe+w==", "dev": true, "license": "MIT", "peer": true, @@ -4265,6 +4273,30 @@ "node": ">=18" } }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", diff --git a/package.json b/package.json index 0df5d318..bbc44aa9 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,8 @@ "typescript": "^5.9.3", "vite": "^7.1.12", "vitest": "^4.0.7", - "vitest-webgl-canvas-mock": "^1.1.0" + "vitest-webgl-canvas-mock": "^1.1.0", + "xml2js": "^0.6.2" }, "peerDependencies": { "@next2d/cache": "file:packages/cache", From 02e277e3e60d9ecd481cf5f5bc964a062d590b64 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 12 Nov 2025 21:59:22 +0900 Subject: [PATCH 10/13] #223 update packeges --- package-lock.json | 464 +++++++++++++++++++++++----------------------- package.json | 18 +- 2 files changed, 241 insertions(+), 241 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f6ae51d..056844ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@next2d/player", - "version": "2.6.1", + "version": "2.6.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@next2d/player", - "version": "2.6.1", + "version": "2.6.2", "license": "MIT", "workspaces": [ "packages/*" @@ -22,19 +22,19 @@ "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^12.3.0", - "@types/node": "^24.10.0", - "@typescript-eslint/eslint-plugin": "^8.46.3", - "@typescript-eslint/parser": "^8.46.3", - "@vitest/web-worker": "^4.0.7", + "@types/node": "^24.10.1", + "@typescript-eslint/eslint-plugin": "^8.46.4", + "@typescript-eslint/parser": "^8.46.4", + "@vitest/web-worker": "^4.0.8", "eslint": "^9.39.1", "eslint-plugin-unused-imports": "^4.3.0", "globals": "^16.5.0", - "jsdom": "^27.1.0", - "rollup": "^4.52.5", + "jsdom": "^27.2.0", + "rollup": "^4.53.2", "tslib": "^2.8.1", "typescript": "^5.9.3", - "vite": "^7.1.12", - "vitest": "^4.0.7", + "vite": "^7.2.2", + "vitest": "^4.0.8", "vitest-webgl-canvas-mock": "^1.1.0", "xml2js": "^0.6.2" }, @@ -60,9 +60,9 @@ } }, "node_modules/@acemir/cssom": { - "version": "0.9.19", - "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.19.tgz", - "integrity": "sha512-Pp2gAQXPZ2o7lt4j0IMwNRXqQ3pagxtDj5wctL5U2Lz4oV0ocDNlkgx4DpxfyKav4S/bePuI+SMqcBSUHLy9kg==", + "version": "0.9.23", + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.23.tgz", + "integrity": "sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==", "dev": true, "license": "MIT" }, @@ -198,9 +198,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.15.tgz", - "integrity": "sha512-q0p6zkVq2lJnmzZVPR33doA51G7YOja+FBvRdp5ISIthL0MtFCgYHHhR563z9WFGxcOn0WfjSkPDJ5Qig3H3Sw==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.16.tgz", + "integrity": "sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==", "dev": true, "funding": [ { @@ -1146,9 +1146,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", - "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.2.tgz", + "integrity": "sha512-yDPzwsgiFO26RJA4nZo8I+xqzh7sJTZIWQOxn+/XOdPE31lAvLIYCKqjV+lNH/vxE2L2iH3plKxDCRK6i+CwhA==", "cpu": [ "arm" ], @@ -1160,9 +1160,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", - "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.2.tgz", + "integrity": "sha512-k8FontTxIE7b0/OGKeSN5B6j25EuppBcWM33Z19JoVT7UTXFSo3D9CdU39wGTeb29NO3XxpMNauh09B+Ibw+9g==", "cpu": [ "arm64" ], @@ -1174,9 +1174,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", - "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.2.tgz", + "integrity": "sha512-A6s4gJpomNBtJ2yioj8bflM2oogDwzUiMl2yNJ2v9E7++sHrSrsQ29fOfn5DM/iCzpWcebNYEdXpaK4tr2RhfQ==", "cpu": [ "arm64" ], @@ -1188,9 +1188,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", - "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.2.tgz", + "integrity": "sha512-e6XqVmXlHrBlG56obu9gDRPW3O3hLxpwHpLsBJvuI8qqnsrtSZ9ERoWUXtPOkY8c78WghyPHZdmPhHLWNdAGEw==", "cpu": [ "x64" ], @@ -1202,9 +1202,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", - "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.2.tgz", + "integrity": "sha512-v0E9lJW8VsrwPux5Qe5CwmH/CF/2mQs6xU1MF3nmUxmZUCHazCjLgYvToOk+YuuUqLQBio1qkkREhxhc656ViA==", "cpu": [ "arm64" ], @@ -1216,9 +1216,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", - "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.2.tgz", + "integrity": "sha512-ClAmAPx3ZCHtp6ysl4XEhWU69GUB1D+s7G9YjHGhIGCSrsg00nEGRRZHmINYxkdoJehde8VIsDC5t9C0gb6yqA==", "cpu": [ "x64" ], @@ -1230,9 +1230,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", - "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.2.tgz", + "integrity": "sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==", "cpu": [ "arm" ], @@ -1244,9 +1244,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", - "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.2.tgz", + "integrity": "sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==", "cpu": [ "arm" ], @@ -1258,9 +1258,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", - "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.2.tgz", + "integrity": "sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==", "cpu": [ "arm64" ], @@ -1272,9 +1272,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", - "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.2.tgz", + "integrity": "sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==", "cpu": [ "arm64" ], @@ -1286,9 +1286,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", - "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.2.tgz", + "integrity": "sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==", "cpu": [ "loong64" ], @@ -1300,9 +1300,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", - "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.2.tgz", + "integrity": "sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==", "cpu": [ "ppc64" ], @@ -1314,9 +1314,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", - "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.2.tgz", + "integrity": "sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==", "cpu": [ "riscv64" ], @@ -1328,9 +1328,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", - "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.2.tgz", + "integrity": "sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==", "cpu": [ "riscv64" ], @@ -1342,9 +1342,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", - "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.2.tgz", + "integrity": "sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==", "cpu": [ "s390x" ], @@ -1356,9 +1356,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", - "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.2.tgz", + "integrity": "sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==", "cpu": [ "x64" ], @@ -1370,9 +1370,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", - "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.2.tgz", + "integrity": "sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==", "cpu": [ "x64" ], @@ -1384,9 +1384,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", - "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.2.tgz", + "integrity": "sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==", "cpu": [ "arm64" ], @@ -1398,9 +1398,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", - "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.2.tgz", + "integrity": "sha512-IlbHFYc/pQCgew/d5fslcy1KEaYVCJ44G8pajugd8VoOEI8ODhtb/j8XMhLpwHCMB3yk2J07ctup10gpw2nyMA==", "cpu": [ "arm64" ], @@ -1412,9 +1412,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", - "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.2.tgz", + "integrity": "sha512-lNlPEGgdUfSzdCWU176ku/dQRnA7W+Gp8d+cWv73jYrb8uT7HTVVxq62DUYxjbaByuf1Yk0RIIAbDzp+CnOTFg==", "cpu": [ "ia32" ], @@ -1426,9 +1426,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", - "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.2.tgz", + "integrity": "sha512-S6YojNVrHybQis2lYov1sd+uj7K0Q05NxHcGktuMMdIQ2VixGwAfbJ23NnlvvVV1bdpR2m5MsNBViHJKcA4ADw==", "cpu": [ "x64" ], @@ -1440,9 +1440,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", - "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.2.tgz", + "integrity": "sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA==", "cpu": [ "x64" ], @@ -1493,9 +1493,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.0.tgz", - "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==", + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "dev": true, "license": "MIT", "peer": true, @@ -1511,17 +1511,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.3.tgz", - "integrity": "sha512-sbaQ27XBUopBkRiuY/P9sWGOWUW4rl8fDoHIUmLpZd8uldsTyB4/Zg6bWTegPoTLnKj9Hqgn3QD6cjPNB32Odw==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.4.tgz", + "integrity": "sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.46.3", - "@typescript-eslint/type-utils": "8.46.3", - "@typescript-eslint/utils": "8.46.3", - "@typescript-eslint/visitor-keys": "8.46.3", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/type-utils": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -1535,7 +1535,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.46.3", + "@typescript-eslint/parser": "^8.46.4", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -1551,17 +1551,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.3.tgz", - "integrity": "sha512-6m1I5RmHBGTnUGS113G04DMu3CpSdxCAU/UvtjNWL4Nuf3MW9tQhiJqRlHzChIkhy6kZSAQmc+I1bcGjE3yNKg==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.4.tgz", + "integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.46.3", - "@typescript-eslint/types": "8.46.3", - "@typescript-eslint/typescript-estree": "8.46.3", - "@typescript-eslint/visitor-keys": "8.46.3", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", "debug": "^4.3.4" }, "engines": { @@ -1577,14 +1577,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.3.tgz", - "integrity": "sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.4.tgz", + "integrity": "sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.46.3", - "@typescript-eslint/types": "^8.46.3", + "@typescript-eslint/tsconfig-utils": "^8.46.4", + "@typescript-eslint/types": "^8.46.4", "debug": "^4.3.4" }, "engines": { @@ -1599,14 +1599,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.3.tgz", - "integrity": "sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.4.tgz", + "integrity": "sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.3", - "@typescript-eslint/visitor-keys": "8.46.3" + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1617,9 +1617,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.3.tgz", - "integrity": "sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.4.tgz", + "integrity": "sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==", "dev": true, "license": "MIT", "engines": { @@ -1634,15 +1634,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.3.tgz", - "integrity": "sha512-ZPCADbr+qfz3aiTTYNNkCbUt+cjNwI/5McyANNrFBpVxPt7GqpEYz5ZfdwuFyGUnJ9FdDXbGODUu6iRCI6XRXw==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.4.tgz", + "integrity": "sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.3", - "@typescript-eslint/typescript-estree": "8.46.3", - "@typescript-eslint/utils": "8.46.3", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/utils": "8.46.4", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -1659,9 +1659,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.3.tgz", - "integrity": "sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.4.tgz", + "integrity": "sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==", "dev": true, "license": "MIT", "engines": { @@ -1673,16 +1673,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.3.tgz", - "integrity": "sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.4.tgz", + "integrity": "sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.46.3", - "@typescript-eslint/tsconfig-utils": "8.46.3", - "@typescript-eslint/types": "8.46.3", - "@typescript-eslint/visitor-keys": "8.46.3", + "@typescript-eslint/project-service": "8.46.4", + "@typescript-eslint/tsconfig-utils": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1728,16 +1728,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.3.tgz", - "integrity": "sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.4.tgz", + "integrity": "sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.46.3", - "@typescript-eslint/types": "8.46.3", - "@typescript-eslint/typescript-estree": "8.46.3" + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1752,13 +1752,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.46.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.3.tgz", - "integrity": "sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==", + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.4.tgz", + "integrity": "sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.3", + "@typescript-eslint/types": "8.46.4", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -1783,17 +1783,17 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.7.tgz", - "integrity": "sha512-jGRG6HghnJDjljdjYIoVzX17S6uCVCBRFnsgdLGJ6CaxfPh8kzUKe/2n533y4O/aeZ/sIr7q7GbuEbeGDsWv4Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.8.tgz", + "integrity": "sha512-Rv0eabdP/xjAHQGr8cjBm+NnLHNoL268lMDK85w2aAGLFoVKLd8QGnVon5lLtkXQCoYaNL0wg04EGnyKkkKhPA==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.7", - "@vitest/utils": "4.0.7", - "chai": "^6.0.1", + "@vitest/spy": "4.0.8", + "@vitest/utils": "4.0.8", + "chai": "^6.2.0", "tinyrainbow": "^3.0.3" }, "funding": { @@ -1801,15 +1801,15 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.7.tgz", - "integrity": "sha512-OsDwLS7WnpuNslOV6bJkXVYVV/6RSc4eeVxV7h9wxQPNxnjRvTTrIikfwCbMyl8XJmW6oOccBj2Q07YwZtQcCw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.8.tgz", + "integrity": "sha512-9FRM3MZCedXH3+pIh+ME5Up2NBBHDq0wqwhOKkN4VnvCiKbVxddqH9mSGPZeawjd12pCOGnl+lo/ZGHt0/dQSg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.7", + "@vitest/spy": "4.0.8", "estree-walker": "^3.0.3", - "magic-string": "^0.30.19" + "magic-string": "^0.30.21" }, "funding": { "url": "https://opencollective.com/vitest" @@ -1838,9 +1838,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.7.tgz", - "integrity": "sha512-YY//yxqTmk29+/pK+Wi1UB4DUH3lSVgIm+M10rAJ74pOSMgT7rydMSc+vFuq9LjZLhFvVEXir8EcqMke3SVM6Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.8.tgz", + "integrity": "sha512-qRrjdRkINi9DaZHAimV+8ia9Gq6LeGz2CgIEmMLz3sBDYV53EsnLZbJMR1q84z1HZCMsf7s0orDgZn7ScXsZKg==", "dev": true, "license": "MIT", "dependencies": { @@ -1851,13 +1851,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.7.tgz", - "integrity": "sha512-orU1lsu4PxLEcDWfjVCNGIedOSF/YtZ+XMrd1PZb90E68khWCNzD8y1dtxtgd0hyBIQk8XggteKN/38VQLvzuw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.8.tgz", + "integrity": "sha512-mdY8Sf1gsM8hKJUQfiPT3pn1n8RF4QBcJYFslgWh41JTfrK1cbqY8whpGCFzBl45LN028g0njLCYm0d7XxSaQQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.7", + "@vitest/utils": "4.0.8", "pathe": "^2.0.3" }, "funding": { @@ -1865,14 +1865,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.7.tgz", - "integrity": "sha512-xJL+Nkw0OjaUXXQf13B8iKK5pI9QVtN9uOtzNHYuG/o/B7fIEg0DQ+xOe0/RcqwDEI15rud1k7y5xznBKGUXAA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.8.tgz", + "integrity": "sha512-Nar9OTU03KGiubrIOFhcfHg8FYaRaNT+bh5VUlNz8stFhCZPNrJvmZkhsr1jtaYvuefYFwK2Hwrq026u4uPWCw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.7", - "magic-string": "^0.30.19", + "@vitest/pretty-format": "4.0.8", + "magic-string": "^0.30.21", "pathe": "^2.0.3" }, "funding": { @@ -1880,9 +1880,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.7.tgz", - "integrity": "sha512-FW4X8hzIEn4z+HublB4hBF/FhCVaXfIHm8sUfvlznrcy1MQG7VooBgZPMtVCGZtHi0yl3KESaXTqsKh16d8cFg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.8.tgz", + "integrity": "sha512-nvGVqUunyCgZH7kmo+Ord4WgZ7lN0sOULYXUOYuHr55dvg9YvMz3izfB189Pgp28w0vWFbEEfNc/c3VTrqrXeA==", "dev": true, "license": "MIT", "funding": { @@ -1890,13 +1890,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.7.tgz", - "integrity": "sha512-HNrg9CM/Z4ZWB6RuExhuC6FPmLipiShKVMnT9JlQvfhwR47JatWLChA6mtZqVHqypE6p/z6ofcjbyWpM7YLxPQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.8.tgz", + "integrity": "sha512-pdk2phO5NDvEFfUTxcTP8RFYjVj/kfLSPIN5ebP2Mu9kcIMeAQTbknqcFEyBcC4z2pJlJI9aS5UQjcYfhmKAow==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.7", + "@vitest/pretty-format": "4.0.8", "tinyrainbow": "^3.0.3" }, "funding": { @@ -1904,9 +1904,9 @@ } }, "node_modules/@vitest/web-worker": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@vitest/web-worker/-/web-worker-4.0.7.tgz", - "integrity": "sha512-ew8YYSVXfJDatBi7jZAU7UCwKknlTBIkWXaSedvplMUcXssBmwBK4Ejy3spxhs31v8+Q4PLSgh7tXNiLqwfh6Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@vitest/web-worker/-/web-worker-4.0.8.tgz", + "integrity": "sha512-Dt+vm2EJd/03RDA4jpbUMy2M8cv5SBA7aD3uUTP2eGzVxabfwUhWHFaWYhHiq4QdjDAU12Ztdek4e2u8LftKNw==", "dev": true, "license": "MIT", "dependencies": { @@ -1916,7 +1916,7 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.0.7" + "vitest": "4.0.8" } }, "node_modules/acorn": { @@ -2062,9 +2062,9 @@ } }, "node_modules/chai": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.0.tgz", - "integrity": "sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", + "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "dev": true, "license": "MIT", "engines": { @@ -2166,9 +2166,9 @@ "license": "MIT" }, "node_modules/cssstyle": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.2.tgz", - "integrity": "sha512-zDMqXh8Vs1CdRYZQ2M633m/SFgcjlu8RB8b/1h82i+6vpArF507NSYIWJHGlJaTWoS+imcnctmEz43txhbVkOw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.3.tgz", + "integrity": "sha512-OytmFH+13/QXONJcC75QNdMtKpceNk3u8ThBjyyYjkEcy/ekBwR1mMAuNvi3gdBPW3N5TlCzQ0WZw8H0lN/bDw==", "dev": true, "license": "MIT", "dependencies": { @@ -3025,16 +3025,16 @@ } }, "node_modules/jsdom": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.1.0.tgz", - "integrity": "sha512-Pcfm3eZ+eO4JdZCXthW9tCDT3nF4K+9dmeZ+5X39n+Kqz0DDIABRP5CAEOHRFZk8RGuC2efksTJxrjp8EXCunQ==", + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.2.0.tgz", + "integrity": "sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@acemir/cssom": "^0.9.19", - "@asamuzakjp/dom-selector": "^6.7.3", - "cssstyle": "^5.3.2", + "@acemir/cssom": "^0.9.23", + "@asamuzakjp/dom-selector": "^6.7.4", + "cssstyle": "^5.3.3", "data-urls": "^6.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^4.0.0", @@ -3522,9 +3522,9 @@ } }, "node_modules/rollup": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", - "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", + "version": "4.53.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.2.tgz", + "integrity": "sha512-MHngMYwGJVi6Fmnk6ISmnk7JAHRNF0UkuucA0CUW3N3a4KnONPEZz+vUanQP/ZC/iY1Qkf3bwPWzyY84wEks1g==", "dev": true, "license": "MIT", "peer": true, @@ -3539,28 +3539,28 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.5", - "@rollup/rollup-android-arm64": "4.52.5", - "@rollup/rollup-darwin-arm64": "4.52.5", - "@rollup/rollup-darwin-x64": "4.52.5", - "@rollup/rollup-freebsd-arm64": "4.52.5", - "@rollup/rollup-freebsd-x64": "4.52.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", - "@rollup/rollup-linux-arm-musleabihf": "4.52.5", - "@rollup/rollup-linux-arm64-gnu": "4.52.5", - "@rollup/rollup-linux-arm64-musl": "4.52.5", - "@rollup/rollup-linux-loong64-gnu": "4.52.5", - "@rollup/rollup-linux-ppc64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-musl": "4.52.5", - "@rollup/rollup-linux-s390x-gnu": "4.52.5", - "@rollup/rollup-linux-x64-gnu": "4.52.5", - "@rollup/rollup-linux-x64-musl": "4.52.5", - "@rollup/rollup-openharmony-arm64": "4.52.5", - "@rollup/rollup-win32-arm64-msvc": "4.52.5", - "@rollup/rollup-win32-ia32-msvc": "4.52.5", - "@rollup/rollup-win32-x64-gnu": "4.52.5", - "@rollup/rollup-win32-x64-msvc": "4.52.5", + "@rollup/rollup-android-arm-eabi": "4.53.2", + "@rollup/rollup-android-arm64": "4.53.2", + "@rollup/rollup-darwin-arm64": "4.53.2", + "@rollup/rollup-darwin-x64": "4.53.2", + "@rollup/rollup-freebsd-arm64": "4.53.2", + "@rollup/rollup-freebsd-x64": "4.53.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.2", + "@rollup/rollup-linux-arm-musleabihf": "4.53.2", + "@rollup/rollup-linux-arm64-gnu": "4.53.2", + "@rollup/rollup-linux-arm64-musl": "4.53.2", + "@rollup/rollup-linux-loong64-gnu": "4.53.2", + "@rollup/rollup-linux-ppc64-gnu": "4.53.2", + "@rollup/rollup-linux-riscv64-gnu": "4.53.2", + "@rollup/rollup-linux-riscv64-musl": "4.53.2", + "@rollup/rollup-linux-s390x-gnu": "4.53.2", + "@rollup/rollup-linux-x64-gnu": "4.53.2", + "@rollup/rollup-linux-x64-musl": "4.53.2", + "@rollup/rollup-openharmony-arm64": "4.53.2", + "@rollup/rollup-win32-arm64-msvc": "4.53.2", + "@rollup/rollup-win32-ia32-msvc": "4.53.2", + "@rollup/rollup-win32-x64-gnu": "4.53.2", + "@rollup/rollup-win32-x64-msvc": "4.53.2", "fsevents": "~2.3.2" } }, @@ -3788,9 +3788,9 @@ "license": "MIT" }, "node_modules/terser": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", - "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3973,9 +3973,9 @@ } }, "node_modules/vite": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.0.tgz", - "integrity": "sha512-C/Naxf8H0pBx1PA4BdpT+c/5wdqI9ILMdwjSMILw7tVIh3JsxzZqdeTLmmdaoh5MYUEOyBnM9K3o0DzoZ/fe+w==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz", + "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==", "dev": true, "license": "MIT", "peer": true, @@ -4049,27 +4049,27 @@ } }, "node_modules/vitest": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.7.tgz", - "integrity": "sha512-xQroKAadK503CrmbzCISvQUjeuvEZzv6U0wlnlVFOi5i3gnzfH4onyQ29f3lzpe0FresAiTAd3aqK0Bi/jLI8w==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.8.tgz", + "integrity": "sha512-urzu3NCEV0Qa0Y2PwvBtRgmNtxhj5t5ULw7cuKhIHh3OrkKTLlut0lnBOv9qe5OvbkMH2g38G7KPDCTpIytBVg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vitest/expect": "4.0.7", - "@vitest/mocker": "4.0.7", - "@vitest/pretty-format": "4.0.7", - "@vitest/runner": "4.0.7", - "@vitest/snapshot": "4.0.7", - "@vitest/spy": "4.0.7", - "@vitest/utils": "4.0.7", + "@vitest/expect": "4.0.8", + "@vitest/mocker": "4.0.8", + "@vitest/pretty-format": "4.0.8", + "@vitest/runner": "4.0.8", + "@vitest/snapshot": "4.0.8", + "@vitest/spy": "4.0.8", + "@vitest/utils": "4.0.8", "debug": "^4.4.3", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", - "magic-string": "^0.30.19", + "magic-string": "^0.30.21", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.9.0", + "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.15", @@ -4090,10 +4090,10 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.7", - "@vitest/browser-preview": "4.0.7", - "@vitest/browser-webdriverio": "4.0.7", - "@vitest/ui": "4.0.7", + "@vitest/browser-playwright": "4.0.8", + "@vitest/browser-preview": "4.0.8", + "@vitest/browser-webdriverio": "4.0.8", + "@vitest/ui": "4.0.8", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index bbc44aa9..3e40890c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@next2d/player", - "version": "2.6.1", + "version": "2.6.2", "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", @@ -51,19 +51,19 @@ "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^12.3.0", - "@types/node": "^24.10.0", - "@typescript-eslint/eslint-plugin": "^8.46.3", - "@typescript-eslint/parser": "^8.46.3", - "@vitest/web-worker": "^4.0.7", + "@types/node": "^24.10.1", + "@typescript-eslint/eslint-plugin": "^8.46.4", + "@typescript-eslint/parser": "^8.46.4", + "@vitest/web-worker": "^4.0.8", "eslint": "^9.39.1", "eslint-plugin-unused-imports": "^4.3.0", "globals": "^16.5.0", - "jsdom": "^27.1.0", - "rollup": "^4.52.5", + "jsdom": "^27.2.0", + "rollup": "^4.53.2", "tslib": "^2.8.1", "typescript": "^5.9.3", - "vite": "^7.1.12", - "vitest": "^4.0.7", + "vite": "^7.2.2", + "vitest": "^4.0.8", "vitest-webgl-canvas-mock": "^1.1.0", "xml2js": "^0.6.2" }, From 5ccaf8ffd71c6f7e32d09f4f3c05609a7c57df7b Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 12 Nov 2025 21:59:39 +0900 Subject: [PATCH 11/13] =?UTF-8?q?#223=20rollup=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rollup.renderer.worker.config.js | 6 ++++-- rollup.unzip.worker.config.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/rollup.renderer.worker.config.js b/rollup.renderer.worker.config.js index f7502e44..8b00ecca 100644 --- a/rollup.renderer.worker.config.js +++ b/rollup.renderer.worker.config.js @@ -7,10 +7,12 @@ export default { "input": "./packages/renderer/src/index.ts", "output": { "file": "./dist/renderer.worker.bundle.js", - "format": "es" + "format": "iife", + "name": "RendererWorker", + "inlineDynamicImports": true }, "plugins": [ - resolve(), + resolve({ "browser": true, "preferBuiltins": false }), commonjs(), typescript({ "tsconfig": "./tsconfig.json" }), terser() diff --git a/rollup.unzip.worker.config.js b/rollup.unzip.worker.config.js index d7627921..a6a4e29a 100644 --- a/rollup.unzip.worker.config.js +++ b/rollup.unzip.worker.config.js @@ -7,10 +7,12 @@ export default { "input": "./packages/display/src/Loader/worker/ZlibInflateWorker.ts", "output": { "file": "./dist/unzip.worker.bundle.js", - "format": "es" + "format": "iife", + "name": "UnzipWorker", + "inlineDynamicImports": true }, "plugins": [ - resolve(), + resolve({ "browser": true, "preferBuiltins": false }), commonjs(), typescript({ "tsconfig": "./tsconfig.json" }), terser() From ac71067002b72548c65e4895b31f30143952c022 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 12 Nov 2025 22:12:04 +0900 Subject: [PATCH 12/13] =?UTF-8?q?#223=20vitest=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/vite.config.ts b/vite.config.ts index 03e93803..45051cc0 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -27,6 +27,7 @@ export default defineConfig({ "test.setup.ts", "vitest-webgl-canvas-mock" ], + "pool": "threads", "include": ["packages/**/*.test.ts"] } }); \ No newline at end of file From 08d7410bede7ba2b28ae1d3b105af3a086a75205 Mon Sep 17 00:00:00 2001 From: ienaga Date: Wed, 12 Nov 2025 22:17:19 +0900 Subject: [PATCH 13/13] #223 update version --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index f4f37a21..c2d6054f 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.6.1 %c https://next2d.app", + console.log("%c Next2D Player %c 2.6.2 %c https://next2d.app", "color: #fff; background: #5f5f5f", "color: #fff; background: #4bc729", "");