@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,90 +0,0 @@
1
- import { PBRMaterial } from "./PBRMaterial.js";
2
- import { TexturedPBRMaterial } from "./TexturedPBRMaterial.js";
3
- import { createProceduralTexture } from "./ProceduralTexture.js";
4
- const knownLimits = [
5
- "Adapted from the old arch-viz material library as deterministic current-engine PBR presets.",
6
- "These are procedural/local material presets, not scanned production material assets or Unity/Unreal physical material parity evidence."
7
- ];
8
- const catalog = [
9
- material("oak", "Oak Wood", "wood", [0.545, 0.396, 0.259, 1], 0.65, 0, 0.8, 0.85, "wood-plank"),
10
- material("walnut", "Walnut Wood", "wood", [0.361, 0.239, 0.176, 1], 0.6, 0, 0.75, 0.8, "wood-plank"),
11
- material("pine", "Pine Wood", "wood", [0.816, 0.694, 0.502, 1], 0.7, 0, 0.6, 0.9, "wood-plank"),
12
- material("mahogany", "Mahogany Wood", "wood", [0.502, 0.227, 0.145, 1], 0.55, 0, 0.7, 0.82, "wood-plank"),
13
- material("birch", "Birch Wood", "wood", [0.937, 0.878, 0.737, 1], 0.68, 0, 0.5, 0.92, "wood-plank"),
14
- material("teak", "Teak Wood", "wood", [0.682, 0.478, 0.278, 1], 0.5, 0, 0.65, 0.88, "wood-plank"),
15
- material("marble-carrara", "Carrara Marble", "stone", [0.94, 0.93, 0.91, 1], 0.25, 0, 0.4, 0.95, "marble"),
16
- material("granite-black", "Black Granite", "stone", [0.12, 0.12, 0.13, 1], 0.15, 0, 0.3, 0.7, "marble"),
17
- material("limestone", "Limestone", "stone", [0.847, 0.812, 0.729, 1], 0.75, 0, 0.6, 0.85, "concrete-asphalt"),
18
- material("concrete", "Polished Concrete", "stone", [0.502, 0.502, 0.502, 1], 0.6, 0, 0.5, 0.8, "concrete-asphalt"),
19
- material("slate", "Slate Stone", "stone", [0.259, 0.275, 0.29, 1], 0.7, 0, 0.7, 0.75, "concrete-asphalt"),
20
- material("sandstone", "Sandstone", "stone", [0.761, 0.643, 0.467, 1], 0.8, 0, 0.65, 0.83, "concrete-asphalt"),
21
- material("chrome", "Polished Chrome", "metal", [0.549, 0.556, 0.554, 1], 0.05, 1, 0.1, 1),
22
- material("steel-brushed", "Brushed Steel", "metal", [0.651, 0.651, 0.651, 1], 0.3, 1, 0.4, 0.95, "sci-fi-panel"),
23
- material("copper", "Polished Copper", "metal", [0.955, 0.637, 0.538, 1], 0.2, 1, 0.2, 0.98),
24
- material("brass", "Polished Brass", "metal", [0.875, 0.78, 0.455, 1], 0.25, 1, 0.15, 0.97),
25
- material("aluminum", "Brushed Aluminum", "metal", [0.913, 0.921, 0.925, 1], 0.35, 1, 0.3, 0.96, "sci-fi-panel"),
26
- material("metal-black", "Matte Black Metal", "metal", [0.02, 0.02, 0.02, 1], 0.6, 1, 0.2, 0.75),
27
- material("cotton", "Cotton Fabric", "fabric", [0.863, 0.859, 0.847, 1], 0.85, 0, 0.6, 0.88),
28
- material("velvet", "Velvet Fabric", "fabric", [0.122, 0.161, 0.267, 1], 0.9, 0, 0.8, 0.7),
29
- material("leather", "Leather", "fabric", [0.435, 0.286, 0.184, 1], 0.55, 0, 0.5, 0.82),
30
- material("linen", "Linen Fabric", "fabric", [0.906, 0.878, 0.831, 1], 0.88, 0, 0.7, 0.86),
31
- material("wool", "Wool Fabric", "fabric", [0.584, 0.541, 0.494, 1], 0.92, 0, 0.75, 0.84),
32
- material("glass-clear", "Clear Glass", "glass", [0.95, 0.95, 0.95, 0.38], 0.05, 0, 0.1, 1),
33
- material("glass-frosted", "Frosted Glass", "glass", [0.9, 0.9, 0.9, 0.62], 0.4, 0, 0.6, 0.95),
34
- material("glass-tinted", "Tinted Glass", "glass", [0.651, 0.753, 0.769, 0.58], 0.08, 0, 0.1, 0.98),
35
- material("glass-smoked", "Smoked Glass", "glass", [0.275, 0.275, 0.275, 0.52], 0.1, 0, 0.1, 0.85),
36
- material("ceramic-white", "White Ceramic", "ceramic", [0.961, 0.961, 0.961, 1], 0.15, 0, 0.2, 0.98),
37
- material("terracotta", "Terracotta", "ceramic", [0.729, 0.376, 0.278, 1], 0.7, 0, 0.5, 0.85),
38
- material("tile-glazed", "Glazed Tile", "ceramic", [0.847, 0.831, 0.804, 1], 0.12, 0, 0.15, 0.96),
39
- material("porcelain", "Porcelain", "ceramic", [0.941, 0.933, 0.922, 1], 0.18, 0, 0.25, 0.97)
40
- ];
41
- export function createArchitecturalMaterialCatalog() {
42
- return catalog;
43
- }
44
- export function architecturalMaterialCatalogSummary() {
45
- const categories = ["wood", "stone", "metal", "fabric", "glass", "ceramic"];
46
- return {
47
- materialCount: catalog.length,
48
- categories,
49
- categoryCounts: Object.fromEntries(categories.map((category) => [
50
- category,
51
- catalog.filter((entry) => entry.category === category).length
52
- ])),
53
- texturedMaterialCount: catalog.filter((entry) => entry.textureFixture).length,
54
- source: "origin-master-examples-arch-viz-material-library-adapted",
55
- claimBoundary: "Catalog proves a deterministic local architectural material taxonomy for browser examples; it does not prove scanned material, Unity, or Unreal parity."
56
- };
57
- }
58
- export function architecturalMaterialDescriptor(id) {
59
- const descriptor = catalog.find((entry) => entry.id === id);
60
- if (!descriptor)
61
- throw new RangeError(`Unknown architectural material preset: ${id}`);
62
- return descriptor;
63
- }
64
- export function createArchitecturalMaterial(id) {
65
- const descriptor = architecturalMaterialDescriptor(id);
66
- const renderState = descriptor.category === "glass"
67
- ? { cullMode: "none", blend: true, depthWrite: false }
68
- : { cullMode: "none" };
69
- if (descriptor.textureFixture) {
70
- return new TexturedPBRMaterial({
71
- name: `architectural-${descriptor.id}`,
72
- baseColor: descriptor.baseColor,
73
- baseColorTexture: createProceduralTexture(descriptor.textureFixture, { width: 96, height: 96, label: `architectural-${descriptor.id}-texture` }),
74
- roughness: descriptor.roughness,
75
- metallic: descriptor.metallic,
76
- renderState
77
- });
78
- }
79
- return new PBRMaterial({
80
- name: `architectural-${descriptor.id}`,
81
- baseColor: descriptor.baseColor,
82
- roughness: descriptor.roughness,
83
- metallic: descriptor.metallic,
84
- renderState
85
- });
86
- }
87
- function material(id, label, category, baseColor, roughness, metallic, normalStrength, ambientOcclusion, textureFixture) {
88
- return { id, label, category, baseColor, roughness, metallic, normalStrength, ambientOcclusion, textureFixture, knownLimits };
89
- }
90
- //# sourceMappingURL=ArchitecturalMaterialCatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArchitecturalMaterialCatalog.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ArchitecturalMaterialCatalog.ts"],"names":[],"mappings":"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"}
@@ -1,265 +0,0 @@
1
- import { type BufferUsage, type DrawCommand, type LdrPostprocessPresentationOptions, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderSources } from "./RenderDevice.js";
2
- import { type BloomQualityPreset } from "./postprocess/NativeBloomPyramid.js";
3
- export interface LeanWebGL2DeviceOptions {
4
- readonly canvas: HTMLCanvasElement | OffscreenCanvas;
5
- readonly antialias?: boolean;
6
- readonly alpha?: boolean;
7
- readonly preserveDrawingBuffer?: boolean;
8
- readonly errorCheckMode?: LeanWebGL2ErrorCheckMode;
9
- }
10
- export type LeanWebGL2ErrorCheckMode = "strict" | "frame";
11
- export interface WebGL2BloomDiagnostics {
12
- readonly quality: BloomQualityPreset;
13
- readonly mipCount: number;
14
- readonly targetCount: number;
15
- readonly targetBytes: number;
16
- readonly compositeGain: number;
17
- readonly threshold: number;
18
- readonly intensity: number;
19
- readonly softKnee: number;
20
- readonly shoulder: number;
21
- readonly halfFloat: boolean;
22
- }
23
- export declare class LeanWebGL2Device implements RenderDevice {
24
- private readonly errorCheckMode;
25
- readonly kind = "webgl2";
26
- readonly info: RenderDeviceInfo;
27
- disposed: boolean;
28
- contextLost: boolean;
29
- private readonly gl;
30
- private nextId;
31
- private drawCalls;
32
- private buffers;
33
- private shaders;
34
- private renderTargets;
35
- private activeRenderTarget;
36
- private textures;
37
- private textureUploadModes;
38
- private fallbackTexture;
39
- private fallbackCubeTexture;
40
- private readonly samplerObjectCache;
41
- private presentationProgram;
42
- private ldrPostprocessProgram;
43
- private bloomBrightExtractProgram;
44
- private bloomBlurProgram;
45
- private bloomCompositeProgram;
46
- private bloomDownsampleProgram;
47
- private bloomAccumulateProgram;
48
- private bloomPyramidResources;
49
- private outlineProgram;
50
- private ssaoProgram;
51
- private ssrProgram;
52
- private depthOfFieldProgram;
53
- private motionBlurProgram;
54
- private motionBlurVelocityTexture;
55
- private motionBlurVelocitySize;
56
- private taaProgram;
57
- private taaHistoryTexture;
58
- private taaHistorySize;
59
- private bloomPingPongResources;
60
- private bloomBrightLutTexture;
61
- private bloomBrightLutThreshold;
62
- private bloomCompositeLutTexture;
63
- private bloomCompositeLutIntensity;
64
- private bloomCompositeLutShoulder;
65
- private lastBloomDiagnostics;
66
- private outlineBlendLutTexture;
67
- private outlineBlendLutKey;
68
- private depthReadbackProgram;
69
- private readonly uniformLocationCache;
70
- private readonly textureSamplerParameterCache;
71
- private readonly stateCache;
72
- private readonly textureUnitBindings;
73
- private readonly vertexArrayCache;
74
- private readonly vertexFormatIds;
75
- private presentationVertexArray;
76
- private activeTextureUnitIndex;
77
- private shaderProgramCreateCount;
78
- private uniformLocationLookupCount;
79
- private bufferUpdateCount;
80
- private textureBindCount;
81
- private samplerParameterUploadCount;
82
- private samplerAnisotropyUploadCount;
83
- private vertexArrayCreateCount;
84
- private nativeInstancedSubmissions;
85
- private nextVertexFormatId;
86
- private releasedTextureHandles;
87
- private nativeEnvironmentBindings;
88
- private nativeShadowMapBindings;
89
- private shadowRenderTargetsAllocated;
90
- private lastError;
91
- private frameActive;
92
- private viewportWidth;
93
- private viewportHeight;
94
- private readonly maxVertexAttributes;
95
- private readonly anisotropicFilteringExtension;
96
- private readonly maxTextureAnisotropy;
97
- /**
98
- * WS-2.6 — subscribers for context loss and restoration.
99
- *
100
- * The device has tracked `contextLost` since before 1.6 and acted on it internally, but nothing
101
- * could *observe* it: there was no callback, so a consumer could only poll `diagnostics()`. That is
102
- * why the parity table listed context-loss recovery as a gap while the listeners existed — the
103
- * device layer was never the gap, the absence of a public signal was.
104
- */
105
- private readonly deviceLostListeners;
106
- private readonly deviceRestoredListeners;
107
- private readonly contextLostListener?;
108
- private readonly contextRestoredListener?;
109
- private readonly canvas?;
110
- static create(options: LeanWebGL2DeviceOptions): LeanWebGL2Device;
111
- private constructor();
112
- /**
113
- * Subscribe to WebGL context loss. Returns an unsubscribe function.
114
- *
115
- * A lost context is not an error a caller can prevent — the browser reclaims GPU resources under
116
- * memory pressure, on driver reset, or when a tab is backgrounded too long. What a caller can do is
117
- * be told, so it can recreate resources rather than render nothing.
118
- */
119
- onDeviceLost(listener: () => void): () => void;
120
- /** Subscribe to context restoration. Returns an unsubscribe function. */
121
- onDeviceRestored(listener: () => void): () => void;
122
- /** True while the WebGL context is lost. Polling alternative to {@link onDeviceLost}. */
123
- isDeviceLost(): boolean;
124
- createBuffer(usage: BufferUsage, byteLength: number, initialData?: ArrayBufferView): RenderBuffer;
125
- updateBuffer(buffer: RenderBuffer, byteOffset: number, data: ArrayBufferView): void;
126
- readBuffer(buffer: RenderBuffer, byteOffset?: number, byteLength?: number): Uint8Array;
127
- createShaderProgram(sources: ShaderSources): RenderShaderProgram;
128
- createRenderTarget(descriptor: RenderTargetDescriptor): RenderTarget;
129
- setRenderTarget(target: RenderTarget | null): void;
130
- private resolveMultisampleTarget;
131
- writeRenderTargetPixels(target: RenderTarget, pixels: Uint8Array): void;
132
- presentRenderTarget(source: RenderTarget): void;
133
- presentLdrPostprocess(source: RenderTarget, options: LdrPostprocessPresentationOptions): void;
134
- readPixels(x: number, y: number, width: number, height: number): Uint8Array;
135
- readFloatPixels(x: number, y: number, width: number, height: number): Float32Array;
136
- readDepthPixels(x: number, y: number, width: number, height: number): Float32Array;
137
- beginFrame(width: number, height: number): void;
138
- clear(color: readonly [number, number, number, number]): void;
139
- clearRenderTarget(color: readonly [number, number, number, number]): void;
140
- draw(command: DrawCommand): void;
141
- endFrame(): void;
142
- captureState(): ReadonlyMap<string, string | number | boolean | null>;
143
- getDiagnostics(): RenderDeviceDiagnostics;
144
- dispose(): void;
145
- private copyDepthTextureToBytes;
146
- private drawRenderTargetToBackbuffer;
147
- private ensureBloomPingPongResources;
148
- private ensureBloomLutTextures;
149
- private createNativeBloomDataTexture;
150
- private ensureOutlineBlendLutTexture;
151
- private ensureMotionBlurVelocityTexture;
152
- private ensureTaaHistoryTexture;
153
- private drawNativeLdrStage;
154
- private executeNativeBloomPasses;
155
- /**
156
- * Balanced/cinematic bloom: bright-extract once, then a half-resolution mip
157
- * chain where every level is downsampled, separably blurred, and accumulated
158
- * with its energy-preserving weight. Returns a full-resolution bloom texture
159
- * holding the weighted sum, ready for the existing composite program.
160
- */
161
- private executeNativeBloomPyramidPasses;
162
- private executeNativeOutlinePasses;
163
- private executeNativeSsaoPass;
164
- private executeNativeSsrPass;
165
- private executeNativeDepthOfFieldPass;
166
- private executeNativeMotionBlurPass;
167
- private executeNativeTaaPass;
168
- private bindFullscreenTexture;
169
- private disposeBloomPingPongResources;
170
- /**
171
- * Diagnostics for the most recent native bloom execution (muse3jsparity-PRD
172
- * A1). Null when no native bloom pass has run yet on this device.
173
- */
174
- getBloomDiagnostics(): WebGL2BloomDiagnostics | null;
175
- private recordBloomDiagnostics;
176
- /**
177
- * PART U: every live GPU allocation with bytes + lane owner — registry
178
- * render targets (B1 shadow maps arrive labeled, B4 captures arrive as
179
- * `-mirror-target`/`-scene-color-target`) plus the raw-handle residents the
180
- * registry set cannot see: the A1 bloom pyramid (two targets per mip plus
181
- * two level-0 accumulators), the legacy bloom ping-pong pair, the A1/A3
182
- * lookup textures, and the motion-blur/taa history textures. The
183
- * depth-readback scratch pair is intentionally absent: it is allocated and
184
- * deleted inside one synchronous call, so it is never live at a diagnostics
185
- * boundary. A5 volumetric light, C4 decals, and the G1 SDF atlas own no GPU
186
- * target (forward uniforms + CPU kernel, CPU geometry, CPU atlas data), so
187
- * no entry is emitted for them; a target appearing under their owner would
188
- * be the signal that the lane grew one.
189
- */
190
- private describeGpuTargetInventory;
191
- private disposeBloomPyramidResources;
192
- /**
193
- * Mip-chain targets for the balanced/cinematic bloom pyramid. Each level is a
194
- * single texture+framebuffer at the planned size with linear filtering so the
195
- * downsample and accumulate passes can sample across levels. Half-float backs
196
- * the chain when the source is HDR or the cinematic preset requests it.
197
- */
198
- private ensureBloomPyramidResources;
199
- private captureTextureUnit0;
200
- private restoreTextureUnit0;
201
- private captureTextureUnitBinding;
202
- private restoreTextureUnitBinding;
203
- private prepareFullscreenPresentation;
204
- private restoreFullscreenPresentationState;
205
- private ensurePresentationVertexArray;
206
- private ensureDepthReadbackProgram;
207
- private ensurePresentationProgram;
208
- private ensureBloomBrightExtractProgram;
209
- private ensureBloomBlurProgram;
210
- private ensureBloomCompositeProgram;
211
- private ensureBloomDownsampleProgram;
212
- private ensureBloomAccumulateProgram;
213
- private ensureOutlineProgram;
214
- private ensureSsaoProgram;
215
- private ensureSsrProgram;
216
- private ensureDepthOfFieldProgram;
217
- private ensureMotionBlurProgram;
218
- private ensureTaaProgram;
219
- private createFullscreenProgram;
220
- private ensureLdrPostprocessProgram;
221
- private compileShader;
222
- private reflectProgram;
223
- private uploadUniforms;
224
- private getUniformLocation;
225
- private uploadTextureUniform;
226
- private activateTextureUnit;
227
- private bindTextureForUnit;
228
- private setTextureParameterIfNeeded;
229
- private applySamplerAnisotropy;
230
- private getSamplerHandle;
231
- private samplerKey;
232
- private getFallbackTextureHandle;
233
- private getFallbackCubeTextureHandle;
234
- private getTextureHandle;
235
- private uploadCubeTexture;
236
- private uploadRgba8FallbackTexture;
237
- private cubeFaceTarget;
238
- private rgba8TextureInternalFormat;
239
- private textureUploadFormat;
240
- private resolveRenderTargetFormat;
241
- private releaseDisposedTextureHandles;
242
- private resolveCompressedTextureFormat;
243
- private magFilter;
244
- private minFilter;
245
- private addressMode;
246
- private bindVertexFormat;
247
- private bindVertexArrayForCommand;
248
- private bindNoVertexArray;
249
- private vertexArrayCacheKey;
250
- private vertexFormatId;
251
- private bindInstanceAttributes;
252
- private resolveAttributeLocation;
253
- private applyDefaultAttributes;
254
- private disableUnboundVertexAttributes;
255
- private primitive;
256
- private applyRenderState;
257
- private requireBuffer;
258
- private stencilCompare;
259
- private stencilOperation;
260
- private requireShader;
261
- private assertAlive;
262
- private assertFrame;
263
- private readError;
264
- }
265
- //# sourceMappingURL=LeanWebGL2Device.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeanWebGL2Device.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/LeanWebGL2Device.ts"],"names":[],"mappings":"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"}