@next2d/webgpu 3.0.5 → 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
@@ -3,9 +3,29 @@
3
3
  * Gradient stop type definition
4
4
  */
5
5
  export interface IGradientStop {
6
+ /**
7
+ * @description グラデーション位置(0.0〜1.0)
8
+ * Gradient position ratio (0.0 to 1.0)
9
+ */
6
10
  ratio: number;
11
+ /**
12
+ * @description 赤チャンネル値(0〜255)
13
+ * Red channel value (0 to 255)
14
+ */
7
15
  r: number;
16
+ /**
17
+ * @description 緑チャンネル値(0〜255)
18
+ * Green channel value (0 to 255)
19
+ */
8
20
  g: number;
21
+ /**
22
+ * @description 青チャンネル値(0〜255)
23
+ * Blue channel value (0 to 255)
24
+ */
9
25
  b: number;
26
+ /**
27
+ * @description アルファチャンネル値(0〜255)
28
+ * Alpha channel value (0 to 255)
29
+ */
10
30
  a: number;
11
31
  }
@@ -3,19 +3,49 @@ import type { BufferManager } from "../BufferManager";
3
3
  import type { FrameBufferManager } from "../FrameBufferManager";
4
4
  import type { PipelineManager } from "../Shader/PipelineManager";
5
5
  import type { TextureManager } from "../TextureManager";
6
- import type { ComputePipelineManager } from "../Compute/ComputePipelineManager";
7
6
  /**
8
7
  * @description フィルター適用時のローカル設定(ContextApplyFilterUseCase用)
9
8
  * Local filter configuration for ContextApplyFilterUseCase
10
9
  */
11
10
  export interface ILocalFilterConfig {
11
+ /**
12
+ * @description GPUデバイス
13
+ * GPU device instance
14
+ */
12
15
  device: GPUDevice;
16
+ /**
17
+ * @description GPUコマンドエンコーダー
18
+ * GPU command encoder
19
+ */
13
20
  commandEncoder: GPUCommandEncoder;
21
+ /**
22
+ * @description バッファマネージャー
23
+ * Buffer manager instance
24
+ */
14
25
  bufferManager: BufferManager;
26
+ /**
27
+ * @description フレームバッファマネージャー
28
+ * Frame buffer manager instance
29
+ */
15
30
  frameBufferManager: FrameBufferManager;
31
+ /**
32
+ * @description パイプラインマネージャー
33
+ * Pipeline manager instance
34
+ */
16
35
  pipelineManager: PipelineManager;
36
+ /**
37
+ * @description テクスチャマネージャー
38
+ * Texture manager instance
39
+ */
17
40
  textureManager: TextureManager;
41
+ /**
42
+ * @description メインのアタッチメントオブジェクト(任意)
43
+ * Main attachment object (optional)
44
+ */
18
45
  mainAttachment?: IAttachmentObject;
19
- computePipelineManager?: ComputePipelineManager;
46
+ /**
47
+ * @description フレームテクスチャの配列
48
+ * Array of frame textures
49
+ */
20
50
  frameTextures: GPUTexture[];
21
51
  }
@@ -3,6 +3,14 @@
3
3
  * Common interface for mesh generation results
4
4
  */
5
5
  export interface IMeshResult {
6
+ /**
7
+ * @description 頂点データバッファ
8
+ * Vertex data buffer
9
+ */
6
10
  buffer: Float32Array;
11
+ /**
12
+ * @description インデックスの数(描画する三角形の頂点数)
13
+ * Number of indices (vertex count for drawing triangles)
14
+ */
7
15
  indexCount: number;
8
16
  }
@@ -1,4 +1,16 @@
1
+ /**
2
+ * @description 2D座標点のインターフェース
3
+ * 2D coordinate point interface
4
+ */
1
5
  export interface IPoint {
6
+ /**
7
+ * @description X座標
8
+ * X coordinate
9
+ */
2
10
  x: number;
11
+ /**
12
+ * @description Y座標
13
+ * Y coordinate
14
+ */
3
15
  y: number;
4
16
  }
@@ -3,11 +3,35 @@
3
3
  * Pooled texture interface
4
4
  */
5
5
  export interface IPooledTexture {
6
+ /**
7
+ * @description GPUテクスチャリソース
8
+ * GPU texture resource
9
+ */
6
10
  texture: GPUTexture;
11
+ /**
12
+ * @description テクスチャの幅(ピクセル)
13
+ * Width of the texture in pixels
14
+ */
7
15
  width: number;
16
+ /**
17
+ * @description テクスチャの高さ(ピクセル)
18
+ * Height of the texture in pixels
19
+ */
8
20
  height: number;
21
+ /**
22
+ * @description テクスチャフォーマット
23
+ * Texture format
24
+ */
9
25
  format: GPUTextureFormat;
26
+ /**
27
+ * @description 最後に使用されたフレーム番号
28
+ * Last frame number when this texture was used
29
+ */
10
30
  lastUsedFrame: number;
31
+ /**
32
+ * @description 使用中フラグ
33
+ * Whether this texture is currently in use
34
+ */
11
35
  inUse: boolean;
12
36
  }
13
37
  /**
@@ -4,6 +4,14 @@ import type { IPoint } from "./IPoint";
4
4
  * Quadratic bezier segment approximation
5
5
  */
6
6
  export interface IQuadraticSegment {
7
+ /**
8
+ * @description 制御点
9
+ * Control point
10
+ */
7
11
  ctrl: IPoint;
12
+ /**
13
+ * @description 終点
14
+ * End point
15
+ */
8
16
  end: IPoint;
9
17
  }
@@ -6,11 +6,39 @@
6
6
  * リソースはGPUTextureを使用します。
7
7
  */
8
8
  export interface IStencilBufferObject {
9
+ /**
10
+ * @description ステンシルバッファの一意な識別子
11
+ * Unique identifier for the stencil buffer
12
+ */
9
13
  id: number;
14
+ /**
15
+ * @description GPUテクスチャリソース
16
+ * GPU texture resource
17
+ */
10
18
  resource: GPUTexture;
19
+ /**
20
+ * @description テクスチャビュー(レンダーパスへのアタッチ用)
21
+ * Texture view for attaching to render passes
22
+ */
11
23
  view: GPUTextureView;
24
+ /**
25
+ * @description ステンシルバッファの幅(ピクセル)
26
+ * Width of the stencil buffer in pixels
27
+ */
12
28
  width: number;
29
+ /**
30
+ * @description ステンシルバッファの高さ(ピクセル)
31
+ * Height of the stencil buffer in pixels
32
+ */
13
33
  height: number;
34
+ /**
35
+ * @description バッファの面積(width × height)
36
+ * Area of the buffer (width × height)
37
+ */
14
38
  area: number;
39
+ /**
40
+ * @description バッファが変更されたかどうか
41
+ * Whether the buffer has been modified
42
+ */
15
43
  dirty: boolean;
16
44
  }
@@ -5,14 +5,17 @@
5
5
  export interface IStorageBufferConfig {
6
6
  /**
7
7
  * @description バッファサイズ(バイト)
8
+ * Buffer size in bytes
8
9
  */
9
10
  size: number;
10
11
  /**
11
- * @description 使用目的
12
+ * @description 使用目的フラグ
13
+ * Usage flags for the buffer
12
14
  */
13
15
  usage: GPUBufferUsageFlags;
14
16
  /**
15
17
  * @description ラベル(デバッグ用)
18
+ * Label for debugging purposes
16
19
  */
17
20
  label?: string;
18
21
  }
@@ -23,18 +26,22 @@ export interface IStorageBufferConfig {
23
26
  export interface IPooledStorageBuffer {
24
27
  /**
25
28
  * @description GPUバッファ
29
+ * GPU buffer instance
26
30
  */
27
31
  buffer: GPUBuffer;
28
32
  /**
29
33
  * @description バッファサイズ(バイト)
34
+ * Buffer size in bytes
30
35
  */
31
36
  size: number;
32
37
  /**
33
38
  * @description 使用中フラグ
39
+ * Whether this buffer is currently in use
34
40
  */
35
41
  inUse: boolean;
36
42
  /**
37
43
  * @description 最後に使用されたフレーム番号
44
+ * Last frame number when this buffer was used
38
45
  */
39
46
  lastUsedFrame: number;
40
47
  }
@@ -6,11 +6,39 @@
6
6
  * resourceプロパティを持ちます。
7
7
  */
8
8
  export interface ITextureObject {
9
+ /**
10
+ * @description テクスチャの一意な識別子
11
+ * Unique identifier for the texture
12
+ */
9
13
  id: number;
14
+ /**
15
+ * @description GPUテクスチャリソース
16
+ * GPU texture resource
17
+ */
10
18
  resource: GPUTexture;
19
+ /**
20
+ * @description テクスチャビュー(シェーダーバインド用)
21
+ * Texture view for shader binding
22
+ */
11
23
  view: GPUTextureView;
24
+ /**
25
+ * @description テクスチャの幅(ピクセル)
26
+ * Width of the texture in pixels
27
+ */
12
28
  width: number;
29
+ /**
30
+ * @description テクスチャの高さ(ピクセル)
31
+ * Height of the texture in pixels
32
+ */
13
33
  height: number;
34
+ /**
35
+ * @description テクスチャの面積(width × height)
36
+ * Area of the texture (width × height)
37
+ */
14
38
  area: number;
39
+ /**
40
+ * @description スムージング(バイリニアフィルタリング)が有効かどうか
41
+ * Whether smoothing (bilinear filtering) is enabled
42
+ */
15
43
  smooth: boolean;
16
44
  }
@@ -1,5 +0,0 @@
1
- import type { IAttachmentObject } from "../../interface/IAttachmentObject";
2
- /**
3
- * @description レンダーパスディスクリプタを作成(プリアロケート再利用)
4
- */
5
- export declare const execute: (attachment: IAttachmentObject, r: number, g: number, b: number, a: number, loadOp?: GPULoadOp) => GPURenderPassDescriptor;
@@ -1,42 +0,0 @@
1
- const $clearValue = { "r": 0, "g": 0, "b": 0, "a": 0 };
2
- const $colorAttachment = {
3
- "view": null,
4
- "loadOp": "clear",
5
- "storeOp": "store",
6
- "clearValue": $clearValue
7
- };
8
- const $depthStencilAttachment = {
9
- "view": null,
10
- "depthLoadOp": "clear",
11
- "depthStoreOp": "store",
12
- "depthClearValue": 1.0,
13
- "stencilLoadOp": "clear",
14
- "stencilStoreOp": "store",
15
- "stencilClearValue": 0
16
- };
17
- const $descriptor = {
18
- "colorAttachments": [$colorAttachment]
19
- };
20
- /**
21
- * @description レンダーパスディスクリプタを作成(プリアロケート再利用)
22
- */
23
- export const execute = (attachment, r, g, b, a, loadOp = "clear") => {
24
- const colorView = attachment.color?.view ?? attachment.texture?.view;
25
- if (!colorView) {
26
- throw new Error("No color view available for render pass");
27
- }
28
- $colorAttachment.view = colorView;
29
- $colorAttachment.loadOp = loadOp;
30
- $clearValue.r = r;
31
- $clearValue.g = g;
32
- $clearValue.b = b;
33
- $clearValue.a = a;
34
- if (attachment.stencil?.view) {
35
- $depthStencilAttachment.view = attachment.stencil.view;
36
- $descriptor.depthStencilAttachment = $depthStencilAttachment;
37
- }
38
- else {
39
- $descriptor.depthStencilAttachment = undefined;
40
- }
41
- return $descriptor;
42
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 101) {
4
- $setFuncCode(101);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 401) {
4
- $setFuncCode(401);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 501) {
4
- $setFuncCode(501);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1,12 +0,0 @@
1
- import type { IBlendMode } from "../../interface/IBlendMode";
2
- import type { IBlendState } from "../../Blend";
3
- /**
4
- * @description ブレンドモードからWebGPUブレンドステートを取得するサービス
5
- * Service to get WebGPU blend state from blend mode
6
- *
7
- * @param {IBlendMode} mode
8
- * @return {IBlendState}
9
- * @method
10
- * @protected
11
- */
12
- export declare const execute: (mode: IBlendMode) => IBlendState;
@@ -1,13 +0,0 @@
1
- import { $getBlendState } from "../../Blend";
2
- /**
3
- * @description ブレンドモードからWebGPUブレンドステートを取得するサービス
4
- * Service to get WebGPU blend state from blend mode
5
- *
6
- * @param {IBlendMode} mode
7
- * @return {IBlendState}
8
- * @method
9
- * @protected
10
- */
11
- export const execute = (mode) => {
12
- return $getBlendState(mode);
13
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 10) {
4
- $setFuncCode(10);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 613) {
4
- $setFuncCode(613);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1 +0,0 @@
1
- export declare const execute: () => boolean;
@@ -1,8 +0,0 @@
1
- import { $setFuncCode, $funcCode } from "../../Blend";
2
- export const execute = () => {
3
- if ($funcCode !== 301) {
4
- $setFuncCode(301);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1,2 +0,0 @@
1
- import type { IBlendMode } from "../../interface/IBlendMode";
2
- export declare const execute: (mode: IBlendMode) => void;
@@ -1,4 +0,0 @@
1
- import { $setCurrentBlendMode } from "../../Blend";
2
- export const execute = (mode) => {
3
- $setCurrentBlendMode(mode);
4
- };
@@ -1,11 +0,0 @@
1
- import type { IBlendMode } from "../../interface/IBlendMode";
2
- /**
3
- * @description 設定されたブレンドモードへ切り替える
4
- * Switch to the set blend mode
5
- *
6
- * @param {IBlendMode} operation
7
- * @return {boolean} ブレンドモードが変更されたかどうか
8
- * @method
9
- * @protected
10
- */
11
- export declare const execute: (operation: IBlendMode) => boolean;
@@ -1,31 +0,0 @@
1
- import { execute as blendAddService } from "../service/BlendAddService";
2
- import { execute as blendResetService } from "../service/BlendResetService";
3
- import { execute as blendScreenService } from "../service/BlendScreenService";
4
- import { execute as blendAlphaService } from "../service/BlendAlphaService";
5
- import { execute as blendEraseService } from "../service/BlendEraseService";
6
- import { execute as blendOneZeroService } from "../service/BlendOneZeroService";
7
- /**
8
- * @description 設定されたブレンドモードへ切り替える
9
- * Switch to the set blend mode
10
- *
11
- * @param {IBlendMode} operation
12
- * @return {boolean} ブレンドモードが変更されたかどうか
13
- * @method
14
- * @protected
15
- */
16
- export const execute = (operation) => {
17
- switch (operation) {
18
- case "add":
19
- return blendAddService();
20
- case "screen":
21
- return blendScreenService();
22
- case "alpha":
23
- return blendAlphaService();
24
- case "erase":
25
- return blendEraseService();
26
- case "copy":
27
- return blendOneZeroService();
28
- default:
29
- return blendResetService();
30
- }
31
- };
@@ -1,9 +0,0 @@
1
- import type { IPooledStorageBuffer } from "../../interface/IStorageBufferConfig";
2
- /**
3
- * @description Storage Bufferをプールに返却
4
- * Release Storage Buffer back to pool
5
- *
6
- * @param {IPooledStorageBuffer[]} pool - Storage Bufferプール
7
- * @param {GPUBuffer} buffer - 返却するバッファ
8
- */
9
- export declare const execute: (pool: IPooledStorageBuffer[], buffer: GPUBuffer) => void;
@@ -1,15 +0,0 @@
1
- /**
2
- * @description Storage Bufferをプールに返却
3
- * Release Storage Buffer back to pool
4
- *
5
- * @param {IPooledStorageBuffer[]} pool - Storage Bufferプール
6
- * @param {GPUBuffer} buffer - 返却するバッファ
7
- */
8
- export const execute = (pool, buffer) => {
9
- for (const entry of pool) {
10
- if (entry.buffer === buffer) {
11
- entry.inUse = false;
12
- return;
13
- }
14
- }
15
- };
@@ -1,61 +0,0 @@
1
- /**
2
- * @description Compute Pipeline Manager
3
- * Compute Shaderパイプラインの管理
4
- *
5
- * Compute Shaderは並列処理に最適で、フィルター処理を高速化。
6
- * 特に大きなブラー半径(64+)の場合、20-35%の高速化が期待できる。
7
- *
8
- * @class
9
- */
10
- export declare class ComputePipelineManager {
11
- private device;
12
- private pipelines;
13
- private bindGroupLayouts;
14
- /**
15
- * @constructor
16
- * @param {GPUDevice} device - WebGPU device
17
- */
18
- constructor(device: GPUDevice);
19
- /**
20
- * @description ブラー用Compute Pipelineを初期化
21
- * @private
22
- */
23
- private initializeBlurPipelines;
24
- /**
25
- * @description ブラーCompute Pipelineを作成
26
- * @param {string} name - パイプライン名
27
- * @private
28
- */
29
- private createBlurComputePipeline;
30
- /**
31
- * @description ブラーCompute Shaderコードを生成
32
- * ボックスブラー(均一加重平均)を使用。Fragment Shaderと同一出力。
33
- * @return {string} WGSLシェーダーコード
34
- * @private
35
- */
36
- private getBlurComputeShaderCode;
37
- /**
38
- * @description 共有メモリ版ブラーCompute Shaderコードを生成
39
- * ワークグループ共有メモリでテクスチャ読み込みの重複を排除。
40
- * radius >= 8 で通常版より高速。
41
- * @return {string} WGSLシェーダーコード
42
- * @private
43
- */
44
- private getSharedBlurComputeShaderCode;
45
- /**
46
- * @description パイプラインを取得
47
- * @param {string} name - パイプライン名
48
- * @return {GPUComputePipeline | undefined}
49
- */
50
- getPipeline(name: string): GPUComputePipeline | undefined;
51
- /**
52
- * @description BindGroupLayoutを取得
53
- * @param {string} name - レイアウト名
54
- * @return {GPUBindGroupLayout | undefined}
55
- */
56
- getBindGroupLayout(name: string): GPUBindGroupLayout | undefined;
57
- /**
58
- * @description リソースを破棄
59
- */
60
- destroy(): void;
61
- }