@aura3d/rendering 1.5.2 → 2.0.1

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 (574) hide show
  1. package/README.md +8 -2
  2. package/dist/ArchitecturalLighting.d.ts +35 -0
  3. package/dist/ArchitecturalLighting.d.ts.map +1 -0
  4. package/dist/{ArchitecturalLightingFixtures.js → ArchitecturalLighting.js} +3 -12
  5. package/dist/ArchitecturalLighting.js.map +1 -0
  6. package/dist/ArchitecturalMaterialCatalog.d.ts +3 -3
  7. package/dist/ArchitecturalMaterialCatalog.d.ts.map +1 -1
  8. package/dist/ArchitecturalMaterialCatalog.js +1 -1
  9. package/dist/ArchitecturalMaterialCatalog.js.map +1 -1
  10. package/dist/{ArchitecturalMeasurementFixtures.d.ts → ArchitecturalMeasurement.d.ts} +3 -6
  11. package/dist/ArchitecturalMeasurement.d.ts.map +1 -0
  12. package/dist/{ArchitecturalMeasurementFixtures.js → ArchitecturalMeasurement.js} +3 -6
  13. package/dist/ArchitecturalMeasurement.js.map +1 -0
  14. package/dist/{CanonicalSceneFixtures.d.ts → CanonicalProductScene.d.ts} +2 -2
  15. package/dist/CanonicalProductScene.d.ts.map +1 -0
  16. package/dist/{CanonicalSceneFixtures.js → CanonicalProductScene.js} +2 -2
  17. package/dist/CanonicalProductScene.js.map +1 -0
  18. package/dist/CascadedShadowMaps.d.ts +7 -7
  19. package/dist/CascadedShadowMaps.d.ts.map +1 -1
  20. package/dist/CascadedShadowMaps.js +1 -1
  21. package/dist/CascadedShadowMaps.js.map +1 -1
  22. package/dist/ClusteredForwardLighting.d.ts +2 -2
  23. package/dist/DecalGeometry.d.ts +2 -2
  24. package/dist/DepthPass.d.ts +4 -4
  25. package/dist/DepthPass.d.ts.map +1 -1
  26. package/dist/DepthPass.js +2 -2
  27. package/dist/DepthPass.js.map +1 -1
  28. package/dist/EnvironmentBackgroundPass.d.ts +4 -4
  29. package/dist/EnvironmentBackgroundPass.d.ts.map +1 -1
  30. package/dist/EnvironmentBackgroundPass.js +2 -2
  31. package/dist/EnvironmentBackgroundPass.js.map +1 -1
  32. package/dist/EnvironmentBackgroundResources.d.ts +2 -2
  33. package/dist/EnvironmentLighting.d.ts +1 -1
  34. package/dist/EnvironmentMapResources.d.ts +2 -2
  35. package/dist/EnvironmentPipeline.d.ts +2 -2
  36. package/dist/EnvironmentPlatform.d.ts +3 -3
  37. package/dist/EnvironmentPlatform.js +2 -2
  38. package/dist/EnvironmentPlatform.js.map +1 -1
  39. package/dist/EnvironmentPreset.d.ts +1 -1
  40. package/dist/Exposure.d.ts +1 -1
  41. package/dist/ExternalParityRenderPreset.d.ts +3 -3
  42. package/dist/ForwardPass.d.ts +9 -9
  43. package/dist/ForwardPass.d.ts.map +1 -1
  44. package/dist/ForwardPass.js +24 -10
  45. package/dist/ForwardPass.js.map +1 -1
  46. package/dist/Geometry.d.ts +5 -3
  47. package/dist/Geometry.d.ts.map +1 -1
  48. package/dist/Geometry.js +15 -0
  49. package/dist/Geometry.js.map +1 -1
  50. package/dist/GeometryPrimitives.d.ts +2 -2
  51. package/dist/HDRRenderPipeline.d.ts +4 -4
  52. package/dist/IBL.d.ts +4 -4
  53. package/dist/IndexBuffer.d.ts +1 -1
  54. package/dist/InstancedPBRMaterial.d.ts +2 -2
  55. package/dist/InstancedPBRMaterial.js +1 -1
  56. package/dist/InstancedPBRMaterial.js.map +1 -1
  57. package/dist/InstancedUnlitMaterial.d.ts +1 -1
  58. package/dist/InstancedUnlitMaterial.js +1 -1
  59. package/dist/InstancedUnlitMaterial.js.map +1 -1
  60. package/dist/Instancing.d.ts +1 -1
  61. package/dist/LightUniforms.d.ts +2 -2
  62. package/dist/LightingDebug.d.ts +2 -2
  63. package/dist/LightingDefaults.d.ts +2 -2
  64. package/dist/LightingRig.d.ts +1 -1
  65. package/dist/LineGeometry.d.ts +2 -2
  66. package/dist/Material.d.ts +1 -1
  67. package/dist/Material.js +2 -2
  68. package/dist/Material.js.map +1 -1
  69. package/dist/MaterialBinding.d.ts +3 -3
  70. package/dist/MaterialBinding.js +4 -4
  71. package/dist/MaterialBinding.js.map +1 -1
  72. package/dist/MaterialInstance.d.ts +2 -2
  73. package/dist/MaterialInstance.js +2 -2
  74. package/dist/MaterialInstance.js.map +1 -1
  75. package/dist/MaterialPresets.d.ts +2 -2
  76. package/dist/MeshConsolidation.d.ts +2 -2
  77. package/dist/MorphTarget.d.ts +1 -1
  78. package/dist/MorphTargetPlan.d.ts +1 -1
  79. package/dist/MorphUnlitMaterial.d.ts +1 -1
  80. package/dist/MorphUnlitMaterial.js +1 -1
  81. package/dist/MorphUnlitMaterial.js.map +1 -1
  82. package/dist/NormalMappedPBRMaterial.d.ts +4 -4
  83. package/dist/NormalMappedPBRMaterial.js +1 -1
  84. package/dist/NormalMappedPBRMaterial.js.map +1 -1
  85. package/dist/{OceanFixtures.d.ts → OceanSurface.d.ts} +1 -1
  86. package/dist/OceanSurface.d.ts.map +1 -0
  87. package/dist/{OceanFixtures.js → OceanSurface.js} +1 -1
  88. package/dist/OceanSurface.js.map +1 -0
  89. package/dist/PBRLightingDefaults.d.ts +1 -1
  90. package/dist/PBRMaterial.d.ts +2 -2
  91. package/dist/PBRMaterial.d.ts.map +1 -1
  92. package/dist/PBRMaterial.js +3 -3
  93. package/dist/PBRMaterial.js.map +1 -1
  94. package/dist/PMREM.d.ts +2 -2
  95. package/dist/PortableShaderMaterial.d.ts +60 -0
  96. package/dist/PortableShaderMaterial.d.ts.map +1 -0
  97. package/dist/PortableShaderMaterial.js +223 -0
  98. package/dist/PortableShaderMaterial.js.map +1 -0
  99. package/dist/PostProcessPass.d.ts +2 -2
  100. package/dist/PostProcessPass.d.ts.map +1 -1
  101. package/dist/PostProcessPass.js +30 -6
  102. package/dist/PostProcessPass.js.map +1 -1
  103. package/dist/{ProceduralTextureFixtures.d.ts → ProceduralTexture.d.ts} +2 -2
  104. package/dist/ProceduralTexture.d.ts.map +1 -0
  105. package/dist/{ProceduralTextureFixtures.js → ProceduralTexture.js} +1 -1
  106. package/dist/ProceduralTexture.js.map +1 -0
  107. package/dist/{ProductTurntableFixtures.d.ts → ProductTurntable.d.ts} +4 -4
  108. package/dist/ProductTurntable.d.ts.map +1 -0
  109. package/dist/{ProductTurntableFixtures.js → ProductTurntable.js} +2 -2
  110. package/dist/ProductTurntable.js.map +1 -0
  111. package/dist/ReflectionProbe.d.ts +4 -4
  112. package/dist/ReflectionSurfaces.d.ts +2 -2
  113. package/dist/RenderBackend.d.ts +3 -3
  114. package/dist/RenderDevice.d.ts +36 -6
  115. package/dist/RenderDevice.d.ts.map +1 -1
  116. package/dist/RenderDevice.js.map +1 -1
  117. package/dist/RenderGraph.d.ts +1 -1
  118. package/dist/RenderPass.d.ts +1 -1
  119. package/dist/RenderPipeline.d.ts +3 -3
  120. package/dist/RenderQueue.d.ts +2 -2
  121. package/dist/RenderState.d.ts +2 -2
  122. package/dist/Renderer.d.ts +16 -15
  123. package/dist/Renderer.d.ts.map +1 -1
  124. package/dist/Renderer.js +23 -9
  125. package/dist/Renderer.js.map +1 -1
  126. package/dist/RendererFeatureGates.d.ts +1 -1
  127. package/dist/RendererPostprocessPlan.d.ts +1 -1
  128. package/dist/RendererPostprocessPlan.js +4 -4
  129. package/dist/RendererPostprocessPlan.js.map +1 -1
  130. package/dist/RendererVisualPipelineReport.d.ts +4 -4
  131. package/dist/ResourceLifecycle.d.ts +1 -1
  132. package/dist/SceneOptimization.d.ts +2 -2
  133. package/dist/ScreenSpaceLineMaterial.d.ts +1 -1
  134. package/dist/ScreenSpaceLineMaterial.js +1 -1
  135. package/dist/ScreenSpaceLineMaterial.js.map +1 -1
  136. package/dist/ShaderChunks.d.ts.map +1 -1
  137. package/dist/ShaderChunks.js +92 -24
  138. package/dist/ShaderChunks.js.map +1 -1
  139. package/dist/ShaderLibrary.d.ts +2 -78
  140. package/dist/ShaderLibrary.d.ts.map +1 -1
  141. package/dist/ShaderLibrary.js +103 -810
  142. package/dist/ShaderLibrary.js.map +1 -1
  143. package/dist/ShaderLibraryCore.d.ts +100 -0
  144. package/dist/ShaderLibraryCore.d.ts.map +1 -0
  145. package/dist/ShaderLibraryCore.js +792 -0
  146. package/dist/ShaderLibraryCore.js.map +1 -0
  147. package/dist/ShaderModule.d.ts +3 -3
  148. package/dist/ShaderModule.d.ts.map +1 -1
  149. package/dist/ShaderModule.js +4 -2
  150. package/dist/ShaderModule.js.map +1 -1
  151. package/dist/ShaderReflection.d.ts +1 -1
  152. package/dist/ShadowMap.d.ts +1 -1
  153. package/dist/ShadowPass.d.ts +5 -5
  154. package/dist/ShadowPass.d.ts.map +1 -1
  155. package/dist/ShadowPass.js +6 -4
  156. package/dist/ShadowPass.js.map +1 -1
  157. package/dist/ShadowProjection.d.ts +1 -1
  158. package/dist/SkinnedLitMaterial.d.ts +3 -3
  159. package/dist/SkinnedLitMaterial.js +1 -1
  160. package/dist/SkinnedLitMaterial.js.map +1 -1
  161. package/dist/SkinnedUnlitMaterial.d.ts +1 -1
  162. package/dist/SkinnedUnlitMaterial.js +1 -1
  163. package/dist/SkinnedUnlitMaterial.js.map +1 -1
  164. package/dist/SkinningBounds.d.ts +2 -2
  165. package/dist/{SpaceEnvironmentFixtures.d.ts → SpaceEnvironment.d.ts} +4 -9
  166. package/dist/SpaceEnvironment.d.ts.map +1 -0
  167. package/dist/{SpaceEnvironmentFixtures.js → SpaceEnvironment.js} +6 -22
  168. package/dist/SpaceEnvironment.js.map +1 -0
  169. package/dist/SpecularPrefilter.d.ts +1 -1
  170. package/dist/SpriteGeometry.d.ts +1 -1
  171. package/dist/StereoCameraRig.d.ts +1 -1
  172. package/dist/StereoEffects.d.ts +1 -1
  173. package/dist/{TerrainFixtures.d.ts → TerrainHeightfield.d.ts} +2 -2
  174. package/dist/TerrainHeightfield.d.ts.map +1 -0
  175. package/dist/{TerrainFixtures.js → TerrainHeightfield.js} +1 -1
  176. package/dist/TerrainHeightfield.js.map +1 -0
  177. package/dist/TextureBinding.d.ts +16 -2
  178. package/dist/TextureBinding.d.ts.map +1 -1
  179. package/dist/TextureBinding.js +17 -0
  180. package/dist/TextureBinding.js.map +1 -1
  181. package/dist/TexturedPBRMaterial.d.ts +4 -4
  182. package/dist/TexturedPBRMaterial.js +1 -1
  183. package/dist/TexturedPBRMaterial.js.map +1 -1
  184. package/dist/TexturedUnlitMaterial.d.ts +3 -3
  185. package/dist/TexturedUnlitMaterial.js +1 -1
  186. package/dist/TexturedUnlitMaterial.js.map +1 -1
  187. package/dist/ToneMapping.d.ts +1 -1
  188. package/dist/UniformBinder.d.ts +1 -1
  189. package/dist/UnlitMaterial.d.ts +1 -1
  190. package/dist/UnlitMaterial.js +1 -1
  191. package/dist/UnlitMaterial.js.map +1 -1
  192. package/dist/{VegetationFixtures.d.ts → VegetationScatter.d.ts} +2 -2
  193. package/dist/VegetationScatter.d.ts.map +1 -0
  194. package/dist/{VegetationFixtures.js → VegetationScatter.js} +2 -2
  195. package/dist/VegetationScatter.js.map +1 -0
  196. package/dist/VertexBuffer.d.ts +2 -2
  197. package/dist/{VoxelWorldFixtures.d.ts → VoxelWorld.d.ts} +12 -15
  198. package/dist/VoxelWorld.d.ts.map +1 -0
  199. package/dist/{VoxelWorldFixtures.js → VoxelWorld.js} +6 -9
  200. package/dist/VoxelWorld.js.map +1 -0
  201. package/dist/{WeatherFixtures.d.ts → Weather.d.ts} +7 -9
  202. package/dist/Weather.d.ts.map +1 -0
  203. package/dist/{WeatherFixtures.js → Weather.js} +5 -7
  204. package/dist/Weather.js.map +1 -0
  205. package/dist/WebGL2Device.d.ts +23 -1
  206. package/dist/WebGL2Device.d.ts.map +1 -1
  207. package/dist/WebGL2Device.js +134 -23
  208. package/dist/WebGL2Device.js.map +1 -1
  209. package/dist/WebGPUDevice.d.ts +20 -3
  210. package/dist/WebGPUDevice.d.ts.map +1 -1
  211. package/dist/WebGPUDevice.js +188 -9
  212. package/dist/WebGPUDevice.js.map +1 -1
  213. package/dist/WebGPURenderToTextureProof.d.ts +1 -1
  214. package/dist/advanced-runtime/AdvancedRenderer.d.ts +3 -3
  215. package/dist/advanced-runtime/index.d.ts +9 -9
  216. package/dist/cinematic/BloomPass.d.ts +1 -1
  217. package/dist/cinematic/CinematicDepthComposition.d.ts +1 -1
  218. package/dist/cinematic/CinematicLightingRig.d.ts +2 -2
  219. package/dist/cinematic/CinematicMaterialPresets.d.ts +2 -2
  220. package/dist/cinematic/CinematicPostProcess.d.ts +6 -6
  221. package/dist/cinematic/DepthHazePass.d.ts +1 -1
  222. package/dist/cinematic/EmissivePracticalLightSystem.d.ts +2 -2
  223. package/dist/cinematic/FilmGrainPass.d.ts +1 -1
  224. package/dist/cinematic/FogVolumeSystem.d.ts +1 -1
  225. package/dist/cinematic/GlowCardSystem.d.ts +2 -2
  226. package/dist/cinematic/RainParticleSystem.d.ts +2 -2
  227. package/dist/cinematic/VignettePass.d.ts +1 -1
  228. package/dist/cinematic/WetReflectionApproximation.d.ts +1 -1
  229. package/dist/cinematic/index.d.ts +14 -14
  230. package/dist/index.d.ts +230 -237
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +35 -19
  233. package/dist/index.js.map +1 -1
  234. package/dist/lean/LeanProductRenderer.d.ts +29 -0
  235. package/dist/lean/LeanProductRenderer.d.ts.map +1 -0
  236. package/dist/lean/LeanProductRenderer.js +38 -0
  237. package/dist/lean/LeanProductRenderer.js.map +1 -0
  238. package/dist/lean/LeanProductionRenderer.d.ts +38 -0
  239. package/dist/lean/LeanProductionRenderer.d.ts.map +1 -0
  240. package/dist/lean/LeanProductionRenderer.js +88 -0
  241. package/dist/lean/LeanProductionRenderer.js.map +1 -0
  242. package/dist/lean-runtime.d.ts +18 -0
  243. package/dist/lean-runtime.d.ts.map +1 -0
  244. package/dist/lean-runtime.js +13 -0
  245. package/dist/lean-runtime.js.map +1 -0
  246. package/dist/materials/PhysicalMaterial.d.ts +1 -1
  247. package/dist/performance/BVH.d.ts +2 -2
  248. package/dist/performance/Batcher.d.ts +2 -2
  249. package/dist/performance/FrustumCuller.d.ts +1 -1
  250. package/dist/performance/Octree.d.ts +1 -1
  251. package/dist/postprocess/BloomPass.d.ts +1 -1
  252. package/dist/postprocess/CinematicDiagnostics.d.ts +1 -1
  253. package/dist/postprocess/ColorGradingPass.d.ts +1 -1
  254. package/dist/postprocess/DepthOfFieldPass.d.ts +1 -1
  255. package/dist/postprocess/EffectComposer.d.ts +3 -3
  256. package/dist/postprocess/EffectComposer.d.ts.map +1 -1
  257. package/dist/postprocess/EffectComposer.js +1 -3
  258. package/dist/postprocess/EffectComposer.js.map +1 -1
  259. package/dist/postprocess/SSAOPass.d.ts +1 -1
  260. package/dist/postprocess/index.d.ts +10 -10
  261. package/dist/production-runtime/AnimationControlsPipeline.d.ts +1 -1
  262. package/dist/production-runtime/PBRHDRPipeline.d.ts +4 -4
  263. package/dist/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  264. package/dist/production-runtime/PBRHDRPipeline.js +5 -1
  265. package/dist/production-runtime/PBRHDRPipeline.js.map +1 -1
  266. package/dist/production-runtime/ProductionEffectsPipeline.d.ts +2 -2
  267. package/dist/production-runtime/ProductionRendererTypes.d.ts +11 -2
  268. package/dist/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  269. package/dist/production-runtime/ProductionRendererTypes.js.map +1 -1
  270. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts +8 -3
  271. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  272. package/dist/production-runtime/ProductionRuntimeRenderer.js +53 -5
  273. package/dist/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  274. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts +14 -4
  275. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  276. package/dist/production-runtime/ProductionWebGL2Renderer.js +21 -2
  277. package/dist/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  278. package/dist/production-runtime/ProductionWebGPURenderer.d.ts +4 -4
  279. package/dist/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  280. package/dist/production-runtime/ProductionWebGPURenderer.js +4 -1
  281. package/dist/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  282. package/dist/production-runtime/TransmissionBackdropCapture.d.ts +3 -3
  283. package/dist/production-runtime/backends/RendererBackend.d.ts +1 -1
  284. package/dist/production-runtime/backends/WebGL2RendererBackend.d.ts +3 -3
  285. package/dist/production-runtime/backends/WebGPURendererBackend.d.ts +1 -1
  286. package/dist/production-runtime/backends/webgl2/WebGL2StateCache.d.ts +1 -1
  287. package/dist/production-runtime/diagnostics/FrameCapture.d.ts +1 -1
  288. package/dist/production-runtime/environment/HDRLoader.d.ts +2 -2
  289. package/dist/production-runtime/environment/PMREMGenerator.d.ts +1 -1
  290. package/dist/production-runtime/framegraph/FrameGraph.d.ts +1 -1
  291. package/dist/production-runtime/geometry/ProjectedDecalGeometry.d.ts +1 -1
  292. package/dist/production-runtime/index.d.ts +74 -74
  293. package/dist/production-runtime/lights/LightManager.d.ts +1 -1
  294. package/dist/production-runtime/lights/ShadowMapRenderer.d.ts +1 -1
  295. package/dist/production-runtime/materials/GLTFMaterialAdapter.d.ts +1 -1
  296. package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts +2 -2
  297. package/dist/production-runtime/materials/MaterialCompiler.d.ts +2 -2
  298. package/dist/production-runtime/materials/MaterialTextureBindings.d.ts +1 -1
  299. package/dist/production-runtime/passes/ContactShadowPass.d.ts +1 -1
  300. package/dist/production-runtime/passes/DepthPrepass.d.ts +1 -1
  301. package/dist/production-runtime/passes/OpaquePass.d.ts +1 -1
  302. package/dist/production-runtime/passes/ShadowPass.d.ts +1 -1
  303. package/dist/production-runtime/passes/SkyboxPass.d.ts +1 -1
  304. package/dist/production-runtime/passes/ToneMappingPass.d.ts +1 -1
  305. package/dist/production-runtime/passes/TransparentPass.d.ts +1 -1
  306. package/dist/production-runtime/postprocess/BloomPass.d.ts +2 -2
  307. package/dist/production-runtime/postprocess/ColorGradingPass.d.ts +2 -2
  308. package/dist/production-runtime/postprocess/DOFPass.d.ts +2 -2
  309. package/dist/production-runtime/postprocess/FXAAPass.d.ts +2 -2
  310. package/dist/production-runtime/postprocess/ProductionEffectComposer.d.ts +1 -1
  311. package/dist/production-runtime/postprocess/ProductionPostProcessTypes.d.ts +1 -1
  312. package/dist/production-runtime/postprocess/SSAOPass.d.ts +2 -2
  313. package/dist/production-runtime/resources/RenderTarget.d.ts +1 -1
  314. package/dist/production-runtime/scene/RenderableMesh.d.ts +1 -1
  315. package/dist/production-runtime/scene/RenderableScene.d.ts +3 -3
  316. package/dist/shadows/CascadedShadowPipeline.d.ts +1 -1
  317. package/dist/shadows/ShadowDebugViews.d.ts +2 -2
  318. package/dist/threejs-example-parity/index.d.ts +4 -4
  319. package/dist/webgpu/WebGPUBuffer.d.ts +1 -1
  320. package/dist/webgpu/WebGPUCompute.d.ts +2 -2
  321. package/dist/webgpu/WebGPUPostProcess.d.ts +2 -2
  322. package/dist/webgpu/WebGPUTexture.d.ts +2 -2
  323. package/dist/webgpu.d.ts +25 -0
  324. package/dist/webgpu.d.ts.map +1 -0
  325. package/dist/webgpu.js +24 -0
  326. package/dist/webgpu.js.map +1 -0
  327. package/package.json +11 -3
  328. package/dist/ArchitecturalLightingFixtures.d.ts +0 -40
  329. package/dist/ArchitecturalLightingFixtures.d.ts.map +0 -1
  330. package/dist/ArchitecturalLightingFixtures.js.map +0 -1
  331. package/dist/ArchitecturalMeasurementFixtures.d.ts.map +0 -1
  332. package/dist/ArchitecturalMeasurementFixtures.js.map +0 -1
  333. package/dist/CanonicalSceneFixtures.d.ts.map +0 -1
  334. package/dist/CanonicalSceneFixtures.js.map +0 -1
  335. package/dist/CullingFixtures.d.ts +0 -70
  336. package/dist/CullingFixtures.d.ts.map +0 -1
  337. package/dist/CullingFixtures.js +0 -191
  338. package/dist/CullingFixtures.js.map +0 -1
  339. package/dist/OceanFixtures.d.ts.map +0 -1
  340. package/dist/OceanFixtures.js.map +0 -1
  341. package/dist/ProceduralTextureFixtures.d.ts.map +0 -1
  342. package/dist/ProceduralTextureFixtures.js.map +0 -1
  343. package/dist/ProductTurntableFixtures.d.ts.map +0 -1
  344. package/dist/ProductTurntableFixtures.js.map +0 -1
  345. package/dist/SpaceEnvironmentFixtures.d.ts.map +0 -1
  346. package/dist/SpaceEnvironmentFixtures.js.map +0 -1
  347. package/dist/TerrainFixtures.d.ts.map +0 -1
  348. package/dist/TerrainFixtures.js.map +0 -1
  349. package/dist/VegetationFixtures.d.ts.map +0 -1
  350. package/dist/VegetationFixtures.js.map +0 -1
  351. package/dist/VoxelWorldFixtures.d.ts.map +0 -1
  352. package/dist/VoxelWorldFixtures.js.map +0 -1
  353. package/dist/WeatherFixtures.d.ts.map +0 -1
  354. package/dist/WeatherFixtures.js.map +0 -1
  355. package/dist/cartoon/CartoonMaterialStyle.d.ts +0 -19
  356. package/dist/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
  357. package/dist/cartoon/CartoonMaterialStyle.js +0 -13
  358. package/dist/cartoon/CartoonMaterialStyle.js.map +0 -1
  359. package/dist/cartoon/CartoonRenderPreset.d.ts +0 -36
  360. package/dist/cartoon/CartoonRenderPreset.d.ts.map +0 -1
  361. package/dist/cartoon/CartoonRenderPreset.js +0 -23
  362. package/dist/cartoon/CartoonRenderPreset.js.map +0 -1
  363. package/dist/cartoon/CartoonToonMaterial.d.ts +0 -130
  364. package/dist/cartoon/CartoonToonMaterial.d.ts.map +0 -1
  365. package/dist/cartoon/CartoonToonMaterial.js +0 -303
  366. package/dist/cartoon/CartoonToonMaterial.js.map +0 -1
  367. package/dist/cartoon/CartoonVisualQuality.d.ts +0 -28
  368. package/dist/cartoon/CartoonVisualQuality.d.ts.map +0 -1
  369. package/dist/cartoon/CartoonVisualQuality.js +0 -39
  370. package/dist/cartoon/CartoonVisualQuality.js.map +0 -1
  371. package/dist/cartoon/applyCartoonRenderPreset.d.ts +0 -79
  372. package/dist/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
  373. package/dist/cartoon/applyCartoonRenderPreset.js +0 -88
  374. package/dist/cartoon/applyCartoonRenderPreset.js.map +0 -1
  375. package/dist/cartoon/index.d.ts +0 -6
  376. package/dist/cartoon/index.d.ts.map +0 -1
  377. package/dist/cartoon/index.js +0 -6
  378. package/dist/cartoon/index.js.map +0 -1
  379. package/dist/threejs-compatibility/InstancingSystem.d.ts +0 -10
  380. package/dist/threejs-compatibility/InstancingSystem.d.ts.map +0 -1
  381. package/dist/threejs-compatibility/InstancingSystem.js +0 -11
  382. package/dist/threejs-compatibility/InstancingSystem.js.map +0 -1
  383. package/dist/threejs-compatibility/LightingSystem.d.ts +0 -11
  384. package/dist/threejs-compatibility/LightingSystem.d.ts.map +0 -1
  385. package/dist/threejs-compatibility/LightingSystem.js +0 -14
  386. package/dist/threejs-compatibility/LightingSystem.js.map +0 -1
  387. package/dist/threejs-compatibility/MaterialSystem.d.ts +0 -6
  388. package/dist/threejs-compatibility/MaterialSystem.d.ts.map +0 -1
  389. package/dist/threejs-compatibility/MaterialSystem.js +0 -7
  390. package/dist/threejs-compatibility/MaterialSystem.js.map +0 -1
  391. package/dist/threejs-compatibility/RenderTargetSystem.d.ts +0 -16
  392. package/dist/threejs-compatibility/RenderTargetSystem.d.ts.map +0 -1
  393. package/dist/threejs-compatibility/RenderTargetSystem.js +0 -23
  394. package/dist/threejs-compatibility/RenderTargetSystem.js.map +0 -1
  395. package/dist/threejs-compatibility/RendererDiagnostics.d.ts +0 -27
  396. package/dist/threejs-compatibility/RendererDiagnostics.d.ts.map +0 -1
  397. package/dist/threejs-compatibility/RendererDiagnostics.js +0 -41
  398. package/dist/threejs-compatibility/RendererDiagnostics.js.map +0 -1
  399. package/dist/threejs-compatibility/SceneRenderer.d.ts +0 -19
  400. package/dist/threejs-compatibility/SceneRenderer.d.ts.map +0 -1
  401. package/dist/threejs-compatibility/SceneRenderer.js +0 -18
  402. package/dist/threejs-compatibility/SceneRenderer.js.map +0 -1
  403. package/dist/threejs-compatibility/ShadowSystem.d.ts +0 -11
  404. package/dist/threejs-compatibility/ShadowSystem.d.ts.map +0 -1
  405. package/dist/threejs-compatibility/ShadowSystem.js +0 -12
  406. package/dist/threejs-compatibility/ShadowSystem.js.map +0 -1
  407. package/dist/threejs-compatibility/TextureSystem.d.ts +0 -9
  408. package/dist/threejs-compatibility/TextureSystem.d.ts.map +0 -1
  409. package/dist/threejs-compatibility/TextureSystem.js +0 -14
  410. package/dist/threejs-compatibility/TextureSystem.js.map +0 -1
  411. package/dist/threejs-compatibility/ThreeCompatRenderer.d.ts +0 -37
  412. package/dist/threejs-compatibility/ThreeCompatRenderer.d.ts.map +0 -1
  413. package/dist/threejs-compatibility/ThreeCompatRenderer.js +0 -77
  414. package/dist/threejs-compatibility/ThreeCompatRenderer.js.map +0 -1
  415. package/dist/threejs-compatibility/TransparencySystem.d.ts +0 -11
  416. package/dist/threejs-compatibility/TransparencySystem.d.ts.map +0 -1
  417. package/dist/threejs-compatibility/TransparencySystem.js +0 -12
  418. package/dist/threejs-compatibility/TransparencySystem.js.map +0 -1
  419. package/dist/threejs-compatibility/index.d.ts +0 -25
  420. package/dist/threejs-compatibility/index.d.ts.map +0 -1
  421. package/dist/threejs-compatibility/index.js +0 -15
  422. package/dist/threejs-compatibility/index.js.map +0 -1
  423. package/dist/threejs-compatibility/performance/BVH.d.ts +0 -11
  424. package/dist/threejs-compatibility/performance/BVH.d.ts.map +0 -1
  425. package/dist/threejs-compatibility/performance/BVH.js +0 -10
  426. package/dist/threejs-compatibility/performance/BVH.js.map +0 -1
  427. package/dist/threejs-compatibility/performance/FrustumCulling.d.ts +0 -7
  428. package/dist/threejs-compatibility/performance/FrustumCulling.d.ts.map +0 -1
  429. package/dist/threejs-compatibility/performance/FrustumCulling.js +0 -5
  430. package/dist/threejs-compatibility/performance/FrustumCulling.js.map +0 -1
  431. package/dist/threejs-compatibility/performance/Instancing.d.ts +0 -7
  432. package/dist/threejs-compatibility/performance/Instancing.d.ts.map +0 -1
  433. package/dist/threejs-compatibility/performance/Instancing.js +0 -10
  434. package/dist/threejs-compatibility/performance/Instancing.js.map +0 -1
  435. package/dist/threejs-compatibility/performance/LODSystem.d.ts +0 -9
  436. package/dist/threejs-compatibility/performance/LODSystem.d.ts.map +0 -1
  437. package/dist/threejs-compatibility/performance/LODSystem.js +0 -11
  438. package/dist/threejs-compatibility/performance/LODSystem.js.map +0 -1
  439. package/dist/threejs-compatibility/performance/OcclusionCulling.d.ts +0 -3
  440. package/dist/threejs-compatibility/performance/OcclusionCulling.d.ts.map +0 -1
  441. package/dist/threejs-compatibility/performance/OcclusionCulling.js +0 -5
  442. package/dist/threejs-compatibility/performance/OcclusionCulling.js.map +0 -1
  443. package/dist/threejs-compatibility/performance/RaycastAcceleration.d.ts +0 -8
  444. package/dist/threejs-compatibility/performance/RaycastAcceleration.d.ts.map +0 -1
  445. package/dist/threejs-compatibility/performance/RaycastAcceleration.js +0 -11
  446. package/dist/threejs-compatibility/performance/RaycastAcceleration.js.map +0 -1
  447. package/dist/threejs-compatibility/performance/RendererProfiler.d.ts +0 -11
  448. package/dist/threejs-compatibility/performance/RendererProfiler.d.ts.map +0 -1
  449. package/dist/threejs-compatibility/performance/RendererProfiler.js +0 -10
  450. package/dist/threejs-compatibility/performance/RendererProfiler.js.map +0 -1
  451. package/dist/threejs-compatibility/performance/TextureStreaming.d.ts +0 -7
  452. package/dist/threejs-compatibility/performance/TextureStreaming.d.ts.map +0 -1
  453. package/dist/threejs-compatibility/performance/TextureStreaming.js +0 -10
  454. package/dist/threejs-compatibility/performance/TextureStreaming.js.map +0 -1
  455. package/dist/threejs-compatibility/performance/index.d.ts +0 -13
  456. package/dist/threejs-compatibility/performance/index.d.ts.map +0 -1
  457. package/dist/threejs-compatibility/performance/index.js +0 -9
  458. package/dist/threejs-compatibility/performance/index.js.map +0 -1
  459. package/dist/threejs-compatibility/postprocess/BloomPass.d.ts +0 -9
  460. package/dist/threejs-compatibility/postprocess/BloomPass.d.ts.map +0 -1
  461. package/dist/threejs-compatibility/postprocess/BloomPass.js +0 -14
  462. package/dist/threejs-compatibility/postprocess/BloomPass.js.map +0 -1
  463. package/dist/threejs-compatibility/postprocess/ColorGradingPass.d.ts +0 -10
  464. package/dist/threejs-compatibility/postprocess/ColorGradingPass.d.ts.map +0 -1
  465. package/dist/threejs-compatibility/postprocess/ColorGradingPass.js +0 -16
  466. package/dist/threejs-compatibility/postprocess/ColorGradingPass.js.map +0 -1
  467. package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts +0 -9
  468. package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts.map +0 -1
  469. package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.js +0 -19
  470. package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.js.map +0 -1
  471. package/dist/threejs-compatibility/postprocess/EffectComposer.d.ts +0 -7
  472. package/dist/threejs-compatibility/postprocess/EffectComposer.d.ts.map +0 -1
  473. package/dist/threejs-compatibility/postprocess/EffectComposer.js +0 -11
  474. package/dist/threejs-compatibility/postprocess/EffectComposer.js.map +0 -1
  475. package/dist/threejs-compatibility/postprocess/FXAAPass.d.ts +0 -7
  476. package/dist/threejs-compatibility/postprocess/FXAAPass.d.ts.map +0 -1
  477. package/dist/threejs-compatibility/postprocess/FXAAPass.js +0 -10
  478. package/dist/threejs-compatibility/postprocess/FXAAPass.js.map +0 -1
  479. package/dist/threejs-compatibility/postprocess/MotionBlurPass.d.ts +0 -9
  480. package/dist/threejs-compatibility/postprocess/MotionBlurPass.d.ts.map +0 -1
  481. package/dist/threejs-compatibility/postprocess/MotionBlurPass.js +0 -18
  482. package/dist/threejs-compatibility/postprocess/MotionBlurPass.js.map +0 -1
  483. package/dist/threejs-compatibility/postprocess/OutlinePass.d.ts +0 -9
  484. package/dist/threejs-compatibility/postprocess/OutlinePass.d.ts.map +0 -1
  485. package/dist/threejs-compatibility/postprocess/OutlinePass.js +0 -19
  486. package/dist/threejs-compatibility/postprocess/OutlinePass.js.map +0 -1
  487. package/dist/threejs-compatibility/postprocess/PostProcessTypes.d.ts +0 -42
  488. package/dist/threejs-compatibility/postprocess/PostProcessTypes.d.ts.map +0 -1
  489. package/dist/threejs-compatibility/postprocess/PostProcessTypes.js +0 -123
  490. package/dist/threejs-compatibility/postprocess/PostProcessTypes.js.map +0 -1
  491. package/dist/threejs-compatibility/postprocess/RenderPass.d.ts +0 -7
  492. package/dist/threejs-compatibility/postprocess/RenderPass.d.ts.map +0 -1
  493. package/dist/threejs-compatibility/postprocess/RenderPass.js +0 -8
  494. package/dist/threejs-compatibility/postprocess/RenderPass.js.map +0 -1
  495. package/dist/threejs-compatibility/postprocess/SMAAPass.d.ts +0 -7
  496. package/dist/threejs-compatibility/postprocess/SMAAPass.d.ts.map +0 -1
  497. package/dist/threejs-compatibility/postprocess/SMAAPass.js +0 -10
  498. package/dist/threejs-compatibility/postprocess/SMAAPass.js.map +0 -1
  499. package/dist/threejs-compatibility/postprocess/SSAOPass.d.ts +0 -9
  500. package/dist/threejs-compatibility/postprocess/SSAOPass.d.ts.map +0 -1
  501. package/dist/threejs-compatibility/postprocess/SSAOPass.js +0 -19
  502. package/dist/threejs-compatibility/postprocess/SSAOPass.js.map +0 -1
  503. package/dist/threejs-compatibility/postprocess/ShaderPass.d.ts +0 -9
  504. package/dist/threejs-compatibility/postprocess/ShaderPass.d.ts.map +0 -1
  505. package/dist/threejs-compatibility/postprocess/ShaderPass.js +0 -11
  506. package/dist/threejs-compatibility/postprocess/ShaderPass.js.map +0 -1
  507. package/dist/threejs-compatibility/postprocess/TAAPass.d.ts +0 -7
  508. package/dist/threejs-compatibility/postprocess/TAAPass.d.ts.map +0 -1
  509. package/dist/threejs-compatibility/postprocess/TAAPass.js +0 -10
  510. package/dist/threejs-compatibility/postprocess/TAAPass.js.map +0 -1
  511. package/dist/threejs-compatibility/postprocess/VignettePass.d.ts +0 -9
  512. package/dist/threejs-compatibility/postprocess/VignettePass.d.ts.map +0 -1
  513. package/dist/threejs-compatibility/postprocess/VignettePass.js +0 -14
  514. package/dist/threejs-compatibility/postprocess/VignettePass.js.map +0 -1
  515. package/dist/threejs-compatibility/postprocess/index.d.ts +0 -16
  516. package/dist/threejs-compatibility/postprocess/index.d.ts.map +0 -1
  517. package/dist/threejs-compatibility/postprocess/index.js +0 -15
  518. package/dist/threejs-compatibility/postprocess/index.js.map +0 -1
  519. package/dist/threejs-compatibility/shaders/NodeMaterial.d.ts +0 -14
  520. package/dist/threejs-compatibility/shaders/NodeMaterial.d.ts.map +0 -1
  521. package/dist/threejs-compatibility/shaders/NodeMaterial.js +0 -15
  522. package/dist/threejs-compatibility/shaders/NodeMaterial.js.map +0 -1
  523. package/dist/threejs-compatibility/shaders/RawShaderMaterial.d.ts +0 -6
  524. package/dist/threejs-compatibility/shaders/RawShaderMaterial.d.ts.map +0 -1
  525. package/dist/threejs-compatibility/shaders/RawShaderMaterial.js +0 -6
  526. package/dist/threejs-compatibility/shaders/RawShaderMaterial.js.map +0 -1
  527. package/dist/threejs-compatibility/shaders/ShaderDiagnostics.d.ts +0 -7
  528. package/dist/threejs-compatibility/shaders/ShaderDiagnostics.d.ts.map +0 -1
  529. package/dist/threejs-compatibility/shaders/ShaderDiagnostics.js +0 -12
  530. package/dist/threejs-compatibility/shaders/ShaderDiagnostics.js.map +0 -1
  531. package/dist/threejs-compatibility/shaders/ShaderMaterial.d.ts +0 -12
  532. package/dist/threejs-compatibility/shaders/ShaderMaterial.d.ts.map +0 -1
  533. package/dist/threejs-compatibility/shaders/ShaderMaterial.js +0 -20
  534. package/dist/threejs-compatibility/shaders/ShaderMaterial.js.map +0 -1
  535. package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts +0 -7
  536. package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts.map +0 -1
  537. package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.js +0 -7
  538. package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.js.map +0 -1
  539. package/dist/threejs-compatibility/shaders/Uniforms.d.ts +0 -8
  540. package/dist/threejs-compatibility/shaders/Uniforms.d.ts.map +0 -1
  541. package/dist/threejs-compatibility/shaders/Uniforms.js +0 -14
  542. package/dist/threejs-compatibility/shaders/Uniforms.js.map +0 -1
  543. package/dist/threejs-compatibility/shaders/index.d.ts +0 -10
  544. package/dist/threejs-compatibility/shaders/index.d.ts.map +0 -1
  545. package/dist/threejs-compatibility/shaders/index.js +0 -7
  546. package/dist/threejs-compatibility/shaders/index.js.map +0 -1
  547. package/dist/threejs-compatibility/vfx/GPUPointCloud.d.ts +0 -7
  548. package/dist/threejs-compatibility/vfx/GPUPointCloud.d.ts.map +0 -1
  549. package/dist/threejs-compatibility/vfx/GPUPointCloud.js +0 -12
  550. package/dist/threejs-compatibility/vfx/GPUPointCloud.js.map +0 -1
  551. package/dist/threejs-compatibility/vfx/LineRenderer.d.ts +0 -10
  552. package/dist/threejs-compatibility/vfx/LineRenderer.d.ts.map +0 -1
  553. package/dist/threejs-compatibility/vfx/LineRenderer.js +0 -7
  554. package/dist/threejs-compatibility/vfx/LineRenderer.js.map +0 -1
  555. package/dist/threejs-compatibility/vfx/ParticleSystem.d.ts +0 -12
  556. package/dist/threejs-compatibility/vfx/ParticleSystem.d.ts.map +0 -1
  557. package/dist/threejs-compatibility/vfx/ParticleSystem.js +0 -15
  558. package/dist/threejs-compatibility/vfx/ParticleSystem.js.map +0 -1
  559. package/dist/threejs-compatibility/vfx/SpriteSystem.d.ts +0 -11
  560. package/dist/threejs-compatibility/vfx/SpriteSystem.d.ts.map +0 -1
  561. package/dist/threejs-compatibility/vfx/SpriteSystem.js +0 -7
  562. package/dist/threejs-compatibility/vfx/SpriteSystem.js.map +0 -1
  563. package/dist/threejs-compatibility/vfx/TrailRenderer.d.ts +0 -5
  564. package/dist/threejs-compatibility/vfx/TrailRenderer.d.ts.map +0 -1
  565. package/dist/threejs-compatibility/vfx/TrailRenderer.js +0 -9
  566. package/dist/threejs-compatibility/vfx/TrailRenderer.js.map +0 -1
  567. package/dist/threejs-compatibility/vfx/VFXDiagnostics.d.ts +0 -21
  568. package/dist/threejs-compatibility/vfx/VFXDiagnostics.d.ts.map +0 -1
  569. package/dist/threejs-compatibility/vfx/VFXDiagnostics.js +0 -12
  570. package/dist/threejs-compatibility/vfx/VFXDiagnostics.js.map +0 -1
  571. package/dist/threejs-compatibility/vfx/index.d.ts +0 -10
  572. package/dist/threejs-compatibility/vfx/index.d.ts.map +0 -1
  573. package/dist/threejs-compatibility/vfx/index.js +0 -7
  574. package/dist/threejs-compatibility/vfx/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { type BufferUsage, type DrawCommand, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderSources } from "./RenderDevice";
1
+ import { type BufferUsage, type DrawCommand, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderCompilationDiagnostic, type ShaderSources } from "./RenderDevice.js";
2
2
  export interface WebGPULike {
3
3
  requestAdapter(): Promise<WebGPUAdapterLike | null>;
4
4
  getPreferredCanvasFormat?(): string;
@@ -20,7 +20,7 @@ export interface WebGPUDeviceLike {
20
20
  createShaderModule?(descriptor: {
21
21
  readonly label?: string;
22
22
  readonly code: string;
23
- }): unknown;
23
+ }): WebGPUShaderModuleLike;
24
24
  createRenderPipeline?(descriptor: WebGPURenderPipelineDescriptorLike): WebGPURenderPipelineLike;
25
25
  createBindGroup?(descriptor: WebGPUBindGroupDescriptorLike): WebGPUBindGroupLike;
26
26
  createTexture?(descriptor: WebGPUTextureDescriptorLike): WebGPUTextureLike;
@@ -34,6 +34,17 @@ export interface WebGPUDeviceLostInfoLike {
34
34
  readonly reason?: string;
35
35
  readonly message?: string;
36
36
  }
37
+ export interface WebGPUShaderModuleLike {
38
+ readonly [key: string]: unknown;
39
+ getCompilationInfo?(): Promise<{
40
+ readonly messages: readonly {
41
+ readonly type: "error" | "warning" | "info";
42
+ readonly message: string;
43
+ readonly lineNum?: number;
44
+ readonly linePos?: number;
45
+ }[];
46
+ }>;
47
+ }
37
48
  export interface WebGPUQueueLike {
38
49
  writeBuffer(buffer: WebGPUBufferLike, offset: number, data: ArrayBuffer | ArrayBufferView, dataOffset?: number, size?: number): void;
39
50
  writeTexture?(destination: WebGPUImageCopyTextureLike, data: ArrayBuffer | ArrayBufferView, dataLayout: WebGPUImageDataLayoutLike, size: WebGPUExtent3DLike): void;
@@ -209,7 +220,7 @@ export interface WebGPUDeviceOptions {
209
220
  readonly canvas?: HTMLCanvasElement | OffscreenCanvas;
210
221
  readonly presentationFormat?: string;
211
222
  }
212
- export { MAX_WEBGPU_SKINNING_JOINTS } from "./WebGPUSkinningLimits";
223
+ export { MAX_WEBGPU_SKINNING_JOINTS } from "./WebGPUSkinningLimits.js";
213
224
  export declare class WebGPUDevice implements RenderDevice {
214
225
  private readonly adapter;
215
226
  private readonly device;
@@ -227,6 +238,10 @@ export declare class WebGPUDevice implements RenderDevice {
227
238
  private clearColor;
228
239
  private lastError;
229
240
  private nativeSubmissions;
241
+ private nativeRenderPipelinesCreated;
242
+ private nativeRenderPasses;
243
+ private nativeTextureUploads;
244
+ private nativeTextureReadbacks;
230
245
  private nativeTextureBindings;
231
246
  private nativeGeneratedBasicSubmissions;
232
247
  private nativeGeneratedTextureSubmissions;
@@ -256,6 +271,7 @@ export declare class WebGPUDevice implements RenderDevice {
256
271
  updateBuffer(buffer: RenderBuffer, byteOffset: number, data: ArrayBufferView): void;
257
272
  readBuffer(buffer: RenderBuffer, byteOffset?: number, byteLength?: number): Uint8Array;
258
273
  createShaderProgram(sources: ShaderSources): RenderShaderProgram;
274
+ getShaderCompilationDiagnostics(sources: ShaderSources): Promise<readonly ShaderCompilationDiagnostic[]>;
259
275
  createRenderTarget(descriptor: RenderTargetDescriptor): RenderTarget;
260
276
  setRenderTarget(target: RenderTarget | null): void;
261
277
  writeRenderTargetPixels(target: RenderTarget, pixels: Uint8Array): void;
@@ -286,6 +302,7 @@ export declare class WebGPUDevice implements RenderDevice {
286
302
  private createNativePbrTextureBindings;
287
303
  private createNativeFallbackSampledTextureBinding;
288
304
  private createNativeDrawUniformBuffer;
305
+ private createNativePortableBindings;
289
306
  private currentCanvasView;
290
307
  private ensureCanvasDepthAttachment;
291
308
  private clearActiveRenderTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { RenderDeviceError, viewBytes } from "./RenderDevice.js";
2
2
  import { MAX_WEBGPU_SKINNING_JOINTS } from "./WebGPUSkinningLimits.js";
3
3
  import { reflectShaderSources } from "./ShaderReflection.js";
4
4
  import { Texture, bytesPerPixel, isCompressedTextureFormat } from "./Texture.js";
5
- import { TextureBinding } from "./TextureBinding.js";
5
+ import { isTextureBinding, TextureBinding } from "./TextureBinding.js";
6
6
  import {} from "./VertexFormat.js";
7
7
  const BUFFER_USAGE = {
8
8
  MAP_READ: 0x0001,
@@ -55,9 +55,10 @@ class WebGPUShaderProgram {
55
55
  modules;
56
56
  entryPoints;
57
57
  nativeUniformLayout;
58
+ portableBindings;
58
59
  disposed = false;
59
60
  renderPipelines = new Map();
60
- constructor(id, label, marker, reflection, modules, entryPoints, nativeUniformLayout) {
61
+ constructor(id, label, marker, reflection, modules, entryPoints, nativeUniformLayout, portableBindings) {
61
62
  this.id = id;
62
63
  this.label = label;
63
64
  this.marker = marker;
@@ -65,6 +66,7 @@ class WebGPUShaderProgram {
65
66
  this.modules = modules;
66
67
  this.entryPoints = entryPoints;
67
68
  this.nativeUniformLayout = nativeUniformLayout;
69
+ this.portableBindings = portableBindings;
68
70
  }
69
71
  dispose() {
70
72
  this.disposed = true;
@@ -141,6 +143,10 @@ export class WebGPUDevice {
141
143
  clearColor = [0, 0, 0, 1];
142
144
  lastError = null;
143
145
  nativeSubmissions = 0;
146
+ nativeRenderPipelinesCreated = 0;
147
+ nativeRenderPasses = 0;
148
+ nativeTextureUploads = 0;
149
+ nativeTextureReadbacks = 0;
144
150
  nativeTextureBindings = 0;
145
151
  nativeGeneratedBasicSubmissions = 0;
146
152
  nativeGeneratedTextureSubmissions = 0;
@@ -288,10 +294,35 @@ export class WebGPUDevice {
288
294
  this.device.createShaderModule({ label: `${sources.label}-fragment`, code: nativeSources.fragment })
289
295
  ]
290
296
  : [];
291
- const shader = new WebGPUShaderProgram(this.nextId++, sources.label, sources.marker, reflectShaderSources(sources), modules, nativeSources.entryPoints, nativeSources.uniformLayout);
297
+ const shader = new WebGPUShaderProgram(this.nextId++, sources.label, sources.marker, reflectShaderSources(sources), modules, nativeSources.entryPoints, nativeSources.uniformLayout, nativeSources.portableBindings ?? []);
292
298
  this.shaders.add(shader);
293
299
  return shader;
294
300
  }
301
+ async getShaderCompilationDiagnostics(sources) {
302
+ this.assertAlive();
303
+ if (!this.device.createShaderModule)
304
+ return [];
305
+ const native = createNativeShaderSources(sources);
306
+ const stages = [
307
+ { stage: "vertex", code: native.vertex },
308
+ { stage: "fragment", code: native.fragment }
309
+ ];
310
+ const diagnostics = [];
311
+ for (const candidate of stages) {
312
+ const module = this.device.createShaderModule({ label: `${sources.label}-${candidate.stage}-diagnostics`, code: candidate.code });
313
+ const info = await module.getCompilationInfo?.();
314
+ for (const message of info?.messages ?? []) {
315
+ diagnostics.push({
316
+ stage: candidate.stage,
317
+ severity: message.type,
318
+ message: message.message,
319
+ ...(message.lineNum === undefined ? {} : { line: message.lineNum }),
320
+ ...(message.linePos === undefined ? {} : { column: message.linePos })
321
+ });
322
+ }
323
+ }
324
+ return diagnostics;
325
+ }
295
326
  createRenderTarget(descriptor) {
296
327
  this.assertAlive();
297
328
  if (!Number.isInteger(descriptor.width) ||
@@ -383,6 +414,7 @@ export class WebGPUDevice {
383
414
  }
384
415
  if (webgpuTarget.nativeTexture && webgpuTarget.colorTexture.format === "rgba8" && hasNativeTextureUpload(this.device)) {
385
416
  this.device.queue.writeTexture({ texture: webgpuTarget.nativeTexture }, pixels, { bytesPerRow: webgpuTarget.width * 4, rowsPerImage: webgpuTarget.height }, { width: webgpuTarget.width, height: webgpuTarget.height, depthOrArrayLayers: 1 });
417
+ this.nativeTextureUploads += 1;
386
418
  webgpuTarget.nativeNeedsClear = false;
387
419
  }
388
420
  }
@@ -509,6 +541,7 @@ export class WebGPUDevice {
509
541
  output.set(mapped.subarray(sourceOffset, sourceOffset + unpaddedBytesPerRow), destOffset);
510
542
  }
511
543
  unmap.call(readback);
544
+ this.nativeTextureReadbacks += 1;
512
545
  return output;
513
546
  }
514
547
  finally {
@@ -599,6 +632,7 @@ export class WebGPUDevice {
599
632
  }
600
633
  }
601
634
  unmap.call(readback);
635
+ this.nativeTextureReadbacks += 1;
602
636
  return output;
603
637
  }
604
638
  finally {
@@ -752,6 +786,10 @@ export class WebGPUDevice {
752
786
  ["presentationFormat", this.presentationFormat],
753
787
  ["drawCalls", this.drawCalls],
754
788
  ["nativeSubmissions", this.nativeSubmissions],
789
+ ["nativeRenderPipelinesCreated", this.nativeRenderPipelinesCreated],
790
+ ["nativeRenderPasses", this.nativeRenderPasses],
791
+ ["nativeTextureUploads", this.nativeTextureUploads],
792
+ ["nativeTextureReadbacks", this.nativeTextureReadbacks],
755
793
  ["nativeTextureBindings", this.nativeTextureBindings],
756
794
  ["nativeGeneratedBasicSubmissions", this.nativeGeneratedBasicSubmissions],
757
795
  ["nativeGeneratedTextureSubmissions", this.nativeGeneratedTextureSubmissions],
@@ -788,6 +826,10 @@ export class WebGPUDevice {
788
826
  disposedRenderTargets: [...this.renderTargets].filter((target) => target.disposed).length,
789
827
  disposedTextures: [...this.renderTargets].reduce((total, target) => total + (target.colorTexture.disposed ? 1 : 0) + (target.depthTexture?.disposed ? 1 : 0), 0),
790
828
  nativeSubmissions: this.nativeSubmissions,
829
+ nativeRenderPipelinesCreated: this.nativeRenderPipelinesCreated,
830
+ nativeRenderPasses: this.nativeRenderPasses,
831
+ nativeTextureUploads: this.nativeTextureUploads,
832
+ nativeTextureReadbacks: this.nativeTextureReadbacks,
791
833
  nativeTextureBindings: this.nativeTextureBindings,
792
834
  nativeGeneratedBasicSubmissions: this.nativeGeneratedBasicSubmissions,
793
835
  nativeGeneratedTextureSubmissions: this.nativeGeneratedTextureSubmissions,
@@ -1010,9 +1052,13 @@ export class WebGPUDevice {
1010
1052
  }
1011
1053
  : {})
1012
1054
  });
1055
+ this.nativeRenderPipelinesCreated += 1;
1013
1056
  shader.renderPipelines.set(pipelineKey, pipeline);
1014
1057
  }
1015
1058
  const encoder = this.device.createCommandEncoder({ label: `${command.label ?? "draw"}-encoder` });
1059
+ const portableResources = shader.nativeUniformLayout === "portable"
1060
+ ? this.createNativePortableBindings(command, shader.portableBindings)
1061
+ : null;
1016
1062
  const uniformBuffer = usesNativeDrawUniforms(shader.nativeUniformLayout) ? this.createNativeDrawUniformBuffer(command) : null;
1017
1063
  const sampledTexture = shader.nativeUniformLayout === "generated-texture" ? this.createNativeSampledTextureBinding(uniformBaseColorTextureBinding(command.uniforms)) : null;
1018
1064
  const materialTextures = usesNativePbrTextureBindings(shader.nativeUniformLayout) ? this.createNativePbrTextureBindings(command) : null;
@@ -1024,11 +1070,13 @@ export class WebGPUDevice {
1024
1070
  uniformBuffer?.destroy();
1025
1071
  return;
1026
1072
  }
1027
- const bindGroup = uniformBuffer && pipeline.getBindGroupLayout && this.device.createBindGroup
1073
+ if (shader.nativeUniformLayout === "portable" && !portableResources)
1074
+ return;
1075
+ const bindGroup = (uniformBuffer || portableResources) && pipeline.getBindGroupLayout && this.device.createBindGroup
1028
1076
  ? this.device.createBindGroup({
1029
1077
  label: `${command.label ?? "draw"}-draw-bind-group`,
1030
1078
  layout: pipeline.getBindGroupLayout(0),
1031
- entries: [
1079
+ entries: portableResources?.entries ?? [
1032
1080
  { binding: 0, resource: { buffer: uniformBuffer } },
1033
1081
  ...(sampledTexture ? [
1034
1082
  { binding: 1, resource: sampledTexture.sampler },
@@ -1075,6 +1123,7 @@ export class WebGPUDevice {
1075
1123
  }
1076
1124
  : {})
1077
1125
  });
1126
+ this.nativeRenderPasses += 1;
1078
1127
  pass.setPipeline(pipeline);
1079
1128
  pass.setVertexBuffer(0, vertexBuffer.handle);
1080
1129
  if (bindGroup)
@@ -1083,6 +1132,7 @@ export class WebGPUDevice {
1083
1132
  if (!pass.setIndexBuffer || !pass.drawIndexed) {
1084
1133
  pass.end();
1085
1134
  uniformBuffer?.destroy();
1135
+ portableResources?.buffer.destroy();
1086
1136
  this.lastError = "Native WebGPU indexed draw skipped because the render-pass encoder does not expose indexed draw APIs.";
1087
1137
  return;
1088
1138
  }
@@ -1098,6 +1148,7 @@ export class WebGPUDevice {
1098
1148
  if (this.activeRenderTarget)
1099
1149
  this.activeRenderTarget.nativeNeedsClear = false;
1100
1150
  uniformBuffer?.destroy();
1151
+ portableResources?.buffer.destroy();
1101
1152
  this.nativeSubmissions += 1;
1102
1153
  if (sampledTexture)
1103
1154
  this.nativeTextureBindings += 1;
@@ -1107,6 +1158,10 @@ export class WebGPUDevice {
1107
1158
  this.nativeGeneratedTextureSubmissions += 1;
1108
1159
  if (shader.nativeUniformLayout === "passthrough")
1109
1160
  this.nativePassthroughSubmissions += 1;
1161
+ if (shader.nativeUniformLayout === "portable") {
1162
+ this.nativePassthroughSubmissions += 1;
1163
+ this.nativeTextureBindings += portableResources?.actualTextureCount ?? 0;
1164
+ }
1110
1165
  if (shader.nativeUniformLayout === "generated-pbr" || shader.nativeUniformLayout === "generated-textured-pbr" || shader.nativeUniformLayout === "generated-instanced-pbr")
1111
1166
  this.nativePbrSubmissions += 1;
1112
1167
  if (shader.nativeUniformLayout === "generated-instanced-pbr")
@@ -1157,6 +1212,7 @@ export class WebGPUDevice {
1157
1212
  }
1158
1213
  : {})
1159
1214
  });
1215
+ this.nativeRenderPasses += 1;
1160
1216
  pass.end();
1161
1217
  this.device.queue.submit([encoder.finish()]);
1162
1218
  target.nativeNeedsClear = false;
@@ -1183,6 +1239,7 @@ export class WebGPUDevice {
1183
1239
  return null;
1184
1240
  sourceLevels.forEach((level, mipLevel) => {
1185
1241
  writeTexture.call(this.device.queue, { texture: nativeTexture, mipLevel }, level.data, { bytesPerRow: level.bytesPerRow, rowsPerImage: level.height }, { width: level.width, height: level.height, depthOrArrayLayers: 1 });
1242
+ this.nativeTextureUploads += 1;
1186
1243
  });
1187
1244
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1188
1245
  }
@@ -1206,6 +1263,7 @@ export class WebGPUDevice {
1206
1263
  });
1207
1264
  for (const [mipLevel, level] of levels.entries()) {
1208
1265
  this.device.queue.writeTexture({ texture: nativeTexture, mipLevel }, level.data, { bytesPerRow: level.width * levelBytesPerPixel, rowsPerImage: level.height }, { width: level.width, height: level.height, depthOrArrayLayers: 1 });
1266
+ this.nativeTextureUploads += 1;
1209
1267
  }
1210
1268
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1211
1269
  }
@@ -1279,6 +1337,7 @@ export class WebGPUDevice {
1279
1337
  usage: TEXTURE_USAGE.TEXTURE_BINDING | TEXTURE_USAGE.COPY_DST
1280
1338
  });
1281
1339
  this.device.queue.writeTexture({ texture: nativeTexture }, new Uint8Array(rgba), { bytesPerRow: 4, rowsPerImage: 1 }, { width: 1, height: 1, depthOrArrayLayers: 1 });
1340
+ this.nativeTextureUploads += 1;
1282
1341
  resource = { texture: nativeTexture, view: nativeTexture.createView() };
1283
1342
  this.nativeSampledTextures.set(`fallback:${key}`, resource);
1284
1343
  }
@@ -1361,6 +1420,43 @@ export class WebGPUDevice {
1361
1420
  this.device.queue.writeBuffer(buffer, 0, data);
1362
1421
  return buffer;
1363
1422
  }
1423
+ createNativePortableBindings(command, bindings) {
1424
+ if (!this.device.createBindGroup)
1425
+ return null;
1426
+ const numericBindings = bindings.filter((binding) => binding.kind !== "texture2d");
1427
+ const layout = portableUniformLayout(numericBindings);
1428
+ const bytes = new ArrayBuffer(Math.max(16, layout.byteLength));
1429
+ const view = new DataView(bytes);
1430
+ for (const field of layout.fields) {
1431
+ writePortableUniform(view, field.byteOffset, field.binding.kind, command.uniforms?.get(field.binding.name));
1432
+ }
1433
+ const buffer = this.device.createBuffer({
1434
+ label: `${command.label ?? "draw"}-portable-uniforms`,
1435
+ size: bytes.byteLength,
1436
+ usage: BUFFER_USAGE.UNIFORM | BUFFER_USAGE.COPY_DST
1437
+ });
1438
+ this.device.queue.writeBuffer(buffer, 0, new Uint8Array(bytes));
1439
+ const entries = [{ binding: 0, resource: { buffer } }];
1440
+ let bindingIndex = 1;
1441
+ let actualTextureCount = 0;
1442
+ for (const descriptor of bindings) {
1443
+ if (descriptor.kind !== "texture2d")
1444
+ continue;
1445
+ const actual = this.createNativeSampledTextureBinding(uniformTextureBinding(command.uniforms, descriptor.name));
1446
+ const sampled = actual ?? (descriptor.required === false
1447
+ ? this.createNativeFallbackSampledTextureBinding("portable-white", [255, 255, 255, 255], "linear")
1448
+ : null);
1449
+ if (!sampled) {
1450
+ buffer.destroy();
1451
+ return null;
1452
+ }
1453
+ if (actual?.actual)
1454
+ actualTextureCount += 1;
1455
+ entries.push({ binding: bindingIndex++, resource: sampled.sampler });
1456
+ entries.push({ binding: bindingIndex++, resource: sampled.view });
1457
+ }
1458
+ return { buffer, entries, actualTextureCount };
1459
+ }
1364
1460
  currentCanvasView() {
1365
1461
  if (!this.canvasContext)
1366
1462
  return null;
@@ -1626,7 +1722,7 @@ function webgpuMaxAnisotropy(maxAnisotropy, minFilter, magFilter, mipmapFilter)
1626
1722
  return Math.min(16, Math.max(1, Math.floor(maxAnisotropy)));
1627
1723
  }
1628
1724
  function usesNativeDrawUniforms(layout) {
1629
- return layout !== "passthrough";
1725
+ return layout !== "passthrough" && layout !== "portable";
1630
1726
  }
1631
1727
  function usesNativePbrTextureBindings(layout) {
1632
1728
  return layout === "generated-pbr" ||
@@ -1686,14 +1782,14 @@ function uniformBaseColorTextureBinding(uniforms) {
1686
1782
  if (!uniforms)
1687
1783
  return null;
1688
1784
  const direct = uniforms.get("u_texture") ?? uniforms.get("u_baseColorTexture") ?? uniforms.get("baseColorTexture");
1689
- if (direct instanceof TextureBinding && direct.texture && !direct.texture.disposed && direct.validate().ok) {
1785
+ if (isTextureBinding(direct) && direct.texture && !direct.texture.disposed && direct.validate().ok) {
1690
1786
  return direct;
1691
1787
  }
1692
1788
  return null;
1693
1789
  }
1694
1790
  function uniformTextureBinding(uniforms, name) {
1695
1791
  const value = uniforms?.get(name);
1696
- return value instanceof TextureBinding && value.texture && !value.texture.disposed && value.validate().ok ? value : null;
1792
+ return isTextureBinding(value) && value.texture && !value.texture.disposed && value.validate().ok ? value : null;
1697
1793
  }
1698
1794
  function uniformNumber(value, fallback) {
1699
1795
  return typeof value === "number" && Number.isFinite(value) ? value : fallback;
@@ -1744,7 +1840,7 @@ function uniformForwardShadow(uniforms) {
1744
1840
  return null;
1745
1841
  const texture = uniforms.get("u_shadowMapTexture");
1746
1842
  const matrix = uniformMat4(uniforms.get("u_shadowMapMatrix")) ?? identityMatrix();
1747
- if (!(texture instanceof TextureBinding) || !texture.texture || texture.texture.disposed || !texture.validate().ok) {
1843
+ if (!isTextureBinding(texture) || !texture.texture || texture.texture.disposed || !texture.validate().ok) {
1748
1844
  return null;
1749
1845
  }
1750
1846
  const strengthValue = uniforms.get("u_shadowMapStrength");
@@ -2052,6 +2148,15 @@ function clampInt(value, min, max) {
2052
2148
  return Math.min(max, Math.max(min, value));
2053
2149
  }
2054
2150
  function createNativeShaderSources(sources) {
2151
+ if (sources.webgpu && sources.portableBindings) {
2152
+ return {
2153
+ vertex: injectPortableBindings(sources.webgpu.vertex, sources.portableBindings),
2154
+ fragment: injectPortableBindings(sources.webgpu.fragment, sources.portableBindings),
2155
+ entryPoints: [inferWGSLVertexEntryPoint(sources.webgpu.vertex) ?? "vs_main", inferWGSLFragmentEntryPoint(sources.webgpu.fragment) ?? "fs_main"],
2156
+ uniformLayout: "portable",
2157
+ portableBindings: sources.portableBindings
2158
+ };
2159
+ }
2055
2160
  const vertexEntry = inferWGSLVertexEntryPoint(sources.vertex) ?? "vs_main";
2056
2161
  const fragmentEntry = inferWGSLFragmentEntryPoint(sources.fragment) ?? "fs_main";
2057
2162
  if (/\@(vertex|fragment|compute)\b/.test(sources.vertex) || /\@(vertex|fragment|compute)\b/.test(sources.fragment)) {
@@ -2091,6 +2196,80 @@ function createNativeShaderSources(sources) {
2091
2196
  uniformLayout: "generated-basic"
2092
2197
  };
2093
2198
  }
2199
+ const PORTABLE_BINDINGS_MARKER = "/* @aura3d-bindings */";
2200
+ function injectPortableBindings(source, bindings) {
2201
+ if (!source.includes(PORTABLE_BINDINGS_MARKER)) {
2202
+ throw new RenderDeviceError(`Portable WGSL source must include ${PORTABLE_BINDINGS_MARKER}`, "PORTABLE_SHADER_BINDINGS_MARKER_MISSING");
2203
+ }
2204
+ const numeric = bindings.filter((binding) => binding.kind !== "texture2d");
2205
+ const fields = numeric.map((binding) => ` ${binding.name}: ${portableWGSLType(binding.kind)},`).join("\n");
2206
+ let textureBinding = 1;
2207
+ const textures = bindings
2208
+ .filter((binding) => binding.kind === "texture2d")
2209
+ .map((binding) => {
2210
+ const sampler = textureBinding++;
2211
+ const texture = textureBinding++;
2212
+ return `@group(0) @binding(${sampler}) var ${binding.name}Sampler: sampler;\n@group(0) @binding(${texture}) var ${binding.name}Texture: texture_2d<f32>;`;
2213
+ })
2214
+ .join("\n");
2215
+ return source.replace(PORTABLE_BINDINGS_MARKER, `struct Aura3DPortableUniforms {\n${fields}\n};\n@group(0) @binding(0) var<uniform> aura: Aura3DPortableUniforms;\n${textures}`);
2216
+ }
2217
+ function portableWGSLType(kind) {
2218
+ switch (kind) {
2219
+ case "float": return "f32";
2220
+ case "vec2": return "vec2<f32>";
2221
+ case "vec3": return "vec3<f32>";
2222
+ case "vec4": return "vec4<f32>";
2223
+ case "mat4": return "mat4x4<f32>";
2224
+ case "texture2d": throw new Error("Texture bindings are not uniform-struct fields");
2225
+ }
2226
+ }
2227
+ function portableUniformLayout(bindings) {
2228
+ let byteOffset = 0;
2229
+ let structAlignment = 16;
2230
+ const fields = bindings.map((binding) => {
2231
+ const alignment = portableUniformAlignment(binding.kind);
2232
+ byteOffset = alignTo(byteOffset, alignment);
2233
+ const field = { binding, byteOffset };
2234
+ byteOffset += portableUniformSize(binding.kind);
2235
+ structAlignment = Math.max(structAlignment, alignment);
2236
+ return field;
2237
+ });
2238
+ return { fields, byteLength: alignTo(byteOffset, structAlignment) };
2239
+ }
2240
+ function portableUniformAlignment(kind) {
2241
+ switch (kind) {
2242
+ case "float": return 4;
2243
+ case "vec2": return 8;
2244
+ case "vec3":
2245
+ case "vec4":
2246
+ case "mat4": return 16;
2247
+ case "texture2d": return 0;
2248
+ }
2249
+ }
2250
+ function portableUniformSize(kind) {
2251
+ switch (kind) {
2252
+ case "float": return 4;
2253
+ case "vec2": return 8;
2254
+ case "vec3": return 12;
2255
+ case "vec4": return 16;
2256
+ case "mat4": return 64;
2257
+ case "texture2d": return 0;
2258
+ }
2259
+ }
2260
+ function writePortableUniform(view, byteOffset, kind, value) {
2261
+ if (kind === "texture2d")
2262
+ return;
2263
+ const numbers = typeof value === "number"
2264
+ ? [value]
2265
+ : value && !isTextureBinding(value)
2266
+ ? Array.from(value)
2267
+ : [];
2268
+ const count = portableUniformSize(kind) / 4;
2269
+ for (let index = 0; index < count; index += 1) {
2270
+ view.setFloat32(byteOffset + index * 4, Number(numbers[index] ?? 0), true);
2271
+ }
2272
+ }
2094
2273
  function nativeUniformStruct() {
2095
2274
  return `struct DrawUniforms {
2096
2275
  modelViewProjection: mat4x4<f32>,