@fps-games/engine 0.0.1-beta.0 → 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,129 @@
1
+ import { readRecord } from './value.js';
2
+ import { EDITOR_SHADOW_DEFAULT_QUALITY } from './shadow-quality.js';
3
+ export function isEditorShadowCastMode(value) {
4
+ return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';
5
+ }
6
+ export function isEditorShadowReceiveMode(value) {
7
+ return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';
8
+ }
9
+ export function isEditorShadowMode(value) {
10
+ return value === 'inherit'
11
+ || value === 'none'
12
+ || value === 'dynamic'
13
+ || value === 'static'
14
+ || value === 'blob'
15
+ || value === 'projected'
16
+ || value === 'auto';
17
+ }
18
+ export function isEditorShadowQuality(value) {
19
+ return value === 'inherit'
20
+ || value === 'low'
21
+ || value === 'medium'
22
+ || value === 'high'
23
+ || value === 'ultra';
24
+ }
25
+ export function isEditorShadowLightMode(value) {
26
+ return value === 'inherit' || value === 'scene-main' || value === 'nearest' || value === 'explicit';
27
+ }
28
+ export function readEditorShadowSettings(value) {
29
+ const record = readRecord(value);
30
+ if (!record)
31
+ return undefined;
32
+ const settings = {};
33
+ if (isEditorShadowCastMode(record.cast))
34
+ settings.cast = record.cast;
35
+ if (isEditorShadowReceiveMode(record.receive))
36
+ settings.receive = record.receive;
37
+ if (isEditorShadowMode(record.mode))
38
+ settings.mode = record.mode;
39
+ if (isEditorShadowQuality(record.quality))
40
+ settings.quality = record.quality;
41
+ const light = readRecord(record.light);
42
+ if (light) {
43
+ const normalizedLight = {};
44
+ if (isEditorShadowLightMode(light.mode))
45
+ normalizedLight.mode = light.mode;
46
+ if (typeof light.lightId === 'string' && light.lightId.trim())
47
+ normalizedLight.lightId = light.lightId.trim();
48
+ if (Object.keys(normalizedLight).length > 0)
49
+ settings.light = normalizedLight;
50
+ }
51
+ const params = readEditorShadowParams(record.params);
52
+ if (params)
53
+ settings.params = params;
54
+ return Object.keys(settings).length > 0 ? settings : undefined;
55
+ }
56
+ export function readEditorShadowSettingsResult(value) {
57
+ const shadow = readEditorShadowSettings(value);
58
+ return shadow ? { shadow, diagnostics: [] } : { diagnostics: [] };
59
+ }
60
+ export function readEditorShadowResolvedMode(settings, fallback = 'none') {
61
+ const mode = settings?.mode;
62
+ if (!mode || mode === 'inherit')
63
+ return fallback;
64
+ if (mode === 'auto')
65
+ return fallback;
66
+ return mode;
67
+ }
68
+ export function readEditorShadowResolvedQuality(settings, fallback = EDITOR_SHADOW_DEFAULT_QUALITY) {
69
+ const quality = settings?.quality;
70
+ return quality && quality !== 'inherit' ? quality : fallback;
71
+ }
72
+ export function mergeEditorShadowSettings(...settingsList) {
73
+ const merged = {};
74
+ for (const settings of settingsList) {
75
+ if (!settings)
76
+ continue;
77
+ // Legacy `auto` means no authored participation override. Keep this
78
+ // field-wise so an upper compatibility sentinel cannot mask a lower
79
+ // explicit enabled/none value.
80
+ if (settings.cast === 'enabled' || settings.cast === 'none')
81
+ merged.cast = settings.cast;
82
+ if (settings.receive === 'enabled' || settings.receive === 'none')
83
+ merged.receive = settings.receive;
84
+ if (settings.mode !== undefined && settings.mode !== 'inherit')
85
+ merged.mode = settings.mode;
86
+ if (settings.quality !== undefined && settings.quality !== 'inherit')
87
+ merged.quality = settings.quality;
88
+ if (settings.light) {
89
+ const nextLight = { ...(merged.light ?? {}) };
90
+ if (settings.light.mode !== undefined && settings.light.mode !== 'inherit')
91
+ nextLight.mode = settings.light.mode;
92
+ if (settings.light.lightId !== undefined)
93
+ nextLight.lightId = settings.light.lightId;
94
+ if (Object.keys(nextLight).length > 0)
95
+ merged.light = nextLight;
96
+ }
97
+ if (settings.params)
98
+ merged.params = { ...(merged.params ?? {}), ...settings.params };
99
+ }
100
+ return Object.keys(merged).length > 0 ? merged : undefined;
101
+ }
102
+ function readEditorShadowParams(value) {
103
+ const record = readRecord(value);
104
+ if (!record)
105
+ return undefined;
106
+ const params = {};
107
+ if (typeof record.opacity === 'number' && Number.isFinite(record.opacity))
108
+ params.opacity = record.opacity;
109
+ if (typeof record.softness === 'number' && Number.isFinite(record.softness))
110
+ params.softness = record.softness;
111
+ if (typeof record.bias === 'number' && Number.isFinite(record.bias))
112
+ params.bias = record.bias;
113
+ if (typeof record.normalBias === 'number' && Number.isFinite(record.normalBias))
114
+ params.normalBias = record.normalBias;
115
+ if (typeof record.maxDistance === 'number' && Number.isFinite(record.maxDistance))
116
+ params.maxDistance = record.maxDistance;
117
+ if (record.resolution === 512 || record.resolution === 1024 || record.resolution === 2048 || record.resolution === 4096) {
118
+ params.resolution = record.resolution;
119
+ }
120
+ if (record.cascadeCount === 1 || record.cascadeCount === 2 || record.cascadeCount === 4) {
121
+ params.cascadeCount = record.cascadeCount;
122
+ }
123
+ if (typeof record.bakeSamples === 'number' && Number.isFinite(record.bakeSamples))
124
+ params.bakeSamples = record.bakeSamples;
125
+ if (typeof record.blurKernel === 'number' && Number.isFinite(record.blurKernel))
126
+ params.blurKernel = record.blurKernel;
127
+ return Object.keys(params).length > 0 ? params : undefined;
128
+ }
129
+ //# sourceMappingURL=shadow-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-settings.js","sourceRoot":"","sources":["../../src/rendering/shadow-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import type { FpsVec3 } from '../runtime-data-types.js';
2
+ export declare const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED: boolean;
3
+ export declare const EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED: boolean;
4
+ export type EditorShadowCastMode = 'inherit' | 'none' | 'enabled' | 'auto';
5
+ export type EditorShadowReceiveMode = 'inherit' | 'none' | 'enabled' | 'auto';
6
+ export type EditorShadowMode = 'inherit' | 'none' | 'dynamic' | 'static' | 'blob' | 'projected' | 'auto';
7
+ export type EditorShadowResolvedMode = Exclude<EditorShadowMode, 'inherit' | 'auto'>;
8
+ export type EditorShadowQuality = 'inherit' | 'low' | 'medium' | 'high' | 'ultra';
9
+ export type EditorShadowResolvedQuality = Exclude<EditorShadowQuality, 'inherit'>;
10
+ export type EditorShadowLightMode = 'inherit' | 'scene-main' | 'nearest' | 'explicit';
11
+ export interface EditorShadowLightSettings {
12
+ mode?: EditorShadowLightMode;
13
+ lightId?: string;
14
+ }
15
+ export interface EditorShadowParams {
16
+ opacity?: number;
17
+ softness?: number;
18
+ bias?: number;
19
+ normalBias?: number;
20
+ maxDistance?: number;
21
+ resolution?: 512 | 1024 | 2048 | 4096;
22
+ cascadeCount?: 1 | 2 | 4;
23
+ bakeSamples?: number;
24
+ blurKernel?: number;
25
+ }
26
+ export interface EditorShadowSettings {
27
+ cast?: EditorShadowCastMode;
28
+ receive?: EditorShadowReceiveMode;
29
+ mode?: EditorShadowMode;
30
+ quality?: EditorShadowQuality;
31
+ light?: EditorShadowLightSettings;
32
+ params?: EditorShadowParams;
33
+ }
34
+ export interface EditorShadowResolvedParams {
35
+ opacity: number;
36
+ softness: number;
37
+ bias: number;
38
+ normalBias: number;
39
+ maxDistance: number;
40
+ resolution: 512 | 1024 | 2048 | 4096;
41
+ cascadeCount: 1 | 2 | 4;
42
+ bakeSamples: number;
43
+ blurKernel: number;
44
+ }
45
+ export type EditorShadowDiagnosticSeverity = 'info' | 'warning' | 'error';
46
+ export type EditorShadowDiagnosticCode = 'shadow.receiverNotFound' | 'shadow.lightNotFound' | 'shadow.staticStale' | 'shadow.costHigh' | 'shadow.invalidTarget' | 'shadow.invalidSettings' | 'shadow.materialUnsupported' | 'shadow.paramsIgnored';
47
+ export interface EditorShadowDiagnostic {
48
+ code: EditorShadowDiagnosticCode;
49
+ severity: EditorShadowDiagnosticSeverity;
50
+ message: string;
51
+ casterId?: string;
52
+ receiverId?: string;
53
+ lightId?: string;
54
+ details?: Record<string, unknown>;
55
+ }
56
+ export type EditorShadowPlanBackend = 'none' | 'dynamic-map' | 'static-baked' | 'blob' | 'projected';
57
+ export interface EditorShadowResolvedPlan {
58
+ casterId: string;
59
+ receiverIds: string[];
60
+ lightId?: string;
61
+ backend: EditorShadowPlanBackend;
62
+ mode: EditorShadowResolvedMode;
63
+ quality: EditorShadowResolvedQuality;
64
+ params: EditorShadowResolvedParams;
65
+ stale?: boolean;
66
+ diagnostics: EditorShadowDiagnostic[];
67
+ }
68
+ export interface EditorShadowReceiverCandidate {
69
+ receiverId: string;
70
+ source: 'explicit' | 'prefab' | 'auto' | 'scene-default';
71
+ score: number;
72
+ boundsCenter?: FpsVec3;
73
+ active?: boolean;
74
+ visible?: boolean;
75
+ receive?: EditorShadowReceiveMode;
76
+ suitability?: {
77
+ score?: number;
78
+ overlap?: number;
79
+ distance?: number;
80
+ material?: string;
81
+ light?: string;
82
+ reasons?: string[];
83
+ };
84
+ diagnostics?: EditorShadowDiagnostic[];
85
+ }
86
+ export interface EditorShadowStaticBinding {
87
+ id: string;
88
+ ownerCasterId: string;
89
+ receiverId: string;
90
+ lightId?: string;
91
+ textureAssetId?: string;
92
+ projectionNodeId?: string;
93
+ visibleWhenOwnerVisible: true;
94
+ staleWhenOwnerTransformChanges: true;
95
+ staleWhenLightChanges: true;
96
+ generatedAt: string;
97
+ sourceHash: string;
98
+ }
99
+ //# sourceMappingURL=shadow-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-types.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // Static baked shadows remain readable/runtime-compatible, but the authoring
2
+ // entry points are paused while Shadow System V2 continues to stabilize.
3
+ export const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED = false;
4
+ export const EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED = false;
5
+ //# sourceMappingURL=shadow-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-types.js","sourceRoot":"","sources":["../../src/rendering/shadow-types.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,CAAC,MAAM,sCAAsC,GAAY,KAAK,CAAC;AACrE,MAAM,CAAC,MAAM,4CAA4C,GAAY,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function assertEditorShadowSettingsContract(value: unknown, path?: string): void;
2
+ export declare function assertEditorShadowResolvedPlanContract(value: unknown, path?: string): void;
3
+ //# sourceMappingURL=shadow-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-validation.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-validation.ts"],"names":[],"mappings":"AA0BA,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAa,GAAG,IAAI,CAU1F;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAiB,GAAG,IAAI,CAsBlG"}
@@ -0,0 +1,166 @@
1
+ import { isEditorShadowCastMode, isEditorShadowLightMode, isEditorShadowMode, isEditorShadowQuality, isEditorShadowReceiveMode, } from './shadow-settings.js';
2
+ const SHADOW_FIELDS = new Set(['cast', 'receive', 'mode', 'quality', 'light', 'params']);
3
+ const LIGHT_FIELDS = new Set(['mode', 'lightId']);
4
+ const PARAM_FIELDS = new Set([
5
+ 'opacity', 'softness', 'bias', 'normalBias', 'maxDistance',
6
+ 'resolution', 'cascadeCount', 'bakeSamples', 'blurKernel',
7
+ ]);
8
+ const RESOLVED_PLAN_FIELDS = new Set([
9
+ 'casterId', 'receiverIds', 'lightId', 'backend', 'mode', 'quality', 'params', 'stale', 'diagnostics',
10
+ ]);
11
+ const RESOLVED_PLAN_BACKENDS = new Set(['none', 'dynamic-map', 'static-baked', 'blob', 'projected']);
12
+ const RESOLVED_PLAN_MODES = new Set(['none', 'dynamic', 'static', 'blob', 'projected']);
13
+ const RESOLVED_PLAN_QUALITIES = new Set(['low', 'medium', 'high', 'ultra']);
14
+ const DIAGNOSTIC_FIELDS = new Set(['code', 'severity', 'message', 'casterId', 'receiverId', 'lightId', 'details']);
15
+ const DIAGNOSTIC_CODES = new Set([
16
+ 'shadow.receiverNotFound', 'shadow.lightNotFound', 'shadow.staticStale', 'shadow.costHigh',
17
+ 'shadow.invalidTarget', 'shadow.invalidSettings', 'shadow.materialUnsupported', 'shadow.paramsIgnored',
18
+ ]);
19
+ export function assertEditorShadowSettingsContract(value, path = '$.shadow') {
20
+ const shadow = readRecord(value);
21
+ if (!shadow)
22
+ throw schemaError('schema.invalidType', path);
23
+ assertKnownFields(shadow, SHADOW_FIELDS, path);
24
+ if ('cast' in shadow && !isEditorShadowCastMode(shadow.cast))
25
+ throw schemaError('schema.invalidValue', `${path}.cast`);
26
+ if ('receive' in shadow && !isEditorShadowReceiveMode(shadow.receive))
27
+ throw schemaError('schema.invalidValue', `${path}.receive`);
28
+ if ('mode' in shadow && !isEditorShadowMode(shadow.mode))
29
+ throw schemaError('schema.invalidValue', `${path}.mode`);
30
+ if ('quality' in shadow && !isEditorShadowQuality(shadow.quality))
31
+ throw schemaError('schema.invalidValue', `${path}.quality`);
32
+ if ('light' in shadow)
33
+ assertShadowLight(shadow.light, `${path}.light`);
34
+ if ('params' in shadow)
35
+ assertShadowParams(shadow.params, `${path}.params`);
36
+ }
37
+ export function assertEditorShadowResolvedPlanContract(value, path = '$.shadowPlan') {
38
+ const plan = readRecord(value);
39
+ if (!plan)
40
+ throw schemaError('schema.invalidType', path);
41
+ assertKnownFields(plan, RESOLVED_PLAN_FIELDS, path);
42
+ assertNonEmptyString(plan.casterId, `${path}.casterId`);
43
+ assertStringArray(plan.receiverIds, `${path}.receiverIds`);
44
+ if ('lightId' in plan)
45
+ assertNonEmptyString(plan.lightId, `${path}.lightId`);
46
+ if (!RESOLVED_PLAN_BACKENDS.has(plan.backend))
47
+ throw schemaError('schema.invalidValue', `${path}.backend`);
48
+ if (!RESOLVED_PLAN_MODES.has(plan.mode))
49
+ throw schemaError('schema.invalidValue', `${path}.mode`);
50
+ if (!RESOLVED_PLAN_QUALITIES.has(plan.quality))
51
+ throw schemaError('schema.invalidValue', `${path}.quality`);
52
+ const expectedMode = {
53
+ none: 'none',
54
+ 'dynamic-map': 'dynamic',
55
+ 'static-baked': 'static',
56
+ blob: 'blob',
57
+ projected: 'projected',
58
+ }[plan.backend];
59
+ if (expectedMode !== plan.mode)
60
+ throw schemaError('schema.invalidValue', `${path}.mode`);
61
+ assertResolvedShadowParams(plan.params, `${path}.params`);
62
+ if ('stale' in plan && typeof plan.stale !== 'boolean')
63
+ throw schemaError('schema.invalidType', `${path}.stale`);
64
+ if (!Array.isArray(plan.diagnostics))
65
+ throw schemaError('schema.invalidType', `${path}.diagnostics`);
66
+ plan.diagnostics.forEach((value, index) => assertShadowDiagnostic(value, `${path}.diagnostics[${index}]`));
67
+ }
68
+ function assertResolvedShadowParams(value, path) {
69
+ const params = readRecord(value);
70
+ if (!params)
71
+ throw schemaError('schema.invalidType', path);
72
+ assertKnownFields(params, PARAM_FIELDS, path);
73
+ for (const field of ['opacity', 'softness', 'bias', 'normalBias', 'maxDistance', 'bakeSamples', 'blurKernel']) {
74
+ if (!(field in params))
75
+ throw schemaError('schema.missingField', `${path}.${field}`);
76
+ assertOptionalNumber(params, field, path, number => Number.isFinite(number));
77
+ }
78
+ if (![512, 1024, 2048, 4096].includes(params.resolution))
79
+ throw schemaError('schema.invalidValue', `${path}.resolution`);
80
+ if (![1, 2, 4].includes(params.cascadeCount))
81
+ throw schemaError('schema.invalidValue', `${path}.cascadeCount`);
82
+ }
83
+ function assertShadowDiagnostic(value, path) {
84
+ const diagnostic = readRecord(value);
85
+ if (!diagnostic)
86
+ throw schemaError('schema.invalidType', path);
87
+ assertKnownFields(diagnostic, DIAGNOSTIC_FIELDS, path);
88
+ if (!DIAGNOSTIC_CODES.has(diagnostic.code))
89
+ throw schemaError('schema.invalidValue', `${path}.code`);
90
+ if (!['info', 'warning', 'error'].includes(diagnostic.severity))
91
+ throw schemaError('schema.invalidValue', `${path}.severity`);
92
+ assertNonEmptyString(diagnostic.message, `${path}.message`);
93
+ for (const field of ['casterId', 'receiverId', 'lightId']) {
94
+ if (field in diagnostic)
95
+ assertNonEmptyString(diagnostic[field], `${path}.${field}`);
96
+ }
97
+ if ('details' in diagnostic && !readRecord(diagnostic.details))
98
+ throw schemaError('schema.invalidType', `${path}.details`);
99
+ }
100
+ function assertStringArray(value, path) {
101
+ if (!Array.isArray(value))
102
+ throw schemaError('schema.invalidType', path);
103
+ value.forEach((entry, index) => assertNonEmptyString(entry, `${path}[${index}]`));
104
+ }
105
+ function assertNonEmptyString(value, path) {
106
+ if (typeof value !== 'string' || !value.trim())
107
+ throw schemaError('schema.invalidValue', path);
108
+ }
109
+ function assertShadowLight(value, path) {
110
+ const light = readRecord(value);
111
+ if (!light)
112
+ throw schemaError('schema.invalidType', path);
113
+ assertKnownFields(light, LIGHT_FIELDS, path);
114
+ if ('mode' in light && !isEditorShadowLightMode(light.mode))
115
+ throw schemaError('schema.invalidValue', `${path}.mode`);
116
+ if ('lightId' in light && (typeof light.lightId !== 'string' || !light.lightId.trim())) {
117
+ throw schemaError('schema.invalidValue', `${path}.lightId`);
118
+ }
119
+ if (light.mode === 'explicit' && (typeof light.lightId !== 'string' || !light.lightId.trim())) {
120
+ throw schemaError('schema.invalidValue', `${path}.lightId`);
121
+ }
122
+ }
123
+ function assertShadowParams(value, path) {
124
+ const params = readRecord(value);
125
+ if (!params)
126
+ throw schemaError('schema.invalidType', path);
127
+ assertKnownFields(params, PARAM_FIELDS, path);
128
+ assertOptionalNumber(params, 'opacity', path, number => number >= 0 && number <= 1);
129
+ assertOptionalNumber(params, 'softness', path, number => number >= 0);
130
+ assertOptionalNumber(params, 'bias', path, () => true);
131
+ assertOptionalNumber(params, 'normalBias', path, () => true);
132
+ assertOptionalNumber(params, 'maxDistance', path, number => number > 0);
133
+ assertOptionalNumber(params, 'bakeSamples', path, number => number > 0);
134
+ assertOptionalNumber(params, 'blurKernel', path, number => number >= 0);
135
+ if ('resolution' in params && ![512, 1024, 2048, 4096].includes(params.resolution)) {
136
+ throw schemaError('schema.invalidValue', `${path}.resolution`);
137
+ }
138
+ if ('cascadeCount' in params && ![1, 2, 4].includes(params.cascadeCount)) {
139
+ throw schemaError('schema.invalidValue', `${path}.cascadeCount`);
140
+ }
141
+ }
142
+ function assertOptionalNumber(record, field, path, predicate) {
143
+ if (!(field in record))
144
+ return;
145
+ const value = record[field];
146
+ if (typeof value !== 'number' || !Number.isFinite(value) || !predicate(value)) {
147
+ throw schemaError('schema.invalidValue', `${path}.${field}`);
148
+ }
149
+ }
150
+ function assertKnownFields(record, fields, path) {
151
+ for (const key of Object.keys(record)) {
152
+ if (!fields.has(key))
153
+ throw schemaError('schema.deprecatedField', `${path}.${key}`);
154
+ }
155
+ }
156
+ function schemaError(code, path) {
157
+ const error = new Error(`${code}: ${path}`);
158
+ Object.assign(error, { code, path });
159
+ return error;
160
+ }
161
+ function readRecord(value) {
162
+ return value && typeof value === 'object' && !Array.isArray(value)
163
+ ? value
164
+ : null;
165
+ }
166
+ //# sourceMappingURL=shadow-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-validation.js","sourceRoot":"","sources":["../../src/rendering/shadow-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa;IAC1D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY;CAC1D,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa;CACrG,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACrG,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACxF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACnH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,yBAAyB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB;IAC1F,sBAAsB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,sBAAsB;CACvG,CAAC,CAAC;AAEH,MAAM,UAAU,kCAAkC,CAAC,KAAc,EAAE,IAAI,GAAG,UAAU;IAClF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC3D,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACvH,IAAI,SAAS,IAAI,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACnI,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACnH,IAAI,SAAS,IAAI,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IAC/H,IAAI,OAAO,IAAI,MAAM;QAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;IACxE,IAAI,QAAQ,IAAI,MAAM;QAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAc,EAAE,IAAI,GAAG,cAAc;IAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACzD,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACpD,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACxD,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IAC3D,IAAI,SAAS,IAAI,IAAI;QAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IAC7E,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAiB,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACrH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAc,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAC5G,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAiB,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACtH,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW;KACvB,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;IAC1B,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACzF,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;IAC1D,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;IACjH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACrG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,IAAI,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,IAAY;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC3D,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;YAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QACrF,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAoB,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;IACnI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAsB,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,IAAY;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC/D,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAc,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAC/G,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAkB,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACxI,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,IAAI,UAAU;YAAE,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,SAAS,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAY;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACzE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAY;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC1D,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,MAAM,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACtH,IAAI,SAAS,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,IAAY;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC3D,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9C,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC;IACpF,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7D,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,YAAY,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAoB,CAAC,EAAE,CAAC;QAC7F,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,cAAc,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAsB,CAAC,EAAE,CAAC;QACnF,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAA+B,EAC/B,KAAa,EACb,IAAY,EACZ,SAAqC;IAErC,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;QAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,MAAM,WAAW,CAAC,qBAAqB,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B,EAAE,MAAmB,EAAE,IAAY;IAC3F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,WAAW,CAAC,wBAAwB,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readRecord(value: unknown): Record<string, unknown> | undefined;
2
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/rendering/value.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI9E"}
@@ -0,0 +1,6 @@
1
+ export function readRecord(value) {
2
+ return value && typeof value === 'object' && !Array.isArray(value)
3
+ ? value
4
+ : undefined;
5
+ }
6
+ //# sourceMappingURL=value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/rendering/value.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FpsRuntimeData } from './runtime-data-types.js';
2
+ /** Canonical Runtime Data service identity shared by Engine and Runtime Plugins. */
3
+ export declare const FPS_RUNTIME_DATA: import("@fps-games/plugin-sdk").FpsServiceToken<FpsRuntimeData<import("./runtime-data-types.js").FpsRuntimeAsset, import("./runtime-data-types.js").FpsRuntimeSceneNode>>;
4
+ //# sourceMappingURL=runtime-data-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-token.d.ts","sourceRoot":"","sources":["../src/runtime-data-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,2KAA4D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { defineFpsServiceToken } from '@fps-games/plugin-sdk/runtime';
2
+ /** Canonical Runtime Data service identity shared by Engine and Runtime Plugins. */
3
+ export const FPS_RUNTIME_DATA = defineFpsServiceToken('fps.runtime.data');
4
+ //# sourceMappingURL=runtime-data-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-token.js","sourceRoot":"","sources":["../src/runtime-data-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAiB,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ export interface FpsVec3 {
2
+ readonly x: number;
3
+ readonly y: number;
4
+ readonly z: number;
5
+ }
6
+ export type FpsRuntimeTransformSnapshot = {
7
+ readonly mode?: 'trs';
8
+ readonly position: Readonly<FpsVec3>;
9
+ readonly rotation: Readonly<FpsVec3>;
10
+ readonly scale: Readonly<FpsVec3>;
11
+ } | {
12
+ readonly mode: 'matrix';
13
+ readonly matrix: readonly [
14
+ number,
15
+ number,
16
+ number,
17
+ number,
18
+ number,
19
+ number,
20
+ number,
21
+ number,
22
+ number,
23
+ number,
24
+ number,
25
+ number,
26
+ number,
27
+ number,
28
+ number,
29
+ number
30
+ ];
31
+ };
32
+ export declare const FPS_RUNTIME_DATA_SCHEMA_VERSION: 1;
33
+ export interface FpsRuntimeAsset {
34
+ readonly id: string;
35
+ readonly kind: string;
36
+ readonly url?: string;
37
+ readonly metadata?: Readonly<Record<string, unknown>>;
38
+ }
39
+ export interface FpsRuntimeMaterial {
40
+ readonly id: string;
41
+ readonly kind: string;
42
+ readonly parameters?: Readonly<Record<string, unknown>>;
43
+ readonly metadata?: Readonly<Record<string, unknown>>;
44
+ }
45
+ export interface FpsRuntimeSceneNode {
46
+ readonly id: string;
47
+ readonly name?: string;
48
+ readonly parentId?: string | null;
49
+ readonly transform?: FpsRuntimeTransformSnapshot;
50
+ readonly active?: boolean;
51
+ readonly visible?: boolean;
52
+ readonly light?: unknown;
53
+ readonly shadow?: unknown;
54
+ readonly shadowPlan?: unknown;
55
+ readonly materialLightingModel?: 'lit' | 'unlit' | 'unknown';
56
+ readonly receiveDynamicShadows?: boolean;
57
+ readonly metadata?: Readonly<Record<string, unknown>>;
58
+ }
59
+ export interface FpsRuntimePluginData {
60
+ readonly pluginId: string;
61
+ readonly schemaVersion: number;
62
+ readonly data: unknown;
63
+ }
64
+ export interface FpsRuntimeData<TAsset extends FpsRuntimeAsset = FpsRuntimeAsset, TNode extends FpsRuntimeSceneNode = FpsRuntimeSceneNode> {
65
+ readonly schemaVersion: typeof FPS_RUNTIME_DATA_SCHEMA_VERSION;
66
+ readonly assets: readonly TAsset[];
67
+ readonly materials?: readonly FpsRuntimeMaterial[];
68
+ readonly scene: {
69
+ readonly nodes: readonly TNode[];
70
+ };
71
+ readonly rendering?: unknown;
72
+ readonly plugins?: readonly FpsRuntimePluginData[];
73
+ readonly metadata?: Readonly<Record<string, unknown>>;
74
+ }
75
+ export interface FpsGeneratedAssetCatalogEntry {
76
+ readonly assetId: string;
77
+ readonly url: string;
78
+ readonly format: `.${string}`;
79
+ readonly relativePath: string;
80
+ readonly originalFileName?: string;
81
+ }
82
+ export type FpsGeneratedAssetCatalog = Readonly<Record<string, FpsGeneratedAssetCatalogEntry>>;
83
+ //# sourceMappingURL=runtime-data-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-types.d.ts","sourceRoot":"","sources":["../src/runtime-data-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const FPS_RUNTIME_DATA_SCHEMA_VERSION = 1;
2
+ //# sourceMappingURL=runtime-data-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-types.js","sourceRoot":"","sources":["../src/runtime-data-types.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FpsRuntimeAsset, FpsRuntimeData, FpsRuntimeMaterial, FpsRuntimePluginData } from './runtime-data-types.js';
2
+ export declare class FpsRuntimeSchemaError extends Error {
3
+ readonly receivedVersion: unknown;
4
+ readonly code = "runtime.schema.unsupported";
5
+ constructor(receivedVersion: unknown);
6
+ }
7
+ export declare class FpsRuntimeDataError extends Error {
8
+ readonly path: string;
9
+ readonly reason: string;
10
+ readonly code = "runtime.data.invalid";
11
+ constructor(path: string, reason: string);
12
+ }
13
+ export declare function createFpsRuntimeDataSnapshot(value: unknown): FpsRuntimeData;
14
+ export declare function createFpsRuntimeAssetsSnapshot(value: unknown): readonly FpsRuntimeAsset[];
15
+ export declare function createFpsRuntimeMaterialsSnapshot(value: unknown): readonly FpsRuntimeMaterial[];
16
+ export declare function createFpsRuntimeRenderingSnapshot(value: unknown): unknown;
17
+ export declare function getFpsRuntimePluginData(data: FpsRuntimeData, pluginId: string): FpsRuntimePluginData | null;
18
+ //# sourceMappingURL=runtime-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data.d.ts","sourceRoot":"","sources":["../src/runtime-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAQjC,qBAAa,qBAAsB,SAAQ,KAAK;IAElC,QAAQ,CAAC,eAAe,EAAE,OAAO;IAD7C,QAAQ,CAAC,IAAI,gCAAgC;gBACxB,eAAe,EAAE,OAAO;CAI9C;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD1D,QAAQ,CAAC,IAAI,0BAA0B;gBAClB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAI3D;AAkHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAI3E;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,CAIzF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,kBAAkB,EAAE,CAI/F;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAG3G"}