@aura3d/engine 4.0.0 → 4.0.3

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 (272) hide show
  1. package/README.md +286 -382
  2. package/dist/animation/AnimationController.d.ts +8 -0
  3. package/dist/animation/AnimationController.d.ts.map +1 -1
  4. package/dist/animation/AnimationController.js.map +1 -1
  5. package/dist/aura3d-cli/asset-core-types.d.ts +1 -0
  6. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  7. package/dist/aura3d-cli/asset-inspection-types.d.ts +1 -0
  8. package/dist/aura3d-cli/asset-inspection-types.d.ts.map +1 -1
  9. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  10. package/dist/aura3d-cli/asset-manifest.js +4 -1
  11. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  12. package/dist/aura3d-cli/index.d.ts.map +1 -1
  13. package/dist/aura3d-cli/index.js +27 -3
  14. package/dist/aura3d-cli/index.js.map +1 -1
  15. package/dist/aura3d-cli/meshy/admission.d.ts.map +1 -1
  16. package/dist/aura3d-cli/meshy/admission.js +32 -7
  17. package/dist/aura3d-cli/meshy/admission.js.map +1 -1
  18. package/dist/aura3d-cli/meshy/import.d.ts.map +1 -1
  19. package/dist/aura3d-cli/meshy/import.js +4 -0
  20. package/dist/aura3d-cli/meshy/import.js.map +1 -1
  21. package/dist/create-aura3d/index.js +1 -1
  22. package/dist/engine/agent-api/GameGenreKits.d.ts +16 -0
  23. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  24. package/dist/engine/agent-api/GameGenreKits.js +33 -4
  25. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  26. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  27. package/dist/engine/agent-api/GameRuntime.js +29 -6
  28. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  29. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -1
  30. package/dist/engine/agent-api/TouchControlBinding.js +14 -2
  31. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -1
  32. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts +44 -0
  33. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
  34. package/dist/engine/agent-api/app/actorAnimationHandle.js +98 -0
  35. package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
  36. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  37. package/dist/engine/agent-api/app/createAuraApp.js +1 -1
  38. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  39. package/dist/engine/agent-api/app/frameLoop.d.ts +3 -1
  40. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  41. package/dist/engine/agent-api/app/frameLoop.js +19 -1
  42. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  43. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  44. package/dist/engine/agent-api/app/runtimeNodes.js +1 -0
  45. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  46. package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
  47. package/dist/engine/agent-api/compiler/animation.js +8 -1
  48. package/dist/engine/agent-api/compiler/animation.js.map +1 -1
  49. package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
  50. package/dist/engine/agent-api/compiler/observations.js +3 -1
  51. package/dist/engine/agent-api/compiler/observations.js.map +1 -1
  52. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  53. package/dist/engine/agent-api/compiler/primitives.js +10 -2
  54. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  55. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  56. package/dist/engine/agent-api/compiler/renderInput.js +35 -7
  57. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  58. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  59. package/dist/engine/agent-api/compiler/renderer.js +8 -4
  60. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  61. package/dist/engine/agent-api/diagnostics.d.ts +5 -0
  62. package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
  63. package/dist/engine/agent-api/diagnostics.js +18 -5
  64. package/dist/engine/agent-api/diagnostics.js.map +1 -1
  65. package/dist/engine/agent-api/game-kits/arcadeKart.d.ts +118 -0
  66. package/dist/engine/agent-api/game-kits/arcadeKart.d.ts.map +1 -0
  67. package/dist/engine/agent-api/game-kits/arcadeKart.js +468 -0
  68. package/dist/engine/agent-api/game-kits/arcadeKart.js.map +1 -0
  69. package/dist/engine/agent-api/game-kits/carSoccer.d.ts +95 -0
  70. package/dist/engine/agent-api/game-kits/carSoccer.d.ts.map +1 -0
  71. package/dist/engine/agent-api/game-kits/carSoccer.js +717 -0
  72. package/dist/engine/agent-api/game-kits/carSoccer.js.map +1 -0
  73. package/dist/engine/agent-api/game-kits/index.d.ts +20 -0
  74. package/dist/engine/agent-api/game-kits/index.d.ts.map +1 -1
  75. package/dist/engine/agent-api/game-kits/index.js +10 -1
  76. package/dist/engine/agent-api/game-kits/index.js.map +1 -1
  77. package/dist/engine/agent-api/game-kits/racketSports.d.ts +64 -0
  78. package/dist/engine/agent-api/game-kits/racketSports.d.ts.map +1 -0
  79. package/dist/engine/agent-api/game-kits/racketSports.js +146 -0
  80. package/dist/engine/agent-api/game-kits/racketSports.js.map +1 -0
  81. package/dist/engine/agent-api/index.d.ts +4 -1
  82. package/dist/engine/agent-api/index.d.ts.map +1 -1
  83. package/dist/engine/agent-api/index.js +3 -0
  84. package/dist/engine/agent-api/index.js.map +1 -1
  85. package/dist/engine/agent-api/looks/generatedCodeWarnings.d.ts.map +1 -1
  86. package/dist/engine/agent-api/looks/generatedCodeWarnings.js +16 -2
  87. package/dist/engine/agent-api/looks/generatedCodeWarnings.js.map +1 -1
  88. package/dist/engine/agent-api/nodes/assets.d.ts.map +1 -1
  89. package/dist/engine/agent-api/nodes/assets.js +7 -0
  90. package/dist/engine/agent-api/nodes/assets.js.map +1 -1
  91. package/dist/engine/agent-api/nodes/game/index.d.ts +8 -0
  92. package/dist/engine/agent-api/nodes/game/index.d.ts.map +1 -1
  93. package/dist/engine/agent-api/nodes/game/index.js +8 -0
  94. package/dist/engine/agent-api/nodes/game/index.js.map +1 -1
  95. package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
  96. package/dist/engine/agent-api/nodes/model.js +2 -0
  97. package/dist/engine/agent-api/nodes/model.js.map +1 -1
  98. package/dist/engine/agent-api/nodes/shadows.d.ts.map +1 -1
  99. package/dist/engine/agent-api/nodes/shadows.js +14 -10
  100. package/dist/engine/agent-api/nodes/shadows.js.map +1 -1
  101. package/dist/engine/agent-api/nodes/types.d.ts +14 -6
  102. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  103. package/dist/engine/agent-api/publishedUnion.d.ts +1 -1
  104. package/dist/engine/agent-api/publishedUnion.d.ts.map +1 -1
  105. package/dist/engine/agent-api/runtimeEvidence.d.ts.map +1 -1
  106. package/dist/engine/agent-api/runtimeEvidence.js +2 -1
  107. package/dist/engine/agent-api/runtimeEvidence.js.map +1 -1
  108. package/dist/engine/agent-api/sceneMath.d.ts.map +1 -1
  109. package/dist/engine/agent-api/sceneMath.js +20 -1
  110. package/dist/engine/agent-api/sceneMath.js.map +1 -1
  111. package/dist/engine/contracts/animation.d.ts +18 -0
  112. package/dist/engine/contracts/animation.d.ts.map +1 -1
  113. package/dist/engine/contracts/animation.js +4 -1
  114. package/dist/engine/contracts/animation.js.map +1 -1
  115. package/dist/engine/lanes/prd06.d.ts.map +1 -1
  116. package/dist/engine/lanes/prd06.js +21 -2
  117. package/dist/engine/lanes/prd06.js.map +1 -1
  118. package/dist/engine/production-runtime/effects/EffectNodeLowering.js +1 -1
  119. package/dist/engine/production-runtime/effects/EffectNodeLowering.js.map +1 -1
  120. package/dist/engine/public/index.d.ts +3 -1
  121. package/dist/engine/public/index.d.ts.map +1 -1
  122. package/dist/engine/public/index.js +1 -0
  123. package/dist/engine/public/index.js.map +1 -1
  124. package/dist/engine/threejs-example-parity/index.d.ts.map +1 -1
  125. package/dist/engine/threejs-example-parity/index.js +52 -22
  126. package/dist/engine/threejs-example-parity/index.js.map +1 -1
  127. package/dist/rendering/Renderer.d.ts.map +1 -1
  128. package/dist/rendering/Renderer.js +15 -4
  129. package/dist/rendering/Renderer.js.map +1 -1
  130. package/dist/rendering/WebGL2Device.d.ts +1 -0
  131. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  132. package/dist/rendering/WebGL2Device.js +12 -0
  133. package/dist/rendering/WebGL2Device.js.map +1 -1
  134. package/dist/rendering/effects/ResidentGPUParticleRenderer.d.ts.map +1 -1
  135. package/dist/rendering/effects/ResidentGPUParticleRenderer.js +10 -5
  136. package/dist/rendering/effects/ResidentGPUParticleRenderer.js.map +1 -1
  137. package/dist/rendering/post/PostResources.d.ts.map +1 -1
  138. package/dist/rendering/post/PostResources.js +17 -12
  139. package/dist/rendering/post/PostResources.js.map +1 -1
  140. package/dist/rendering/post/v2Stages.js +2 -2
  141. package/dist/rendering/post/v2Stages.js.map +1 -1
  142. package/dist/rendering/production-runtime/passes/ContactShadowPass.d.ts.map +1 -1
  143. package/dist/rendering/production-runtime/passes/ContactShadowPass.js +14 -13
  144. package/dist/rendering/production-runtime/passes/ContactShadowPass.js.map +1 -1
  145. package/dist/rendering/reference/PostProcessPass.d.ts.map +1 -1
  146. package/dist/rendering/reference/PostProcessPass.js +4 -1
  147. package/dist/rendering/reference/PostProcessPass.js.map +1 -1
  148. package/dist/rendering/renderer/PostprocessExecution.d.ts.map +1 -1
  149. package/dist/rendering/renderer/PostprocessExecution.js +4 -0
  150. package/dist/rendering/renderer/PostprocessExecution.js.map +1 -1
  151. package/dist/rendering/resources/RenderTargetPool.d.ts.map +1 -1
  152. package/dist/rendering/resources/RenderTargetPool.js +13 -4
  153. package/dist/rendering/resources/RenderTargetPool.js.map +1 -1
  154. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  155. package/dist/rendering/webgl2/LegacyPost.js +5 -2
  156. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  157. package/dist/rendering/webgl2/Probe.d.ts.map +1 -1
  158. package/dist/rendering/webgl2/Probe.js +27 -1
  159. package/dist/rendering/webgl2/Probe.js.map +1 -1
  160. package/package.json +30 -28
  161. package/templates/cinematic-scene/index.html +28 -2
  162. package/templates/cinematic-scene/package.json +1 -1
  163. package/templates/cinematic-scene/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  164. package/templates/cinematic-scene/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  165. package/templates/cinematic-scene/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  166. package/templates/mini-game/index.html +27 -1
  167. package/templates/mini-game/package.json +1 -1
  168. package/templates/mini-game/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  169. package/templates/mini-game/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  170. package/templates/mini-game/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  171. package/templates/mini-game/src/main.ts +1 -1
  172. package/templates/product-viewer/index.html +27 -2
  173. package/templates/product-viewer/package.json +1 -1
  174. package/templates/product-viewer/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  175. package/templates/product-viewer/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  176. package/templates/product-viewer/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  177. package/templates/production-asset-inspector/index.html +1 -1
  178. package/templates/production-asset-inspector/package.json +1 -1
  179. package/templates/production-asset-inspector/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  180. package/templates/production-asset-inspector/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  181. package/templates/production-asset-inspector/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  182. package/templates/production-material-studio/index.html +1 -1
  183. package/templates/production-material-studio/package.json +1 -1
  184. package/templates/production-material-studio/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  185. package/templates/production-material-studio/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  186. package/templates/production-material-studio/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  187. package/templates/production-product-configurator/index.html +1 -1
  188. package/templates/production-product-configurator/package.json +1 -1
  189. package/templates/production-product-configurator/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  190. package/templates/production-product-configurator/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  191. package/templates/production-product-configurator/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  192. package/templates/production-product-viewer/index.html +6 -1
  193. package/templates/production-product-viewer/package.json +1 -1
  194. package/templates/production-product-viewer/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  195. package/templates/production-product-viewer/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  196. package/templates/production-product-viewer/public/fonts/graphik/Graphik-RegularItalic-Web.woff2 +0 -0
  197. package/dist/animation/CrowdAnimation.d.ts +0 -13
  198. package/dist/animation/CrowdAnimation.d.ts.map +0 -1
  199. package/dist/animation/CrowdAnimation.js +0 -14
  200. package/dist/animation/CrowdAnimation.js.map +0 -1
  201. package/dist/engine/agent-api/lean-game.d.ts +0 -3
  202. package/dist/engine/agent-api/lean-game.d.ts.map +0 -1
  203. package/dist/engine/agent-api/lean-game.js +0 -3
  204. package/dist/engine/agent-api/lean-game.js.map +0 -1
  205. package/dist/engine/agent-api/lean-product.d.ts +0 -3
  206. package/dist/engine/agent-api/lean-product.d.ts.map +0 -1
  207. package/dist/engine/agent-api/lean-product.js +0 -3
  208. package/dist/engine/agent-api/lean-product.js.map +0 -1
  209. package/dist/engine/agent-api/lean.d.ts +0 -3
  210. package/dist/engine/agent-api/lean.d.ts.map +0 -1
  211. package/dist/engine/agent-api/lean.js +0 -3
  212. package/dist/engine/agent-api/lean.js.map +0 -1
  213. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +0 -158
  214. package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +0 -1
  215. package/dist/engine/threejs-example-parity/FlagshipFoundation.js +0 -332
  216. package/dist/engine/threejs-example-parity/FlagshipFoundation.js.map +0 -1
  217. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +0 -30
  218. package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +0 -1
  219. package/dist/rendering/ArchitecturalMaterialCatalog.js +0 -90
  220. package/dist/rendering/ArchitecturalMaterialCatalog.js.map +0 -1
  221. package/dist/rendering/LeanWebGL2Device.d.ts +0 -265
  222. package/dist/rendering/LeanWebGL2Device.d.ts.map +0 -1
  223. package/dist/rendering/LeanWebGL2Device.js +0 -4001
  224. package/dist/rendering/LeanWebGL2Device.js.map +0 -1
  225. package/dist/rendering/advanced-runtime/AdvancedRenderer.d.ts +0 -23
  226. package/dist/rendering/advanced-runtime/AdvancedRenderer.d.ts.map +0 -1
  227. package/dist/rendering/advanced-runtime/AdvancedRenderer.js +0 -45
  228. package/dist/rendering/advanced-runtime/AdvancedRenderer.js.map +0 -1
  229. package/dist/rendering/animation/AnimationMaterialStyle.d.ts +0 -19
  230. package/dist/rendering/animation/AnimationMaterialStyle.d.ts.map +0 -1
  231. package/dist/rendering/animation/AnimationMaterialStyle.js +0 -13
  232. package/dist/rendering/animation/AnimationMaterialStyle.js.map +0 -1
  233. package/dist/rendering/cinematic/CinematicMaterialPresets.d.ts +0 -16
  234. package/dist/rendering/cinematic/CinematicMaterialPresets.d.ts.map +0 -1
  235. package/dist/rendering/cinematic/CinematicMaterialPresets.js +0 -114
  236. package/dist/rendering/cinematic/CinematicMaterialPresets.js.map +0 -1
  237. package/dist/rendering/lean/LeanProductRenderer.d.ts +0 -29
  238. package/dist/rendering/lean/LeanProductRenderer.d.ts.map +0 -1
  239. package/dist/rendering/lean/LeanProductRenderer.js +0 -38
  240. package/dist/rendering/lean/LeanProductRenderer.js.map +0 -1
  241. package/dist/rendering/lean/LeanProductionRenderer.d.ts +0 -38
  242. package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +0 -1
  243. package/dist/rendering/lean/LeanProductionRenderer.js +0 -88
  244. package/dist/rendering/lean/LeanProductionRenderer.js.map +0 -1
  245. package/dist/rendering/lean-core-runtime.d.ts +0 -13
  246. package/dist/rendering/lean-core-runtime.d.ts.map +0 -1
  247. package/dist/rendering/lean-core-runtime.js +0 -10
  248. package/dist/rendering/lean-core-runtime.js.map +0 -1
  249. package/dist/rendering/lean-runtime.d.ts +0 -18
  250. package/dist/rendering/lean-runtime.d.ts.map +0 -1
  251. package/dist/rendering/lean-runtime.js +0 -13
  252. package/dist/rendering/lean-runtime.js.map +0 -1
  253. package/dist/rendering/materials/TransmissionPass.d.ts +0 -16
  254. package/dist/rendering/materials/TransmissionPass.d.ts.map +0 -1
  255. package/dist/rendering/materials/TransmissionPass.js +0 -30
  256. package/dist/rendering/materials/TransmissionPass.js.map +0 -1
  257. package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts +0 -20
  258. package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts.map +0 -1
  259. package/dist/rendering/production-runtime/ProductionEffectsPipeline.js +0 -65
  260. package/dist/rendering/production-runtime/ProductionEffectsPipeline.js.map +0 -1
  261. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +0 -44
  262. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +0 -1
  263. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +0 -179
  264. package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +0 -1
  265. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +0 -65
  266. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +0 -1
  267. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +0 -305
  268. package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +0 -1
  269. package/dist/rendering/threejs-example-parity/index.d.ts +0 -57
  270. package/dist/rendering/threejs-example-parity/index.d.ts.map +0 -1
  271. package/dist/rendering/threejs-example-parity/index.js +0 -139
  272. package/dist/rendering/threejs-example-parity/index.js.map +0 -1
@@ -1,114 +0,0 @@
1
- import { PBRMaterial } from "../PBRMaterial.js";
2
- import { createRendererOwnedEvidenceFlag } from "./CinematicEvidence.js";
3
- const MATERIAL_PRESETS = {
4
- "wet-pavement": {
5
- id: "wet-pavement",
6
- label: "Wet pavement",
7
- pbr: {
8
- name: "cinematic/wet-pavement",
9
- baseColor: [0.035, 0.04, 0.045, 1],
10
- metallic: 0,
11
- roughness: 0.18,
12
- clearcoatFactor: 0.72,
13
- clearcoatRoughnessFactor: 0.08,
14
- environmentMapIntensity: 0.65,
15
- environmentMapSpecularIntensity: 0.9
16
- },
17
- approximatedFeatures: ["screen-space puddle breakup is represented by glossy PBR response until a normal-map texture is bound"],
18
- diagnostics: ["Wet pavement is renderer-owned PBR material data, not a CSS shine overlay."]
19
- },
20
- "neon-emissive": {
21
- id: "neon-emissive",
22
- label: "Neon emissive",
23
- pbr: {
24
- name: "cinematic/neon-emissive",
25
- baseColor: [0.05, 0.78, 1, 1],
26
- metallic: 0,
27
- roughness: 0.22,
28
- emissiveColor: [0.05, 0.78, 1],
29
- emissiveStrength: 4.8
30
- },
31
- approximatedFeatures: [],
32
- diagnostics: ["Neon proof is an emissive renderer material and can drive bloom/practical light evidence."]
33
- },
34
- "hero-prop-glow": {
35
- id: "hero-prop-glow",
36
- label: "Hero prop glow",
37
- pbr: {
38
- name: "cinematic/hero-prop-glow",
39
- baseColor: [0.42, 0.95, 1, 1],
40
- metallic: 0,
41
- roughness: 0.28,
42
- emissiveColor: [0.18, 0.82, 1],
43
- emissiveStrength: 2.6,
44
- clearcoatFactor: 0.25
45
- },
46
- approximatedFeatures: ["subsurface scattering is approximated with emissive PBR color"],
47
- diagnostics: ["Hero prop glow is real material data and must not be replaced by a DOM halo."]
48
- },
49
- "rain-dark-metal": {
50
- id: "rain-dark-metal",
51
- label: "Rain dark metal",
52
- pbr: {
53
- name: "cinematic/rain-dark-metal",
54
- baseColor: [0.32, 0.34, 0.36, 1],
55
- metallic: 0.82,
56
- roughness: 0.24,
57
- clearcoatFactor: 0.48,
58
- clearcoatRoughnessFactor: 0.12
59
- },
60
- approximatedFeatures: ["water beads require texture/normal detail from the route asset to be fully represented"],
61
- diagnostics: ["Metal wetness is encoded as PBR parameters."]
62
- },
63
- "cinematic-set-concrete": {
64
- id: "cinematic-set-concrete",
65
- label: "Cinematic set concrete",
66
- pbr: {
67
- name: "cinematic/set-concrete",
68
- baseColor: [0.23, 0.24, 0.25, 1],
69
- metallic: 0,
70
- roughness: 0.62,
71
- environmentMapIntensity: 0.22,
72
- environmentMapSpecularIntensity: 0.32
73
- },
74
- approximatedFeatures: [],
75
- diagnostics: ["Set material is renderer-owned PBR scene content."]
76
- }
77
- };
78
- export function listCinematicMaterialPresets() {
79
- return Object.keys(MATERIAL_PRESETS).map(createCinematicMaterialPreset);
80
- }
81
- export function createCinematicMaterialPreset(id) {
82
- const preset = MATERIAL_PRESETS[id];
83
- return {
84
- ...preset,
85
- rendererOwnedEvidence: createRendererOwnedEvidenceFlag({
86
- id: `material:${id}`,
87
- feature: "material",
88
- label: preset.label,
89
- source: "renderer-material",
90
- diagnostics: preset.diagnostics
91
- })
92
- };
93
- }
94
- export function createCinematicPBRMaterial(id, overrides = {}) {
95
- const preset = createCinematicMaterialPreset(id);
96
- return new PBRMaterial({
97
- ...preset.pbr,
98
- ...overrides,
99
- name: overrides.name ?? preset.pbr.name
100
- });
101
- }
102
- export function resolveCinematicMaterialPresetId(tags) {
103
- const lower = tags.map((tag) => tag.toLowerCase());
104
- if (lower.some((tag) => tag.includes("neon") || tag.includes("emissive")))
105
- return "neon-emissive";
106
- if (lower.some((tag) => tag.includes("flower") || tag.includes("hero") || tag.includes("glow")))
107
- return "hero-prop-glow";
108
- if (lower.some((tag) => tag.includes("metal") || tag.includes("robot")))
109
- return "rain-dark-metal";
110
- if (lower.some((tag) => tag.includes("wet") || tag.includes("pavement") || tag.includes("rain")))
111
- return "wet-pavement";
112
- return "cinematic-set-concrete";
113
- }
114
- //# sourceMappingURL=CinematicMaterialPresets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CinematicMaterialPresets.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/cinematic/CinematicMaterialPresets.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Interactive-only WebGL2 renderer for the lean product entry.
3
- *
4
- * The product entry cannot call compatibility screenshot/readback or multi-backend proof APIs, so
5
- * keep those families outside its critical path while retaining the full shader profile required
6
- * by imported glTF materials.
7
- */
8
- import { type CameraLike, type RendererOptions, type RenderSource } from "../Renderer.js";
9
- export interface LeanProductRendererOptions extends Omit<RendererOptions, "backend"> {
10
- readonly canvas: HTMLCanvasElement | OffscreenCanvas;
11
- readonly width: number;
12
- readonly height: number;
13
- }
14
- export declare class LeanProductRenderer {
15
- private readonly renderer;
16
- private constructor();
17
- static create(options: LeanProductRendererOptions): Promise<LeanProductRenderer>;
18
- renderInteractiveFrame(input: {
19
- readonly source: RenderSource;
20
- readonly camera?: CameraLike;
21
- }): {
22
- readonly diagnostics: {
23
- readonly drawCalls: number;
24
- };
25
- };
26
- resize(width: number, height: number): void;
27
- dispose(): void;
28
- }
29
- //# sourceMappingURL=LeanProductRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeanProductRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/lean/LeanProductRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpG,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAClF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,mBAAmB;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAA7C,OAAO;WAEM,MAAM,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IActF,sBAAsB,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,WAAW,EAAE;YAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAIxJ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Interactive-only WebGL2 renderer for the lean product entry.
3
- *
4
- * The product entry cannot call compatibility screenshot/readback or multi-backend proof APIs, so
5
- * keep those families outside its critical path while retaining the full shader profile required
6
- * by imported glTF materials.
7
- */
8
- import { Renderer } from "../Renderer.js";
9
- import { createDefaultShaderLibrary } from "../ShaderLibrary.js";
10
- export class LeanProductRenderer {
11
- renderer;
12
- constructor(renderer) {
13
- this.renderer = renderer;
14
- }
15
- static async create(options) {
16
- const renderer = await Renderer.create({
17
- ...options,
18
- backend: "webgl2",
19
- requiredFeatures: ["basic-rendering", "render-targets", "hdr-image-based-lighting"],
20
- shaderLibrary: options.shaderLibrary ?? createDefaultShaderLibrary()
21
- });
22
- if (renderer.device.kind !== "webgl2") {
23
- renderer.dispose();
24
- throw new Error(`Lean product renderer requires a real WebGL2 device, got ${renderer.device.kind}.`);
25
- }
26
- return new LeanProductRenderer(renderer);
27
- }
28
- renderInteractiveFrame(input) {
29
- return { diagnostics: this.renderer.render(input.source, input.camera) };
30
- }
31
- resize(width, height) {
32
- this.renderer.resize(width, height);
33
- }
34
- dispose() {
35
- this.renderer.dispose();
36
- }
37
- }
38
- //# sourceMappingURL=LeanProductRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeanProductRenderer.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/lean/LeanProductRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAA4D,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAQjE,MAAM,OAAO,mBAAmB;IACO;IAArC,YAAqC,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAE3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAmC;QACrD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,GAAG,OAAO;YACV,OAAO,EAAE,QAAQ;YACjB,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,0BAA0B,CAAC;YACnF,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,0BAA0B,EAAE;SACrE,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4DAA4D,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB,CAAC,KAAsE;QAC3F,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAc;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -1,38 +0,0 @@
1
- import type { RenderDeviceDiagnostics } from "../RenderDevice.js";
2
- import type { ProductionRendererFeature, ProductionRendererInput, RuntimeParityFrameRenderResult } from "../production-runtime/ProductionRendererTypes.js";
3
- export interface LeanProductionRendererOptions {
4
- readonly canvas: HTMLCanvasElement | OffscreenCanvas;
5
- readonly width: number;
6
- readonly height: number;
7
- readonly clearColor?: readonly [number, number, number, number];
8
- readonly antialias?: boolean;
9
- readonly preserveDrawingBuffer?: boolean;
10
- }
11
- /**
12
- * WebGL2 renderer for the documented lean primitive entry.
13
- *
14
- * The broad Renderer remains the compatibility owner for shadows, postprocess, environment maps,
15
- * advanced material families, WebGPU selection, capture/readback, and scene traversal. The lean
16
- * scene builder cannot author any of those features, so routing it through that owner made a cube
17
- * statically download code it could never call. This adapter owns only a device, the core shader
18
- * profile, and one forward pass; product/model callers inject the broad production renderer.
19
- */
20
- export declare class LeanProductionRenderer {
21
- readonly backend: "webgl2";
22
- private readonly device;
23
- private readonly shaderLibrary;
24
- private width;
25
- private height;
26
- private readonly clearColor;
27
- private constructor();
28
- static create(options: LeanProductionRendererOptions): Promise<LeanProductionRenderer>;
29
- renderInteractiveFrame(input: ProductionRendererInput): RuntimeParityFrameRenderResult;
30
- resize(width: number, height: number): void;
31
- getFeatures(): readonly ProductionRendererFeature[];
32
- getDiagnostics(): RenderDeviceDiagnostics;
33
- onDeviceLost(listener: () => void): () => void;
34
- onDeviceRestored(listener: () => void): () => void;
35
- deviceLost(): boolean;
36
- dispose(): void;
37
- }
38
- //# sourceMappingURL=LeanProductionRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeanProductionRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/lean/LeanProductionRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,kDAAkD,CAAC;AAE1D,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IAEvE,OAAO;WAWM,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI5F,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,8BAA8B;IAqBtF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C,WAAW,IAAI,SAAS,yBAAyB,EAAE;IASnD,cAAc,IAAI,uBAAuB;IAIzC,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIlD,UAAU,IAAI,OAAO;IAIrB,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,88 +0,0 @@
1
- import { ForwardPass } from "../ForwardPass.js";
2
- import { createLeanCoreShaderLibrary } from "../ShaderLibraryCore.js";
3
- import { LeanWebGL2Device } from "../LeanWebGL2Device.js";
4
- /**
5
- * WebGL2 renderer for the documented lean primitive entry.
6
- *
7
- * The broad Renderer remains the compatibility owner for shadows, postprocess, environment maps,
8
- * advanced material families, WebGPU selection, capture/readback, and scene traversal. The lean
9
- * scene builder cannot author any of those features, so routing it through that owner made a cube
10
- * statically download code it could never call. This adapter owns only a device, the core shader
11
- * profile, and one forward pass; product/model callers inject the broad production renderer.
12
- */
13
- export class LeanProductionRenderer {
14
- backend = "webgl2";
15
- device;
16
- shaderLibrary = createLeanCoreShaderLibrary();
17
- width;
18
- height;
19
- clearColor;
20
- constructor(options) {
21
- this.width = options.width;
22
- this.height = options.height;
23
- this.clearColor = options.clearColor ?? [0, 0, 0, 1];
24
- this.device = LeanWebGL2Device.create({
25
- canvas: options.canvas,
26
- antialias: options.antialias,
27
- preserveDrawingBuffer: options.preserveDrawingBuffer
28
- });
29
- }
30
- static async create(options) {
31
- return new LeanProductionRenderer(options);
32
- }
33
- renderInteractiveFrame(input) {
34
- const items = [...(input.source.collectRenderItems?.() ?? [])];
35
- this.device.beginFrame(this.width, this.height);
36
- try {
37
- this.device.setRenderTarget(null);
38
- this.device.clear(this.clearColor);
39
- new ForwardPass({
40
- items,
41
- cameraViewProjectionMatrix: input.camera?.viewProjectionMatrix ?? IDENTITY_MATRIX,
42
- shaderLibrary: this.shaderLibrary
43
- }).execute({ device: this.device, width: this.width, height: this.height });
44
- }
45
- finally {
46
- this.device.endFrame();
47
- }
48
- return {
49
- backend: this.backend,
50
- diagnostics: this.device.getDiagnostics(),
51
- features: this.getFeatures()
52
- };
53
- }
54
- resize(width, height) {
55
- this.width = width;
56
- this.height = height;
57
- }
58
- getFeatures() {
59
- return [
60
- { id: "real-webgl2-context", state: "supported", detail: "Lean renderer owns a real WebGL2Device." },
61
- { id: "no-canvas2d-proof", state: "supported", detail: "Frames are submitted through ForwardPass/WebGL2." },
62
- { id: "no-mock-device", state: "supported", detail: "The lean renderer has no mock backend branch." },
63
- { id: "pbr-materials", state: "supported", detail: "The lean shader profile contains PBR and unlit programs." }
64
- ];
65
- }
66
- getDiagnostics() {
67
- return this.device.getDiagnostics();
68
- }
69
- onDeviceLost(listener) {
70
- return this.device.onDeviceLost(listener);
71
- }
72
- onDeviceRestored(listener) {
73
- return this.device.onDeviceRestored(listener);
74
- }
75
- deviceLost() {
76
- return this.device.isDeviceLost();
77
- }
78
- dispose() {
79
- this.device.dispose();
80
- }
81
- }
82
- const IDENTITY_MATRIX = new Float32Array([
83
- 1, 0, 0, 0,
84
- 0, 1, 0, 0,
85
- 0, 0, 1, 0,
86
- 0, 0, 0, 1
87
- ]);
88
- //# sourceMappingURL=LeanProductionRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeanProductionRenderer.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/lean/LeanProductionRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Core-only browser rendering surface for `@aura3d/lean`.
3
- *
4
- * Product and broad renderer values remain on their existing entry points so
5
- * primitive scenes cannot statically download code they cannot call.
6
- */
7
- export { Geometry } from "./Geometry.js";
8
- export { PBRMaterial } from "./PBRMaterial.js";
9
- export { LeanProductionRenderer } from "./lean/LeanProductionRenderer.js";
10
- export type { LeanProductionRendererOptions } from "./lean/LeanProductionRenderer.js";
11
- export type { CameraLike, RenderSource } from "./Renderer.js";
12
- export type { RenderItem } from "./ForwardPass.js";
13
- //# sourceMappingURL=lean-core-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lean-core-runtime.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/lean-core-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,YAAY,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACtF,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Core-only browser rendering surface for `@aura3d/lean`.
3
- *
4
- * Product and broad renderer values remain on their existing entry points so
5
- * primitive scenes cannot statically download code they cannot call.
6
- */
7
- export { Geometry } from "./Geometry.js";
8
- export { PBRMaterial } from "./PBRMaterial.js";
9
- export { LeanProductionRenderer } from "./lean/LeanProductionRenderer.js";
10
- //# sourceMappingURL=lean-core-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lean-core-runtime.js","sourceRoot":"","sources":["../../../../packages/rendering/src/lean-core-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Browser-critical rendering surface for the lean agent entry point.
3
- *
4
- * Keep this file as direct module exports rather than forwarding through the broad rendering
5
- * barrel: the latter also exposes authoring, inspection, postprocess, WebGPU, and compatibility
6
- * families that are not required to draw the first scene.
7
- */
8
- export { Geometry } from "./Geometry.js";
9
- export { PBRMaterial } from "./PBRMaterial.js";
10
- export { LeanProductionRenderer } from "./lean/LeanProductionRenderer.js";
11
- export type { LeanProductionRendererOptions } from "./lean/LeanProductionRenderer.js";
12
- export { LeanProductRenderer } from "./lean/LeanProductRenderer.js";
13
- export type { LeanProductRendererOptions } from "./lean/LeanProductRenderer.js";
14
- export { collectRenderItems } from "./Renderer.js";
15
- export type { CameraLike, RenderSource } from "./Renderer.js";
16
- export type { RenderItem } from "./ForwardPass.js";
17
- export type { ProductionImportedAssetRenderMetadata, ProductionRendererInput } from "./production-runtime/ProductionRendererTypes.js";
18
- //# sourceMappingURL=lean-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lean-runtime.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/lean-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,YAAY,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EACV,qCAAqC,EACrC,uBAAuB,EACxB,MAAM,iDAAiD,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Browser-critical rendering surface for the lean agent entry point.
3
- *
4
- * Keep this file as direct module exports rather than forwarding through the broad rendering
5
- * barrel: the latter also exposes authoring, inspection, postprocess, WebGPU, and compatibility
6
- * families that are not required to draw the first scene.
7
- */
8
- export { Geometry } from "./Geometry.js";
9
- export { PBRMaterial } from "./PBRMaterial.js";
10
- export { LeanProductionRenderer } from "./lean/LeanProductionRenderer.js";
11
- export { LeanProductRenderer } from "./lean/LeanProductRenderer.js";
12
- export { collectRenderItems } from "./Renderer.js";
13
- //# sourceMappingURL=lean-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lean-runtime.js","sourceRoot":"","sources":["../../../../packages/rendering/src/lean-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,16 +0,0 @@
1
- export interface ExternalParityTransmissionSample {
2
- readonly baseColor: readonly [number, number, number];
3
- readonly thickness: number;
4
- readonly attenuationColor: readonly [number, number, number];
5
- readonly attenuationDistance: number;
6
- readonly ior: number;
7
- readonly intensity: number;
8
- }
9
- export interface ExternalParityTransmissionResult {
10
- readonly transmittedColor: readonly [number, number, number];
11
- readonly displayColor: readonly [number, number, number];
12
- readonly bounded: true;
13
- readonly diagnostic: string;
14
- }
15
- export declare function evaluateExternalParityTransmission(sample: ExternalParityTransmissionSample): ExternalParityTransmissionResult;
16
- //# sourceMappingURL=TransmissionPass.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransmissionPass.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/materials/TransmissionPass.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,gCAAgC,GAAG,gCAAgC,CAqB7H"}
@@ -1,30 +0,0 @@
1
- import { createExternalParityToneMappingPolicy, toneMapExternalParityHdrPixels } from "../ToneMapping.js";
2
- export function evaluateExternalParityTransmission(sample) {
3
- validateSample(sample);
4
- const attenuation = Math.exp(-sample.thickness / Math.max(0.0001, sample.attenuationDistance));
5
- const fresnelScale = Math.max(0, Math.min(1, (sample.ior - 1) / (sample.ior + 1)));
6
- const transmitted = [
7
- sample.baseColor[0] * sample.attenuationColor[0] * attenuation * sample.intensity * (1 - fresnelScale),
8
- sample.baseColor[1] * sample.attenuationColor[1] * attenuation * sample.intensity * (1 - fresnelScale),
9
- sample.baseColor[2] * sample.attenuationColor[2] * attenuation * sample.intensity * (1 - fresnelScale)
10
- ];
11
- const toneMapped = toneMapExternalParityHdrPixels(new Float32Array([transmitted[0], transmitted[1], transmitted[2], 1]), 1, 1, createExternalParityToneMappingPolicy("material-review", { operator: "reinhard", exposure: 1, gamma: 1, outputColorSpace: "srgb" }));
12
- return {
13
- transmittedColor: transmitted.map(round),
14
- displayColor: [toneMapped.pixels[0], toneMapped.pixels[1], toneMapped.pixels[2]],
15
- bounded: true,
16
- diagnostic: "Bounded transmission approximation for material review; full refraction/caustics parity is not claimed."
17
- };
18
- }
19
- function validateSample(sample) {
20
- if (sample.baseColor.length !== 3 || sample.attenuationColor.length !== 3)
21
- throw new Error("Transmission colors must be RGB tuples.");
22
- for (const value of [...sample.baseColor, ...sample.attenuationColor, sample.thickness, sample.attenuationDistance, sample.ior, sample.intensity]) {
23
- if (!Number.isFinite(value) || value < 0)
24
- throw new Error("Transmission sample values must be finite and non-negative.");
25
- }
26
- }
27
- function round(value) {
28
- return Number(value.toFixed(6));
29
- }
30
- //# sourceMappingURL=TransmissionPass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransmissionPass.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/materials/TransmissionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAkBvG,MAAM,UAAU,kCAAkC,CAAC,MAAwC;IACzF,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,WAAW,GAA6B;QAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;QACtG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;QACtG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;KACvG,CAAC;IACF,MAAM,UAAU,GAAG,8BAA8B,CAC/C,IAAI,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACrE,CAAC,EACD,CAAC,EACD,qCAAqC,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CACpI,CAAC;IACF,OAAO;QACL,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAA6B;QACpE,YAAY,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QACnF,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,yGAAyG;KACtH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAwC;IAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACtI,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAClJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { RenderSource, RendererPostProcessOptions, RendererShadowOptions } from "../Renderer.js";
2
- import type { ProductionRenderProof } from "./ProductionRendererTypes.js";
3
- export interface ProductionEffectsOptions {
4
- readonly shadow?: RendererShadowOptions | boolean;
5
- readonly postprocess?: RendererPostProcessOptions | boolean;
6
- readonly transparentItemCount?: number;
7
- }
8
- export interface ProductionEffectsSummary {
9
- readonly pass: boolean;
10
- readonly shadowProof: boolean;
11
- readonly transparencyProof: boolean;
12
- readonly postprocessProof: boolean;
13
- readonly drawCalls: number;
14
- readonly nonBlackPixels: number;
15
- readonly uniqueColorBuckets: number;
16
- readonly failures: readonly string[];
17
- }
18
- export declare function createProductionEffectsRenderSource(source: RenderSource, options?: ProductionEffectsOptions): RenderSource;
19
- export declare function summarizeProductionEffectsProof(proof: ProductionRenderProof, options?: ProductionEffectsOptions): ProductionEffectsSummary;
20
- //# sourceMappingURL=ProductionEffectsPipeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductionEffectsPipeline.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/production-runtime/ProductionEffectsPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,wBAA6B,GAAG,YAAY,CAuC9H;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,GAAE,wBAA6B,GAAG,wBAAwB,CAuB9I"}
@@ -1,65 +0,0 @@
1
- export function createProductionEffectsRenderSource(source, options = {}) {
2
- return {
3
- ...source,
4
- shadow: options.shadow ?? {
5
- enabled: true,
6
- size: 512,
7
- bias: 0.0008,
8
- strength: 0.48,
9
- filter: "pcf",
10
- pcfRadius: 1.25,
11
- pcfSamples: 9
12
- },
13
- postprocess: options.postprocess ?? {
14
- targetFormat: "rgba8",
15
- toneMapping: {
16
- operator: "filmic",
17
- exposure: 1.08,
18
- whitePoint: 1.18,
19
- inputColorSpace: "linear",
20
- outputColorSpace: "srgb"
21
- },
22
- colorGrade: {
23
- contrast: 1.08,
24
- saturation: 1.06,
25
- vibrance: 0.08,
26
- vignette: 0.12,
27
- sharpening: 0.24
28
- },
29
- bloom: {
30
- threshold: 0.84,
31
- intensity: 0.08,
32
- radius: 1
33
- },
34
- fxaa: {
35
- edgeThreshold: 0.08,
36
- subpixelBlend: 0.55
37
- }
38
- }
39
- };
40
- }
41
- export function summarizeProductionEffectsProof(proof, options = {}) {
42
- const shadowProof = proof.diagnostics.drawCalls >= 2;
43
- const transparencyProof = (options.transparentItemCount ?? 0) > 0;
44
- const postprocessProof = proof.pixels.uniqueColorBuckets > 12 && proof.pixels.maxLuma > 40;
45
- const failures = [
46
- ...(!proof.realWebGL2 ? ["not a real WebGL2 proof"] : []),
47
- ...(proof.mockDevice ? ["mock renderer was used"] : []),
48
- ...(proof.canvas2dProof ? ["Canvas 2D proof was used"] : []),
49
- ...(!shadowProof ? ["shadow pass did not add draw-call evidence"] : []),
50
- ...(!transparencyProof ? ["transparent item ordering was not declared"] : []),
51
- ...(!postprocessProof ? ["postprocess pixel metrics are too weak"] : []),
52
- ...(proof.pixels.nonBlackPixels <= 1000 ? ["visible pixel count is too low"] : [])
53
- ];
54
- return {
55
- pass: failures.length === 0,
56
- shadowProof,
57
- transparencyProof,
58
- postprocessProof,
59
- drawCalls: proof.diagnostics.drawCalls,
60
- nonBlackPixels: proof.pixels.nonBlackPixels,
61
- uniqueColorBuckets: proof.pixels.uniqueColorBuckets,
62
- failures
63
- };
64
- }
65
- //# sourceMappingURL=ProductionEffectsPipeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductionEffectsPipeline.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/production-runtime/ProductionEffectsPipeline.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,mCAAmC,CAAC,MAAoB,EAAE,UAAoC,EAAE;IAC9G,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI;YACxB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;QACD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI;YAClC,YAAY,EAAE,OAAO;YACrB,WAAW,EAAE;gBACX,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,QAAQ;gBACzB,gBAAgB,EAAE,MAAM;aACzB;YACD,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;aACjB;YACD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,CAAC;aACV;YACD,IAAI,EAAE;gBACJ,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,IAAI;aACpB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAA4B,EAAE,UAAoC,EAAE;IAClH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;IACF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC3B,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS;QACtC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC3C,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB;QACnD,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -1,44 +0,0 @@
1
- import { type ProductionWebGL2RendererOptions } from './ProductionWebGL2Renderer.js';
2
- import type { RenderDeviceDiagnostics } from "../RenderDevice.js";
3
- import type { ProductionRendererBackend, ProductionRenderProof, ProductionRendererFeature, ProductionRendererInput, CurrentRoutesProductionRenderer, RuntimeParityFrameRenderResult } from './ProductionRendererTypes.js';
4
- export interface ProductionRuntimeRendererOptions extends ProductionWebGL2RendererOptions {
5
- readonly backend?: ProductionRuntimeRendererBackendPreference;
6
- }
7
- export type ProductionRuntimeRendererBackendPreference = "webgl2" | "webgpu" | "auto";
8
- export interface ProductionRuntimeRendererBackendSelection {
9
- readonly requestedBackend: ProductionRuntimeRendererBackendPreference;
10
- readonly selectedBackend: ProductionRendererBackend;
11
- readonly asyncRequired: boolean;
12
- readonly fallback: boolean;
13
- readonly reason: string;
14
- }
15
- export declare class ProductionRuntimeRenderer implements CurrentRoutesProductionRenderer {
16
- private readonly renderer;
17
- readonly backend: ProductionRendererBackend;
18
- readonly backendSelection: ProductionRuntimeRendererBackendSelection;
19
- private constructor();
20
- /** WS-2.6 — delegate device-loss subscription to whichever backend was selected. */
21
- onDeviceLost(listener: () => void): () => void;
22
- onDeviceRestored(listener: () => void): () => void;
23
- deviceLost(): boolean;
24
- static create(options: ProductionRuntimeRendererOptions): Promise<ProductionRuntimeRenderer>;
25
- private static createWebGL2;
26
- renderInteractiveFrame(input: ProductionRendererInput): RuntimeParityFrameRenderResult;
27
- renderFrame(input: ProductionRendererInput): RuntimeParityFrameRenderResult;
28
- resize(width: number, height: number): void;
29
- captureProof(input: ProductionRendererInput): ProductionRenderProof;
30
- renderImportedAsset(input: ProductionRendererInput): ProductionRenderProof;
31
- renderInteractiveFrameAsync(input: ProductionRendererInput): Promise<RuntimeParityFrameRenderResult>;
32
- renderFrameAsync(input: ProductionRendererInput): Promise<RuntimeParityFrameRenderResult>;
33
- captureProofAsync(input: ProductionRendererInput): Promise<ProductionRenderProof>;
34
- renderImportedAssetAsync(input: ProductionRendererInput): Promise<ProductionRenderProof>;
35
- getFeatures(): readonly ProductionRendererFeature[];
36
- /** Resources actually selected by the latest submitted shadow pass. */
37
- getShadowEvidence(): Readonly<Record<string, unknown>> | null;
38
- getDiagnostics(): RenderDeviceDiagnostics;
39
- resetTemporalHistory(reason?: string): void;
40
- dispose(): void;
41
- }
42
- export declare function createProductionRuntimeRenderer(options: ProductionRuntimeRendererOptions): Promise<ProductionRuntimeRenderer>;
43
- export declare function resolveProductionRuntimeRendererBackend(options: Pick<ProductionRuntimeRendererOptions, "backend" | "webgpu">): ProductionRuntimeRendererBackendSelection;
44
- //# sourceMappingURL=ProductionRuntimeRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductionRuntimeRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/production-runtime/ProductionRuntimeRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAE5G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EACV,yBAAyB,EAEzB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,gCAAiC,SAAQ,+BAA+B;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,0CAA0C,CAAC;CAC/D;AAED,MAAM,MAAM,0CAA0C,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtF,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;IACtE,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAID,qBAAa,yBAA0B,YAAW,+BAA+B;IAK7E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,yCAAyC,CAAC;IAErE,OAAO;IASP,oFAAoF;IACpF,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIlD,UAAU,IAAI,OAAO;WAIR,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,yBAAyB,CAAC;mBAmC7E,YAAY;IAejC,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,8BAA8B;IAMtF,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,8BAA8B;IAI3E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ3C,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,qBAAqB;IAKnE,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,qBAAqB;IAIpE,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAOpG,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIzF,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAOjF,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI9F,WAAW,IAAI,SAAS,yBAAyB,EAAE;IAInD,uEAAuE;IACvE,iBAAiB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAI7D,cAAc,IAAI,uBAAuB;IAIzC,oBAAoB,CAAC,MAAM,SAAmB,GAAG,IAAI;IAIrD,OAAO,IAAI,IAAI;CAGhB;AAUD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE7H;AAED,wBAAgB,uCAAuC,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG,yCAAyC,CAwCxK"}