@fps-games/engine 0.0.1-beta.2 → 0.0.1-beta.20

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 (333) hide show
  1. package/dist/asset-resource.d.ts +45 -0
  2. package/dist/asset-resource.d.ts.map +1 -0
  3. package/dist/asset-resource.js +147 -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.map +1 -1
  18. package/dist/babylon/lighting-controller.js +162 -16
  19. package/dist/babylon/lighting-controller.js.map +1 -1
  20. package/dist/babylon/plugin-contract.d.ts +15 -0
  21. package/dist/babylon/plugin-contract.d.ts.map +1 -0
  22. package/dist/babylon/plugin-contract.js +10 -0
  23. package/dist/babylon/plugin-contract.js.map +1 -0
  24. package/dist/babylon/renderer/asset-container-instantiation.d.ts +39 -0
  25. package/dist/babylon/renderer/asset-container-instantiation.d.ts.map +1 -0
  26. package/dist/babylon/renderer/asset-container-instantiation.js +287 -0
  27. package/dist/babylon/renderer/asset-container-instantiation.js.map +1 -0
  28. package/dist/babylon/renderer/brdf-texture-settlement.d.ts +7 -0
  29. package/dist/babylon/renderer/brdf-texture-settlement.d.ts.map +1 -0
  30. package/dist/babylon/renderer/brdf-texture-settlement.js +29 -0
  31. package/dist/babylon/renderer/brdf-texture-settlement.js.map +1 -0
  32. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts +7 -0
  33. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts.map +1 -0
  34. package/dist/babylon/renderer/environment/environment-texture-controller.js +358 -0
  35. package/dist/babylon/renderer/environment/environment-texture-controller.js.map +1 -0
  36. package/dist/babylon/renderer/environment/index.d.ts +4 -0
  37. package/dist/babylon/renderer/environment/index.d.ts.map +1 -0
  38. package/dist/babylon/renderer/environment/index.js +4 -0
  39. package/dist/babylon/renderer/environment/index.js.map +1 -0
  40. package/dist/babylon/renderer/environment/profile.d.ts +3 -0
  41. package/dist/babylon/renderer/environment/profile.d.ts.map +1 -0
  42. package/dist/babylon/renderer/environment/profile.js +27 -0
  43. package/dist/babylon/renderer/environment/profile.js.map +1 -0
  44. package/dist/babylon/renderer/environment/types.d.ts +24 -0
  45. package/dist/babylon/renderer/environment/types.d.ts.map +1 -0
  46. package/dist/babylon/renderer/environment/types.js +6 -0
  47. package/dist/babylon/renderer/environment/types.js.map +1 -0
  48. package/dist/babylon/renderer/index.d.ts +26 -0
  49. package/dist/babylon/renderer/index.d.ts.map +1 -0
  50. package/dist/babylon/renderer/index.js +26 -0
  51. package/dist/babylon/renderer/index.js.map +1 -0
  52. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts +17 -0
  53. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts.map +1 -0
  54. package/dist/babylon/renderer/lighting/directional-light-angles.js +67 -0
  55. package/dist/babylon/renderer/lighting/directional-light-angles.js.map +1 -0
  56. package/dist/babylon/renderer/material-owner-candidates.d.ts +21 -0
  57. package/dist/babylon/renderer/material-owner-candidates.d.ts.map +1 -0
  58. package/dist/babylon/renderer/material-owner-candidates.js +217 -0
  59. package/dist/babylon/renderer/material-owner-candidates.js.map +1 -0
  60. package/dist/babylon/renderer/materials/index.d.ts +3 -0
  61. package/dist/babylon/renderer/materials/index.d.ts.map +1 -0
  62. package/dist/babylon/renderer/materials/index.js +3 -0
  63. package/dist/babylon/renderer/materials/index.js.map +1 -0
  64. package/dist/babylon/renderer/materials/material-runtime.d.ts +29 -0
  65. package/dist/babylon/renderer/materials/material-runtime.d.ts.map +1 -0
  66. package/dist/babylon/renderer/materials/material-runtime.js +660 -0
  67. package/dist/babylon/renderer/materials/material-runtime.js.map +1 -0
  68. package/dist/babylon/renderer/materials/material-slot-owner.d.ts +42 -0
  69. package/dist/babylon/renderer/materials/material-slot-owner.d.ts.map +1 -0
  70. package/dist/babylon/renderer/materials/material-slot-owner.js +318 -0
  71. package/dist/babylon/renderer/materials/material-slot-owner.js.map +1 -0
  72. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts +4 -0
  73. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts.map +1 -0
  74. package/dist/babylon/renderer/outlines/babylon-default/apply.js +45 -0
  75. package/dist/babylon/renderer/outlines/babylon-default/apply.js.map +1 -0
  76. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts +3 -0
  77. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts.map +1 -0
  78. package/dist/babylon/renderer/outlines/babylon-default/index.js +2 -0
  79. package/dist/babylon/renderer/outlines/babylon-default/index.js.map +1 -0
  80. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts +7 -0
  81. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts.map +1 -0
  82. package/dist/babylon/renderer/outlines/babylon-default/types.js +2 -0
  83. package/dist/babylon/renderer/outlines/babylon-default/types.js.map +1 -0
  84. package/dist/babylon/renderer/outlines/index.d.ts +4 -0
  85. package/dist/babylon/renderer/outlines/index.d.ts.map +1 -0
  86. package/dist/babylon/renderer/outlines/index.js +3 -0
  87. package/dist/babylon/renderer/outlines/index.js.map +1 -0
  88. package/dist/babylon/renderer/outlines/runtime-override.d.ts +36 -0
  89. package/dist/babylon/renderer/outlines/runtime-override.d.ts.map +1 -0
  90. package/dist/babylon/renderer/outlines/runtime-override.js +131 -0
  91. package/dist/babylon/renderer/outlines/runtime-override.js.map +1 -0
  92. package/dist/babylon/renderer/outlines/types.d.ts +7 -0
  93. package/dist/babylon/renderer/outlines/types.d.ts.map +1 -0
  94. package/dist/babylon/renderer/outlines/types.js +2 -0
  95. package/dist/babylon/renderer/outlines/types.js.map +1 -0
  96. package/dist/babylon/renderer/placement/index.d.ts +2 -0
  97. package/dist/babylon/renderer/placement/index.d.ts.map +1 -0
  98. package/dist/babylon/renderer/placement/index.js +2 -0
  99. package/dist/babylon/renderer/placement/index.js.map +1 -0
  100. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts +24 -0
  101. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts.map +1 -0
  102. package/dist/babylon/renderer/placement/runtime-drop-position.js +63 -0
  103. package/dist/babylon/renderer/placement/runtime-drop-position.js.map +1 -0
  104. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts +7 -0
  105. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts.map +1 -0
  106. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js +301 -0
  107. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js.map +1 -0
  108. package/dist/babylon/renderer/post-process/index.d.ts +5 -0
  109. package/dist/babylon/renderer/post-process/index.d.ts.map +1 -0
  110. package/dist/babylon/renderer/post-process/index.js +5 -0
  111. package/dist/babylon/renderer/post-process/index.js.map +1 -0
  112. package/dist/babylon/renderer/post-process/profile.d.ts +5 -0
  113. package/dist/babylon/renderer/post-process/profile.d.ts.map +1 -0
  114. package/dist/babylon/renderer/post-process/profile.js +155 -0
  115. package/dist/babylon/renderer/post-process/profile.js.map +1 -0
  116. package/dist/babylon/renderer/post-process/types.d.ts +81 -0
  117. package/dist/babylon/renderer/post-process/types.d.ts.map +1 -0
  118. package/dist/babylon/renderer/post-process/types.js +24 -0
  119. package/dist/babylon/renderer/post-process/types.js.map +1 -0
  120. package/dist/babylon/renderer/post-process/volume-stack.d.ts +4 -0
  121. package/dist/babylon/renderer/post-process/volume-stack.d.ts.map +1 -0
  122. package/dist/babylon/renderer/post-process/volume-stack.js +105 -0
  123. package/dist/babylon/renderer/post-process/volume-stack.js.map +1 -0
  124. package/dist/babylon/renderer/rendering/image-node.d.ts +35 -0
  125. package/dist/babylon/renderer/rendering/image-node.d.ts.map +1 -0
  126. package/dist/babylon/renderer/rendering/image-node.js +39 -0
  127. package/dist/babylon/renderer/rendering/image-node.js.map +1 -0
  128. package/dist/babylon/renderer/rendering/index.d.ts +3 -0
  129. package/dist/babylon/renderer/rendering/index.d.ts.map +1 -0
  130. package/dist/babylon/renderer/rendering/index.js +3 -0
  131. package/dist/babylon/renderer/rendering/index.js.map +1 -0
  132. package/dist/babylon/renderer/rendering/node-rendering.d.ts +19 -0
  133. package/dist/babylon/renderer/rendering/node-rendering.d.ts.map +1 -0
  134. package/dist/babylon/renderer/rendering/node-rendering.js +66 -0
  135. package/dist/babylon/renderer/rendering/node-rendering.js.map +1 -0
  136. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts +5 -0
  137. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts.map +1 -0
  138. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js +46 -0
  139. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js.map +1 -0
  140. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts +5 -0
  141. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts.map +1 -0
  142. package/dist/babylon/renderer/shadows/blob-shadow-system.js +402 -0
  143. package/dist/babylon/renderer/shadows/blob-shadow-system.js.map +1 -0
  144. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts +87 -0
  145. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts.map +1 -0
  146. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js +659 -0
  147. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js.map +1 -0
  148. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts +7 -0
  149. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts.map +1 -0
  150. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js +316 -0
  151. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js.map +1 -0
  152. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts +5 -0
  153. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts.map +1 -0
  154. package/dist/babylon/renderer/shadows/planar-shadow-system.js +1562 -0
  155. package/dist/babylon/renderer/shadows/planar-shadow-system.js.map +1 -0
  156. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts +14 -0
  157. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts.map +1 -0
  158. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js +14 -0
  159. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js.map +1 -0
  160. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts +69 -0
  161. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  162. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js +847 -0
  163. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  164. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts +148 -0
  165. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  166. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js +4533 -0
  167. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js.map +1 -0
  168. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts +4 -0
  169. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts.map +1 -0
  170. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js +645 -0
  171. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js.map +1 -0
  172. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts +61 -0
  173. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts.map +1 -0
  174. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js +382 -0
  175. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js.map +1 -0
  176. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts +47 -0
  177. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts.map +1 -0
  178. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js +285 -0
  179. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js.map +1 -0
  180. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts +88 -0
  181. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts.map +1 -0
  182. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js +830 -0
  183. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js.map +1 -0
  184. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts +3 -0
  185. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts.map +1 -0
  186. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js +60 -0
  187. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js.map +1 -0
  188. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts +27 -0
  189. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts.map +1 -0
  190. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js +220 -0
  191. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js.map +1 -0
  192. package/dist/babylon/renderer/shadows/types.d.ts +421 -0
  193. package/dist/babylon/renderer/shadows/types.d.ts.map +1 -0
  194. package/dist/babylon/renderer/shadows/types.js +127 -0
  195. package/dist/babylon/renderer/shadows/types.js.map +1 -0
  196. package/dist/babylon/renderer/world-rendering-controller.d.ts +29 -0
  197. package/dist/babylon/renderer/world-rendering-controller.d.ts.map +1 -0
  198. package/dist/babylon/renderer/world-rendering-controller.js +183 -0
  199. package/dist/babylon/renderer/world-rendering-controller.js.map +1 -0
  200. package/dist/babylon/renderer-controller.d.ts +93 -0
  201. package/dist/babylon/renderer-controller.d.ts.map +1 -0
  202. package/dist/babylon/renderer-controller.js +706 -0
  203. package/dist/babylon/renderer-controller.js.map +1 -0
  204. package/dist/babylon/scene-renderer.d.ts +20 -0
  205. package/dist/babylon/scene-renderer.d.ts.map +1 -0
  206. package/dist/babylon/scene-renderer.js +58 -0
  207. package/dist/babylon/scene-renderer.js.map +1 -0
  208. package/dist/babylon.d.ts +7 -0
  209. package/dist/babylon.d.ts.map +1 -1
  210. package/dist/babylon.js +7 -0
  211. package/dist/babylon.js.map +1 -1
  212. package/dist/build-info.json +4 -4
  213. package/dist/camera.d.ts +25 -0
  214. package/dist/camera.d.ts.map +1 -0
  215. package/dist/camera.js +68 -0
  216. package/dist/camera.js.map +1 -0
  217. package/dist/compiled-scene-data.d.ts +23 -0
  218. package/dist/compiled-scene-data.d.ts.map +1 -0
  219. package/dist/compiled-scene-data.js +100 -0
  220. package/dist/compiled-scene-data.js.map +1 -0
  221. package/dist/config.d.ts +9 -3
  222. package/dist/config.d.ts.map +1 -1
  223. package/dist/config.js +21 -0
  224. package/dist/config.js.map +1 -1
  225. package/dist/frame.d.ts +32 -0
  226. package/dist/frame.d.ts.map +1 -0
  227. package/dist/frame.js +54 -0
  228. package/dist/frame.js.map +1 -0
  229. package/dist/ground-decal.d.ts +22 -0
  230. package/dist/ground-decal.d.ts.map +1 -0
  231. package/dist/ground-decal.js +48 -0
  232. package/dist/ground-decal.js.map +1 -0
  233. package/dist/index.d.ts +16 -1
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +16 -1
  236. package/dist/index.js.map +1 -1
  237. package/dist/lighting.d.ts +13 -5
  238. package/dist/lighting.d.ts.map +1 -1
  239. package/dist/lighting.js +11 -5
  240. package/dist/lighting.js.map +1 -1
  241. package/dist/material-owner.d.ts +141 -0
  242. package/dist/material-owner.d.ts.map +1 -0
  243. package/dist/material-owner.js +552 -0
  244. package/dist/material-owner.js.map +1 -0
  245. package/dist/material-profile.d.ts +62 -0
  246. package/dist/material-profile.d.ts.map +1 -0
  247. package/dist/material-profile.js +132 -0
  248. package/dist/material-profile.js.map +1 -0
  249. package/dist/rendering/index.d.ts +14 -0
  250. package/dist/rendering/index.d.ts.map +1 -0
  251. package/dist/rendering/index.js +12 -0
  252. package/dist/rendering/index.js.map +1 -0
  253. package/dist/rendering/rendering-profile-types.d.ts +322 -0
  254. package/dist/rendering/rendering-profile-types.d.ts.map +1 -0
  255. package/dist/rendering/rendering-profile-types.js +2 -0
  256. package/dist/rendering/rendering-profile-types.js.map +1 -0
  257. package/dist/rendering/rendering-profile-validation.d.ts +2 -0
  258. package/dist/rendering/rendering-profile-validation.d.ts.map +1 -0
  259. package/dist/rendering/rendering-profile-validation.js +364 -0
  260. package/dist/rendering/rendering-profile-validation.js.map +1 -0
  261. package/dist/rendering/rendering-profile-values.d.ts +19 -0
  262. package/dist/rendering/rendering-profile-values.d.ts.map +1 -0
  263. package/dist/rendering/rendering-profile-values.js +79 -0
  264. package/dist/rendering/rendering-profile-values.js.map +1 -0
  265. package/dist/rendering/rendering-profile.d.ts +15 -0
  266. package/dist/rendering/rendering-profile.d.ts.map +1 -0
  267. package/dist/rendering/rendering-profile.js +442 -0
  268. package/dist/rendering/rendering-profile.js.map +1 -0
  269. package/dist/rendering/shadow-map-experiment-depth.d.ts +63 -0
  270. package/dist/rendering/shadow-map-experiment-depth.d.ts.map +1 -0
  271. package/dist/rendering/shadow-map-experiment-depth.js +186 -0
  272. package/dist/rendering/shadow-map-experiment-depth.js.map +1 -0
  273. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts +94 -0
  274. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  275. package/dist/rendering/shadow-map-experiment-lifecycle.js +407 -0
  276. package/dist/rendering/shadow-map-experiment-lifecycle.js.map +1 -0
  277. package/dist/rendering/shadow-map-experiment.d.ts +189 -0
  278. package/dist/rendering/shadow-map-experiment.d.ts.map +1 -0
  279. package/dist/rendering/shadow-map-experiment.js +549 -0
  280. package/dist/rendering/shadow-map-experiment.js.map +1 -0
  281. package/dist/rendering/shadow-quality.d.ts +5 -0
  282. package/dist/rendering/shadow-quality.d.ts.map +1 -0
  283. package/dist/rendering/shadow-quality.js +83 -0
  284. package/dist/rendering/shadow-quality.js.map +1 -0
  285. package/dist/rendering/shadow-runtime.d.ts +59 -0
  286. package/dist/rendering/shadow-runtime.d.ts.map +1 -0
  287. package/dist/rendering/shadow-runtime.js +378 -0
  288. package/dist/rendering/shadow-runtime.js.map +1 -0
  289. package/dist/rendering/shadow-settings.d.ts +15 -0
  290. package/dist/rendering/shadow-settings.d.ts.map +1 -0
  291. package/dist/rendering/shadow-settings.js +129 -0
  292. package/dist/rendering/shadow-settings.js.map +1 -0
  293. package/dist/rendering/shadow-types.d.ts +99 -0
  294. package/dist/rendering/shadow-types.d.ts.map +1 -0
  295. package/dist/rendering/shadow-types.js +5 -0
  296. package/dist/rendering/shadow-types.js.map +1 -0
  297. package/dist/rendering/shadow-validation.d.ts +3 -0
  298. package/dist/rendering/shadow-validation.d.ts.map +1 -0
  299. package/dist/rendering/shadow-validation.js +166 -0
  300. package/dist/rendering/shadow-validation.js.map +1 -0
  301. package/dist/rendering/value.d.ts +2 -0
  302. package/dist/rendering/value.d.ts.map +1 -0
  303. package/dist/rendering/value.js +6 -0
  304. package/dist/rendering/value.js.map +1 -0
  305. package/dist/runtime-data-token.d.ts +4 -0
  306. package/dist/runtime-data-token.d.ts.map +1 -0
  307. package/dist/runtime-data-token.js +4 -0
  308. package/dist/runtime-data-token.js.map +1 -0
  309. package/dist/runtime-data-types.d.ts +83 -0
  310. package/dist/runtime-data-types.d.ts.map +1 -0
  311. package/dist/runtime-data-types.js +2 -0
  312. package/dist/runtime-data-types.js.map +1 -0
  313. package/dist/runtime-data.d.ts +18 -0
  314. package/dist/runtime-data.d.ts.map +1 -0
  315. package/dist/runtime-data.js +301 -0
  316. package/dist/runtime-data.js.map +1 -0
  317. package/dist/runtime-scene-resolvers.d.ts +33 -0
  318. package/dist/runtime-scene-resolvers.d.ts.map +1 -0
  319. package/dist/runtime-scene-resolvers.js +36 -0
  320. package/dist/runtime-scene-resolvers.js.map +1 -0
  321. package/dist/scene-artifact-types.d.ts +385 -0
  322. package/dist/scene-artifact-types.d.ts.map +1 -0
  323. package/dist/scene-artifact-types.js +2 -0
  324. package/dist/scene-artifact-types.js.map +1 -0
  325. package/dist/scene-artifact-validation.d.ts +20 -0
  326. package/dist/scene-artifact-validation.d.ts.map +1 -0
  327. package/dist/scene-artifact-validation.js +1402 -0
  328. package/dist/scene-artifact-validation.js.map +1 -0
  329. package/dist/static-shadow-artifact.d.ts +131 -0
  330. package/dist/static-shadow-artifact.d.ts.map +1 -0
  331. package/dist/static-shadow-artifact.js +327 -0
  332. package/dist/static-shadow-artifact.js.map +1 -0
  333. package/package.json +51 -1
@@ -0,0 +1,83 @@
1
+ export const FPS_SHADOW_DEFAULT_QUALITY = 'medium';
2
+ export const FPS_SHADOW_QUALITY_PRESETS = {
3
+ low: {
4
+ opacity: 0.32,
5
+ softness: 0.25,
6
+ bias: 0.0015,
7
+ normalBias: 0.02,
8
+ maxDistance: 24,
9
+ resolution: 512,
10
+ cascadeCount: 1,
11
+ bakeSamples: 8,
12
+ blurKernel: 2,
13
+ },
14
+ medium: {
15
+ opacity: 0.42,
16
+ softness: 0.4,
17
+ bias: 0.001,
18
+ normalBias: 0.01,
19
+ maxDistance: 48,
20
+ resolution: 1024,
21
+ cascadeCount: 2,
22
+ bakeSamples: 24,
23
+ blurKernel: 4,
24
+ },
25
+ high: {
26
+ opacity: 0.5,
27
+ softness: 0.58,
28
+ bias: 0.0008,
29
+ normalBias: 0.006,
30
+ maxDistance: 80,
31
+ resolution: 2048,
32
+ cascadeCount: 4,
33
+ bakeSamples: 64,
34
+ blurKernel: 8,
35
+ },
36
+ ultra: {
37
+ opacity: 0.56,
38
+ softness: 0.72,
39
+ bias: 0.0006,
40
+ normalBias: 0.004,
41
+ maxDistance: 120,
42
+ resolution: 4096,
43
+ cascadeCount: 4,
44
+ bakeSamples: 128,
45
+ blurKernel: 12,
46
+ },
47
+ };
48
+ export function resolveFpsShadowParams(quality = FPS_SHADOW_DEFAULT_QUALITY, params = {}) {
49
+ const preset = FPS_SHADOW_QUALITY_PRESETS[quality] ?? FPS_SHADOW_QUALITY_PRESETS[FPS_SHADOW_DEFAULT_QUALITY];
50
+ return {
51
+ opacity: readFiniteNumber(params.opacity, preset.opacity),
52
+ softness: readFiniteNumber(params.softness, preset.softness),
53
+ bias: readFiniteNumber(params.bias, preset.bias),
54
+ normalBias: readFiniteNumber(params.normalBias, preset.normalBias),
55
+ maxDistance: readFiniteNumber(params.maxDistance, preset.maxDistance),
56
+ resolution: readShadowResolution(params.resolution, preset.resolution),
57
+ cascadeCount: readCascadeCount(params.cascadeCount, preset.cascadeCount),
58
+ bakeSamples: readPositiveInteger(params.bakeSamples, preset.bakeSamples),
59
+ blurKernel: readNonNegativeInteger(params.blurKernel, preset.blurKernel),
60
+ };
61
+ }
62
+ function readFiniteNumber(value, fallback) {
63
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
64
+ }
65
+ function readPositiveInteger(value, fallback) {
66
+ return typeof value === 'number' && Number.isFinite(value) && value > 0
67
+ ? Math.round(value)
68
+ : fallback;
69
+ }
70
+ function readNonNegativeInteger(value, fallback) {
71
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0
72
+ ? Math.round(value)
73
+ : fallback;
74
+ }
75
+ function readShadowResolution(value, fallback) {
76
+ return value === 512 || value === 1024 || value === 2048 || value === 4096
77
+ ? value
78
+ : fallback;
79
+ }
80
+ function readCascadeCount(value, fallback) {
81
+ return value === 1 || value === 2 || value === 4 ? value : fallback;
82
+ }
83
+ //# sourceMappingURL=shadow-quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-quality.js","sourceRoot":"","sources":["../../src/rendering/shadow-quality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { FpsShadowDiagnostic, FpsShadowPlanBackend, FpsShadowResolvedMode, FpsShadowResolvedParams, FpsShadowResolvedPlan, FpsShadowResolvedQuality, FpsShadowSettings } from './shadow-types.js';
2
+ export type FpsShadowRuntimeMaterialLightingModel = 'lit' | 'unlit' | 'unknown';
3
+ export interface FpsShadowRuntimeTarget {
4
+ id: string;
5
+ name?: string;
6
+ nodeIds?: readonly string[];
7
+ rootNodeId?: string;
8
+ active?: boolean;
9
+ visible?: boolean;
10
+ shadow?: FpsShadowSettings | null;
11
+ shadowPlan?: unknown;
12
+ materialLightingModel?: FpsShadowRuntimeMaterialLightingModel;
13
+ receiveDynamicShadows?: boolean;
14
+ metadata?: Record<string, unknown>;
15
+ }
16
+ export type FpsShadowRuntimeReceiverSource = 'plan' | 'explicit' | 'auto';
17
+ export type FpsShadowRuntimeParamName = keyof FpsShadowResolvedParams;
18
+ export interface FpsShadowRuntimeParamsUsage {
19
+ consumed: FpsShadowRuntimeParamName[];
20
+ ignored: FpsShadowRuntimeParamName[];
21
+ }
22
+ export interface FpsShadowRuntimeReceiverState {
23
+ target: FpsShadowRuntimeTarget;
24
+ targetId: string;
25
+ nodeIds: string[];
26
+ source: FpsShadowRuntimeReceiverSource;
27
+ receiveShadows: boolean;
28
+ receiveDynamicShadows: boolean;
29
+ materialLightingModel: FpsShadowRuntimeMaterialLightingModel;
30
+ diagnostics: FpsShadowDiagnostic[];
31
+ }
32
+ export interface FpsShadowRuntimeCasterState {
33
+ target: FpsShadowRuntimeTarget;
34
+ targetId: string;
35
+ plan: FpsShadowResolvedPlan;
36
+ backend: FpsShadowPlanBackend;
37
+ mode: FpsShadowResolvedMode;
38
+ quality: FpsShadowResolvedQuality;
39
+ params: FpsShadowResolvedParams;
40
+ receiverTargetIds: string[];
41
+ receivers: FpsShadowRuntimeReceiverState[];
42
+ paramsUsage: FpsShadowRuntimeParamsUsage;
43
+ diagnostics: FpsShadowDiagnostic[];
44
+ }
45
+ export interface FpsShadowRuntimeState {
46
+ targets: FpsShadowRuntimeTarget[];
47
+ casters: FpsShadowRuntimeCasterState[];
48
+ receivers: FpsShadowRuntimeReceiverState[];
49
+ diagnostics: FpsShadowDiagnostic[];
50
+ }
51
+ export interface ResolveFpsShadowRuntimeStateInput {
52
+ targets: readonly FpsShadowRuntimeTarget[];
53
+ fallbackMode?: FpsShadowResolvedMode;
54
+ fallbackQuality?: FpsShadowResolvedQuality;
55
+ }
56
+ export declare function readFpsShadowRuntimePlan(value: unknown): FpsShadowResolvedPlan | null;
57
+ export declare function resolveFpsShadowRuntimeState(input: ResolveFpsShadowRuntimeStateInput): FpsShadowRuntimeState;
58
+ export declare function resolveFpsShadowRuntimeParamsUsage(backend: FpsShadowPlanBackend): FpsShadowRuntimeParamsUsage;
59
+ //# sourceMappingURL=shadow-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-runtime.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,qCAAqC,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,qCAAqC,CAAC;IAC9D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,8BAA8B,GACtC,MAAM,GACN,UAAU,GACV,MAAM,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,MAAM,uBAAuB,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,OAAO,EAAE,yBAAyB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,8BAA8B,CAAC;IACvC,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,qCAAqC,CAAC;IAC7D,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,6BAA6B,EAAE,CAAC;IAC3C,WAAW,EAAE,2BAA2B,CAAC;IACzC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,SAAS,EAAE,6BAA6B,EAAE,CAAC;IAC3C,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAcD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAsBrF;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,qBAAqB,CA0DvB;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,oBAAoB,GAC5B,2BAA2B,CAmB7B"}
@@ -0,0 +1,378 @@
1
+ import { readRecord } from './value.js';
2
+ import { readFpsShadowResolvedMode, readFpsShadowResolvedQuality, readFpsShadowSettingsResult } from './shadow-settings.js';
3
+ import { resolveFpsShadowParams } from './shadow-quality.js';
4
+ const RUNTIME_SHADOW_PARAM_NAMES = [
5
+ 'opacity',
6
+ 'softness',
7
+ 'bias',
8
+ 'normalBias',
9
+ 'maxDistance',
10
+ 'resolution',
11
+ 'cascadeCount',
12
+ 'bakeSamples',
13
+ 'blurKernel',
14
+ ];
15
+ export function readFpsShadowRuntimePlan(value) {
16
+ const plan = readRecord(value);
17
+ if (!plan)
18
+ return null;
19
+ if (typeof plan.casterId !== 'string' || !plan.casterId.trim())
20
+ return null;
21
+ if (!Array.isArray(plan.receiverIds) || !plan.receiverIds.every(entry => typeof entry === 'string'))
22
+ return null;
23
+ if (!isFpsShadowPlanBackend(plan.backend))
24
+ return null;
25
+ if (!isFpsShadowRuntimeResolvedMode(plan.mode))
26
+ return null;
27
+ if (!isFpsShadowRuntimeResolvedQuality(plan.quality))
28
+ return null;
29
+ const params = readFpsShadowRuntimeResolvedParams(plan.params);
30
+ if (!params)
31
+ return null;
32
+ if (!Array.isArray(plan.diagnostics))
33
+ return null;
34
+ return {
35
+ casterId: plan.casterId,
36
+ receiverIds: normalizeRuntimeStringList(plan.receiverIds),
37
+ ...(typeof plan.lightId === 'string' && plan.lightId.trim() ? { lightId: plan.lightId.trim() } : {}),
38
+ backend: plan.backend,
39
+ mode: plan.mode,
40
+ quality: plan.quality,
41
+ params,
42
+ ...(typeof plan.stale === 'boolean' ? { stale: plan.stale } : {}),
43
+ diagnostics: plan.diagnostics.filter(isFpsShadowDiagnostic),
44
+ };
45
+ }
46
+ export function resolveFpsShadowRuntimeState(input) {
47
+ const targets = input.targets.filter(target => typeof target.id === 'string' && target.id.trim());
48
+ const targetIndex = createRuntimeTargetIndex(targets);
49
+ const diagnostics = [];
50
+ const casters = [];
51
+ const globalReceivers = new Map();
52
+ for (const target of targets) {
53
+ if (!isRuntimeTargetActive(target))
54
+ continue;
55
+ const plan = readFpsShadowRuntimePlan(target.shadowPlan)
56
+ ?? createRuntimeFallbackPlan(target, input.fallbackMode, input.fallbackQuality);
57
+ if (!plan || plan.backend === 'none' || plan.mode === 'none')
58
+ continue;
59
+ const resolvedReceivers = resolveRuntimeReceiversForCaster({
60
+ caster: target,
61
+ plan,
62
+ targets,
63
+ targetIndex,
64
+ });
65
+ const receiverDiagnostics = resolvedReceivers.flatMap(receiver => receiver.diagnostics);
66
+ const receiverStates = resolvedReceivers.filter(receiver => receiver.targetId);
67
+ const paramsUsage = resolveFpsShadowRuntimeParamsUsage(plan.backend);
68
+ const casterDiagnostics = [
69
+ ...plan.diagnostics,
70
+ ...receiverDiagnostics,
71
+ ...createRuntimeParamsDiagnostics(plan, paramsUsage),
72
+ ];
73
+ const casterState = {
74
+ target,
75
+ targetId: target.id,
76
+ plan,
77
+ backend: plan.backend,
78
+ mode: plan.mode,
79
+ quality: plan.quality,
80
+ params: plan.params,
81
+ receiverTargetIds: receiverStates
82
+ .filter(receiver => receiver.receiveShadows)
83
+ .map(receiver => receiver.targetId),
84
+ receivers: receiverStates,
85
+ paramsUsage,
86
+ diagnostics: casterDiagnostics,
87
+ };
88
+ casters.push(casterState);
89
+ diagnostics.push(...casterDiagnostics);
90
+ for (const receiver of receiverStates) {
91
+ const existing = globalReceivers.get(receiver.targetId);
92
+ if (!existing || scoreRuntimeReceiverSource(receiver.source) > scoreRuntimeReceiverSource(existing.source)) {
93
+ globalReceivers.set(receiver.targetId, receiver);
94
+ }
95
+ }
96
+ }
97
+ return {
98
+ targets,
99
+ casters,
100
+ receivers: [...globalReceivers.values()].sort((a, b) => a.targetId.localeCompare(b.targetId)),
101
+ diagnostics,
102
+ };
103
+ }
104
+ export function resolveFpsShadowRuntimeParamsUsage(backend) {
105
+ const consumed = new Set();
106
+ if (backend === 'dynamic-map') {
107
+ for (const param of ['opacity', 'bias', 'normalBias', 'maxDistance', 'resolution', 'cascadeCount']) {
108
+ consumed.add(param);
109
+ }
110
+ }
111
+ else if (backend === 'blob') {
112
+ for (const param of ['opacity', 'softness', 'maxDistance'])
113
+ consumed.add(param);
114
+ }
115
+ else if (backend === 'projected') {
116
+ for (const param of ['opacity', 'softness', 'maxDistance', 'blurKernel'])
117
+ consumed.add(param);
118
+ }
119
+ else if (backend === 'static-baked') {
120
+ for (const param of ['opacity', 'softness', 'maxDistance', 'resolution', 'bakeSamples', 'blurKernel']) {
121
+ consumed.add(param);
122
+ }
123
+ }
124
+ return {
125
+ consumed: RUNTIME_SHADOW_PARAM_NAMES.filter(param => consumed.has(param)),
126
+ ignored: RUNTIME_SHADOW_PARAM_NAMES.filter(param => !consumed.has(param)),
127
+ };
128
+ }
129
+ function resolveRuntimeReceiversForCaster(input) {
130
+ const receivers = new Map();
131
+ if (input.plan.receiverIds.length > 0) {
132
+ for (const receiverId of input.plan.receiverIds) {
133
+ const matches = input.targetIndex.get(receiverId) ?? [];
134
+ if (matches.length === 0) {
135
+ receivers.set(`missing:${receiverId}`, createMissingRuntimeReceiver(input.caster.id, receiverId));
136
+ continue;
137
+ }
138
+ for (const target of matches) {
139
+ if (target.id === input.caster.id || !isRuntimeTargetActive(target))
140
+ continue;
141
+ setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({
142
+ target,
143
+ casterId: input.caster.id,
144
+ backend: input.plan.backend,
145
+ source: 'plan',
146
+ }));
147
+ }
148
+ }
149
+ }
150
+ for (const target of input.targets) {
151
+ if (target.id === input.caster.id || !isRuntimeTargetActive(target))
152
+ continue;
153
+ const settings = readRuntimeTargetShadowSettings(target);
154
+ if (settings?.receive === 'none') {
155
+ if (receivers.has(target.id)) {
156
+ setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({
157
+ target,
158
+ casterId: input.caster.id,
159
+ backend: input.plan.backend,
160
+ source: 'explicit',
161
+ forcedReceive: false,
162
+ }));
163
+ }
164
+ continue;
165
+ }
166
+ if (settings?.receive === 'enabled' || settings?.receive === 'auto') {
167
+ setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({
168
+ target,
169
+ casterId: input.caster.id,
170
+ backend: input.plan.backend,
171
+ source: settings.receive === 'enabled' ? 'explicit' : 'auto',
172
+ }));
173
+ continue;
174
+ }
175
+ }
176
+ return [...receivers.values()]
177
+ .sort((a, b) => scoreRuntimeReceiverSource(b.source) - scoreRuntimeReceiverSource(a.source) || a.targetId.localeCompare(b.targetId));
178
+ }
179
+ function createRuntimeReceiverState(input) {
180
+ const materialLightingModel = input.target.materialLightingModel ?? 'unknown';
181
+ const receiveShadows = input.forcedReceive ?? true;
182
+ const dynamicUnsupported = input.backend === 'dynamic-map'
183
+ && receiveShadows
184
+ && (materialLightingModel === 'unlit' || input.target.receiveDynamicShadows === false);
185
+ const diagnostics = [];
186
+ if (input.forcedReceive === false) {
187
+ diagnostics.push({
188
+ code: 'shadow.receiverNotFound',
189
+ severity: 'warning',
190
+ message: `Runtime shadow receiver "${input.target.id}" is disabled by shadow.receive none.`,
191
+ casterId: input.casterId,
192
+ receiverId: input.target.id,
193
+ details: { source: input.source, reason: 'receive-none' },
194
+ });
195
+ }
196
+ if (dynamicUnsupported) {
197
+ diagnostics.push({
198
+ code: 'shadow.materialUnsupported',
199
+ severity: 'warning',
200
+ message: `Runtime shadow receiver "${input.target.id}" uses an unlit material, so dynamic-map shadows cannot affect it.`,
201
+ casterId: input.casterId,
202
+ receiverId: input.target.id,
203
+ details: {
204
+ backend: input.backend,
205
+ materialLightingModel,
206
+ },
207
+ });
208
+ }
209
+ return {
210
+ target: input.target,
211
+ targetId: input.target.id,
212
+ nodeIds: readRuntimeTargetNodeIds(input.target),
213
+ source: input.source,
214
+ receiveShadows: receiveShadows && !dynamicUnsupported,
215
+ receiveDynamicShadows: input.backend === 'dynamic-map' && receiveShadows && !dynamicUnsupported,
216
+ materialLightingModel,
217
+ diagnostics,
218
+ };
219
+ }
220
+ function createMissingRuntimeReceiver(casterId, receiverId) {
221
+ return {
222
+ target: { id: '' },
223
+ targetId: '',
224
+ nodeIds: [],
225
+ source: 'plan',
226
+ receiveShadows: false,
227
+ receiveDynamicShadows: false,
228
+ materialLightingModel: 'unknown',
229
+ diagnostics: [{
230
+ code: 'shadow.receiverNotFound',
231
+ severity: 'warning',
232
+ message: `Runtime shadow receiver "${receiverId}" was not found.`,
233
+ casterId,
234
+ receiverId,
235
+ details: { source: 'plan' },
236
+ }],
237
+ };
238
+ }
239
+ function setHigherPriorityRuntimeReceiver(receivers, receiver) {
240
+ const key = receiver.targetId || `missing:${receiver.diagnostics[0]?.receiverId ?? receivers.size}`;
241
+ const existing = receivers.get(key);
242
+ if (!existing || scoreRuntimeReceiverSource(receiver.source) >= scoreRuntimeReceiverSource(existing.source)) {
243
+ receivers.set(key, receiver);
244
+ }
245
+ }
246
+ function createRuntimeFallbackPlan(target, fallbackMode, fallbackQuality) {
247
+ const settings = readRuntimeTargetShadowSettings(target);
248
+ if (settings?.cast === 'none')
249
+ return null;
250
+ const mode = readFpsShadowResolvedMode(settings, fallbackMode ?? 'none');
251
+ if (mode === 'none')
252
+ return null;
253
+ const quality = readFpsShadowResolvedQuality(settings, fallbackQuality ?? 'medium');
254
+ return {
255
+ casterId: target.id,
256
+ receiverIds: [],
257
+ backend: resolveRuntimePlanBackend(mode),
258
+ mode,
259
+ quality,
260
+ params: resolveFpsShadowParams(quality, settings?.params),
261
+ diagnostics: [],
262
+ };
263
+ }
264
+ function readRuntimeTargetShadowSettings(target) {
265
+ return readFpsShadowSettingsResult(target.shadow).shadow;
266
+ }
267
+ function createRuntimeTargetIndex(targets) {
268
+ const index = new Map();
269
+ for (const target of targets) {
270
+ for (const id of readRuntimeTargetNodeIds(target)) {
271
+ const entries = index.get(id) ?? [];
272
+ entries.push(target);
273
+ index.set(id, entries);
274
+ }
275
+ }
276
+ return index;
277
+ }
278
+ function readRuntimeTargetNodeIds(target) {
279
+ return normalizeRuntimeStringList([
280
+ target.id,
281
+ ...(target.nodeIds ?? []),
282
+ ...(target.rootNodeId ? [target.rootNodeId] : []),
283
+ ]);
284
+ }
285
+ function createRuntimeParamsDiagnostics(plan, usage) {
286
+ if (plan.backend === 'none' || usage.ignored.length === 0)
287
+ return [];
288
+ return [{
289
+ code: 'shadow.paramsIgnored',
290
+ severity: 'info',
291
+ message: `Runtime shadow backend "${plan.backend}" ignores params: ${usage.ignored.join(', ')}.`,
292
+ casterId: plan.casterId,
293
+ details: {
294
+ backend: plan.backend,
295
+ ignoredParams: usage.ignored,
296
+ consumedParams: usage.consumed,
297
+ },
298
+ }];
299
+ }
300
+ function resolveRuntimePlanBackend(mode) {
301
+ if (mode === 'dynamic')
302
+ return 'dynamic-map';
303
+ if (mode === 'static')
304
+ return 'static-baked';
305
+ if (mode === 'blob')
306
+ return 'blob';
307
+ if (mode === 'projected')
308
+ return 'projected';
309
+ return 'none';
310
+ }
311
+ function isRuntimeTargetActive(target) {
312
+ return target.active !== false && target.visible !== false;
313
+ }
314
+ function scoreRuntimeReceiverSource(source) {
315
+ if (source === 'explicit')
316
+ return 120;
317
+ if (source === 'plan')
318
+ return 100;
319
+ return 40;
320
+ }
321
+ function normalizeRuntimeStringList(values) {
322
+ const seen = new Set();
323
+ const normalized = [];
324
+ for (const value of values) {
325
+ const entry = typeof value === 'string' ? value.trim() : '';
326
+ if (!entry || seen.has(entry))
327
+ continue;
328
+ seen.add(entry);
329
+ normalized.push(entry);
330
+ }
331
+ return normalized;
332
+ }
333
+ function readFpsShadowRuntimeResolvedParams(value) {
334
+ const params = readRecord(value);
335
+ if (!params)
336
+ return null;
337
+ const result = {};
338
+ for (const key of RUNTIME_SHADOW_PARAM_NAMES) {
339
+ const param = params[key];
340
+ if (typeof param !== 'number' || !Number.isFinite(param))
341
+ return null;
342
+ result[key] = param;
343
+ }
344
+ if (!isRuntimeShadowResolution(result.resolution) || !isRuntimeShadowCascadeCount(result.cascadeCount))
345
+ return null;
346
+ return result;
347
+ }
348
+ function isFpsShadowDiagnostic(value) {
349
+ const diagnostic = readRecord(value);
350
+ return !!diagnostic
351
+ && typeof diagnostic.code === 'string'
352
+ && (diagnostic.severity === 'info' || diagnostic.severity === 'warning' || diagnostic.severity === 'error')
353
+ && typeof diagnostic.message === 'string';
354
+ }
355
+ function isFpsShadowPlanBackend(value) {
356
+ return value === 'none'
357
+ || value === 'dynamic-map'
358
+ || value === 'static-baked'
359
+ || value === 'blob'
360
+ || value === 'projected';
361
+ }
362
+ function isFpsShadowRuntimeResolvedMode(value) {
363
+ return value === 'none'
364
+ || value === 'dynamic'
365
+ || value === 'static'
366
+ || value === 'blob'
367
+ || value === 'projected';
368
+ }
369
+ function isFpsShadowRuntimeResolvedQuality(value) {
370
+ return value === 'low' || value === 'medium' || value === 'high' || value === 'ultra';
371
+ }
372
+ function isRuntimeShadowResolution(value) {
373
+ return value === 512 || value === 1024 || value === 2048 || value === 4096;
374
+ }
375
+ function isRuntimeShadowCascadeCount(value) {
376
+ return value === 1 || value === 2 || value === 4;
377
+ }
378
+ //# sourceMappingURL=shadow-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-runtime.js","sourceRoot":"","sources":["../../src/rendering/shadow-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { FpsShadowCastMode, FpsShadowDiagnostic, FpsShadowLightMode, FpsShadowMode, FpsShadowQuality, FpsShadowReceiveMode, FpsShadowResolvedMode, FpsShadowResolvedQuality, FpsShadowSettings } from './shadow-types.js';
2
+ export declare function isFpsShadowCastMode(value: unknown): value is FpsShadowCastMode;
3
+ export declare function isFpsShadowReceiveMode(value: unknown): value is FpsShadowReceiveMode;
4
+ export declare function isFpsShadowMode(value: unknown): value is FpsShadowMode;
5
+ export declare function isFpsShadowQuality(value: unknown): value is FpsShadowQuality;
6
+ export declare function isFpsShadowLightMode(value: unknown): value is FpsShadowLightMode;
7
+ export declare function readFpsShadowSettings(value: unknown): FpsShadowSettings | undefined;
8
+ export declare function readFpsShadowSettingsResult(value: unknown): {
9
+ shadow?: FpsShadowSettings;
10
+ diagnostics: FpsShadowDiagnostic[];
11
+ };
12
+ export declare function readFpsShadowResolvedMode(settings: FpsShadowSettings | null | undefined, fallback?: FpsShadowResolvedMode): FpsShadowResolvedMode;
13
+ export declare function readFpsShadowResolvedQuality(settings: FpsShadowSettings | null | undefined, fallback?: FpsShadowResolvedQuality): FpsShadowResolvedQuality;
14
+ export declare function mergeFpsShadowSettings(...settingsList: readonly (FpsShadowSettings | null | undefined)[]): FpsShadowSettings | undefined;
15
+ //# sourceMappingURL=shadow-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-settings.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-settings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAEb,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAM5E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAsBnF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG;IAC3D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC,CAGA;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC9C,QAAQ,GAAE,qBAA8B,GACvC,qBAAqB,CAKvB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC9C,QAAQ,GAAE,wBAAqD,GAC9D,wBAAwB,CAG1B;AAED,wBAAgB,sBAAsB,CACpC,GAAG,YAAY,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACjE,iBAAiB,GAAG,SAAS,CAoB/B"}