@fps-games/engine 0.0.1-beta.1 → 0.0.1-beta.10

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 (326) hide show
  1. package/dist/asset-resource.d.ts +39 -0
  2. package/dist/asset-resource.d.ts.map +1 -0
  3. package/dist/asset-resource.js +121 -0
  4. package/dist/asset-resource.js.map +1 -0
  5. package/dist/babylon/camera.d.ts +25 -0
  6. package/dist/babylon/camera.d.ts.map +1 -0
  7. package/dist/babylon/camera.js +149 -0
  8. package/dist/babylon/camera.js.map +1 -0
  9. package/dist/babylon/frame-pump.d.ts +27 -0
  10. package/dist/babylon/frame-pump.d.ts.map +1 -0
  11. package/dist/babylon/frame-pump.js +90 -0
  12. package/dist/babylon/frame-pump.js.map +1 -0
  13. package/dist/babylon/game-world-plugin-lifecycle.d.ts +26 -0
  14. package/dist/babylon/game-world-plugin-lifecycle.d.ts.map +1 -0
  15. package/dist/babylon/game-world-plugin-lifecycle.js +257 -0
  16. package/dist/babylon/game-world-plugin-lifecycle.js.map +1 -0
  17. package/dist/babylon/lighting-controller.d.ts +27 -0
  18. package/dist/babylon/lighting-controller.d.ts.map +1 -0
  19. package/dist/babylon/lighting-controller.js +272 -0
  20. package/dist/babylon/lighting-controller.js.map +1 -0
  21. package/dist/babylon/plugin-contract.d.ts +15 -0
  22. package/dist/babylon/plugin-contract.d.ts.map +1 -0
  23. package/dist/babylon/plugin-contract.js +9 -0
  24. package/dist/babylon/plugin-contract.js.map +1 -0
  25. package/dist/babylon/renderer/brdf-texture-settlement.d.ts +7 -0
  26. package/dist/babylon/renderer/brdf-texture-settlement.d.ts.map +1 -0
  27. package/dist/babylon/renderer/brdf-texture-settlement.js +29 -0
  28. package/dist/babylon/renderer/brdf-texture-settlement.js.map +1 -0
  29. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts +7 -0
  30. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts.map +1 -0
  31. package/dist/babylon/renderer/environment/environment-texture-controller.js +357 -0
  32. package/dist/babylon/renderer/environment/environment-texture-controller.js.map +1 -0
  33. package/dist/babylon/renderer/environment/index.d.ts +4 -0
  34. package/dist/babylon/renderer/environment/index.d.ts.map +1 -0
  35. package/dist/babylon/renderer/environment/index.js +4 -0
  36. package/dist/babylon/renderer/environment/index.js.map +1 -0
  37. package/dist/babylon/renderer/environment/profile.d.ts +3 -0
  38. package/dist/babylon/renderer/environment/profile.d.ts.map +1 -0
  39. package/dist/babylon/renderer/environment/profile.js +27 -0
  40. package/dist/babylon/renderer/environment/profile.js.map +1 -0
  41. package/dist/babylon/renderer/environment/types.d.ts +24 -0
  42. package/dist/babylon/renderer/environment/types.d.ts.map +1 -0
  43. package/dist/babylon/renderer/environment/types.js +6 -0
  44. package/dist/babylon/renderer/environment/types.js.map +1 -0
  45. package/dist/babylon/renderer/index.d.ts +25 -0
  46. package/dist/babylon/renderer/index.d.ts.map +1 -0
  47. package/dist/babylon/renderer/index.js +25 -0
  48. package/dist/babylon/renderer/index.js.map +1 -0
  49. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts +17 -0
  50. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts.map +1 -0
  51. package/dist/babylon/renderer/lighting/directional-light-angles.js +67 -0
  52. package/dist/babylon/renderer/lighting/directional-light-angles.js.map +1 -0
  53. package/dist/babylon/renderer/material-owner-candidates.d.ts +19 -0
  54. package/dist/babylon/renderer/material-owner-candidates.d.ts.map +1 -0
  55. package/dist/babylon/renderer/material-owner-candidates.js +212 -0
  56. package/dist/babylon/renderer/material-owner-candidates.js.map +1 -0
  57. package/dist/babylon/renderer/materials/index.d.ts +3 -0
  58. package/dist/babylon/renderer/materials/index.d.ts.map +1 -0
  59. package/dist/babylon/renderer/materials/index.js +3 -0
  60. package/dist/babylon/renderer/materials/index.js.map +1 -0
  61. package/dist/babylon/renderer/materials/material-runtime.d.ts +29 -0
  62. package/dist/babylon/renderer/materials/material-runtime.d.ts.map +1 -0
  63. package/dist/babylon/renderer/materials/material-runtime.js +660 -0
  64. package/dist/babylon/renderer/materials/material-runtime.js.map +1 -0
  65. package/dist/babylon/renderer/materials/material-slot-owner.d.ts +42 -0
  66. package/dist/babylon/renderer/materials/material-slot-owner.d.ts.map +1 -0
  67. package/dist/babylon/renderer/materials/material-slot-owner.js +318 -0
  68. package/dist/babylon/renderer/materials/material-slot-owner.js.map +1 -0
  69. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts +4 -0
  70. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts.map +1 -0
  71. package/dist/babylon/renderer/outlines/babylon-default/apply.js +45 -0
  72. package/dist/babylon/renderer/outlines/babylon-default/apply.js.map +1 -0
  73. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts +3 -0
  74. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts.map +1 -0
  75. package/dist/babylon/renderer/outlines/babylon-default/index.js +2 -0
  76. package/dist/babylon/renderer/outlines/babylon-default/index.js.map +1 -0
  77. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts +7 -0
  78. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts.map +1 -0
  79. package/dist/babylon/renderer/outlines/babylon-default/types.js +2 -0
  80. package/dist/babylon/renderer/outlines/babylon-default/types.js.map +1 -0
  81. package/dist/babylon/renderer/outlines/index.d.ts +4 -0
  82. package/dist/babylon/renderer/outlines/index.d.ts.map +1 -0
  83. package/dist/babylon/renderer/outlines/index.js +3 -0
  84. package/dist/babylon/renderer/outlines/index.js.map +1 -0
  85. package/dist/babylon/renderer/outlines/runtime-override.d.ts +36 -0
  86. package/dist/babylon/renderer/outlines/runtime-override.d.ts.map +1 -0
  87. package/dist/babylon/renderer/outlines/runtime-override.js +131 -0
  88. package/dist/babylon/renderer/outlines/runtime-override.js.map +1 -0
  89. package/dist/babylon/renderer/outlines/types.d.ts +7 -0
  90. package/dist/babylon/renderer/outlines/types.d.ts.map +1 -0
  91. package/dist/babylon/renderer/outlines/types.js +2 -0
  92. package/dist/babylon/renderer/outlines/types.js.map +1 -0
  93. package/dist/babylon/renderer/placement/index.d.ts +2 -0
  94. package/dist/babylon/renderer/placement/index.d.ts.map +1 -0
  95. package/dist/babylon/renderer/placement/index.js +2 -0
  96. package/dist/babylon/renderer/placement/index.js.map +1 -0
  97. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts +24 -0
  98. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts.map +1 -0
  99. package/dist/babylon/renderer/placement/runtime-drop-position.js +63 -0
  100. package/dist/babylon/renderer/placement/runtime-drop-position.js.map +1 -0
  101. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts +7 -0
  102. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts.map +1 -0
  103. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js +301 -0
  104. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js.map +1 -0
  105. package/dist/babylon/renderer/post-process/index.d.ts +5 -0
  106. package/dist/babylon/renderer/post-process/index.d.ts.map +1 -0
  107. package/dist/babylon/renderer/post-process/index.js +5 -0
  108. package/dist/babylon/renderer/post-process/index.js.map +1 -0
  109. package/dist/babylon/renderer/post-process/profile.d.ts +5 -0
  110. package/dist/babylon/renderer/post-process/profile.d.ts.map +1 -0
  111. package/dist/babylon/renderer/post-process/profile.js +155 -0
  112. package/dist/babylon/renderer/post-process/profile.js.map +1 -0
  113. package/dist/babylon/renderer/post-process/types.d.ts +81 -0
  114. package/dist/babylon/renderer/post-process/types.d.ts.map +1 -0
  115. package/dist/babylon/renderer/post-process/types.js +24 -0
  116. package/dist/babylon/renderer/post-process/types.js.map +1 -0
  117. package/dist/babylon/renderer/post-process/volume-stack.d.ts +4 -0
  118. package/dist/babylon/renderer/post-process/volume-stack.d.ts.map +1 -0
  119. package/dist/babylon/renderer/post-process/volume-stack.js +105 -0
  120. package/dist/babylon/renderer/post-process/volume-stack.js.map +1 -0
  121. package/dist/babylon/renderer/rendering/image-node.d.ts +35 -0
  122. package/dist/babylon/renderer/rendering/image-node.d.ts.map +1 -0
  123. package/dist/babylon/renderer/rendering/image-node.js +39 -0
  124. package/dist/babylon/renderer/rendering/image-node.js.map +1 -0
  125. package/dist/babylon/renderer/rendering/index.d.ts +3 -0
  126. package/dist/babylon/renderer/rendering/index.d.ts.map +1 -0
  127. package/dist/babylon/renderer/rendering/index.js +3 -0
  128. package/dist/babylon/renderer/rendering/index.js.map +1 -0
  129. package/dist/babylon/renderer/rendering/node-rendering.d.ts +19 -0
  130. package/dist/babylon/renderer/rendering/node-rendering.d.ts.map +1 -0
  131. package/dist/babylon/renderer/rendering/node-rendering.js +66 -0
  132. package/dist/babylon/renderer/rendering/node-rendering.js.map +1 -0
  133. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts +5 -0
  134. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts.map +1 -0
  135. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js +46 -0
  136. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js.map +1 -0
  137. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts +5 -0
  138. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts.map +1 -0
  139. package/dist/babylon/renderer/shadows/blob-shadow-system.js +402 -0
  140. package/dist/babylon/renderer/shadows/blob-shadow-system.js.map +1 -0
  141. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts +84 -0
  142. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts.map +1 -0
  143. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js +566 -0
  144. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js.map +1 -0
  145. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts +7 -0
  146. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts.map +1 -0
  147. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js +316 -0
  148. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js.map +1 -0
  149. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts +5 -0
  150. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts.map +1 -0
  151. package/dist/babylon/renderer/shadows/planar-shadow-system.js +1562 -0
  152. package/dist/babylon/renderer/shadows/planar-shadow-system.js.map +1 -0
  153. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts +14 -0
  154. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts.map +1 -0
  155. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js +14 -0
  156. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js.map +1 -0
  157. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts +68 -0
  158. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  159. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js +829 -0
  160. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  161. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts +148 -0
  162. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  163. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js +4529 -0
  164. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js.map +1 -0
  165. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts +4 -0
  166. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts.map +1 -0
  167. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js +645 -0
  168. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js.map +1 -0
  169. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts +61 -0
  170. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts.map +1 -0
  171. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js +382 -0
  172. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js.map +1 -0
  173. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts +47 -0
  174. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts.map +1 -0
  175. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js +285 -0
  176. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js.map +1 -0
  177. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts +88 -0
  178. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts.map +1 -0
  179. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js +830 -0
  180. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js.map +1 -0
  181. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts +3 -0
  182. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts.map +1 -0
  183. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js +60 -0
  184. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js.map +1 -0
  185. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts +27 -0
  186. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts.map +1 -0
  187. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js +220 -0
  188. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js.map +1 -0
  189. package/dist/babylon/renderer/shadows/types.d.ts +421 -0
  190. package/dist/babylon/renderer/shadows/types.d.ts.map +1 -0
  191. package/dist/babylon/renderer/shadows/types.js +127 -0
  192. package/dist/babylon/renderer/shadows/types.js.map +1 -0
  193. package/dist/babylon/renderer/world-rendering-controller.d.ts +29 -0
  194. package/dist/babylon/renderer/world-rendering-controller.d.ts.map +1 -0
  195. package/dist/babylon/renderer/world-rendering-controller.js +160 -0
  196. package/dist/babylon/renderer/world-rendering-controller.js.map +1 -0
  197. package/dist/babylon/renderer-controller.d.ts +93 -0
  198. package/dist/babylon/renderer-controller.d.ts.map +1 -0
  199. package/dist/babylon/renderer-controller.js +706 -0
  200. package/dist/babylon/renderer-controller.js.map +1 -0
  201. package/dist/babylon/scene-renderer.d.ts +20 -0
  202. package/dist/babylon/scene-renderer.d.ts.map +1 -0
  203. package/dist/babylon/scene-renderer.js +60 -0
  204. package/dist/babylon/scene-renderer.js.map +1 -0
  205. package/dist/babylon.d.ts +8 -0
  206. package/dist/babylon.d.ts.map +1 -1
  207. package/dist/babylon.js +8 -0
  208. package/dist/babylon.js.map +1 -1
  209. package/dist/build-info.json +4 -4
  210. package/dist/camera.d.ts +25 -0
  211. package/dist/camera.d.ts.map +1 -0
  212. package/dist/camera.js +68 -0
  213. package/dist/camera.js.map +1 -0
  214. package/dist/compiled-scene-data.d.ts +23 -0
  215. package/dist/compiled-scene-data.d.ts.map +1 -0
  216. package/dist/compiled-scene-data.js +100 -0
  217. package/dist/compiled-scene-data.js.map +1 -0
  218. package/dist/frame.d.ts +32 -0
  219. package/dist/frame.d.ts.map +1 -0
  220. package/dist/frame.js +54 -0
  221. package/dist/frame.js.map +1 -0
  222. package/dist/ground-decal.d.ts +22 -0
  223. package/dist/ground-decal.d.ts.map +1 -0
  224. package/dist/ground-decal.js +48 -0
  225. package/dist/ground-decal.js.map +1 -0
  226. package/dist/index.d.ts +17 -1
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +17 -1
  229. package/dist/index.js.map +1 -1
  230. package/dist/lighting.d.ts +66 -0
  231. package/dist/lighting.d.ts.map +1 -0
  232. package/dist/lighting.js +197 -0
  233. package/dist/lighting.js.map +1 -0
  234. package/dist/material-owner.d.ts +128 -0
  235. package/dist/material-owner.d.ts.map +1 -0
  236. package/dist/material-owner.js +434 -0
  237. package/dist/material-owner.js.map +1 -0
  238. package/dist/material-profile.d.ts +62 -0
  239. package/dist/material-profile.d.ts.map +1 -0
  240. package/dist/material-profile.js +132 -0
  241. package/dist/material-profile.js.map +1 -0
  242. package/dist/rendering/index.d.ts +14 -0
  243. package/dist/rendering/index.d.ts.map +1 -0
  244. package/dist/rendering/index.js +12 -0
  245. package/dist/rendering/index.js.map +1 -0
  246. package/dist/rendering/rendering-profile-types.d.ts +322 -0
  247. package/dist/rendering/rendering-profile-types.d.ts.map +1 -0
  248. package/dist/rendering/rendering-profile-types.js +2 -0
  249. package/dist/rendering/rendering-profile-types.js.map +1 -0
  250. package/dist/rendering/rendering-profile-validation.d.ts +2 -0
  251. package/dist/rendering/rendering-profile-validation.d.ts.map +1 -0
  252. package/dist/rendering/rendering-profile-validation.js +364 -0
  253. package/dist/rendering/rendering-profile-validation.js.map +1 -0
  254. package/dist/rendering/rendering-profile-values.d.ts +19 -0
  255. package/dist/rendering/rendering-profile-values.d.ts.map +1 -0
  256. package/dist/rendering/rendering-profile-values.js +79 -0
  257. package/dist/rendering/rendering-profile-values.js.map +1 -0
  258. package/dist/rendering/rendering-profile.d.ts +15 -0
  259. package/dist/rendering/rendering-profile.d.ts.map +1 -0
  260. package/dist/rendering/rendering-profile.js +442 -0
  261. package/dist/rendering/rendering-profile.js.map +1 -0
  262. package/dist/rendering/shadow-map-experiment-depth.d.ts +63 -0
  263. package/dist/rendering/shadow-map-experiment-depth.d.ts.map +1 -0
  264. package/dist/rendering/shadow-map-experiment-depth.js +186 -0
  265. package/dist/rendering/shadow-map-experiment-depth.js.map +1 -0
  266. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts +94 -0
  267. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  268. package/dist/rendering/shadow-map-experiment-lifecycle.js +407 -0
  269. package/dist/rendering/shadow-map-experiment-lifecycle.js.map +1 -0
  270. package/dist/rendering/shadow-map-experiment.d.ts +189 -0
  271. package/dist/rendering/shadow-map-experiment.d.ts.map +1 -0
  272. package/dist/rendering/shadow-map-experiment.js +549 -0
  273. package/dist/rendering/shadow-map-experiment.js.map +1 -0
  274. package/dist/rendering/shadow-quality.d.ts +5 -0
  275. package/dist/rendering/shadow-quality.d.ts.map +1 -0
  276. package/dist/rendering/shadow-quality.js +83 -0
  277. package/dist/rendering/shadow-quality.js.map +1 -0
  278. package/dist/rendering/shadow-runtime.d.ts +59 -0
  279. package/dist/rendering/shadow-runtime.d.ts.map +1 -0
  280. package/dist/rendering/shadow-runtime.js +378 -0
  281. package/dist/rendering/shadow-runtime.js.map +1 -0
  282. package/dist/rendering/shadow-settings.d.ts +15 -0
  283. package/dist/rendering/shadow-settings.d.ts.map +1 -0
  284. package/dist/rendering/shadow-settings.js +129 -0
  285. package/dist/rendering/shadow-settings.js.map +1 -0
  286. package/dist/rendering/shadow-types.d.ts +99 -0
  287. package/dist/rendering/shadow-types.d.ts.map +1 -0
  288. package/dist/rendering/shadow-types.js +5 -0
  289. package/dist/rendering/shadow-types.js.map +1 -0
  290. package/dist/rendering/shadow-validation.d.ts +3 -0
  291. package/dist/rendering/shadow-validation.d.ts.map +1 -0
  292. package/dist/rendering/shadow-validation.js +166 -0
  293. package/dist/rendering/shadow-validation.js.map +1 -0
  294. package/dist/rendering/value.d.ts +2 -0
  295. package/dist/rendering/value.d.ts.map +1 -0
  296. package/dist/rendering/value.js +6 -0
  297. package/dist/rendering/value.js.map +1 -0
  298. package/dist/runtime-data-token.d.ts +4 -0
  299. package/dist/runtime-data-token.d.ts.map +1 -0
  300. package/dist/runtime-data-token.js +4 -0
  301. package/dist/runtime-data-token.js.map +1 -0
  302. package/dist/runtime-data-types.d.ts +83 -0
  303. package/dist/runtime-data-types.d.ts.map +1 -0
  304. package/dist/runtime-data-types.js +2 -0
  305. package/dist/runtime-data-types.js.map +1 -0
  306. package/dist/runtime-data.d.ts +18 -0
  307. package/dist/runtime-data.d.ts.map +1 -0
  308. package/dist/runtime-data.js +301 -0
  309. package/dist/runtime-data.js.map +1 -0
  310. package/dist/runtime-scene-resolvers.d.ts +37 -0
  311. package/dist/runtime-scene-resolvers.d.ts.map +1 -0
  312. package/dist/runtime-scene-resolvers.js +40 -0
  313. package/dist/runtime-scene-resolvers.js.map +1 -0
  314. package/dist/scene-artifact-types.d.ts +383 -0
  315. package/dist/scene-artifact-types.d.ts.map +1 -0
  316. package/dist/scene-artifact-types.js +2 -0
  317. package/dist/scene-artifact-types.js.map +1 -0
  318. package/dist/scene-artifact-validation.d.ts +19 -0
  319. package/dist/scene-artifact-validation.d.ts.map +1 -0
  320. package/dist/scene-artifact-validation.js +1352 -0
  321. package/dist/scene-artifact-validation.js.map +1 -0
  322. package/dist/static-shadow-artifact.d.ts +131 -0
  323. package/dist/static-shadow-artifact.d.ts.map +1 -0
  324. package/dist/static-shadow-artifact.js +327 -0
  325. package/dist/static-shadow-artifact.js.map +1 -0
  326. package/package.json +11 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EAIrC,KAAK,oCAAoC,EAE1C,MAAM,YAAY,CAAC;AAMpB,wBAAgB,yCAAyC,CAAC,KAAK,EAAE,OAAO,GAAG,gCAAgC,CA8B1G;AAED,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,OAAO,GAAG,oCAAoC,CA4BlH;AAuDD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlE"}
@@ -0,0 +1,155 @@
1
+ import { DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE, DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID, } from './types.js';
2
+ const POST_PROCESS_SAMPLE_VALUES = [1, 2, 4, 8];
3
+ export function normalizeBabylonDefaultPostProcessProfile(value) {
4
+ const source = readRecord(value);
5
+ const fallback = DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE;
6
+ const imageProcessing = readRecord(source.imageProcessing);
7
+ const toneMapping = readRecord(source.toneMapping);
8
+ const antialiasing = readRecord(source.antialiasing);
9
+ const bloom = readRecord(source.bloom);
10
+ return {
11
+ enabled: readBoolean(source.enabled, fallback.enabled),
12
+ hdr: readBoolean(source.hdr, fallback.hdr),
13
+ imageProcessing: {
14
+ exposure: readFiniteNumber(imageProcessing.exposure, fallback.imageProcessing.exposure),
15
+ contrast: readFiniteNumber(imageProcessing.contrast, fallback.imageProcessing.contrast),
16
+ },
17
+ toneMapping: {
18
+ enabled: readBoolean(toneMapping.enabled, fallback.toneMapping.enabled),
19
+ type: readToneMappingType(toneMapping.type, fallback.toneMapping.type),
20
+ },
21
+ antialiasing: {
22
+ samples: readSamples(antialiasing.samples, fallback.antialiasing.samples),
23
+ },
24
+ bloom: {
25
+ enabled: readBoolean(bloom.enabled, fallback.bloom.enabled),
26
+ threshold: readNonNegativeNumber(bloom.threshold, fallback.bloom.threshold),
27
+ weight: readNonNegativeNumber(bloom.weight, fallback.bloom.weight),
28
+ kernel: readNonNegativeNumber(bloom.kernel, fallback.bloom.kernel),
29
+ scale: readPositiveNumber(bloom.scale, fallback.bloom.scale),
30
+ },
31
+ };
32
+ }
33
+ export function normalizeBabylonDefaultPostProcessVolumeStack(value) {
34
+ const root = readRecord(value);
35
+ const explicitVolumes = Array.isArray(root.postProcessVolumes)
36
+ ? root.postProcessVolumes
37
+ : Array.isArray(root.volumes)
38
+ ? root.volumes
39
+ : null;
40
+ if (explicitVolumes) {
41
+ const volumes = explicitVolumes
42
+ .map((volume, index) => normalizePostProcessVolume(volume, index))
43
+ .filter((volume) => !!volume);
44
+ return { volumes };
45
+ }
46
+ const globalVolume = readRecord(root.globalVolume);
47
+ const globalProfile = createProfileFromGlobalVolume(globalVolume);
48
+ return {
49
+ volumes: [{
50
+ id: DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID,
51
+ enabled: true,
52
+ global: true,
53
+ priority: 0,
54
+ blendWeight: 1,
55
+ blendRadius: 0,
56
+ shape: null,
57
+ profile: globalProfile,
58
+ }],
59
+ };
60
+ }
61
+ function normalizePostProcessVolume(value, index) {
62
+ const source = readRecord(value);
63
+ const enabled = readBoolean(source.enabled, true);
64
+ const global = readBoolean(source.global, false);
65
+ const shape = global ? null : readShape(source.shape);
66
+ if (!global && !shape)
67
+ return null;
68
+ return {
69
+ id: readString(source.id, `post-process-volume-${index + 1}`),
70
+ enabled,
71
+ global,
72
+ priority: readFiniteNumber(source.priority, 0),
73
+ blendWeight: readClampedNumber(source.blendWeight, 1, 0, 1),
74
+ blendRadius: readNonNegativeNumber(source.blendRadius, 0),
75
+ shape,
76
+ profile: normalizeBabylonDefaultPostProcessProfile(readRecord(source.profile)),
77
+ };
78
+ }
79
+ function createProfileFromGlobalVolume(globalVolume) {
80
+ const imageProcessing = readRecord(globalVolume.imageProcessing);
81
+ const postProcessing = readRecord(globalVolume.postProcessing);
82
+ const bloom = readRecord(postProcessing.bloom);
83
+ return normalizeBabylonDefaultPostProcessProfile({
84
+ enabled: globalVolume.enabled,
85
+ hdr: globalVolume.hdr,
86
+ imageProcessing: {
87
+ exposure: imageProcessing.exposure,
88
+ contrast: imageProcessing.contrast,
89
+ },
90
+ toneMapping: readRecord(globalVolume.toneMapping),
91
+ antialiasing: {
92
+ samples: readRecord(globalVolume.antialiasing).samples,
93
+ },
94
+ bloom,
95
+ });
96
+ }
97
+ function readShape(value) {
98
+ const source = readRecord(value);
99
+ const type = source.type;
100
+ if (type === 'sphere') {
101
+ const center = readVec3(source.center, { x: 0, y: 0, z: 0 });
102
+ const radius = readPositiveNumber(source.radius, 0);
103
+ return radius > 0 ? { type, center, radius } : null;
104
+ }
105
+ if (type === 'box') {
106
+ const center = readVec3(source.center, { x: 0, y: 0, z: 0 });
107
+ const size = readVec3(source.size, { x: 0, y: 0, z: 0 });
108
+ return size.x > 0 && size.y > 0 && size.z > 0 ? { type, center, size } : null;
109
+ }
110
+ return null;
111
+ }
112
+ export function readRecord(value) {
113
+ return value && typeof value === 'object' && !Array.isArray(value)
114
+ ? value
115
+ : {};
116
+ }
117
+ function readString(value, fallback) {
118
+ return typeof value === 'string' && value.trim() ? value : fallback;
119
+ }
120
+ function readBoolean(value, fallback) {
121
+ return typeof value === 'boolean' ? value : fallback;
122
+ }
123
+ function readFiniteNumber(value, fallback) {
124
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
125
+ }
126
+ function readNonNegativeNumber(value, fallback) {
127
+ const numberValue = readFiniteNumber(value, fallback);
128
+ return Math.max(0, numberValue);
129
+ }
130
+ function readPositiveNumber(value, fallback) {
131
+ const numberValue = readFiniteNumber(value, fallback);
132
+ return numberValue > 0 ? numberValue : fallback;
133
+ }
134
+ function readClampedNumber(value, fallback, min, max) {
135
+ const numberValue = readFiniteNumber(value, fallback);
136
+ return Math.min(max, Math.max(min, numberValue));
137
+ }
138
+ function readSamples(value, fallback) {
139
+ const numberValue = readFiniteNumber(value, fallback);
140
+ return POST_PROCESS_SAMPLE_VALUES.includes(numberValue)
141
+ ? numberValue
142
+ : fallback;
143
+ }
144
+ function readToneMappingType(value, fallback) {
145
+ return value === 'standard' || value === 'aces' || value === 'khr-pbr-neutral' ? value : fallback;
146
+ }
147
+ function readVec3(value, fallback) {
148
+ const source = readRecord(value);
149
+ return {
150
+ x: readFiniteNumber(source.x, fallback.x),
151
+ y: readFiniteNumber(source.y, fallback.y),
152
+ z: readFiniteNumber(source.z, fallback.z),
153
+ };
154
+ }
155
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export type BabylonDefaultToneMappingType = 'standard' | 'aces' | 'khr-pbr-neutral';
2
+ export type BabylonDefaultPostProcessSamples = 1 | 2 | 4 | 8;
3
+ export interface BabylonDefaultPostProcessVec3 {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ }
8
+ export interface BabylonDefaultPostProcessProfile {
9
+ enabled: boolean;
10
+ hdr: boolean;
11
+ imageProcessing: {
12
+ exposure: number;
13
+ contrast: number;
14
+ };
15
+ toneMapping: {
16
+ enabled: boolean;
17
+ type: BabylonDefaultToneMappingType;
18
+ };
19
+ antialiasing: {
20
+ samples: BabylonDefaultPostProcessSamples;
21
+ };
22
+ bloom: {
23
+ enabled: boolean;
24
+ threshold: number;
25
+ weight: number;
26
+ kernel: number;
27
+ scale: number;
28
+ };
29
+ }
30
+ export type PostProcessVolumeShape = {
31
+ type: 'sphere';
32
+ center: BabylonDefaultPostProcessVec3;
33
+ radius: number;
34
+ } | {
35
+ type: 'box';
36
+ center: BabylonDefaultPostProcessVec3;
37
+ size: BabylonDefaultPostProcessVec3;
38
+ };
39
+ export interface BabylonDefaultPostProcessVolume {
40
+ id: string;
41
+ enabled: boolean;
42
+ global: boolean;
43
+ priority: number;
44
+ blendWeight: number;
45
+ blendRadius: number;
46
+ shape: PostProcessVolumeShape | null;
47
+ profile: BabylonDefaultPostProcessProfile;
48
+ }
49
+ export interface BabylonDefaultPostProcessVolumeStack {
50
+ volumes: BabylonDefaultPostProcessVolume[];
51
+ }
52
+ export interface BabylonDefaultPostProcessResolveInput {
53
+ cameraPosition?: BabylonDefaultPostProcessVec3 | null;
54
+ }
55
+ export interface BabylonDefaultPostProcessResolvedVolume {
56
+ id: string;
57
+ priority: number;
58
+ influence: number;
59
+ global: boolean;
60
+ }
61
+ export interface BabylonDefaultPostProcessResolveResult {
62
+ profile: BabylonDefaultPostProcessProfile;
63
+ structuralKey: string;
64
+ activeVolumes: BabylonDefaultPostProcessResolvedVolume[];
65
+ }
66
+ export interface BabylonDefaultPostProcessPipelineController {
67
+ addCamera(camera: Camera): void;
68
+ removeCamera(camera: Camera): void;
69
+ setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void;
70
+ getProfile(): BabylonDefaultPostProcessProfile | null;
71
+ getPipeline(): unknown | null;
72
+ dispose(): void;
73
+ }
74
+ export interface BabylonDefaultPostProcessPipelineControllerOptions {
75
+ name?: string;
76
+ fxaaEnabled?: boolean;
77
+ }
78
+ export declare const DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID = "global-post-process-volume";
79
+ export declare const DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE: BabylonDefaultPostProcessProfile;
80
+ import type { Camera } from '@babylonjs/core/Cameras/camera.js';
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export const DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID = 'global-post-process-volume';
2
+ export const DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE = {
3
+ enabled: true,
4
+ hdr: true,
5
+ imageProcessing: {
6
+ exposure: 1,
7
+ contrast: 1,
8
+ },
9
+ toneMapping: {
10
+ enabled: true,
11
+ type: 'aces',
12
+ },
13
+ antialiasing: {
14
+ samples: 4,
15
+ },
16
+ bloom: {
17
+ enabled: false,
18
+ threshold: 0.9,
19
+ weight: 0.2,
20
+ kernel: 64,
21
+ scale: 0.5,
22
+ },
23
+ };
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/types.ts"],"names":[],"mappings":"AA2FA,MAAM,CAAC,MAAM,sCAAsC,GAAG,4BAA4B,CAAC;AAEnF,MAAM,CAAC,MAAM,4CAA4C,GAAqC;IAC5F,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM;KACb;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;KACX;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type BabylonDefaultPostProcessProfile, type BabylonDefaultPostProcessResolveInput, type BabylonDefaultPostProcessResolveResult, type BabylonDefaultPostProcessVolumeStack } from './types.js';
2
+ export declare function resolveBabylonDefaultPostProcessVolumeStack(value: BabylonDefaultPostProcessVolumeStack | unknown, input?: BabylonDefaultPostProcessResolveInput): BabylonDefaultPostProcessResolveResult;
3
+ export declare function createPostProcessStructuralKey(profile: BabylonDefaultPostProcessProfile): string;
4
+ //# sourceMappingURL=volume-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-stack.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/volume-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAG3C,KAAK,oCAAoC,EAE1C,MAAM,YAAY,CAAC;AAYpB,wBAAgB,2CAA2C,CACzD,KAAK,EAAE,oCAAoC,GAAG,OAAO,EACrD,KAAK,GAAE,qCAA0C,GAChD,sCAAsC,CA0BxC;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,gCAAgC,GAAG,MAAM,CAShG"}
@@ -0,0 +1,105 @@
1
+ import { DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE, } from './types.js';
2
+ import { normalizeBabylonDefaultPostProcessProfile, normalizeBabylonDefaultPostProcessVolumeStack, } from './profile.js';
3
+ export function resolveBabylonDefaultPostProcessVolumeStack(value, input = {}) {
4
+ const stack = normalizeBabylonDefaultPostProcessVolumeStack(value);
5
+ const activeVolumes = stack.volumes
6
+ .map((volume, order) => ({ volume, order, influence: resolveVolumeInfluence(volume, input.cameraPosition ?? null) }))
7
+ .filter(entry => entry.volume.enabled && entry.influence > 0)
8
+ .sort((left, right) => left.volume.priority - right.volume.priority || left.order - right.order);
9
+ const globalVolumes = activeVolumes.filter(entry => entry.volume.global);
10
+ const localVolumes = activeVolumes.filter(entry => !entry.volume.global);
11
+ const influencedVolumes = [...globalVolumes, ...localVolumes];
12
+ let profile = normalizeBabylonDefaultPostProcessProfile(DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE);
13
+ for (const entry of influencedVolumes) {
14
+ profile = blendPostProcessProfile(profile, entry.volume.profile, entry.influence);
15
+ }
16
+ applyStructuralFields(profile, localVolumes.length > 0 ? localVolumes : globalVolumes);
17
+ return {
18
+ profile,
19
+ structuralKey: createPostProcessStructuralKey(profile),
20
+ activeVolumes: influencedVolumes.map(entry => ({
21
+ id: entry.volume.id,
22
+ priority: entry.volume.priority,
23
+ influence: entry.influence,
24
+ global: entry.volume.global,
25
+ })),
26
+ };
27
+ }
28
+ export function createPostProcessStructuralKey(profile) {
29
+ return JSON.stringify({
30
+ enabled: profile.enabled,
31
+ hdr: profile.hdr,
32
+ toneMappingEnabled: profile.toneMapping.enabled,
33
+ toneMappingType: profile.toneMapping.type,
34
+ samples: profile.antialiasing.samples,
35
+ bloomEnabled: profile.bloom.enabled,
36
+ });
37
+ }
38
+ function resolveVolumeInfluence(volume, cameraPosition) {
39
+ if (!volume.enabled)
40
+ return 0;
41
+ if (volume.global)
42
+ return volume.blendWeight;
43
+ if (!cameraPosition || !volume.shape)
44
+ return 0;
45
+ const distance = distanceToShapeSurface(cameraPosition, volume.shape);
46
+ const spatialInfluence = distance <= 0
47
+ ? 1
48
+ : volume.blendRadius > 0
49
+ ? Math.max(0, 1 - distance / volume.blendRadius)
50
+ : 0;
51
+ return clamp01(spatialInfluence * volume.blendWeight);
52
+ }
53
+ function distanceToShapeSurface(point, shape) {
54
+ if (shape.type === 'sphere') {
55
+ return distance(point, shape.center) - shape.radius;
56
+ }
57
+ const half = {
58
+ x: shape.size.x / 2,
59
+ y: shape.size.y / 2,
60
+ z: shape.size.z / 2,
61
+ };
62
+ const dx = Math.abs(point.x - shape.center.x) - half.x;
63
+ const dy = Math.abs(point.y - shape.center.y) - half.y;
64
+ const dz = Math.abs(point.z - shape.center.z) - half.z;
65
+ const outside = Math.hypot(Math.max(dx, 0), Math.max(dy, 0), Math.max(dz, 0));
66
+ const inside = Math.min(Math.max(dx, dy, dz), 0);
67
+ return outside + inside;
68
+ }
69
+ function blendPostProcessProfile(current, next, influence) {
70
+ const amount = clamp01(influence);
71
+ return {
72
+ ...current,
73
+ imageProcessing: {
74
+ exposure: mix(current.imageProcessing.exposure, next.imageProcessing.exposure, amount),
75
+ contrast: mix(current.imageProcessing.contrast, next.imageProcessing.contrast, amount),
76
+ },
77
+ bloom: {
78
+ enabled: current.bloom.enabled,
79
+ threshold: mix(current.bloom.threshold, next.bloom.threshold, amount),
80
+ weight: mix(current.bloom.weight, next.bloom.weight, amount),
81
+ kernel: mix(current.bloom.kernel, next.bloom.kernel, amount),
82
+ scale: mix(current.bloom.scale, next.bloom.scale, amount),
83
+ },
84
+ };
85
+ }
86
+ function applyStructuralFields(profile, influencedVolumes) {
87
+ const winner = influencedVolumes[influencedVolumes.length - 1]?.volume.profile;
88
+ if (!winner)
89
+ return;
90
+ profile.enabled = winner.enabled;
91
+ profile.hdr = winner.hdr;
92
+ profile.toneMapping = { ...winner.toneMapping };
93
+ profile.antialiasing = { ...winner.antialiasing };
94
+ profile.bloom.enabled = winner.bloom.enabled;
95
+ }
96
+ function mix(left, right, amount) {
97
+ return left + (right - left) * amount;
98
+ }
99
+ function distance(left, right) {
100
+ return Math.hypot(left.x - right.x, left.y - right.y, left.z - right.z);
101
+ }
102
+ function clamp01(value) {
103
+ return Math.min(1, Math.max(0, Number.isFinite(value) ? value : 0));
104
+ }
105
+ //# sourceMappingURL=volume-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-stack.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/post-process/volume-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4CAA4C,GAQ7C,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yCAAyC,EACzC,6CAA6C,GAC9C,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,2CAA2C,CACzD,KAAqD,EACrD,QAA+C,EAAE;IAEjD,MAAM,KAAK,GAAG,6CAA6C,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO;SAChC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;SACpH,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;SAC5D,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,CAAC;IAE9D,IAAI,OAAO,GAAG,yCAAyC,CAAC,4CAA4C,CAAC,CAAC;IACtG,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC;IACD,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAEvF,OAAO;QACL,OAAO;QACP,aAAa,EAAE,8BAA8B,CAAC,OAAO,CAAC;QACtD,aAAa,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7C,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;SAC5B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAyC;IACtF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO;QAC/C,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;QACzC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;QACrC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;KACpC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAuC,EACvC,cAAoD;IAEpD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC7C,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,QAAQ,IAAI,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,CAAC,CAAC;IACR,OAAO,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAoC,EAAE,KAA6B;IACjG,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG;QACX,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACnB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACnB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;KACpB,CAAC;IACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,OAAO,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAyC,EACzC,IAAsC,EACtC,SAAiB;IAEjB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO;QACL,GAAG,OAAO;QACV,eAAe,EAAE;YACf,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;YACtF,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;SACvF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;YACrE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YAC5D,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YAC5D,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAyC,EACzC,iBAAqC;IAErC,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACzB,OAAO,CAAC,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IACtD,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAmC,EAAE,KAAoC;IACzF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { Color3 } from '@babylonjs/core/Maths/math.color.js';
2
+ import type { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial.js';
3
+ import type { Texture } from '@babylonjs/core/Materials/Textures/texture.js';
4
+ import type { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder.js';
5
+ import type { Scene } from '@babylonjs/core/scene.js';
6
+ export interface BabylonImageNodeRuntime {
7
+ Color3: typeof Color3;
8
+ StandardMaterial: typeof StandardMaterial;
9
+ Texture: typeof Texture;
10
+ MeshBuilder: typeof MeshBuilder;
11
+ }
12
+ export interface BabylonImageNodeOptions {
13
+ babylon: BabylonImageNodeRuntime;
14
+ scene: Scene;
15
+ name: string;
16
+ url: string;
17
+ size: {
18
+ width: number;
19
+ height: number;
20
+ };
21
+ }
22
+ export interface BabylonImageNode {
23
+ mesh: ReturnType<typeof MeshBuilder.CreateGround>;
24
+ material: StandardMaterial;
25
+ texture: Texture;
26
+ }
27
+ /**
28
+ * Creates the Babylon rendering for a canonical ImageRenderer scene node.
29
+ *
30
+ * The image starts as a horizontal XZ plane to preserve the editor's existing
31
+ * texture-drop presentation. Its authored Transform remains ordinary scene
32
+ * data, so users can move, rotate, and scale it like any other node.
33
+ */
34
+ export declare function createBabylonImageNode(options: BabylonImageNodeOptions): BabylonImageNode;
35
+ //# sourceMappingURL=image-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-node.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/image-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,uBAAuB,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;IAClD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAsCzF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Creates the Babylon rendering for a canonical ImageRenderer scene node.
3
+ *
4
+ * The image starts as a horizontal XZ plane to preserve the editor's existing
5
+ * texture-drop presentation. Its authored Transform remains ordinary scene
6
+ * data, so users can move, rotate, and scale it like any other node.
7
+ */
8
+ export function createBabylonImageNode(options) {
9
+ // Use the caller's Babylon module. Packed Vite consumers can otherwise load
10
+ // the editor's private renderer through a separate module graph from the
11
+ // project's @babylonjs/core. Mixing a material from one graph with a Scene
12
+ // from the other splits ShaderStore and makes StandardMaterial request
13
+ // /default.vertex.fx from the host page.
14
+ const { Color3: BabylonColor3, StandardMaterial: BabylonStandardMaterial, Texture: BabylonTexture, MeshBuilder: BabylonMeshBuilder, } = options.babylon;
15
+ const mesh = BabylonMeshBuilder.CreateGround(`${options.name}.image`, {
16
+ width: options.size.width,
17
+ height: options.size.height,
18
+ subdivisions: 1,
19
+ }, options.scene);
20
+ mesh.isPickable = true;
21
+ mesh.receiveShadows = false;
22
+ const material = new BabylonStandardMaterial(`${options.name}.imageMaterial`, options.scene);
23
+ const texture = new BabylonTexture(options.url, options.scene, false, true);
24
+ // Babylon ground UVs map +Z to V=1. Flip V once so the loaded image top
25
+ // points toward the editor's right-handed forward axis (-Z).
26
+ texture.vScale = -1;
27
+ texture.vOffset = 1;
28
+ texture.hasAlpha = true;
29
+ material.diffuseTexture = texture;
30
+ material.useAlphaFromDiffuseTexture = true;
31
+ material.diffuseColor = new BabylonColor3(1, 1, 1);
32
+ material.emissiveColor = new BabylonColor3(1, 1, 1);
33
+ material.specularColor = new BabylonColor3(0, 0, 0);
34
+ material.backFaceCulling = false;
35
+ material.disableLighting = true;
36
+ mesh.material = material;
37
+ return { mesh, material, texture };
38
+ }
39
+ //# sourceMappingURL=image-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-node.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/image-node.ts"],"names":[],"mappings":"AA8BA;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,uEAAuE;IACvE,yCAAyC;IACzC,MAAM,EACJ,MAAM,EAAE,aAAa,EACrB,gBAAgB,EAAE,uBAAuB,EACzC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,kBAAkB,GAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAEpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,QAAQ,EAAE;QACpE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;QAC3B,YAAY,EAAE,CAAC;KAChB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAE5B,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,GAAG,OAAO,CAAC,IAAI,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,wEAAwE;IACxE,6DAA6D;IAC7D,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpB,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,YAAY,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './node-rendering.js';
2
+ export * from './image-node.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './node-rendering.js';
2
+ export * from './image-node.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface BabylonRenderingSettings {
2
+ renderingGroupId?: unknown;
3
+ alphaIndex?: unknown;
4
+ }
5
+ export interface BabylonRenderableMesh {
6
+ name?: string;
7
+ renderingGroupId: number;
8
+ alphaIndex: number;
9
+ getTotalVertices(): number;
10
+ getChildMeshes?(directDescendantsOnly?: boolean): unknown[];
11
+ }
12
+ export interface BabylonRenderableNode {
13
+ getChildMeshes?(directDescendantsOnly?: boolean): unknown[];
14
+ }
15
+ export type BabylonRenderingRestore = () => void;
16
+ export declare function applyBabylonRenderingToMesh(mesh: unknown, rendering: BabylonRenderingSettings | null | undefined): BabylonRenderingRestore;
17
+ export declare function collectRenderableBabylonMeshes(root: unknown, contentRoot?: unknown | null): BabylonRenderableMesh[];
18
+ export declare function applyBabylonRenderingToNodeTree(root: unknown, rendering: BabylonRenderingSettings | null | undefined, contentRoot?: unknown | null): BabylonRenderingRestore;
19
+ //# sourceMappingURL=node-rendering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-rendering.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/node-rendering.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,cAAc,CAAC,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CAC7D;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GACrD,uBAAuB,CAazB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,OAAO,EACb,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,GAC3B,qBAAqB,EAAE,CAezB;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,EACtD,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,GAC3B,uBAAuB,CAOzB"}
@@ -0,0 +1,66 @@
1
+ export function applyBabylonRenderingToMesh(mesh, rendering) {
2
+ if (!isRenderableBabylonMesh(mesh))
3
+ return noop;
4
+ const renderingGroupId = readBabylonRenderingGroupId(rendering?.renderingGroupId);
5
+ const alphaIndex = readFiniteNumber(rendering?.alphaIndex);
6
+ if (renderingGroupId == null && alphaIndex == null)
7
+ return noop;
8
+ const previousRenderingGroupId = mesh.renderingGroupId;
9
+ const previousAlphaIndex = mesh.alphaIndex;
10
+ if (renderingGroupId != null)
11
+ mesh.renderingGroupId = renderingGroupId;
12
+ if (alphaIndex != null)
13
+ mesh.alphaIndex = alphaIndex;
14
+ return () => {
15
+ mesh.renderingGroupId = previousRenderingGroupId;
16
+ mesh.alphaIndex = previousAlphaIndex;
17
+ };
18
+ }
19
+ export function collectRenderableBabylonMeshes(root, contentRoot) {
20
+ const meshes = [];
21
+ const seen = new Set();
22
+ const append = (node) => {
23
+ if (!node || seen.has(node))
24
+ return;
25
+ seen.add(node);
26
+ if (isRenderableBabylonMesh(node))
27
+ meshes.push(node);
28
+ const childMeshes = isBabylonRenderableNode(node) ? node.getChildMeshes?.(false) : [];
29
+ if (Array.isArray(childMeshes)) {
30
+ for (const child of childMeshes)
31
+ append(child);
32
+ }
33
+ };
34
+ append(root);
35
+ if (contentRoot && contentRoot !== root)
36
+ append(contentRoot);
37
+ return meshes;
38
+ }
39
+ export function applyBabylonRenderingToNodeTree(root, rendering, contentRoot) {
40
+ const restoreCallbacks = collectRenderableBabylonMeshes(root, contentRoot)
41
+ .map(mesh => applyBabylonRenderingToMesh(mesh, rendering));
42
+ if (restoreCallbacks.length === 0)
43
+ return noop;
44
+ return () => {
45
+ for (const restore of restoreCallbacks.reverse())
46
+ restore();
47
+ };
48
+ }
49
+ function isBabylonRenderableNode(node) {
50
+ return !!node && typeof node === 'object' && typeof node.getChildMeshes === 'function';
51
+ }
52
+ function isRenderableBabylonMesh(node) {
53
+ return !!node
54
+ && typeof node === 'object'
55
+ && typeof node.getTotalVertices === 'function'
56
+ && typeof node.renderingGroupId === 'number'
57
+ && typeof node.alphaIndex === 'number';
58
+ }
59
+ function readBabylonRenderingGroupId(value) {
60
+ return value === 0 || value === 1 || value === 2 || value === 3 ? value : null;
61
+ }
62
+ function readFiniteNumber(value) {
63
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
64
+ }
65
+ function noop() { }
66
+ //# sourceMappingURL=node-rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-rendering.js","sourceRoot":"","sources":["../../../../src/babylon/renderer/rendering/node-rendering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const BLOB_SHADOW_SHADER_NAME = "fpsBlobShadow";
2
+ export declare function registerBlobShadowShaders(): void;
3
+ export declare function getBlobShadowShaderAttributes(): string[];
4
+ export declare function getBlobShadowShaderUniforms(): string[];
5
+ //# sourceMappingURL=blob-shadow-shaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-shadow-shaders.d.ts","sourceRoot":"","sources":["../../../../src/babylon/renderer/shadows/blob-shadow-shaders.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,wBAAgB,yBAAyB,IAAI,IAAI,CAqChD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CAExD;AAED,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAEtD"}