@aura3d/rendering 3.0.1 → 4.0.2

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 (1826) hide show
  1. package/dist/BlendModes.d.ts +34 -0
  2. package/dist/BlendModes.d.ts.map +1 -0
  3. package/dist/BlendModes.js +42 -0
  4. package/dist/BlendModes.js.map +1 -0
  5. package/dist/DepthPass.d.ts +18 -0
  6. package/dist/DepthPass.d.ts.map +1 -1
  7. package/dist/DepthPass.js +103 -20
  8. package/dist/DepthPass.js.map +1 -1
  9. package/dist/EnvironmentBackgroundPass.d.ts +7 -0
  10. package/dist/EnvironmentBackgroundPass.d.ts.map +1 -1
  11. package/dist/EnvironmentBackgroundPass.js +39 -14
  12. package/dist/EnvironmentBackgroundPass.js.map +1 -1
  13. package/dist/EnvironmentMapResources.d.ts +1 -1
  14. package/dist/EnvironmentMapResources.d.ts.map +1 -1
  15. package/dist/EnvironmentMapResources.js +19 -8
  16. package/dist/EnvironmentMapResources.js.map +1 -1
  17. package/dist/EnvironmentPlatform.d.ts +6 -0
  18. package/dist/EnvironmentPlatform.d.ts.map +1 -1
  19. package/dist/EnvironmentPlatform.js +3 -1
  20. package/dist/EnvironmentPlatform.js.map +1 -1
  21. package/dist/EnvironmentPreset.d.ts +7 -0
  22. package/dist/EnvironmentPreset.d.ts.map +1 -1
  23. package/dist/EnvironmentPreset.js +11 -11
  24. package/dist/EnvironmentPreset.js.map +1 -1
  25. package/dist/EnvironmentPresetPack.d.ts +16 -0
  26. package/dist/EnvironmentPresetPack.d.ts.map +1 -1
  27. package/dist/EnvironmentPresetPack.js +28 -0
  28. package/dist/EnvironmentPresetPack.js.map +1 -1
  29. package/dist/ExternalParityRenderPreset.d.ts +15 -1
  30. package/dist/ExternalParityRenderPreset.d.ts.map +1 -1
  31. package/dist/ExternalParityRenderPreset.js +52 -7
  32. package/dist/ExternalParityRenderPreset.js.map +1 -1
  33. package/dist/ForwardPass.d.ts +240 -50
  34. package/dist/ForwardPass.d.ts.map +1 -1
  35. package/dist/ForwardPass.js +845 -866
  36. package/dist/ForwardPass.js.map +1 -1
  37. package/dist/Geometry.d.ts +44 -1
  38. package/dist/Geometry.d.ts.map +1 -1
  39. package/dist/Geometry.js +174 -24
  40. package/dist/Geometry.js.map +1 -1
  41. package/dist/InstancedPBRMaterial.d.ts +5 -0
  42. package/dist/InstancedPBRMaterial.d.ts.map +1 -1
  43. package/dist/InstancedPBRMaterial.js +7 -0
  44. package/dist/InstancedPBRMaterial.js.map +1 -1
  45. package/dist/LightCollector.d.ts +8 -0
  46. package/dist/LightCollector.d.ts.map +1 -1
  47. package/dist/LightCollector.js +1 -1
  48. package/dist/LightCollector.js.map +1 -1
  49. package/dist/LightUniforms.d.ts +78 -0
  50. package/dist/LightUniforms.d.ts.map +1 -1
  51. package/dist/LightUniforms.js +100 -0
  52. package/dist/LightUniforms.js.map +1 -1
  53. package/dist/Material.d.ts +15 -0
  54. package/dist/Material.d.ts.map +1 -1
  55. package/dist/Material.js +19 -2
  56. package/dist/Material.js.map +1 -1
  57. package/dist/MaterialBinding.d.ts +10 -0
  58. package/dist/MaterialBinding.d.ts.map +1 -1
  59. package/dist/MaterialBinding.js +91 -1
  60. package/dist/MaterialBinding.js.map +1 -1
  61. package/dist/MaterialPresets.d.ts +60 -0
  62. package/dist/MaterialPresets.d.ts.map +1 -1
  63. package/dist/MaterialPresets.js +212 -0
  64. package/dist/MaterialPresets.js.map +1 -1
  65. package/dist/NormalMappedPBRMaterial.d.ts +5 -0
  66. package/dist/NormalMappedPBRMaterial.d.ts.map +1 -1
  67. package/dist/NormalMappedPBRMaterial.js +7 -0
  68. package/dist/NormalMappedPBRMaterial.js.map +1 -1
  69. package/dist/OceanSurface.d.ts +8 -0
  70. package/dist/OceanSurface.d.ts.map +1 -1
  71. package/dist/OceanSurface.js +10 -79
  72. package/dist/OceanSurface.js.map +1 -1
  73. package/dist/PBRLightingDefaults.d.ts +8 -0
  74. package/dist/PBRLightingDefaults.d.ts.map +1 -1
  75. package/dist/PBRLightingDefaults.js +8 -0
  76. package/dist/PBRLightingDefaults.js.map +1 -1
  77. package/dist/PBRMaterial.d.ts +5 -0
  78. package/dist/PBRMaterial.d.ts.map +1 -1
  79. package/dist/PBRMaterial.js +7 -0
  80. package/dist/PBRMaterial.js.map +1 -1
  81. package/dist/PostProcessPass.d.ts +6 -490
  82. package/dist/PostProcessPass.d.ts.map +1 -1
  83. package/dist/PostProcessPass.js +6 -2016
  84. package/dist/PostProcessPass.js.map +1 -1
  85. package/dist/ProceduralMaterialTextures.d.ts +28 -0
  86. package/dist/ProceduralMaterialTextures.d.ts.map +1 -0
  87. package/dist/ProceduralMaterialTextures.js +217 -0
  88. package/dist/ProceduralMaterialTextures.js.map +1 -0
  89. package/dist/ReflectionProbe.d.ts.map +1 -1
  90. package/dist/ReflectionProbe.js +4 -1
  91. package/dist/ReflectionProbe.js.map +1 -1
  92. package/dist/RenderBackend.d.ts +2 -0
  93. package/dist/RenderBackend.d.ts.map +1 -1
  94. package/dist/RenderBackend.js +3 -0
  95. package/dist/RenderBackend.js.map +1 -1
  96. package/dist/RenderDevice.d.ts +92 -5
  97. package/dist/RenderDevice.d.ts.map +1 -1
  98. package/dist/RenderDevice.js +166 -9
  99. package/dist/RenderDevice.js.map +1 -1
  100. package/dist/RenderGraph.d.ts.map +1 -1
  101. package/dist/RenderGraph.js +17 -0
  102. package/dist/RenderGraph.js.map +1 -1
  103. package/dist/RenderPass.d.ts +7 -0
  104. package/dist/RenderPass.d.ts.map +1 -1
  105. package/dist/RenderPass.js.map +1 -1
  106. package/dist/RenderPipeline.d.ts +5 -0
  107. package/dist/RenderPipeline.d.ts.map +1 -1
  108. package/dist/RenderPipeline.js +6 -0
  109. package/dist/RenderPipeline.js.map +1 -1
  110. package/dist/Renderer.d.ts +261 -66
  111. package/dist/Renderer.d.ts.map +1 -1
  112. package/dist/Renderer.js +902 -1256
  113. package/dist/Renderer.js.map +1 -1
  114. package/dist/RendererPostprocessPlan.d.ts +4 -0
  115. package/dist/RendererPostprocessPlan.d.ts.map +1 -1
  116. package/dist/RendererPostprocessPlan.js +16 -2
  117. package/dist/RendererPostprocessPlan.js.map +1 -1
  118. package/dist/RendererTiming.d.ts +27 -0
  119. package/dist/RendererTiming.d.ts.map +1 -1
  120. package/dist/RendererTiming.js +179 -12
  121. package/dist/RendererTiming.js.map +1 -1
  122. package/dist/ResolutionGovernor.d.ts +56 -0
  123. package/dist/ResolutionGovernor.d.ts.map +1 -0
  124. package/dist/ResolutionGovernor.js +87 -0
  125. package/dist/ResolutionGovernor.js.map +1 -0
  126. package/dist/Sampler.d.ts +34 -1
  127. package/dist/Sampler.d.ts.map +1 -1
  128. package/dist/Sampler.js +55 -2
  129. package/dist/Sampler.js.map +1 -1
  130. package/dist/ShaderLibrary.d.ts.map +1 -1
  131. package/dist/ShaderLibrary.js +15 -10
  132. package/dist/ShaderLibrary.js.map +1 -1
  133. package/dist/ShaderLibraryCore.d.ts.map +1 -1
  134. package/dist/ShaderLibraryCore.js +3 -2
  135. package/dist/ShaderLibraryCore.js.map +1 -1
  136. package/dist/ShaderModule.d.ts +7 -1
  137. package/dist/ShaderModule.d.ts.map +1 -1
  138. package/dist/ShaderModule.js +20 -5
  139. package/dist/ShaderModule.js.map +1 -1
  140. package/dist/ShadowPass.d.ts.map +1 -1
  141. package/dist/ShadowPass.js +14 -7
  142. package/dist/ShadowPass.js.map +1 -1
  143. package/dist/SkinnedLitMaterial.d.ts +5 -0
  144. package/dist/SkinnedLitMaterial.d.ts.map +1 -1
  145. package/dist/SkinnedLitMaterial.js +13 -0
  146. package/dist/SkinnedLitMaterial.js.map +1 -1
  147. package/dist/SkinningBounds.d.ts +18 -0
  148. package/dist/SkinningBounds.d.ts.map +1 -1
  149. package/dist/SkinningBounds.js +78 -0
  150. package/dist/SkinningBounds.js.map +1 -1
  151. package/dist/SkinningPaletteTextureCache.d.ts +117 -0
  152. package/dist/SkinningPaletteTextureCache.d.ts.map +1 -0
  153. package/dist/SkinningPaletteTextureCache.js +205 -0
  154. package/dist/SkinningPaletteTextureCache.js.map +1 -0
  155. package/dist/SkinningUniforms.d.ts +56 -0
  156. package/dist/SkinningUniforms.d.ts.map +1 -0
  157. package/dist/SkinningUniforms.js +262 -0
  158. package/dist/SkinningUniforms.js.map +1 -0
  159. package/dist/TemporalHistory.d.ts +33 -0
  160. package/dist/TemporalHistory.d.ts.map +1 -1
  161. package/dist/TemporalHistory.js +84 -1
  162. package/dist/TemporalHistory.js.map +1 -1
  163. package/dist/TerrainHeightfield.d.ts +12 -0
  164. package/dist/TerrainHeightfield.d.ts.map +1 -1
  165. package/dist/TerrainHeightfield.js +29 -6
  166. package/dist/TerrainHeightfield.js.map +1 -1
  167. package/dist/TerrainTiles.d.ts +40 -10
  168. package/dist/TerrainTiles.d.ts.map +1 -1
  169. package/dist/TerrainTiles.js +18 -57
  170. package/dist/TerrainTiles.js.map +1 -1
  171. package/dist/Texture.d.ts +47 -2
  172. package/dist/Texture.d.ts.map +1 -1
  173. package/dist/Texture.js +119 -3
  174. package/dist/Texture.js.map +1 -1
  175. package/dist/TexturedPBRMaterial.d.ts +24 -0
  176. package/dist/TexturedPBRMaterial.d.ts.map +1 -1
  177. package/dist/TexturedPBRMaterial.js +72 -20
  178. package/dist/TexturedPBRMaterial.js.map +1 -1
  179. package/dist/TransmissionRenderTarget.d.ts +33 -0
  180. package/dist/TransmissionRenderTarget.d.ts.map +1 -0
  181. package/dist/TransmissionRenderTarget.js +61 -0
  182. package/dist/TransmissionRenderTarget.js.map +1 -0
  183. package/dist/VegetationScatter.js +1 -1
  184. package/dist/VegetationScatter.js.map +1 -1
  185. package/dist/VolumetricFog.d.ts +42 -0
  186. package/dist/VolumetricFog.d.ts.map +1 -1
  187. package/dist/VolumetricFog.js +52 -1
  188. package/dist/VolumetricFog.js.map +1 -1
  189. package/dist/WaterSurface.d.ts +5 -0
  190. package/dist/WaterSurface.d.ts.map +1 -1
  191. package/dist/WaterSurface.js +5 -0
  192. package/dist/WaterSurface.js.map +1 -1
  193. package/dist/WebGL2Device.d.ts +154 -207
  194. package/dist/WebGL2Device.d.ts.map +1 -1
  195. package/dist/WebGL2Device.js +831 -3703
  196. package/dist/WebGL2Device.js.map +1 -1
  197. package/dist/WebGL2StateCache.d.ts +15 -1
  198. package/dist/WebGL2StateCache.d.ts.map +1 -1
  199. package/dist/WebGL2StateCache.js +31 -2
  200. package/dist/WebGL2StateCache.js.map +1 -1
  201. package/dist/WebGPUDevice.d.ts +0 -4
  202. package/dist/WebGPUDevice.d.ts.map +1 -1
  203. package/dist/WebGPUDevice.js +31 -605
  204. package/dist/WebGPUDevice.js.map +1 -1
  205. package/dist/WebGPUSkinningLimits.d.ts +10 -1
  206. package/dist/WebGPUSkinningLimits.d.ts.map +1 -1
  207. package/dist/WebGPUSkinningLimits.js +15 -1
  208. package/dist/WebGPUSkinningLimits.js.map +1 -1
  209. package/dist/advanced-runtime/index.d.ts +6 -2
  210. package/dist/advanced-runtime/index.d.ts.map +1 -1
  211. package/dist/advanced-runtime/index.js +0 -1
  212. package/dist/advanced-runtime/index.js.map +1 -1
  213. package/dist/animation/AnimationRenderPreset.d.ts +1 -1
  214. package/dist/animation/AnimationRenderPreset.d.ts.map +1 -1
  215. package/dist/animation/AnimationRenderPreset.js +1 -1
  216. package/dist/animation/AnimationRenderPreset.js.map +1 -1
  217. package/dist/animation/applyAnimationRenderPreset.d.ts +1 -1
  218. package/dist/animation/applyAnimationRenderPreset.d.ts.map +1 -1
  219. package/dist/animation/index.d.ts +2 -1
  220. package/dist/animation/index.d.ts.map +1 -1
  221. package/dist/animation/index.js +1 -1
  222. package/dist/animation/index.js.map +1 -1
  223. package/dist/atmosphere/CloudLayer.d.ts +24 -0
  224. package/dist/atmosphere/CloudLayer.d.ts.map +1 -0
  225. package/dist/atmosphere/CloudLayer.js +30 -0
  226. package/dist/atmosphere/CloudLayer.js.map +1 -0
  227. package/dist/atmosphere/FogVolumes.d.ts +30 -0
  228. package/dist/atmosphere/FogVolumes.d.ts.map +1 -0
  229. package/dist/atmosphere/FogVolumes.js +96 -0
  230. package/dist/atmosphere/FogVolumes.js.map +1 -0
  231. package/dist/atmosphere/GradientSky.d.ts +40 -0
  232. package/dist/atmosphere/GradientSky.d.ts.map +1 -0
  233. package/dist/atmosphere/GradientSky.js +75 -0
  234. package/dist/atmosphere/GradientSky.js.map +1 -0
  235. package/dist/atmosphere/HeightFog.d.ts +154 -0
  236. package/dist/atmosphere/HeightFog.d.ts.map +1 -0
  237. package/dist/atmosphere/HeightFog.js +379 -0
  238. package/dist/atmosphere/HeightFog.js.map +1 -0
  239. package/dist/atmosphere/PreethamSky.d.ts +38 -0
  240. package/dist/atmosphere/PreethamSky.d.ts.map +1 -0
  241. package/dist/atmosphere/PreethamSky.js +150 -0
  242. package/dist/atmosphere/PreethamSky.js.map +1 -0
  243. package/dist/atmosphere/SkyBackgroundPass.d.ts +63 -0
  244. package/dist/atmosphere/SkyBackgroundPass.d.ts.map +1 -0
  245. package/dist/atmosphere/SkyBackgroundPass.js +233 -0
  246. package/dist/atmosphere/SkyBackgroundPass.js.map +1 -0
  247. package/dist/atmosphere/SkyCaptureAdapter.d.ts +45 -0
  248. package/dist/atmosphere/SkyCaptureAdapter.d.ts.map +1 -0
  249. package/dist/atmosphere/SkyCaptureAdapter.js +65 -0
  250. package/dist/atmosphere/SkyCaptureAdapter.js.map +1 -0
  251. package/dist/atmosphere/SkyEval.d.ts +56 -0
  252. package/dist/atmosphere/SkyEval.d.ts.map +1 -0
  253. package/dist/atmosphere/SkyEval.js +99 -0
  254. package/dist/atmosphere/SkyEval.js.map +1 -0
  255. package/dist/atmosphere/StarField.d.ts +26 -0
  256. package/dist/atmosphere/StarField.d.ts.map +1 -0
  257. package/dist/atmosphere/StarField.js +31 -0
  258. package/dist/atmosphere/StarField.js.map +1 -0
  259. package/dist/atmosphere/VolumetricFogPass.d.ts +69 -0
  260. package/dist/atmosphere/VolumetricFogPass.d.ts.map +1 -0
  261. package/dist/atmosphere/VolumetricFogPass.js +265 -0
  262. package/dist/atmosphere/VolumetricFogPass.js.map +1 -0
  263. package/dist/atmosphere/fogChunks.d.ts +8 -0
  264. package/dist/atmosphere/fogChunks.d.ts.map +1 -0
  265. package/dist/atmosphere/fogChunks.js +39 -0
  266. package/dist/atmosphere/fogChunks.js.map +1 -0
  267. package/dist/atmosphere/fogUniformStore.d.ts +20 -0
  268. package/dist/atmosphere/fogUniformStore.d.ts.map +1 -0
  269. package/dist/atmosphere/fogUniformStore.js +45 -0
  270. package/dist/atmosphere/fogUniformStore.js.map +1 -0
  271. package/dist/atmosphere/shaders/fog.glsl.d.ts +10 -0
  272. package/dist/atmosphere/shaders/fog.glsl.d.ts.map +1 -0
  273. package/dist/atmosphere/shaders/fog.glsl.js +161 -0
  274. package/dist/atmosphere/shaders/fog.glsl.js.map +1 -0
  275. package/dist/atmosphere/shaders/volumetric-apply.glsl.d.ts +3 -0
  276. package/dist/atmosphere/shaders/volumetric-apply.glsl.d.ts.map +1 -0
  277. package/dist/atmosphere/shaders/volumetric-apply.glsl.js +61 -0
  278. package/dist/atmosphere/shaders/volumetric-apply.glsl.js.map +1 -0
  279. package/dist/atmosphere/shaders/volumetric-inject.glsl.d.ts +4 -0
  280. package/dist/atmosphere/shaders/volumetric-inject.glsl.d.ts.map +1 -0
  281. package/dist/atmosphere/shaders/volumetric-inject.glsl.js +129 -0
  282. package/dist/atmosphere/shaders/volumetric-inject.glsl.js.map +1 -0
  283. package/dist/atmosphere/shaders/volumetric-integrate.glsl.d.ts +3 -0
  284. package/dist/atmosphere/shaders/volumetric-integrate.glsl.d.ts.map +1 -0
  285. package/dist/atmosphere/shaders/volumetric-integrate.glsl.js +55 -0
  286. package/dist/atmosphere/shaders/volumetric-integrate.glsl.js.map +1 -0
  287. package/dist/atmosphere/shaders/wetness.glsl.d.ts +34 -0
  288. package/dist/atmosphere/shaders/wetness.glsl.d.ts.map +1 -0
  289. package/dist/atmosphere/shaders/wetness.glsl.js +101 -0
  290. package/dist/atmosphere/shaders/wetness.glsl.js.map +1 -0
  291. package/dist/atmosphere/sky.glsl.d.ts +8 -0
  292. package/dist/atmosphere/sky.glsl.d.ts.map +1 -0
  293. package/dist/atmosphere/sky.glsl.js +249 -0
  294. package/dist/atmosphere/sky.glsl.js.map +1 -0
  295. package/dist/batching/BatchedGeometryPool.d.ts +72 -0
  296. package/dist/batching/BatchedGeometryPool.d.ts.map +1 -0
  297. package/dist/batching/BatchedGeometryPool.js +138 -0
  298. package/dist/batching/BatchedGeometryPool.js.map +1 -0
  299. package/dist/batching/ContentKeys.d.ts +29 -0
  300. package/dist/batching/ContentKeys.d.ts.map +1 -0
  301. package/dist/batching/ContentKeys.js +220 -0
  302. package/dist/batching/ContentKeys.js.map +1 -0
  303. package/dist/batching/DrawDataTexture.d.ts +51 -0
  304. package/dist/batching/DrawDataTexture.d.ts.map +1 -0
  305. package/dist/batching/DrawDataTexture.js +99 -0
  306. package/dist/batching/DrawDataTexture.js.map +1 -0
  307. package/dist/batching/MultiDrawBatch.d.ts +64 -0
  308. package/dist/batching/MultiDrawBatch.d.ts.map +1 -0
  309. package/dist/batching/MultiDrawBatch.js +103 -0
  310. package/dist/batching/MultiDrawBatch.js.map +1 -0
  311. package/dist/batching/StaticMergePlanner.d.ts +80 -0
  312. package/dist/batching/StaticMergePlanner.d.ts.map +1 -0
  313. package/dist/batching/StaticMergePlanner.js +323 -0
  314. package/dist/batching/StaticMergePlanner.js.map +1 -0
  315. package/dist/batching/index.d.ts +8 -0
  316. package/dist/batching/index.d.ts.map +1 -0
  317. package/dist/batching/index.js +8 -0
  318. package/dist/batching/index.js.map +1 -0
  319. package/dist/batching/shaders/drawId.glsl.d.ts +29 -0
  320. package/dist/batching/shaders/drawId.glsl.d.ts.map +1 -0
  321. package/dist/batching/shaders/drawId.glsl.js +93 -0
  322. package/dist/batching/shaders/drawId.glsl.js.map +1 -0
  323. package/dist/batching/shaders/instanceEmissive.glsl.d.ts +16 -0
  324. package/dist/batching/shaders/instanceEmissive.glsl.d.ts.map +1 -0
  325. package/dist/batching/shaders/instanceEmissive.glsl.js +63 -0
  326. package/dist/batching/shaders/instanceEmissive.glsl.js.map +1 -0
  327. package/dist/cinematic/BloomPass.d.ts +5 -9
  328. package/dist/cinematic/BloomPass.d.ts.map +1 -1
  329. package/dist/cinematic/BloomPass.js +5 -17
  330. package/dist/cinematic/BloomPass.js.map +1 -1
  331. package/dist/cinematic/DepthHazePass.d.ts +5 -11
  332. package/dist/cinematic/DepthHazePass.d.ts.map +1 -1
  333. package/dist/cinematic/DepthHazePass.js +5 -19
  334. package/dist/cinematic/DepthHazePass.js.map +1 -1
  335. package/dist/cinematic/FilmGrainPass.d.ts +5 -8
  336. package/dist/cinematic/FilmGrainPass.d.ts.map +1 -1
  337. package/dist/cinematic/FilmGrainPass.js +5 -16
  338. package/dist/cinematic/FilmGrainPass.js.map +1 -1
  339. package/dist/cinematic/VignettePass.d.ts +5 -9
  340. package/dist/cinematic/VignettePass.d.ts.map +1 -1
  341. package/dist/cinematic/VignettePass.js +5 -16
  342. package/dist/cinematic/VignettePass.js.map +1 -1
  343. package/dist/cinematic/index.d.ts +2 -1
  344. package/dist/cinematic/index.d.ts.map +1 -1
  345. package/dist/cinematic/index.js +1 -1
  346. package/dist/cinematic/index.js.map +1 -1
  347. package/dist/contracts/atmosphere.d.ts +30 -0
  348. package/dist/contracts/atmosphere.d.ts.map +1 -0
  349. package/dist/contracts/atmosphere.js +42 -0
  350. package/dist/contracts/atmosphere.js.map +1 -0
  351. package/dist/contracts/blend.d.ts +28 -0
  352. package/dist/contracts/blend.d.ts.map +1 -0
  353. package/dist/contracts/blend.js +73 -0
  354. package/dist/contracts/blend.js.map +1 -0
  355. package/dist/contracts/core.d.ts +47 -0
  356. package/dist/contracts/core.d.ts.map +1 -0
  357. package/dist/contracts/core.js +70 -0
  358. package/dist/contracts/core.js.map +1 -0
  359. package/dist/contracts/deform.d.ts +38 -0
  360. package/dist/contracts/deform.d.ts.map +1 -0
  361. package/dist/contracts/deform.js +14 -0
  362. package/dist/contracts/deform.js.map +1 -0
  363. package/dist/contracts/device.d.ts +71 -0
  364. package/dist/contracts/device.d.ts.map +1 -0
  365. package/dist/contracts/device.js +97 -0
  366. package/dist/contracts/device.js.map +1 -0
  367. package/dist/contracts/environment.d.ts +55 -0
  368. package/dist/contracts/environment.d.ts.map +1 -0
  369. package/dist/contracts/environment.js +115 -0
  370. package/dist/contracts/environment.js.map +1 -0
  371. package/dist/contracts/flags.state.d.ts +15 -0
  372. package/dist/contracts/flags.state.d.ts.map +1 -0
  373. package/dist/contracts/flags.state.js +45 -0
  374. package/dist/contracts/flags.state.js.map +1 -0
  375. package/dist/contracts/frameGraph.d.ts +78 -0
  376. package/dist/contracts/frameGraph.d.ts.map +1 -0
  377. package/dist/contracts/frameGraph.js +32 -0
  378. package/dist/contracts/frameGraph.js.map +1 -0
  379. package/dist/contracts/frameUniforms.d.ts +43 -0
  380. package/dist/contracts/frameUniforms.d.ts.map +1 -0
  381. package/dist/contracts/frameUniforms.js +35 -0
  382. package/dist/contracts/frameUniforms.js.map +1 -0
  383. package/dist/contracts/geometry.d.ts +33 -0
  384. package/dist/contracts/geometry.d.ts.map +1 -0
  385. package/dist/contracts/geometry.js +59 -0
  386. package/dist/contracts/geometry.js.map +1 -0
  387. package/dist/contracts/index.d.ts +27 -0
  388. package/dist/contracts/index.d.ts.map +1 -0
  389. package/dist/contracts/index.js +27 -0
  390. package/dist/contracts/index.js.map +1 -0
  391. package/dist/contracts/materialLobes.d.ts +41 -0
  392. package/dist/contracts/materialLobes.d.ts.map +1 -0
  393. package/dist/contracts/materialLobes.js +14 -0
  394. package/dist/contracts/materialLobes.js.map +1 -0
  395. package/dist/contracts/output.d.ts +35 -0
  396. package/dist/contracts/output.d.ts.map +1 -0
  397. package/dist/contracts/output.js +18 -0
  398. package/dist/contracts/output.js.map +1 -0
  399. package/dist/contracts/particles.d.ts +41 -0
  400. package/dist/contracts/particles.d.ts.map +1 -0
  401. package/dist/contracts/particles.js +15 -0
  402. package/dist/contracts/particles.js.map +1 -0
  403. package/dist/contracts/post.d.ts +71 -0
  404. package/dist/contracts/post.d.ts.map +1 -0
  405. package/dist/contracts/post.js +28 -0
  406. package/dist/contracts/post.js.map +1 -0
  407. package/dist/contracts/program.d.ts +158 -0
  408. package/dist/contracts/program.d.ts.map +1 -0
  409. package/dist/contracts/program.js +128 -0
  410. package/dist/contracts/program.js.map +1 -0
  411. package/dist/contracts/quality.d.ts +93 -0
  412. package/dist/contracts/quality.d.ts.map +1 -0
  413. package/dist/contracts/quality.js +149 -0
  414. package/dist/contracts/quality.js.map +1 -0
  415. package/dist/contracts/renderItem.d.ts +58 -0
  416. package/dist/contracts/renderItem.d.ts.map +1 -0
  417. package/dist/contracts/renderItem.js +8 -0
  418. package/dist/contracts/renderItem.js.map +1 -0
  419. package/dist/contracts/renderSource.d.ts +63 -0
  420. package/dist/contracts/renderSource.d.ts.map +1 -0
  421. package/dist/contracts/renderSource.js +7 -0
  422. package/dist/contracts/renderSource.js.map +1 -0
  423. package/dist/contracts/rendererFactory.d.ts +42 -0
  424. package/dist/contracts/rendererFactory.d.ts.map +1 -0
  425. package/dist/contracts/rendererFactory.js +32 -0
  426. package/dist/contracts/rendererFactory.js.map +1 -0
  427. package/dist/contracts/sampling.d.ts +23 -0
  428. package/dist/contracts/sampling.d.ts.map +1 -0
  429. package/dist/contracts/sampling.js +17 -0
  430. package/dist/contracts/sampling.js.map +1 -0
  431. package/dist/contracts/shadows.d.ts +53 -0
  432. package/dist/contracts/shadows.d.ts.map +1 -0
  433. package/dist/contracts/shadows.js +66 -0
  434. package/dist/contracts/shadows.js.map +1 -0
  435. package/dist/contracts/testing/ChunkHarness.d.ts +18 -0
  436. package/dist/contracts/testing/ChunkHarness.d.ts.map +1 -0
  437. package/dist/contracts/testing/ChunkHarness.js +68 -0
  438. package/dist/contracts/testing/ChunkHarness.js.map +1 -0
  439. package/dist/contracts/textureFormats.d.ts +18 -0
  440. package/dist/contracts/textureFormats.d.ts.map +1 -0
  441. package/dist/contracts/textureFormats.js +13 -0
  442. package/dist/contracts/textureFormats.js.map +1 -0
  443. package/dist/contracts/velocity.d.ts +37 -0
  444. package/dist/contracts/velocity.d.ts.map +1 -0
  445. package/dist/contracts/velocity.js +22 -0
  446. package/dist/contracts/velocity.js.map +1 -0
  447. package/dist/effects/ResidentGPUParticleRenderer.d.ts.map +1 -1
  448. package/dist/effects/ResidentGPUParticleRenderer.js +10 -5
  449. package/dist/effects/ResidentGPUParticleRenderer.js.map +1 -1
  450. package/dist/environment/EnvUniforms.d.ts +42 -0
  451. package/dist/environment/EnvUniforms.d.ts.map +1 -0
  452. package/dist/environment/EnvUniforms.js +54 -0
  453. package/dist/environment/EnvUniforms.js.map +1 -0
  454. package/dist/environment/EnvironmentCache.d.ts +83 -0
  455. package/dist/environment/EnvironmentCache.d.ts.map +1 -0
  456. package/dist/environment/EnvironmentCache.js +205 -0
  457. package/dist/environment/EnvironmentCache.js.map +1 -0
  458. package/dist/environment/EnvironmentProbeFactory.d.ts +41 -0
  459. package/dist/environment/EnvironmentProbeFactory.d.ts.map +1 -0
  460. package/dist/environment/EnvironmentProbeFactory.js +52 -0
  461. package/dist/environment/EnvironmentProbeFactory.js.map +1 -0
  462. package/dist/environment/GPUPMREMGenerator.d.ts +44 -0
  463. package/dist/environment/GPUPMREMGenerator.d.ts.map +1 -0
  464. package/dist/environment/GPUPMREMGenerator.js +98 -0
  465. package/dist/environment/GPUPMREMGenerator.js.map +1 -0
  466. package/dist/environment/HdrEquirect.d.ts +28 -0
  467. package/dist/environment/HdrEquirect.d.ts.map +1 -0
  468. package/dist/environment/HdrEquirect.js +205 -0
  469. package/dist/environment/HdrEquirect.js.map +1 -0
  470. package/dist/environment/LightingSamplerBudget.d.ts +20 -0
  471. package/dist/environment/LightingSamplerBudget.d.ts.map +1 -0
  472. package/dist/environment/LightingSamplerBudget.js +94 -0
  473. package/dist/environment/LightingSamplerBudget.js.map +1 -0
  474. package/dist/environment/Prd02BackgroundShaderLibrary.d.ts +10 -0
  475. package/dist/environment/Prd02BackgroundShaderLibrary.d.ts.map +1 -0
  476. package/dist/environment/Prd02BackgroundShaderLibrary.js +100 -0
  477. package/dist/environment/Prd02BackgroundShaderLibrary.js.map +1 -0
  478. package/dist/environment/Rgb9e5Cube.d.ts +25 -0
  479. package/dist/environment/Rgb9e5Cube.d.ts.map +1 -0
  480. package/dist/environment/Rgb9e5Cube.js +103 -0
  481. package/dist/environment/Rgb9e5Cube.js.map +1 -0
  482. package/dist/environment/RoomEnvironmentScene.d.ts +57 -0
  483. package/dist/environment/RoomEnvironmentScene.d.ts.map +1 -0
  484. package/dist/environment/RoomEnvironmentScene.js +165 -0
  485. package/dist/environment/RoomEnvironmentScene.js.map +1 -0
  486. package/dist/environment/SphericalHarmonics.d.ts +32 -0
  487. package/dist/environment/SphericalHarmonics.d.ts.map +1 -0
  488. package/dist/environment/SphericalHarmonics.js +155 -0
  489. package/dist/environment/SphericalHarmonics.js.map +1 -0
  490. package/dist/environment/probeBuild.d.ts +97 -0
  491. package/dist/environment/probeBuild.d.ts.map +1 -0
  492. package/dist/environment/probeBuild.js +406 -0
  493. package/dist/environment/probeBuild.js.map +1 -0
  494. package/dist/environment/workers/cpuPrefilter.d.ts +58 -0
  495. package/dist/environment/workers/cpuPrefilter.d.ts.map +1 -0
  496. package/dist/environment/workers/cpuPrefilter.js +288 -0
  497. package/dist/environment/workers/cpuPrefilter.js.map +1 -0
  498. package/dist/forward/Deform.d.ts +56 -0
  499. package/dist/forward/Deform.d.ts.map +1 -0
  500. package/dist/forward/Deform.js +517 -0
  501. package/dist/forward/Deform.js.map +1 -0
  502. package/dist/forward/DrawSubmit.d.ts +32 -0
  503. package/dist/forward/DrawSubmit.d.ts.map +1 -0
  504. package/dist/forward/DrawSubmit.js +75 -0
  505. package/dist/forward/DrawSubmit.js.map +1 -0
  506. package/dist/forward/Lighting.d.ts +35 -0
  507. package/dist/forward/Lighting.d.ts.map +1 -0
  508. package/dist/forward/Lighting.js +477 -0
  509. package/dist/forward/Lighting.js.map +1 -0
  510. package/dist/forward/Transmission.d.ts +62 -0
  511. package/dist/forward/Transmission.d.ts.map +1 -0
  512. package/dist/forward/Transmission.js +299 -0
  513. package/dist/forward/Transmission.js.map +1 -0
  514. package/dist/forward/Velocity.d.ts +47 -0
  515. package/dist/forward/Velocity.d.ts.map +1 -0
  516. package/dist/forward/Velocity.js +153 -0
  517. package/dist/forward/Velocity.js.map +1 -0
  518. package/dist/forward/transmissionTargetStore.d.ts +21 -0
  519. package/dist/forward/transmissionTargetStore.d.ts.map +1 -0
  520. package/dist/forward/transmissionTargetStore.js +8 -0
  521. package/dist/forward/transmissionTargetStore.js.map +1 -0
  522. package/dist/geometry/Primitives.d.ts +28 -0
  523. package/dist/geometry/Primitives.d.ts.map +1 -0
  524. package/dist/geometry/Primitives.js +110 -0
  525. package/dist/geometry/Primitives.js.map +1 -0
  526. package/dist/index.d.ts +140 -58
  527. package/dist/index.d.ts.map +1 -1
  528. package/dist/index.js +102 -52
  529. package/dist/index.js.map +1 -1
  530. package/dist/lanes/index.d.ts +17 -0
  531. package/dist/lanes/index.d.ts.map +1 -0
  532. package/dist/lanes/index.js +17 -0
  533. package/dist/lanes/index.js.map +1 -0
  534. package/dist/lanes/prd01.d.ts +6 -0
  535. package/dist/lanes/prd01.d.ts.map +1 -0
  536. package/dist/lanes/prd01.js +19 -0
  537. package/dist/lanes/prd01.js.map +1 -0
  538. package/dist/lanes/prd02.d.ts +62 -0
  539. package/dist/lanes/prd02.d.ts.map +1 -0
  540. package/dist/lanes/prd02.js +117 -0
  541. package/dist/lanes/prd02.js.map +1 -0
  542. package/dist/lanes/prd03.d.ts +19 -0
  543. package/dist/lanes/prd03.d.ts.map +1 -0
  544. package/dist/lanes/prd03.js +55 -0
  545. package/dist/lanes/prd03.js.map +1 -0
  546. package/dist/lanes/prd04.d.ts +22 -0
  547. package/dist/lanes/prd04.d.ts.map +1 -0
  548. package/dist/lanes/prd04.js +35 -0
  549. package/dist/lanes/prd04.js.map +1 -0
  550. package/dist/lanes/prd05.d.ts +4 -0
  551. package/dist/lanes/prd05.d.ts.map +1 -0
  552. package/dist/lanes/prd05.js +31 -0
  553. package/dist/lanes/prd05.js.map +1 -0
  554. package/dist/lanes/prd06.d.ts +33 -0
  555. package/dist/lanes/prd06.d.ts.map +1 -0
  556. package/dist/lanes/prd06.js +217 -0
  557. package/dist/lanes/prd06.js.map +1 -0
  558. package/dist/lanes/prd07.d.ts +49 -0
  559. package/dist/lanes/prd07.d.ts.map +1 -0
  560. package/dist/lanes/prd07.js +112 -0
  561. package/dist/lanes/prd07.js.map +1 -0
  562. package/dist/lanes/prd08.d.ts +2 -0
  563. package/dist/lanes/prd08.d.ts.map +1 -0
  564. package/dist/lanes/prd08.js +17 -0
  565. package/dist/lanes/prd08.js.map +1 -0
  566. package/dist/lanes/prd09.d.ts +6 -0
  567. package/dist/lanes/prd09.d.ts.map +1 -0
  568. package/dist/lanes/prd09.js +6 -0
  569. package/dist/lanes/prd09.js.map +1 -0
  570. package/dist/lanes/prd10.d.ts +2 -0
  571. package/dist/lanes/prd10.d.ts.map +1 -0
  572. package/dist/lanes/prd10.js +10 -0
  573. package/dist/lanes/prd10.js.map +1 -0
  574. package/dist/lanes/prd11.d.ts +61 -0
  575. package/dist/lanes/prd11.d.ts.map +1 -0
  576. package/dist/lanes/prd11.js +244 -0
  577. package/dist/lanes/prd11.js.map +1 -0
  578. package/dist/lanes/prd12.d.ts +6 -0
  579. package/dist/lanes/prd12.d.ts.map +1 -0
  580. package/dist/lanes/prd12.js +6 -0
  581. package/dist/lanes/prd12.js.map +1 -0
  582. package/dist/lanes/prd13.d.ts +6 -0
  583. package/dist/lanes/prd13.d.ts.map +1 -0
  584. package/dist/lanes/prd13.js +6 -0
  585. package/dist/lanes/prd13.js.map +1 -0
  586. package/dist/lanes/prd14.d.ts +6 -0
  587. package/dist/lanes/prd14.d.ts.map +1 -0
  588. package/dist/lanes/prd14.js +6 -0
  589. package/dist/lanes/prd14.js.map +1 -0
  590. package/dist/lanes/prd15.d.ts +6 -0
  591. package/dist/lanes/prd15.d.ts.map +1 -0
  592. package/dist/lanes/prd15.js +6 -0
  593. package/dist/lanes/prd15.js.map +1 -0
  594. package/dist/materials/PhysicalFeatures.d.ts +71 -0
  595. package/dist/materials/PhysicalFeatures.d.ts.map +1 -0
  596. package/dist/materials/PhysicalFeatures.js +255 -0
  597. package/dist/materials/PhysicalFeatures.js.map +1 -0
  598. package/dist/materials/PhysicalMaterial.d.ts +85 -0
  599. package/dist/materials/PhysicalMaterial.d.ts.map +1 -1
  600. package/dist/materials/PhysicalMaterial.js +21 -0
  601. package/dist/materials/PhysicalMaterial.js.map +1 -1
  602. package/dist/materials/features.d.ts +47 -0
  603. package/dist/materials/features.d.ts.map +1 -0
  604. package/dist/materials/features.js +282 -0
  605. package/dist/materials/features.js.map +1 -0
  606. package/dist/materials/lobes.d.ts +3 -0
  607. package/dist/materials/lobes.d.ts.map +1 -0
  608. package/dist/materials/lobes.js +225 -0
  609. package/dist/materials/lobes.js.map +1 -0
  610. package/dist/output/HdrTarget.d.ts +27 -0
  611. package/dist/output/HdrTarget.d.ts.map +1 -0
  612. package/dist/output/HdrTarget.js +48 -0
  613. package/dist/output/HdrTarget.js.map +1 -0
  614. package/dist/output/OutputPass.d.ts +28 -0
  615. package/dist/output/OutputPass.d.ts.map +1 -0
  616. package/dist/output/OutputPass.js +142 -0
  617. package/dist/output/OutputPass.js.map +1 -0
  618. package/dist/output/ToneMappingOperators.glsl.d.ts +22 -0
  619. package/dist/output/ToneMappingOperators.glsl.d.ts.map +1 -0
  620. package/dist/output/ToneMappingOperators.glsl.js +217 -0
  621. package/dist/output/ToneMappingOperators.glsl.js.map +1 -0
  622. package/dist/passes/ContactShadowPass.d.ts +57 -0
  623. package/dist/passes/ContactShadowPass.d.ts.map +1 -0
  624. package/dist/passes/ContactShadowPass.js +151 -0
  625. package/dist/passes/ContactShadowPass.js.map +1 -0
  626. package/dist/passes/Prd02ContactShadowsContributor.d.ts +16 -0
  627. package/dist/passes/Prd02ContactShadowsContributor.d.ts.map +1 -0
  628. package/dist/passes/Prd02ContactShadowsContributor.js +133 -0
  629. package/dist/passes/Prd02ContactShadowsContributor.js.map +1 -0
  630. package/dist/passes/Prd02SubFlags.d.ts +22 -0
  631. package/dist/passes/Prd02SubFlags.d.ts.map +1 -0
  632. package/dist/passes/Prd02SubFlags.js +32 -0
  633. package/dist/passes/Prd02SubFlags.js.map +1 -0
  634. package/dist/performance/BVH.d.ts +46 -0
  635. package/dist/performance/BVH.d.ts.map +1 -1
  636. package/dist/performance/BVH.js +212 -0
  637. package/dist/performance/BVH.js.map +1 -1
  638. package/dist/performance/Batcher.d.ts +11 -0
  639. package/dist/performance/Batcher.d.ts.map +1 -1
  640. package/dist/performance/Batcher.js +10 -0
  641. package/dist/performance/Batcher.js.map +1 -1
  642. package/dist/performance/FrustumCuller.d.ts +29 -0
  643. package/dist/performance/FrustumCuller.d.ts.map +1 -1
  644. package/dist/performance/FrustumCuller.js +78 -1
  645. package/dist/performance/FrustumCuller.js.map +1 -1
  646. package/dist/performance/LOD.d.ts +6 -0
  647. package/dist/performance/LOD.d.ts.map +1 -1
  648. package/dist/performance/LOD.js +12 -0
  649. package/dist/performance/LOD.js.map +1 -1
  650. package/dist/performance/RenderItemSorting.d.ts +2 -0
  651. package/dist/performance/RenderItemSorting.d.ts.map +1 -1
  652. package/dist/performance/RenderItemSorting.js +5 -1
  653. package/dist/performance/RenderItemSorting.js.map +1 -1
  654. package/dist/post/CubeLut.d.ts +15 -0
  655. package/dist/post/CubeLut.d.ts.map +1 -0
  656. package/dist/post/CubeLut.js +86 -0
  657. package/dist/post/CubeLut.js.map +1 -0
  658. package/dist/post/DisplayLutCache.d.ts +31 -0
  659. package/dist/post/DisplayLutCache.d.ts.map +1 -0
  660. package/dist/post/DisplayLutCache.js +44 -0
  661. package/dist/post/DisplayLutCache.js.map +1 -0
  662. package/dist/post/PostAntiAlias.d.ts +49 -0
  663. package/dist/post/PostAntiAlias.d.ts.map +1 -0
  664. package/dist/post/PostAntiAlias.js +75 -0
  665. package/dist/post/PostAntiAlias.js.map +1 -0
  666. package/dist/post/PostGraph.d.ts +206 -0
  667. package/dist/post/PostGraph.d.ts.map +1 -0
  668. package/dist/post/PostGraph.js +234 -0
  669. package/dist/post/PostGraph.js.map +1 -0
  670. package/dist/post/PostQualityTiers.d.ts +95 -0
  671. package/dist/post/PostQualityTiers.d.ts.map +1 -0
  672. package/dist/post/PostQualityTiers.js +62 -0
  673. package/dist/post/PostQualityTiers.js.map +1 -0
  674. package/dist/post/PostResources.d.ts +49 -0
  675. package/dist/post/PostResources.d.ts.map +1 -0
  676. package/dist/post/PostResources.js +124 -0
  677. package/dist/post/PostResources.js.map +1 -0
  678. package/dist/post/PostTimer.d.ts +37 -0
  679. package/dist/post/PostTimer.d.ts.map +1 -0
  680. package/dist/post/PostTimer.js +88 -0
  681. package/dist/post/PostTimer.js.map +1 -0
  682. package/dist/post/ScreenFeelPass.d.ts +83 -0
  683. package/dist/post/ScreenFeelPass.d.ts.map +1 -0
  684. package/dist/post/ScreenFeelPass.js +197 -0
  685. package/dist/post/ScreenFeelPass.js.map +1 -0
  686. package/dist/post/ToneOperators.d.ts +42 -0
  687. package/dist/post/ToneOperators.d.ts.map +1 -0
  688. package/dist/post/ToneOperators.js +179 -0
  689. package/dist/post/ToneOperators.js.map +1 -0
  690. package/dist/post/chunks/indirectFraction.glsl.d.ts +50 -0
  691. package/dist/post/chunks/indirectFraction.glsl.d.ts.map +1 -0
  692. package/dist/post/chunks/indirectFraction.glsl.js +82 -0
  693. package/dist/post/chunks/indirectFraction.glsl.js.map +1 -0
  694. package/dist/post/chunks/velocity.glsl.d.ts +35 -0
  695. package/dist/post/chunks/velocity.glsl.d.ts.map +1 -0
  696. package/dist/post/chunks/velocity.glsl.js +86 -0
  697. package/dist/post/chunks/velocity.glsl.js.map +1 -0
  698. package/dist/post/shaders/bloom.glsl.d.ts +21 -0
  699. package/dist/post/shaders/bloom.glsl.d.ts.map +1 -0
  700. package/dist/post/shaders/bloom.glsl.js +120 -0
  701. package/dist/post/shaders/bloom.glsl.js.map +1 -0
  702. package/dist/post/shaders/bloom.wgsl.d.ts +10 -0
  703. package/dist/post/shaders/bloom.wgsl.d.ts.map +1 -0
  704. package/dist/post/shaders/bloom.wgsl.js +121 -0
  705. package/dist/post/shaders/bloom.wgsl.js.map +1 -0
  706. package/dist/post/shaders/common.glsl.d.ts +11 -0
  707. package/dist/post/shaders/common.glsl.d.ts.map +1 -0
  708. package/dist/post/shaders/common.glsl.js +34 -0
  709. package/dist/post/shaders/common.glsl.js.map +1 -0
  710. package/dist/post/shaders/common.wgsl.d.ts +25 -0
  711. package/dist/post/shaders/common.wgsl.d.ts.map +1 -0
  712. package/dist/post/shaders/common.wgsl.js +48 -0
  713. package/dist/post/shaders/common.wgsl.js.map +1 -0
  714. package/dist/post/shaders/composite.glsl.d.ts +25 -0
  715. package/dist/post/shaders/composite.glsl.d.ts.map +1 -0
  716. package/dist/post/shaders/composite.glsl.js +96 -0
  717. package/dist/post/shaders/composite.glsl.js.map +1 -0
  718. package/dist/post/shaders/composite.wgsl.d.ts +10 -0
  719. package/dist/post/shaders/composite.wgsl.d.ts.map +1 -0
  720. package/dist/post/shaders/composite.wgsl.js +92 -0
  721. package/dist/post/shaders/composite.wgsl.js.map +1 -0
  722. package/dist/post/shaders/depthDownsample.glsl.d.ts +20 -0
  723. package/dist/post/shaders/depthDownsample.glsl.d.ts.map +1 -0
  724. package/dist/post/shaders/depthDownsample.glsl.js +78 -0
  725. package/dist/post/shaders/depthDownsample.glsl.js.map +1 -0
  726. package/dist/post/shaders/depthDownsample.wgsl.d.ts +17 -0
  727. package/dist/post/shaders/depthDownsample.wgsl.d.ts.map +1 -0
  728. package/dist/post/shaders/depthDownsample.wgsl.js +87 -0
  729. package/dist/post/shaders/depthDownsample.wgsl.js.map +1 -0
  730. package/dist/post/shaders/displayGrade.glsl.d.ts +18 -0
  731. package/dist/post/shaders/displayGrade.glsl.d.ts.map +1 -0
  732. package/dist/post/shaders/displayGrade.glsl.js +80 -0
  733. package/dist/post/shaders/displayGrade.glsl.js.map +1 -0
  734. package/dist/post/shaders/displayGrade.wgsl.d.ts +9 -0
  735. package/dist/post/shaders/displayGrade.wgsl.d.ts.map +1 -0
  736. package/dist/post/shaders/displayGrade.wgsl.js +75 -0
  737. package/dist/post/shaders/displayGrade.wgsl.js.map +1 -0
  738. package/dist/post/shaders/dof.glsl.d.ts +25 -0
  739. package/dist/post/shaders/dof.glsl.d.ts.map +1 -0
  740. package/dist/post/shaders/dof.glsl.js +129 -0
  741. package/dist/post/shaders/dof.glsl.js.map +1 -0
  742. package/dist/post/shaders/dof.wgsl.d.ts +11 -0
  743. package/dist/post/shaders/dof.wgsl.d.ts.map +1 -0
  744. package/dist/post/shaders/dof.wgsl.js +119 -0
  745. package/dist/post/shaders/dof.wgsl.js.map +1 -0
  746. package/dist/post/shaders/exposure.glsl.d.ts +43 -0
  747. package/dist/post/shaders/exposure.glsl.d.ts.map +1 -0
  748. package/dist/post/shaders/exposure.glsl.js +115 -0
  749. package/dist/post/shaders/exposure.glsl.js.map +1 -0
  750. package/dist/post/shaders/exposure.wgsl.d.ts +16 -0
  751. package/dist/post/shaders/exposure.wgsl.d.ts.map +1 -0
  752. package/dist/post/shaders/exposure.wgsl.js +97 -0
  753. package/dist/post/shaders/exposure.wgsl.js.map +1 -0
  754. package/dist/post/shaders/finalize.glsl.d.ts +17 -0
  755. package/dist/post/shaders/finalize.glsl.d.ts.map +1 -0
  756. package/dist/post/shaders/finalize.glsl.js +120 -0
  757. package/dist/post/shaders/finalize.glsl.js.map +1 -0
  758. package/dist/post/shaders/finalize.wgsl.d.ts +13 -0
  759. package/dist/post/shaders/finalize.wgsl.d.ts.map +1 -0
  760. package/dist/post/shaders/finalize.wgsl.js +124 -0
  761. package/dist/post/shaders/finalize.wgsl.js.map +1 -0
  762. package/dist/post/shaders/fxaa.glsl.d.ts +26 -0
  763. package/dist/post/shaders/fxaa.glsl.d.ts.map +1 -0
  764. package/dist/post/shaders/fxaa.glsl.js +246 -0
  765. package/dist/post/shaders/fxaa.glsl.js.map +1 -0
  766. package/dist/post/shaders/fxaa.wgsl.d.ts +17 -0
  767. package/dist/post/shaders/fxaa.wgsl.d.ts.map +1 -0
  768. package/dist/post/shaders/fxaa.wgsl.js +268 -0
  769. package/dist/post/shaders/fxaa.wgsl.js.map +1 -0
  770. package/dist/post/shaders/godrays.glsl.d.ts +16 -0
  771. package/dist/post/shaders/godrays.glsl.d.ts.map +1 -0
  772. package/dist/post/shaders/godrays.glsl.js +70 -0
  773. package/dist/post/shaders/godrays.glsl.js.map +1 -0
  774. package/dist/post/shaders/godrays.wgsl.d.ts +8 -0
  775. package/dist/post/shaders/godrays.wgsl.d.ts.map +1 -0
  776. package/dist/post/shaders/godrays.wgsl.js +60 -0
  777. package/dist/post/shaders/godrays.wgsl.js.map +1 -0
  778. package/dist/post/shaders/gtao.glsl.d.ts +29 -0
  779. package/dist/post/shaders/gtao.glsl.d.ts.map +1 -0
  780. package/dist/post/shaders/gtao.glsl.js +190 -0
  781. package/dist/post/shaders/gtao.glsl.js.map +1 -0
  782. package/dist/post/shaders/gtao.wgsl.d.ts +13 -0
  783. package/dist/post/shaders/gtao.wgsl.d.ts.map +1 -0
  784. package/dist/post/shaders/gtao.wgsl.js +163 -0
  785. package/dist/post/shaders/gtao.wgsl.js.map +1 -0
  786. package/dist/post/shaders/gtaoDenoise.glsl.d.ts +22 -0
  787. package/dist/post/shaders/gtaoDenoise.glsl.d.ts.map +1 -0
  788. package/dist/post/shaders/gtaoDenoise.glsl.js +121 -0
  789. package/dist/post/shaders/gtaoDenoise.glsl.js.map +1 -0
  790. package/dist/post/shaders/gtaoDenoise.wgsl.d.ts +11 -0
  791. package/dist/post/shaders/gtaoDenoise.wgsl.d.ts.map +1 -0
  792. package/dist/post/shaders/gtaoDenoise.wgsl.js +117 -0
  793. package/dist/post/shaders/gtaoDenoise.wgsl.js.map +1 -0
  794. package/dist/post/shaders/motionBlur.glsl.d.ts +21 -0
  795. package/dist/post/shaders/motionBlur.glsl.d.ts.map +1 -0
  796. package/dist/post/shaders/motionBlur.glsl.js +110 -0
  797. package/dist/post/shaders/motionBlur.glsl.js.map +1 -0
  798. package/dist/post/shaders/motionBlur.wgsl.d.ts +10 -0
  799. package/dist/post/shaders/motionBlur.wgsl.d.ts.map +1 -0
  800. package/dist/post/shaders/motionBlur.wgsl.js +102 -0
  801. package/dist/post/shaders/motionBlur.wgsl.js.map +1 -0
  802. package/dist/post/shaders/smaa.glsl.d.ts +28 -0
  803. package/dist/post/shaders/smaa.glsl.d.ts.map +1 -0
  804. package/dist/post/shaders/smaa.glsl.js +354 -0
  805. package/dist/post/shaders/smaa.glsl.js.map +1 -0
  806. package/dist/post/shaders/smaa.wgsl.d.ts +20 -0
  807. package/dist/post/shaders/smaa.wgsl.d.ts.map +1 -0
  808. package/dist/post/shaders/smaa.wgsl.js +375 -0
  809. package/dist/post/shaders/smaa.wgsl.js.map +1 -0
  810. package/dist/post/shaders/taa.glsl.d.ts +23 -0
  811. package/dist/post/shaders/taa.glsl.d.ts.map +1 -0
  812. package/dist/post/shaders/taa.glsl.js +169 -0
  813. package/dist/post/shaders/taa.glsl.js.map +1 -0
  814. package/dist/post/shaders/taa.wgsl.d.ts +10 -0
  815. package/dist/post/shaders/taa.wgsl.d.ts.map +1 -0
  816. package/dist/post/shaders/taa.wgsl.js +185 -0
  817. package/dist/post/shaders/taa.wgsl.js.map +1 -0
  818. package/dist/post/shaders/velocityDilate.glsl.d.ts +16 -0
  819. package/dist/post/shaders/velocityDilate.glsl.d.ts.map +1 -0
  820. package/dist/post/shaders/velocityDilate.glsl.js +45 -0
  821. package/dist/post/shaders/velocityDilate.glsl.js.map +1 -0
  822. package/dist/post/shaders/velocityDilate.wgsl.d.ts +8 -0
  823. package/dist/post/shaders/velocityDilate.wgsl.d.ts.map +1 -0
  824. package/dist/post/shaders/velocityDilate.wgsl.js +30 -0
  825. package/dist/post/shaders/velocityDilate.wgsl.js.map +1 -0
  826. package/dist/post/smaa/textures.d.ts +17 -0
  827. package/dist/post/smaa/textures.d.ts.map +1 -0
  828. package/dist/post/smaa/textures.js +17 -0
  829. package/dist/post/smaa/textures.js.map +1 -0
  830. package/dist/post/v2Entry.d.ts +25 -0
  831. package/dist/post/v2Entry.d.ts.map +1 -0
  832. package/dist/post/v2Entry.js +28 -0
  833. package/dist/post/v2Entry.js.map +1 -0
  834. package/dist/post/v2Stages.d.ts +156 -0
  835. package/dist/post/v2Stages.d.ts.map +1 -0
  836. package/dist/post/v2Stages.js +1189 -0
  837. package/dist/post/v2Stages.js.map +1 -0
  838. package/dist/postprocess/EffectComposer.d.ts +6 -109
  839. package/dist/postprocess/EffectComposer.d.ts.map +1 -1
  840. package/dist/postprocess/EffectComposer.js +6 -246
  841. package/dist/postprocess/EffectComposer.js.map +1 -1
  842. package/dist/postprocess/NativeBloomPyramid.d.ts +34 -0
  843. package/dist/postprocess/NativeBloomPyramid.d.ts.map +1 -1
  844. package/dist/postprocess/NativeBloomPyramid.js +57 -0
  845. package/dist/postprocess/NativeBloomPyramid.js.map +1 -1
  846. package/dist/postprocess/SSAOPass.d.ts +5 -5
  847. package/dist/postprocess/SSAOPass.d.ts.map +1 -1
  848. package/dist/postprocess/SSAOPass.js +5 -17
  849. package/dist/postprocess/SSAOPass.js.map +1 -1
  850. package/dist/probes/IrradianceVolume.d.ts +45 -0
  851. package/dist/probes/IrradianceVolume.d.ts.map +1 -0
  852. package/dist/probes/IrradianceVolume.js +230 -0
  853. package/dist/probes/IrradianceVolume.js.map +1 -0
  854. package/dist/probes/LtcLuts.d.ts +30 -0
  855. package/dist/probes/LtcLuts.d.ts.map +1 -0
  856. package/dist/probes/LtcLuts.js +120 -0
  857. package/dist/probes/LtcLuts.js.map +1 -0
  858. package/dist/probes/Prd02ProbesContributor.d.ts +53 -0
  859. package/dist/probes/Prd02ProbesContributor.d.ts.map +1 -0
  860. package/dist/probes/Prd02ProbesContributor.js +241 -0
  861. package/dist/probes/Prd02ProbesContributor.js.map +1 -0
  862. package/dist/probes/ProbeBoxProjection.d.ts +53 -0
  863. package/dist/probes/ProbeBoxProjection.d.ts.map +1 -0
  864. package/dist/probes/ProbeBoxProjection.js +99 -0
  865. package/dist/probes/ProbeBoxProjection.js.map +1 -0
  866. package/dist/probes/ReflectionProbeSystem.d.ts +64 -0
  867. package/dist/probes/ReflectionProbeSystem.d.ts.map +1 -0
  868. package/dist/probes/ReflectionProbeSystem.js +157 -0
  869. package/dist/probes/ReflectionProbeSystem.js.map +1 -0
  870. package/dist/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  871. package/dist/production-runtime/PBRHDRPipeline.js +23 -9
  872. package/dist/production-runtime/PBRHDRPipeline.js.map +1 -1
  873. package/dist/production-runtime/ProductionRendererTypes.d.ts +16 -6
  874. package/dist/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  875. package/dist/production-runtime/ProductionRendererTypes.js.map +1 -1
  876. package/dist/production-runtime/ProductionWebGPURenderer.d.ts +4 -4
  877. package/dist/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  878. package/dist/production-runtime/ProductionWebGPURenderer.js +10 -45
  879. package/dist/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  880. package/dist/production-runtime/backendSelection.d.ts +26 -0
  881. package/dist/production-runtime/backendSelection.d.ts.map +1 -0
  882. package/dist/production-runtime/backendSelection.js +46 -0
  883. package/dist/production-runtime/backendSelection.js.map +1 -0
  884. package/dist/production-runtime/backends/WebGL2RendererBackend.d.ts +1 -1
  885. package/dist/production-runtime/backends/WebGL2RendererBackend.d.ts.map +1 -1
  886. package/dist/production-runtime/backends/WebGL2RendererBackend.js +8 -4
  887. package/dist/production-runtime/backends/WebGL2RendererBackend.js.map +1 -1
  888. package/dist/production-runtime/backends/WebGPURendererBackend.d.ts +2 -19
  889. package/dist/production-runtime/backends/WebGPURendererBackend.d.ts.map +1 -1
  890. package/dist/production-runtime/backends/WebGPURendererBackend.js +2 -18
  891. package/dist/production-runtime/backends/WebGPURendererBackend.js.map +1 -1
  892. package/dist/production-runtime/backends/webgl2/WebGL2Buffer.d.ts +2 -10
  893. package/dist/production-runtime/backends/webgl2/WebGL2Buffer.d.ts.map +1 -1
  894. package/dist/production-runtime/backends/webgl2/WebGL2Buffer.js +2 -7
  895. package/dist/production-runtime/backends/webgl2/WebGL2Buffer.js.map +1 -1
  896. package/dist/production-runtime/backends/webgl2/WebGL2Capabilities.d.ts +2 -10
  897. package/dist/production-runtime/backends/webgl2/WebGL2Capabilities.d.ts.map +1 -1
  898. package/dist/production-runtime/backends/webgl2/WebGL2Capabilities.js +2 -7
  899. package/dist/production-runtime/backends/webgl2/WebGL2Capabilities.js.map +1 -1
  900. package/dist/production-runtime/backends/webgl2/WebGL2RenderTarget.d.ts +2 -10
  901. package/dist/production-runtime/backends/webgl2/WebGL2RenderTarget.d.ts.map +1 -1
  902. package/dist/production-runtime/backends/webgl2/WebGL2RenderTarget.js +2 -7
  903. package/dist/production-runtime/backends/webgl2/WebGL2RenderTarget.js.map +1 -1
  904. package/dist/production-runtime/backends/webgl2/WebGL2Shader.d.ts +2 -10
  905. package/dist/production-runtime/backends/webgl2/WebGL2Shader.d.ts.map +1 -1
  906. package/dist/production-runtime/backends/webgl2/WebGL2Shader.js +2 -7
  907. package/dist/production-runtime/backends/webgl2/WebGL2Shader.js.map +1 -1
  908. package/dist/production-runtime/backends/webgl2/WebGL2StateCache.d.ts +1 -0
  909. package/dist/production-runtime/backends/webgl2/WebGL2StateCache.d.ts.map +1 -1
  910. package/dist/production-runtime/backends/webgl2/WebGL2StateCache.js +1 -0
  911. package/dist/production-runtime/backends/webgl2/WebGL2StateCache.js.map +1 -1
  912. package/dist/production-runtime/backends/webgl2/WebGL2Texture.d.ts +2 -10
  913. package/dist/production-runtime/backends/webgl2/WebGL2Texture.d.ts.map +1 -1
  914. package/dist/production-runtime/backends/webgl2/WebGL2Texture.js +2 -7
  915. package/dist/production-runtime/backends/webgl2/WebGL2Texture.js.map +1 -1
  916. package/dist/production-runtime/backends/webgpu/WebGPUBuffer.d.ts +2 -10
  917. package/dist/production-runtime/backends/webgpu/WebGPUBuffer.d.ts.map +1 -1
  918. package/dist/production-runtime/backends/webgpu/WebGPUBuffer.js +2 -7
  919. package/dist/production-runtime/backends/webgpu/WebGPUBuffer.js.map +1 -1
  920. package/dist/production-runtime/backends/webgpu/WebGPUCapabilities.d.ts +2 -10
  921. package/dist/production-runtime/backends/webgpu/WebGPUCapabilities.d.ts.map +1 -1
  922. package/dist/production-runtime/backends/webgpu/WebGPUCapabilities.js +2 -7
  923. package/dist/production-runtime/backends/webgpu/WebGPUCapabilities.js.map +1 -1
  924. package/dist/production-runtime/backends/webgpu/WebGPURenderTarget.d.ts +2 -10
  925. package/dist/production-runtime/backends/webgpu/WebGPURenderTarget.d.ts.map +1 -1
  926. package/dist/production-runtime/backends/webgpu/WebGPURenderTarget.js +2 -7
  927. package/dist/production-runtime/backends/webgpu/WebGPURenderTarget.js.map +1 -1
  928. package/dist/production-runtime/backends/webgpu/WebGPUShader.d.ts +2 -10
  929. package/dist/production-runtime/backends/webgpu/WebGPUShader.d.ts.map +1 -1
  930. package/dist/production-runtime/backends/webgpu/WebGPUShader.js +2 -7
  931. package/dist/production-runtime/backends/webgpu/WebGPUShader.js.map +1 -1
  932. package/dist/production-runtime/backends/webgpu/WebGPUTexture.d.ts +2 -10
  933. package/dist/production-runtime/backends/webgpu/WebGPUTexture.d.ts.map +1 -1
  934. package/dist/production-runtime/backends/webgpu/WebGPUTexture.js +2 -7
  935. package/dist/production-runtime/backends/webgpu/WebGPUTexture.js.map +1 -1
  936. package/dist/production-runtime/index.d.ts +6 -6
  937. package/dist/production-runtime/index.d.ts.map +1 -1
  938. package/dist/production-runtime/index.js +9 -3
  939. package/dist/production-runtime/index.js.map +1 -1
  940. package/dist/production-runtime/materials/GLTFMaterialAdapter.d.ts +12 -13
  941. package/dist/production-runtime/materials/GLTFMaterialAdapter.d.ts.map +1 -1
  942. package/dist/production-runtime/materials/GLTFMaterialAdapter.js +10 -4
  943. package/dist/production-runtime/materials/GLTFMaterialAdapter.js.map +1 -1
  944. package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts +9 -2
  945. package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts.map +1 -1
  946. package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.js +7 -1
  947. package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.js.map +1 -1
  948. package/dist/production-runtime/materials/MaterialCompiler.d.ts +10 -8
  949. package/dist/production-runtime/materials/MaterialCompiler.d.ts.map +1 -1
  950. package/dist/production-runtime/materials/MaterialCompiler.js +9 -4
  951. package/dist/production-runtime/materials/MaterialCompiler.js.map +1 -1
  952. package/dist/production-runtime/materials/PBRShaderFeatures.d.ts.map +1 -1
  953. package/dist/production-runtime/materials/PBRShaderFeatures.js +30 -1
  954. package/dist/production-runtime/materials/PBRShaderFeatures.js.map +1 -1
  955. package/dist/production-runtime/passes/ContactShadowPass.d.ts.map +1 -1
  956. package/dist/production-runtime/passes/ContactShadowPass.js +14 -13
  957. package/dist/production-runtime/passes/ContactShadowPass.js.map +1 -1
  958. package/dist/production-runtime/renderProofs.d.ts +54 -0
  959. package/dist/production-runtime/renderProofs.d.ts.map +1 -0
  960. package/dist/production-runtime/renderProofs.js +245 -0
  961. package/dist/production-runtime/renderProofs.js.map +1 -0
  962. package/dist/program/DFGLut.d.ts +23 -0
  963. package/dist/program/DFGLut.d.ts.map +1 -0
  964. package/dist/program/DFGLut.js +58 -0
  965. package/dist/program/DFGLut.js.map +1 -0
  966. package/dist/program/DFGLutData.d.ts +35 -0
  967. package/dist/program/DFGLutData.d.ts.map +1 -0
  968. package/dist/program/DFGLutData.js +52 -0
  969. package/dist/program/DFGLutData.js.map +1 -0
  970. package/dist/program/FeatureSelect.d.ts +35 -0
  971. package/dist/program/FeatureSelect.d.ts.map +1 -0
  972. package/dist/program/FeatureSelect.js +88 -0
  973. package/dist/program/FeatureSelect.js.map +1 -0
  974. package/dist/program/MaterialFeatures.d.ts +66 -0
  975. package/dist/program/MaterialFeatures.d.ts.map +1 -0
  976. package/dist/program/MaterialFeatures.js +242 -0
  977. package/dist/program/MaterialFeatures.js.map +1 -0
  978. package/dist/program/ProgramCache.d.ts +83 -0
  979. package/dist/program/ProgramCache.d.ts.map +1 -0
  980. package/dist/program/ProgramCache.js +194 -0
  981. package/dist/program/ProgramCache.js.map +1 -0
  982. package/dist/program/ProgramFeatures.d.ts +21 -0
  983. package/dist/program/ProgramFeatures.d.ts.map +1 -0
  984. package/dist/program/ProgramFeatures.js +95 -0
  985. package/dist/program/ProgramFeatures.js.map +1 -0
  986. package/dist/program/ProgramGenerator.d.ts +60 -0
  987. package/dist/program/ProgramGenerator.d.ts.map +1 -0
  988. package/dist/program/ProgramGenerator.js +760 -0
  989. package/dist/program/ProgramGenerator.js.map +1 -0
  990. package/dist/program/ProgramKey.d.ts +10 -0
  991. package/dist/program/ProgramKey.d.ts.map +1 -0
  992. package/dist/program/ProgramKey.js +13 -0
  993. package/dist/program/ProgramKey.js.map +1 -0
  994. package/dist/program/ProgramWarmup.d.ts +37 -0
  995. package/dist/program/ProgramWarmup.d.ts.map +1 -0
  996. package/dist/program/ProgramWarmup.js +68 -0
  997. package/dist/program/ProgramWarmup.js.map +1 -0
  998. package/dist/program/UniformLayout.d.ts +40 -0
  999. package/dist/program/UniformLayout.d.ts.map +1 -0
  1000. package/dist/program/UniformLayout.js +105 -0
  1001. package/dist/program/UniformLayout.js.map +1 -0
  1002. package/dist/program/chunks/alpha.glsl.d.ts +7 -0
  1003. package/dist/program/chunks/alpha.glsl.d.ts.map +1 -0
  1004. package/dist/program/chunks/alpha.glsl.js +17 -0
  1005. package/dist/program/chunks/alpha.glsl.js.map +1 -0
  1006. package/dist/program/chunks/brdf.glsl.d.ts +12 -0
  1007. package/dist/program/chunks/brdf.glsl.d.ts.map +1 -0
  1008. package/dist/program/chunks/brdf.glsl.js +144 -0
  1009. package/dist/program/chunks/brdf.glsl.js.map +1 -0
  1010. package/dist/program/chunks/colorspace.glsl.d.ts +8 -0
  1011. package/dist/program/chunks/colorspace.glsl.d.ts.map +1 -0
  1012. package/dist/program/chunks/colorspace.glsl.js +16 -0
  1013. package/dist/program/chunks/colorspace.glsl.js.map +1 -0
  1014. package/dist/program/chunks/common.glsl.d.ts +7 -0
  1015. package/dist/program/chunks/common.glsl.d.ts.map +1 -0
  1016. package/dist/program/chunks/common.glsl.js +25 -0
  1017. package/dist/program/chunks/common.glsl.js.map +1 -0
  1018. package/dist/program/chunks/depth.glsl.d.ts +9 -0
  1019. package/dist/program/chunks/depth.glsl.d.ts.map +1 -0
  1020. package/dist/program/chunks/depth.glsl.js +18 -0
  1021. package/dist/program/chunks/depth.glsl.js.map +1 -0
  1022. package/dist/program/chunks/drawId.wgsl.d.ts +9 -0
  1023. package/dist/program/chunks/drawId.wgsl.d.ts.map +1 -0
  1024. package/dist/program/chunks/drawId.wgsl.js +29 -0
  1025. package/dist/program/chunks/drawId.wgsl.js.map +1 -0
  1026. package/dist/program/chunks/fog_default.glsl.d.ts +8 -0
  1027. package/dist/program/chunks/fog_default.glsl.d.ts.map +1 -0
  1028. package/dist/program/chunks/fog_default.glsl.js +31 -0
  1029. package/dist/program/chunks/fog_default.glsl.js.map +1 -0
  1030. package/dist/program/chunks/indirect_default.glsl.d.ts +29 -0
  1031. package/dist/program/chunks/indirect_default.glsl.d.ts.map +1 -0
  1032. package/dist/program/chunks/indirect_default.glsl.js +113 -0
  1033. package/dist/program/chunks/indirect_default.glsl.js.map +1 -0
  1034. package/dist/program/chunks/instanceEmissive.wgsl.d.ts +10 -0
  1035. package/dist/program/chunks/instanceEmissive.wgsl.d.ts.map +1 -0
  1036. package/dist/program/chunks/instanceEmissive.wgsl.js +21 -0
  1037. package/dist/program/chunks/instanceEmissive.wgsl.js.map +1 -0
  1038. package/dist/program/chunks/instancing.glsl.d.ts +8 -0
  1039. package/dist/program/chunks/instancing.glsl.d.ts.map +1 -0
  1040. package/dist/program/chunks/instancing.glsl.js +25 -0
  1041. package/dist/program/chunks/instancing.glsl.js.map +1 -0
  1042. package/dist/program/chunks/lights_legacy.glsl.d.ts +15 -0
  1043. package/dist/program/chunks/lights_legacy.glsl.d.ts.map +1 -0
  1044. package/dist/program/chunks/lights_legacy.glsl.js +95 -0
  1045. package/dist/program/chunks/lights_legacy.glsl.js.map +1 -0
  1046. package/dist/program/chunks/manifest.d.ts +42 -0
  1047. package/dist/program/chunks/manifest.d.ts.map +1 -0
  1048. package/dist/program/chunks/manifest.js +48 -0
  1049. package/dist/program/chunks/manifest.js.map +1 -0
  1050. package/dist/program/chunks/normal.glsl.d.ts +8 -0
  1051. package/dist/program/chunks/normal.glsl.d.ts.map +1 -0
  1052. package/dist/program/chunks/normal.glsl.js +34 -0
  1053. package/dist/program/chunks/normal.glsl.js.map +1 -0
  1054. package/dist/program/chunks/shadow_forward.glsl.d.ts +23 -0
  1055. package/dist/program/chunks/shadow_forward.glsl.d.ts.map +1 -0
  1056. package/dist/program/chunks/shadow_forward.glsl.js +73 -0
  1057. package/dist/program/chunks/shadow_forward.glsl.js.map +1 -0
  1058. package/dist/quality/DeviceClasses.d.ts +31 -0
  1059. package/dist/quality/DeviceClasses.d.ts.map +1 -0
  1060. package/dist/quality/DeviceClasses.js +83 -0
  1061. package/dist/quality/DeviceClasses.js.map +1 -0
  1062. package/dist/quality/DeviceProbe.d.ts +42 -0
  1063. package/dist/quality/DeviceProbe.d.ts.map +1 -0
  1064. package/dist/quality/DeviceProbe.js +83 -0
  1065. package/dist/quality/DeviceProbe.js.map +1 -0
  1066. package/dist/quality/FrameStats.d.ts +62 -0
  1067. package/dist/quality/FrameStats.d.ts.map +1 -0
  1068. package/dist/quality/FrameStats.js +220 -0
  1069. package/dist/quality/FrameStats.js.map +1 -0
  1070. package/dist/quality/PostprocessGuard.d.ts +49 -0
  1071. package/dist/quality/PostprocessGuard.d.ts.map +1 -0
  1072. package/dist/quality/PostprocessGuard.js +92 -0
  1073. package/dist/quality/PostprocessGuard.js.map +1 -0
  1074. package/dist/quality/QualityController.d.ts +93 -0
  1075. package/dist/quality/QualityController.d.ts.map +1 -0
  1076. package/dist/quality/QualityController.js +248 -0
  1077. package/dist/quality/QualityController.js.map +1 -0
  1078. package/dist/quality/QualityGovernor.d.ts +78 -0
  1079. package/dist/quality/QualityGovernor.d.ts.map +1 -0
  1080. package/dist/quality/QualityGovernor.js +170 -0
  1081. package/dist/quality/QualityGovernor.js.map +1 -0
  1082. package/dist/quality/QualityTier.d.ts +17 -0
  1083. package/dist/quality/QualityTier.d.ts.map +1 -0
  1084. package/dist/quality/QualityTier.js +23 -0
  1085. package/dist/quality/QualityTier.js.map +1 -0
  1086. package/dist/quality/RenderScaleController.d.ts +35 -0
  1087. package/dist/quality/RenderScaleController.d.ts.map +1 -0
  1088. package/dist/quality/RenderScaleController.js +57 -0
  1089. package/dist/quality/RenderScaleController.js.map +1 -0
  1090. package/dist/quality/RetentionPolicy.d.ts +11 -0
  1091. package/dist/quality/RetentionPolicy.d.ts.map +1 -0
  1092. package/dist/quality/RetentionPolicy.js +12 -0
  1093. package/dist/quality/RetentionPolicy.js.map +1 -0
  1094. package/dist/quality/TierResolver.d.ts +52 -0
  1095. package/dist/quality/TierResolver.d.ts.map +1 -0
  1096. package/dist/quality/TierResolver.js +155 -0
  1097. package/dist/quality/TierResolver.js.map +1 -0
  1098. package/dist/quality/liveTier.d.ts +23 -0
  1099. package/dist/quality/liveTier.d.ts.map +1 -0
  1100. package/dist/quality/liveTier.js +16 -0
  1101. package/dist/quality/liveTier.js.map +1 -0
  1102. package/dist/reference/BloomPass.d.ts +10 -0
  1103. package/dist/reference/BloomPass.d.ts.map +1 -0
  1104. package/dist/reference/BloomPass.js +18 -0
  1105. package/dist/reference/BloomPass.js.map +1 -0
  1106. package/dist/reference/DepthHazePass.d.ts +12 -0
  1107. package/dist/reference/DepthHazePass.d.ts.map +1 -0
  1108. package/dist/reference/DepthHazePass.js +20 -0
  1109. package/dist/reference/DepthHazePass.js.map +1 -0
  1110. package/dist/reference/EffectComposer.d.ts +110 -0
  1111. package/dist/reference/EffectComposer.d.ts.map +1 -0
  1112. package/dist/reference/EffectComposer.js +247 -0
  1113. package/dist/reference/EffectComposer.js.map +1 -0
  1114. package/dist/reference/FilmGrainPass.d.ts +9 -0
  1115. package/dist/reference/FilmGrainPass.d.ts.map +1 -0
  1116. package/dist/reference/FilmGrainPass.js +17 -0
  1117. package/dist/reference/FilmGrainPass.js.map +1 -0
  1118. package/dist/reference/PostProcessPass.d.ts +511 -0
  1119. package/dist/reference/PostProcessPass.d.ts.map +1 -0
  1120. package/dist/reference/PostProcessPass.js +2023 -0
  1121. package/dist/reference/PostProcessPass.js.map +1 -0
  1122. package/dist/reference/SSAOPass.d.ts +6 -0
  1123. package/dist/reference/SSAOPass.d.ts.map +1 -0
  1124. package/dist/reference/SSAOPass.js +18 -0
  1125. package/dist/reference/SSAOPass.js.map +1 -0
  1126. package/dist/reference/VignettePass.d.ts +10 -0
  1127. package/dist/reference/VignettePass.d.ts.map +1 -0
  1128. package/dist/reference/VignettePass.js +17 -0
  1129. package/dist/reference/VignettePass.js.map +1 -0
  1130. package/dist/reference/index.d.ts +15 -0
  1131. package/dist/reference/index.d.ts.map +1 -0
  1132. package/dist/reference/index.js +15 -0
  1133. package/dist/reference/index.js.map +1 -0
  1134. package/dist/renderer/Background.d.ts +49 -0
  1135. package/dist/renderer/Background.d.ts.map +1 -0
  1136. package/dist/renderer/Background.js +259 -0
  1137. package/dist/renderer/Background.js.map +1 -0
  1138. package/dist/renderer/CullingBatching.d.ts +55 -0
  1139. package/dist/renderer/CullingBatching.d.ts.map +1 -0
  1140. package/dist/renderer/CullingBatching.js +362 -0
  1141. package/dist/renderer/CullingBatching.js.map +1 -0
  1142. package/dist/renderer/DeviceLifecycle.d.ts +29 -0
  1143. package/dist/renderer/DeviceLifecycle.d.ts.map +1 -0
  1144. package/dist/renderer/DeviceLifecycle.js +48 -0
  1145. package/dist/renderer/DeviceLifecycle.js.map +1 -0
  1146. package/dist/renderer/FrameGraph.d.ts +96 -0
  1147. package/dist/renderer/FrameGraph.d.ts.map +1 -0
  1148. package/dist/renderer/FrameGraph.js +301 -0
  1149. package/dist/renderer/FrameGraph.js.map +1 -0
  1150. package/dist/renderer/InterleavedTransparentPass.d.ts +31 -0
  1151. package/dist/renderer/InterleavedTransparentPass.d.ts.map +1 -0
  1152. package/dist/renderer/InterleavedTransparentPass.js +65 -0
  1153. package/dist/renderer/InterleavedTransparentPass.js.map +1 -0
  1154. package/dist/renderer/PixelRatio.d.ts +64 -0
  1155. package/dist/renderer/PixelRatio.d.ts.map +1 -0
  1156. package/dist/renderer/PixelRatio.js +81 -0
  1157. package/dist/renderer/PixelRatio.js.map +1 -0
  1158. package/dist/renderer/PostprocessExecution.d.ts +82 -0
  1159. package/dist/renderer/PostprocessExecution.d.ts.map +1 -0
  1160. package/dist/renderer/PostprocessExecution.js +745 -0
  1161. package/dist/renderer/PostprocessExecution.js.map +1 -0
  1162. package/dist/renderer/Prd06ShaderWarmup.d.ts +32 -0
  1163. package/dist/renderer/Prd06ShaderWarmup.d.ts.map +1 -0
  1164. package/dist/renderer/Prd06ShaderWarmup.js +45 -0
  1165. package/dist/renderer/Prd06ShaderWarmup.js.map +1 -0
  1166. package/dist/renderer/RenderShared.d.ts +11 -0
  1167. package/dist/renderer/RenderShared.d.ts.map +1 -0
  1168. package/dist/renderer/RenderShared.js +47 -0
  1169. package/dist/renderer/RenderShared.js.map +1 -0
  1170. package/dist/renderer/RendererFactory.d.ts +3 -0
  1171. package/dist/renderer/RendererFactory.d.ts.map +1 -0
  1172. package/dist/renderer/RendererFactory.js +19 -0
  1173. package/dist/renderer/RendererFactory.js.map +1 -0
  1174. package/dist/renderer/RendererHost.d.ts +25 -0
  1175. package/dist/renderer/RendererHost.d.ts.map +1 -0
  1176. package/dist/renderer/RendererHost.js +4 -0
  1177. package/dist/renderer/RendererHost.js.map +1 -0
  1178. package/dist/renderer/SceneDepthCopyPass.d.ts +50 -0
  1179. package/dist/renderer/SceneDepthCopyPass.d.ts.map +1 -0
  1180. package/dist/renderer/SceneDepthCopyPass.js +124 -0
  1181. package/dist/renderer/SceneDepthCopyPass.js.map +1 -0
  1182. package/dist/renderer/ShadowOrchestration.d.ts +32 -0
  1183. package/dist/renderer/ShadowOrchestration.d.ts.map +1 -0
  1184. package/dist/renderer/ShadowOrchestration.js +491 -0
  1185. package/dist/renderer/ShadowOrchestration.js.map +1 -0
  1186. package/dist/renderer/SkinnedBounds.d.ts +6 -0
  1187. package/dist/renderer/SkinnedBounds.d.ts.map +1 -0
  1188. package/dist/renderer/SkinnedBounds.js +74 -0
  1189. package/dist/renderer/SkinnedBounds.js.map +1 -0
  1190. package/dist/renderer/coreOutputPostRoute.d.ts +40 -0
  1191. package/dist/renderer/coreOutputPostRoute.d.ts.map +1 -0
  1192. package/dist/renderer/coreOutputPostRoute.js +46 -0
  1193. package/dist/renderer/coreOutputPostRoute.js.map +1 -0
  1194. package/dist/renderer/postSkipped.d.ts +12 -0
  1195. package/dist/renderer/postSkipped.d.ts.map +1 -0
  1196. package/dist/renderer/postSkipped.js +54 -0
  1197. package/dist/renderer/postSkipped.js.map +1 -0
  1198. package/dist/renderer/qrSubFlags.d.ts +45 -0
  1199. package/dist/renderer/qrSubFlags.d.ts.map +1 -0
  1200. package/dist/renderer/qrSubFlags.js +130 -0
  1201. package/dist/renderer/qrSubFlags.js.map +1 -0
  1202. package/dist/resources/InstanceBuffer.d.ts +34 -0
  1203. package/dist/resources/InstanceBuffer.d.ts.map +1 -0
  1204. package/dist/resources/InstanceBuffer.js +96 -0
  1205. package/dist/resources/InstanceBuffer.js.map +1 -0
  1206. package/dist/resources/MorphTargetTexture.d.ts +53 -0
  1207. package/dist/resources/MorphTargetTexture.d.ts.map +1 -0
  1208. package/dist/resources/MorphTargetTexture.js +135 -0
  1209. package/dist/resources/MorphTargetTexture.js.map +1 -0
  1210. package/dist/resources/RenderTargetPool.d.ts +47 -0
  1211. package/dist/resources/RenderTargetPool.d.ts.map +1 -0
  1212. package/dist/resources/RenderTargetPool.js +122 -0
  1213. package/dist/resources/RenderTargetPool.js.map +1 -0
  1214. package/dist/resources/ResourceRegistry.d.ts +48 -0
  1215. package/dist/resources/ResourceRegistry.d.ts.map +1 -0
  1216. package/dist/resources/ResourceRegistry.js +95 -0
  1217. package/dist/resources/ResourceRegistry.js.map +1 -0
  1218. package/dist/resources/UniformBlock.d.ts +90 -0
  1219. package/dist/resources/UniformBlock.d.ts.map +1 -0
  1220. package/dist/resources/UniformBlock.js +184 -0
  1221. package/dist/resources/UniformBlock.js.map +1 -0
  1222. package/dist/shaders/camera-fade.glsl.d.ts +26 -0
  1223. package/dist/shaders/camera-fade.glsl.d.ts.map +1 -0
  1224. package/dist/shaders/camera-fade.glsl.js +109 -0
  1225. package/dist/shaders/camera-fade.glsl.js.map +1 -0
  1226. package/dist/shaders/chunks/contact_shadow.glsl.d.ts +12 -0
  1227. package/dist/shaders/chunks/contact_shadow.glsl.d.ts.map +1 -0
  1228. package/dist/shaders/chunks/contact_shadow.glsl.js +53 -0
  1229. package/dist/shaders/chunks/contact_shadow.glsl.js.map +1 -0
  1230. package/dist/shaders/chunks/lighting_ibl.glsl.d.ts +29 -0
  1231. package/dist/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -0
  1232. package/dist/shaders/chunks/lighting_ibl.glsl.js +122 -0
  1233. package/dist/shaders/chunks/lighting_ibl.glsl.js.map +1 -0
  1234. package/dist/shaders/chunks/lighting_mirrors.d.ts +18 -0
  1235. package/dist/shaders/chunks/lighting_mirrors.d.ts.map +1 -0
  1236. package/dist/shaders/chunks/lighting_mirrors.js +35 -0
  1237. package/dist/shaders/chunks/lighting_mirrors.js.map +1 -0
  1238. package/dist/shaders/chunks/lighting_punctual.glsl.d.ts +17 -0
  1239. package/dist/shaders/chunks/lighting_punctual.glsl.d.ts.map +1 -0
  1240. package/dist/shaders/chunks/lighting_punctual.glsl.js +197 -0
  1241. package/dist/shaders/chunks/lighting_punctual.glsl.js.map +1 -0
  1242. package/dist/shaders/chunks/sh9.glsl.d.ts +9 -0
  1243. package/dist/shaders/chunks/sh9.glsl.d.ts.map +1 -0
  1244. package/dist/shaders/chunks/sh9.glsl.js +41 -0
  1245. package/dist/shaders/chunks/sh9.glsl.js.map +1 -0
  1246. package/dist/shaders/chunks/shadow_caster.glsl.d.ts +10 -0
  1247. package/dist/shaders/chunks/shadow_caster.glsl.d.ts.map +1 -0
  1248. package/dist/shaders/chunks/shadow_caster.glsl.js +32 -0
  1249. package/dist/shaders/chunks/shadow_caster.glsl.js.map +1 -0
  1250. package/dist/shaders/chunks/shadow_receive.glsl.d.ts +13 -0
  1251. package/dist/shaders/chunks/shadow_receive.glsl.d.ts.map +1 -0
  1252. package/dist/shaders/chunks/shadow_receive.glsl.js +136 -0
  1253. package/dist/shaders/chunks/shadow_receive.glsl.js.map +1 -0
  1254. package/dist/shaders/debug-view.glsl.d.ts +18 -0
  1255. package/dist/shaders/debug-view.glsl.d.ts.map +1 -0
  1256. package/dist/shaders/debug-view.glsl.js +153 -0
  1257. package/dist/shaders/debug-view.glsl.js.map +1 -0
  1258. package/dist/shaders/deform/deform.glsl.d.ts +17 -0
  1259. package/dist/shaders/deform/deform.glsl.d.ts.map +1 -0
  1260. package/dist/shaders/deform/deform.glsl.js +99 -0
  1261. package/dist/shaders/deform/deform.glsl.js.map +1 -0
  1262. package/dist/shaders/deform/deform.wgsl.d.ts +15 -0
  1263. package/dist/shaders/deform/deform.wgsl.d.ts.map +1 -0
  1264. package/dist/shaders/deform/deform.wgsl.js +89 -0
  1265. package/dist/shaders/deform/deform.wgsl.js.map +1 -0
  1266. package/dist/shaders/deform/depthFeature.d.ts +22 -0
  1267. package/dist/shaders/deform/depthFeature.d.ts.map +1 -0
  1268. package/dist/shaders/deform/depthFeature.js +44 -0
  1269. package/dist/shaders/deform/depthFeature.js.map +1 -0
  1270. package/dist/shaders/deform/forwardFeature.d.ts +114 -0
  1271. package/dist/shaders/deform/forwardFeature.d.ts.map +1 -0
  1272. package/dist/shaders/deform/forwardFeature.js +300 -0
  1273. package/dist/shaders/deform/forwardFeature.js.map +1 -0
  1274. package/dist/shaders/deform/morph.glsl.d.ts +14 -0
  1275. package/dist/shaders/deform/morph.glsl.d.ts.map +1 -0
  1276. package/dist/shaders/deform/morph.glsl.js +45 -0
  1277. package/dist/shaders/deform/morph.glsl.js.map +1 -0
  1278. package/dist/shaders/deform/morph.wgsl.d.ts +21 -0
  1279. package/dist/shaders/deform/morph.wgsl.d.ts.map +1 -0
  1280. package/dist/shaders/deform/morph.wgsl.js +73 -0
  1281. package/dist/shaders/deform/morph.wgsl.js.map +1 -0
  1282. package/dist/shaders/deform/skinning.glsl.d.ts +8 -0
  1283. package/dist/shaders/deform/skinning.glsl.d.ts.map +1 -0
  1284. package/dist/shaders/deform/skinning.glsl.js +37 -0
  1285. package/dist/shaders/deform/skinning.glsl.js.map +1 -0
  1286. package/dist/shaders/deform/skinning.wgsl.d.ts +26 -0
  1287. package/dist/shaders/deform/skinning.wgsl.d.ts.map +1 -0
  1288. package/dist/shaders/deform/skinning.wgsl.js +58 -0
  1289. package/dist/shaders/deform/skinning.wgsl.js.map +1 -0
  1290. package/dist/shaders/deform/twins.d.ts +8 -0
  1291. package/dist/shaders/deform/twins.d.ts.map +1 -0
  1292. package/dist/shaders/deform/twins.js +20 -0
  1293. package/dist/shaders/deform/twins.js.map +1 -0
  1294. package/dist/shaders/lod-dither.glsl.d.ts +12 -0
  1295. package/dist/shaders/lod-dither.glsl.d.ts.map +1 -0
  1296. package/dist/shaders/lod-dither.glsl.js +101 -0
  1297. package/dist/shaders/lod-dither.glsl.js.map +1 -0
  1298. package/dist/shaders/physical/alpha_a2c.glsl.d.ts +19 -0
  1299. package/dist/shaders/physical/alpha_a2c.glsl.d.ts.map +1 -0
  1300. package/dist/shaders/physical/alpha_a2c.glsl.js +29 -0
  1301. package/dist/shaders/physical/alpha_a2c.glsl.js.map +1 -0
  1302. package/dist/shaders/physical/anisotropy.glsl.d.ts +23 -0
  1303. package/dist/shaders/physical/anisotropy.glsl.d.ts.map +1 -0
  1304. package/dist/shaders/physical/anisotropy.glsl.js +116 -0
  1305. package/dist/shaders/physical/anisotropy.glsl.js.map +1 -0
  1306. package/dist/shaders/physical/bsdf_lobes_common.glsl.d.ts +25 -0
  1307. package/dist/shaders/physical/bsdf_lobes_common.glsl.d.ts.map +1 -0
  1308. package/dist/shaders/physical/bsdf_lobes_common.glsl.js +95 -0
  1309. package/dist/shaders/physical/bsdf_lobes_common.glsl.js.map +1 -0
  1310. package/dist/shaders/physical/clearcoat.glsl.d.ts +23 -0
  1311. package/dist/shaders/physical/clearcoat.glsl.d.ts.map +1 -0
  1312. package/dist/shaders/physical/clearcoat.glsl.js +70 -0
  1313. package/dist/shaders/physical/clearcoat.glsl.js.map +1 -0
  1314. package/dist/shaders/physical/debug_view.glsl.d.ts +19 -0
  1315. package/dist/shaders/physical/debug_view.glsl.d.ts.map +1 -0
  1316. package/dist/shaders/physical/debug_view.glsl.js +76 -0
  1317. package/dist/shaders/physical/debug_view.glsl.js.map +1 -0
  1318. package/dist/shaders/physical/dispersion.glsl.d.ts +18 -0
  1319. package/dist/shaders/physical/dispersion.glsl.d.ts.map +1 -0
  1320. package/dist/shaders/physical/dispersion.glsl.js +67 -0
  1321. package/dist/shaders/physical/dispersion.glsl.js.map +1 -0
  1322. package/dist/shaders/physical/emissive_strength.glsl.d.ts +18 -0
  1323. package/dist/shaders/physical/emissive_strength.glsl.d.ts.map +1 -0
  1324. package/dist/shaders/physical/emissive_strength.glsl.js +20 -0
  1325. package/dist/shaders/physical/emissive_strength.glsl.js.map +1 -0
  1326. package/dist/shaders/physical/index.d.ts +27 -0
  1327. package/dist/shaders/physical/index.d.ts.map +1 -0
  1328. package/dist/shaders/physical/index.js +69 -0
  1329. package/dist/shaders/physical/index.js.map +1 -0
  1330. package/dist/shaders/physical/iridescence.glsl.d.ts +25 -0
  1331. package/dist/shaders/physical/iridescence.glsl.d.ts.map +1 -0
  1332. package/dist/shaders/physical/iridescence.glsl.js +186 -0
  1333. package/dist/shaders/physical/iridescence.glsl.js.map +1 -0
  1334. package/dist/shaders/physical/lobe_calls.glsl.d.ts +83 -0
  1335. package/dist/shaders/physical/lobe_calls.glsl.d.ts.map +1 -0
  1336. package/dist/shaders/physical/lobe_calls.glsl.js +397 -0
  1337. package/dist/shaders/physical/lobe_calls.glsl.js.map +1 -0
  1338. package/dist/shaders/physical/sheen.glsl.d.ts +24 -0
  1339. package/dist/shaders/physical/sheen.glsl.d.ts.map +1 -0
  1340. package/dist/shaders/physical/sheen.glsl.js +108 -0
  1341. package/dist/shaders/physical/sheen.glsl.js.map +1 -0
  1342. package/dist/shaders/physical/specular_ior.glsl.d.ts +20 -0
  1343. package/dist/shaders/physical/specular_ior.glsl.d.ts.map +1 -0
  1344. package/dist/shaders/physical/specular_ior.glsl.js +64 -0
  1345. package/dist/shaders/physical/specular_ior.glsl.js.map +1 -0
  1346. package/dist/shaders/physical/tangent_frame.glsl.d.ts +27 -0
  1347. package/dist/shaders/physical/tangent_frame.glsl.d.ts.map +1 -0
  1348. package/dist/shaders/physical/tangent_frame.glsl.js +71 -0
  1349. package/dist/shaders/physical/tangent_frame.glsl.js.map +1 -0
  1350. package/dist/shaders/physical/transmission.glsl.d.ts +25 -0
  1351. package/dist/shaders/physical/transmission.glsl.d.ts.map +1 -0
  1352. package/dist/shaders/physical/transmission.glsl.js +204 -0
  1353. package/dist/shaders/physical/transmission.glsl.js.map +1 -0
  1354. package/dist/shaders/physical/transmission_copy.glsl.d.ts +15 -0
  1355. package/dist/shaders/physical/transmission_copy.glsl.d.ts.map +1 -0
  1356. package/dist/shaders/physical/transmission_copy.glsl.js +33 -0
  1357. package/dist/shaders/physical/transmission_copy.glsl.js.map +1 -0
  1358. package/dist/shaders/physical/unlit.glsl.d.ts +17 -0
  1359. package/dist/shaders/physical/unlit.glsl.d.ts.map +1 -0
  1360. package/dist/shaders/physical/unlit.glsl.js +19 -0
  1361. package/dist/shaders/physical/unlit.glsl.js.map +1 -0
  1362. package/dist/shaders/physical/uv_transform.glsl.d.ts +18 -0
  1363. package/dist/shaders/physical/uv_transform.glsl.d.ts.map +1 -0
  1364. package/dist/shaders/physical/uv_transform.glsl.js +30 -0
  1365. package/dist/shaders/physical/uv_transform.glsl.js.map +1 -0
  1366. package/dist/shaders/physical/volume.glsl.d.ts +19 -0
  1367. package/dist/shaders/physical/volume.glsl.d.ts.map +1 -0
  1368. package/dist/shaders/physical/volume.glsl.js +47 -0
  1369. package/dist/shaders/physical/volume.glsl.js.map +1 -0
  1370. package/dist/shaders/physical-wgsl/alpha_a2c.wgsl.d.ts +8 -0
  1371. package/dist/shaders/physical-wgsl/alpha_a2c.wgsl.d.ts.map +1 -0
  1372. package/dist/shaders/physical-wgsl/alpha_a2c.wgsl.js +26 -0
  1373. package/dist/shaders/physical-wgsl/alpha_a2c.wgsl.js.map +1 -0
  1374. package/dist/shaders/physical-wgsl/anisotropy.wgsl.d.ts +10 -0
  1375. package/dist/shaders/physical-wgsl/anisotropy.wgsl.d.ts.map +1 -0
  1376. package/dist/shaders/physical-wgsl/anisotropy.wgsl.js +97 -0
  1377. package/dist/shaders/physical-wgsl/anisotropy.wgsl.js.map +1 -0
  1378. package/dist/shaders/physical-wgsl/bsdf_lobes_common.wgsl.d.ts +11 -0
  1379. package/dist/shaders/physical-wgsl/bsdf_lobes_common.wgsl.d.ts.map +1 -0
  1380. package/dist/shaders/physical-wgsl/bsdf_lobes_common.wgsl.js +76 -0
  1381. package/dist/shaders/physical-wgsl/bsdf_lobes_common.wgsl.js.map +1 -0
  1382. package/dist/shaders/physical-wgsl/clearcoat.wgsl.d.ts +9 -0
  1383. package/dist/shaders/physical-wgsl/clearcoat.wgsl.d.ts.map +1 -0
  1384. package/dist/shaders/physical-wgsl/clearcoat.wgsl.js +56 -0
  1385. package/dist/shaders/physical-wgsl/clearcoat.wgsl.js.map +1 -0
  1386. package/dist/shaders/physical-wgsl/debug_view.wgsl.d.ts +10 -0
  1387. package/dist/shaders/physical-wgsl/debug_view.wgsl.d.ts.map +1 -0
  1388. package/dist/shaders/physical-wgsl/debug_view.wgsl.js +71 -0
  1389. package/dist/shaders/physical-wgsl/debug_view.wgsl.js.map +1 -0
  1390. package/dist/shaders/physical-wgsl/dispersion.wgsl.d.ts +10 -0
  1391. package/dist/shaders/physical-wgsl/dispersion.wgsl.d.ts.map +1 -0
  1392. package/dist/shaders/physical-wgsl/dispersion.wgsl.js +51 -0
  1393. package/dist/shaders/physical-wgsl/dispersion.wgsl.js.map +1 -0
  1394. package/dist/shaders/physical-wgsl/emissive_strength.wgsl.d.ts +9 -0
  1395. package/dist/shaders/physical-wgsl/emissive_strength.wgsl.d.ts.map +1 -0
  1396. package/dist/shaders/physical-wgsl/emissive_strength.wgsl.js +15 -0
  1397. package/dist/shaders/physical-wgsl/emissive_strength.wgsl.js.map +1 -0
  1398. package/dist/shaders/physical-wgsl/index.d.ts +35 -0
  1399. package/dist/shaders/physical-wgsl/index.d.ts.map +1 -0
  1400. package/dist/shaders/physical-wgsl/index.js +51 -0
  1401. package/dist/shaders/physical-wgsl/index.js.map +1 -0
  1402. package/dist/shaders/physical-wgsl/iridescence.wgsl.d.ts +9 -0
  1403. package/dist/shaders/physical-wgsl/iridescence.wgsl.d.ts.map +1 -0
  1404. package/dist/shaders/physical-wgsl/iridescence.wgsl.js +162 -0
  1405. package/dist/shaders/physical-wgsl/iridescence.wgsl.js.map +1 -0
  1406. package/dist/shaders/physical-wgsl/sheen.wgsl.d.ts +9 -0
  1407. package/dist/shaders/physical-wgsl/sheen.wgsl.d.ts.map +1 -0
  1408. package/dist/shaders/physical-wgsl/sheen.wgsl.js +85 -0
  1409. package/dist/shaders/physical-wgsl/sheen.wgsl.js.map +1 -0
  1410. package/dist/shaders/physical-wgsl/specular_ior.wgsl.d.ts +10 -0
  1411. package/dist/shaders/physical-wgsl/specular_ior.wgsl.d.ts.map +1 -0
  1412. package/dist/shaders/physical-wgsl/specular_ior.wgsl.js +47 -0
  1413. package/dist/shaders/physical-wgsl/specular_ior.wgsl.js.map +1 -0
  1414. package/dist/shaders/physical-wgsl/tangent_frame.wgsl.d.ts +11 -0
  1415. package/dist/shaders/physical-wgsl/tangent_frame.wgsl.d.ts.map +1 -0
  1416. package/dist/shaders/physical-wgsl/tangent_frame.wgsl.js +57 -0
  1417. package/dist/shaders/physical-wgsl/tangent_frame.wgsl.js.map +1 -0
  1418. package/dist/shaders/physical-wgsl/transmission.wgsl.d.ts +14 -0
  1419. package/dist/shaders/physical-wgsl/transmission.wgsl.d.ts.map +1 -0
  1420. package/dist/shaders/physical-wgsl/transmission.wgsl.js +159 -0
  1421. package/dist/shaders/physical-wgsl/transmission.wgsl.js.map +1 -0
  1422. package/dist/shaders/physical-wgsl/unlit.wgsl.d.ts +8 -0
  1423. package/dist/shaders/physical-wgsl/unlit.wgsl.d.ts.map +1 -0
  1424. package/dist/shaders/physical-wgsl/unlit.wgsl.js +13 -0
  1425. package/dist/shaders/physical-wgsl/unlit.wgsl.js.map +1 -0
  1426. package/dist/shaders/physical-wgsl/uv_transform.wgsl.d.ts +10 -0
  1427. package/dist/shaders/physical-wgsl/uv_transform.wgsl.d.ts.map +1 -0
  1428. package/dist/shaders/physical-wgsl/uv_transform.wgsl.js +24 -0
  1429. package/dist/shaders/physical-wgsl/uv_transform.wgsl.js.map +1 -0
  1430. package/dist/shaders/physical-wgsl/volume.wgsl.d.ts +10 -0
  1431. package/dist/shaders/physical-wgsl/volume.wgsl.d.ts.map +1 -0
  1432. package/dist/shaders/physical-wgsl/volume.wgsl.js +35 -0
  1433. package/dist/shaders/physical-wgsl/volume.wgsl.js.map +1 -0
  1434. package/dist/shadows/DirectionalCascadeFitter.d.ts +97 -0
  1435. package/dist/shadows/DirectionalCascadeFitter.d.ts.map +1 -0
  1436. package/dist/shadows/DirectionalCascadeFitter.js +372 -0
  1437. package/dist/shadows/DirectionalCascadeFitter.js.map +1 -0
  1438. package/dist/shadows/Prd02DepthShaderLibrary.d.ts +77 -0
  1439. package/dist/shadows/Prd02DepthShaderLibrary.d.ts.map +1 -0
  1440. package/dist/shadows/Prd02DepthShaderLibrary.js +381 -0
  1441. package/dist/shadows/Prd02DepthShaderLibrary.js.map +1 -0
  1442. package/dist/shadows/Prd02ReceiveShadowContributor.d.ts +20 -0
  1443. package/dist/shadows/Prd02ReceiveShadowContributor.d.ts.map +1 -0
  1444. package/dist/shadows/Prd02ReceiveShadowContributor.js +20 -0
  1445. package/dist/shadows/Prd02ReceiveShadowContributor.js.map +1 -0
  1446. package/dist/shadows/Prd02ShadowBridge.d.ts +111 -0
  1447. package/dist/shadows/Prd02ShadowBridge.d.ts.map +1 -0
  1448. package/dist/shadows/Prd02ShadowBridge.js +267 -0
  1449. package/dist/shadows/Prd02ShadowBridge.js.map +1 -0
  1450. package/dist/shadows/Prd02ShadowFilter.d.ts +29 -0
  1451. package/dist/shadows/Prd02ShadowFilter.d.ts.map +1 -0
  1452. package/dist/shadows/Prd02ShadowFilter.js +35 -0
  1453. package/dist/shadows/Prd02ShadowFilter.js.map +1 -0
  1454. package/dist/shadows/Prd02ShadowsContributor.d.ts +44 -0
  1455. package/dist/shadows/Prd02ShadowsContributor.d.ts.map +1 -0
  1456. package/dist/shadows/Prd02ShadowsContributor.js +197 -0
  1457. package/dist/shadows/Prd02ShadowsContributor.js.map +1 -0
  1458. package/dist/shadows/ShadowAtlas.d.ts +59 -0
  1459. package/dist/shadows/ShadowAtlas.d.ts.map +1 -0
  1460. package/dist/shadows/ShadowAtlas.js +137 -0
  1461. package/dist/shadows/ShadowAtlas.js.map +1 -0
  1462. package/dist/shadows/ShadowDebugViews.d.ts +5 -0
  1463. package/dist/shadows/ShadowDebugViews.d.ts.map +1 -1
  1464. package/dist/shadows/ShadowDebugViews.js +15 -10
  1465. package/dist/shadows/ShadowDebugViews.js.map +1 -1
  1466. package/dist/shadows/ShadowFrameBinding.d.ts +18 -0
  1467. package/dist/shadows/ShadowFrameBinding.d.ts.map +1 -0
  1468. package/dist/shadows/ShadowFrameBinding.js +52 -0
  1469. package/dist/shadows/ShadowFrameBinding.js.map +1 -0
  1470. package/dist/shadows/ShadowSystem.d.ts +125 -0
  1471. package/dist/shadows/ShadowSystem.d.ts.map +1 -0
  1472. package/dist/shadows/ShadowSystem.js +293 -0
  1473. package/dist/shadows/ShadowSystem.js.map +1 -0
  1474. package/dist/textures/TextureBudget.d.ts +42 -0
  1475. package/dist/textures/TextureBudget.d.ts.map +1 -0
  1476. package/dist/textures/TextureBudget.js +180 -0
  1477. package/dist/textures/TextureBudget.js.map +1 -0
  1478. package/dist/vfx/BeamPass.d.ts +42 -0
  1479. package/dist/vfx/BeamPass.d.ts.map +1 -0
  1480. package/dist/vfx/BeamPass.js +249 -0
  1481. package/dist/vfx/BeamPass.js.map +1 -0
  1482. package/dist/vfx/BlendFallback.d.ts +19 -0
  1483. package/dist/vfx/BlendFallback.d.ts.map +1 -0
  1484. package/dist/vfx/BlendFallback.js +73 -0
  1485. package/dist/vfx/BlendFallback.js.map +1 -0
  1486. package/dist/vfx/DecalBatch.d.ts +120 -0
  1487. package/dist/vfx/DecalBatch.d.ts.map +1 -0
  1488. package/dist/vfx/DecalBatch.js +234 -0
  1489. package/dist/vfx/DecalBatch.js.map +1 -0
  1490. package/dist/vfx/DecalPass.d.ts +63 -0
  1491. package/dist/vfx/DecalPass.d.ts.map +1 -0
  1492. package/dist/vfx/DecalPass.js +159 -0
  1493. package/dist/vfx/DecalPass.js.map +1 -0
  1494. package/dist/vfx/LowResParticles.d.ts +31 -0
  1495. package/dist/vfx/LowResParticles.d.ts.map +1 -0
  1496. package/dist/vfx/LowResParticles.js +151 -0
  1497. package/dist/vfx/LowResParticles.js.map +1 -0
  1498. package/dist/vfx/MeshParticleBatch.d.ts +49 -0
  1499. package/dist/vfx/MeshParticleBatch.d.ts.map +1 -0
  1500. package/dist/vfx/MeshParticleBatch.js +184 -0
  1501. package/dist/vfx/MeshParticleBatch.js.map +1 -0
  1502. package/dist/vfx/MeshParticlePass.d.ts +28 -0
  1503. package/dist/vfx/MeshParticlePass.d.ts.map +1 -0
  1504. package/dist/vfx/MeshParticlePass.js +150 -0
  1505. package/dist/vfx/MeshParticlePass.js.map +1 -0
  1506. package/dist/vfx/ParticleBatchPass.d.ts +61 -0
  1507. package/dist/vfx/ParticleBatchPass.d.ts.map +1 -0
  1508. package/dist/vfx/ParticleBatchPass.js +320 -0
  1509. package/dist/vfx/ParticleBatchPass.js.map +1 -0
  1510. package/dist/vfx/ParticleGpuSim.d.ts +85 -0
  1511. package/dist/vfx/ParticleGpuSim.d.ts.map +1 -0
  1512. package/dist/vfx/ParticleGpuSim.js +301 -0
  1513. package/dist/vfx/ParticleGpuSim.js.map +1 -0
  1514. package/dist/vfx/ParticleInstanceLayout.d.ts +38 -0
  1515. package/dist/vfx/ParticleInstanceLayout.d.ts.map +1 -0
  1516. package/dist/vfx/ParticleInstanceLayout.js +105 -0
  1517. package/dist/vfx/ParticleInstanceLayout.js.map +1 -0
  1518. package/dist/vfx/ParticleSort.d.ts +21 -0
  1519. package/dist/vfx/ParticleSort.d.ts.map +1 -0
  1520. package/dist/vfx/ParticleSort.js +80 -0
  1521. package/dist/vfx/ParticleSort.js.map +1 -0
  1522. package/dist/vfx/ProceduralVolumeEmitter.d.ts +90 -0
  1523. package/dist/vfx/ProceduralVolumeEmitter.d.ts.map +1 -0
  1524. package/dist/vfx/ProceduralVolumeEmitter.js +155 -0
  1525. package/dist/vfx/ProceduralVolumeEmitter.js.map +1 -0
  1526. package/dist/vfx/RibbonBatch.d.ts +71 -0
  1527. package/dist/vfx/RibbonBatch.d.ts.map +1 -0
  1528. package/dist/vfx/RibbonBatch.js +234 -0
  1529. package/dist/vfx/RibbonBatch.js.map +1 -0
  1530. package/dist/vfx/RibbonPass.d.ts +21 -0
  1531. package/dist/vfx/RibbonPass.d.ts.map +1 -0
  1532. package/dist/vfx/RibbonPass.js +108 -0
  1533. package/dist/vfx/RibbonPass.js.map +1 -0
  1534. package/dist/vfx/SceneDepthAdapter.d.ts +28 -0
  1535. package/dist/vfx/SceneDepthAdapter.d.ts.map +1 -0
  1536. package/dist/vfx/SceneDepthAdapter.js +70 -0
  1537. package/dist/vfx/SceneDepthAdapter.js.map +1 -0
  1538. package/dist/vfx/VfxAtlas.d.ts +68 -0
  1539. package/dist/vfx/VfxAtlas.d.ts.map +1 -0
  1540. package/dist/vfx/VfxAtlas.js +106 -0
  1541. package/dist/vfx/VfxAtlas.js.map +1 -0
  1542. package/dist/vfx/contributors.d.ts +73 -0
  1543. package/dist/vfx/contributors.d.ts.map +1 -0
  1544. package/dist/vfx/contributors.js +615 -0
  1545. package/dist/vfx/contributors.js.map +1 -0
  1546. package/dist/vfx/decalLighting.d.ts +8 -0
  1547. package/dist/vfx/decalLighting.d.ts.map +1 -0
  1548. package/dist/vfx/decalLighting.js +53 -0
  1549. package/dist/vfx/decalLighting.js.map +1 -0
  1550. package/dist/vfx/depthSampler.d.ts +3 -0
  1551. package/dist/vfx/depthSampler.d.ts.map +1 -0
  1552. package/dist/vfx/depthSampler.js +10 -0
  1553. package/dist/vfx/depthSampler.js.map +1 -0
  1554. package/dist/vfx/prd07FeaturePars.d.ts +12 -0
  1555. package/dist/vfx/prd07FeaturePars.d.ts.map +1 -0
  1556. package/dist/vfx/prd07FeaturePars.js +54 -0
  1557. package/dist/vfx/prd07FeaturePars.js.map +1 -0
  1558. package/dist/vfx/shaders/beam.glsl.d.ts +11 -0
  1559. package/dist/vfx/shaders/beam.glsl.d.ts.map +1 -0
  1560. package/dist/vfx/shaders/beam.glsl.js +89 -0
  1561. package/dist/vfx/shaders/beam.glsl.js.map +1 -0
  1562. package/dist/vfx/shaders/decal.glsl.d.ts +14 -0
  1563. package/dist/vfx/shaders/decal.glsl.d.ts.map +1 -0
  1564. package/dist/vfx/shaders/decal.glsl.js +157 -0
  1565. package/dist/vfx/shaders/decal.glsl.js.map +1 -0
  1566. package/dist/vfx/shaders/gpu-sim.glsl.d.ts +5 -0
  1567. package/dist/vfx/shaders/gpu-sim.glsl.d.ts.map +1 -0
  1568. package/dist/vfx/shaders/gpu-sim.glsl.js +177 -0
  1569. package/dist/vfx/shaders/gpu-sim.glsl.js.map +1 -0
  1570. package/dist/vfx/shaders/lowresComposite.glsl.d.ts +9 -0
  1571. package/dist/vfx/shaders/lowresComposite.glsl.d.ts.map +1 -0
  1572. package/dist/vfx/shaders/lowresComposite.glsl.js +64 -0
  1573. package/dist/vfx/shaders/lowresComposite.glsl.js.map +1 -0
  1574. package/dist/vfx/shaders/mesh-particle.glsl.d.ts +4 -0
  1575. package/dist/vfx/shaders/mesh-particle.glsl.d.ts.map +1 -0
  1576. package/dist/vfx/shaders/mesh-particle.glsl.js +55 -0
  1577. package/dist/vfx/shaders/mesh-particle.glsl.js.map +1 -0
  1578. package/dist/vfx/shaders/particle.glsl.d.ts +24 -0
  1579. package/dist/vfx/shaders/particle.glsl.d.ts.map +1 -0
  1580. package/dist/vfx/shaders/particle.glsl.js +215 -0
  1581. package/dist/vfx/shaders/particle.glsl.js.map +1 -0
  1582. package/dist/vfx/shaders/ribbon.glsl.d.ts +9 -0
  1583. package/dist/vfx/shaders/ribbon.glsl.d.ts.map +1 -0
  1584. package/dist/vfx/shaders/ribbon.glsl.js +60 -0
  1585. package/dist/vfx/shaders/ribbon.glsl.js.map +1 -0
  1586. package/dist/vfx/shaders/volume.glsl.d.ts +5 -0
  1587. package/dist/vfx/shaders/volume.glsl.d.ts.map +1 -0
  1588. package/dist/vfx/shaders/volume.glsl.js +52 -0
  1589. package/dist/vfx/shaders/volume.glsl.js.map +1 -0
  1590. package/dist/webgl2/ContextLifecycle.d.ts +43 -0
  1591. package/dist/webgl2/ContextLifecycle.d.ts.map +1 -0
  1592. package/dist/webgl2/ContextLifecycle.js +189 -0
  1593. package/dist/webgl2/ContextLifecycle.js.map +1 -0
  1594. package/dist/webgl2/Counters.d.ts +58 -0
  1595. package/dist/webgl2/Counters.d.ts.map +1 -0
  1596. package/dist/webgl2/Counters.js +207 -0
  1597. package/dist/webgl2/Counters.js.map +1 -0
  1598. package/dist/webgl2/DeviceHost.d.ts +41 -0
  1599. package/dist/webgl2/DeviceHost.d.ts.map +1 -0
  1600. package/dist/webgl2/DeviceHost.js +3 -0
  1601. package/dist/webgl2/DeviceHost.js.map +1 -0
  1602. package/dist/webgl2/LegacyPost.d.ts +279 -0
  1603. package/dist/webgl2/LegacyPost.d.ts.map +1 -0
  1604. package/dist/webgl2/LegacyPost.js +2480 -0
  1605. package/dist/webgl2/LegacyPost.js.map +1 -0
  1606. package/dist/webgl2/MultiDraw.d.ts +96 -0
  1607. package/dist/webgl2/MultiDraw.d.ts.map +1 -0
  1608. package/dist/webgl2/MultiDraw.js +716 -0
  1609. package/dist/webgl2/MultiDraw.js.map +1 -0
  1610. package/dist/webgl2/Probe.d.ts +27 -0
  1611. package/dist/webgl2/Probe.d.ts.map +1 -0
  1612. package/dist/webgl2/Probe.js +329 -0
  1613. package/dist/webgl2/Probe.js.map +1 -0
  1614. package/dist/webgl2/Samplers.d.ts +20 -0
  1615. package/dist/webgl2/Samplers.d.ts.map +1 -0
  1616. package/dist/webgl2/Samplers.js +179 -0
  1617. package/dist/webgl2/Samplers.js.map +1 -0
  1618. package/dist/webgl2/TextureFormats.d.ts +48 -0
  1619. package/dist/webgl2/TextureFormats.d.ts.map +1 -0
  1620. package/dist/webgl2/TextureFormats.js +185 -0
  1621. package/dist/webgl2/TextureFormats.js.map +1 -0
  1622. package/dist/webgl2/TextureUpload.d.ts +38 -0
  1623. package/dist/webgl2/TextureUpload.d.ts.map +1 -0
  1624. package/dist/webgl2/TextureUpload.js +346 -0
  1625. package/dist/webgl2/TextureUpload.js.map +1 -0
  1626. package/dist/webgpu/WebGPUBuffer.d.ts +1 -0
  1627. package/dist/webgpu/WebGPUBuffer.d.ts.map +1 -1
  1628. package/dist/webgpu/WebGPUCompute.d.ts +1 -0
  1629. package/dist/webgpu/WebGPUCompute.d.ts.map +1 -1
  1630. package/dist/webgpu/WebGPUCompute.js +1 -0
  1631. package/dist/webgpu/WebGPUCompute.js.map +1 -1
  1632. package/dist/webgpu/WebGPUPipelineCache.d.ts +4 -0
  1633. package/dist/webgpu/WebGPUPipelineCache.d.ts.map +1 -1
  1634. package/dist/webgpu/WebGPUPipelineCache.js +4 -0
  1635. package/dist/webgpu/WebGPUPipelineCache.js.map +1 -1
  1636. package/dist/webgpu/WebGPUPostShaders.d.ts.map +1 -1
  1637. package/dist/webgpu/WebGPUPostShaders.js +33 -2
  1638. package/dist/webgpu/WebGPUPostShaders.js.map +1 -1
  1639. package/dist/webgpu/WebGPUTexture.d.ts +1 -0
  1640. package/dist/webgpu/WebGPUTexture.d.ts.map +1 -1
  1641. package/dist/webgpu/WebGPUTexture.js.map +1 -1
  1642. package/dist/world/chunks.d.ts +15 -0
  1643. package/dist/world/chunks.d.ts.map +1 -0
  1644. package/dist/world/chunks.js +56 -0
  1645. package/dist/world/chunks.js.map +1 -0
  1646. package/dist/world/index.d.ts +38 -0
  1647. package/dist/world/index.d.ts.map +1 -0
  1648. package/dist/world/index.js +39 -0
  1649. package/dist/world/index.js.map +1 -0
  1650. package/dist/world/shared/shaders/worldLightFallback.d.ts +12 -0
  1651. package/dist/world/shared/shaders/worldLightFallback.d.ts.map +1 -0
  1652. package/dist/world/shared/shaders/worldLightFallback.js +82 -0
  1653. package/dist/world/shared/shaders/worldLightFallback.js.map +1 -0
  1654. package/dist/world/space/PlanetMaterial.d.ts +24 -0
  1655. package/dist/world/space/PlanetMaterial.d.ts.map +1 -0
  1656. package/dist/world/space/PlanetMaterial.js +82 -0
  1657. package/dist/world/space/PlanetMaterial.js.map +1 -0
  1658. package/dist/world/space/SpaceSkyBake.d.ts +46 -0
  1659. package/dist/world/space/SpaceSkyBake.d.ts.map +1 -0
  1660. package/dist/world/space/SpaceSkyBake.js +145 -0
  1661. package/dist/world/space/SpaceSkyBake.js.map +1 -0
  1662. package/dist/world/space/shaders/planet.d.ts +8 -0
  1663. package/dist/world/space/shaders/planet.d.ts.map +1 -0
  1664. package/dist/world/space/shaders/planet.js +55 -0
  1665. package/dist/world/space/shaders/planet.js.map +1 -0
  1666. package/dist/world/space/shaders/spaceBake.d.ts +9 -0
  1667. package/dist/world/space/shaders/spaceBake.d.ts.map +1 -0
  1668. package/dist/world/space/shaders/spaceBake.js +102 -0
  1669. package/dist/world/space/shaders/spaceBake.js.map +1 -0
  1670. package/dist/world/terrain/SplatBake.d.ts +76 -0
  1671. package/dist/world/terrain/SplatBake.d.ts.map +1 -0
  1672. package/dist/world/terrain/SplatBake.js +308 -0
  1673. package/dist/world/terrain/SplatBake.js.map +1 -0
  1674. package/dist/world/terrain/TerrainCdlod.d.ts +67 -0
  1675. package/dist/world/terrain/TerrainCdlod.d.ts.map +1 -0
  1676. package/dist/world/terrain/TerrainCdlod.js +115 -0
  1677. package/dist/world/terrain/TerrainCdlod.js.map +1 -0
  1678. package/dist/world/terrain/TerrainHeightTexture.d.ts +44 -0
  1679. package/dist/world/terrain/TerrainHeightTexture.d.ts.map +1 -0
  1680. package/dist/world/terrain/TerrainHeightTexture.js +173 -0
  1681. package/dist/world/terrain/TerrainHeightTexture.js.map +1 -0
  1682. package/dist/world/terrain/TerrainPatchGeometry.d.ts +18 -0
  1683. package/dist/world/terrain/TerrainPatchGeometry.d.ts.map +1 -0
  1684. package/dist/world/terrain/TerrainPatchGeometry.js +40 -0
  1685. package/dist/world/terrain/TerrainPatchGeometry.js.map +1 -0
  1686. package/dist/world/terrain/shaders/terrain.vert.glsl.d.ts +19 -0
  1687. package/dist/world/terrain/shaders/terrain.vert.glsl.d.ts.map +1 -0
  1688. package/dist/world/terrain/shaders/terrain.vert.glsl.js +162 -0
  1689. package/dist/world/terrain/shaders/terrain.vert.glsl.js.map +1 -0
  1690. package/dist/world/terrain/shaders/terrainCdlod.d.ts +23 -0
  1691. package/dist/world/terrain/shaders/terrainCdlod.d.ts.map +1 -0
  1692. package/dist/world/terrain/shaders/terrainCdlod.js +110 -0
  1693. package/dist/world/terrain/shaders/terrainCdlod.js.map +1 -0
  1694. package/dist/world/terrain/shaders/terrainSplat.d.ts +26 -0
  1695. package/dist/world/terrain/shaders/terrainSplat.d.ts.map +1 -0
  1696. package/dist/world/terrain/shaders/terrainSplat.js +181 -0
  1697. package/dist/world/terrain/shaders/terrainSplat.js.map +1 -0
  1698. package/dist/world/vegetation/FoliageMaterial.d.ts +14 -0
  1699. package/dist/world/vegetation/FoliageMaterial.d.ts.map +1 -0
  1700. package/dist/world/vegetation/FoliageMaterial.js +107 -0
  1701. package/dist/world/vegetation/FoliageMaterial.js.map +1 -0
  1702. package/dist/world/vegetation/GrassField.d.ts +43 -0
  1703. package/dist/world/vegetation/GrassField.d.ts.map +1 -0
  1704. package/dist/world/vegetation/GrassField.js +68 -0
  1705. package/dist/world/vegetation/GrassField.js.map +1 -0
  1706. package/dist/world/vegetation/ImpostorMaterial.d.ts +20 -0
  1707. package/dist/world/vegetation/ImpostorMaterial.d.ts.map +1 -0
  1708. package/dist/world/vegetation/ImpostorMaterial.js +80 -0
  1709. package/dist/world/vegetation/ImpostorMaterial.js.map +1 -0
  1710. package/dist/world/vegetation/InstanceChunkGrid.d.ts +67 -0
  1711. package/dist/world/vegetation/InstanceChunkGrid.d.ts.map +1 -0
  1712. package/dist/world/vegetation/InstanceChunkGrid.js +150 -0
  1713. package/dist/world/vegetation/InstanceChunkGrid.js.map +1 -0
  1714. package/dist/world/vegetation/WindCpu.d.ts +19 -0
  1715. package/dist/world/vegetation/WindCpu.d.ts.map +1 -0
  1716. package/dist/world/vegetation/WindCpu.js +43 -0
  1717. package/dist/world/vegetation/WindCpu.js.map +1 -0
  1718. package/dist/world/vegetation/WindField.d.ts +42 -0
  1719. package/dist/world/vegetation/WindField.d.ts.map +1 -0
  1720. package/dist/world/vegetation/WindField.js +154 -0
  1721. package/dist/world/vegetation/WindField.js.map +1 -0
  1722. package/dist/world/vegetation/shaders/foliage.d.ts +8 -0
  1723. package/dist/world/vegetation/shaders/foliage.d.ts.map +1 -0
  1724. package/dist/world/vegetation/shaders/foliage.js +104 -0
  1725. package/dist/world/vegetation/shaders/foliage.js.map +1 -0
  1726. package/dist/world/vegetation/shaders/grass.d.ts +10 -0
  1727. package/dist/world/vegetation/shaders/grass.d.ts.map +1 -0
  1728. package/dist/world/vegetation/shaders/grass.js +79 -0
  1729. package/dist/world/vegetation/shaders/grass.js.map +1 -0
  1730. package/dist/world/vegetation/shaders/impostor.d.ts +9 -0
  1731. package/dist/world/vegetation/shaders/impostor.d.ts.map +1 -0
  1732. package/dist/world/vegetation/shaders/impostor.js +97 -0
  1733. package/dist/world/vegetation/shaders/impostor.js.map +1 -0
  1734. package/dist/world/vegetation/shaders/wind.d.ts +9 -0
  1735. package/dist/world/vegetation/shaders/wind.d.ts.map +1 -0
  1736. package/dist/world/vegetation/shaders/wind.js +103 -0
  1737. package/dist/world/vegetation/shaders/wind.js.map +1 -0
  1738. package/dist/world/water/GerstnerWaves.d.ts +65 -0
  1739. package/dist/world/water/GerstnerWaves.d.ts.map +1 -0
  1740. package/dist/world/water/GerstnerWaves.js +182 -0
  1741. package/dist/world/water/GerstnerWaves.js.map +1 -0
  1742. package/dist/world/water/ReflectionViewPass.d.ts +46 -0
  1743. package/dist/world/water/ReflectionViewPass.d.ts.map +1 -0
  1744. package/dist/world/water/ReflectionViewPass.js +85 -0
  1745. package/dist/world/water/ReflectionViewPass.js.map +1 -0
  1746. package/dist/world/water/SceneCopyFallback.d.ts +21 -0
  1747. package/dist/world/water/SceneCopyFallback.d.ts.map +1 -0
  1748. package/dist/world/water/SceneCopyFallback.js +150 -0
  1749. package/dist/world/water/SceneCopyFallback.js.map +1 -0
  1750. package/dist/world/water/UnderwaterState.d.ts +25 -0
  1751. package/dist/world/water/UnderwaterState.d.ts.map +1 -0
  1752. package/dist/world/water/UnderwaterState.js +134 -0
  1753. package/dist/world/water/UnderwaterState.js.map +1 -0
  1754. package/dist/world/water/WaterMaterial.d.ts +23 -0
  1755. package/dist/world/water/WaterMaterial.d.ts.map +1 -0
  1756. package/dist/world/water/WaterMaterial.js +129 -0
  1757. package/dist/world/water/WaterMaterial.js.map +1 -0
  1758. package/dist/world/water/shaders/caustics.d.ts +13 -0
  1759. package/dist/world/water/shaders/caustics.d.ts.map +1 -0
  1760. package/dist/world/water/shaders/caustics.js +103 -0
  1761. package/dist/world/water/shaders/caustics.js.map +1 -0
  1762. package/dist/world/water/shaders/gerstner.d.ts +9 -0
  1763. package/dist/world/water/shaders/gerstner.d.ts.map +1 -0
  1764. package/dist/world/water/shaders/gerstner.js +100 -0
  1765. package/dist/world/water/shaders/gerstner.js.map +1 -0
  1766. package/dist/world/water/shaders/water.d.ts +12 -0
  1767. package/dist/world/water/shaders/water.d.ts.map +1 -0
  1768. package/dist/world/water/shaders/water.js +112 -0
  1769. package/dist/world/water/shaders/water.js.map +1 -0
  1770. package/package.json +32 -11
  1771. package/dist/ArchitecturalMaterialCatalog.d.ts +0 -30
  1772. package/dist/ArchitecturalMaterialCatalog.d.ts.map +0 -1
  1773. package/dist/ArchitecturalMaterialCatalog.js +0 -90
  1774. package/dist/ArchitecturalMaterialCatalog.js.map +0 -1
  1775. package/dist/LeanWebGL2Device.d.ts +0 -265
  1776. package/dist/LeanWebGL2Device.d.ts.map +0 -1
  1777. package/dist/LeanWebGL2Device.js +0 -4001
  1778. package/dist/LeanWebGL2Device.js.map +0 -1
  1779. package/dist/advanced-runtime/AdvancedRenderer.d.ts +0 -23
  1780. package/dist/advanced-runtime/AdvancedRenderer.d.ts.map +0 -1
  1781. package/dist/advanced-runtime/AdvancedRenderer.js +0 -45
  1782. package/dist/advanced-runtime/AdvancedRenderer.js.map +0 -1
  1783. package/dist/animation/AnimationMaterialStyle.d.ts +0 -19
  1784. package/dist/animation/AnimationMaterialStyle.d.ts.map +0 -1
  1785. package/dist/animation/AnimationMaterialStyle.js +0 -13
  1786. package/dist/animation/AnimationMaterialStyle.js.map +0 -1
  1787. package/dist/cinematic/CinematicMaterialPresets.d.ts +0 -16
  1788. package/dist/cinematic/CinematicMaterialPresets.d.ts.map +0 -1
  1789. package/dist/cinematic/CinematicMaterialPresets.js +0 -114
  1790. package/dist/cinematic/CinematicMaterialPresets.js.map +0 -1
  1791. package/dist/lean/LeanProductRenderer.d.ts +0 -29
  1792. package/dist/lean/LeanProductRenderer.d.ts.map +0 -1
  1793. package/dist/lean/LeanProductRenderer.js +0 -38
  1794. package/dist/lean/LeanProductRenderer.js.map +0 -1
  1795. package/dist/lean/LeanProductionRenderer.d.ts +0 -38
  1796. package/dist/lean/LeanProductionRenderer.d.ts.map +0 -1
  1797. package/dist/lean/LeanProductionRenderer.js +0 -88
  1798. package/dist/lean/LeanProductionRenderer.js.map +0 -1
  1799. package/dist/lean-core-runtime.d.ts +0 -13
  1800. package/dist/lean-core-runtime.d.ts.map +0 -1
  1801. package/dist/lean-core-runtime.js +0 -10
  1802. package/dist/lean-core-runtime.js.map +0 -1
  1803. package/dist/lean-runtime.d.ts +0 -18
  1804. package/dist/lean-runtime.d.ts.map +0 -1
  1805. package/dist/lean-runtime.js +0 -13
  1806. package/dist/lean-runtime.js.map +0 -1
  1807. package/dist/materials/TransmissionPass.d.ts +0 -16
  1808. package/dist/materials/TransmissionPass.d.ts.map +0 -1
  1809. package/dist/materials/TransmissionPass.js +0 -30
  1810. package/dist/materials/TransmissionPass.js.map +0 -1
  1811. package/dist/production-runtime/ProductionEffectsPipeline.d.ts +0 -20
  1812. package/dist/production-runtime/ProductionEffectsPipeline.d.ts.map +0 -1
  1813. package/dist/production-runtime/ProductionEffectsPipeline.js +0 -65
  1814. package/dist/production-runtime/ProductionEffectsPipeline.js.map +0 -1
  1815. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts +0 -44
  1816. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts.map +0 -1
  1817. package/dist/production-runtime/ProductionRuntimeRenderer.js +0 -179
  1818. package/dist/production-runtime/ProductionRuntimeRenderer.js.map +0 -1
  1819. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts +0 -65
  1820. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts.map +0 -1
  1821. package/dist/production-runtime/ProductionWebGL2Renderer.js +0 -305
  1822. package/dist/production-runtime/ProductionWebGL2Renderer.js.map +0 -1
  1823. package/dist/threejs-example-parity/index.d.ts +0 -57
  1824. package/dist/threejs-example-parity/index.d.ts.map +0 -1
  1825. package/dist/threejs-example-parity/index.js +0 -139
  1826. package/dist/threejs-example-parity/index.js.map +0 -1
@@ -0,0 +1,185 @@
1
+ /**
2
+ * PRD-03 §8.6 Phase 7 — S5 TAA resolve WGSL twins: closest-depth-3×3
3
+ * reprojection, 5-tap Catmull-Rom history fetch, YCoCg `μ ± γσ` clip
4
+ * (γ motion-dependent), 0.1·z disocclusion test, motion/reactive feedback,
5
+ * Karis-weighted HDR resolve. `TAA_UPSCALE_WGSL` is the §8.6 TAAU 9-tap
6
+ * Blackman-Harris reconstruct.
7
+ */
8
+ export const TAA_RESOLVE_WGSL = /* wgsl */ `struct TaaResolveParams {
9
+ has_reactive: i32,
10
+ has_history: i32,
11
+ feedback_min: f32,
12
+ feedback_max: f32,
13
+ variance_gamma: f32,
14
+ _pad: vec3<f32>,
15
+ };
16
+
17
+ @group(0) @binding(0) var<uniform> u_params: TaaResolveParams;
18
+ @group(0) @binding(1) var u_current_tex: texture_2d<f32>; // jittered HDR current frame
19
+ @group(0) @binding(2) var u_history_tex: texture_2d<f32>; // last resolved frame
20
+ @group(0) @binding(3) var u_velocity_dilate_tex: texture_2d<f32>; // vec4(vx, vy, linZCurr, _)
21
+ @group(0) @binding(4) var u_lin_z_prev_tex: texture_2d<f32>; // last frame's linear depth (.r)
22
+ @group(0) @binding(5) var u_lin_z_prev_smp: sampler;
23
+ @group(0) @binding(6) var u_reactive_tex: texture_2d<f32>; // C-14 reactive mask (or 1×1 zero)
24
+ @group(0) @binding(7) var u_reactive_smp: sampler;
25
+
26
+ fn cubic_weights(f: f32) -> vec4<f32> {
27
+ let f2 = f * f;
28
+ let f3 = f2 * f;
29
+ return vec4<f32>(-0.5 * f + f2 - 0.5 * f3, 1.0 - 2.5 * f2 + 1.5 * f3,
30
+ 0.5 * f + 2.0 * f2 - 1.5 * f3, -0.5 * f2 + 0.5 * f3);
31
+ }
32
+
33
+ // §8.6: Catmull-Rom history fetch (ported from the legacy accumulation path).
34
+ fn history_at(uv: vec2<f32>) -> vec4<f32> {
35
+ let size = vec2<i32>(textureDimensions(u_history_tex));
36
+ let position = uv * vec2<f32>(size) - vec2<f32>(0.5);
37
+ let base = vec2<i32>(floor(position));
38
+ let wx = cubic_weights(fract(position.x));
39
+ let wy = cubic_weights(fract(position.y));
40
+ var result = vec4<f32>(0.0);
41
+ for (var y = 0; y < 4; y = y + 1) {
42
+ for (var x = 0; x < 4; x = x + 1) {
43
+ result = result + textureLoad(u_history_tex,
44
+ clamp(base + vec2<i32>(x - 1, y - 1), vec2<i32>(0), size - vec2<i32>(1)), 0) * wx[x] * wy[y];
45
+ }
46
+ }
47
+ return result;
48
+ }
49
+
50
+ fn rgb_to_ycocg(c: vec3<f32>) -> vec3<f32> {
51
+ return vec3<f32>(c.r * 0.25 + c.g * 0.5 + c.b * 0.25,
52
+ c.r * 0.5 - c.b * 0.5,
53
+ -c.r * 0.25 + c.g * 0.5 - c.b * 0.25);
54
+ }
55
+ fn ycocg_to_rgb(c: vec3<f32>) -> vec3<f32> {
56
+ return vec3<f32>(c.x + c.y - c.z, c.x + c.z, c.x - c.y - c.z);
57
+ }
58
+ fn taa_luma(c: vec3<f32>) -> f32 { return dot(c, vec3<f32>(0.2126, 0.7152, 0.0722)); }
59
+
60
+ @fragment
61
+ fn fs_taa_resolve(@builtin(position) frag_coord: vec4<f32>) -> @location(0) vec4<f32> {
62
+ let pixel = vec2<i32>(frag_coord.xy);
63
+ let size = vec2<i32>(textureDimensions(u_current_tex));
64
+ let uv = (vec2<f32>(pixel) + vec2<f32>(0.5)) / vec2<f32>(size);
65
+
66
+ let vel_tex = textureLoad(u_velocity_dilate_tex, pixel, 0);
67
+ let velocity = vel_tex.rg;
68
+ let uv_prev = uv - velocity;
69
+
70
+ // Current pixel + Karis-weighted 3×3 neighborhood stats in YCoCg.
71
+ let current = textureLoad(u_current_tex, pixel, 0).rgb;
72
+ var mu = vec3<f32>(0.0);
73
+ var m2 = vec3<f32>(0.0);
74
+ var wsum = 0.0;
75
+ for (var y = -1; y <= 1; y = y + 1) {
76
+ for (var x = -1; x <= 1; x = x + 1) {
77
+ let tap = textureLoad(u_current_tex,
78
+ clamp(pixel + vec2<i32>(x, y), vec2<i32>(0), size - vec2<i32>(1)), 0).rgb;
79
+ // Karis weight tames HDR fireflies inside the clip box.
80
+ let w = 1.0 / (1.0 + taa_luma(tap));
81
+ let yc = rgb_to_ycocg(tap);
82
+ mu = mu + yc * w;
83
+ m2 = m2 + yc * yc * w;
84
+ wsum = wsum + w;
85
+ }
86
+ }
87
+ mu = mu / wsum;
88
+ let sigma = sqrt(max(m2 / wsum - mu * mu, vec3<f32>(0.0)));
89
+
90
+ if (u_params.has_history == 0) {
91
+ return vec4<f32>(current, 1.0);
92
+ }
93
+
94
+ // Static texel: direct read (GLSL twin — no per-frame resample drift).
95
+ let hist_size = vec2<i32>(textureDimensions(u_history_tex));
96
+ let history = select(history_at(uv_prev).rgb,
97
+ textureLoad(u_history_tex, clamp(pixel, vec2<i32>(0), hist_size - vec2<i32>(1)), 0).rgb,
98
+ length(velocity * vec2<f32>(size)) < 1e-3);
99
+ var history_yc = rgb_to_ycocg(history);
100
+
101
+ // Motion-scaled variance: fast pixels trust the box more (γ→0.5).
102
+ let motion_px = length(velocity * vec2<f32>(size));
103
+ let motion_factor = clamp(motion_px / 2.0, 0.0, 1.0);
104
+ let gamma = mix(0.5, u_params.variance_gamma, (1.0 - motion_factor) * (1.0 - motion_factor));
105
+ let lo = mu - gamma * sigma;
106
+ let hi = mu + gamma * sigma;
107
+ history_yc = clamp(history_yc, lo, hi);
108
+ let history_rgb = ycocg_to_rgb(history_yc);
109
+
110
+ // Disocclusion: |prevLinZ − expectedZ| > 0.1·z → drop history.
111
+ let out_of_bounds = any(uv_prev < vec2<f32>(0.0)) || any(uv_prev >= vec2<f32>(1.0));
112
+ let z_curr = vel_tex.b;
113
+ // 3×3 previous-depth range around the reprojected texel (GLSL twin):
114
+ // sub-pixel jitter moving thin geometry on/off a texel is coverage, not
115
+ // disocclusion, and must not drop history.
116
+ let z_size = vec2<i32>(textureDimensions(u_lin_z_prev_tex, 0));
117
+ let prev_pixel = vec2<i32>(clamp(uv_prev, vec2<f32>(0.0), vec2<f32>(1.0)) * vec2<f32>(z_size));
118
+ // Centre tap through the bound sampler (keeps binding 5 live for an
119
+ // 'auto' pipeline layout), then the 3×3 texel range.
120
+ let z_prev_centre = textureSampleLevel(u_lin_z_prev_tex, u_lin_z_prev_smp,
121
+ clamp(uv_prev, vec2<f32>(0.0), vec2<f32>(1.0)), 0.0).r;
122
+ var z_prev_min = z_prev_centre;
123
+ var z_prev_max = z_prev_centre;
124
+ for (var zy = -1; zy <= 1; zy = zy + 1) {
125
+ for (var zx = -1; zx <= 1; zx = zx + 1) {
126
+ let z_tap = textureLoad(u_lin_z_prev_tex, clamp(prev_pixel + vec2<i32>(zx, zy), vec2<i32>(0), z_size - vec2<i32>(1)), 0).r;
127
+ z_prev_min = min(z_prev_min, z_tap);
128
+ z_prev_max = max(z_prev_max, z_tap);
129
+ }
130
+ }
131
+ let disoccluded = z_curr < z_prev_min - 0.1 * z_curr || z_curr > z_prev_max + 0.1 * z_curr;
132
+
133
+ // Reactive mask (C-14) overrides accumulation; absent the attachment, a
134
+ // luminance delta between current and reprojected history is the proxy.
135
+ var reactive = textureSampleLevel(u_reactive_tex, u_reactive_smp, uv, 0.0).r;
136
+ if (u_params.has_reactive == 0) {
137
+ reactive = select(0.0, 1.0, abs(taa_luma(current) - taa_luma(history_rgb)) > 0.5);
138
+ }
139
+
140
+ var feedback = mix(u_params.feedback_min, u_params.feedback_max, 1.0 - clamp(motion_px / 2.0, 0.0, 1.0));
141
+ feedback = mix(feedback, 0.5, clamp(reactive, 0.0, 1.0));
142
+ if (out_of_bounds || disoccluded) { feedback = 0.0; }
143
+
144
+ let resolved = mix(current, history_rgb, feedback);
145
+ return vec4<f32>(max(resolved, vec3<f32>(0.0)), 1.0);
146
+ }
147
+ `;
148
+ export const TAA_UPSCALE_WGSL = /* wgsl */ `struct TaaUpscaleParams {
149
+ render_size: vec2<f32>, // render resolution (input texel space)
150
+ output_size: vec2<f32>, // display resolution (draw target size)
151
+ };
152
+
153
+ @group(0) @binding(0) var<uniform> u_params: TaaUpscaleParams;
154
+ @group(0) @binding(1) var u_resolved_tex: texture_2d<f32>; // render-res TAA output (this frame)
155
+
156
+ fn blackman_harris(x: f32) -> f32 {
157
+ // N=9 window kernel, |x| ∈ [0, 1.5] inside the 3×3 footprint.
158
+ let ax = abs(x) / 1.5;
159
+ if (ax >= 1.0) { return 0.0; }
160
+ return 0.35875 + 0.48829 * cos(3.14159265 * ax)
161
+ + 0.14128 * cos(2.0 * 3.14159265 * ax)
162
+ + 0.01168 * cos(3.0 * 3.14159265 * ax);
163
+ }
164
+
165
+ @fragment
166
+ fn fs_taa_upscale(@builtin(position) frag_coord: vec4<f32>) -> @location(0) vec4<f32> {
167
+ // Output pixel → render-res source position.
168
+ let src_pos = (frag_coord.xy / u_params.output_size) * u_params.render_size - vec2<f32>(0.5);
169
+ let base = vec2<i32>(floor(src_pos));
170
+ let f = src_pos - vec2<f32>(base);
171
+ var sum = vec3<f32>(0.0);
172
+ var wsum = 0.0;
173
+ let r_size = vec2<i32>(u_params.render_size);
174
+ for (var y = -1; y <= 1; y = y + 1) {
175
+ for (var x = -1; x <= 1; x = x + 1) {
176
+ let w = blackman_harris(f32(x) - f.x) * blackman_harris(f32(y) - f.y);
177
+ sum = sum + textureLoad(u_resolved_tex,
178
+ clamp(base + vec2<i32>(x, y), vec2<i32>(0), r_size - vec2<i32>(1)), 0).rgb * w;
179
+ wsum = wsum + w;
180
+ }
181
+ }
182
+ return vec4<f32>(sum / max(wsum, 1e-6), 1.0);
183
+ }
184
+ `;
185
+ //# sourceMappingURL=taa.wgsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taa.wgsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/taa.wgsl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2I1C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC1C,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * PRD-03 §8.6 — S5 pre-pass: closest-depth velocity dilation (WebGL2).
3
+ *
4
+ * At an object edge the foreground pixel moves but its background neighbor
5
+ * does not; a naive per-pixel velocity read smears the silhouette's history
6
+ * with the still background's zero motion. For each pixel we pick the
7
+ * velocity of the closest-depth texel in a 3×3 window — the foreground
8
+ * surface wins — and store the pixel's own linear Z in .b for the S5
9
+ * disocclusion test.
10
+ *
11
+ * in: u_velocity (S1-C camera velocity / future C-14 MRT, .rg)
12
+ * u_linearDepth (this frame's S1-A output, .r = viewZ metres)
13
+ * out: vec4(vx, vy, linZ, 0)
14
+ */
15
+ export declare const VELOCITY_DILATE_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_velocity;\nuniform highp sampler2D u_linearDepth;\nout vec4 o_color;\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nvoid main() {\n ivec2 pixel = ivec2(gl_FragCoord.xy);\n ivec2 size = textureSize(u_velocity, 0);\n float zSelf = texelFetch(u_linearDepth, clamp(pixel, ivec2(0), size - 1), 0).r;\n vec2 v = texelFetch(u_velocity, pixel, 0).rg;\n float zBest = zSelf;\n for (int y = -1; y <= 1; y += 1) {\n for (int x = -1; x <= 1; x += 1) {\n ivec2 tap = clamp(pixel + ivec2(x, y), ivec2(0), size - 1);\n float z = texelFetch(u_linearDepth, tap, 0).r;\n if (z < zBest) {\n zBest = z;\n v = texelFetch(u_velocity, tap, 0).rg;\n }\n }\n }\n o_color = vec4(v, zSelf, 0.0);\n}\n";
16
+ //# sourceMappingURL=velocityDilate.glsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velocityDilate.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/velocityDilate.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,eAAO,MAAM,oBAAoB,y6CAyBhC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * PRD-03 §8.6 — S5 pre-pass: closest-depth velocity dilation (WebGL2).
3
+ *
4
+ * At an object edge the foreground pixel moves but its background neighbor
5
+ * does not; a naive per-pixel velocity read smears the silhouette's history
6
+ * with the still background's zero motion. For each pixel we pick the
7
+ * velocity of the closest-depth texel in a 3×3 window — the foreground
8
+ * surface wins — and store the pixel's own linear Z in .b for the S5
9
+ * disocclusion test.
10
+ *
11
+ * in: u_velocity (S1-C camera velocity / future C-14 MRT, .rg)
12
+ * u_linearDepth (this frame's S1-A output, .r = viewZ metres)
13
+ * out: vec4(vx, vy, linZ, 0)
14
+ */
15
+ import { POST_COMMON_GLSL } from "./common.glsl.js";
16
+ const HEADER = `#version 300 es
17
+ precision highp float;
18
+ `;
19
+ export const VELOCITY_DILATE_GLSL = /* glsl */ `${HEADER}
20
+ uniform highp sampler2D u_velocity;
21
+ uniform highp sampler2D u_linearDepth;
22
+ out vec4 o_color;
23
+
24
+ ${POST_COMMON_GLSL}
25
+
26
+ void main() {
27
+ ivec2 pixel = ivec2(gl_FragCoord.xy);
28
+ ivec2 size = textureSize(u_velocity, 0);
29
+ float zSelf = texelFetch(u_linearDepth, clamp(pixel, ivec2(0), size - 1), 0).r;
30
+ vec2 v = texelFetch(u_velocity, pixel, 0).rg;
31
+ float zBest = zSelf;
32
+ for (int y = -1; y <= 1; y += 1) {
33
+ for (int x = -1; x <= 1; x += 1) {
34
+ ivec2 tap = clamp(pixel + ivec2(x, y), ivec2(0), size - 1);
35
+ float z = texelFetch(u_linearDepth, tap, 0).r;
36
+ if (z < zBest) {
37
+ zBest = z;
38
+ v = texelFetch(u_velocity, tap, 0).rg;
39
+ }
40
+ }
41
+ }
42
+ o_color = vec4(v, zSelf, 0.0);
43
+ }
44
+ `;
45
+ //# sourceMappingURL=velocityDilate.glsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velocityDilate.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/velocityDilate.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG;;CAEd,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC,GAAG,MAAM;;;;;EAKtD,gBAAgB;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * PRD-03 §8.6 Phase 7 — closest-depth velocity dilation WGSL twin.
3
+ * 3×3 window: the velocity of the closest-depth texel wins (foreground
4
+ * surface); the pixel's own linear Z goes to .b for the S5 disocclusion
5
+ * test. Both inputs are texelFetch-only → no samplers.
6
+ */
7
+ export declare const VELOCITY_DILATE_WGSL = "@group(0) @binding(1) var u_velocity_tex: texture_2d<f32>;\n@group(0) @binding(2) var u_linear_depth_tex: texture_2d<f32>;\n\n@fragment\nfn fs_velocity_dilate(@builtin(position) frag_coord: vec4<f32>) -> @location(0) vec4<f32> {\n let pixel = vec2<i32>(frag_coord.xy);\n let size = vec2<i32>(textureDimensions(u_velocity_tex));\n let z_self = textureLoad(u_linear_depth_tex, clamp(pixel, vec2<i32>(0), size - vec2<i32>(1)), 0).r;\n var v = textureLoad(u_velocity_tex, pixel, 0).rg;\n var z_best = z_self;\n for (var y = -1; y <= 1; y = y + 1) {\n for (var x = -1; x <= 1; x = x + 1) {\n let tap = clamp(pixel + vec2<i32>(x, y), vec2<i32>(0), size - vec2<i32>(1));\n let z = textureLoad(u_linear_depth_tex, tap, 0).r;\n if (z < z_best) {\n z_best = z;\n v = textureLoad(u_velocity_tex, tap, 0).rg;\n }\n }\n }\n return vec4<f32>(v, z_self, 0.0);\n}\n";
8
+ //# sourceMappingURL=velocityDilate.wgsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velocityDilate.wgsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/velocityDilate.wgsl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,s4BAsBhC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * PRD-03 §8.6 Phase 7 — closest-depth velocity dilation WGSL twin.
3
+ * 3×3 window: the velocity of the closest-depth texel wins (foreground
4
+ * surface); the pixel's own linear Z goes to .b for the S5 disocclusion
5
+ * test. Both inputs are texelFetch-only → no samplers.
6
+ */
7
+ export const VELOCITY_DILATE_WGSL = /* wgsl */ `@group(0) @binding(1) var u_velocity_tex: texture_2d<f32>;
8
+ @group(0) @binding(2) var u_linear_depth_tex: texture_2d<f32>;
9
+
10
+ @fragment
11
+ fn fs_velocity_dilate(@builtin(position) frag_coord: vec4<f32>) -> @location(0) vec4<f32> {
12
+ let pixel = vec2<i32>(frag_coord.xy);
13
+ let size = vec2<i32>(textureDimensions(u_velocity_tex));
14
+ let z_self = textureLoad(u_linear_depth_tex, clamp(pixel, vec2<i32>(0), size - vec2<i32>(1)), 0).r;
15
+ var v = textureLoad(u_velocity_tex, pixel, 0).rg;
16
+ var z_best = z_self;
17
+ for (var y = -1; y <= 1; y = y + 1) {
18
+ for (var x = -1; x <= 1; x = x + 1) {
19
+ let tap = clamp(pixel + vec2<i32>(x, y), vec2<i32>(0), size - vec2<i32>(1));
20
+ let z = textureLoad(u_linear_depth_tex, tap, 0).r;
21
+ if (z < z_best) {
22
+ z_best = z;
23
+ v = textureLoad(u_velocity_tex, tap, 0).rg;
24
+ }
25
+ }
26
+ }
27
+ return vec4<f32>(v, z_self, 0.0);
28
+ }
29
+ `;
30
+ //# sourceMappingURL=velocityDilate.wgsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velocityDilate.wgsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/velocityDilate.wgsl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsB9C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * PRD-03 §8.14 — the SMAA lookup textures, a LAZY CHUNK: imported only via
3
+ * `import()` from post/v2Stages when the resolved AA mode is "smaa",
4
+ * so these ~45 KB of PNG data stay out of the root bundle (§9 bundle gate).
5
+ *
6
+ * The binaries are verbatim ports of three r185
7
+ * `examples/jsm/postprocessing/SMAAPass.js` (MIT License — Copyright ©
8
+ * 2010-2024 three.js authors; the SMAA algorithm itself is MIT by Jorge
9
+ * Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez).
10
+ * - SMAA_AREATEX_PNG: 160×560 RGB8 area table (bilinear-filtered).
11
+ * - SMAA_SEARCHTEX_PNG: 66×33 grayscale search table (nearest-filtered;
12
+ * the SMAASearchLength bias/scale math addresses a 64×32 logical table
13
+ * inside this padded surface — matches three r185 exactly).
14
+ */
15
+ export declare const SMAA_AREATEX_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAIwCAIAAACOVPcQAACBeklEQVR42u39W4xlWXrnh/3WWvuciIzMrKxrV8/0rWbY0+SQFKcb4owIkSIFCjY9AC1BT/LYBozRi+EX+cV+8IMsYAaCwRcBwjzMiw2jAWtgwC8WR5Q8mDFHZLNHTarZGrLJJllt1W2qKrsumZWZcTvn7L3W54e1vrXX3vuciLPPORFR1XE2EomorB0nVuz//r71re/y/1eMvb4Cb3N11xV/PP/2v4UBAwJG/7H8urx6/25/Gf8O5hypMQ0EEEQwAqLfoN/Z+97f/SW+/NvcgQk4sGBJK6H7N4PFVL+K+e0N11yNfkKvwUdwdlUAXPHHL38oa15f/i/46Ih6SuMSPmLAYAwyRKn7dfMGH97jaMFBYCJUgotIC2YAdu+LyW9vvubxAP8kAL8H/koAuOKP3+q6+xGnd5kdYCeECnGIJViwGJMAkQKfDvB3WZxjLKGh8VSCCzhwEWBpMc5/kBbjawT4HnwJfhr+pPBIu7uu+OOTo9vsmtQcniMBGkKFd4jDWMSCRUpLjJYNJkM+IRzQ+PQvIeAMTrBS2LEiaiR9b/5PuT6Ap/AcfAFO4Y3dA3DFH7/VS+M8k4baEAQfMI4QfbVDDGIRg7GKaIY52qAjTAgTvGBAPGIIghOCYAUrGFNgzA7Q3QhgCwfwAnwe5vDejgG44o/fbm1C5ZlYQvQDARPAIQGxCWBM+wWl37ZQESb4gImexGMDouhGLx1Cst0Saa4b4AqO4Hk4gxo+3DHAV/nx27p3JziPM2pVgoiia5MdEzCGULprIN7gEEeQ5IQxEBBBQnxhsDb5auGmAAYcHMA9eAAz8PBol8/xij9+C4Djlim4gJjWcwZBhCBgMIIYxGAVIkH3ZtcBuLdtRFMWsPGoY9rN+HoBji9VBYdwD2ZQg4cnO7OSq/z4rU5KKdwVbFAjNojCQzTlCLPFSxtamwh2jMUcEgg2Wm/6XgErIBhBckQtGN3CzbVacERgCnfgLswhnvqf7QyAq/z4rRZm1YglYE3affGITaZsdIe2FmMIpnOCap25I6jt2kCwCW0D1uAD9sZctNGXcQIHCkINDQgc78aCr+zjtw3BU/ijdpw3zhCwcaONwBvdeS2YZKkJNJsMPf2JKEvC28RXxxI0ASJyzQCjCEQrO4Q7sFArEzjZhaFc4cdv+/JFdKULM4px0DfUBI2hIsy06BqLhGTQEVdbfAIZXYMPesq6VoCHICzUyjwInO4Y411//LYLs6TDa9wvg2CC2rElgAnpTBziThxaL22MYhzfkghz6GAs2VHbbdM91VZu1MEEpupMMwKyVTb5ij9+u4VJG/5EgEMMmFF01cFai3isRbKbzb+YaU/MQbAm2XSMoUPAmvZzbuKYRIFApbtlrfFuUGd6vq2hXNnH78ZLh/iFhsQG3T4D1ib7k5CC6vY0DCbtrohgLEIClXiGtl10zc0CnEGIhhatLBva7NP58Tvw0qE8yWhARLQ8h4+AhQSP+I4F5xoU+VilGRJs6wnS7ruti/4KvAY/CfdgqjsMy4pf8fodQO8/gnuX3f/3xi3om1/h7THr+co3x93PP9+FBUfbNUjcjEmhcrkT+8K7ml7V10Jo05mpIEFy1NmCJWx9SIKKt+EjAL4Ez8EBVOB6havuT/rByPvHXK+9zUcfcbb254+9fydJknYnRr1oGfdaiAgpxu1Rx/Rek8KISftx3L+DfsLWAANn8Hvw0/AFeAGO9DFV3c6D+CcWbL8Dj9e7f+T1k8AZv/d7+PXWM/Z+VvdCrIvuAKO09RpEEQJM0Ci6+B4xhTWr4cZNOvhktabw0ta0rSJmqz3Yw5/AKXwenod7cAhTmBSPKf6JBdvH8IP17h95pXqw50/+BFnj88fev4NchyaK47OPhhtI8RFSvAfDSNh0Ck0p2gLxGkib5NJj/JWCr90EWQJvwBzO4AHcgztwAFN1evHPUVGwfXON+0debT1YeGON9Yy9/63X+OguiwmhIhQhD7l4sMqlG3D86Suc3qWZ4rWjI1X7u0Ytw6x3rIMeIOPDprfe2XzNgyj6PahhBjO4C3e6puDgXrdg+/5l948vF3bqwZetZ+z9Rx9zdIY5pInPK4Nk0t+l52xdK2B45Qd87nM8fsD5EfUhIcJcERw4RdqqH7Yde5V7m1vhNmtedkz6EDzUMF/2jJYWbC+4fzzA/Y+/8PPH3j9dcBAPIRP8JLXd5BpAu03aziOL3VVHZzz3CXWDPWd+SH2AnxIqQoTZpo9Ckc6HIrFbAbzNmlcg8Ag8NFDDAhbJvTBZXbC94P7t68EXfv6o+21gUtPETU7bbkLxvNKRFG2+KXzvtObonPP4rBvsgmaKj404DlshFole1Glfh02fE7bYR7dZ82oTewIBGn1Md6CG6YUF26X376oevOLzx95vhUmgblI6LBZwTCDY7vMq0op5WVXgsObOXJ+1x3qaBl9j1FeLxbhU9w1F+Wiba6s1X/TBz1LnUfuYDi4r2C69f1f14BWfP+p+W2GFKuC9phcELMYRRLur9DEZTUdEH+iEqWdaM7X4WOoPGI+ZYD2+wcQ+y+ioHUZ9dTDbArzxmi/bJI9BND0Ynd6lBdve/butBw8+f/T9D3ABa3AG8W3VPX4hBin+bj8dMMmSpp5pg7fJ6xrBFE2WQQEWnV8Qg3FbAWzYfM1rREEnmvkN2o1+acG2d/9u68GDzx91v3mAjb1zkpqT21OipPKO0b9TO5W0nTdOmAQm0TObts3aBKgwARtoPDiCT0gHgwnbArzxmtcLc08HgF1asN0C4Ms/fvD5I+7PhfqyXE/b7RbbrGyRQRT9ARZcwAUmgdoz0ehJ9Fn7QAhUjhDAQSw0bV3T3WbNa59jzmiP6GsWbGXDX2ytjy8+f9T97fiBPq9YeLdBmyuizZHaqXITnXiMUEEVcJ7K4j3BFPurtB4bixW8wTpweL8DC95szWMOqucFYGsWbGU7p3TxxxefP+r+oTVktxY0v5hbq3KiOKYnY8ddJVSBxuMMVffNbxwIOERShst73HZ78DZrHpmJmH3K6sGz0fe3UUj0eyRrSCGTTc+rjVNoGzNSv05srAxUBh8IhqChiQgVNIIBH3AVPnrsnXQZbLTm8ammv8eVXn/vWpaTem5IXRlt+U/LA21zhSb9cye6jcOfCnOwhIAYXAMVTUNV0QhVha9xjgA27ODJbLbmitt3tRN80lqG6N/khgot4ZVlOyO4WNg3OIMzhIZQpUEHieg2im6F91hB3I2tubql6BYNN9Hj5S7G0G2tahslBWKDnOiIvuAEDzakDQKDNFQT6gbn8E2y4BBubM230YIpBnDbMa+y3dx0n1S0BtuG62lCCXwcY0F72T1VRR3t2ONcsmDjbmzNt9RFs2LO2hQNyb022JisaI8rAWuw4HI3FuAIhZdOGIcdjLJvvObqlpqvWTJnnQbyi/1M9O8UxWhBs//H42I0q1Yb/XPGONzcmm+ri172mHKvZBpHkJaNJz6v9jxqiklDj3U4CA2ugpAaYMWqNXsdXbmJNd9egCnJEsphXNM+MnK3m0FCJ5S1kmJpa3DgPVbnQnPGWIDspW9ozbcO4K/9LkfaQO2KHuqlfFXSbdNzcEcwoqNEFE9zcIXu9/6n/ym/BC/C3aJLzEKPuYVlbFnfhZ8kcWxV3dbv4bKl28566wD+8C53aw49lTABp9PWbsB+knfc/Li3eVizf5vv/xmvnPKg5ihwKEwlrcHqucuVcVOxEv8aH37E3ZqpZypUulrHEtIWKUr+txHg+ojZDGlwnqmkGlzcVi1dLiNSJiHjfbRNOPwKpx9TVdTn3K05DBx4psIk4Ei8aCkJahRgffk4YnEXe07T4H2RR1u27E6wfQsBDofUgjFUFnwC2AiVtA+05J2zpiDK2Oa0c5fmAecN1iJzmpqFZxqYBCYhFTCsUNEmUnIcZ6aEA5rQVhEywG6w7HSW02XfOoBlQmjwulOFQAg66SvJblrTEX1YtJ3uG15T/BH1OfOQeuR8g/c0gdpT5fx2SKbs9EfHTKdM8A1GaJRHLVIwhcGyydZsbifAFVKl5EMKNU2Hryo+06BeTgqnxzYjThVySDikbtJPieco75lYfKAJOMEZBTjoITuWHXXZVhcUDIS2hpiXHV9Ku4u44bN5OYLDOkJo8w+xJSMbhBRHEdEs9JZUCkQrPMAvaHyLkxgkEHxiNkx/x2YB0mGsQ8EUWj/stW5YLhtS5SMu+/YBbNPDCkGTUybN8krRLBGPlZkVOA0j+a1+rkyQKWGaPHPLZOkJhioQYnVZ2hS3zVxMtgC46KuRwbJNd9nV2PHgb36F194ecf/Yeu2vAFe5nm/bRBFrnY4BauE8ERmZRFUn0k8hbftiVYSKMEme2dJCJSCGYAlNqh87bXOPdUkGy24P6d1ll21MBqqx48Fvv8ZHH8HZFY7j/uAq1xMJUFqCSUlJPmNbIiNsmwuMs/q9CMtsZsFO6SprzCS1Z7QL8xCQClEelpjTduDMsmWD8S1PT152BtvmIGvUeDA/yRn83u/x0/4qxoPHjx+PXY9pqX9bgMvh/Nz9kpP4pOe1/fYf3axUiMdHLlPpZCNjgtNFAhcHEDxTumNONhHrBduW+vOyY++70WWnPXj98eA4kOt/mj/5E05l9+O4o8ePx67HFqyC+qSSnyselqjZGaVK2TadbFLPWAQ4NBhHqDCCV7OTpo34AlSSylPtIdd2AJZlyzYQrDJ5lcWGNceD80CunPLGGzsfD+7wRb95NevJI5docQ3tgCyr5bGnyaPRlmwNsFELViOOx9loebGNq2moDOKpHLVP5al2cymWHbkfzGXL7kfRl44H9wZy33tvt+PB/Xnf93e+nh5ZlU18wCiRUa9m7kib9LYuOk+hudQNbxwm0AQqbfloimaB2lM5fChex+ylMwuTbfmXQtmWlenZljbdXTLuOxjI/fDDHY4Hjx8/Hrse0zXfPFxbUN1kKqSCCSk50m0Ajtx3ub9XHBKHXESb8iO6E+qGytF4nO0OG3SXzbJlhxBnKtKyl0NwybjvYCD30aMdjgePHz8eu56SVTBbgxJMliQ3Oauwg0QHxXE2Ez/EIReLdQj42Gzb4CLS0YJD9xUx7bsi0vJi5mUbW1QzL0h0PFk17rtiIPfJk52MB48fPx67npJJwyrBa2RCCQRTbGZSPCxTPOiND4G2pYyOQ4h4jINIJh5wFU1NFZt+IsZ59LSnDqBjZ2awbOku+yInunLcd8VA7rNnOxkPHj9+PGY9B0MWJJNozOJmlglvDMXDEozdhQWbgs/U6oBanGzLrdSNNnZFjOkmbi5bNt1lX7JLLhn3vXAg9/h4y/Hg8ePHI9dzQMEkWCgdRfYykYKnkP7D4rIujsujaKPBsB54vE2TS00ccvFY/Tth7JXeq1hz+qgVy04sAJawTsvOknHfCwdyT062HA8eP348Zj0vdoXF4pilKa2BROed+9fyw9rWRXeTFXESMOanvDZfJuJaSXouQdMdDJZtekZcLLvEeK04d8m474UDuaenW44Hjx8/Xns9YYqZpszGWB3AN/4VHw+k7WSFtJ3Qicuqb/NlVmgXWsxh570xg2UwxUw3WfO6B5nOuO8aA7lnZxuPB48fPx6znm1i4bsfcbaptF3zNT78eFPtwi1OaCNOqp1x3zUGcs/PN++AGD1+fMXrSVm2baTtPhPahbPhA71wIHd2bXzRa69nG+3CraTtPivahV/55tXWg8fyRY/9AdsY8VbSdp8V7cKrrgdfM//z6ILQFtJ2nxHtwmuoB4/kf74+gLeRtvvMaBdeSz34+vifx0YG20jbfTa0C6+tHrwe//NmOG0L8EbSdp8R7cLrrQe/996O+ai3ujQOskpTNULa7jOjXXj99eCd8lHvoFiwsbTdZ0a78PrrwTvlo966pLuRtB2fFe3Cm6oHP9kNH/W2FryxtN1nTLvwRurBO+Kj3pWXHidtx2dFu/Bm68Fb81HvykuPlrb7LGkX3mw9eGs+6h1Y8MbSdjegXcguQLjmevDpTQLMxtJ2N6NdyBZu9AbrwVvwUW+LbteULUpCdqm0HTelXbhNPe8G68Gb8lFvVfYfSNuxvrTdTWoXbozAzdaDZzfkorOj1oxVxlIMlpSIlpLrt8D4hrQL17z+c3h6hU/wv4Q/utps4+bm+6P/hIcf0JwQ5oQGPBL0eKPTYEXTW+eL/2DKn73J9BTXYANG57hz1cEMviVf/4tf5b/6C5pTQkMIWoAq7hTpOJjtAM4pxKu5vg5vXeUrtI09/Mo/5H+4z+Mp5xULh7cEm2QbRP2tFIKR7WM3fPf/jZ3SWCqLM2l4NxID5zB72HQXv3jj/8mLR5xXNA5v8EbFQEz7PpRfl1+MB/hlAN65qgDn3wTgH13hK7T59bmP+NIx1SHHU84nLOITt3iVz8mNO+lPrjGAnBFqmioNn1mTyk1ta47R6d4MrX7tjrnjYUpdUbv2rVr6YpVfsGG58AG8Ah9eyUN8CX4WfgV+G8LVWPDGb+Zd4cU584CtqSbMKxauxTg+dyn/LkVgA+IR8KHtejeFKRtTmLLpxN6mYVLjYxwXf5x2VofiZcp/lwKk4wGOpYDnoIZPdg/AAbwMfx0+ge9dgZvYjuqKe4HnGnykYo5TvJbG0Vj12JagRhwKa44H95ShkZa5RyLGGdfYvG7aw1TsF6iapPAS29mNS3NmsTQZCmgTzFwgL3upCTgtBTRwvGMAKrgLn4evwin8+afJRcff+8izUGUM63GOOuAs3tJkw7J4kyoNreqrpO6cYLQeFUd7TTpr5YOTLc9RUUogUOVJQ1GYJaFLAW0oTmKyYS46ZooP4S4EON3xQ5zC8/CX4CnM4c1PE8ApexpoYuzqlP3d4S3OJP8ZDK7cKWNaTlqmgDiiHwl1YsE41w1zT4iRTm3DBqxvOUsbMKKDa/EHxagtnta072ejc3DOIh5ojvh8l3tk1JF/AV6FU6jh3U8HwEazLgdCLYSQ+MYiAI2ltomkzttUb0gGHdSUUgsIYjTzLG3mObX4FBRaYtpDVNZrih9TgTeYOBxsEnN1gOCTM8Bsw/ieMc75w9kuAT6A+/AiHGvN/+Gn4KRkiuzpNNDYhDGFndWRpE6SVfm8U5bxnSgVV2jrg6JCKmneqey8VMFgq2+AM/i4L4RUbfSi27lNXZ7R7W9RTcq/q9fk4Xw3AMQd4I5ifAZz8FcVtm9SAom/dyN4lczJQW/kC42ZrHgcCoIf1oVMKkVItmMBi9cOeNHGLqOZk+QqQmrbc5YmYgxELUUN35z2iohstgfLIFmcMV7s4CFmI74L9+EFmGsi+tGnAOD4Yk9gIpo01Y4cA43BWGygMdr4YZekG3OBIUXXNukvJS8tqa06e+lSDCtnqqMFu6hWHXCF+WaYt64m9QBmNxi7Ioy7D+fa1yHw+FMAcPt7SysFLtoG4PXAk7JOA3aAxBRqUiAdU9Yp5lK3HLSRFtOim0sa8euEt08xvKjYjzeJ2GU7YawexrnKI9tmobInjFXCewpwriY9+RR4aaezFhMhGCppKwom0ChrgFlKzyPKkGlTW1YQrE9HJqu8hKGgMc6hVi5QRq0PZxNfrYNgE64utmRv6KKHRpxf6VDUaOvNP5jCEx5q185My/7RKz69UQu2im5k4/eownpxZxNLwiZ1AZTO2ZjWjkU9uaB2HFn6Q3u0JcsSx/qV9hTEApRzeBLDJQXxYmTnq7bdLa3+uqFrxLJ5w1TehnNHx5ECvCh2g2c3hHH5YsfdaSKddztfjQ6imKFGSyFwlLzxEGPp6r5IevVjk1AMx3wMqi1NxDVjLBiPs9tbsCkIY5we5/ML22zrCScFxnNtzsr9Wcc3CnD+pYO+4VXXiDE0oc/vQQ/fDK3oPESJMYXNmJa/DuloJZkcTpcYE8lIH8Dz8DJMiynNC86Mb2lNaaqP/+L7f2fcE/yP7/Lde8xfgSOdMxvOixZf/9p3+M4hT1+F+zApxg9XfUvYjc8qX2lfOOpK2gNRtB4flpFu9FTKCp2XJRgXnX6olp1zyYjTKJSkGmLE2NjUr1bxFM4AeAAHBUFIeSLqXR+NvH/M9fOnfHzOD2vCSyQJKzfgsCh+yi/Mmc35F2fUrw7miW33W9hBD1vpuUojFphIyvg7aTeoymDkIkeW3XLHmguMzbIAJejN6B5MDrhipE2y6SoFRO/AK/AcHHZHNIfiWrEe/C6cr3f/yOvrQKB+zMM55/GQdLDsR+ifr5Fiuu+/y+M78LzOE5dsNuXC3PYvYWd8NXvphLSkJIasrlD2/HOqQ+RjcRdjKTGWYhhVUm4yxlyiGPuMsZR7sMCHUBeTuNWA7if+ifXgc/hovftHXs/DV+Fvwe+f8shzMiMcweFgBly3//vwJfg5AN4450fn1Hd1Rm1aBLu22Dy3y3H2+OqMemkbGZ4jozcDjJf6596xOLpC0eMTHbKnxLxH27uZ/bMTGs2jOaMOY4m87CfQwF0dw53oa1k80JRuz/XgS+8fX3N9Af4qPIMfzKgCp4H5TDGe9GGeFPzSsZz80SlPTxXjgwJmC45njzgt2vbQ4b4OAdUK4/vWhO8d8v6EE8fMUsfakXbPpFJeLs2ubM/qdm/la3WP91uWhxXHjoWhyRUq2iJ/+5mA73zwIIo+LoZ/SgvIRjAd1IMvvn98PfgOvAJfhhm8scAKVWDuaRaK8aQ9f7vuPDH6Bj47ZXau7rqYJ66mTDwEDU6lLbCjCK0qTXyl5mnDoeNRxanj3FJbaksTk0faXxHxLrssgPkWB9LnA/MFleXcJozzjwsUvUG0X/QCve51qkMDXp9mtcyOy3rwBfdvVJK7D6/ACSzg3RoruIq5UDeESfEmVclDxnniU82vxMLtceD0hGZWzBNPMM/jSPne2OVatiTKUpY5vY7gc0LdUAWeWM5tH+O2I66AOWw9xT2BuyRVLGdoDHUsVRXOo/c+ZdRXvFfnxWyIV4upFLCl9eAL7h8Zv0QH8Ry8pA2cHzQpGesctVA37ZtklBTgHjyvdSeKY/RZw/kJMk0Y25cSNRWSigQtlULPTw+kzuJPeYEkXjQRpoGZobYsLF79pyd1dMRHInbgFTZqNLhDqiIsTNpoex2WLcy0/X6rHcdMMQvFSd5dWA++4P7xv89deACnmr36uGlL69bRCL6BSZsS6c0TU2TKK5gtWCzgAOOwQcurqk9j8whvziZSMLcq5hbuwBEsYjopUBkqw1yYBGpLA97SRElEmx5MCInBY5vgLk94iKqSWmhIGmkJ4Bi9m4L645J68LyY4wsFYBfUg5feP/6gWWm58IEmKQM89hq7KsZNaKtP5TxxrUZZVkNmMJtjbKrGxLNEbHPJxhqy7lAmbC32ZqeF6lTaknRWcYaFpfLUBh/rwaQycCCJmW15Kstv6jRHyJFry2C1ahkkIW0LO75s61+owxK1y3XqweX9m5YLM2DPFeOjn/iiqCKJ+yKXF8t5Yl/kNsqaSCryxPq5xWTFIaP8KSW0RYxqupaUf0RcTNSSdJZGcKYdYA6kdtrtmyBckfKXwqk0pHpUHlwWaffjNRBYFPUDWa8e3Lt/o0R0CdisKDM89cX0pvRHEfM8ca4t0s2Xx4kgo91MPQJ/0c9MQYq0co8MBh7bz1fio0UUHLR4aAIOvOmoYO6kwlEVODSSTliWtOtH6sPkrtctF9ZtJ9GIerBskvhdVS5cFNv9s1BU0AbdUgdK4FG+dRnjFmDTzniRMdZO1QhzMK355vigbdkpz9P6qjUGE5J2qAcXmwJ20cZUiAD0z+pGMx6xkzJkmEf40Hr4qZfVg2XzF9YOyoV5BjzVkUJngKf8lgNYwKECEHrCNDrWZzMlflS3yBhr/InyoUgBc/lKT4pxVrrC6g1YwcceK3BmNxZcAtz3j5EIpqguh9H6wc011YN75cKDLpFDxuwkrPQmUwW4KTbj9mZTwBwLq4aQMUZbHm1rylJ46dzR0dua2n3RYCWZsiHROeywyJGR7mXKlpryyCiouY56sFkBWEnkEB/raeh/Sw4162KeuAxMQpEkzy5alMY5wamMsWKKrtW2WpEWNnReZWONKWjrdsKZarpFjqCslq773PLmEhM448Pc3+FKr1+94vv/rfw4tEcu+lKTBe4kZSdijBrykwv9vbCMPcLQTygBjzVckSLPRVGslqdunwJ4oegtFOYb4SwxNgWLCmD7T9kVjTv5YDgpo0XBmN34Z/rEHp0sgyz7lngsrm4lvMm2Mr1zNOJYJ5cuxuQxwMGJq/TP5emlb8fsQBZviK4t8hFL+zbhtlpwaRSxQRWfeETjuauPsdGxsBVdO7nmP4xvzSoT29pRl7kGqz+k26B3Oy0YNV+SXbbQas1ctC/GarskRdFpKczVAF1ZXnLcpaMuzVe6lZ2g/1ndcvOVgRG3sdUAY1bKD6achijMPdMxV4muKVorSpiDHituH7rSTs7n/4y5DhRXo4FVBN4vO/zbAcxhENzGbHCzU/98Mcx5e7a31kWjw9FCe/zNeYyQjZsWb1uc7U33pN4Mji6hCLhivqfa9Ss6xLg031AgfesA/l99m9fgvnaF9JoE6bYKmkGNK3aPbHB96w3+DnxFm4hs0drLsk7U8kf/N/CvwQNtllna0rjq61sH8L80HAuvwH1tvBy2ChqWSCaYTaGN19sTvlfzFD6n+iKTbvtayfrfe9ueWh6GJFoxLdr7V72a5ZpvHcCPDzma0wTO4EgbLyedxstO81n57LYBOBzyfsOhUKsW1J1BB5vr/tz8RyqOFylQP9Tvst2JALsC5lsH8PyQ40DV4ANzYa4dedNiKNR1s+x2wwbR7q4/4cTxqEk4LWDebfisuo36JXLiWFjOtLrlNWh3K1rRS4xvHcDNlFnNmWBBAl5SWaL3oPOfnvbr5pdjVnEaeBJSYjuLEkyLLsWhKccadmOphZkOPgVdalj2QpSmfOsADhMWE2ZBu4+EEJI4wKTAuCoC4xwQbWXBltpxbjkXJtKxxabo9e7tyhlgb6gNlSbUpMh+l/FaqzVwewGu8BW1Zx7pTpQDJUjb8tsUTW6+GDXbMn3mLbXlXJiGdggxFAoUrtPS3wE4Nk02UZG2OOzlk7fRs7i95QCLo3E0jtrjnM7SR3uS1p4qtS2nJ5OwtQVHgOvArLBFijZUV9QtSl8dAY5d0E0hM0w3HS2DpIeB6m/A1+HfhJcGUq4sOxH+x3f5+VO+Ds9rYNI7zPXOYWPrtf8bYMx6fuOAX5jzNR0PdsuON+X1f7EERxMJJoU6GkTEWBvVolVlb5lh3tKCg6Wx1IbaMDdJ+9sUCc5KC46hKGCk3IVOS4TCqdBNfUs7Kd4iXf2RjnT/LLysJy3XDcHLh/vde3x8DoGvwgsa67vBk91G5Pe/HbOe7xwym0NXbtiuuDkGO2IJDh9oQvJ4cY4vdoqLDuoH9Zl2F/ofsekn8lkuhIlhQcffUtSjytFyp++p6NiE7Rqx/lodgKVoceEp/CP4FfjrquZaTtj2AvH5K/ywpn7M34K/SsoYDAdIN448I1/0/wveW289T1/lX5xBzc8N5IaHr0XMOQdHsIkDuJFifj20pBm5jzwUv9e2FhwRsvhAbalCIuIw3bhJihY3p6nTFFIZgiSYjfTf3aXuOjmeGn4bPoGvwl+CFzTRczBIuHBEeImHc37/lGfwZR0cXzVDOvaKfNHvwe+suZ771K/y/XcBlsoN996JpBhoE2toYxOznNEOS5TJc6Id5GEXLjrWo+LEWGNpPDU4WAwsIRROu+1vM+0oW37z/MBN9kqHnSArwPfgFJ7Cq/Ai3Ie7g7ncmI09v8sjzw9mzOAEXoIHxURueaAce5V80f/DOuuZwHM8vsMb5wBzOFWM7wymTXPAEvm4vcFpZ2ut0VZRjkiP2MlmLd6DIpbGSiHOjdnUHN90hRYmhTnmvhzp1iKDNj+b7t5hi79lWGwQ+HN9RsfFMy0FXbEwhfuczKgCbyxYwBmcFhhvo/7a44v+i3XWcwDP86PzpGQYdWh7csP5dBvZ1jNzdxC8pBGuxqSW5vw40nBpj5JhMwvOzN0RWqERHMr4Lv1kWX84xLR830G3j6yqZ1a8UstTlW+qJPOZ+sZ7xZPKTJLhiNOAFd6tk+jrTH31ncLOxid8+nzRb128HhUcru/y0Wn6iT254YPC6FtVSIMoW2sk727AhvTtrWKZTvgsmckfXYZWeNRXx/3YQ2OUxLDrbHtN11IwrgXT6c8dATDwLniYwxzO4RzuQqTKSC5gAofMZ1QBK3zQ4JWobFbcvJm87FK+6JXrKahLn54m3p+McXzzYtP8VF/QpJuh1OwieElEoI1pRxPS09FBrkq2tWCU59+HdhNtTIqKm8EBrw2RTOEDpG3IKo2Y7mFdLm3ZeVjYwVw11o/oznceMve4CgMfNym/utA/d/ILMR7gpXzRy9eDsgLcgbs8O2Va1L0zzIdwGGemTBuwROHeoMShkUc7P+ISY3KH5ZZeWqO8mFTxQYeXTNuzvvK5FGPdQfuu00DwYFY9dyhctEt+OJDdnucfpmyhzUJzfsJjr29l8S0bXBfwRS9ZT26tmMIdZucch5ZboMz3Nio3nIOsYHCGoDT4kUA9MiXEp9Xsui1S8th/kbWIrMBxDGLodWUQIWcvnXy+9M23xPiSMOiRPqM+YMXkUN3gXFrZJwXGzUaMpJfyRS9ZT0lPe8TpScuRlbMHeUmlaKDoNuy62iWNTWNFYjoxFzuJs8oR+RhRx7O4SVNSXpa0ZJQ0K1LAHDQ+D9IepkMXpcsq5EVCvClBUIzDhDoyKwDw1Lc59GbTeORivugw1IcuaEOaGWdNm+Ps5fQ7/tm0DjMegq3yM3vb5j12qUId5UZD2oxDSEWOZMSqFl/W+5oynWDa/aI04tJRQ2eTXusg86SQVu/nwSYwpW6wLjlqIzwLuxGIvoAvul0PS+ZNz0/akp/pniO/8JDnGyaCkzbhl6YcqmK/69prxPqtpx2+Km9al9sjL+rwMgHw4jE/C8/HQ3m1vBuL1fldbzd8mOueVJ92syqdEY4KJjSCde3mcRw2TA6szxedn+zwhZMps0XrqEsiUjnC1hw0TELC2Ek7uAAdzcheXv1BYLagspxpzSAoZZUsIzIq35MnFQ9DOrlNB30jq3L4pkhccKUAA8/ocvN1Rzx9QyOtERs4CVsJRK/DF71kPYrxYsGsm6RMh4cps5g1DOmM54Ly1ii0Hd3Y/BMk8VWFgBVmhqrkJCPBHAolwZaWzLR9Vb7bcWdX9NyUYE+uB2BKfuaeBUcjDljbYVY4DdtsVWvzRZdWnyUzDpjNl1Du3aloAjVJTNDpcIOVVhrHFF66lLfJL1zJr9PQ2nFJSBaKoDe+sAvLufZVHVzYh7W0h/c6AAZ+7Tvj6q9j68G/cTCS/3n1vLKHZwNi+P+pS0WkZNMBMUl+LDLuiE4omZy71r3UFMwNJV+VJ/GC5ixVUkBStsT4gGKh0Gm4Oy3qvq7Lbmq24nPdDuDR9deR11XzP4vFu3TYzfnIyiSVmgizUYGqkIXNdKTY9pgb9D2Ix5t0+NHkVzCdU03suWkkVZAoCONCn0T35gAeW38de43mf97sMOpSvj4aa1KYUm58USI7Wxxes03bAZdRzk6UtbzMaCQ6IxO0dy7X+XsjoD16hpsBeGz9dfzHj+R/Hp8nCxZRqkEDTaCKCSywjiaoMJ1TITE9eg7Jqnq8HL6gDwiZb0u0V0Rr/rmvqjxKuaLCX7ZWXTvAY+uvm3z8CP7nzVpngqrJpZKwWnCUjIviYVlirlGOzPLI3SMVyp/elvBUjjDkNhrtufFFErQ8pmdSlbK16toBHlt/HV8uHMX/vEGALkV3RJREiSlopxwdMXOZPLZ+ix+kAHpMKIk8UtE1ygtquttwxNhphrIZ1IBzjGF3IIGxGcBj6q8bHJBG8T9vdsoWrTFEuebEZuVxhhClH6P5Zo89OG9fwHNjtNQTpD0TG9PJLEYqvEY6Rlxy+ZZGfL0Aj62/bnQCXp//eeM4KzfQVJbgMQbUjlMFIm6TpcfWlZje7NBSV6IsEVmumWIbjiloUzQX9OzYdo8L1wjw2PrrpimONfmfNyzKklrgnEkSzT5QWYQW40YShyzqsRmMXbvVxKtGuYyMKaU1ugenLDm5Ily4iT14fP11Mx+xJv+zZ3MvnfdFqxU3a1W/FTB4m3Qfsyc1XUcdVhDeUDZXSFHHLQj/Y5jtC7ZqM0CXGwB4bP11i3LhOvzPGygYtiUBiwQV/4wFO0majijGsafHyRLu0yG6q35cL1rOpVxr2s5cM2jJYMCdc10Aj6q/blRpWJ//+dmm5psMl0KA2+AFRx9jMe2WbC4jQxnikd4DU8TwUjRVacgdlhmr3bpddzuJ9zXqr2xnxJfzP29RexdtjDVZqzkqa6PyvcojGrfkXiJ8SEtml/nYskicv0ivlxbqjemwUjMw5evdg8fUX9nOiC/lf94Q2i7MURk9nW1MSj5j8eAyV6y5CN2S6qbnw3vdA1Iwq+XOSCl663udN3IzLnrt+us25cI1+Z83SXQUldqQq0b5XOT17bGpLd6ssN1VMPf8c+jG8L3NeCnMdF+Ra3fRa9dft39/LuZ/3vwHoHrqGmQFafmiQw6eyzMxS05K4bL9uA+SKUQzCnSDkqOGokXyJvbgJ/BHI+qvY69//4rl20NsmK2ou2dTsyIALv/91/8n3P2Aao71WFGi8KKv1fRC5+J67Q/507/E/SOshqN5TsmYIjVt+kcjAx98iz/4SaojbIV1rexE7/C29HcYD/DX4a0rBOF5VTu7omsb11L/AWcVlcVZHSsqGuXLLp9ha8I//w3Mv+T4Ew7nTBsmgapoCrNFObIcN4pf/Ob/mrvHTGqqgAupL8qWjWPS9m/31jAe4DjA+4+uCoQoT/zOzlrNd3qd4SdphFxsUvYwGWbTWtISc3wNOWH+kHBMfc6kpmpwPgHWwqaSUG2ZWWheYOGQGaHB+eQ/kn6b3pOgLV+ODSn94wDvr8Bvb70/LLuiPPEr8OGVWfDmr45PZyccEmsVXZGe1pRNX9SU5+AVQkNTIVPCHF/jGmyDC9j4R9LfWcQvfiETmgMMUCMN1uNCakkweZsowdYobiMSlnKA93u7NzTXlSfe+SVbfnPQXmg9LpYAQxpwEtONyEyaueWM4FPjjyjG3uOaFmBTWDNgBXGEiQpsaWhnAqIijB07Dlsy3fUGeP989xbWkyf+FF2SNEtT1E0f4DYYVlxFlbaSMPIRMk/3iMU5pME2SIWJvjckciebkQuIRRyhUvkHg/iUljG5kzVog5hV7vIlCuBrmlhvgPfNHQM8lCf+FEGsYbMIBC0qC9a0uuy2wLXVbLBaP5kjHokCRxapkQyzI4QEcwgYHRZBp+XEFTqXFuNVzMtjXLJgX4gAid24Hjwc4N3dtVSe+NNiwTrzH4WVUOlDobUqr1FuAgYllc8pmzoVrELRHSIW8ViPxNy4xwjBpyR55I6J220qQTZYR4guvUICJiSpr9gFFle4RcF/OMB7BRiX8sSfhpNSO3lvEZCQfLUVTKT78Ek1LRLhWN+yLyTnp8qWUZ46b6vxdRGXfHVqx3eI75YaLa4iNNiK4NOW7wPW6lhbSOF9/M9qw8e/aoB3d156qTzxp8pXx5BKAsYSTOIIiPkp68GmTq7sZtvyzBQaRLNxIZ+paozHWoLFeExIhRBrWitHCAHrCF7/thhD8JhYz84wg93QRV88wLuLY8zF8sQ36qF1J455bOlgnELfshKVxYOXKVuKx0jaj22sczTQqPqtV/XDgpswmGTWWMSDw3ssyUunLLrVPGjYRsH5ggHeHSWiV8kT33ycFSfMgkoOK8apCye0J6VW6GOYvffgU9RWsukEi2kUV2nl4dOYUzRik9p7bcA4ggdJ53LxKcEe17B1R8eqAd7dOepV8sTXf5lhejoL85hUdhDdknPtKHFhljOT+bdq0hxbm35p2nc8+Ja1Iw+tJykgp0EWuAAZYwMVwac5KzYMslhvgHdHRrxKnvhTYcfKsxTxtTETkjHO7rr3zjoV25lAQHrqpV7bTiy2aXMmUhTBnKS91jhtR3GEoF0oLnWhWNnYgtcc4N0FxlcgT7yz3TgNIKkscx9jtV1ZKpWW+Ub1tc1eOv5ucdgpx+FJy9pgbLE7xDyXb/f+hLHVGeitHOi6A7ybo3sF8sS7w7cgdk0nJaOn3hLj3uyD0Zp5pazFIUXUpuTTU18d1EPkDoX8SkmWTnVIozEdbTcZjoqxhNHf1JrSS/AcvHjZ/SMHhL/7i5z+POsTUh/8BvNfYMTA8n+yU/MlTZxSJDRStqvEuLQKWwDctMTQogUDyQRoTQG5Kc6oQRE1yV1jCA7ri7jdZyK0sYTRjCR0Hnnd+y7nHxNgTULqw+8wj0mQKxpYvhjm9uSUxg+TTy7s2GtLUGcywhXSKZN275GsqlclX90J6bRI1aouxmgL7Q0Nen5ziM80SqMIo8cSOo+8XplT/5DHNWsSUr/6lLN/QQ3rDyzLruEW5enpf7KqZoShEduuSFOV7DLX7Ye+GmXb6/hnNNqKsVXuMDFpb9Y9eH3C6NGEzuOuI3gpMH/I6e+zDiH1fXi15t3vA1czsLws0TGEtmPEJdiiFPwlwKbgLHAFk4P6ZyPdymYYHGE0dutsChQBl2JcBFlrEkY/N5bQeXQ18gjunuMfMfsBlxJSx3niO485fwO4fGD5T/+3fPQqkneWVdwnw/3bMPkW9Wbqg+iC765Zk+xcT98ibKZc2EdgHcLoF8cSOo/Oc8fS+OyEULF4g4sJqXVcmfMfsc7A8v1/yfGXmL9I6Fn5pRwZhsPv0TxFNlAfZCvG+Oohi82UC5f/2IsJo0cTOm9YrDoKhFPEUr/LBYTUNht9zelHXDqwfPCIw4owp3mOcIQcLttWXFe3VZ/j5H3cIc0G6oPbCR+6Y2xF2EC5cGUm6wKC5tGEzhsWqw5hNidUiKX5gFWE1GXh4/Qplw4sVzOmx9QxU78g3EF6wnZlEN4FzJ1QPSLEZz1KfXC7vd8ssGdIbNUYpVx4UapyFUHzJoTOo1McSkeNn1M5MDQfs4qQuhhX5vQZFw8suwWTcyYTgioISk2YdmkhehG4PkE7w51inyAGGaU+uCXADabGzJR1fn3lwkty0asIo8cROm9Vy1g0yDxxtPvHDAmpu+PKnM8Ix1wwsGw91YJqhteaWgjYBmmQiebmSpwKKzE19hx7jkzSWOm66oPbzZ8Yj6kxVSpYjVAuvLzYMCRo3oTQecOOjjgi3NQ4l9K5/hOGhNTdcWVOTrlgYNkEXINbpCkBRyqhp+LdRB3g0OU6rMfW2HPCFFMV9nSp+uB2woepdbLBuJQyaw/ZFysXrlXwHxI0b0LovEkiOpXGA1Ijagf+KUNC6rKNa9bQnLFqYNkEnMc1uJrg2u64ELPBHpkgWbmwKpJoDhMwNbbGzAp7Yg31wS2T5rGtzit59PrKhesWG550CZpHEzpv2NGRaxlNjbMqpmEIzygJqQfjypycs2pg2cS2RY9r8HUqkqdEgKTWtWTKoRvOBPDYBltja2SO0RGjy9UHtxwRjA11ujbKF+ti5cIR9eCnxUg6owidtyoU5tK4NLji5Q3HCtiyF2IqLGYsHViOXTXOYxucDqG0HyttqYAKqYo3KTY1ekyDXRAm2AWh9JmsVh/ccg9WJ2E8YjG201sPq5ULxxX8n3XLXuMInbft2mk80rRGjCGctJ8/GFdmEQ9Ug4FlE1ll1Y7jtiraqm5Fe04VV8lvSVBL8hiPrfFVd8+7QH3Qbu2ipTVi8cvSGivc9cj8yvH11YMHdNSERtuOslM97feYFOPKzGcsI4zW0YGAbTAOaxCnxdfiYUmVWslxiIblCeAYr9VYR1gM7GmoPrilunSxxeT3DN/2eBQ9H11+nk1adn6VK71+5+Jfct4/el10/7KBZfNryUunWSCPxPECk1rdOv1WVSrQmpC+Tl46YD3ikQYcpunSQgzVB2VHFhxHVGKDgMEY5GLlQnP7FMDzw7IacAWnO6sBr12u+XanW2AO0wQ8pknnFhsL7KYIqhkEPmEXFkwaN5KQphbkUmG72wgw7WSm9RiL9QT925hkjiVIIhphFS9HKI6/8QAjlpXqg9W2C0apyaVDwKQwrwLY3j6ADR13ZyUNByQXHQu6RY09Hu6zMqXRaNZGS/KEJs0cJEe9VH1QdvBSJv9h09eiRmy0V2uJcqHcShcdvbSNg5fxkenkVprXM9rDVnX24/y9MVtncvbKY706anNl3ASll9a43UiacVquXGhvq4s2FP62NGKfQLIQYu9q1WmdMfmUrDGt8eDS0cXozH/fjmUH6Jruvm50hBDSaEU/2Ru2LEN/dl006TSc/g7tfJERxGMsgDUEr104pfWH9lQaN+M4KWQjwZbVc2rZVNHsyHal23wZtIs2JJqtIc/WLXXRFCpJkfE9jvWlfFbsNQ9pP5ZBS0zKh4R0aMFj1IjTcTnvi0Zz2rt7NdvQb2mgbju1plsH8MmbnEk7KbK0b+wC2iy3aX3szW8xeZvDwET6hWZYwqTXSSG+wMETKum0Dq/q+x62gt2ua2ppAo309TRk9TPazfV3qL9H8z7uhGqGqxNVg/FKx0HBl9OVUORn8Q8Jx9gFttGQUDr3tzcXX9xGgN0EpzN9mdZ3GATtPhL+CjxFDmkeEU6x56kqZRusLzALXVqkCN7zMEcqwjmywDQ6OhyUe0Xao1Qpyncrg6wKp9XfWDsaZplElvQ/b3sdweeghorwBDlHzgk1JmMc/wiERICVy2VJFdMjFuLQSp3S0W3+sngt2njwNgLssFGVQdJ0tu0KH4ky1LW4yrbkuaA6Iy9oz/qEMMXMMDWyIHhsAyFZc2peV9hc7kiKvfULxCl9iddfRK1f8kk9qvbdOoBtOg7ZkOZ5MsGrSHsokgLXUp9y88smniwWyuFSIRVmjplga3yD8Uij5QS1ZiM4U3Qw5QlSm2bXjFe6jzzBFtpg+/YBbLAWG7OPynNjlCw65fukGNdkJRf7yM1fOxVzbxOJVocFoYIaGwH22mIQkrvu1E2nGuebxIgW9U9TSiukPGU+Lt++c3DJPKhyhEEbXCQLUpae2exiKy6tMPe9mDRBFCEMTWrtwxN8qvuGnt6MoihKWS5NSyBhbH8StXoAz8PLOrRgLtOT/+4vcu+7vDLnqNvztOq7fmd8sMmY9Xzn1zj8Dq8+XVdu2Nv0IIySgEdQo3xVHps3Q5i3fLFsV4aiqzAiBhbgMDEd1uh8qZZ+lwhjkgokkOIv4xNJmyncdfUUzgB4oFMBtiu71Xumpz/P+cfUP+SlwFExwWW62r7b+LSPxqxn/gvMZ5z9C16t15UbNlq+jbGJtco7p8wbYlL4alSyfWdeuu0j7JA3JFNuVAwtst7F7FhWBbPFNKIUORndWtLraFLmMu7KFVDDOzqkeaiN33YAW/r76wR4XDN/yN1z7hejPau06EddkS/6XThfcz1fI/4K736fO48vlxt2PXJYFaeUkFS8U15XE3428xdtn2kc8GQlf1vkIaNRRnOMvLTWrZbElEHeLWi1o0dlKPAh1MVgbbVquPJ5+Cr8LU5/H/+I2QlHIU2ClXM9G8v7Rr7oc/hozfUUgsPnb3D+I+7WF8kNO92GY0SNvuxiE+2Bt8prVJTkzE64sfOstxuwfxUUoyk8VjcTlsqe2qITSFoSj6Epd4KsT6BZOWmtgE3hBfir8IzZDwgV4ZTZvD8VvPHERo8v+vL1DASHTz/i9OlKueHDjK5Rnx/JB1Vb1ioXdBra16dmt7dgik10yA/FwJSVY6XjA3oy4SqM2frqDPPSRMex9qs3XQtoWxMj7/Er8GWYsXgjaVz4OYumP2+9kbxvny/6kvWsEBw+fcb5bInc8APdhpOSs01tEqIkoiZjbAqKMruLbJYddHuHFRIyJcbdEdbl2sVLaySygunutBg96Y2/JjKRCdyHV+AEFtTvIpbKIXOamknYSiB6KV/0JetZITgcjjk5ZdaskBtWO86UF0ap6ozGXJk2WNiRUlCPFir66lzdm/SLSuK7EUdPz8f1z29Skq6F1fXg8+5UVR6bszncP4Tn4KUkkdJ8UFCY1zR1i8RmL/qQL3rlei4THG7OODlnKko4oI01kd3CaM08Ia18kC3GNoVaO9iDh+hWxSyTXFABXoau7Q6q9OxYg/OVEMw6jdbtSrJ9cBcewGmaZmg+bvkUnUUaGr+ZfnMH45Ivevl61hMcXsxYLFTu1hTm2zViCp7u0o5l+2PSUh9bDj6FgYypufBDhqK2+oXkiuHFHR3zfj+9PtA8oR0xnqX8qn+sx3bFODSbbF0X8EUvWQ8jBIcjo5bRmLOljDNtcqNtOe756h3l0VhKa9hDd2l1eqmsnh0MNMT/Cqnx6BInumhLT8luljzQ53RiJeA/0dxe5NK0o2fA1+GLXr6eNQWHNUOJssQaTRlGpLHKL9fD+IrQzTOMZS9fNQD4AnRNVxvTdjC+fJdcDDWQcyB00B0t9BDwTxXgaAfzDZ/DBXzRnfWMFRwuNqocOmX6OKNkY63h5n/fFcB28McVHqnXZVI27K0i4rDLNE9lDKV/rT+udVbD8dFFu2GGZ8mOt0kAXcoX3ZkIWVtw+MNf5NjR2FbivROHmhV1/pj2egv/fMGIOWTIWrV3Av8N9imV9IWml36H6cUjqEWNv9aNc+veb2sH46PRaHSuMBxvtW+twxctq0z+QsHhux8Q7rCY4Ct8lqsx7c6Sy0dl5T89rIeEuZKoVctIk1hNpfavER6yyH1Vvm3MbsUHy4ab4hWr/OZPcsRBphnaV65/ZcdYPNNwsjN/djlf9NqCw9U5ExCPcdhKxUgLSmfROpLp4WSUr8ojdwbncbvCf+a/YzRaEc6QOvXcGO256TXc5Lab9POvB+AWY7PigWYjzhifbovuunzRawsO24ZqQQAqguBtmpmPB7ysXJfyDDaV/aPGillgz1MdQg4u5MYaEtBNNHFjkRlSpd65lp4hd2AVPTfbV7FGpyIOfmNc/XVsPfg7vzaS/3nkvLL593ANLvMuRMGpQIhiF7kUEW9QDpAUbTWYBcbp4WpacHHY1aacqQyjGZS9HI3yCBT9kUZJhVOD+zUDvEH9ddR11fzPcTDQ5TlgB0KwqdXSavk9BC0pKp0WmcuowSw07VXmXC5guzSa4p0UvRw2lbDiYUx0ExJJRzWzi6Gm8cnEkfXXsdcG/M/jAJa0+bmCgdmQ9CYlNlSYZOKixmRsgiFxkrmW4l3KdFKv1DM8tk6WxPYJZhUUzcd8Kdtgrw/gkfXXDT7+avmfVak32qhtkg6NVdUS5wgkru1YzIkSduTW1FDwVWV3JQVJVuieTc0y4iDpFwc7/BvSalvKdQM8sv662cevz/+8sQVnjVAT0W2wLllw1JiMhJRxgDjCjLQsOzSFSgZqx7lAW1JW0e03yAD3asC+GD3NbQhbe+mN5GXH1F83KDOM4n/e5JIuH4NpdQARrFPBVptUNcjj4cVMcFSRTE2NpR1LEYbYMmfWpXgP9KejaPsLUhuvLCsVXznAG9dfx9SR1ud/3hZdCLHb1GMdPqRJgqDmm76mHbvOXDtiO2QPUcKo/TWkQ0i2JFXpBoo7vij1i1Lp3ADAo+qvG3V0rM//vFnnTE4hxd5Ka/Cor5YEdsLVJyKtDgVoHgtW11pWSjolPNMnrlrVj9Fv2Qn60twMwKPqr+N/wvr8z5tZcDsDrv06tkqyzESM85Ycv6XBWA2birlNCXrI6VbD2lx2L0vQO0QVTVVLH4SE67fgsfVXv8n7sz7/85Z7cMtbE6f088wSaR4kCkCm10s6pKbJhfqiUNGLq+0gLWC6eUAZFPnLjwqtKd8EwGvWX59t7iPW4X/eAN1svgRVSY990YZg06BD1ohLMtyFTI4pKTJsS9xREq9EOaPWiO2gpms7397x6nQJkbh+Fz2q/rqRROX6/M8bJrqlVW4l6JEptKeUFuMYUbtCQ7CIttpGc6MY93x1r1vgAnRXvY5cvwWPqb9uWQm+lP95QxdNMeWhOq1x0Db55C7GcUv2ZUuN6n8iKzsvOxibC//Yfs9Na8r2Rlz02vXXDT57FP/zJi66/EJSmsJKa8QxnoqW3VLQ+jZVUtJwJ8PNX1NQCwfNgdhhHD9on7PdRdrdGPF28rJr1F+3LBdeyv+8yYfLoMYet1vX4upNAjVvwOUWnlNXJXlkzk5Il6kqeoiL0C07qno+/CYBXq/+utlnsz7/Mzvy0tmI4zm4ag23PRN3t/CWryoUVJGm+5+K8RJ0V8Hc88/XHUX/HfiAq7t+BH+x6v8t438enWmdJwFA6ZINriLGKv/95f8lT9/FnyA1NMVEvQyaXuu+gz36f/DD73E4pwqpLcvm/o0Vle78n//+L/NPvoefp1pTJye6e4A/D082FERa5/opeH9zpvh13cNm19/4v/LDe5xMWTi8I0Ta0qKlK27AS/v3/r+/x/2GO9K2c7kVMonDpq7//jc5PKCxeNPpFVzaRr01wF8C4Pu76hXuX18H4LduTr79guuFD3n5BHfI+ZRFhY8w29TYhbbLi/bvBdqKE4fUgg1pBKnV3FEaCWOWyA+m3WpORZr/j+9TKJtW8yBTF2/ZEODI9/QavHkVdGFp/Pjn4Q+u5hXapsP5sOH+OXXA1LiKuqJxiMNbhTkbdJTCy4llEt6NnqRT4dhg1V3nbdrm6dYMecA1yTOL4PWTE9L5VzPFlLBCvlG58AhehnN4uHsAYinyJ+AZ/NkVvELbfOBUuOO5syBIEtiqHU1k9XeISX5bsimrkUUhnGDxourN8SgUsCZVtKyGbyGzHXdjOhsAvOAswSRyIBddRdEZWP6GZhNK/yjwew9ehBo+3jEADu7Ay2n8mDc+TS7awUHg0OMzR0LABhqLD4hJEh/BEGyBdGlSJoXYXtr+3HS4ijzVpgi0paWXtdruGTknXBz+11qT1Q2inxaTzQCO46P3lfLpyS4fou2PH/PupwZgCxNhGlj4IvUuWEsTkqMWm6i4xCSMc9N1RDQoCVcuGItJ/MRWefais+3synowi/dESgJjkilnWnBTGvRWmaw8oR15257t7CHmCf8HOn7cwI8+NQBXMBEmAa8PMRemrNCEhLGEhDQKcGZWS319BX9PFBEwGTbRBhLbDcaV3drFcDqk5kCTd2JF1Wp0HraqBx8U0wwBTnbpCadwBA/gTH/CDrcCs93LV8E0YlmmcyQRQnjBa8JESmGUfIjK/7fkaDJpmD2QptFNVJU1bbtIAjjWQizepOKptRjbzR9Kag6xZmMLLjHOtcLT3Tx9o/0EcTT1XN3E45u24AiwEypDJXihKjQxjLprEwcmRKclaDNZCVqr/V8mYWyFADbusiY5hvgFoU2vio49RgJLn5OsReRFN6tabeetiiy0V7KFHT3HyZLx491u95sn4K1QQSPKM9hNT0wMVvAWbzDSVdrKw4zRjZMyJIHkfq1VAVCDl/bUhNKlGq0zGr05+YAceXVPCttVk0oqjVwMPt+BBefx4yPtGVkUsqY3CHDPiCM5ngupUwCdbkpd8kbPrCWHhkmtIKLEetF2499eS1jZlIPGYnlcPXeM2KD9vLS0bW3ktYNqUllpKLn5ZrsxlIzxvDu5eHxzGLctkZLEY4PgSOg2IUVVcUONzUDBEpRaMoXNmUc0tFZrTZquiLyKxrSm3DvIW9Fil+AkhXu5PhEPx9mUNwqypDvZWdKlhIJQY7vn2OsnmBeOWnYZ0m1iwbbw1U60by5om47iHRV6fOgzjMf/DAZrlP40Z7syxpLK0lJ0gqaAK1c2KQKu7tabTXkLFz0sCftuwX++MyNeNn68k5Buq23YQhUh0SNTJa1ioQ0p4nUG2y0XilF1JqODqdImloPS4Bp111DEWT0jJjVv95uX9BBV7eB3bUWcu0acSVM23YZdd8R8UbQUxJ9wdu3oMuhdt929ME+mh6JXJ8di2RxbTi6TbrDquqV4aUKR2iwT6aZbyOwEXN3DUsWr8Hn4EhwNyHuXHh7/pdaUjtR7vnDh/d8c9xD/s5f501eQ1+CuDiCvGhk1AN/4Tf74RfxPwD3toLarR0zNtsnPzmS64KIRk861dMWCU8ArasG9T9H0ZBpsDGnjtAOM2+/LuIb2iIUGXNgl5ZmKD/Tw8TlaAuihaFP5yrw18v4x1898zIdP+DDAX1bM3GAMvPgRP/cJn3zCW013nrhHkrITyvYuwOUkcHuKlRSW5C6rzIdY4ppnF7J8aAJbQepgbJYBjCY9usGXDKQxq7RZfh9eg5d1UHMVATRaD/4BHK93/1iAgYZ/+jqPn8Dn4UExmWrpa3+ZOK6MvM3bjwfzxNWA2dhs8+51XHSPJiaAhGSpWevEs5xHLXcEGFXYiCONySH3fPWq93JIsBiSWvWyc3CAN+EcXoT7rCSANloPPoa31rt/5PUA/gp8Q/jDD3hyrjzlR8VkanfOvB1XPubt17vzxAfdSVbD1pzAnfgyF3ycadOTOTXhpEUoLC1HZyNGW3dtmjeXgr2r56JNmRwdNNWaQVBddd6rh4MhviEB9EFRD/7RGvePvCbwAL4Mx/D6M541hHO4D3e7g6PafdcZVw689z7NGTwo5om7A8sPhccT6qKcl9NJl9aM/9kX+e59Hh1yPqGuCCZxuITcsmNaJ5F7d0q6J3H48TO1/+M57085q2icdu2U+W36Ldllz9Agiv4YGljoEN908EzvDOrBF98/vtJwCC/BF2AG75xxEmjmMIcjxbjoaxqOK3/4hPOZzhMPBpYPG44CM0dTVm1LjLtUWWVz1Bcf8tEx0zs8O2A2YVHRxKYOiy/aOVoAaMu0i7ubu43njjmd4ibMHU1sIDHaQNKrZND/FZYdk54oCXetjq7E7IVl9eAL7t+oHnwXXtLx44czzoRFHBztYVwtH1d+NOMkupZ5MTM+gUmq90X+Bh9zjRlmaQ+m7YMqUL/veemcecAtOJ0yq1JnVlN27di2E0+Klp1tAJ4KRw1eMI7aJjsO3R8kPSI3fUFXnIOfdQe86sIIVtWDL7h//Ok6vj8vwDk08NEcI8zz7OhBy+WwalzZeZ4+0XniRfst9pAJqQHDGLzVQ2pheZnnv1OWhwO43/AgcvAEXEVVpa4db9sGvNK8wjaENHkfFQ4Ci5i7dqnQlPoLQrHXZDvO3BIXZbJOBrOaEbML6sFL798I4FhKihjHMsPjBUZYCMFr6nvaArxqXPn4lCa+cHfSa2cP27g3Z3ziYTRrcbQNGLQmGF3F3cBdzzzX7AILx0IB9rbwn9kx2G1FW3Inic+ZLIsVvKR8Zwfj0l1fkqo8LWY1M3IX14OX3r9RKTIO+d9XzAI8qRPGPn/4NC2n6o4rN8XJ82TOIvuVA8zLKUHRFgBCetlDZlqR1gLKjS39xoE7Bt8UvA6BxuEDjU3tFsEijgA+615tmZkXKqiEENrh41iLDDZNq4pKTWR3LZfnos81LOuNa15cD956vLMsJd1rqYp51gDUQqMYm2XsxnUhD2jg1DM7SeuJxxgrmpfISSXVIJIS5qJJSvJPEQ49DQTVIbYWJ9QWa/E2+c/oPK1drmC7WSfJRNKBO5Yjvcp7Gc3dmmI/Xh1kDTEuiSnWqQf37h+fTMhGnDf6dsS8SQfQWlqqwXXGlc/PEZ/SC5mtzIV0nAshlQdM/LvUtYutrEZ/Y+EAFtq1k28zQhOwLr1AIeANzhF8t9qzTdZf2qRKO6MWE9ohBYwibbOmrFtNmg3mcS+tB28xv2uKd/agYCvOP+GkSc+0lr7RXzyufL7QbkUpjLjEWFLqOIkAGu2B0tNlO9Eau2W1qcOUvVRgKzypKIQZ5KI3q0MLzqTNRYqiZOqmtqloIRlmkBHVpHmRYV6/HixbO6UC47KOFJnoMrVyr7wYz+SlW6GUaghYbY1I6kkxA2W1fSJokUdSh2LQ1GAimRGm0MT+uu57H5l7QgOWxERpO9moLRPgTtquWCfFlGlIjQaRly9odmzMOWY+IBO5tB4sW/0+VWGUh32qYk79EidWKrjWuiLpiVNGFWFRJVktyeXWmbgBBzVl8anPuXyNJlBJOlKLTgAbi/EYHVHxWiDaVR06GnHQNpJcWcK2jJtiCfG2sEHLzuI66sGrMK47nPIInPnu799935aOK2cvmvubrE38ZzZjrELCmXM2hM7UcpXD2oC3+ECVp7xtIuxptJ0jUr3sBmBS47TVxlvJ1Sqb/E0uLdvLj0lLr29ypdd/eMX3f6lrxGlKwKQxEGvw0qHbkbwrF3uHKwVENbIV2wZ13kNEF6zD+x24aLNMfDTCbDPnEikZFyTNttxWBXDaBuM8KtI2rmaMdUY7cXcUPstqTGvBGSrFWIpNMfbdea990bvAOC1YX0qbc6smDS1mPxSJoW4fwEXvjMmhlijDRq6qale6aJEuFGoppYDoBELQzLBuh/mZNx7jkinv0EtnUp50lO9hbNK57lZaMAWuWR5Yo9/kYwcYI0t4gWM47Umnl3YmpeBPqSyNp3K7s2DSAS/39KRuEN2bS4xvowV3dFRMx/VFcp2Yp8w2nTO9hCXtHG1kF1L4KlrJr2wKfyq77R7MKpFKzWlY9UkhYxyHWW6nBWPaudvEAl3CGcNpSXPZ6R9BbBtIl6cHL3gIBi+42CYXqCx1gfGWe7Ap0h3luyXdt1MKy4YUT9xSF01G16YEdWsouW9mgDHd3veyA97H+Ya47ZmEbqMY72oPztCGvK0onL44AvgC49saZKkWRz4veWljE1FHjbRJaWv6ZKKtl875h4CziFCZhG5rx7tefsl0aRT1bMHZjm8dwL/6u7wCRysaQblQoG5yAQN5zpatMNY/+yf8z+GLcH/Qn0iX2W2oEfXP4GvwQHuIL9AYGnaO3zqAX6946nkgqZNnUhx43DIdQtMFeOPrgy/y3Yd85HlJWwjLFkU3kFwq28xPnuPhMWeS+tDLV9Otllq7pQCf3uXJDN9wFDiUTgefHaiYbdfi3b3u8+iY6TnzhgehI1LTe8lcd7s1wJSzKbahCRxKKztTLXstGAiu3a6rPuQs5pk9TWAan5f0BZmGf7Ylxzzk/A7PAs4QPPPAHeFQ2hbFHszlgZuKZsJcUmbDC40sEU403cEjczstOEypa+YxevL4QBC8oRYqWdK6b7sK25tfE+oDZgtOQ2Jg8T41HGcBE6fTWHn4JtHcu9S7uYgU5KSCkl/mcnq+5/YBXOEr6lCUCwOTOM1taOI8mSxx1NsCXBEmLKbMAg5MkwbLmpBaFOPrNSlO2HnLiEqW3tHEwd8AeiQLmn+2gxjC3k6AxREqvKcJbTEzlpLiw4rNZK6oJdidbMMGX9FULKr0AkW+2qDEPBNNm5QAt2Ik2nftNWHetubosHLo2nG4vQA7GkcVCgVCgaDixHqo9UUn1A6OshapaNR/LPRYFV8siT1cCtJE0k/3WtaNSuUZYKPnsVIW0xXWnMUxq5+En4Kvw/MqQmVXnAXj9Z+9zM98zM/Agy7F/qqj2Nh67b8HjFnPP3iBn/tkpdzwEJX/whIcQUXOaikeliCRGUk7tiwF0rItwMEhjkZ309hikFoRAmLTpEXWuHS6y+am/KB/fM50aLEhGnSMwkpxzOov4H0AvgovwJ1iGzDLtJn/9BU+fAINfwUe6FHSLhu83viV/+/HrOePX+STT2B9uWGbrMHHLldRBlhS/CJQmcRxJFqZica01XixAZsYiH1uolZxLrR/SgxVIJjkpQP4PE9sE59LKLr7kltSBogS5tyszzH8Fvw8/AS8rNOg0xUS9fIaHwb+6et8Q/gyvKRjf5OusOzGx8evA/BP4IP11uN/grca5O0lcsPLJ5YjwI4QkJBOHa0WdMZYGxPbh2W2nR9v3WxEWqgp/G3+6VZbRLSAAZ3BhdhAaUL33VUSw9yjEsvbaQ9u4A/gGXwZXoEHOuU1GSj2chf+Mo+f8IcfcAxfIKVmyunRbYQVnoevwgfw3TXXcw++xNuP4fhyueEUNttEduRVaDttddoP0eSxLe2LENk6itYxlrxBNBYrNNKSQmeaLcm9c8UsaB5WyO6675yyQIAWSDpBVoA/gxmcwEvwoDv0m58UE7gHn+fJOa8/Ywan8EKRfjsopF83eCglX/Sfr7OeaRoQfvt1CGvIDccH5BCvw1sWIzRGC/66t0VTcLZQZtm6PlAasbOJ9iwWtUo7biktTSIPxnR24jxP1ZKaqq+2RcXM9OrBAm/AAs7hDJ5bNmGb+KIfwCs8a3jnjBrOFeMjHSCdbKr+2uOLfnOd9eiA8Hvvwwq54VbP2OqwkB48Ytc4YEOiH2vTXqodabfWEOzso4qxdbqD5L6tbtNPECqbhnA708DZH4QOJUXqScmUlks7Ot6FBuZw3n2mEbaUX7kDzxHOOQk8nKWMzAzu6ZZ8sOFw4RK+6PcuXo9tB4SbMz58ApfKDXf3szjNIIbGpD5TKTRxGkEMLjLl+K3wlWXBsCUxIDU+jbOiysESqAy1MGUJpXgwbTWzNOVEziIXZrJ+VIztl1PUBxTSo0dwn2bOmfDRPD3TRTGlfbCJvO9KvuhL1hMHhB9wPuPRLGHcdOWG2xc0U+5bQtAJT0nRTewXL1pgk2+rZAdeWmz3jxAqfNQQdzTlbF8uJ5ecEIWvTkevAHpwz7w78QujlD/Lr491bD8/1vhM2yrUQRrWXNQY4fGilfctMWYjL72UL/qS9eiA8EmN88nbNdour+PBbbAjOjIa4iBhfFg6rxeKdEGcL6p3EWR1Qq2Qkhs2DrnkRnmN9tG2EAqmgPw6hoL7Oza7B+3SCrR9tRftko+Lsf2F/mkTndN2LmzuMcKTuj/mX2+4Va3ki16+nnJY+S7MefpkidxwnV+4wkXH8TKnX0tsYzYp29DOOoSW1nf7nTh2akYiWmcJOuTidSaqESrTYpwjJJNVGQr+rLI7WsqerHW6Kp/oM2pKuV7T1QY9gjqlZp41/WfKpl56FV/0kvXQFRyeQ83xaTu5E8p5dNP3dUF34ihyI3GSpeCsywSh22ZJdWto9winhqifb7VRvgktxp13vyjrS0EjvrRfZ62uyqddSWaWYlwTPAtJZ2oZ3j/Sgi/mi+6vpzesfAcWNA0n8xVyw90GVFGuZjTXEQy+6GfLGLMLL523f5E0OmxVjDoOuRiH91RKU+vtoCtH7TgmvBLvtFXWLW15H9GTdVw8ow4IlRLeHECN9ym1e9K0I+Cbnhgv4Yu+aD2HaQJ80XDqOzSGAV4+4yCqBxrsJAX6ZTIoX36QnvzhhzzMfFW2dZVLOJfo0zbce5OvwXMFaZ81mOnlTVXpDZsQNuoYWveketKb5+6JOOsgX+NTm7H49fUTlx+WLuWL7qxnOFh4BxpmJx0p2gDzA/BUARuS6phR+pUsY7MMboAHx5xNsSVfVZcYSwqCKrqon7zM+8ecCkeS4nm3rINuaWvVNnMRI1IRpxTqx8PZUZ0Br/UEduo3B3hNvmgZfs9gQPj8vIOxd2kndir3awvJ6BLvoUuOfFWNYB0LR1OQJoUySKb9IlOBx74q1+ADC2G6rOdmFdJcD8BkfualA+BdjOOzP9uUhGUEX/TwhZsUduwRr8wNuXKurCixLBgpQI0mDbJr9dIqUuV+92ngkJZ7xduCk2yZKbfWrH1VBiTg9VdzsgRjW3CVXCvAwDd+c1z9dWw9+B+8MJL/eY15ZQ/HqvTwVdsZn5WQsgRRnMaWaecu3jFvMBEmgg+FJFZsnSl0zjB9OqPYaBD7qmoVyImFvzi41usesV0julaAR9dfR15Xzv9sEruRDyk1nb+QaLU67T885GTls6YgcY+UiMa25M/pwGrbCfzkvR3e0jjtuaFtnwuagHTSb5y7boBH119HXhvwP487jJLsLJ4XnUkHX5sLbS61dpiAXRoZSCrFJ+EjpeU3puVfitngYNo6PJrAigKktmwjyQdZpfq30mmtulaAx9Zfx15Xzv+cyeuiBFUs9zq8Kq+XB9a4PVvph3GV4E3y8HENJrN55H1X2p8VyqSKwVusJDKzXOZzplWdzBUFK9e+B4+uv468xvI/b5xtSAkBHQaPvtqWzllVvEOxPbuiE6+j2pvjcKsbvI7txnRErgfH7LdXqjq0IokKzga14GzQ23SSbCQvO6r+Or7SMIr/efOkkqSdMnj9mBx2DRsiY29Uj6+qK9ZrssCKaptR6HKURdwUYeUWA2kPzVKQO8ku2nU3Anhs/XWkBx3F/7wJtCTTTIKftthue1ty9xvNYLY/zo5KSbIuKbXpbEdSyeRyYdAIwKY2neyoc3+k1XUaufYga3T9daMUx/r8z1s10ITknIO0kuoMt+TB8jK0lpayqqjsJ2qtXAYwBU932zinimgmd6mTRDnQfr88q36NAI+tv24E8Pr8zxtasBqx0+xHH9HhlrwsxxNUfKOHQaZBITNf0uccj8GXiVmXAuPEAKSdN/4GLHhs/XWj92dN/uetNuBMnVR+XWDc25JLjo5Mg5IZIq226tmCsip2zZliL213YrTlL2hcFjpCduyim3M7/eB16q/blQsv5X/esDRbtJeabLIosWy3ycavwLhtxdWzbMmHiBTiVjJo6lCLjXZsi7p9PEPnsq6X6wd4bP11i0rD5fzPm/0A6brrIsllenZs0lCJlU4abakR59enZKrKe3BZihbTxlyZ2zl1+g0wvgmA166/bhwDrcn/7Ddz0eWZuJvfSESug6NzZsox3Z04FIxz0mUjMwVOOVTq1CQ0AhdbBGVdjG/CgsfUX7esJl3K/7ytWHRv683praW/8iDOCqWLLhpljDY1ZpzK75QiaZoOTpLKl60auHS/97oBXrv+umU9+FL+5+NtLFgjqVLCdbmj7pY5zPCPLOHNCwXGOcLquOhi8CmCWvbcuO73XmMUPab+ug3A6/A/78Bwe0bcS2+tgHn4J5pyS2WbOck0F51Vq3LcjhLvZ67p1ABbaL2H67bg78BfjKi/jr3+T/ABV3ilLmNXTI2SpvxWBtt6/Z//D0z/FXaGbSBgylzlsEGp+5//xrd4/ae4d8DUUjlslfIYS3t06HZpvfQtvv0N7AHWqtjP2pW08QD/FLy//da38vo8PNlKHf5y37Dxdfe/oj4kVIgFq3koLReSR76W/bx//n9k8jonZxzWTANVwEniDsg87sOSd/z7//PvMp3jQiptGVWFX2caezzAXwfgtzYUvbr0iozs32c3Uge7varH+CNE6cvEYmzbPZ9hMaYDdjK4V2iecf6EcEbdUDVUARda2KzO/JtCuDbNQB/iTeL0EG1JSO1jbXS+nLxtPMDPw1fh5+EPrgSEKE/8Gry5A73ui87AmxwdatyMEBCPNOCSKUeRZ2P6Myb5MRvgCHmA9ywsMifU+AYXcB6Xa5GibUC5TSyerxyh0j6QgLVpdyhfArRTTLqQjwe4HOD9s92D4Ap54odXAPBWLAwB02igG5Kkc+piN4lvODIFGAZgT+EO4Si1s7fjSR7vcQETUkRm9O+MXyo9OYhfe4xt9STQ2pcZRLayCV90b4D3jR0DYAfyxJ+eywg2IL7NTMXna7S/RpQ63JhWEM8U41ZyQGjwsVS0QBrEKLu8xwZsbi4wLcCT+OGidPIOCe1PiSc9Qt+go+vYqB7cG+B9d8cAD+WJPz0Am2gxXgU9IneOqDpAAXOsOltVuMzpdakJXrdPCzXiNVUpCeOos5cxnpQT39G+XVLhs1osQVvJKPZyNq8HDwd4d7pNDuWJPxVX7MSzqUDU6gfadKiNlUFTzLeFHHDlzO4kpa7aiKhBPGKwOqxsBAmYkOIpipyXcQSPlRTf+Tii0U3EJGaZsDER2qoB3h2hu0qe+NNwUooYU8y5mILbJe6OuX+2FTKy7bieTDAemaQyQ0CPthljSWO+xmFDIYiESjM5xKd6Ik5lvLq5GrQ3aCMLvmCA9wowLuWJb9xF59hVVP6O0CrBi3ZjZSNOvRy+I6klNVRJYRBaEzdN+imiUXQ8iVF8fsp+W4JXw7WISW7fDh7lptWkCwZ4d7QTXyBPfJMYK7SijjFppGnlIVJBJBYj7eUwtiP1IBXGI1XCsjNpbjENVpSAJ2hq2LTywEly3hUYazt31J8w2+aiLx3g3fohXixPfOMYm6zCGs9LVo9MoW3MCJE7R5u/WsOIjrqBoHUO0bJE9vxBpbhsd3+Nb4/vtPCZ4oZYCitNeYuC/8UDvDvy0qvkiW/cgqNqRyzqSZa/s0mqNGjtKOoTm14zZpUauiQgVfqtQiZjq7Q27JNaSK5ExRcrGCXO1FJYh6jR6CFqK7bZdQZ4t8g0rSlPfP1RdBtqaa9diqtzJkQ9duSryi2brQXbxDwbRUpFMBHjRj8+Nt7GDKgvph9okW7LX47gu0SpGnnFQ1S1lYldOsC7hYteR574ZuKs7Ei1lBsfdz7IZoxzzCVmmVqaSySzQbBVAWDek+N4jh9E/4VqZrJjPwiv9BC1XcvOWgO8275CVyBPvAtTVlDJfZkaZGU7NpqBogAj/xEHkeAuJihWYCxGN6e8+9JtSegFXF1TrhhLGP1fak3pebgPz192/8gB4d/6WT7+GdYnpH7hH/DJzzFiYPn/vjW0SgNpTNuPIZoAEZv8tlGw4+RLxy+ZjnKa5NdFoC7UaW0aduoYse6+bXg1DLg6UfRYwmhGEjqPvF75U558SANrElK/+MdpXvmqBpaXOa/MTZaa1DOcSiLaw9j0NNNst3c+63c7EKTpkvKHzu6bPbP0RkuHAVcbRY8ijP46MIbQeeT1mhA+5PV/inyDdQipf8LTvMXbwvoDy7IruDNVZKTfV4CTSRUYdybUCnGU7KUTDxLgCknqUm5aAW6/1p6eMsOYsphLzsHrE0Y/P5bQedx1F/4yPHnMB3/IOoTU9+BL8PhtjuFKBpZXnYNJxTuv+2XqolKR2UQgHhS5novuxVySJhBNRF3SoKK1XZbbXjVwWNyOjlqWJjrWJIy+P5bQedyldNScP+HZ61xKSK3jyrz+NiHG1hcOLL/+P+PDF2gOkekKGiNWKgJ+8Z/x8Iv4DdQHzcpZyF4v19I27w9/yPGDFQvmEpKtqv/TLiWMfn4sofMm9eAH8Ao0zzh7h4sJqYtxZd5/D7hkYPneDzl5idlzNHcIB0jVlQ+8ULzw/nc5/ojzl2juE0apD7LRnJxe04dMz2iOCFNtGFpTuXA5AhcTRo8mdN4kz30nVjEC4YTZQy4gpC7GlTlrePKhGsKKgeXpCYeO0MAd/GH7yKQUlXPLOasOH3FnSphjHuDvEu4gB8g66oNbtr6eMbFIA4fIBJkgayoXriw2XEDQPJrQeROAlY6aeYOcMf+IVYTU3XFlZufMHinGywaW3YLpObVBAsbjF4QJMsVUSayjk4voPsHJOQfPWDhCgDnmDl6XIRerD24HsGtw86RMHOLvVSHrKBdeVE26gKB5NKHzaIwLOmrqBWJYZDLhASG16c0Tn+CdRhWDgWXnqRZUTnPIHuMJTfLVpkoYy5CzylHVTGZMTwkGAo2HBlkQplrJX6U+uF1wZz2uwS1SQ12IqWaPuO4baZaEFBdukksJmkcTOm+YJSvoqPFzxFA/YUhIvWxcmSdPWTWwbAKVp6rxTtPFUZfKIwpzm4IoMfaYQLWgmlG5FME2gdBgm+J7J+rtS/XBbaVLsR7bpPQnpMFlo2doWaVceHk9+MkyguZNCJ1He+kuHTWyQAzNM5YSUg/GlTk9ZunAsg1qELVOhUSAK0LABIJHLKbqaEbHZLL1VA3VgqoiOKXYiS+HRyaEKgsfIqX64HYWbLRXy/qWoylIV9gudL1OWBNgBgTNmxA6b4txDT4gi3Ri7xFSLxtXpmmYnzAcWDZgY8d503LFogz5sbonDgkKcxGsWsE1OI+rcQtlgBBCSOKD1mtqYpIU8cTvBmAT0yZe+zUzeY92fYjTtGipXLhuR0ePoHk0ofNWBX+lo8Z7pAZDk8mEw5L7dVyZZoE/pTewbI6SNbiAL5xeygW4xPRuLCGbhcO4RIeTMFYHEJkYyEO9HmJfXMDEj/LaH781wHHZEtqSQ/69UnGpzH7LKIAZEDSPJnTesJTUa+rwTepI9dLJEawYV+ZkRn9g+QirD8vF8Mq0jFQ29js6kCS3E1+jZIhgPNanHdHFqFvPJLHqFwQqbIA4jhDxcNsOCCQLDomaL/dr5lyJaJU6FxPFjO3JOh3kVMcROo8u+C+jo05GjMF3P3/FuDLn5x2M04xXULPwaS6hBYki+MrMdZJSgPHlcB7nCR5bJ9Kr5ACUn9jk5kivdd8tk95SOGrtqu9lr2IhK65ZtEl7ZKrp7DrqwZfRUSN1el7+7NJxZbywOC8neNKTch5vsTEMNsoCCqHBCqIPRjIPkm0BjvFODGtto99rCl+d3wmHkW0FPdpZtC7MMcVtGFQjJLX5bdQ2+x9ypdc313uj8xlsrfuLgWXz1cRhZvJYX0iNVBRcVcmCXZs6aEf3RQF2WI/TcCbKmGU3IOoDJGDdDub0+hYckt6PlGu2BcxmhbTdj/klhccLGJMcqRjMJP1jW2ETqLSWJ/29MAoORluJ+6LPffBZbi5gqi5h6catQpmOT7/OFf5UorRpLzCqcMltBLhwd1are3kztrSzXO0LUbXRQcdLh/RdSZ+swRm819REDrtqzC4es6Gw4JCKlSnjYVpo0xeq33PrADbFLL3RuCmObVmPN+24kfa+AojDuM4umKe2QwCf6EN906HwjujaitDs5o0s1y+k3lgbT2W2i7FJdnwbLXhJUBq/9liTctSmFC/0OqUinb0QddTWamtjbHRFuWJJ6NpqZ8vO3fZJ37Db+2GkaPYLGHs7XTTdiFQJ68SkVJFVmY6McR5UycflNCsccHFaV9FNbR4NttLxw4pQ7wJd066Z0ohVbzihaxHVExd/ay04oxUKWt+AsdiQ9OUyZ2krzN19IZIwafSTFgIBnMV73ADj7V/K8u1MaY2sJp2HWm0f41tqwajEvdHWOJs510MaAqN4aoSiPCXtN2KSi46dUxHdaMquar82O1x5jqhDGvqmoE9LfxcY3zqA7/x3HA67r9ZG4O6Cuxu12/+TP+eLP+I+HErqDDCDVmBDO4larujNe7x8om2rMug0MX0rL1+IWwdwfR+p1TNTyNmVJ85ljWzbWuGv8/C7HD/izjkHNZNYlhZcUOKVzKFUxsxxN/kax+8zPWPSFKw80rJr9Tizyj3o1gEsdwgWGoxPezDdZ1TSENE1dLdNvuKL+I84nxKesZgxXVA1VA1OcL49dFlpFV5yJMhzyCmNQ+a4BqusPJ2bB+xo8V9u3x48VVIEPS/mc3DvAbXyoYr6VgDfh5do5hhHOCXMqBZUPhWYbWZECwVJljLgMUWOCB4MUuMaxGNUQDVI50TQ+S3kFgIcu2qKkNSHVoM0SHsgoZxP2d5HH8B9woOk4x5bPkKtAHucZsdykjxuIpbUrSILgrT8G7G5oCW+K0990o7E3T6AdW4TilH5kDjds+H64kS0mz24grtwlzDHBJqI8YJQExotPvoC4JBq0lEjjQkyBZ8oH2LnRsQ4Hu1QsgDTJbO8fQDnllitkxuVskoiKbRF9VwzMDvxHAdwB7mD9yCplhHFEyUWHx3WtwCbSMMTCUCcEmSGlg4gTXkHpZXWQ7kpznK3EmCHiXInqndkQjunG5kxTKEeGye7jWz9cyMR2mGiFQ15ENRBTbCp+Gh86vAyASdgmJq2MC6hoADQ3GosP0QHbnMHjyBQvQqfhy/BUbeHd5WY/G/9LK/8Ka8Jd7UFeNWEZvzPb458Dn8DGLOe3/wGL/4xP+HXlRt+M1PE2iLhR8t+lfgxsuh7AfO2AOf+owWhSZRYQbd622hbpKWKuU+XuvNzP0OseRDa+mObgDHJUSc/pKx31QdKffQ5OIJpt8GWjlgTwMc/w5MPCR/yl1XC2a2Yut54SvOtMev55Of45BOat9aWG27p2ZVORRvnEk1hqWMVUmqa7S2YtvlIpspuF1pt0syuZS2NV14mUidCSfzQzg+KqvIYCMljIx2YK2AO34fX4GWdu5xcIAb8MzTw+j/lyWM+Dw/gjs4GD6ehNgA48kX/AI7XXM/XAN4WHr+9ntywqoCakCqmKP0rmQrJJEErG2Upg1JObr01lKQy4jskWalKYfJ/EDLMpjNSHFEUAde2fltaDgmrNaWQ9+AAb8I5vKjz3L1n1LriB/BXkG/wwR9y/oRX4LlioHA4LzP2inzRx/DWmutRweFjeP3tNeSGlaE1Fde0OS11yOpmbIp2u/jF1n2RRZviJM0yBT3IZl2HWImKjQOxIyeU325b/qWyU9Moj1o07tS0G7qJDoGHg5m8yeCxMoEH8GU45tnrNM84D2l297DQ9t1YP7jki/7RmutRweEA77/HWXOh3HCxkRgldDQkAjNTMl2Iloc1qN5JfJeeTlyTRzxURTdn1Ixv2uKjs12AbdEWlBtmVdk2k7FFwj07PCZ9XAwW3dG+8xKzNFr4EnwBZpy9Qzhh3jDXebBpYcpuo4fQ44u+fD1dweEnHzI7v0xuuOALRUV8rXpFyfSTQYkhd7IHm07jpyhlkCmI0ALYqPTpUxXS+z4jgDj1Pflvmz5ecuItpIBxyTHpSTGWd9g1ApfD/bvwUhL4nT1EzqgX7cxfCcNmb3mPL/qi9SwTHJ49oj5ZLjccbTG3pRmlYi6JCG0mQrAt1+i2UXTZ2dv9IlQpN5naMYtviaXlTrFpoMsl3bOAFEa8sqPj2WCMrx3Yjx99qFwO59Aw/wgx+HlqNz8oZvA3exRDvuhL1jMQHPaOJ0+XyA3fp1OfM3qObEVdhxjvynxNMXQV4+GJyvOEFqeQBaIbbO7i63rpxCltdZShPFxkjM2FPVkn3TG+Rp9pO3l2RzFegGfxGDHIAh8SteR0C4HopXzRF61nheDw6TFN05Ebvq8M3VKKpGjjO6r7nhudTEGMtYM92HTDaR1FDMXJ1eThsbKfywyoWwrzRSXkc51flG3vIid62h29bIcFbTGhfV+faaB+ohj7dPN0C2e2lC96+XouFByen9AsunLDJZ9z7NExiUc0OuoYW6UZkIyx2YUR2z6/TiRjyKMx5GbbjLHvHuf7YmtKghf34LJfx63Yg8vrvN2zC7lY0x0tvKezo4HmGYDU+Gab6dFL+KI761lDcNifcjLrrr9LWZJctG1FfU1uwhoQE22ObjdfkSzY63CbU5hzs21WeTddH2BaL11Gi7lVdlxP1nkxqhnKhVY6knS3EPgVGg1JpN5cP/hivujOelhXcPj8HC/LyI6MkteVjlolBdMmF3a3DbsuAYhL44dxzthWSN065xxUd55Lmf0wRbOYOqH09/o9WbO2VtFdaMb4qBgtFJoT1SqoN8wPXMoXLb3p1PUEhxfnnLzGzBI0Ku7FxrKsNJj/8bn/H8fPIVOd3rfrklUB/DOeO+nkghgSPzrlPxluCMtOnDL4Yml6dK1r3vsgMxgtPOrMFUZbEUbTdIzii5beq72G4PD0DKnwjmBULUVFmy8t+k7fZ3pKc0Q4UC6jpVRqS9Umv8bxw35flZVOU1X7qkjnhZlsMbk24qQ6Hz7QcuL6sDC0iHHki96Uh2UdvmgZnjIvExy2TeJdMDZNSbdZyAHe/Yd1xsQhHiKzjh7GxQ4yqMPaywPkjMamvqrYpmO7Knad+ZQC5msCuAPWUoxrxVhrGv7a+KLXFhyONdTMrZ7ke23qiO40ZJUyzgYyX5XyL0mV7NiUzEs9mjtbMN0dERqwyAJpigad0B3/zRV7s4PIfXSu6YV/MK7+OrYe/JvfGMn/PHJe2fyUdtnFrKRNpXV0Y2559aWPt/G4BlvjTMtXlVIWCnNyA3YQBDmYIodFz41PvXPSa6rq9lWZawZ4dP115HXV/M/tnFkkrBOdzg6aP4pID+MZnTJ1SuuB6iZlyiox4HT2y3YBtkUKWooacBQUDTpjwaDt5poBHl1/HXltwP887lKKXxNUEyPqpGTyA699UqY/lt9yGdlUKra0fFWS+36iylVWrAyd7Uw0CZM0z7xKTOduznLIjG2Hx8cDPLb+OvK6Bv7n1DYci4CxUuRxrjBc0bb4vD3rN5Zz36ntLb83eVJIB8LiIzCmn6SMPjlX+yNlTjvIGjs+QzHPf60Aj62/jrzG8j9vYMFtm1VoRWCJdmw7z9N0t+c8cxZpPeK4aTRicS25QhrVtUp7U578chk4q04Wx4YoQSjFryUlpcQ1AbxZ/XVMknIU//OGl7Q6z9Zpxi0+3yFhSkjUDpnCIUhLWVX23KQ+L9vKvFKI0ZWFQgkDLvBoylrHNVmaw10zwCPrr5tlodfnf94EWnQ0lFRWy8pW9LbkLsyUVDc2NSTHGDtnD1uMtchjbCeb1mpxFP0YbcClhzdLu6lfO8Bj6q+bdT2sz/+8SZCV7VIxtt0DUn9L7r4cLYWDSXnseEpOGFuty0qbOVlS7NNzs5FOGJUqQpl2Q64/yBpZf90sxbE+//PGdZ02HSipCbmD6NItmQ4Lk5XUrGpDMkhbMm2ZVheNYV+VbUWTcv99+2NyX1VoafSuC+AN6q9bFIMv5X/eagNWXZxEa9JjlMwNWb00akGUkSoepp1/yRuuqHGbUn3UdBSTxBU6SEVklzWRUkPndVvw2PrrpjvxOvzPmwHc0hpmq82npi7GRro8dXp0KXnUQmhZbRL7NEVp1uuZmO45vuzKsHrktS3GLWXODVjw+vXXLYx4Hf7njRPd0i3aoAGX6W29GnaV5YdyDj9TFkakje7GHYzDoObfddHtOSpoi2SmzJHrB3hM/XUDDEbxP2/oosszcRlehWXUvzHv4TpBVktHqwenFo8uLVmy4DKLa5d3RtLrmrM3aMFr1183E4sewf+85VWeg1c5ag276NZrM9IJVNcmLEvDNaV62aq+14IAOGFsBt973Ra8Xv11YzXwNfmft7Jg2oS+XOyoC8/cwzi66Dhmgk38kUmP1CUiYWOX1bpD2zWXt2FCp7uq8703APAa9dfNdscR/M/bZLIyouVxqJfeWvG9Je+JVckHQ9+CI9NWxz+blX/KYYvO5n2tAP/vrlZ7+8/h9y+9qeB/Hnt967e5mevX10rALDWK//FaAT5MXdBXdP0C/BAes792c40H+AiAp1e1oH8HgH94g/Lttx1gp63op1eyoM/Bvw5/G/7xFbqJPcCXnmBiwDPb/YKO4FX4OjyCb289db2/Noqicw4i7N6TVtoz8tNwDH+8x/i6Ae7lmaQVENzJFb3Di/BFeAwz+Is9SjeQySpPqbLFlNmyz47z5a/AF+AYFvDmHqibSXTEzoT4Gc3OALaqAP4KPFUJ6n+1x+rGAM6Zd78bgJ0a8QN4GU614vxwD9e1Amy6CcskNrczLx1JIp6HE5UZD/DBHrFr2oNlgG4Odv226BodoryjGJ9q2T/AR3vQrsOCS0ctXZi3ruLlhpFDJYl4HmYtjQCP9rhdn4suySLKDt6wLcC52h8xPlcjju1fn+yhuw4LZsAGUuo2b4Fx2UwQu77uqRHXGtg92aN3tQCbFexc0uk93vhTXbct6y7MulLycoUljx8ngDMBg1tvJjAazpEmOtxlzclvj1vQf1Tx7QlPDpGpqgtdSKz/d9/hdy1vTfFHSmC9dGDZbLiezz7Ac801HirGZsWjydfZyPvHXL/Y8Mjzg8BxTZiuwKz4Eb8sBE9zznszmjvFwHKPIWUnwhqfVRcd4Ck0K6ate48m1oOfrX3/yOtvAsJ8zsPAM89sjnddmuLuDPjX9Bu/L7x7xpMzFk6nWtyQfPg278Gn4Aekz2ZgOmU9eJ37R14vwE/BL8G3aibCiWMWWDQ0ZtkPMnlcGeAu/Ag+8ZyecU5BPuy2ILD+sQqyZhAKmn7XZd+jIMTN9eBL7x95xVLSX4On8EcNlXDqmBlqS13jG4LpmGbkF/0CnOi3H8ETOIXzmnmtb0a16Tzxj1sUvQCBiXZGDtmB3KAefPH94xcUa/6vwRn80GOFyjEXFpba4A1e8KQfFF+259tx5XS4egYn8fQsLGrqGrHbztr+uByTahWuL1NUGbDpsnrwBfePPwHHIf9X4RnM4Z2ABWdxUBlqQ2PwhuDxoS0vvqB1JzS0P4h2nA/QgTrsJFn+Y3AOjs9JFC07CGWX1oNX3T/yHOzgDjwPn1PM3g9Jk9lZrMEpxnlPmBbjyo2+KFXRU52TJM/2ALcY57RUzjObbjqxVw++4P6RAOf58pcVsw9Daje3htriYrpDOonre3CudSe6bfkTEgHBHuDiyu5MCsc7BHhYDx7ePxLjqigXZsw+ijMHFhuwBmtoTPtOxOrTvYJDnC75dnUbhfwu/ZW9AgYd+peL68HD+0emKquiXHhWjJg/UrkJYzuiaL3E9aI/ytrCvAd4GcYZMCkSQxfUg3v3j8c4e90j5ZTPdvmJJGHnOCI2nHS8081X013pHuBlV1gB2MX1YNmWLHqqGN/TWmG0y6clJWthxNUl48q38Bi8vtMKyzzpFdSDhxZ5WBA5ZLt8Jv3895DduBlgbPYAj8C4B8hO68FDkoh5lydC4FiWvBOVqjYdqjiLv92t8yPDjrDaiHdUD15qkSURSGmXJwOMSxWAXYwr3zaAufJ66l+94vv3AO+vPcD7aw/w/toDvL/2AO+vPcD7aw/wHuD9tQd4f+0B3l97gPfXHuD9tQd4f+0B3l97gG8LwP8G/AL8O/A5OCq0Ys2KIdv/qOIXG/4mvFAMF16gZD+2Xvu/B8as5+8bfllWyg0zaNO5bfXj6vfhhwD86/Aq3NfRS9t9WPnhfnvCIw/CT8GLcFTMnpntdF/z9V+PWc/vWoIH+FL3Znv57PitcdGP4R/C34avw5fgRVUInCwbsn1yyA8C8zm/BH8NXoXnVE6wVPjdeCI38kX/3+Ct9dbz1pTmHFRu+Hm4O9Ch3clr99negxfwj+ER/DR8EV6B5+DuQOnTgUw5rnkY+FbNU3gNXh0o/JYTuWOvyBf9FvzX663HH/HejO8LwAl8Hl5YLTd8q7sqA3wbjuExfAFegQdwfyDoSkWY8swzEf6o4Qyewefg+cHNbqMQruSL/u/WWc+E5g7vnnEXgDmcDeSGb/F4cBcCgT+GGRzDU3hZYburAt9TEtHgbM6JoxJ+6NMzzTcf6c2bycv2+KK/f+l6LBzw5IwfqZJhA3M472pWT/ajKxnjv4AFnMEpnBTPND6s2J7qHbPAqcMK74T2mZ4VGB9uJA465It+/eL1WKhYOD7xHOkr1ajK7d0C4+ke4Hy9qXZwpgLr+Znm/uNFw8xQOSy8H9IzjUrd9+BIfenYaylf9FsXr8fBAadnPIEDna8IBcwlxnuA0/Wv6GAWPd7dDIKjMdSWueAsBj4M7TOd06qBbwDwKr7oleuxMOEcTuEZTHWvDYUO7aHqAe0Bbq+HEFRzOz7WVoTDQkVds7A4sIIxfCQdCefFRoIOF/NFL1mPab/nvOakSL/Q1aFtNpUb/nFOVX6gzyg/1nISyDfUhsokIzaBR9Kxm80s5mK+6P56il1jXic7nhQxsxSm3OwBHl4fFdLqi64nDQZvqE2at7cWAp/IVvrN6/BFL1mPhYrGMBfOi4PyjuSGf6wBBh7p/FZTghCNWGgMzlBbrNJoPJX2mW5mwZfyRffXo7OFi5pZcS4qZUrlViptrXtw+GQoyhDPS+ANjcGBNRiLCQDPZPMHuiZfdFpPSTcQwwKYdRNqpkjm7AFeeT0pJzALgo7g8YYGrMHS0iocy+YTm2vyRUvvpXCIpQ5pe666TJrcygnScUf/p0NDs/iAI/nqDHC8TmQT8x3NF91l76oDdQGwu61Z6E0ABv7uO1dbf/37Zlv+Zw/Pbh8f1s4Avur6657/+YYBvur6657/+YYBvur6657/+YYBvur6657/+aYBvuL6657/+VMA8FXWX/f8zzcN8BXXX/f8zzcNMFdbf93zP38KLPiK6697/uebtuArrr/u+Z9vGmCusP6653/+1FjwVdZf9/zPN7oHX339dc//fNMu+irrr3v+50+Bi+Zq6697/uebA/jz8Pudf9ht/fWv517J/XUzAP8C/BAeX9WCDrUpZ3/dEMBxgPcfbtTVvsYV5Yn32u03B3Ac4P3b8I+vxNBKeeL9dRMAlwO83959qGO78sT769oB7g3w/vGVYFzKE++v6wV4OMD7F7tckFkmT7y/rhHgpQO8b+4Y46XyxPvrugBeNcB7BRiX8sT767oAvmCA9woAHsoT76+rBJjLBnh3txOvkifeX1dswZcO8G6N7sXyxPvr6i340gHe3TnqVfLE++uKAb50gHcXLnrX8sR7gNdPRqwzwLu7Y/FO5Yn3AK9jXCMGeHdgxDuVJ75VAI8ljP7PAb3/RfjcZfePHBB+79dpfpH1CanN30d+mT1h9GqAxxJGM5LQeeQ1+Tb+EQJrElLb38VHQ94TRq900aMIo8cSOo+8Dp8QfsB8zpqE1NO3OI9Zrj1h9EV78PqE0WMJnUdeU6E+Jjyk/hbrEFIfeWbvId8H9oTRFwdZaxJGvziW0Hn0gqYB/wyZ0PwRlxJST+BOw9m77Amj14ii1yGM/txYQudN0qDzGe4EqfA/5GJCagsHcPaEPWH0esekSwmjRxM6b5JEcZ4ww50ilvAOFxBSx4yLW+A/YU8YvfY5+ALC6NGEzhtmyZoFZoarwBLeZxUhtY4rc3bKnjB6TKJjFUHzJoTOozF2YBpsjcyxDgzhQ1YRUse8+J4wenwmaylB82hC5w0zoRXUNXaRBmSMQUqiWSWkLsaVqc/ZE0aPTFUuJWgeTei8SfLZQeMxNaZSIzbII4aE1Nmr13P2hNHjc9E9guYNCZ032YlNwESMLcZiLQHkE4aE1BFg0yAR4z1h9AiAGRA0jyZ03tyIxWMajMPWBIsxYJCnlITU5ShiHYdZ94TR4wCmSxg9jtB5KyPGYzymAYexWEMwAPIsAdYdV6aObmNPGD0aYLoEzaMJnTc0Ygs+YDw0GAtqxBjkuP38bMRWCHn73xNGjz75P73WenCEJnhwyVe3AEe8TtKdJcYhBl97wuhNAObK66lvD/9J9NS75v17wuitAN5fe4D31x7g/bUHeH/tAd5fe4D3AO+vPcD7aw/w/toDvL/2AO+vPcD7aw/w/toDvAd4f/24ABzZ8o+KLsSLS+Pv/TqTb3P4hKlQrTGh+fbIBT0Axqznnb+L/V2mb3HkN5Mb/nEHeK7d4IcDld6lmDW/iH9E+AH1MdOw/Jlu2T1xNmY98sv4wHnD7D3uNHu54WUuOsBTbQuvBsPT/UfzNxGYzwkP8c+Yz3C+r/i6DcyRL/rZ+utRwWH5PmfvcvYEt9jLDS/bg0/B64DWKrQM8AL8FPwS9beQCe6EMKNZYJol37jBMy35otdaz0Bw2H/C2Smc7+WGB0HWDELBmOByA3r5QONo4V+DpzR/hFS4U8wMW1PXNB4TOqYz9urxRV++ntWCw/U59Ty9ebdWbrgfRS9AYKKN63ZokZVygr8GZ/gfIhZXIXPsAlNjPOLBby5c1eOLvmQ9lwkOy5x6QV1j5TYqpS05JtUgUHUp5toHGsVfn4NX4RnMCe+AxTpwmApTYxqMxwfCeJGjpXzRF61nbcHhUBPqWze9svwcHJ+S6NPscKrEjug78Dx8Lj3T8D4YxGIdxmJcwhi34fzZUr7olevZCw5vkOhoClq5zBPZAnygD/Tl9EzDh6kl3VhsHYcDEb+hCtJSvuiV69kLDm+WycrOTArHmB5/VYyP6jOVjwgGawk2zQOaTcc1L+aLXrKeveDwZqlKrw8U9Y1p66uK8dEzdYwBeUQAY7DbyYNezBfdWQ97weEtAKYQg2xJIkuveAT3dYeLGH+ShrWNwZgN0b2YL7qznr3g8JYAo5bQBziPjx7BPZ0d9RCQp4UZbnFdzBddor4XHN4KYMrB2qHFRIzzcLAHQZ5the5ovui94PCWAPefaYnxIdzRwdHCbuR4B+tbiy96Lzi8E4D7z7S0mEPd+eqO3cT53Z0Y8SV80XvB4Z0ADJi/f7X113f+7p7/+UYBvur6657/+YYBvur6657/+aYBvuL6657/+aYBvuL6657/+aYBvuL6657/+aYBvuL6657/+VMA8FXWX/f8z58OgK+y/rrnf75RgLna+uue//lTA/CV1V/3/M837aKvvv6653++UQvmauuve/7nTwfAV1N/3fM/fzr24Cuuv+75nz8FFnxl9dc9//MOr/8/glixwRuUfM4AAAAASUVORK5CYII=";
16
+ export declare const SMAA_SEARCHTEX_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII=";
17
+ //# sourceMappingURL=textures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/smaa/textures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,gBAAgB,2w2CAA2w2C,CAAC;AAEzy2C,eAAO,MAAM,kBAAkB,mLAAmL,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * PRD-03 §8.14 — the SMAA lookup textures, a LAZY CHUNK: imported only via
3
+ * `import()` from post/v2Stages when the resolved AA mode is "smaa",
4
+ * so these ~45 KB of PNG data stay out of the root bundle (§9 bundle gate).
5
+ *
6
+ * The binaries are verbatim ports of three r185
7
+ * `examples/jsm/postprocessing/SMAAPass.js` (MIT License — Copyright ©
8
+ * 2010-2024 three.js authors; the SMAA algorithm itself is MIT by Jorge
9
+ * Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez).
10
+ * - SMAA_AREATEX_PNG: 160×560 RGB8 area table (bilinear-filtered).
11
+ * - SMAA_SEARCHTEX_PNG: 66×33 grayscale search table (nearest-filtered;
12
+ * the SMAASearchLength bias/scale math addresses a 64×32 logical table
13
+ * inside this padded surface — matches three r185 exactly).
14
+ */
15
+ export const SMAA_AREATEX_PNG = "data:image/png;base64,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";
16
+ export const SMAA_SEARCHTEX_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII=";
17
+ //# sourceMappingURL=textures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textures.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/smaa/textures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,ww2CAAww2C,CAAC;AAEzy2C,MAAM,CAAC,MAAM,kBAAkB,GAAG,gLAAgL,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * PRD-03 Phase 2 — deferred v2 post-graph module barrel.
3
+ *
4
+ * Everything the v2 GPU chain needs that flag-off renderers must never pay
5
+ * for: the §6.1 shader sources, the render-target pool, the `.cube` LUT
6
+ * parser, and the additive bloom normalization. The ONLY import of this
7
+ * module is `import("../post/v2Entry.js")` inside `PostprocessExecution`'s
8
+ * v2 branch — the esbuild split point the post-bundle-split test asserts.
9
+ * Never import it statically from a barrel or a device file.
10
+ */
11
+ export { BLOOM_PREFILTER_GLSL, BLOOM_DOWNSAMPLE_GLSL, BLOOM_UPSAMPLE_GLSL } from "./shaders/bloom.glsl.js";
12
+ export { COMPOSITE_GLSL, CA_PASS_GLSL } from "./shaders/composite.glsl.js";
13
+ export { DISPLAY_GRADE_GLSL, LUT_BAKE_GLSL } from "./shaders/displayGrade.glsl.js";
14
+ export { FINALIZE_GLSL, FINALIZE_FXAA_FUSED_GLSL } from "./shaders/finalize.glsl.js";
15
+ export { FXAA_185_FNS_GLSL } from "./shaders/fxaa.glsl.js";
16
+ export { PostResources, type PostTargetKey } from "./PostResources.js";
17
+ export { DEPTH_LINEARIZE_GLSL, DEPTH_MINMAX_HALF_GLSL, CAMERA_VELOCITY_GLSL } from "./shaders/depthDownsample.glsl.js";
18
+ export { GTAO_GLSL } from "./shaders/gtao.glsl.js";
19
+ export { GTAO_DENOISE_GLSL, GTAO_APPLY_GLSL } from "./shaders/gtaoDenoise.glsl.js";
20
+ export { GODRAYS_GLSL } from "./shaders/godrays.glsl.js";
21
+ export { runV2HdrStages, runV2LdrTail, v2NeedsLdrTail, releaseV2Target, acquireV2Target } from "./v2Stages.js";
22
+ export { DisplayLutCache, displayGradeKey, type DisplayGradeParams } from "./DisplayLutCache.js";
23
+ export { parseCubeLut } from "./CubeLut.js";
24
+ export { bloomNormalization } from "../postprocess/NativeBloomPyramid.js";
25
+ //# sourceMappingURL=v2Entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2Entry.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/v2Entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC"}