@next2d/webgpu 3.0.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/package.json +3 -3
  2. package/src/AtlasManager.d.ts +75 -6
  3. package/src/AtlasManager.js +106 -30
  4. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.d.ts +2 -2
  5. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.js +3 -3
  6. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.d.ts +4 -4
  7. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.js +4 -4
  8. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.d.ts +5 -5
  9. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.js +6 -6
  10. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.d.ts +6 -6
  11. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.js +7 -7
  12. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.d.ts +6 -6
  13. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.js +9 -9
  14. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.d.ts +6 -6
  15. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.js +10 -10
  16. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.d.ts +7 -7
  17. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.js +10 -10
  18. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.d.ts +3 -3
  19. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.js +7 -7
  20. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.d.ts +10 -10
  21. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.js +16 -16
  22. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.d.ts +6 -6
  23. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.js +10 -10
  24. package/src/AttachmentManager.d.ts +28 -6
  25. package/src/AttachmentManager.js +28 -23
  26. package/src/BezierConverter/BezierConverter.d.ts +9 -3
  27. package/src/BezierConverter/BezierConverter.js +5 -3
  28. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +2 -13
  29. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +13 -25
  30. package/src/Blend/BlendInstancedManager.d.ts +19 -15
  31. package/src/Blend/BlendInstancedManager.js +35 -22
  32. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.d.ts +9 -2
  33. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.js +28 -17
  34. package/src/Blend.d.ts +20 -2
  35. package/src/Blend.js +20 -4
  36. package/src/BufferManager/service/BufferManagerReleaseUniformBufferService.js +2 -2
  37. package/src/BufferManager/service/BufferManagerReleaseVertexBufferService.js +2 -2
  38. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.d.ts +1 -0
  39. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.js +1 -0
  40. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.d.ts +1 -0
  41. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.js +1 -0
  42. package/src/BufferManager.d.ts +108 -43
  43. package/src/BufferManager.js +113 -153
  44. package/src/Context/service/ContextComputeBitmapMatrixService.d.ts +7 -0
  45. package/src/Context/service/ContextComputeBitmapMatrixService.js +7 -0
  46. package/src/Context/service/ContextComputeGradientMatrixService.d.ts +9 -1
  47. package/src/Context/service/ContextComputeGradientMatrixService.js +15 -7
  48. package/src/Context/service/ContextFillSimpleService.d.ts +14 -0
  49. package/src/Context/service/ContextFillSimpleService.js +14 -0
  50. package/src/Context/service/ContextFillWithStencilMainService.d.ts +11 -0
  51. package/src/Context/service/ContextFillWithStencilMainService.js +11 -0
  52. package/src/Context/service/ContextFillWithStencilService.d.ts +11 -0
  53. package/src/Context/service/ContextFillWithStencilService.js +11 -0
  54. package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +17 -0
  55. package/src/Context/usecase/ContextApplyFilterUseCase.js +201 -62
  56. package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +23 -0
  57. package/src/Context/usecase/ContextBitmapFillUseCase.js +47 -0
  58. package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +23 -0
  59. package/src/Context/usecase/ContextBitmapStrokeUseCase.js +35 -0
  60. package/src/Context/usecase/ContextClipUseCase.d.ts +15 -0
  61. package/src/Context/usecase/ContextClipUseCase.js +19 -0
  62. package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +21 -1
  63. package/src/Context/usecase/ContextContainerEndLayerUseCase.js +195 -104
  64. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.d.ts +13 -0
  65. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.js +41 -20
  66. package/src/Context/usecase/ContextDrawIndirectUseCase.d.ts +16 -1
  67. package/src/Context/usecase/ContextDrawIndirectUseCase.js +53 -30
  68. package/src/Context/usecase/ContextGradientFillUseCase.d.ts +23 -0
  69. package/src/Context/usecase/ContextGradientFillUseCase.js +47 -0
  70. package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +23 -0
  71. package/src/Context/usecase/ContextGradientStrokeUseCase.js +35 -0
  72. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.d.ts +13 -1
  73. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.js +126 -60
  74. package/src/Context.d.ts +445 -63
  75. package/src/Context.js +566 -144
  76. package/src/FillTexturePool.d.ts +39 -0
  77. package/src/FillTexturePool.js +70 -7
  78. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.d.ts +21 -2
  79. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.js +33 -26
  80. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.d.ts +5 -5
  81. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.js +81 -64
  82. package/src/Filter/BlurFilterUseCase.d.ts +15 -11
  83. package/src/Filter/BlurFilterUseCase.js +22 -17
  84. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.d.ts +2 -2
  85. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.js +5 -5
  86. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.d.ts +15 -1
  87. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.js +23 -17
  88. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.d.ts +20 -1
  89. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.js +37 -26
  90. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.d.ts +7 -7
  91. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.js +19 -31
  92. package/src/Filter/FilterGradientLUTCache.js +2 -0
  93. package/src/Filter/FilterUtil.d.ts +23 -0
  94. package/src/Filter/FilterUtil.js +33 -0
  95. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.d.ts +5 -5
  96. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.js +12 -21
  97. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.d.ts +6 -6
  98. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.js +16 -19
  99. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.d.ts +5 -5
  100. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.js +13 -16
  101. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.d.ts +13 -1
  102. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.js +30 -3
  103. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.d.ts +11 -1
  104. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.js +36 -6
  105. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.d.ts +10 -10
  106. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.js +15 -15
  107. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.d.ts +4 -4
  108. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.js +5 -5
  109. package/src/FrameBufferManager.d.ts +95 -3
  110. package/src/FrameBufferManager.js +97 -8
  111. package/src/Gradient/GradientLUTCache.d.ts +36 -4
  112. package/src/Gradient/GradientLUTCache.js +61 -5
  113. package/src/Gradient/GradientLUTGenerator.d.ts +26 -14
  114. package/src/Gradient/GradientLUTGenerator.js +74 -43
  115. package/src/Mask/service/MaskUnionMaskService.d.ts +16 -1
  116. package/src/Mask/service/MaskUnionMaskService.js +45 -31
  117. package/src/Mask.d.ts +57 -3
  118. package/src/Mask.js +75 -11
  119. package/src/Mesh/service/MeshFillGenerateService.d.ts +4 -4
  120. package/src/Mesh/service/MeshFillGenerateService.js +4 -4
  121. package/src/Mesh/service/MeshStrokeFillGenerateService.d.ts +4 -4
  122. package/src/Mesh/service/MeshStrokeFillGenerateService.js +4 -4
  123. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.d.ts +3 -3
  124. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.js +10 -3
  125. package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +2 -2
  126. package/src/Mesh/usecase/MeshFillGenerateUseCase.js +9 -2
  127. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.d.ts +3 -3
  128. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.js +10 -3
  129. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +8 -14
  130. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +214 -129
  131. package/src/PathCommand.d.ts +24 -23
  132. package/src/PathCommand.js +25 -79
  133. package/src/Shader/PipelineManager.d.ts +223 -6
  134. package/src/Shader/PipelineManager.js +308 -66
  135. package/src/Shader/ShaderInstancedManager.d.ts +17 -0
  136. package/src/Shader/ShaderInstancedManager.js +17 -0
  137. package/src/Shader/ShaderSource.d.ts +317 -12
  138. package/src/Shader/ShaderSource.js +328 -39
  139. package/src/Shader/wgsl/common/SharedWgsl.d.ts +28 -1
  140. package/src/Shader/wgsl/common/SharedWgsl.js +28 -9
  141. package/src/Shader/wgsl/fragment/BasicFragment.d.ts +14 -0
  142. package/src/Shader/wgsl/fragment/BasicFragment.js +14 -0
  143. package/src/Shader/wgsl/fragment/BitmapFragment.d.ts +7 -0
  144. package/src/Shader/wgsl/fragment/BitmapFragment.js +7 -0
  145. package/src/Shader/wgsl/fragment/EffectFragment.d.ts +42 -0
  146. package/src/Shader/wgsl/fragment/EffectFragment.js +42 -0
  147. package/src/Shader/wgsl/fragment/FillFragment.d.ts +7 -0
  148. package/src/Shader/wgsl/fragment/FillFragment.js +7 -0
  149. package/src/Shader/wgsl/fragment/FilterFragment.d.ts +70 -0
  150. package/src/Shader/wgsl/fragment/FilterFragment.js +70 -0
  151. package/src/Shader/wgsl/fragment/GradientFragment.d.ts +21 -0
  152. package/src/Shader/wgsl/fragment/GradientFragment.js +43 -8
  153. package/src/Shader/wgsl/fragment/InstancedFragment.d.ts +7 -0
  154. package/src/Shader/wgsl/fragment/InstancedFragment.js +7 -0
  155. package/src/Shader/wgsl/fragment/MaskFragment.d.ts +7 -0
  156. package/src/Shader/wgsl/fragment/MaskFragment.js +7 -0
  157. package/src/Shader/wgsl/fragment/StencilFragment.d.ts +14 -0
  158. package/src/Shader/wgsl/fragment/StencilFragment.js +14 -0
  159. package/src/Shader/wgsl/vertex/BasicVertex.d.ts +7 -0
  160. package/src/Shader/wgsl/vertex/BasicVertex.js +7 -0
  161. package/src/Shader/wgsl/vertex/BitmapVertex.d.ts +7 -0
  162. package/src/Shader/wgsl/vertex/BitmapVertex.js +7 -0
  163. package/src/Shader/wgsl/vertex/FillVertex.d.ts +7 -0
  164. package/src/Shader/wgsl/vertex/FillVertex.js +7 -0
  165. package/src/Shader/wgsl/vertex/FilterVertex.d.ts +77 -1
  166. package/src/Shader/wgsl/vertex/FilterVertex.js +135 -42
  167. package/src/Shader/wgsl/vertex/GradientVertex.d.ts +7 -0
  168. package/src/Shader/wgsl/vertex/GradientVertex.js +7 -0
  169. package/src/Shader/wgsl/vertex/InstancedVertex.d.ts +7 -0
  170. package/src/Shader/wgsl/vertex/InstancedVertex.js +7 -0
  171. package/src/Shader/wgsl/vertex/MaskVertex.d.ts +7 -0
  172. package/src/Shader/wgsl/vertex/MaskVertex.js +7 -0
  173. package/src/Shader/wgsl/vertex/StencilVertex.d.ts +14 -0
  174. package/src/Shader/wgsl/vertex/StencilVertex.js +14 -0
  175. package/src/TextureManager/service/TextureManagerInitializeSamplersService.d.ts +2 -2
  176. package/src/TextureManager/service/TextureManagerInitializeSamplersService.js +2 -2
  177. package/src/TextureManager.d.ts +36 -5
  178. package/src/TextureManager.js +36 -24
  179. package/src/TexturePool/service/TexturePoolCleanupService.d.ts +4 -4
  180. package/src/TexturePool/service/TexturePoolCleanupService.js +6 -6
  181. package/src/TexturePool/service/TexturePoolReleaseService.d.ts +4 -4
  182. package/src/TexturePool/service/TexturePoolReleaseService.js +5 -5
  183. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.d.ts +10 -10
  184. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.js +19 -18
  185. package/src/TexturePool.d.ts +36 -35
  186. package/src/TexturePool.js +44 -65
  187. package/src/WebGPUUtil.d.ts +79 -34
  188. package/src/WebGPUUtil.js +79 -36
  189. package/src/interface/IAttachmentObject.d.ts +36 -0
  190. package/src/interface/IBlendMode.d.ts +7 -0
  191. package/src/interface/IBlendState.d.ts +8 -0
  192. package/src/interface/IBounds.d.ts +23 -0
  193. package/src/interface/IColorBufferObject.d.ts +28 -0
  194. package/src/interface/IComplexBlendItem.d.ts +48 -0
  195. package/src/interface/IFilterConfig.d.ts +28 -2
  196. package/src/interface/IGradientStop.d.ts +20 -0
  197. package/src/interface/ILocalFilterConfig.d.ts +32 -2
  198. package/src/interface/IMeshResult.d.ts +8 -0
  199. package/src/interface/IPoint.d.ts +12 -0
  200. package/src/interface/IPooledTexture.d.ts +24 -0
  201. package/src/interface/IQuadraticSegment.d.ts +8 -0
  202. package/src/interface/IStencilBufferObject.d.ts +28 -0
  203. package/src/interface/IStorageBufferConfig.d.ts +8 -1
  204. package/src/interface/ITextureObject.d.ts +28 -0
  205. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.d.ts +0 -5
  206. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.js +0 -42
  207. package/src/Blend/service/BlendAddService.d.ts +0 -1
  208. package/src/Blend/service/BlendAddService.js +0 -8
  209. package/src/Blend/service/BlendAlphaService.d.ts +0 -1
  210. package/src/Blend/service/BlendAlphaService.js +0 -8
  211. package/src/Blend/service/BlendEraseService.d.ts +0 -1
  212. package/src/Blend/service/BlendEraseService.js +0 -8
  213. package/src/Blend/service/BlendGetStateService.d.ts +0 -12
  214. package/src/Blend/service/BlendGetStateService.js +0 -13
  215. package/src/Blend/service/BlendOneZeroService.d.ts +0 -1
  216. package/src/Blend/service/BlendOneZeroService.js +0 -8
  217. package/src/Blend/service/BlendResetService.d.ts +0 -1
  218. package/src/Blend/service/BlendResetService.js +0 -8
  219. package/src/Blend/service/BlendScreenService.d.ts +0 -1
  220. package/src/Blend/service/BlendScreenService.js +0 -8
  221. package/src/Blend/service/BlendSetModeService.d.ts +0 -2
  222. package/src/Blend/service/BlendSetModeService.js +0 -4
  223. package/src/Blend/usecase/BlendOperationUseCase.d.ts +0 -11
  224. package/src/Blend/usecase/BlendOperationUseCase.js +0 -31
  225. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.d.ts +0 -9
  226. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.js +0 -15
  227. package/src/Compute/ComputePipelineManager.d.ts +0 -61
  228. package/src/Compute/ComputePipelineManager.js +0 -313
  229. package/src/Compute/service/ComputeExecuteBlurService.d.ts +0 -21
  230. package/src/Compute/service/ComputeExecuteBlurService.js +0 -81
  231. package/src/Filter/BevelFilterShader.d.ts +0 -2
  232. package/src/Filter/BevelFilterShader.js +0 -107
  233. package/src/Filter/BitmapFilterShader.d.ts +0 -2
  234. package/src/Filter/BitmapFilterShader.js +0 -207
  235. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.d.ts +0 -40
  236. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.js +0 -51
  237. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.d.ts +0 -25
  238. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.js +0 -180
  239. package/src/Filter/BlurFilterShader.d.ts +0 -5
  240. package/src/Filter/BlurFilterShader.js +0 -109
  241. package/src/Filter/ColorMatrixFilterShader.d.ts +0 -4
  242. package/src/Filter/ColorMatrixFilterShader.js +0 -51
  243. package/src/Filter/ConvolutionFilterShader.d.ts +0 -2
  244. package/src/Filter/ConvolutionFilterShader.js +0 -115
  245. package/src/Filter/DisplacementMapFilterShader.d.ts +0 -2
  246. package/src/Filter/DisplacementMapFilterShader.js +0 -114
  247. package/src/Filter/DropShadowFilterShader.d.ts +0 -4
  248. package/src/Filter/DropShadowFilterShader.js +0 -93
  249. package/src/Filter/GlowFilterShader.d.ts +0 -4
  250. package/src/Filter/GlowFilterShader.js +0 -66
  251. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.d.ts +0 -11
  252. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.js +0 -19
  253. package/src/Mask/usecase/MaskBindUseCase.d.ts +0 -10
  254. package/src/Mask/usecase/MaskBindUseCase.js +0 -20
  255. package/src/Mesh/service/MeshLerpService.d.ts +0 -13
  256. package/src/Mesh/service/MeshLerpService.js +0 -17
  257. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +0 -14
  258. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +0 -28
  259. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.d.ts +0 -18
  260. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.js +0 -54
  261. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.d.ts +0 -11
  262. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.js +0 -35
  263. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.d.ts +0 -13
  264. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.js +0 -15
  265. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.d.ts +0 -15
  266. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.js +0 -30
  267. package/src/SamplerCache.d.ts +0 -18
  268. package/src/SamplerCache.js +0 -61
  269. package/src/Shader/BlendModeShader.d.ts +0 -51
  270. package/src/Shader/BlendModeShader.js +0 -71
  271. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.d.ts +0 -12
  272. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.js +0 -28
  273. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.d.ts +0 -13
  274. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.js +0 -61
  275. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.d.ts +0 -19
  276. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.js +0 -37
  277. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.d.ts +0 -11
  278. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.js +0 -24
  279. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.d.ts +0 -14
  280. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.js +0 -24
  281. package/src/Shader/wgsl/fragment/BlendFragment.d.ts +0 -8
  282. package/src/Shader/wgsl/fragment/BlendFragment.js +0 -63
  283. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.d.ts +0 -13
  284. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.js +0 -30
  285. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.d.ts +0 -15
  286. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.js +0 -26
  287. package/src/TexturePool/service/TexturePoolEvictOldestService.d.ts +0 -11
  288. package/src/TexturePool/service/TexturePoolEvictOldestService.js +0 -24
  289. package/src/interface/ICachedBindGroup.d.ts +0 -8
  290. package/src/interface/ICachedBindGroup.js +0 -1
  291. package/src/interface/IGradientLUTData.d.ts +0 -8
  292. package/src/interface/IGradientLUTData.js +0 -1
  293. package/src/interface/IPooledBuffer.d.ts +0 -8
  294. package/src/interface/IPooledBuffer.js +0 -1
  295. package/src/interface/IRectangleInfo.d.ts +0 -13
  296. package/src/interface/IRectangleInfo.js +0 -1
@@ -4,16 +4,20 @@ import { execute as bufferManagerAcquireUniformBufferUseCase } from "./BufferMan
4
4
  import { execute as bufferManagerReleaseVertexBufferService } from "./BufferManager/service/BufferManagerReleaseVertexBufferService";
5
5
  import { execute as bufferManagerReleaseUniformBufferService } from "./BufferManager/service/BufferManagerReleaseUniformBufferService";
6
6
  import { execute as bufferManagerAcquireStorageBufferUseCase } from "./BufferManager/usecase/BufferManagerAcquireStorageBufferUseCase";
7
- import { execute as releaseStorageBufferUseCase } from "./BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase";
8
7
  import { execute as cleanupStorageBuffersUseCase } from "./BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase";
9
8
  import { execute as bufferManagerCreateIndirectBufferService } from "./BufferManager/service/BufferManagerCreateIndirectBufferService";
10
9
  import { execute as updateIndirectBuffer } from "./BufferManager/service/BufferManagerUpdateIndirectBufferService";
11
10
  /**
12
- * @description Dynamic Uniform Buffer Allocator
13
- * 1フレーム内の全fill uniform データを1本の大バッファにサブアロケートし、
14
- * BindGroup作成を1回に削減する。
11
+ * @description 動的Uniformバッファアロケータ。1フレーム内の全uniformデータを1本の大バッファにサブアロケートし、BindGroup作成を1回に削減
12
+ * Dynamic Uniform Buffer Allocator. Sub-allocates all uniform data within a frame into a single large buffer, reducing BindGroup creation to once
15
13
  */
16
14
  export class DynamicUniformAllocator {
15
+ /**
16
+ * @description コンストラクタ。GPUデバイスとバッファ容量を設定
17
+ * Constructor. Sets up GPU device and buffer capacity
18
+ * @param {GPUDevice} device - WebGPUデバイス
19
+ * @param {number} capacity - 初期バッファ容量(バイト単位、デフォルト: 65536)
20
+ */
17
21
  constructor(device, capacity = 65536) {
18
22
  Object.defineProperty(this, "device", {
19
23
  enumerable: true,
@@ -75,8 +79,9 @@ export class DynamicUniformAllocator {
75
79
  this.stagingFloat32 = new Float32Array(this.stagingBuffer);
76
80
  }
77
81
  /**
78
- * @description フレーム開始時にオフセットをリセット
79
- * 前フレームの旧バッファを安全に破棄(submit済みのため)
82
+ * @description フレーム開始時にオフセットをリセットし、前フレームの旧バッファを安全に破棄
83
+ * Reset offset at frame start and safely destroy old buffers from previous frame
84
+ * @return {void}
80
85
  */
81
86
  resetFrame() {
82
87
  this.offset = 0;
@@ -88,6 +93,8 @@ export class DynamicUniformAllocator {
88
93
  }
89
94
  /**
90
95
  * @description バッファを取得(遅延生成)
96
+ * Get buffer with lazy initialization
97
+ * @return {GPUBuffer} GPUバッファ
91
98
  */
92
99
  getBuffer() {
93
100
  if (!this.buffer) {
@@ -99,10 +106,10 @@ export class DynamicUniformAllocator {
99
106
  return this.buffer;
100
107
  }
101
108
  /**
102
- * @description uniform データをCPUステージングバッファにコピーし、アライメント済みオフセットを返す
103
- * 実際のGPU書き込みはflush()で一括実行される
104
- * @param data - 書き込むデータ
105
- * @return アライメント済みオフセット(バイト単位)
109
+ * @description uniformデータをCPUステージングバッファにコピーし、アライメント済みオフセットを返す。実際のGPU書き込みはflush()で一括実行
110
+ * Copy uniform data to CPU staging buffer and return aligned offset. Actual GPU write is batched in flush()
111
+ * @param {Float32Array} data - 書き込むデータ
112
+ * @return {number} アライメント済みオフセット(バイト単位)
106
113
  */
107
114
  allocate(data) {
108
115
  // バッファの遅延生成
@@ -142,8 +149,9 @@ export class DynamicUniformAllocator {
142
149
  return alignedOffset;
143
150
  }
144
151
  /**
145
- * @description ステージングバッファの内容をGPUバッファに一括書き込み
146
- * submit前に1回だけ呼び出す
152
+ * @description ステージングバッファの内容をGPUバッファに一括書き込み。submit前に1回だけ呼び出す
153
+ * Flush staging buffer content to GPU buffer in bulk. Call once before submit
154
+ * @return {void}
147
155
  */
148
156
  flush() {
149
157
  if (this.dirtyEnd > 0 && this.buffer) {
@@ -151,6 +159,11 @@ export class DynamicUniformAllocator {
151
159
  this.dirtyEnd = 0;
152
160
  }
153
161
  }
162
+ /**
163
+ * @description バッファを破棄してリソースを解放
164
+ * Dispose buffers and release resources
165
+ * @return {void}
166
+ */
154
167
  dispose() {
155
168
  if (this.buffer) {
156
169
  this.buffer.destroy();
@@ -162,7 +175,16 @@ export class DynamicUniformAllocator {
162
175
  this.pendingDestroyBuffers.length = 0;
163
176
  }
164
177
  }
178
+ /**
179
+ * @description GPUバッファの管理クラス。頂点・ユニフォーム・ストレージ・インダイレクトバッファのプール管理と再利用を提供
180
+ * GPU buffer management class. Provides pooling and reuse for vertex, uniform, storage, and indirect buffers
181
+ */
165
182
  export class BufferManager {
183
+ /**
184
+ * @description コンストラクタ。GPUデバイスを設定し、各種バッファプールを初期化
185
+ * Constructor. Sets up GPU device and initializes buffer pools
186
+ * @param {GPUDevice} device - WebGPUデバイス
187
+ */
166
188
  constructor(device) {
167
189
  Object.defineProperty(this, "device", {
168
190
  enumerable: true,
@@ -170,18 +192,6 @@ export class BufferManager {
170
192
  writable: true,
171
193
  value: void 0
172
194
  });
173
- Object.defineProperty(this, "vertexBuffers", {
174
- enumerable: true,
175
- configurable: true,
176
- writable: true,
177
- value: void 0
178
- });
179
- Object.defineProperty(this, "uniformBuffers", {
180
- enumerable: true,
181
- configurable: true,
182
- writable: true,
183
- value: void 0
184
- });
185
195
  Object.defineProperty(this, "vertexBufferBuckets", {
186
196
  enumerable: true,
187
197
  configurable: true,
@@ -200,12 +210,6 @@ export class BufferManager {
200
210
  writable: true,
201
211
  value: void 0
202
212
  });
203
- Object.defineProperty(this, "indirectBuffer", {
204
- enumerable: true,
205
- configurable: true,
206
- writable: true,
207
- value: void 0
208
- });
209
213
  Object.defineProperty(this, "indirectBufferPool", {
210
214
  enumerable: true,
211
215
  configurable: true,
@@ -249,12 +253,9 @@ export class BufferManager {
249
253
  value: void 0
250
254
  });
251
255
  this.device = device;
252
- this.vertexBuffers = new Map();
253
- this.uniformBuffers = new Map();
254
256
  this.vertexBufferBuckets = new Map();
255
257
  this.uniformBufferBuckets = new Map();
256
258
  this.storageBufferPool = [];
257
- this.indirectBuffer = null;
258
259
  this.indirectBufferPool = [];
259
260
  this.frameIndirectBuffers = [];
260
261
  this.frameNumber = 0;
@@ -263,90 +264,60 @@ export class BufferManager {
263
264
  this.frameUniformPoolBuffers = [];
264
265
  this.dynamicUniform = new DynamicUniformAllocator(device);
265
266
  }
266
- createVertexBuffer(name, data) {
267
- const buffer = this.device.createBuffer({
268
- "size": data.byteLength,
269
- "usage": GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
270
- "mappedAtCreation": true
271
- });
272
- new Float32Array(buffer.getMappedRange()).set(data);
273
- buffer.unmap();
274
- this.vertexBuffers.set(name, buffer);
275
- return buffer;
276
- }
277
- createUniformBuffer(name, size) {
278
- const buffer = this.device.createBuffer({
279
- "size": size,
280
- "usage": GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST
281
- });
282
- this.uniformBuffers.set(name, buffer);
283
- return buffer;
284
- }
285
- updateUniformBuffer(name, data) {
286
- const buffer = this.uniformBuffers.get(name);
287
- if (buffer) {
288
- this.device.queue.writeBuffer(buffer, 0, data.buffer, data.byteOffset, data.byteLength);
289
- }
290
- }
291
- getVertexBuffer(name) {
292
- return this.vertexBuffers.get(name);
293
- }
294
- getUniformBuffer(name) {
295
- return this.uniformBuffers.get(name);
296
- }
267
+ /**
268
+ * @description 矩形の頂点データを作成
269
+ * Create rect vertices data
270
+ * @param {number} x - X座標
271
+ * @param {number} y - Y座標
272
+ * @param {number} width - 幅
273
+ * @param {number} height - 高さ
274
+ * @return {Float32Array} 矩形の頂点データ
275
+ */
297
276
  createRectVertices(x, y, width, height) {
298
277
  return bufferManagerCreateRectVerticesService(x, y, width, height);
299
278
  }
300
- acquireVertexBuffer(requiredSize, data) {
301
- const buffer = bufferManagerAcquireVertexBufferUseCase(this.device, this.vertexBufferBuckets, requiredSize, data);
279
+ /**
280
+ * @description プールから頂点バッファを取得(または新規作成)
281
+ * Acquire vertex buffer from pool or create new one
282
+ * @param {number} required_size - 必要なバイトサイズ
283
+ * @param {Float32Array} [data] - 初期データ
284
+ * @return {GPUBuffer} 取得された頂点バッファ
285
+ */
286
+ acquireVertexBuffer(required_size, data) {
287
+ const buffer = bufferManagerAcquireVertexBufferUseCase(this.device, this.vertexBufferBuckets, required_size, data);
302
288
  this.frameVertexPoolBuffers.push(buffer);
303
289
  return buffer;
304
290
  }
305
- releaseVertexBuffer(buffer) {
306
- bufferManagerReleaseVertexBufferService(this.vertexBufferBuckets, buffer);
307
- }
308
- acquireUniformBuffer(requiredSize) {
309
- const buffer = bufferManagerAcquireUniformBufferUseCase(this.device, this.uniformBufferBuckets, requiredSize);
291
+ /**
292
+ * @description プールからユニフォームバッファを取得(または新規作成)
293
+ * Acquire uniform buffer from pool or create new one
294
+ * @param {number} required_size - 必要なバイトサイズ
295
+ * @return {GPUBuffer} 取得されたユニフォームバッファ
296
+ */
297
+ acquireUniformBuffer(required_size) {
298
+ const buffer = bufferManagerAcquireUniformBufferUseCase(this.device, this.uniformBufferBuckets, required_size);
310
299
  this.frameUniformPoolBuffers.push(buffer);
311
300
  return buffer;
312
301
  }
313
302
  /**
314
303
  * @description Uniform Bufferの取得と書き込みを一括で行うヘルパー
315
- * acquireUniformBuffer + writeBuffer の2ステップを1呼び出しに統合
316
- * @param data - 書き込むデータ
317
- * @param byteLength - 書き込みバイト数(省略時はdata.byteLength)
318
- * @return GPUBuffer
304
+ * Helper to acquire and write uniform buffer in one call, combining acquireUniformBuffer + writeBuffer
305
+ * @param {Float32Array} data - 書き込むデータ
306
+ * @param {number} [byte_length] - 書き込みバイト数(省略時はdata.byteLength)
307
+ * @return {GPUBuffer} 取得されたユニフォームバッファ
319
308
  */
320
- acquireAndWriteUniformBuffer(data, byteLength) {
321
- const writeBytes = byteLength ?? data.byteLength;
309
+ acquireAndWriteUniformBuffer(data, byte_length) {
310
+ const writeBytes = byte_length ?? data.byteLength;
322
311
  const buffer = this.acquireUniformBuffer(writeBytes);
323
312
  this.device.queue.writeBuffer(buffer, 0, data.buffer, data.byteOffset, writeBytes);
324
313
  return buffer;
325
314
  }
326
- releaseUniformBuffer(buffer) {
327
- bufferManagerReleaseUniformBufferService(this.uniformBufferBuckets, buffer);
328
- }
329
- destroyBuffer(name) {
330
- const vertexBuffer = this.vertexBuffers.get(name);
331
- if (vertexBuffer) {
332
- vertexBuffer.destroy();
333
- this.vertexBuffers.delete(name);
334
- }
335
- const uniformBuffer = this.uniformBuffers.get(name);
336
- if (uniformBuffer) {
337
- uniformBuffer.destroy();
338
- this.uniformBuffers.delete(name);
339
- }
340
- }
315
+ /**
316
+ * @description 全バッファを破棄してリソースを解放
317
+ * Dispose all buffers and release resources
318
+ * @return {void}
319
+ */
341
320
  dispose() {
342
- for (const buffer of this.vertexBuffers.values()) {
343
- buffer.destroy();
344
- }
345
- this.vertexBuffers.clear();
346
- for (const buffer of this.uniformBuffers.values()) {
347
- buffer.destroy();
348
- }
349
- this.uniformBuffers.clear();
350
321
  for (const bucket of this.vertexBufferBuckets.values()) {
351
322
  for (const buffer of bucket) {
352
323
  buffer.destroy();
@@ -363,10 +334,6 @@ export class BufferManager {
363
334
  entry.buffer.destroy();
364
335
  }
365
336
  this.storageBufferPool = [];
366
- if (this.indirectBuffer) {
367
- this.indirectBuffer.destroy();
368
- this.indirectBuffer = null;
369
- }
370
337
  for (const buffer of this.indirectBufferPool) {
371
338
  buffer.destroy();
372
339
  }
@@ -383,29 +350,12 @@ export class BufferManager {
383
350
  this.frameUniformPoolBuffers.length = 0;
384
351
  this.dynamicUniform.dispose();
385
352
  }
386
- getPoolStats() {
387
- let vertexCount = 0;
388
- for (const bucket of this.vertexBufferBuckets.values()) {
389
- vertexCount += bucket.length;
390
- }
391
- let uniformCount = 0;
392
- for (const bucket of this.uniformBufferBuckets.values()) {
393
- uniformCount += bucket.length;
394
- }
395
- return {
396
- "vertexPoolSize": vertexCount,
397
- "uniformPoolSize": uniformCount
398
- };
399
- }
353
+ /**
354
+ * @description フレーム内で使用したバッファをクリアし、プールに返却
355
+ * Clear frame buffers and return them to pool
356
+ * @return {void}
357
+ */
400
358
  clearFrameBuffers() {
401
- for (const buffer of this.vertexBuffers.values()) {
402
- buffer.destroy();
403
- }
404
- this.vertexBuffers.clear();
405
- for (const buffer of this.uniformBuffers.values()) {
406
- buffer.destroy();
407
- }
408
- this.uniformBuffers.clear();
409
359
  // フレーム内で取得したプールバッファをプールに返却
410
360
  for (const buffer of this.frameVertexPoolBuffers) {
411
361
  bufferManagerReleaseVertexBufferService(this.vertexBufferBuckets, buffer);
@@ -427,40 +377,60 @@ export class BufferManager {
427
377
  cleanupStorageBuffersUseCase(this.storageBufferPool, this.frameNumber);
428
378
  }
429
379
  }
380
+ /**
381
+ * @description 全てのStorage Bufferを未使用状態に戻す
382
+ * Mark all storage buffers as not in use
383
+ * @return {void}
384
+ */
430
385
  releaseAllStorageBuffers() {
431
386
  for (const entry of this.storageBufferPool) {
432
387
  entry.inUse = false;
433
388
  }
434
389
  }
435
- acquireStorageBuffer(requiredSize) {
436
- return bufferManagerAcquireStorageBufferUseCase(this.device, this.storageBufferPool, requiredSize, this.frameNumber);
437
- }
438
- releaseStorageBuffer(buffer) {
439
- releaseStorageBufferUseCase(this.storageBufferPool, buffer);
390
+ /**
391
+ * @description プールからStorage Bufferを取得(または新規作成)
392
+ * Acquire storage buffer from pool or create new one
393
+ * @param {number} required_size - 必要なバイトサイズ
394
+ * @return {GPUBuffer} 取得されたStorage Buffer
395
+ */
396
+ acquireStorageBuffer(required_size) {
397
+ return bufferManagerAcquireStorageBufferUseCase(this.device, this.storageBufferPool, required_size, this.frameNumber);
440
398
  }
399
+ /**
400
+ * @description Storage Bufferにデータを書き込む
401
+ * Write data to storage buffer
402
+ * @param {GPUBuffer} buffer - 書き込み先バッファ
403
+ * @param {Float32Array | Uint32Array} data - 書き込むデータ
404
+ * @return {void}
405
+ */
441
406
  writeStorageBuffer(buffer, data) {
442
407
  this.device.queue.writeBuffer(buffer, 0, data.buffer, data.byteOffset, data.byteLength);
443
408
  }
444
- getOrCreateIndirectBuffer(vertexCount, instanceCount, firstVertex = 0, firstInstance = 0) {
445
- if (!this.indirectBuffer) {
446
- this.indirectBuffer = bufferManagerCreateIndirectBufferService(this.device, vertexCount, instanceCount, firstVertex, firstInstance);
447
- }
448
- else {
449
- updateIndirectBuffer(this.device, this.indirectBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
450
- }
451
- return this.indirectBuffer;
452
- }
453
- createIndirectBuffer(vertexCount, instanceCount, firstVertex = 0, firstInstance = 0) {
409
+ /**
410
+ * @description 新しいIndirect Bufferを作成(プールから再利用または新規作成)
411
+ * Create new indirect buffer (reuse from pool or create new)
412
+ * @param {number} vertex_count - 頂点数
413
+ * @param {number} instance_count - インスタンス数
414
+ * @param {number} first_vertex - 開始頂点インデックス
415
+ * @param {number} first_instance - 開始インスタンスインデックス
416
+ * @return {GPUBuffer} 作成されたIndirect Buffer
417
+ */
418
+ createIndirectBuffer(vertex_count, instance_count, first_vertex = 0, first_instance = 0) {
454
419
  let buffer = this.indirectBufferPool.pop();
455
420
  if (buffer) {
456
- updateIndirectBuffer(this.device, buffer, vertexCount, instanceCount, firstVertex, firstInstance);
421
+ updateIndirectBuffer(this.device, buffer, vertex_count, instance_count, first_vertex, first_instance);
457
422
  }
458
423
  else {
459
- buffer = bufferManagerCreateIndirectBufferService(this.device, vertexCount, instanceCount, firstVertex, firstInstance);
424
+ buffer = bufferManagerCreateIndirectBufferService(this.device, vertex_count, instance_count, first_vertex, first_instance);
460
425
  }
461
426
  this.frameIndirectBuffers.push(buffer);
462
427
  return buffer;
463
428
  }
429
+ /**
430
+ * @description 単位矩形(0,0,1,1)の頂点バッファを取得(遅延生成)
431
+ * Get unit rect (0,0,1,1) vertex buffer with lazy creation
432
+ * @return {GPUBuffer} 単位矩形の頂点バッファ
433
+ */
464
434
  getUnitRectBuffer() {
465
435
  if (!this.unitRectBuffer) {
466
436
  const vertices = this.createRectVertices(0, 0, 1, 1);
@@ -474,14 +444,4 @@ export class BufferManager {
474
444
  }
475
445
  return this.unitRectBuffer;
476
446
  }
477
- getFrameNumber() {
478
- return this.frameNumber;
479
- }
480
- getStoragePoolStats() {
481
- const inUse = this.storageBufferPool.filter((e) => e.inUse).length;
482
- return {
483
- "storagePoolSize": this.storageBufferPool.length,
484
- "storagePoolInUse": inUse
485
- };
486
- }
487
447
  }
@@ -1 +1,8 @@
1
+ /**
2
+ * @description ビットマップ行列とコンテキスト行列からテクスチャマッピング用の逆行列を計算する
3
+ * Computes the inverse matrix for texture mapping from bitmap and context matrices
4
+ * @param {Float32Array} bitmap_matrix ビットマップ変換行列 / Bitmap transformation matrix
5
+ * @param {Float32Array} context_matrix コンテキスト変換行列 / Context transformation matrix
6
+ * @return {Float32Array} 列優先形式の3x3逆行列 / Column-major 3x3 inverse matrix
7
+ */
1
8
  export declare const execute: (bitmap_matrix: Float32Array, context_matrix: Float32Array) => Float32Array;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * @description ビットマップ行列とコンテキスト行列からテクスチャマッピング用の逆行列を計算する
3
+ * Computes the inverse matrix for texture mapping from bitmap and context matrices
4
+ * @param {Float32Array} bitmap_matrix ビットマップ変換行列 / Bitmap transformation matrix
5
+ * @param {Float32Array} context_matrix コンテキスト変換行列 / Context transformation matrix
6
+ * @return {Float32Array} 列優先形式の3x3逆行列 / Column-major 3x3 inverse matrix
7
+ */
1
8
  export const execute = (bitmap_matrix, context_matrix) => {
2
9
  // ビットマップ行列 [a, b, c, d, tx, ty]
3
10
  const ba = bitmap_matrix[0];
@@ -1,4 +1,12 @@
1
- export declare const execute: (gradientMatrix: Float32Array, _contextMatrix: Float32Array, type: number) => {
1
+ /**
2
+ * @description グラデーション行列からグラデーション描画用の逆行列とリニアポイントを計算する
3
+ * Computes inverse matrix and linear points for gradient rendering from gradient matrix
4
+ * @param {Float32Array} gradient_matrix グラデーション変換行列 / Gradient transformation matrix
5
+ * @param {Float32Array} _context_matrix コンテキスト変換行列(未使用) / Context transformation matrix (unused)
6
+ * @param {number} type グラデーションタイプ (0: linear, 1: radial) / Gradient type (0: linear, 1: radial)
7
+ * @return {{ inverseMatrix: Float32Array; linearPoints: Float32Array | null }} 逆行列とリニアポイント / Inverse matrix and linear points
8
+ */
9
+ export declare const execute: (gradient_matrix: Float32Array, _context_matrix: Float32Array, type: number) => {
2
10
  inverseMatrix: Float32Array;
3
11
  linearPoints: Float32Array | null;
4
12
  };
@@ -1,11 +1,19 @@
1
- export const execute = (gradientMatrix, _contextMatrix, type) => {
1
+ /**
2
+ * @description グラデーション行列からグラデーション描画用の逆行列とリニアポイントを計算する
3
+ * Computes inverse matrix and linear points for gradient rendering from gradient matrix
4
+ * @param {Float32Array} gradient_matrix グラデーション変換行列 / Gradient transformation matrix
5
+ * @param {Float32Array} _context_matrix コンテキスト変換行列(未使用) / Context transformation matrix (unused)
6
+ * @param {number} type グラデーションタイプ (0: linear, 1: radial) / Gradient type (0: linear, 1: radial)
7
+ * @return {{ inverseMatrix: Float32Array; linearPoints: Float32Array | null }} 逆行列とリニアポイント / Inverse matrix and linear points
8
+ */
9
+ export const execute = (gradient_matrix, _context_matrix, type) => {
2
10
  // グラデーション行列
3
- const ga = gradientMatrix[0];
4
- const gb = gradientMatrix[1];
5
- const gc = gradientMatrix[2];
6
- const gd = gradientMatrix[3];
7
- const gtx = gradientMatrix[4];
8
- const gty = gradientMatrix[5];
11
+ const ga = gradient_matrix[0];
12
+ const gb = gradient_matrix[1];
13
+ const gc = gradient_matrix[2];
14
+ const gd = gradient_matrix[3];
15
+ const gtx = gradient_matrix[4];
16
+ const gty = gradient_matrix[5];
9
17
  if (type === 0) {
10
18
  // === Linear gradient ===
11
19
  // WebGL版と同じ: $linearGradientXY(matrix)で点a, bを計算
@@ -1,2 +1,16 @@
1
1
  import type { PipelineManager } from "../../Shader/PipelineManager";
2
+ /**
3
+ * @description シンプルなフィル描画を実行する
4
+ * Executes simple fill rendering
5
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
6
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
7
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
8
+ * @param {number} vertex_count 頂点数 / Vertex count
9
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
10
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
11
+ * @param {boolean} use_atlas_target アトラスターゲット使用フラグ / Whether to use atlas target
12
+ * @param {boolean} use_stencil_pipeline ステンシルパイプライン使用フラグ / Whether to use stencil pipeline
13
+ * @param {number} _clip_level クリップレベル(未使用) / Clip level (unused)
14
+ * @return {void}
15
+ */
2
16
  export declare const execute: (render_pass_encoder: GPURenderPassEncoder, pipeline_manager: PipelineManager, vertex_buffer: GPUBuffer, vertex_count: number, bind_group: GPUBindGroup, uniform_offset: number, use_atlas_target: boolean, use_stencil_pipeline?: boolean, _clip_level?: number) => void;
@@ -1,4 +1,18 @@
1
1
  import { $isMaskDrawing, $getMaskStencilReference } from "../../Mask";
2
+ /**
3
+ * @description シンプルなフィル描画を実行する
4
+ * Executes simple fill rendering
5
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
6
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
7
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
8
+ * @param {number} vertex_count 頂点数 / Vertex count
9
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
10
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
11
+ * @param {boolean} use_atlas_target アトラスターゲット使用フラグ / Whether to use atlas target
12
+ * @param {boolean} use_stencil_pipeline ステンシルパイプライン使用フラグ / Whether to use stencil pipeline
13
+ * @param {number} _clip_level クリップレベル(未使用) / Clip level (unused)
14
+ * @return {void}
15
+ */
2
16
  export const execute = (render_pass_encoder, pipeline_manager, vertex_buffer, vertex_count, bind_group, uniform_offset, use_atlas_target, use_stencil_pipeline = false, _clip_level = 1) => {
3
17
  let pipelineName;
4
18
  if (use_atlas_target) {
@@ -1,2 +1,13 @@
1
1
  import type { PipelineManager } from "../../Shader/PipelineManager";
2
+ /**
3
+ * @description メインキャンバス向けのステンシル書き込みとフィル描画を2パスで実行する
4
+ * Executes two-pass stencil write and fill rendering for the main canvas
5
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
6
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
7
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
8
+ * @param {number} vertex_count 頂点数 / Vertex count
9
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
10
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
11
+ * @return {void}
12
+ */
2
13
  export declare const execute: (render_pass_encoder: GPURenderPassEncoder, pipeline_manager: PipelineManager, vertex_buffer: GPUBuffer, vertex_count: number, bind_group: GPUBindGroup, uniform_offset: number) => void;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * @description メインキャンバス向けのステンシル書き込みとフィル描画を2パスで実行する
3
+ * Executes two-pass stencil write and fill rendering for the main canvas
4
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
5
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
6
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
7
+ * @param {number} vertex_count 頂点数 / Vertex count
8
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
9
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
10
+ * @return {void}
11
+ */
1
12
  export const execute = (render_pass_encoder, pipeline_manager, vertex_buffer, vertex_count, bind_group, uniform_offset) => {
2
13
  // === Pass 1: ステンシル書き込み(両面を1回で処理) ===
3
14
  const stencilWritePipeline = pipeline_manager.getPipeline("stencil_write_main");
@@ -1,2 +1,13 @@
1
1
  import type { PipelineManager } from "../../Shader/PipelineManager";
2
+ /**
3
+ * @description アトラスターゲット向けのステンシル書き込みとフィル描画を2パスで実行する
4
+ * Executes two-pass stencil write and fill rendering for the atlas target
5
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
6
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
7
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
8
+ * @param {number} vertex_count 頂点数 / Vertex count
9
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
10
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
11
+ * @return {void}
12
+ */
2
13
  export declare const execute: (render_pass_encoder: GPURenderPassEncoder, pipeline_manager: PipelineManager, vertex_buffer: GPUBuffer, vertex_count: number, bind_group: GPUBindGroup, uniform_offset: number) => void;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * @description アトラスターゲット向けのステンシル書き込みとフィル描画を2パスで実行する
3
+ * Executes two-pass stencil write and fill rendering for the atlas target
4
+ * @param {GPURenderPassEncoder} render_pass_encoder レンダーパスエンコーダ / Render pass encoder
5
+ * @param {PipelineManager} pipeline_manager パイプラインマネージャ / Pipeline manager
6
+ * @param {GPUBuffer} vertex_buffer 頂点バッファ / Vertex buffer
7
+ * @param {number} vertex_count 頂点数 / Vertex count
8
+ * @param {GPUBindGroup} bind_group バインドグループ / Bind group
9
+ * @param {number} uniform_offset ユニフォームオフセット / Uniform offset
10
+ * @return {void}
11
+ */
1
12
  export const execute = (render_pass_encoder, pipeline_manager, vertex_buffer, vertex_count, bind_group, uniform_offset) => {
2
13
  // === Pass 1: ステンシル書き込み(両面を1回で処理) ===
3
14
  const stencilWritePipeline = pipeline_manager.getPipeline("stencil_write_atlas");
@@ -2,4 +2,21 @@ import type { Node } from "@next2d/texture-packer";
2
2
  import type { IBlendMode } from "../../interface/IBlendMode";
3
3
  import type { ILocalFilterConfig } from "../../interface/ILocalFilterConfig";
4
4
  import type { BufferManager } from "../../BufferManager";
5
+ /**
6
+ * @description フィルターを適用してメインキャンバスに描画する
7
+ * Applies filters and draws the result to the main canvas
8
+ * @param {Node} node テクスチャパッカーノード / Texture packer node
9
+ * @param {number} width 幅 / Width
10
+ * @param {number} height 高さ / Height
11
+ * @param {boolean} is_bitmap ビットマップフラグ / Whether the source is a bitmap
12
+ * @param {Float32Array} matrix 変換行列 / Transformation matrix
13
+ * @param {Float32Array} color_transform カラートランスフォーム配列 / Color transform array
14
+ * @param {IBlendMode} blend_mode ブレンドモード / Blend mode
15
+ * @param {Float32Array} bounds バウンディングボックス / Bounding box
16
+ * @param {Float32Array} params フィルターパラメータ配列 / Filter parameters array
17
+ * @param {ILocalFilterConfig} config フィルター設定 / Filter configuration
18
+ * @param {GPUTextureView} main_texture_view メインテクスチャビュー / Main texture view
19
+ * @param {BufferManager} buffer_manager バッファマネージャ / Buffer manager
20
+ * @return {void}
21
+ */
5
22
  export declare const execute: (node: Node, width: number, height: number, is_bitmap: boolean, matrix: Float32Array, color_transform: Float32Array, blend_mode: IBlendMode, bounds: Float32Array, params: Float32Array, config: ILocalFilterConfig, main_texture_view: GPUTextureView, buffer_manager: BufferManager) => void;