ris-framework 0.1.0-dev.7 → 0.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 (655) hide show
  1. package/CHANGELOG.md +4 -1
  2. package/LICENSE +202 -21
  3. package/NOTICE +2 -0
  4. package/README.md +29 -47
  5. package/THIRD_PARTY_NOTICES.md +1 -1
  6. package/dist/{core/Framework.d.ts → Framework.d.ts} +10 -8
  7. package/dist/Framework.d.ts.map +1 -0
  8. package/dist/api/FrameworkConfiguration.d.ts +23 -0
  9. package/dist/api/FrameworkConfiguration.d.ts.map +1 -0
  10. package/dist/api/IFramework.d.ts +125 -0
  11. package/dist/api/IFramework.d.ts.map +1 -0
  12. package/dist/api/IFrameworkConfiguration.d.ts +25 -0
  13. package/dist/api/IFrameworkConfiguration.d.ts.map +1 -0
  14. package/dist/api/_export.d.ts +27 -0
  15. package/dist/api/_export.d.ts.map +1 -0
  16. package/dist/api/camera/CameraFactory.d.ts +25 -0
  17. package/dist/api/camera/CameraFactory.d.ts.map +1 -0
  18. package/dist/api/camera/ICamera.d.ts +43 -0
  19. package/dist/api/camera/ICamera.d.ts.map +1 -0
  20. package/dist/api/camera/ICameraFactory.d.ts +46 -0
  21. package/dist/api/camera/ICameraFactory.d.ts.map +1 -0
  22. package/dist/api/camera/IOrthographicCamera.d.ts +31 -0
  23. package/dist/api/camera/IOrthographicCamera.d.ts.map +1 -0
  24. package/dist/api/camera/OrbitCamera.d.ts +120 -0
  25. package/dist/api/camera/OrbitCamera.d.ts.map +1 -0
  26. package/dist/api/camera/OrthographicCamera.d.ts +96 -0
  27. package/dist/api/camera/OrthographicCamera.d.ts.map +1 -0
  28. package/dist/api/camera/PerspectiveCamera.d.ts +108 -0
  29. package/dist/api/camera/PerspectiveCamera.d.ts.map +1 -0
  30. package/dist/api/camera/_export.d.ts +8 -0
  31. package/dist/api/camera/_export.d.ts.map +1 -0
  32. package/dist/api/content/ContentConfig.d.ts +11 -0
  33. package/dist/api/content/ContentConfig.d.ts.map +1 -0
  34. package/dist/{core → api}/content/ContentManager.d.ts +3 -2
  35. package/dist/api/content/ContentManager.d.ts.map +1 -0
  36. package/dist/api/content/IContent.d.ts +8 -0
  37. package/dist/api/content/IContent.d.ts.map +1 -0
  38. package/dist/api/content/IContentManager.d.ts +37 -0
  39. package/dist/api/content/IContentManager.d.ts.map +1 -0
  40. package/dist/api/content/IContentModule.d.ts +58 -0
  41. package/dist/api/content/IContentModule.d.ts.map +1 -0
  42. package/dist/api/content/ShaderModuleContent.d.ts.map +1 -0
  43. package/dist/api/content/_export-content.d.ts +5 -0
  44. package/dist/api/content/_export-content.d.ts.map +1 -0
  45. package/dist/api/core/IDisposable.d.ts +10 -0
  46. package/dist/api/core/IDisposable.d.ts.map +1 -0
  47. package/dist/api/core/_export-core.d.ts +2 -0
  48. package/dist/api/core/_export-core.d.ts.map +1 -0
  49. package/dist/api/data/Color.d.ts +119 -0
  50. package/dist/api/data/Color.d.ts.map +1 -0
  51. package/dist/api/data/Rect.d.ts +61 -0
  52. package/dist/api/data/Rect.d.ts.map +1 -0
  53. package/dist/api/data/State.d.ts +11 -0
  54. package/dist/api/data/State.d.ts.map +1 -0
  55. package/dist/api/data/_export.d.ts +4 -0
  56. package/dist/api/data/_export.d.ts.map +1 -0
  57. package/dist/{geometry → api/geometry}/BaseGeometry.d.ts +5 -2
  58. package/dist/api/geometry/BaseGeometry.d.ts.map +1 -0
  59. package/dist/{geometry → api/geometry}/GeometryBuilder.d.ts +1 -1
  60. package/dist/api/geometry/GeometryBuilder.d.ts.map +1 -0
  61. package/dist/api/geometry/GeometryFormat.d.ts +34 -0
  62. package/dist/api/geometry/GeometryFormat.d.ts.map +1 -0
  63. package/dist/api/geometry/IGeometry.d.ts +54 -0
  64. package/dist/api/geometry/IGeometry.d.ts.map +1 -0
  65. package/dist/api/geometry/IGeometryBuilder.d.ts +15 -0
  66. package/dist/api/geometry/IGeometryBuilder.d.ts.map +1 -0
  67. package/dist/api/geometry/VertexFormat.d.ts.map +1 -0
  68. package/dist/api/geometry/_export-geometry.d.ts +5 -0
  69. package/dist/api/geometry/_export-geometry.d.ts.map +1 -0
  70. package/dist/api/image/CpuImageProcessor.d.ts +16 -0
  71. package/dist/api/image/CpuImageProcessor.d.ts.map +1 -0
  72. package/dist/api/image/IImageProcessor.d.ts +26 -0
  73. package/dist/api/image/IImageProcessor.d.ts.map +1 -0
  74. package/dist/api/image/RawImageData.d.ts +34 -0
  75. package/dist/api/image/RawImageData.d.ts.map +1 -0
  76. package/dist/api/image/_export.d.ts +4 -0
  77. package/dist/api/image/_export.d.ts.map +1 -0
  78. package/dist/api/index.d.ts +2 -0
  79. package/dist/api/index.d.ts.map +1 -0
  80. package/dist/api/input/IInputManager.d.ts +53 -0
  81. package/dist/api/input/IInputManager.d.ts.map +1 -0
  82. package/dist/api/input/InputDeviceType.d.ts +18 -0
  83. package/dist/api/input/InputDeviceType.d.ts.map +1 -0
  84. package/dist/api/input/InputManager.d.ts +73 -0
  85. package/dist/api/input/InputManager.d.ts.map +1 -0
  86. package/dist/api/input/Key.d.ts +36 -0
  87. package/dist/api/input/Key.d.ts.map +1 -0
  88. package/dist/api/input/KeyboardState.d.ts +37 -0
  89. package/dist/api/input/KeyboardState.d.ts.map +1 -0
  90. package/dist/api/input/_export.d.ts +14 -0
  91. package/dist/api/input/_export.d.ts.map +1 -0
  92. package/dist/api/input/gamepad/Button.d.ts +22 -0
  93. package/dist/api/input/gamepad/Button.d.ts.map +1 -0
  94. package/dist/api/input/gamepad/GamePadState.d.ts +48 -0
  95. package/dist/api/input/gamepad/GamePadState.d.ts.map +1 -0
  96. package/dist/api/input/gamepad/GamePadThumbSticks.d.ts +17 -0
  97. package/dist/api/input/gamepad/GamePadThumbSticks.d.ts.map +1 -0
  98. package/dist/api/input/mouse/MouseButton.d.ts +10 -0
  99. package/dist/api/input/mouse/MouseButton.d.ts.map +1 -0
  100. package/dist/api/input/mouse/MouseState.d.ts +52 -0
  101. package/dist/api/input/mouse/MouseState.d.ts.map +1 -0
  102. package/dist/api/input/touch/TouchCollection.d.ts +79 -0
  103. package/dist/api/input/touch/TouchCollection.d.ts.map +1 -0
  104. package/dist/api/input/touch/TouchLocation.d.ts +80 -0
  105. package/dist/api/input/touch/TouchLocation.d.ts.map +1 -0
  106. package/dist/api/input/touch/TouchLocationState.d.ts +16 -0
  107. package/dist/api/input/touch/TouchLocationState.d.ts.map +1 -0
  108. package/dist/api/input/touch/TouchPanelCapabilities.d.ts +24 -0
  109. package/dist/api/input/touch/TouchPanelCapabilities.d.ts.map +1 -0
  110. package/dist/api/loaders/IImageLoader.d.ts +20 -0
  111. package/dist/api/loaders/IImageLoader.d.ts.map +1 -0
  112. package/dist/api/loaders/ImageLoader.d.ts +36 -0
  113. package/dist/api/loaders/ImageLoader.d.ts.map +1 -0
  114. package/dist/api/loaders/_export.d.ts +3 -0
  115. package/dist/api/loaders/_export.d.ts.map +1 -0
  116. package/dist/api/material/IMaterial.d.ts +35 -0
  117. package/dist/api/material/IMaterial.d.ts.map +1 -0
  118. package/dist/api/material/IMaterialFactory.d.ts +19 -0
  119. package/dist/api/material/IMaterialFactory.d.ts.map +1 -0
  120. package/dist/api/material/InspectTextureMipsMaterial.d.ts +58 -0
  121. package/dist/api/material/InspectTextureMipsMaterial.d.ts.map +1 -0
  122. package/dist/api/material/MaterialFactory.d.ts +20 -0
  123. package/dist/api/material/MaterialFactory.d.ts.map +1 -0
  124. package/dist/api/material/UnlitMaterial.d.ts +76 -0
  125. package/dist/api/material/UnlitMaterial.d.ts.map +1 -0
  126. package/dist/api/material/_export.d.ts +6 -0
  127. package/dist/api/material/_export.d.ts.map +1 -0
  128. package/dist/api/meshes/IMesh.d.ts +17 -0
  129. package/dist/api/meshes/IMesh.d.ts.map +1 -0
  130. package/dist/api/meshes/IMeshFactory.d.ts +25 -0
  131. package/dist/api/meshes/IMeshFactory.d.ts.map +1 -0
  132. package/dist/api/meshes/Mesh.d.ts +93 -0
  133. package/dist/api/meshes/Mesh.d.ts.map +1 -0
  134. package/dist/api/meshes/MeshFactory.d.ts +23 -0
  135. package/dist/api/meshes/MeshFactory.d.ts.map +1 -0
  136. package/dist/api/meshes/MeshParameters.d.ts +22 -0
  137. package/dist/api/meshes/MeshParameters.d.ts.map +1 -0
  138. package/dist/api/meshes/QuadMesh.d.ts +33 -0
  139. package/dist/api/meshes/QuadMesh.d.ts.map +1 -0
  140. package/dist/api/meshes/_export.d.ts +7 -0
  141. package/dist/api/meshes/_export.d.ts.map +1 -0
  142. package/dist/api/rendering/IGPUInfo.d.ts +35 -0
  143. package/dist/api/rendering/IGPUInfo.d.ts.map +1 -0
  144. package/dist/api/rendering/IGraphicsDevice.d.ts +88 -0
  145. package/dist/api/rendering/IGraphicsDevice.d.ts.map +1 -0
  146. package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts +27 -0
  147. package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts.map +1 -0
  148. package/dist/api/rendering/IRenderer.d.ts +71 -0
  149. package/dist/api/rendering/IRenderer.d.ts.map +1 -0
  150. package/dist/api/rendering/PowerPreference.d.ts +13 -0
  151. package/dist/api/rendering/PowerPreference.d.ts.map +1 -0
  152. package/dist/api/rendering/RenderingBackend.d.ts +18 -0
  153. package/dist/api/rendering/RenderingBackend.d.ts.map +1 -0
  154. package/dist/api/rendering/_export-rendering.d.ts +7 -0
  155. package/dist/api/rendering/_export-rendering.d.ts.map +1 -0
  156. package/dist/api/rendering/blending/IBlendState.d.ts +16 -0
  157. package/dist/api/rendering/blending/IBlendState.d.ts.map +1 -0
  158. package/dist/api/rendering/blending/_export.d.ts +2 -0
  159. package/dist/api/rendering/blending/_export.d.ts.map +1 -0
  160. package/dist/api/rendering/buffers/BufferUsage.d.ts +57 -0
  161. package/dist/api/rendering/buffers/BufferUsage.d.ts.map +1 -0
  162. package/dist/api/rendering/buffers/IBuffer.d.ts +20 -0
  163. package/dist/api/rendering/buffers/IBuffer.d.ts.map +1 -0
  164. package/dist/api/rendering/buffers/IBufferFactory.d.ts +34 -0
  165. package/dist/api/rendering/buffers/IBufferFactory.d.ts.map +1 -0
  166. package/dist/api/rendering/buffers/IIndexBuffer.d.ts +31 -0
  167. package/dist/api/rendering/buffers/IIndexBuffer.d.ts.map +1 -0
  168. package/dist/api/rendering/buffers/IUniformBuffer.d.ts +18 -0
  169. package/dist/api/rendering/buffers/IUniformBuffer.d.ts.map +1 -0
  170. package/dist/api/rendering/buffers/IVertexBuffer.d.ts +26 -0
  171. package/dist/api/rendering/buffers/IVertexBuffer.d.ts.map +1 -0
  172. package/dist/api/rendering/buffers/IVertexBufferLayout.d.ts +23 -0
  173. package/dist/api/rendering/buffers/IVertexBufferLayout.d.ts.map +1 -0
  174. package/dist/api/rendering/buffers/IndexBufferType.d.ts +14 -0
  175. package/dist/api/rendering/buffers/IndexBufferType.d.ts.map +1 -0
  176. package/dist/api/rendering/buffers/VertexAttribute.d.ts +22 -0
  177. package/dist/api/rendering/buffers/VertexAttribute.d.ts.map +1 -0
  178. package/dist/api/rendering/buffers/VertexStepMode.d.ts +14 -0
  179. package/dist/api/rendering/buffers/VertexStepMode.d.ts.map +1 -0
  180. package/dist/api/rendering/buffers/_export-buffers.d.ts +11 -0
  181. package/dist/api/rendering/buffers/_export-buffers.d.ts.map +1 -0
  182. package/dist/{core/renderer → api/rendering}/enums.d.ts.map +1 -1
  183. package/dist/api/rendering/primitive/CullMode.d.ts +18 -0
  184. package/dist/api/rendering/primitive/CullMode.d.ts.map +1 -0
  185. package/dist/api/rendering/primitive/FrontFace.d.ts +14 -0
  186. package/dist/api/rendering/primitive/FrontFace.d.ts.map +1 -0
  187. package/dist/api/rendering/primitive/IPrimitiveState.d.ts +22 -0
  188. package/dist/api/rendering/primitive/IPrimitiveState.d.ts.map +1 -0
  189. package/dist/api/rendering/primitive/PrimitiveStateDescriptor.d.ts +24 -0
  190. package/dist/api/rendering/primitive/PrimitiveStateDescriptor.d.ts.map +1 -0
  191. package/dist/api/rendering/primitive/PrimitiveTopology.d.ts +26 -0
  192. package/dist/api/rendering/primitive/PrimitiveTopology.d.ts.map +1 -0
  193. package/dist/api/rendering/primitive/_export.d.ts +6 -0
  194. package/dist/api/rendering/primitive/_export.d.ts.map +1 -0
  195. package/dist/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.d.ts +33 -0
  196. package/dist/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.d.ts.map +1 -0
  197. package/dist/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.d.ts +18 -0
  198. package/dist/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.d.ts.map +1 -0
  199. package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts +39 -0
  200. package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts.map +1 -0
  201. package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts +42 -0
  202. package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts.map +1 -0
  203. package/dist/api/rendering/render-pipelines/ISpriteRenderPipeline.d.ts +22 -0
  204. package/dist/api/rendering/render-pipelines/ISpriteRenderPipeline.d.ts.map +1 -0
  205. package/dist/api/rendering/render-pipelines/IUnlitRenderPipeline.d.ts +33 -0
  206. package/dist/api/rendering/render-pipelines/IUnlitRenderPipeline.d.ts.map +1 -0
  207. package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts +7 -0
  208. package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts.map +1 -0
  209. package/dist/{core/renderer → api/rendering}/renderer-interface.d.ts +11 -7
  210. package/dist/api/rendering/renderer-interface.d.ts.map +1 -0
  211. package/dist/{core/renderer → api/rendering}/rendering-limits.d.ts.map +1 -1
  212. package/dist/api/rendering/renderpass/IRenderPass.d.ts +15 -0
  213. package/dist/api/rendering/renderpass/IRenderPass.d.ts.map +1 -0
  214. package/dist/api/rendering/renderpass/LoadAction.d.ts +33 -0
  215. package/dist/api/rendering/renderpass/LoadAction.d.ts.map +1 -0
  216. package/dist/api/rendering/renderpass/RenderPassColorAttachment.d.ts +53 -0
  217. package/dist/api/rendering/renderpass/RenderPassColorAttachment.d.ts.map +1 -0
  218. package/dist/api/rendering/renderpass/RenderPassDepthStencilAttachment.d.ts +56 -0
  219. package/dist/api/rendering/renderpass/RenderPassDepthStencilAttachment.d.ts.map +1 -0
  220. package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts +22 -0
  221. package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts.map +1 -0
  222. package/dist/api/rendering/renderpass/StoreAction.d.ts +24 -0
  223. package/dist/api/rendering/renderpass/StoreAction.d.ts.map +1 -0
  224. package/dist/api/rendering/renderpass/_export.d.ts +7 -0
  225. package/dist/api/rendering/renderpass/_export.d.ts.map +1 -0
  226. package/dist/api/rendering/sampler/ISampler.d.ts +43 -0
  227. package/dist/api/rendering/sampler/ISampler.d.ts.map +1 -0
  228. package/dist/api/rendering/sampler/MipMapSamplerFilter.d.ts +18 -0
  229. package/dist/api/rendering/sampler/MipMapSamplerFilter.d.ts.map +1 -0
  230. package/dist/api/rendering/sampler/SamplerAddressMode.d.ts +24 -0
  231. package/dist/api/rendering/sampler/SamplerAddressMode.d.ts.map +1 -0
  232. package/dist/api/rendering/sampler/SamplerDescriptor.d.ts +40 -0
  233. package/dist/api/rendering/sampler/SamplerDescriptor.d.ts.map +1 -0
  234. package/dist/api/rendering/sampler/SamplerFilter.d.ts +14 -0
  235. package/dist/api/rendering/sampler/SamplerFilter.d.ts.map +1 -0
  236. package/dist/api/rendering/sampler/_export.d.ts +6 -0
  237. package/dist/api/rendering/sampler/_export.d.ts.map +1 -0
  238. package/dist/api/rendering/sampler/sampler-enums.d.ts +15 -0
  239. package/dist/api/rendering/sampler/sampler-enums.d.ts.map +1 -0
  240. package/dist/api/rendering/swapchain/ISwapChain.d.ts +29 -0
  241. package/dist/api/rendering/swapchain/ISwapChain.d.ts.map +1 -0
  242. package/dist/api/rendering/swapchain/SurfacePresentMode.d.ts +23 -0
  243. package/dist/api/rendering/swapchain/SurfacePresentMode.d.ts.map +1 -0
  244. package/dist/api/rendering/swapchain/SwapChainDescriptor.d.ts +20 -0
  245. package/dist/api/rendering/swapchain/SwapChainDescriptor.d.ts.map +1 -0
  246. package/dist/api/rendering/swapchain/_export.d.ts +4 -0
  247. package/dist/api/rendering/swapchain/_export.d.ts.map +1 -0
  248. package/dist/api/rendering/texture/ITexture2D.d.ts +83 -0
  249. package/dist/api/rendering/texture/ITexture2D.d.ts.map +1 -0
  250. package/dist/api/rendering/texture/ITextureFactory.d.ts +42 -0
  251. package/dist/api/rendering/texture/ITextureFactory.d.ts.map +1 -0
  252. package/dist/api/rendering/texture/ITextureView.d.ts +17 -0
  253. package/dist/api/rendering/texture/ITextureView.d.ts.map +1 -0
  254. package/dist/api/rendering/texture/TextureDescriptor.d.ts +42 -0
  255. package/dist/api/rendering/texture/TextureDescriptor.d.ts.map +1 -0
  256. package/dist/api/rendering/texture/TextureFormat.d.ts +54 -0
  257. package/dist/api/rendering/texture/TextureFormat.d.ts.map +1 -0
  258. package/dist/api/rendering/texture/TextureUsage.d.ts +42 -0
  259. package/dist/api/rendering/texture/TextureUsage.d.ts.map +1 -0
  260. package/dist/api/rendering/texture/TextureUtilities.d.ts +54 -0
  261. package/dist/api/rendering/texture/TextureUtilities.d.ts.map +1 -0
  262. package/dist/api/rendering/texture/TextureViewDescriptor.d.ts +22 -0
  263. package/dist/api/rendering/texture/TextureViewDescriptor.d.ts.map +1 -0
  264. package/dist/api/rendering/texture/TextureViewDimension.d.ts +17 -0
  265. package/dist/api/rendering/texture/TextureViewDimension.d.ts.map +1 -0
  266. package/dist/api/rendering/texture/_export-texture.d.ts +10 -0
  267. package/dist/api/rendering/texture/_export-texture.d.ts.map +1 -0
  268. package/dist/api/shader/IShaderModule.d.ts +21 -0
  269. package/dist/api/shader/IShaderModule.d.ts.map +1 -0
  270. package/dist/api/shader/IShaderModuleLoader.d.ts +13 -0
  271. package/dist/api/shader/IShaderModuleLoader.d.ts.map +1 -0
  272. package/dist/api/shader/ShaderStage.d.ts +10 -0
  273. package/dist/api/shader/ShaderStage.d.ts.map +1 -0
  274. package/dist/api/shader/_export-shader.d.ts +4 -0
  275. package/dist/api/shader/_export-shader.d.ts.map +1 -0
  276. package/dist/{core → api}/shader/shader-loader.d.ts +1 -1
  277. package/dist/api/shader/shader-loader.d.ts.map +1 -0
  278. package/dist/api/sprites/ISpriteBatch.d.ts +114 -0
  279. package/dist/api/sprites/ISpriteBatch.d.ts.map +1 -0
  280. package/dist/{core/sprite-batch → api/sprites}/SpriteBatch.d.ts +1 -1
  281. package/dist/api/sprites/SpriteBatch.d.ts.map +1 -0
  282. package/dist/{core/sprite-batch → api/sprites}/SpriteBatchDrawable.d.ts +1 -1
  283. package/dist/api/sprites/SpriteBatchDrawable.d.ts.map +1 -0
  284. package/dist/{core/sprite-batch → api/sprites}/SpriteBatchMesh.d.ts +1 -1
  285. package/dist/api/sprites/SpriteBatchMesh.d.ts.map +1 -0
  286. package/dist/api/sprites/_export_sprites.d.ts +2 -0
  287. package/dist/api/sprites/_export_sprites.d.ts.map +1 -0
  288. package/dist/api/time/GameTime.d.ts +23 -0
  289. package/dist/api/time/GameTime.d.ts.map +1 -0
  290. package/dist/api/time/ITimeManager.d.ts +19 -0
  291. package/dist/api/time/ITimeManager.d.ts.map +1 -0
  292. package/dist/api/time/TimeManager.d.ts +15 -0
  293. package/dist/api/time/TimeManager.d.ts.map +1 -0
  294. package/dist/api/time/_export_time.d.ts +4 -0
  295. package/dist/api/time/_export_time.d.ts.map +1 -0
  296. package/dist/api/utilities/AlignUtilities.d.ts +20 -0
  297. package/dist/api/utilities/AlignUtilities.d.ts.map +1 -0
  298. package/dist/api/utilities/GeometryUtilities.d.ts +13 -0
  299. package/dist/api/utilities/GeometryUtilities.d.ts.map +1 -0
  300. package/dist/api/utilities/MathHelper.d.ts +162 -0
  301. package/dist/api/utilities/MathHelper.d.ts.map +1 -0
  302. package/dist/api/utilities/_export.d.ts +4 -0
  303. package/dist/api/utilities/_export.d.ts.map +1 -0
  304. package/dist/api/window/IWindowManager.d.ts +64 -0
  305. package/dist/api/window/IWindowManager.d.ts.map +1 -0
  306. package/dist/api/window/WindowBounds.d.ts +16 -0
  307. package/dist/api/window/WindowBounds.d.ts.map +1 -0
  308. package/dist/{core/window/window-manager.d.ts → api/window/WindowManager.d.ts} +3 -3
  309. package/dist/api/window/WindowManager.d.ts.map +1 -0
  310. package/dist/api/window/_export.d.ts +3 -0
  311. package/dist/api/window/_export.d.ts.map +1 -0
  312. package/dist/core/rendering/AGraphicsDevice.d.ts +10 -6
  313. package/dist/core/rendering/AGraphicsDevice.d.ts.map +1 -1
  314. package/dist/core/rendering/ARenderer.d.ts +4 -5
  315. package/dist/core/rendering/ARenderer.d.ts.map +1 -1
  316. package/dist/core/rendering/blending/enums.d.ts +5 -2
  317. package/dist/core/rendering/blending/enums.d.ts.map +1 -1
  318. package/dist/core/rendering/sampler/sampler-descriptor.d.ts +1 -1
  319. package/dist/core/rendering/sampler/sampler-descriptor.d.ts.map +1 -1
  320. package/dist/core/rendering/texture/texture.d.ts +1 -1
  321. package/dist/core/rendering/texture/texture.d.ts.map +1 -1
  322. package/dist/core/rendering/vertex-buffer-layout.d.ts +2 -3
  323. package/dist/core/rendering/vertex-buffer-layout.d.ts.map +1 -1
  324. package/dist/index.d.ts +3 -2
  325. package/dist/index.d.ts.map +1 -1
  326. package/dist/index.js +4052 -596
  327. package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts +1 -1
  328. package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts.map +1 -1
  329. package/dist/webgl/WebGlGpuInfo.d.ts +1 -1
  330. package/dist/webgl/WebGlGpuInfo.d.ts.map +1 -1
  331. package/dist/webgl/WebGlGraphicsDevice.d.ts +7 -5
  332. package/dist/webgl/WebGlGraphicsDevice.d.ts.map +1 -1
  333. package/dist/webgl/WebGlRenderer.d.ts +3 -3
  334. package/dist/webgl/WebGlRenderer.d.ts.map +1 -1
  335. package/dist/webgl/blending/webgl-blend-state.d.ts +1 -1
  336. package/dist/webgl/blending/webgl-blend-state.d.ts.map +1 -1
  337. package/dist/webgl/buffers/WebGlBuffersFactory.d.ts +1 -1
  338. package/dist/webgl/buffers/WebGlBuffersFactory.d.ts.map +1 -1
  339. package/dist/webgl/buffers/WebGlUniformBuffer.d.ts +1 -1
  340. package/dist/webgl/buffers/WebGlUniformBuffer.d.ts.map +1 -1
  341. package/dist/webgl/buffers/WebGlVertexBuffer.d.ts +6 -6
  342. package/dist/webgl/buffers/WebGlVertexBuffer.d.ts.map +1 -1
  343. package/dist/webgl/buffers/webgl-index-buffer.d.ts +2 -2
  344. package/dist/webgl/buffers/webgl-index-buffer.d.ts.map +1 -1
  345. package/dist/webgl/cast/cast.d.ts +2 -2
  346. package/dist/webgl/cast/cast.d.ts.map +1 -1
  347. package/dist/webgl/primitive/WebGlPrimitiveState.d.ts +1 -3
  348. package/dist/webgl/primitive/WebGlPrimitiveState.d.ts.map +1 -1
  349. package/dist/webgl/render-pass/WebGlRenderPass.d.ts +3 -3
  350. package/dist/webgl/render-pass/WebGlRenderPass.d.ts.map +1 -1
  351. package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts +1 -1
  352. package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts.map +1 -1
  353. package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts +3 -1
  354. package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts.map +1 -1
  355. package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts +1 -1
  356. package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts.map +1 -1
  357. package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts +3 -3
  358. package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts.map +1 -1
  359. package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts +2 -2
  360. package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts.map +1 -1
  361. package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts +2 -2
  362. package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts.map +1 -1
  363. package/dist/webgl/sampler/webgl-sampler.d.ts +1 -1
  364. package/dist/webgl/sampler/webgl-sampler.d.ts.map +1 -1
  365. package/dist/webgl/shader/WebGlShaderModule.d.ts +1 -1
  366. package/dist/webgl/shader/WebGlShaderModule.d.ts.map +1 -1
  367. package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts +1 -1
  368. package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts.map +1 -1
  369. package/dist/webgl/swap-chain/WebGlSwapChain.d.ts +1 -1
  370. package/dist/webgl/swap-chain/WebGlSwapChain.d.ts.map +1 -1
  371. package/dist/webgl/texture/WebGlTexture2D.d.ts +1 -1
  372. package/dist/webgl/texture/WebGlTexture2D.d.ts.map +1 -1
  373. package/dist/webgl/texture/WebGlTextureFactory.d.ts +3 -3
  374. package/dist/webgl/texture/WebGlTextureFactory.d.ts.map +1 -1
  375. package/dist/webgl/utilities/WebGlBufferUtilities.d.ts +1 -1
  376. package/dist/webgl/utilities/WebGlBufferUtilities.d.ts.map +1 -1
  377. package/dist/webgl/utilities/WebGlConverter.d.ts +6 -22
  378. package/dist/webgl/utilities/WebGlConverter.d.ts.map +1 -1
  379. package/dist/webgl/utilities/WebGlFrameBufferUtilities.d.ts +1 -1
  380. package/dist/webgl/utilities/WebGlFrameBufferUtilities.d.ts.map +1 -1
  381. package/dist/webgl/utilities/WebGlSamplerUtilities.d.ts +3 -3
  382. package/dist/webgl/utilities/WebGlSamplerUtilities.d.ts.map +1 -1
  383. package/dist/webgl/utilities/WebGlTextureUtilities.d.ts +5 -5
  384. package/dist/webgl/utilities/WebGlTextureUtilities.d.ts.map +1 -1
  385. package/dist/webgl/utilities/webgl-culling-utilities.d.ts +1 -1
  386. package/dist/webgl/utilities/webgl-culling-utilities.d.ts.map +1 -1
  387. package/dist/webgl/utilities/webgl-filter-anisotropic-utilities.d.ts +1 -1
  388. package/dist/webgl/utilities/webgl-renderbuffer-utilities.d.ts +1 -1
  389. package/dist/webgl/utilities/webgl-renderbuffer-utilities.d.ts.map +1 -1
  390. package/package.json +7 -6
  391. package/shaders/glsl/sprite_fs.glsl +1 -1
  392. package/src/{core/Framework.ts → Framework.ts} +78 -38
  393. package/src/api/FrameworkConfiguration.ts +29 -0
  394. package/src/api/IFramework.ts +153 -0
  395. package/src/api/IFrameworkConfiguration.ts +30 -0
  396. package/src/api/_export.ts +26 -0
  397. package/src/api/camera/CameraFactory.ts +56 -0
  398. package/src/api/camera/ICamera.ts +52 -0
  399. package/src/api/camera/ICameraFactory.ts +69 -0
  400. package/src/api/camera/IOrthographicCamera.ts +38 -0
  401. package/src/api/camera/OrbitCamera.ts +402 -0
  402. package/src/api/camera/OrthographicCamera.ts +257 -0
  403. package/src/api/camera/PerspectiveCamera.ts +206 -0
  404. package/src/api/camera/_export.ts +7 -0
  405. package/src/api/content/ContentConfig.ts +11 -0
  406. package/src/{core → api}/content/ContentManager.ts +4 -3
  407. package/src/api/content/IContent.ts +9 -0
  408. package/src/api/content/IContentManager.ts +41 -0
  409. package/src/api/content/IContentModule.ts +67 -0
  410. package/src/{content → api/content}/ShaderModuleContent.ts +8 -8
  411. package/src/api/content/_export-content.ts +4 -0
  412. package/src/api/core/IDisposable.ts +10 -0
  413. package/src/api/core/_export-core.ts +1 -0
  414. package/src/api/data/Color.ts +228 -0
  415. package/src/api/data/Rect.ts +92 -0
  416. package/src/api/data/State.ts +10 -0
  417. package/src/api/data/_export.ts +3 -0
  418. package/src/{geometry → api/geometry}/BaseGeometry.ts +15 -2
  419. package/src/{geometry → api/geometry}/GeometryBuilder.ts +1 -1
  420. package/src/api/geometry/GeometryFormat.ts +33 -0
  421. package/src/api/geometry/IGeometry.ts +66 -0
  422. package/src/api/geometry/IGeometryBuilder.ts +17 -0
  423. package/src/{VertexFormat.ts → api/geometry/VertexFormat.ts} +3 -7
  424. package/src/api/geometry/_export-geometry.ts +4 -0
  425. package/src/api/image/CpuImageProcessor.ts +125 -0
  426. package/src/api/image/IImageProcessor.ts +28 -0
  427. package/src/api/image/RawImageData.ts +47 -0
  428. package/src/api/image/_export.ts +3 -0
  429. package/src/api/index.ts +1 -0
  430. package/src/api/input/IInputManager.ts +62 -0
  431. package/src/api/input/InputDeviceType.ts +20 -0
  432. package/src/api/input/InputManager.ts +513 -0
  433. package/src/api/input/Key.ts +35 -0
  434. package/src/api/input/KeyboardState.ts +44 -0
  435. package/src/api/input/_export.ts +13 -0
  436. package/src/api/input/gamepad/Button.ts +21 -0
  437. package/src/api/input/gamepad/GamePadState.ts +65 -0
  438. package/src/api/input/gamepad/GamePadThumbSticks.ts +18 -0
  439. package/src/api/input/mouse/MouseButton.ts +9 -0
  440. package/src/api/input/mouse/MouseState.ts +70 -0
  441. package/src/api/input/touch/TouchCollection.ts +164 -0
  442. package/src/api/input/touch/TouchLocation.ts +159 -0
  443. package/src/api/input/touch/TouchLocationState.ts +15 -0
  444. package/src/api/input/touch/TouchPanelCapabilities.ts +31 -0
  445. package/src/api/loaders/IImageLoader.ts +22 -0
  446. package/src/api/loaders/ImageLoader.ts +93 -0
  447. package/src/api/loaders/_export.ts +2 -0
  448. package/src/api/material/IMaterial.ts +41 -0
  449. package/src/api/material/IMaterialFactory.ts +21 -0
  450. package/src/api/material/InspectTextureMipsMaterial.ts +113 -0
  451. package/src/api/material/MaterialFactory.ts +27 -0
  452. package/src/api/material/UnlitMaterial.ts +143 -0
  453. package/src/api/material/_export.ts +5 -0
  454. package/src/api/meshes/IMesh.ts +20 -0
  455. package/src/api/meshes/IMeshFactory.ts +28 -0
  456. package/src/api/meshes/Mesh.ts +256 -0
  457. package/src/api/meshes/MeshFactory.ts +36 -0
  458. package/src/api/meshes/MeshParameters.ts +25 -0
  459. package/src/api/meshes/QuadMesh.ts +104 -0
  460. package/src/api/meshes/_export.ts +6 -0
  461. package/src/api/rendering/IGPUInfo.ts +42 -0
  462. package/src/api/rendering/IGraphicsDevice.ts +103 -0
  463. package/src/api/rendering/IGraphicsDeviceFeatures.ts +32 -0
  464. package/src/api/rendering/IRenderer.ts +84 -0
  465. package/src/api/rendering/PowerPreference.ts +15 -0
  466. package/src/api/rendering/RenderingBackend.ts +20 -0
  467. package/src/api/rendering/_export-rendering.ts +6 -0
  468. package/src/api/rendering/blending/IBlendState.ts +17 -0
  469. package/src/api/rendering/blending/_export.ts +1 -0
  470. package/src/api/rendering/buffers/BufferUsage.ts +56 -0
  471. package/src/api/rendering/buffers/IBuffer.ts +24 -0
  472. package/src/api/rendering/buffers/IBufferFactory.ts +38 -0
  473. package/src/api/rendering/buffers/IIndexBuffer.ts +37 -0
  474. package/src/api/rendering/buffers/IUniformBuffer.ts +21 -0
  475. package/src/api/rendering/buffers/IVertexBuffer.ts +32 -0
  476. package/src/api/rendering/buffers/IVertexBufferLayout.ts +27 -0
  477. package/src/api/rendering/buffers/IndexBufferType.ts +13 -0
  478. package/src/api/rendering/buffers/VertexAttribute.ts +26 -0
  479. package/src/api/rendering/buffers/VertexStepMode.ts +13 -0
  480. package/src/api/rendering/buffers/_export-buffers.ts +11 -0
  481. package/src/api/rendering/primitive/CullMode.ts +17 -0
  482. package/src/api/rendering/primitive/FrontFace.ts +13 -0
  483. package/src/api/rendering/primitive/IPrimitiveState.ts +25 -0
  484. package/src/api/rendering/primitive/PrimitiveStateDescriptor.ts +27 -0
  485. package/src/api/rendering/primitive/PrimitiveTopology.ts +25 -0
  486. package/src/api/rendering/primitive/_export.ts +5 -0
  487. package/src/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.ts +38 -0
  488. package/src/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.ts +21 -0
  489. package/src/api/rendering/render-pipelines/IRenderPipeline.ts +47 -0
  490. package/src/api/rendering/render-pipelines/IRenderPipelineFactory.ts +52 -0
  491. package/src/api/rendering/render-pipelines/ISpriteRenderPipeline.ts +25 -0
  492. package/src/api/rendering/render-pipelines/IUnlitRenderPipeline.ts +38 -0
  493. package/src/api/rendering/render-pipelines/_export-render-pipelines.ts +6 -0
  494. package/src/{core/renderer → api/rendering}/renderer-interface.ts +15 -9
  495. package/src/api/rendering/renderpass/IRenderPass.ts +18 -0
  496. package/src/api/rendering/renderpass/LoadAction.ts +32 -0
  497. package/src/api/rendering/renderpass/RenderPassColorAttachment.ts +61 -0
  498. package/src/api/rendering/renderpass/RenderPassDepthStencilAttachment.ts +76 -0
  499. package/src/api/rendering/renderpass/RenderPassDescriptor.ts +26 -0
  500. package/src/api/rendering/renderpass/StoreAction.ts +23 -0
  501. package/src/api/rendering/renderpass/_export.ts +6 -0
  502. package/src/api/rendering/sampler/ISampler.ts +52 -0
  503. package/src/api/rendering/sampler/MipMapSamplerFilter.ts +17 -0
  504. package/src/api/rendering/sampler/SamplerAddressMode.ts +23 -0
  505. package/src/api/rendering/sampler/SamplerDescriptor.ts +46 -0
  506. package/src/api/rendering/sampler/SamplerFilter.ts +13 -0
  507. package/src/api/rendering/sampler/_export.ts +5 -0
  508. package/src/api/rendering/sampler/sampler-enums.ts +20 -0
  509. package/src/api/rendering/swapchain/ISwapChain.ts +33 -0
  510. package/src/api/rendering/swapchain/SurfacePresentMode.ts +22 -0
  511. package/src/api/rendering/swapchain/SwapChainDescriptor.ts +23 -0
  512. package/src/api/rendering/swapchain/_export.ts +3 -0
  513. package/src/api/rendering/texture/ITexture2D.ts +100 -0
  514. package/src/api/rendering/texture/ITextureFactory.ts +56 -0
  515. package/src/api/rendering/texture/ITextureView.ts +20 -0
  516. package/src/api/rendering/texture/TextureDescriptor.ts +52 -0
  517. package/src/api/rendering/texture/TextureFormat.ts +58 -0
  518. package/src/api/rendering/texture/TextureUsage.ts +41 -0
  519. package/src/api/rendering/texture/TextureUtilities.ts +149 -0
  520. package/src/api/rendering/texture/TextureViewDescriptor.ts +25 -0
  521. package/src/api/rendering/texture/TextureViewDimension.ts +16 -0
  522. package/src/api/rendering/texture/_export-texture.ts +9 -0
  523. package/src/api/shader/IShaderModule.ts +23 -0
  524. package/src/api/shader/IShaderModuleLoader.ts +15 -0
  525. package/src/api/shader/ShaderStage.ts +9 -0
  526. package/src/api/shader/_export-shader.ts +3 -0
  527. package/src/{core → api}/shader/shader-loader.ts +1 -1
  528. package/src/api/sprites/ISpriteBatch.ts +144 -0
  529. package/src/{core/sprite-batch → api/sprites}/SpriteBatch.ts +8 -5
  530. package/src/{core/sprite-batch → api/sprites}/SpriteBatchDrawable.ts +6 -6
  531. package/src/{core/sprite-batch → api/sprites}/SpriteBatchMesh.ts +8 -4
  532. package/src/api/sprites/_export_sprites.ts +1 -0
  533. package/src/api/time/GameTime.ts +30 -0
  534. package/src/api/time/ITimeManager.ts +22 -0
  535. package/src/api/time/TimeManager.ts +33 -0
  536. package/src/api/time/_export_time.ts +3 -0
  537. package/src/api/utilities/AlignUtilities.ts +39 -0
  538. package/src/api/utilities/GeometryUtilities.ts +20 -0
  539. package/src/api/utilities/MathHelper.ts +256 -0
  540. package/src/api/utilities/_export.ts +3 -0
  541. package/src/api/window/IWindowManager.ts +78 -0
  542. package/src/api/window/WindowBounds.ts +17 -0
  543. package/src/{core/window/window-manager.ts → api/window/WindowManager.ts} +2 -2
  544. package/src/api/window/_export.ts +2 -0
  545. package/src/core/rendering/AGraphicsDevice.ts +15 -9
  546. package/src/core/rendering/ARenderer.ts +7 -7
  547. package/src/core/rendering/blending/enums.ts +5 -5
  548. package/src/core/rendering/sampler/sampler-descriptor.ts +1 -1
  549. package/src/core/rendering/texture/texture.ts +4 -3
  550. package/src/core/rendering/vertex-buffer-layout.ts +3 -4
  551. package/src/index.ts +3 -2
  552. package/src/main.ts +5 -10
  553. package/src/webgl/WebGLGraphicsDeviceFeatures.ts +1 -1
  554. package/src/webgl/WebGlGpuInfo.ts +1 -1
  555. package/src/webgl/WebGlGraphicsDevice.ts +19 -15
  556. package/src/webgl/WebGlRenderer.ts +7 -5
  557. package/src/webgl/blending/webgl-blend-state.ts +1 -1
  558. package/src/webgl/buffers/WebGlBuffersFactory.ts +1 -1
  559. package/src/webgl/buffers/WebGlUniformBuffer.ts +1 -1
  560. package/src/webgl/buffers/WebGlVertexBuffer.ts +8 -7
  561. package/src/webgl/buffers/webgl-index-buffer.ts +2 -2
  562. package/src/webgl/cast/cast.ts +2 -2
  563. package/src/webgl/primitive/WebGlPrimitiveState.ts +7 -3
  564. package/src/webgl/render-pass/WebGlRenderPass.ts +17 -8
  565. package/src/webgl/render-pipelines/AWebGlRenderPipeline.ts +1 -1
  566. package/src/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.ts +10 -2
  567. package/src/webgl/render-pipelines/WebGlRenderPipelineFactory.ts +1 -1
  568. package/src/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.ts +3 -3
  569. package/src/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.ts +2 -2
  570. package/src/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.ts +2 -2
  571. package/src/webgl/sampler/webgl-sampler.ts +2 -2
  572. package/src/webgl/shader/WebGlShaderModule.ts +2 -2
  573. package/src/webgl/shader/WebGlShaderModuleLoader.ts +1 -1
  574. package/src/webgl/swap-chain/WebGlSwapChain.ts +1 -1
  575. package/src/webgl/texture/WebGlTexture2D.ts +6 -4
  576. package/src/webgl/texture/WebGlTextureFactory.ts +7 -7
  577. package/src/webgl/utilities/WebGlBufferUtilities.ts +1 -1
  578. package/src/webgl/utilities/WebGlConverter.ts +19 -62
  579. package/src/webgl/utilities/WebGlFrameBufferUtilities.ts +1 -1
  580. package/src/webgl/utilities/WebGlSamplerUtilities.ts +4 -4
  581. package/src/webgl/utilities/WebGlTextureUtilities.ts +29 -20
  582. package/src/webgl/utilities/webgl-culling-utilities.ts +1 -1
  583. package/src/webgl/utilities/webgl-filter-anisotropic-utilities.ts +1 -1
  584. package/src/webgl/utilities/webgl-renderbuffer-utilities.ts +1 -1
  585. package/dist/TextureFormat.d.ts +0 -2
  586. package/dist/TextureFormat.d.ts.map +0 -1
  587. package/dist/VertexFormat.d.ts.map +0 -1
  588. package/dist/_ris-ktx2-node-module-stub-nzBRmiO_.js +0 -10
  589. package/dist/common/sampler-enums.d.ts +0 -16
  590. package/dist/common/sampler-enums.d.ts.map +0 -1
  591. package/dist/common/vertex-step-mode.d.ts +0 -11
  592. package/dist/common/vertex-step-mode.d.ts.map +0 -1
  593. package/dist/content/ShaderModuleContent.d.ts.map +0 -1
  594. package/dist/core/Framework.d.ts.map +0 -1
  595. package/dist/core/FrameworkConfig.d.ts +0 -26
  596. package/dist/core/FrameworkConfig.d.ts.map +0 -1
  597. package/dist/core/buffers/buffers-factory-interface.d.ts +0 -2
  598. package/dist/core/buffers/buffers-factory-interface.d.ts.map +0 -1
  599. package/dist/core/buffers/vertex-buffer-interface.d.ts +0 -2
  600. package/dist/core/buffers/vertex-buffer-interface.d.ts.map +0 -1
  601. package/dist/core/content/ContentManager.d.ts.map +0 -1
  602. package/dist/core/dependency-injection/register-services-interface.d.ts +0 -13
  603. package/dist/core/dependency-injection/register-services-interface.d.ts.map +0 -1
  604. package/dist/core/framework-interface.d.ts +0 -2
  605. package/dist/core/framework-interface.d.ts.map +0 -1
  606. package/dist/core/input/InputManager.d.ts +0 -27
  607. package/dist/core/input/InputManager.d.ts.map +0 -1
  608. package/dist/core/renderer/renderer-interface.d.ts.map +0 -1
  609. package/dist/core/rendering/primitive/PrimitiveStateDescriptor.d.ts +0 -26
  610. package/dist/core/rendering/primitive/PrimitiveStateDescriptor.d.ts.map +0 -1
  611. package/dist/core/rendering/primitive/enums.d.ts +0 -56
  612. package/dist/core/rendering/primitive/enums.d.ts.map +0 -1
  613. package/dist/core/rendering/render-pass/render-pass-descriptor.d.ts +0 -2
  614. package/dist/core/rendering/render-pass/render-pass-descriptor.d.ts.map +0 -1
  615. package/dist/core/rendering/render-pass/render-pass-interface.d.ts +0 -15
  616. package/dist/core/rendering/render-pass/render-pass-interface.d.ts.map +0 -1
  617. package/dist/core/rendering/vertex-attribute.d.ts +0 -17
  618. package/dist/core/rendering/vertex-attribute.d.ts.map +0 -1
  619. package/dist/core/shader/shader-loader.d.ts.map +0 -1
  620. package/dist/core/shader/shader-module-interface.d.ts +0 -2
  621. package/dist/core/shader/shader-module-interface.d.ts.map +0 -1
  622. package/dist/core/sprite-batch/SpriteBatch.d.ts.map +0 -1
  623. package/dist/core/sprite-batch/SpriteBatchDrawable.d.ts.map +0 -1
  624. package/dist/core/sprite-batch/SpriteBatchMesh.d.ts.map +0 -1
  625. package/dist/core/window/window-manager.d.ts.map +0 -1
  626. package/dist/geometry/BaseGeometry.d.ts.map +0 -1
  627. package/dist/geometry/GeometryBuilder.d.ts.map +0 -1
  628. package/dist/geometry/GeometryFormat.d.ts +0 -34
  629. package/dist/geometry/GeometryFormat.d.ts.map +0 -1
  630. package/dist/webgl/utilities/webgl-render-buffer-utilities.d.ts +0 -5
  631. package/dist/webgl/utilities/webgl-render-buffer-utilities.d.ts.map +0 -1
  632. package/src/TextureFormat.ts +0 -0
  633. package/src/common/sampler-enums.ts +0 -21
  634. package/src/common/vertex-step-mode.ts +0 -12
  635. package/src/core/FrameworkConfig.ts +0 -31
  636. package/src/core/buffers/buffers-factory-interface.ts +0 -0
  637. package/src/core/buffers/vertex-buffer-interface.ts +0 -0
  638. package/src/core/dependency-injection/register-services-interface.ts +0 -15
  639. package/src/core/framework-interface.ts +0 -0
  640. package/src/core/input/InputManager.ts +0 -115
  641. package/src/core/rendering/primitive/PrimitiveStateDescriptor.ts +0 -32
  642. package/src/core/rendering/primitive/enums.ts +0 -68
  643. package/src/core/rendering/render-pass/render-pass-descriptor.ts +0 -0
  644. package/src/core/rendering/render-pass/render-pass-interface.ts +0 -17
  645. package/src/core/rendering/vertex-attribute.ts +0 -20
  646. package/src/core/shader/shader-module-interface.ts +0 -1
  647. package/src/counter.ts +0 -9
  648. package/src/geometry/GeometryFormat.ts +0 -37
  649. package/src/webgl/utilities/webgl-render-buffer-utilities.ts +0 -23
  650. /package/dist/{content → api/content}/ShaderModuleContent.d.ts +0 -0
  651. /package/dist/{VertexFormat.d.ts → api/geometry/VertexFormat.d.ts} +0 -0
  652. /package/dist/{core/renderer → api/rendering}/enums.d.ts +0 -0
  653. /package/dist/{core/renderer → api/rendering}/rendering-limits.d.ts +0 -0
  654. /package/src/{core/renderer → api/rendering}/enums.ts +0 -0
  655. /package/src/{core/renderer → api/rendering}/rendering-limits.ts +0 -0
@@ -0,0 +1,78 @@
1
+ import type { IDisposable } from "../core/IDisposable.ts";
2
+ import {WindowBounds} from "./WindowBounds.ts";
3
+ import {vec2} from "gl-matrix";
4
+
5
+ /**
6
+ * The interface for the window manager.
7
+ */
8
+ export interface IWindowManager extends IDisposable {
9
+
10
+ /**
11
+ * Gets the HTMLCanvasElement associated with this WindowManager.
12
+ */
13
+ get canvas(): HTMLCanvasElement;
14
+
15
+ /**
16
+ * If the window manager handles the swap chain.
17
+ * In some cases we don't want to handle the swap chain, for example, when embedding the framework into other applications,
18
+ * such as Avalonia.
19
+ * By default, it is true.
20
+ */
21
+ readonly handleSwapChain: boolean;
22
+
23
+ /**
24
+ * The client bounds or client window size.
25
+ */
26
+ readonly windowBounds: WindowBounds;
27
+
28
+ /**
29
+ * Gets or sets the title of the window.
30
+ */
31
+ title: string;
32
+
33
+ /**
34
+ * Adds a listener that runs on every frame, before the render listeners.
35
+ */
36
+ addUpdateListener(event: () => void): void;
37
+
38
+ /**
39
+ * Removes an update listener. An unknown listener is ignored.
40
+ */
41
+ removeUpdateListener(event: () => void): void;
42
+
43
+ /**
44
+ * Adds a listener that runs on every frame, after the update listeners.
45
+ */
46
+ addRenderListener(event: () => void): void;
47
+
48
+ /**
49
+ * Removes a render listener. An unknown listener is ignored.
50
+ */
51
+ removeRenderListener(event: () => void): void;
52
+
53
+ /**
54
+ * Adds a listener that is called when the window is resized.
55
+ */
56
+ addOnResizeListener(event: (arg1: IWindowManager, arg2: vec2) => void): void;
57
+
58
+ /**
59
+ * Removes a resize listener.
60
+ */
61
+ removeOnResizeListener(event: (arg1: IWindowManager, arg2: vec2) => void): void;
62
+
63
+ /**
64
+ * Initialize the window manager for WebGPU.
65
+ */
66
+ initializeForWebGPU(): void;
67
+
68
+ /**
69
+ * The initialization for WebGL.
70
+ */
71
+ initializeForWebGl(): void;
72
+
73
+ /**
74
+ * Runs the event loop.
75
+ */
76
+ runEventLoop(): void;
77
+
78
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * WindowBounds represents the width and height of a window.
3
+ * @param width - The width of a window. By default, it is 800.
4
+ * @param height - The height of a window. By default, it is 600.
5
+ */
6
+ export class WindowBounds {
7
+
8
+ /**
9
+ * Creates window bounds with the given width and height.
10
+ * @param width - The width of a window. By default, it is 800.
11
+ * @param height - The height of a window. By default, it is 600.
12
+ */
13
+ public constructor(
14
+ public readonly width: number = 800,
15
+ public readonly height: number = 600) {
16
+ }
17
+ }
@@ -1,5 +1,5 @@
1
1
  import type { vec2 } from "gl-matrix";
2
- import {WindowBounds, type IWindowManager} from "ris-framework-api";
2
+ import {WindowBounds, type IWindowManager} from "../index.ts";
3
3
 
4
4
  /**
5
5
  * The implementation of the IWindowManager interface.
@@ -11,7 +11,7 @@ export class WindowManager implements IWindowManager {
11
11
 
12
12
  /**
13
13
  * The constructor for the WindowManager class.
14
- * @param canvas An optional HTMLCanvasElement to associate with the window manager. If <c>null</c>, window manager will create its own canvas.
14
+ * @param canvas An optional HTMLCanvasElement to associate with the window manager. If `null`, the window manager creates its own canvas and appends it to `document.body`.
15
15
  */
16
16
  public constructor(canvas: HTMLCanvasElement | null = null) {
17
17
  this._canvas = canvas ?? document.createElement("canvas");
@@ -0,0 +1,2 @@
1
+ export * from "./IWindowManager.ts";
2
+ export * from "./WindowBounds.ts";
@@ -1,7 +1,5 @@
1
1
  import {BlendStateDescriptor} from "./blending/blend-state-descriptor";
2
2
  import {TextureSamplerFilteringPreset} from "./enums";
3
- import type {PrimitiveStateDescriptor} from "./primitive/PrimitiveStateDescriptor.ts";
4
- import type {IRenderPass} from "./render-pass/render-pass-interface";
5
3
  import {SamplerDescriptor} from "./sampler/sampler-descriptor";
6
4
  import {
7
5
  type IGPUInfo,
@@ -10,20 +8,28 @@ import {
10
8
  type IBlendState,
11
9
  type IPrimitiveState,
12
10
  type IGraphicsDevice, SwapChainDescriptor, type RenderPassDescriptor, SamplerFilter, MipMapSamplerFilter,
13
- type ISwapChain
14
- } from "ris-framework-api";
11
+ type ISwapChain, type IRenderPass, type PrimitiveStateDescriptor
12
+ } from "../../api/index.ts";
13
+ import {PowerPreferenceType} from "../../api/rendering/PowerPreference.ts";
15
14
 
16
15
  /**
17
16
  * The descriptor for the graphics device. This is used to configure the graphics device during initialization.
17
+ * @internal
18
18
  */
19
- export class GraphicsDeviceDescriptor {
19
+ export interface IGraphicsDeviceDescriptor {
20
+
21
+ /** Should back buffer use alpha. */
22
+ alpha: boolean;
23
+
24
+ /** The preference when it comes to selecting GPU device. Only makes sense to set on multi-GPU devices. */
25
+ powerPreference: PowerPreferenceType;
20
26
 
21
27
  /**
22
28
  * Defines the preset for texture sampler filtering.
23
29
  * This is used to configure the default texture sampler in the graphics device.
24
30
  * The default texture sampler is used when a texture is sampled without a specific sampler being bound.
25
31
  */
26
- public samplerFilteringPreset = TextureSamplerFilteringPreset.BILINEAR;
32
+ samplerFilteringPreset: TextureSamplerFilteringPreset;
27
33
  }
28
34
 
29
35
  /**
@@ -31,7 +37,7 @@ export class GraphicsDeviceDescriptor {
31
37
  */
32
38
  export abstract class AGraphicsDevice implements IGraphicsDevice {
33
39
 
34
- protected readonly _descriptor: GraphicsDeviceDescriptor;
40
+ protected readonly _descriptor: IGraphicsDeviceDescriptor;
35
41
  protected _defaultTextureSampler: ISampler = null!;
36
42
  protected _defaultBlendState: IBlendState = null!;
37
43
  protected _defaultPrimitiveState: IPrimitiveState = null!;
@@ -40,7 +46,7 @@ export abstract class AGraphicsDevice implements IGraphicsDevice {
40
46
  * The constructor.
41
47
  * @param descriptor The descriptor for the graphics device. This is used to configure the graphics device during initialization.
42
48
  */
43
- protected constructor(descriptor: GraphicsDeviceDescriptor) {
49
+ protected constructor(descriptor: IGraphicsDeviceDescriptor) {
44
50
  this._descriptor = descriptor;
45
51
  }
46
52
 
@@ -70,7 +76,7 @@ export abstract class AGraphicsDevice implements IGraphicsDevice {
70
76
  * @returns The default texture sampler configured according to the sampler filtering preset specified in the graphics device descriptor.
71
77
  */
72
78
  protected configureAndCreateDefaultSampler(): ISampler {
73
- var samplerDescriptor = new SamplerDescriptor();
79
+ const samplerDescriptor = new SamplerDescriptor();
74
80
  samplerDescriptor.minFilter = this._descriptor.samplerFilteringPreset == TextureSamplerFilteringPreset.POINT ? SamplerFilter.NEAREST : SamplerFilter.LINEAR;
75
81
  samplerDescriptor.magFilter = this._descriptor.samplerFilteringPreset == TextureSamplerFilteringPreset.POINT ? SamplerFilter.NEAREST : SamplerFilter.LINEAR;
76
82
  samplerDescriptor.mipMapFilter = this._descriptor.samplerFilteringPreset == TextureSamplerFilteringPreset.TRILINEAR ? MipMapSamplerFilter.LINEAR : MipMapSamplerFilter.NONE;
@@ -1,16 +1,15 @@
1
- import type { ITempRenderer } from "../renderer/renderer-interface.ts";
2
- import type { IRenderPass } from "./render-pass/render-pass-interface.ts";
1
+ import type { ITempRenderer } from "../../api/rendering/renderer-interface.ts";
3
2
  import type { vec2 } from "gl-matrix";
4
- import type { RenderingLimits } from "../renderer/rendering-limits.ts";
3
+ import type { RenderingLimits } from "../../api/rendering/rendering-limits.ts";
5
4
  import {
6
- type IFramework, type IGraphicsDevice, type IMainRenderTargetRenderPipeline, type ISwapChain,
5
+ type IFramework, type IGraphicsDevice, type IMainRenderTargetRenderPipeline, type IRenderPass, type ISwapChain,
7
6
  type ITexture2D, type IWindowManager,
8
7
  RenderingBackend,
9
8
  RenderPassColorAttachment, RenderPassDepthStencilAttachment,
10
9
  RenderPassDescriptor, SwapChainDescriptor,
11
10
  TextureUsage
12
- } from "ris-framework-api";
13
- import {TextureFormat, Color} from "ris-framework-api";
11
+ } from "../../api/index.ts";
12
+ import {TextureFormat, Color} from "../../api/index.ts";
14
13
 
15
14
  export abstract class ARenderer implements ITempRenderer {
16
15
 
@@ -148,6 +147,7 @@ export abstract class ARenderer implements ITempRenderer {
148
147
 
149
148
  let colorAttachment = new RenderPassColorAttachment();
150
149
  colorAttachment.swapChain = this._swapChain;
150
+ colorAttachment.clearColor = Color.transparent();
151
151
  this._swapChainRenderPass = this._graphicsDevice.createRenderPass({
152
152
  colorAttachments: [colorAttachment],
153
153
  });
@@ -164,7 +164,7 @@ export abstract class ARenderer implements ITempRenderer {
164
164
  // Create a main frame buffer.
165
165
  this._mainRenderTarget = this._framework.textureFactory.createEmpty(
166
166
  this.backBufferSize[0], this.backBufferSize[1],
167
- undefined,
167
+ Color.transparent(),
168
168
  TextureUsage.TEXTURE_BINDING | TextureUsage.RENDER_ATTACHMENT,
169
169
  this.preferredTextureFormat
170
170
  );
@@ -28,13 +28,13 @@ export enum BlendOperation {
28
28
  MAX,
29
29
  }
30
30
 
31
- /// <summary>
32
- /// The blend factor.
33
- /// </summary>
31
+ /**
32
+ * The blend factor.
33
+ */
34
34
  export enum BlendFactor {
35
35
 
36
36
  /**
37
- * <c>1.0</c>
37
+ * `1.0`
38
38
  */
39
39
  ONE,
40
40
 
@@ -44,7 +44,7 @@ export enum BlendFactor {
44
44
  SRC_ALPHA,
45
45
 
46
46
  /**
47
- * <c>1.0 - Source.Alpha</c>, where Source is the color being drawn.
47
+ * `1.0 - Source.Alpha`, where Source is the color being drawn.
48
48
  */
49
49
  ONE_MINUS_SRC_ALPHA,
50
50
  }
@@ -1,4 +1,4 @@
1
- import {MipMapSamplerFilter, SamplerAddressMode, SamplerFilter} from "ris-framework-api";
1
+ import {MipMapSamplerFilter, SamplerAddressMode, SamplerFilter} from "../../../api/index.ts";
2
2
 
3
3
  export class SamplerDescriptor {
4
4
  /**
@@ -5,7 +5,7 @@ import {
5
5
  type TextureFormat,
6
6
  TextureUsage,
7
7
  TextureViewDescriptor
8
- } from "ris-framework-api";
8
+ } from "../../../api/index.ts";
9
9
  import {vec2} from "gl-matrix";
10
10
 
11
11
  /**
@@ -66,9 +66,10 @@ export abstract class ATexture2D implements ITexture2D {
66
66
  /** @inheritDoc */
67
67
  public removeOnDisposedListener(event: (sender: ITexture2D) => void): void {
68
68
 
69
- let index = this._disposedListeners.indexOf(event);
69
+ const index = this._disposedListeners.indexOf(event);
70
70
  if (index > -1) {
71
- this._disposedListeners = this._disposedListeners.splice(index, 1);
71
+ // splice removes in place. Its return value is the removed listener, not the remaining list.
72
+ this._disposedListeners.splice(index, 1);
72
73
  }
73
74
  }
74
75
 
@@ -1,11 +1,10 @@
1
- import { VertexStepMode } from "ris-framework-api";
2
- import type { VertexAttribute } from "./vertex-attribute";
3
- import {VertexFormat} from "../../VertexFormat.ts";
1
+ import {type IVertexBufferLayout, type VertexAttribute, VertexStepMode} from "../../api/index.ts";
2
+ import {VertexFormat} from "../../api/geometry/VertexFormat.ts";
4
3
 
5
4
  /**
6
5
  * Describes the layout of a vertex buffer, including the stride, step mode, and attributes.
7
6
  */
8
- export class VertexBufferLayout {
7
+ export class VertexBufferLayout implements IVertexBufferLayout {
9
8
  /**
10
9
  * Stride in bytes (size of one vertex)
11
10
  */
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
- export {Framework} from "./core/Framework.ts";
2
- export {FrameworkConfig} from "./core/FrameworkConfig.ts";
1
+ export {Framework} from "./Framework.ts";
2
+ export {FrameworkConfiguration} from "./api/FrameworkConfiguration.ts";
3
3
  export {TextureSamplerFilteringPreset} from "./core/rendering/enums.ts";
4
+ export * from "./api/index.ts";
package/src/main.ts CHANGED
@@ -3,9 +3,8 @@ import "reflect-metadata";
3
3
 
4
4
  import typescriptLogo from './typescript.svg'
5
5
  import viteLogo from '/vite.svg'
6
- import {setupCounter} from './counter.ts'
7
- import {Framework} from './core/Framework.ts';
8
- import {FrameworkConfig} from "./core/FrameworkConfig.ts";
6
+ import {Framework} from './Framework.ts';
7
+ import {FrameworkConfiguration} from "./api/FrameworkConfiguration.ts";
9
8
  import {TextureSamplerFilteringPreset} from "./core/rendering/enums.ts";
10
9
  import {
11
10
  Color,
@@ -15,7 +14,7 @@ import {
15
14
  Rect,
16
15
  SamplerDescriptor,
17
16
  SamplerFilter, TextureDescriptor, TextureFormat
18
- } from "ris-framework-api";
17
+ } from "./api/index.ts";
19
18
 
20
19
  document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
21
20
  <div>
@@ -26,18 +25,14 @@ document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
26
25
  <img src="${typescriptLogo}" class="logo vanilla" alt="TypeScript logo" />
27
26
  </a>
28
27
  <h1>Vite + TypeScript</h1>
29
- <div class="card">
30
- <button id="counter" type="button"></button>
31
- </div>
32
28
  <p class="read-the-docs">
33
29
  Click on the Vite and TypeScript logos to learn more
34
30
  </p>
35
31
  </div>
36
32
  `
37
33
 
38
- setupCounter(document.querySelector<HTMLButtonElement>('#counter')!)
39
34
 
40
- const frameworkConfig = new FrameworkConfig();
35
+ const frameworkConfig = new FrameworkConfiguration();
41
36
  frameworkConfig.canvas = document.getElementById("game-canvas") as HTMLCanvasElement;
42
37
  frameworkConfig.textureFiltering = TextureSamplerFilteringPreset.BILINEAR;
43
38
  const framework : IFramework = new Framework(frameworkConfig);
@@ -71,7 +66,7 @@ framework.addOnInitializedListener(() => {
71
66
 
72
67
  framework.addOnRenderListener(() =>
73
68
  {
74
- let spriteBatch = framework.spriteBatch;
69
+ const spriteBatch = framework.spriteBatch;
75
70
 
76
71
  spriteBatch.begin(undefined, sampler);
77
72
  spriteBatch.drawRect(rect, color);
@@ -1,4 +1,4 @@
1
- import type {IGraphicsDeviceFeatures} from "ris-framework-api";
1
+ import type {IGraphicsDeviceFeatures} from "../api/index.ts";
2
2
 
3
3
  /**
4
4
  * The WebGL implementation of the IGraphicsDeviceFeatures interface.
@@ -1,4 +1,4 @@
1
- import {type IGPUInfo, RenderingBackend, TextureFormat} from "ris-framework-api";
1
+ import {type IGPUInfo, RenderingBackend, TextureFormat} from "../api/index.ts";
2
2
  import type {WebGlGraphicsDevice} from "./WebGlGraphicsDevice.ts";
3
3
 
4
4
  /**
@@ -1,25 +1,29 @@
1
- import type {IRenderPass} from "../core/rendering/render-pass/render-pass-interface";
2
1
  import {WebGlSampler} from "./sampler/webgl-sampler";
3
2
  import {WebGlRenderPass} from "./render-pass/WebGlRenderPass.ts";
4
- import {AGraphicsDevice, GraphicsDeviceDescriptor} from "../core/rendering/AGraphicsDevice.ts";
3
+ import {AGraphicsDevice, type IGraphicsDeviceDescriptor} from "../core/rendering/AGraphicsDevice.ts";
5
4
  import {type BlendStateDescriptor} from "../core/rendering/blending/blend-state-descriptor";
6
5
  import {WebGlBlendState} from "./blending/webgl-blend-state";
7
6
  import {WebGlPrimitiveState} from "./primitive/WebGlPrimitiveState.ts";
8
- import {PrimitiveStateDescriptor} from "../core/rendering/primitive/PrimitiveStateDescriptor.ts";
9
7
  import {WebGLGraphicsDeviceFeatures} from "./WebGLGraphicsDeviceFeatures.ts";
10
8
  import {WebGlSwapChain} from "./swap-chain/WebGlSwapChain.ts";
11
9
  import {WebGlGpuInfo} from "./WebGlGpuInfo.ts";
12
- import type {
13
- IBlendState,
14
- IGPUInfo, IPrimitiveState,
15
- ISampler,
16
- ISwapChain,
17
- IWindowManager,
10
+ import type {SamplerDescriptor} from "../core/rendering/sampler/sampler-descriptor.ts";
11
+ import {
12
+ type IBlendState,
13
+ type IGPUInfo, type IPrimitiveState,
14
+ type IRenderPass,
15
+ type ISampler,
16
+ type ISwapChain,
17
+ type IWindowManager,
18
+ PrimitiveStateDescriptor,
18
19
  RenderPassDescriptor,
19
20
  SwapChainDescriptor
20
- } from "ris-framework-api";
21
- import type {SamplerDescriptor} from "../core/rendering/sampler/sampler-descriptor.ts";
21
+ } from "../api/index.ts";
22
22
 
23
+ /**
24
+ * Creates WebGL2 enabled graphics device.
25
+ * @internal
26
+ */
23
27
  export class WebGlGraphicsDevice extends AGraphicsDevice {
24
28
 
25
29
 
@@ -39,7 +43,6 @@ export class WebGlGraphicsDevice extends AGraphicsDevice {
39
43
  throw new Error("Method not implemented.");
40
44
  }
41
45
 
42
-
43
46
  private readonly _windowManager: IWindowManager;
44
47
  private _canvas: HTMLCanvasElement = null!;
45
48
  private _gl: WebGL2RenderingContext = null!;
@@ -51,7 +54,7 @@ export class WebGlGraphicsDevice extends AGraphicsDevice {
51
54
  * @param windowManager The window manager that provides access to the canvas element and other window-related functionalities needed for initializing the graphics device and creating rendering contexts.
52
55
  * @param descriptor The descriptor for the graphics device. This is used to configure the graphics device during initialization.
53
56
  */
54
- public constructor(windowManager: IWindowManager, descriptor: GraphicsDeviceDescriptor) {
57
+ public constructor(windowManager: IWindowManager, descriptor: IGraphicsDeviceDescriptor) {
55
58
 
56
59
  super(descriptor);
57
60
  this._windowManager = windowManager;
@@ -74,15 +77,16 @@ export class WebGlGraphicsDevice extends AGraphicsDevice {
74
77
  return this._gpuInfo;
75
78
  }
76
79
 
77
-
78
80
  /** @inheritdoc */
79
81
  public initialize(): void {
80
82
 
81
83
  this._canvas = this._windowManager.canvas;
82
84
 
85
+ debugger;
83
86
  const contextOptions: WebGLContextAttributes = {
84
87
  antialias: false,
85
- powerPreference: "high-performance", // TODO: Make configurable.
88
+ alpha: this._descriptor.alpha,
89
+ powerPreference: this._descriptor.powerPreference,
86
90
  };
87
91
 
88
92
  this._gl = this._canvas.getContext(
@@ -1,14 +1,14 @@
1
- import { type RenderConfiguration } from "../core/renderer/renderer-interface";
1
+ import { type IRendererConfiguration } from "../api/rendering/renderer-interface.ts";
2
2
  import { ARenderer } from "../core/rendering/ARenderer.ts";
3
3
  import { WebGlGraphicsDevice } from "./WebGlGraphicsDevice.ts";
4
- import type {IFramework, IGraphicsDevice} from "ris-framework-api";
4
+ import type {IFramework, IGraphicsDevice} from "../api/index.ts";
5
5
 
6
6
  /**
7
7
  * The WebGL implementation of the IRenderer interface.
8
8
  */
9
9
  export class WebGlRenderer extends ARenderer {
10
10
 
11
- private _renderConfiguration: RenderConfiguration;
11
+ private _renderConfiguration: IRendererConfiguration;
12
12
 
13
13
  /**
14
14
  * The constructor.
@@ -17,7 +17,7 @@ export class WebGlRenderer extends ARenderer {
17
17
  */
18
18
  constructor(
19
19
  framework: IFramework,
20
- renderConfiguration: RenderConfiguration) {
20
+ renderConfiguration: IRendererConfiguration) {
21
21
  super(framework);
22
22
  this._renderConfiguration = renderConfiguration;
23
23
  }
@@ -25,7 +25,9 @@ export class WebGlRenderer extends ARenderer {
25
25
  /** @inheritdoc */
26
26
  protected createGraphicsDevice(): IGraphicsDevice {
27
27
  return new WebGlGraphicsDevice(this._framework.windowManager, {
28
- samplerFilteringPreset: this._renderConfiguration.textureFiltering
28
+ samplerFilteringPreset: this._renderConfiguration.textureFiltering,
29
+ alpha: this._renderConfiguration.alpha,
30
+ powerPreference: this._renderConfiguration.powerPreference,
29
31
  });
30
32
  }
31
33
  }
@@ -1,7 +1,7 @@
1
1
  import type { BlendStateDescriptor } from "../../core/rendering/blending/blend-state-descriptor";
2
2
  import { WebGlConverter } from "../utilities/WebGlConverter.ts";
3
3
  import type { WebGlGraphicsDevice } from "../WebGlGraphicsDevice.ts";
4
- import type {IBlendState} from "ris-framework-api";
4
+ import type {IBlendState} from "../../api/index.ts";
5
5
 
6
6
  /**
7
7
  * The WebGL blend state.
@@ -7,7 +7,7 @@ import {
7
7
  type IIndexBuffer,
8
8
  type IUniformBuffer,
9
9
  type IVertexBuffer
10
- } from "ris-framework-api";
10
+ } from "../../api/index.ts";
11
11
  import {WebGlUniformBuffer} from "./WebGlUniformBuffer.ts";
12
12
 
13
13
  export class WebGlBuffersFactory implements IBufferFactory {
@@ -1,6 +1,6 @@
1
1
  import { WebGlUtilities } from "../utilities/WebGlUtilities.ts";
2
2
  import type { WebGlGraphicsDevice } from "../WebGlGraphicsDevice.ts";
3
- import {AlignUtilities, type BufferUsage, type IFramework, type IUniformBuffer} from "ris-framework-api";
3
+ import {AlignUtilities, type BufferUsage, type IFramework, type IUniformBuffer} from "../../api/index.ts";
4
4
 
5
5
  /**
6
6
  * The WebGL implementation of the uniform buffer.
@@ -1,6 +1,6 @@
1
1
  import {WebGlUtilities} from "../utilities/WebGlUtilities.ts";
2
2
  import type {WebGlGraphicsDevice} from "../WebGlGraphicsDevice.ts";
3
- import {BufferUsage, type IFramework, type IVertexBuffer} from "ris-framework-api";
3
+ import {BufferUsage, type IFramework, type IVertexBuffer} from "../../api/index.ts";
4
4
 
5
5
  /**
6
6
  * The WebGL implementation of the vertex buffer.
@@ -18,11 +18,11 @@ export class WebGlVertexBuffer implements IVertexBuffer {
18
18
 
19
19
  /**
20
20
  * The constructor.
21
- * @param _framework
22
- * @param dataOrVertexCount
23
- * @param _byteStride
24
- * @param _bufferUsage
25
- * @param _label
21
+ * @param _framework The framework.
22
+ * @param dataOrVertexCount The vertex data, or the number of vertices to allocate.
23
+ * @param _byteStride The size of one vertex in bytes.
24
+ * @param _bufferUsage The buffer usage.
25
+ * @param _label The optional label of the buffer.
26
26
  */
27
27
  constructor(private readonly _framework: IFramework,
28
28
  dataOrVertexCount: ArrayLike<number> | number,
@@ -35,7 +35,8 @@ export class WebGlVertexBuffer implements IVertexBuffer {
35
35
  if (typeof dataOrVertexCount === "number") {
36
36
  this._vertexCount = dataOrVertexCount;
37
37
  this._byteSize = dataOrVertexCount * this._byteStride;
38
- this._data = new Float32Array(dataOrVertexCount);
38
+ // Allocate the whole buffer, not one float per vertex.
39
+ this._data = new Float32Array(this._byteSize / Float32Array.BYTES_PER_ELEMENT);
39
40
  }
40
41
  // Is iterable
41
42
  else {
@@ -1,7 +1,7 @@
1
- import type {IFramework} from "ris-framework-api";
1
+ import type {IFramework} from "../../api/index.ts";
2
2
  import {asWebGLGraphicsDevice} from "../cast/cast";
3
3
  import {WebGlUtilities} from "../utilities/WebGlUtilities.ts";
4
- import {BufferUsage, type IIndexBuffer, IndexBufferType} from "ris-framework-api";
4
+ import {BufferUsage, type IIndexBuffer, IndexBufferType} from "../../api/index.ts";
5
5
 
6
6
  /**
7
7
  * The WebGLIndexBuffer class is an implementation of the IIndexBuffer interface for WebGL.
@@ -1,5 +1,5 @@
1
- import type {IBlendState, IIndexBuffer, ITexture2D, IUniformBuffer, IVertexBuffer} from "ris-framework-api";
2
- import type { ITempRenderer } from "../../core/renderer/renderer-interface";
1
+ import type {IBlendState, IIndexBuffer, ITexture2D, IUniformBuffer, IVertexBuffer} from "../../api/index.ts";
2
+ import type { ITempRenderer } from "../../api/rendering/renderer-interface.ts";
3
3
  import { WebGlBlendState } from "../blending/webgl-blend-state";
4
4
  import { WebGLIndexBuffer } from "../buffers/webgl-index-buffer";
5
5
  import { WebGlUniformBuffer } from "../buffers/WebGlUniformBuffer.ts";
@@ -1,6 +1,10 @@
1
- import { type PrimitiveTopology, CullMode, type FrontFace } from "../../core/rendering/primitive/enums";
2
- import type { PrimitiveStateDescriptor } from "../../core/rendering/primitive/PrimitiveStateDescriptor.ts";
3
- import type { IPrimitiveState } from "ris-framework-api";
1
+ import {
2
+ CullMode,
3
+ type FrontFace,
4
+ type IPrimitiveState,
5
+ type PrimitiveStateDescriptor,
6
+ type PrimitiveTopology
7
+ } from "../../api/index.ts";
4
8
  import { WebGlConverter } from "../utilities/WebGlConverter.ts";
5
9
 
6
10
  /**