@next2d/webgpu 3.0.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 (349) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +574 -0
  3. package/package.json +30 -0
  4. package/src/AtlasManager.d.ts +23 -0
  5. package/src/AtlasManager.js +123 -0
  6. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.d.ts +13 -0
  7. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.js +24 -0
  8. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.d.ts +15 -0
  9. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.js +31 -0
  10. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.d.ts +5 -0
  11. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.js +42 -0
  12. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.d.ts +16 -0
  13. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.js +28 -0
  14. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.d.ts +17 -0
  15. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.js +33 -0
  16. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.d.ts +16 -0
  17. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.js +28 -0
  18. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.d.ts +17 -0
  19. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.js +27 -0
  20. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.d.ts +18 -0
  21. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.js +27 -0
  22. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.d.ts +12 -0
  23. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.js +17 -0
  24. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.d.ts +26 -0
  25. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.js +43 -0
  26. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.d.ts +18 -0
  27. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.js +33 -0
  28. package/src/AttachmentManager.d.ts +19 -0
  29. package/src/AttachmentManager.js +105 -0
  30. package/src/BezierConverter/BezierConverter.d.ts +16 -0
  31. package/src/BezierConverter/BezierConverter.js +15 -0
  32. package/src/BezierConverter/service/BezierConverterCalculateFlatnessService.d.ts +15 -0
  33. package/src/BezierConverter/service/BezierConverterCalculateFlatnessService.js +37 -0
  34. package/src/BezierConverter/service/BezierConverterSplitCubicService.d.ts +15 -0
  35. package/src/BezierConverter/service/BezierConverterSplitCubicService.js +47 -0
  36. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +29 -0
  37. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +80 -0
  38. package/src/Blend/BlendInstancedManager.d.ts +35 -0
  39. package/src/Blend/BlendInstancedManager.js +147 -0
  40. package/src/Blend/service/BlendAddService.d.ts +1 -0
  41. package/src/Blend/service/BlendAddService.js +8 -0
  42. package/src/Blend/service/BlendAlphaService.d.ts +1 -0
  43. package/src/Blend/service/BlendAlphaService.js +8 -0
  44. package/src/Blend/service/BlendEraseService.d.ts +1 -0
  45. package/src/Blend/service/BlendEraseService.js +8 -0
  46. package/src/Blend/service/BlendGetStateService.d.ts +12 -0
  47. package/src/Blend/service/BlendGetStateService.js +13 -0
  48. package/src/Blend/service/BlendOneZeroService.d.ts +1 -0
  49. package/src/Blend/service/BlendOneZeroService.js +8 -0
  50. package/src/Blend/service/BlendResetService.d.ts +1 -0
  51. package/src/Blend/service/BlendResetService.js +8 -0
  52. package/src/Blend/service/BlendScreenService.d.ts +1 -0
  53. package/src/Blend/service/BlendScreenService.js +8 -0
  54. package/src/Blend/service/BlendSetModeService.d.ts +2 -0
  55. package/src/Blend/service/BlendSetModeService.js +4 -0
  56. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.d.ts +6 -0
  57. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.js +79 -0
  58. package/src/Blend/usecase/BlendOperationUseCase.d.ts +11 -0
  59. package/src/Blend/usecase/BlendOperationUseCase.js +31 -0
  60. package/src/Blend.d.ts +8 -0
  61. package/src/Blend.js +91 -0
  62. package/src/BufferManager/service/BufferManagerCreateIndirectBufferService.d.ts +15 -0
  63. package/src/BufferManager/service/BufferManagerCreateIndirectBufferService.js +37 -0
  64. package/src/BufferManager/service/BufferManagerCreateRectVerticesService.d.ts +13 -0
  65. package/src/BufferManager/service/BufferManagerCreateRectVerticesService.js +23 -0
  66. package/src/BufferManager/service/BufferManagerCreateStorageBufferService.d.ts +17 -0
  67. package/src/BufferManager/service/BufferManagerCreateStorageBufferService.js +23 -0
  68. package/src/BufferManager/service/BufferManagerReleaseUniformBufferService.d.ts +12 -0
  69. package/src/BufferManager/service/BufferManagerReleaseUniformBufferService.js +32 -0
  70. package/src/BufferManager/service/BufferManagerReleaseVertexBufferService.d.ts +12 -0
  71. package/src/BufferManager/service/BufferManagerReleaseVertexBufferService.js +32 -0
  72. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.d.ts +12 -0
  73. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.js +20 -0
  74. package/src/BufferManager/service/BufferManagerUpperPowerOfTwoService.d.ts +10 -0
  75. package/src/BufferManager/service/BufferManagerUpperPowerOfTwoService.js +18 -0
  76. package/src/BufferManager/usecase/BufferManagerAcquireStorageBufferUseCase.d.ts +15 -0
  77. package/src/BufferManager/usecase/BufferManagerAcquireStorageBufferUseCase.js +51 -0
  78. package/src/BufferManager/usecase/BufferManagerAcquireUniformBufferUseCase.d.ts +13 -0
  79. package/src/BufferManager/usecase/BufferManagerAcquireUniformBufferUseCase.js +26 -0
  80. package/src/BufferManager/usecase/BufferManagerAcquireVertexBufferUseCase.d.ts +14 -0
  81. package/src/BufferManager/usecase/BufferManagerAcquireVertexBufferUseCase.js +46 -0
  82. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.d.ts +12 -0
  83. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.js +20 -0
  84. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.d.ts +9 -0
  85. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.js +15 -0
  86. package/src/BufferManager.d.ts +93 -0
  87. package/src/BufferManager.js +487 -0
  88. package/src/Compute/ComputePipelineManager.d.ts +61 -0
  89. package/src/Compute/ComputePipelineManager.js +313 -0
  90. package/src/Compute/service/ComputeExecuteBlurService.d.ts +21 -0
  91. package/src/Compute/service/ComputeExecuteBlurService.js +81 -0
  92. package/src/Context/service/ContextComputeBitmapMatrixService.d.ts +1 -0
  93. package/src/Context/service/ContextComputeBitmapMatrixService.js +74 -0
  94. package/src/Context/service/ContextComputeGradientMatrixService.d.ts +4 -0
  95. package/src/Context/service/ContextComputeGradientMatrixService.js +88 -0
  96. package/src/Context/service/ContextFillSimpleService.d.ts +2 -0
  97. package/src/Context/service/ContextFillSimpleService.js +28 -0
  98. package/src/Context/service/ContextFillWithStencilMainService.d.ts +2 -0
  99. package/src/Context/service/ContextFillWithStencilMainService.js +19 -0
  100. package/src/Context/service/ContextFillWithStencilService.d.ts +2 -0
  101. package/src/Context/service/ContextFillWithStencilService.js +19 -0
  102. package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +5 -0
  103. package/src/Context/usecase/ContextApplyFilterUseCase.js +668 -0
  104. package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +4 -0
  105. package/src/Context/usecase/ContextBitmapFillUseCase.js +210 -0
  106. package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +4 -0
  107. package/src/Context/usecase/ContextBitmapStrokeUseCase.js +119 -0
  108. package/src/Context/usecase/ContextClipUseCase.d.ts +5 -0
  109. package/src/Context/usecase/ContextClipUseCase.js +101 -0
  110. package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +5 -0
  111. package/src/Context/usecase/ContextContainerEndLayerUseCase.js +476 -0
  112. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.d.ts +6 -0
  113. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.js +135 -0
  114. package/src/Context/usecase/ContextDrawIndirectUseCase.d.ts +6 -0
  115. package/src/Context/usecase/ContextDrawIndirectUseCase.js +154 -0
  116. package/src/Context/usecase/ContextGradientFillUseCase.d.ts +4 -0
  117. package/src/Context/usecase/ContextGradientFillUseCase.js +230 -0
  118. package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +4 -0
  119. package/src/Context/usecase/ContextGradientStrokeUseCase.js +138 -0
  120. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.d.ts +6 -0
  121. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.js +213 -0
  122. package/src/Context.d.ts +430 -0
  123. package/src/Context.js +2453 -0
  124. package/src/FillTexturePool.d.ts +6 -0
  125. package/src/FillTexturePool.js +72 -0
  126. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.d.ts +10 -0
  127. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.js +214 -0
  128. package/src/Filter/BevelFilterShader.d.ts +2 -0
  129. package/src/Filter/BevelFilterShader.js +107 -0
  130. package/src/Filter/BitmapFilterShader.d.ts +2 -0
  131. package/src/Filter/BitmapFilterShader.js +207 -0
  132. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.d.ts +16 -0
  133. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.js +243 -0
  134. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.d.ts +40 -0
  135. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.js +51 -0
  136. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.d.ts +25 -0
  137. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.js +180 -0
  138. package/src/Filter/BlurFilterShader.d.ts +5 -0
  139. package/src/Filter/BlurFilterShader.js +109 -0
  140. package/src/Filter/BlurFilterUseCase.d.ts +36 -0
  141. package/src/Filter/BlurFilterUseCase.js +85 -0
  142. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.d.ts +12 -0
  143. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.js +90 -0
  144. package/src/Filter/ColorMatrixFilterShader.d.ts +4 -0
  145. package/src/Filter/ColorMatrixFilterShader.js +51 -0
  146. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.d.ts +6 -0
  147. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.js +144 -0
  148. package/src/Filter/ConvolutionFilterShader.d.ts +2 -0
  149. package/src/Filter/ConvolutionFilterShader.js +115 -0
  150. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.d.ts +6 -0
  151. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.js +172 -0
  152. package/src/Filter/DisplacementMapFilterShader.d.ts +2 -0
  153. package/src/Filter/DisplacementMapFilterShader.js +114 -0
  154. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.d.ts +24 -0
  155. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.js +179 -0
  156. package/src/Filter/DropShadowFilterShader.d.ts +4 -0
  157. package/src/Filter/DropShadowFilterShader.js +93 -0
  158. package/src/Filter/FilterGradientLUTCache.d.ts +29 -0
  159. package/src/Filter/FilterGradientLUTCache.js +84 -0
  160. package/src/Filter/FilterOffset.d.ts +8 -0
  161. package/src/Filter/FilterOffset.js +10 -0
  162. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.d.ts +24 -0
  163. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.js +143 -0
  164. package/src/Filter/GlowFilterShader.d.ts +4 -0
  165. package/src/Filter/GlowFilterShader.js +66 -0
  166. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.d.ts +29 -0
  167. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.js +216 -0
  168. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.d.ts +29 -0
  169. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.js +164 -0
  170. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.d.ts +4 -0
  171. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.js +23 -0
  172. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.d.ts +4 -0
  173. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.js +28 -0
  174. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.d.ts +11 -0
  175. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.js +19 -0
  176. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.d.ts +23 -0
  177. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.js +125 -0
  178. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.d.ts +14 -0
  179. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.js +23 -0
  180. package/src/FrameBufferManager.d.ts +24 -0
  181. package/src/FrameBufferManager.js +161 -0
  182. package/src/Gradient/GradientLUTCache.d.ts +61 -0
  183. package/src/Gradient/GradientLUTCache.js +153 -0
  184. package/src/Gradient/GradientLUTGenerator.d.ts +30 -0
  185. package/src/Gradient/GradientLUTGenerator.js +202 -0
  186. package/src/Grid.d.ts +18 -0
  187. package/src/Grid.js +21 -0
  188. package/src/Mask/service/MaskBeginMaskService.d.ts +9 -0
  189. package/src/Mask/service/MaskBeginMaskService.js +22 -0
  190. package/src/Mask/service/MaskEndMaskService.d.ts +15 -0
  191. package/src/Mask/service/MaskEndMaskService.js +36 -0
  192. package/src/Mask/service/MaskSetMaskBoundsService.d.ts +13 -0
  193. package/src/Mask/service/MaskSetMaskBoundsService.js +36 -0
  194. package/src/Mask/service/MaskUnionMaskService.d.ts +4 -0
  195. package/src/Mask/service/MaskUnionMaskService.js +74 -0
  196. package/src/Mask/usecase/MaskBindUseCase.d.ts +10 -0
  197. package/src/Mask/usecase/MaskBindUseCase.js +20 -0
  198. package/src/Mask/usecase/MaskLeaveMaskUseCase.d.ts +13 -0
  199. package/src/Mask/usecase/MaskLeaveMaskUseCase.js +51 -0
  200. package/src/Mask.d.ts +12 -0
  201. package/src/Mask.js +41 -0
  202. package/src/Mesh/service/MeshFillGenerateService.d.ts +19 -0
  203. package/src/Mesh/service/MeshFillGenerateService.js +76 -0
  204. package/src/Mesh/service/MeshLerpService.d.ts +13 -0
  205. package/src/Mesh/service/MeshLerpService.js +17 -0
  206. package/src/Mesh/service/MeshStrokeFillGenerateService.d.ts +19 -0
  207. package/src/Mesh/service/MeshStrokeFillGenerateService.js +76 -0
  208. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.d.ts +13 -0
  209. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.js +65 -0
  210. package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +12 -0
  211. package/src/Mesh/usecase/MeshFillGenerateUseCase.js +48 -0
  212. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.d.ts +13 -0
  213. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.js +65 -0
  214. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +14 -0
  215. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +28 -0
  216. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.d.ts +18 -0
  217. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.js +54 -0
  218. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +25 -0
  219. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +608 -0
  220. package/src/PathCommand.d.ts +123 -0
  221. package/src/PathCommand.js +317 -0
  222. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.d.ts +11 -0
  223. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.js +35 -0
  224. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.d.ts +13 -0
  225. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.js +15 -0
  226. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.d.ts +15 -0
  227. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.js +30 -0
  228. package/src/SamplerCache.d.ts +18 -0
  229. package/src/SamplerCache.js +61 -0
  230. package/src/Shader/BlendModeShader.d.ts +51 -0
  231. package/src/Shader/BlendModeShader.js +71 -0
  232. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.d.ts +12 -0
  233. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.js +28 -0
  234. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.d.ts +13 -0
  235. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.js +61 -0
  236. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.d.ts +19 -0
  237. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.js +37 -0
  238. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.d.ts +11 -0
  239. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.js +24 -0
  240. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.d.ts +14 -0
  241. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.js +24 -0
  242. package/src/Shader/PipelineManager.d.ts +57 -0
  243. package/src/Shader/PipelineManager.js +2868 -0
  244. package/src/Shader/ShaderInstancedManager.d.ts +8 -0
  245. package/src/Shader/ShaderInstancedManager.js +18 -0
  246. package/src/Shader/ShaderSource.d.ts +60 -0
  247. package/src/Shader/ShaderSource.js +518 -0
  248. package/src/Shader/wgsl/common/SharedWgsl.d.ts +5 -0
  249. package/src/Shader/wgsl/common/SharedWgsl.js +37 -0
  250. package/src/Shader/wgsl/fragment/BasicFragment.d.ts +2 -0
  251. package/src/Shader/wgsl/fragment/BasicFragment.js +28 -0
  252. package/src/Shader/wgsl/fragment/BitmapFragment.d.ts +1 -0
  253. package/src/Shader/wgsl/fragment/BitmapFragment.js +43 -0
  254. package/src/Shader/wgsl/fragment/BlendFragment.d.ts +8 -0
  255. package/src/Shader/wgsl/fragment/BlendFragment.js +63 -0
  256. package/src/Shader/wgsl/fragment/EffectFragment.d.ts +6 -0
  257. package/src/Shader/wgsl/fragment/EffectFragment.js +324 -0
  258. package/src/Shader/wgsl/fragment/FillFragment.d.ts +1 -0
  259. package/src/Shader/wgsl/fragment/FillFragment.js +28 -0
  260. package/src/Shader/wgsl/fragment/FilterFragment.d.ts +10 -0
  261. package/src/Shader/wgsl/fragment/FilterFragment.js +212 -0
  262. package/src/Shader/wgsl/fragment/GradientFragment.d.ts +3 -0
  263. package/src/Shader/wgsl/fragment/GradientFragment.js +118 -0
  264. package/src/Shader/wgsl/fragment/InstancedFragment.d.ts +1 -0
  265. package/src/Shader/wgsl/fragment/InstancedFragment.js +20 -0
  266. package/src/Shader/wgsl/fragment/MaskFragment.d.ts +1 -0
  267. package/src/Shader/wgsl/fragment/MaskFragment.js +17 -0
  268. package/src/Shader/wgsl/fragment/StencilFragment.d.ts +2 -0
  269. package/src/Shader/wgsl/fragment/StencilFragment.js +33 -0
  270. package/src/Shader/wgsl/vertex/BasicVertex.d.ts +1 -0
  271. package/src/Shader/wgsl/vertex/BasicVertex.js +37 -0
  272. package/src/Shader/wgsl/vertex/BitmapVertex.d.ts +1 -0
  273. package/src/Shader/wgsl/vertex/BitmapVertex.js +43 -0
  274. package/src/Shader/wgsl/vertex/FillVertex.d.ts +1 -0
  275. package/src/Shader/wgsl/vertex/FillVertex.js +35 -0
  276. package/src/Shader/wgsl/vertex/FilterVertex.d.ts +12 -0
  277. package/src/Shader/wgsl/vertex/FilterVertex.js +193 -0
  278. package/src/Shader/wgsl/vertex/GradientVertex.d.ts +1 -0
  279. package/src/Shader/wgsl/vertex/GradientVertex.js +44 -0
  280. package/src/Shader/wgsl/vertex/InstancedVertex.d.ts +1 -0
  281. package/src/Shader/wgsl/vertex/InstancedVertex.js +48 -0
  282. package/src/Shader/wgsl/vertex/MaskVertex.d.ts +1 -0
  283. package/src/Shader/wgsl/vertex/MaskVertex.js +36 -0
  284. package/src/Shader/wgsl/vertex/StencilVertex.d.ts +2 -0
  285. package/src/Shader/wgsl/vertex/StencilVertex.js +66 -0
  286. package/src/TextureManager/service/TextureManagerInitializeSamplersService.d.ts +11 -0
  287. package/src/TextureManager/service/TextureManagerInitializeSamplersService.js +48 -0
  288. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.d.ts +13 -0
  289. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.js +30 -0
  290. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.d.ts +15 -0
  291. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.js +26 -0
  292. package/src/TextureManager.d.ts +15 -0
  293. package/src/TextureManager.js +87 -0
  294. package/src/TexturePool/service/TexturePoolCleanupService.d.ts +14 -0
  295. package/src/TexturePool/service/TexturePoolCleanupService.js +28 -0
  296. package/src/TexturePool/service/TexturePoolEvictOldestService.d.ts +11 -0
  297. package/src/TexturePool/service/TexturePoolEvictOldestService.js +24 -0
  298. package/src/TexturePool/service/TexturePoolReleaseService.d.ts +13 -0
  299. package/src/TexturePool/service/TexturePoolReleaseService.js +22 -0
  300. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.d.ts +19 -0
  301. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.js +90 -0
  302. package/src/TexturePool.d.ts +69 -0
  303. package/src/TexturePool.js +151 -0
  304. package/src/WebGPUUtil.d.ts +102 -0
  305. package/src/WebGPUUtil.js +157 -0
  306. package/src/index.d.ts +1 -0
  307. package/src/index.js +1 -0
  308. package/src/interface/IAttachmentObject.d.ts +41 -0
  309. package/src/interface/IAttachmentObject.js +1 -0
  310. package/src/interface/IBlendMode.d.ts +1 -0
  311. package/src/interface/IBlendMode.js +1 -0
  312. package/src/interface/IBlendState.d.ts +8 -0
  313. package/src/interface/IBlendState.js +1 -0
  314. package/src/interface/IBounds.d.ts +6 -0
  315. package/src/interface/IBounds.js +1 -0
  316. package/src/interface/ICachedBindGroup.d.ts +8 -0
  317. package/src/interface/ICachedBindGroup.js +1 -0
  318. package/src/interface/IColorBufferObject.d.ts +17 -0
  319. package/src/interface/IColorBufferObject.js +1 -0
  320. package/src/interface/IComplexBlendItem.d.ts +19 -0
  321. package/src/interface/IComplexBlendItem.js +1 -0
  322. package/src/interface/IFilterConfig.d.ts +29 -0
  323. package/src/interface/IFilterConfig.js +1 -0
  324. package/src/interface/IGradientLUTData.d.ts +8 -0
  325. package/src/interface/IGradientLUTData.js +1 -0
  326. package/src/interface/IGradientStop.d.ts +11 -0
  327. package/src/interface/IGradientStop.js +1 -0
  328. package/src/interface/ILocalFilterConfig.d.ts +21 -0
  329. package/src/interface/ILocalFilterConfig.js +1 -0
  330. package/src/interface/IMeshResult.d.ts +8 -0
  331. package/src/interface/IMeshResult.js +1 -0
  332. package/src/interface/IPath.d.ts +8 -0
  333. package/src/interface/IPath.js +1 -0
  334. package/src/interface/IPoint.d.ts +4 -0
  335. package/src/interface/IPoint.js +1 -0
  336. package/src/interface/IPooledBuffer.d.ts +8 -0
  337. package/src/interface/IPooledBuffer.js +1 -0
  338. package/src/interface/IPooledTexture.d.ts +17 -0
  339. package/src/interface/IPooledTexture.js +1 -0
  340. package/src/interface/IQuadraticSegment.d.ts +9 -0
  341. package/src/interface/IQuadraticSegment.js +1 -0
  342. package/src/interface/IRectangleInfo.d.ts +13 -0
  343. package/src/interface/IRectangleInfo.js +1 -0
  344. package/src/interface/IStencilBufferObject.d.ts +16 -0
  345. package/src/interface/IStencilBufferObject.js +1 -0
  346. package/src/interface/IStorageBufferConfig.d.ts +40 -0
  347. package/src/interface/IStorageBufferConfig.js +1 -0
  348. package/src/interface/ITextureObject.d.ts +16 -0
  349. package/src/interface/ITextureObject.js +1 -0
@@ -0,0 +1,14 @@
1
+ import type { ITexturePoolBuckets } from "../../interface/IPooledTexture";
2
+ /**
3
+ * @description 古いプールエントリをクリーンアップ(バケットMap版 LRU回収)
4
+ * Cleanup old pool entries (bucket Map version, LRU eviction)
5
+ *
6
+ * @param {ITexturePoolBuckets} buckets
7
+ * @param {number} currentFrame
8
+ * @param {number} threshold - フレーム数閾値
9
+ * @param {number[]} totalCount - [0]に現在の合計数を格納
10
+ * @return {void}
11
+ * @method
12
+ * @protected
13
+ */
14
+ export declare const execute: (buckets: ITexturePoolBuckets, currentFrame: number, threshold: number, totalCount: number[]) => void;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @description 古いプールエントリをクリーンアップ(バケットMap版 LRU回収)
3
+ * Cleanup old pool entries (bucket Map version, LRU eviction)
4
+ *
5
+ * @param {ITexturePoolBuckets} buckets
6
+ * @param {number} currentFrame
7
+ * @param {number} threshold - フレーム数閾値
8
+ * @param {number[]} totalCount - [0]に現在の合計数を格納
9
+ * @return {void}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export const execute = (buckets, currentFrame, threshold, totalCount) => {
14
+ const frameThreshold = currentFrame - threshold;
15
+ for (const [key, bucket] of buckets) {
16
+ for (let i = bucket.length - 1; i >= 0; i--) {
17
+ const entry = bucket[i];
18
+ if (!entry.inUse && entry.lastUsedFrame < frameThreshold) {
19
+ entry.texture.destroy();
20
+ bucket.splice(i, 1);
21
+ totalCount[0]--;
22
+ }
23
+ }
24
+ if (bucket.length === 0) {
25
+ buckets.delete(key);
26
+ }
27
+ }
28
+ };
@@ -0,0 +1,11 @@
1
+ import type { IPooledTexture } from "../../interface/IPooledTexture";
2
+ /**
3
+ * @description 最も古い未使用エントリを削除
4
+ * Evict the oldest unused pool entry
5
+ *
6
+ * @param {IPooledTexture[]} pool
7
+ * @return {void}
8
+ * @method
9
+ * @protected
10
+ */
11
+ export declare const execute: (pool: IPooledTexture[]) => void;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @description 最も古い未使用エントリを削除
3
+ * Evict the oldest unused pool entry
4
+ *
5
+ * @param {IPooledTexture[]} pool
6
+ * @return {void}
7
+ * @method
8
+ * @protected
9
+ */
10
+ export const execute = (pool) => {
11
+ let oldestIndex = -1;
12
+ let oldestFrame = Infinity;
13
+ for (let i = 0; i < pool.length; i++) {
14
+ const entry = pool[i];
15
+ if (!entry.inUse && entry.lastUsedFrame < oldestFrame) {
16
+ oldestFrame = entry.lastUsedFrame;
17
+ oldestIndex = i;
18
+ }
19
+ }
20
+ if (oldestIndex >= 0) {
21
+ pool[oldestIndex].texture.destroy();
22
+ pool.splice(oldestIndex, 1);
23
+ }
24
+ };
@@ -0,0 +1,13 @@
1
+ import type { ITexturePoolBuckets } from "../../interface/IPooledTexture";
2
+ /**
3
+ * @description テクスチャをプールに返却(バケットMap版)
4
+ * Release texture back to pool (bucket Map version)
5
+ *
6
+ * @param {ITexturePoolBuckets} buckets
7
+ * @param {GPUTexture} texture
8
+ * @param {number} currentFrame
9
+ * @return {void}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export declare const execute: (buckets: ITexturePoolBuckets, texture: GPUTexture, currentFrame: number) => void;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @description テクスチャをプールに返却(バケットMap版)
3
+ * Release texture back to pool (bucket Map version)
4
+ *
5
+ * @param {ITexturePoolBuckets} buckets
6
+ * @param {GPUTexture} texture
7
+ * @param {number} currentFrame
8
+ * @return {void}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export const execute = (buckets, texture, currentFrame) => {
13
+ for (const bucket of buckets.values()) {
14
+ for (let i = 0; i < bucket.length; i++) {
15
+ if (bucket[i].texture === texture) {
16
+ bucket[i].inUse = false;
17
+ bucket[i].lastUsedFrame = currentFrame;
18
+ return;
19
+ }
20
+ }
21
+ }
22
+ };
@@ -0,0 +1,19 @@
1
+ import type { ITexturePoolBuckets } from "../../interface/IPooledTexture";
2
+ /**
3
+ * @description テクスチャを取得または作成(バケットMap検索)
4
+ * Acquire texture from pool or create new one (bucket Map lookup)
5
+ *
6
+ * @param {GPUDevice} device
7
+ * @param {ITexturePoolBuckets} buckets
8
+ * @param {number} width
9
+ * @param {number} height
10
+ * @param {GPUTextureFormat} format
11
+ * @param {GPUTextureUsageFlags} usage
12
+ * @param {number} currentFrame
13
+ * @param {number} maxPoolSize
14
+ * @param {number[]} totalCount - [0]に現在の合計数を格納
15
+ * @return {GPUTexture}
16
+ * @method
17
+ * @protected
18
+ */
19
+ export declare const execute: (device: GPUDevice, buckets: ITexturePoolBuckets, width: number, height: number, format: GPUTextureFormat, usage: GPUTextureUsageFlags, currentFrame: number, maxPoolSize: number, totalCount: number[]) => GPUTexture;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @description バケットキーを生成(exactサイズ + フォーマット)
3
+ *
4
+ * @param {number} width
5
+ * @param {number} height
6
+ * @param {GPUTextureFormat} format
7
+ * @return {string}
8
+ */
9
+ const buildKey = (width, height, format) => {
10
+ return `${width}_${height}_${format}`;
11
+ };
12
+ /**
13
+ * @description テクスチャを取得または作成(バケットMap検索)
14
+ * Acquire texture from pool or create new one (bucket Map lookup)
15
+ *
16
+ * @param {GPUDevice} device
17
+ * @param {ITexturePoolBuckets} buckets
18
+ * @param {number} width
19
+ * @param {number} height
20
+ * @param {GPUTextureFormat} format
21
+ * @param {GPUTextureUsageFlags} usage
22
+ * @param {number} currentFrame
23
+ * @param {number} maxPoolSize
24
+ * @param {number[]} totalCount - [0]に現在の合計数を格納
25
+ * @return {GPUTexture}
26
+ * @method
27
+ * @protected
28
+ */
29
+ export const execute = (device, buckets, width, height, format, usage, currentFrame, maxPoolSize, totalCount) => {
30
+ const key = buildKey(width, height, format);
31
+ // バケットから未使用テクスチャを検索(O(1)バケット + O(n)バケット内走査)
32
+ const bucket = buckets.get(key);
33
+ if (bucket) {
34
+ for (let i = 0; i < bucket.length; i++) {
35
+ const entry = bucket[i];
36
+ if (!entry.inUse) {
37
+ entry.inUse = true;
38
+ entry.lastUsedFrame = currentFrame;
39
+ return entry.texture;
40
+ }
41
+ }
42
+ }
43
+ // プールが満杯なら最も古い未使用エントリを削除(LRU回収)
44
+ if (totalCount[0] >= maxPoolSize) {
45
+ let oldestFrame = Infinity;
46
+ let oldestKey = "";
47
+ let oldestIdx = -1;
48
+ for (const [bKey, bEntries] of buckets) {
49
+ for (let i = 0; i < bEntries.length; i++) {
50
+ const e = bEntries[i];
51
+ if (!e.inUse && e.lastUsedFrame < oldestFrame) {
52
+ oldestFrame = e.lastUsedFrame;
53
+ oldestKey = bKey;
54
+ oldestIdx = i;
55
+ }
56
+ }
57
+ }
58
+ if (oldestIdx >= 0) {
59
+ const bEntries = buckets.get(oldestKey);
60
+ bEntries[oldestIdx].texture.destroy();
61
+ bEntries.splice(oldestIdx, 1);
62
+ if (bEntries.length === 0) {
63
+ buckets.delete(oldestKey);
64
+ }
65
+ totalCount[0]--;
66
+ }
67
+ }
68
+ // exactサイズで新規作成
69
+ const texture = device.createTexture({
70
+ "size": { width, height },
71
+ format,
72
+ usage
73
+ });
74
+ const entry = {
75
+ texture,
76
+ width,
77
+ height,
78
+ format,
79
+ "lastUsedFrame": currentFrame,
80
+ "inUse": true
81
+ };
82
+ if (bucket) {
83
+ bucket.push(entry);
84
+ }
85
+ else {
86
+ buckets.set(key, [entry]);
87
+ }
88
+ totalCount[0]++;
89
+ return texture;
90
+ };
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @description テクスチャプールマネージャー(Power-of-2バケット版)
3
+ * Texture pool manager for WebGPU optimization
4
+ *
5
+ * リクエストサイズをPower-of-2に切り上げてバケット化。
6
+ * 同一バケット内で高いキャッシュヒット率を実現。
7
+ * LRUベースで未使用テクスチャを回収。
8
+ */
9
+ export declare class TexturePool {
10
+ private device;
11
+ private buckets;
12
+ private currentFrame;
13
+ private totalCount;
14
+ /**
15
+ * @param {GPUDevice} device
16
+ * @constructor
17
+ */
18
+ constructor(device: GPUDevice);
19
+ /**
20
+ * @description フレーム開始時に呼び出し
21
+ * @return {void}
22
+ */
23
+ beginFrame(): void;
24
+ /**
25
+ * @description テクスチャを取得または作成
26
+ * @param {number} width - テクスチャの幅
27
+ * @param {number} height - テクスチャの高さ
28
+ * @param {GPUTextureFormat} format - テクスチャフォーマット
29
+ * @param {GPUTextureUsageFlags} usage - テクスチャ使用フラグ
30
+ * @return {GPUTexture}
31
+ */
32
+ acquire(width: number, height: number, format?: GPUTextureFormat, usage?: GPUTextureUsageFlags): GPUTexture;
33
+ /**
34
+ * @description テクスチャをプールに返却
35
+ * @param {GPUTexture} texture - 返却するテクスチャ
36
+ * @return {void}
37
+ */
38
+ release(texture: GPUTexture): void;
39
+ /**
40
+ * @description プール統計を取得
41
+ * @return {{ total: number, inUse: number, available: number }}
42
+ */
43
+ getStats(): {
44
+ total: number;
45
+ inUse: number;
46
+ available: number;
47
+ };
48
+ /**
49
+ * @description 解放
50
+ * @return {void}
51
+ */
52
+ dispose(): void;
53
+ }
54
+ /**
55
+ * @description テクスチャプールを初期化
56
+ * @param {GPUDevice} device
57
+ * @return {void}
58
+ */
59
+ export declare const initTexturePool: (device: GPUDevice) => void;
60
+ /**
61
+ * @description テクスチャプールを取得
62
+ * @return {TexturePool | null}
63
+ */
64
+ export declare const getTexturePool: () => TexturePool | null;
65
+ /**
66
+ * @description テクスチャプールをクリア
67
+ * @return {void}
68
+ */
69
+ export declare const clearTexturePool: () => void;
@@ -0,0 +1,151 @@
1
+ import { execute as texturePoolAcquireUseCase } from "./TexturePool/usecase/TexturePoolAcquireUseCase";
2
+ import { execute as texturePoolReleaseService } from "./TexturePool/service/TexturePoolReleaseService";
3
+ import { execute as texturePoolCleanupService } from "./TexturePool/service/TexturePoolCleanupService";
4
+ /**
5
+ * @description プールの最大サイズ
6
+ */
7
+ const MAX_POOL_SIZE = 32;
8
+ /**
9
+ * @description キャッシュのクリーンアップ閾値(フレーム数)
10
+ */
11
+ const CACHE_CLEANUP_THRESHOLD = 180; // 3秒(60FPS想定)
12
+ /**
13
+ * @description テクスチャプールマネージャー(Power-of-2バケット版)
14
+ * Texture pool manager for WebGPU optimization
15
+ *
16
+ * リクエストサイズをPower-of-2に切り上げてバケット化。
17
+ * 同一バケット内で高いキャッシュヒット率を実現。
18
+ * LRUベースで未使用テクスチャを回収。
19
+ */
20
+ export class TexturePool {
21
+ /**
22
+ * @param {GPUDevice} device
23
+ * @constructor
24
+ */
25
+ constructor(device) {
26
+ Object.defineProperty(this, "device", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ Object.defineProperty(this, "buckets", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
38
+ Object.defineProperty(this, "currentFrame", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: void 0
43
+ });
44
+ Object.defineProperty(this, "totalCount", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: void 0
49
+ });
50
+ this.device = device;
51
+ this.buckets = new Map();
52
+ this.currentFrame = 0;
53
+ this.totalCount = [0];
54
+ }
55
+ /**
56
+ * @description フレーム開始時に呼び出し
57
+ * @return {void}
58
+ */
59
+ beginFrame() {
60
+ this.currentFrame++;
61
+ // 定期的にプールをクリーンアップ(LRU回収)
62
+ if (this.currentFrame % 60 === 0) {
63
+ texturePoolCleanupService(this.buckets, this.currentFrame, CACHE_CLEANUP_THRESHOLD, this.totalCount);
64
+ }
65
+ }
66
+ /**
67
+ * @description テクスチャを取得または作成
68
+ * @param {number} width - テクスチャの幅
69
+ * @param {number} height - テクスチャの高さ
70
+ * @param {GPUTextureFormat} format - テクスチャフォーマット
71
+ * @param {GPUTextureUsageFlags} usage - テクスチャ使用フラグ
72
+ * @return {GPUTexture}
73
+ */
74
+ acquire(width, height, format = "rgba8unorm", usage = GPUTextureUsage.TEXTURE_BINDING |
75
+ GPUTextureUsage.COPY_DST |
76
+ GPUTextureUsage.RENDER_ATTACHMENT) {
77
+ return texturePoolAcquireUseCase(this.device, this.buckets, width, height, format, usage, this.currentFrame, MAX_POOL_SIZE, this.totalCount);
78
+ }
79
+ /**
80
+ * @description テクスチャをプールに返却
81
+ * @param {GPUTexture} texture - 返却するテクスチャ
82
+ * @return {void}
83
+ */
84
+ release(texture) {
85
+ texturePoolReleaseService(this.buckets, texture, this.currentFrame);
86
+ }
87
+ /**
88
+ * @description プール統計を取得
89
+ * @return {{ total: number, inUse: number, available: number }}
90
+ */
91
+ getStats() {
92
+ let inUse = 0;
93
+ let available = 0;
94
+ for (const bucket of this.buckets.values()) {
95
+ for (const entry of bucket) {
96
+ if (entry.inUse) {
97
+ inUse++;
98
+ }
99
+ else {
100
+ available++;
101
+ }
102
+ }
103
+ }
104
+ return {
105
+ "total": this.totalCount[0],
106
+ inUse,
107
+ available
108
+ };
109
+ }
110
+ /**
111
+ * @description 解放
112
+ * @return {void}
113
+ */
114
+ dispose() {
115
+ for (const bucket of this.buckets.values()) {
116
+ for (const entry of bucket) {
117
+ entry.texture.destroy();
118
+ }
119
+ }
120
+ this.buckets.clear();
121
+ this.totalCount[0] = 0;
122
+ }
123
+ }
124
+ /**
125
+ * @description グローバルテクスチャプールインスタンス
126
+ */
127
+ let $texturePool = null;
128
+ /**
129
+ * @description テクスチャプールを初期化
130
+ * @param {GPUDevice} device
131
+ * @return {void}
132
+ */
133
+ export const initTexturePool = (device) => {
134
+ $texturePool = new TexturePool(device);
135
+ };
136
+ /**
137
+ * @description テクスチャプールを取得
138
+ * @return {TexturePool | null}
139
+ */
140
+ export const getTexturePool = () => {
141
+ return $texturePool;
142
+ };
143
+ /**
144
+ * @description テクスチャプールをクリア
145
+ * @return {void}
146
+ */
147
+ export const clearTexturePool = () => {
148
+ if ($texturePool) {
149
+ $texturePool.dispose();
150
+ }
151
+ };
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @description 描画のサンプリング数(MSAA)
3
+ * Number of samples for drawing (MSAA)
4
+ *
5
+ * @type {number}
6
+ * @default 4
7
+ * @protected
8
+ *
9
+ * @note WebGL版と同じくMSAA 4xをデフォルトで有効化
10
+ * 曲線のアンチエイリアス品質向上のため
11
+ */
12
+ export declare let $samples: number;
13
+ /**
14
+ * @description 描画のサンプリング数を変更
15
+ * Change the number of samples for drawing
16
+ *
17
+ * @param {number} samples
18
+ * @return {void}
19
+ * @method
20
+ * @protected
21
+ */
22
+ export declare const $setSamples: (samples: number) => void;
23
+ export declare class WebGPUUtil {
24
+ private static device;
25
+ private static devicePixelRatio;
26
+ private static renderMaxSize;
27
+ private static float32Array4Pool;
28
+ /**
29
+ * @description Set GPUDevice
30
+ * @param {GPUDevice} gpu_device
31
+ * @return {void}
32
+ */
33
+ static setDevice(gpu_device: GPUDevice): void;
34
+ /**
35
+ * @description Get GPUDevice
36
+ * @return {GPUDevice}
37
+ */
38
+ static getDevice(): GPUDevice;
39
+ /**
40
+ * @description Set device pixel ratio
41
+ * @param {number} ratio
42
+ * @return {void}
43
+ */
44
+ static setDevicePixelRatio(ratio: number): void;
45
+ /**
46
+ * @description Get device pixel ratio
47
+ * @return {number}
48
+ */
49
+ static getDevicePixelRatio(): number;
50
+ /**
51
+ * @description Set render max size
52
+ * @param {number} size
53
+ * @return {void}
54
+ */
55
+ static setRenderMaxSize(size: number): void;
56
+ /**
57
+ * @description Get render max size (for atlas)
58
+ * @return {number}
59
+ */
60
+ static getRenderMaxSize(): number;
61
+ /**
62
+ * @description Create Float32Array
63
+ * @param {number} length
64
+ * @return {Float32Array}
65
+ */
66
+ static createFloat32Array(length: number): Float32Array;
67
+ /**
68
+ * @description Create generic array
69
+ * @return {Array}
70
+ */
71
+ static createArray<T>(): T[];
72
+ /**
73
+ * @description Get Float32Array(4) from pool
74
+ * @return {Float32Array}
75
+ */
76
+ static getFloat32Array4(): Float32Array;
77
+ /**
78
+ * @description Return Float32Array(4) to pool
79
+ * @param {Float32Array} array
80
+ * @return {void}
81
+ */
82
+ static poolFloat32Array4(array: Float32Array): void;
83
+ }
84
+ /**
85
+ * @description グローバルコンテキスト(WebGLUtilの$contextに相当)
86
+ */
87
+ export declare let $context: any;
88
+ /**
89
+ * @description コンテキストを設定
90
+ * @param {any} context
91
+ */
92
+ export declare const $setContext: (context: any) => void;
93
+ /**
94
+ * @description Float32Array(4) をプールから取得
95
+ * @return {Float32Array}
96
+ */
97
+ export declare const $getFloat32Array4: () => Float32Array;
98
+ /**
99
+ * @description Float32Array(4) をプールに返却
100
+ * @param {Float32Array} array
101
+ */
102
+ export declare const $poolFloat32Array4: (array: Float32Array) => void;