@fps-games/editor 0.2.0-beta.2 → 0.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +49 -2
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.js.map +1 -1
  57. package/dist/static-shadow-cpu-worker.js.map +1 -1
  58. package/dist/vite.js.map +1 -1
  59. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  60. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  94. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  95. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  96. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  132. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  133. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  134. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  173. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  174. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  175. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  183. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  185. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/package.json +6 -6
  205. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  206. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  207. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  208. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  209. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  210. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  211. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  511. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  513. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  514. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  515. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  516. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  517. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  518. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  519. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  520. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  521. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  522. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  523. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  524. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  525. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  526. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  527. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  528. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  529. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  530. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  531. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  532. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  533. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  534. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  535. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  536. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  537. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  538. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  539. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  540. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  541. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  542. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  543. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  544. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  545. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  546. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  547. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  548. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  549. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  550. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  551. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  552. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  553. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  554. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  555. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  556. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  557. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  558. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  559. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  560. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  561. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  562. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  563. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  564. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  565. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  566. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  567. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  568. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  569. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  570. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  571. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  572. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  573. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  574. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  575. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  576. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  577. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  578. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  579. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  580. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  581. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  582. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  583. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  584. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  585. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  586. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  587. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  588. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  589. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  590. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  591. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  593. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  594. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  595. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  596. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  597. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  598. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  599. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  600. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  601. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  602. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sCAAsC,EACtC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AA0BpC,OAAO,EACL,iDAAiD,EACjD,mDAAmD,EACnD,oDAAoD,EACpD,qCAAqC,EACrC,6DAA6D,EAC7D,gCAAgC,EAChC,0CAA0C,EAC1C,4CAA4C,EAC5C,qDAAqD,EACrD,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yCAAyC,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sCAAsC,EACtC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AA0BpC,OAAO,EACL,iDAAiD,EACjD,mDAAmD,EACnD,oDAAoD,EACpD,qCAAqC,EACrC,6DAA6D,EAC7D,gCAAgC,EAChC,0CAA0C,EAC1C,4CAA4C,EAC5C,qDAAqD,EACrD,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yCAAyC,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export type {\n EditorShadowCastMode,\n EditorShadowDiagnostic,\n EditorShadowDiagnosticCode,\n EditorShadowDiagnosticSeverity,\n EditorShadowLightMode,\n EditorShadowLightSettings,\n EditorShadowMode,\n EditorShadowParams,\n EditorShadowPlanBackend,\n EditorShadowQuality,\n EditorShadowReceiveMode,\n EditorShadowReceiverCandidate,\n EditorShadowResolvedMode,\n EditorShadowResolvedParams,\n EditorShadowResolvedPlan,\n EditorShadowResolvedQuality,\n EditorShadowSettings,\n EditorShadowStaticBinding,\n} from './shadow-types.js';\nexport {\n EDITOR_SHADOW_DEFAULT_QUALITY,\n EDITOR_SHADOW_QUALITY_PRESETS,\n resolveEditorShadowParams,\n} from './shadow-quality.js';\nexport {\n isEditorShadowCastMode,\n isEditorShadowLightMode,\n isEditorShadowMode,\n isEditorShadowQuality,\n isEditorShadowReceiveMode,\n readEditorShadowResolvedMode,\n readEditorShadowResolvedQuality,\n readEditorShadowSettings,\n readEditorShadowSettingsResult,\n} from './shadow-settings.js';\nexport {\n assertEditorShadowResolvedPlanContract,\n assertEditorShadowSettingsContract,\n} from './shadow-validation.js';\nexport * from './shadow-runtime.js';\nexport type {\n EditorSceneBlobShadowPreviewSettings,\n EditorSceneBlobShadowPreviewSettingsInput,\n EditorSceneBlobShadowProfile,\n EditorSceneEnvironmentProfile,\n EditorScenePlanarShadowPreviewSettings,\n EditorScenePlanarShadowPreviewSettingsInput,\n EditorScenePlanarShadowProfile,\n EditorScenePostProcessProfile,\n EditorScenePostProcessSamples,\n EditorScenePostProcessToneMappingType,\n EditorSceneRenderingColorRgb,\n EditorSceneRenderingColorRgba,\n EditorSceneRenderingGroupId,\n EditorSceneRenderingGroupSlot,\n EditorSceneRenderingGroupsProfile,\n EditorSceneRenderingProfile,\n EditorSceneRenderingProfileSummary,\n EditorSceneRenderingTextureRef,\n EditorSceneRenderingVec3,\n EditorSceneResolvedShadowMode,\n EditorSceneStaticProjectedShadowPreviewSettings,\n EditorSceneStaticProjectedShadowPreviewSettingsInput,\n EditorSceneStaticProjectedShadowProfile,\n} from './rendering-profile-types.js';\nexport {\n EDITOR_SCENE_DEFAULT_BLOB_SHADOW_EXCLUDE_PATTERNS,\n EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_EXCLUDE_PATTERNS,\n EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_RECEIVER_PATTERNS,\n EDITOR_SCENE_DEFAULT_RENDERING_GROUPS,\n EDITOR_SCENE_DEFAULT_STATIC_PROJECTED_SHADOW_EXCLUDE_PATTERNS,\n EDITOR_SCENE_RENDERING_GROUP_IDS,\n createEditorSceneBlobShadowPreviewSettings,\n createEditorScenePlanarShadowPreviewSettings,\n createEditorSceneStaticProjectedShadowPreviewSettings,\n normalizeEditorSceneRenderingProfile,\n summarizeEditorSceneRenderingProfile,\n} from './rendering-profile.js';\nexport { assertEditorSceneRenderingProfileContract } from './rendering-profile-validation.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-quality.js","sourceRoot":"","sources":["../src/shadow-quality.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,6BAA6B,GAAgC,QAAQ,CAAC;AAEnF,MAAM,CAAC,MAAM,6BAA6B,GAAoE;IAC5G,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;KACd;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,CAAC;KACd;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,EAAE;KACf;CACF,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,UAAuC,6BAA6B,EACpE,SAA6B,EAAE;IAE/B,MAAM,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IACtH,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QACzD,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC5D,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAChD,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAClE,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QACrE,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QACtE,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;QACxE,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QACxE,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAAgB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,QAAgB;IAC9D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,QAAkD;IAElD,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;QACxE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc,EACd,QAAoD;IAEpD,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"shadow-quality.js","sourceRoot":"","sources":["../src/shadow-quality.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorShadowParams,\n EditorShadowResolvedParams,\n EditorShadowResolvedQuality,\n} from './shadow-types.js';\n\nexport const EDITOR_SHADOW_DEFAULT_QUALITY: EditorShadowResolvedQuality = 'medium';\n\nexport const EDITOR_SHADOW_QUALITY_PRESETS: Record<EditorShadowResolvedQuality, EditorShadowResolvedParams> = {\n low: {\n opacity: 0.32,\n softness: 0.25,\n bias: 0.0015,\n normalBias: 0.02,\n maxDistance: 24,\n resolution: 512,\n cascadeCount: 1,\n bakeSamples: 8,\n blurKernel: 2,\n },\n medium: {\n opacity: 0.42,\n softness: 0.4,\n bias: 0.001,\n normalBias: 0.01,\n maxDistance: 48,\n resolution: 1024,\n cascadeCount: 2,\n bakeSamples: 24,\n blurKernel: 4,\n },\n high: {\n opacity: 0.5,\n softness: 0.58,\n bias: 0.0008,\n normalBias: 0.006,\n maxDistance: 80,\n resolution: 2048,\n cascadeCount: 4,\n bakeSamples: 64,\n blurKernel: 8,\n },\n ultra: {\n opacity: 0.56,\n softness: 0.72,\n bias: 0.0006,\n normalBias: 0.004,\n maxDistance: 120,\n resolution: 4096,\n cascadeCount: 4,\n bakeSamples: 128,\n blurKernel: 12,\n },\n};\n\nexport function resolveEditorShadowParams(\n quality: EditorShadowResolvedQuality = EDITOR_SHADOW_DEFAULT_QUALITY,\n params: EditorShadowParams = {},\n): EditorShadowResolvedParams {\n const preset = EDITOR_SHADOW_QUALITY_PRESETS[quality] ?? EDITOR_SHADOW_QUALITY_PRESETS[EDITOR_SHADOW_DEFAULT_QUALITY];\n return {\n opacity: readFiniteNumber(params.opacity, preset.opacity),\n softness: readFiniteNumber(params.softness, preset.softness),\n bias: readFiniteNumber(params.bias, preset.bias),\n normalBias: readFiniteNumber(params.normalBias, preset.normalBias),\n maxDistance: readFiniteNumber(params.maxDistance, preset.maxDistance),\n resolution: readShadowResolution(params.resolution, preset.resolution),\n cascadeCount: readCascadeCount(params.cascadeCount, preset.cascadeCount),\n bakeSamples: readPositiveInteger(params.bakeSamples, preset.bakeSamples),\n blurKernel: readNonNegativeInteger(params.blurKernel, preset.blurKernel),\n };\n}\n\nfunction readFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction readPositiveInteger(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n ? Math.round(value)\n : fallback;\n}\n\nfunction readNonNegativeInteger(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0\n ? Math.round(value)\n : fallback;\n}\n\nfunction readShadowResolution(\n value: unknown,\n fallback: EditorShadowResolvedParams['resolution'],\n): EditorShadowResolvedParams['resolution'] {\n return value === 512 || value === 1024 || value === 2048 || value === 4096\n ? value\n : fallback;\n}\n\nfunction readCascadeCount(\n value: unknown,\n fallback: EditorShadowResolvedParams['cascadeCount'],\n): EditorShadowResolvedParams['cascadeCount'] {\n return value === 1 || value === 2 || value === 4 ? value : fallback;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-runtime.js","sourceRoot":"","sources":["../src/shadow-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-runtime.js","sourceRoot":"","sources":["../src/shadow-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { readRecord } from './value.js';\nimport { readEditorShadowResolvedMode, readEditorShadowResolvedQuality, readEditorShadowSettingsResult } from './shadow-settings.js';\nimport { resolveEditorShadowParams } from './shadow-quality.js';\nimport type {\n EditorShadowDiagnostic,\n EditorShadowPlanBackend,\n EditorShadowResolvedMode,\n EditorShadowResolvedParams,\n EditorShadowResolvedPlan,\n EditorShadowResolvedQuality,\n EditorShadowSettings,\n} from './shadow-types.js';\n\nexport type EditorShadowRuntimeMaterialLightingModel = 'lit' | 'unlit' | 'unknown';\n\nexport interface EditorShadowRuntimeTarget {\n id: string;\n name?: string;\n nodeIds?: readonly string[];\n rootNodeId?: string;\n active?: boolean;\n visible?: boolean;\n shadow?: EditorShadowSettings | null;\n shadowPlan?: unknown;\n materialLightingModel?: EditorShadowRuntimeMaterialLightingModel;\n receiveDynamicShadows?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport type EditorShadowRuntimeReceiverSource =\n | 'plan'\n | 'explicit'\n | 'auto';\n\nexport type EditorShadowRuntimeParamName = keyof EditorShadowResolvedParams;\n\nexport interface EditorShadowRuntimeParamsUsage {\n consumed: EditorShadowRuntimeParamName[];\n ignored: EditorShadowRuntimeParamName[];\n}\n\nexport interface EditorShadowRuntimeReceiverState {\n target: EditorShadowRuntimeTarget;\n targetId: string;\n nodeIds: string[];\n source: EditorShadowRuntimeReceiverSource;\n receiveShadows: boolean;\n receiveDynamicShadows: boolean;\n materialLightingModel: EditorShadowRuntimeMaterialLightingModel;\n diagnostics: EditorShadowDiagnostic[];\n}\n\nexport interface EditorShadowRuntimeCasterState {\n target: EditorShadowRuntimeTarget;\n targetId: string;\n plan: EditorShadowResolvedPlan;\n backend: EditorShadowPlanBackend;\n mode: EditorShadowResolvedMode;\n quality: EditorShadowResolvedQuality;\n params: EditorShadowResolvedParams;\n receiverTargetIds: string[];\n receivers: EditorShadowRuntimeReceiverState[];\n paramsUsage: EditorShadowRuntimeParamsUsage;\n diagnostics: EditorShadowDiagnostic[];\n}\n\nexport interface EditorShadowRuntimeState {\n targets: EditorShadowRuntimeTarget[];\n casters: EditorShadowRuntimeCasterState[];\n receivers: EditorShadowRuntimeReceiverState[];\n diagnostics: EditorShadowDiagnostic[];\n}\n\nexport interface ResolveEditorShadowRuntimeStateInput {\n targets: readonly EditorShadowRuntimeTarget[];\n fallbackMode?: EditorShadowResolvedMode;\n fallbackQuality?: EditorShadowResolvedQuality;\n}\n\nconst RUNTIME_SHADOW_PARAM_NAMES: EditorShadowRuntimeParamName[] = [\n 'opacity',\n 'softness',\n 'bias',\n 'normalBias',\n 'maxDistance',\n 'resolution',\n 'cascadeCount',\n 'bakeSamples',\n 'blurKernel',\n];\n\nexport function readEditorShadowRuntimePlan(value: unknown): EditorShadowResolvedPlan | null {\n const plan = readRecord(value);\n if (!plan) return null;\n if (typeof plan.casterId !== 'string' || !plan.casterId.trim()) return null;\n if (!Array.isArray(plan.receiverIds) || !plan.receiverIds.every(entry => typeof entry === 'string')) return null;\n if (!isEditorShadowPlanBackend(plan.backend)) return null;\n if (!isEditorShadowRuntimeResolvedMode(plan.mode)) return null;\n if (!isEditorShadowRuntimeResolvedQuality(plan.quality)) return null;\n const params = readEditorShadowRuntimeResolvedParams(plan.params);\n if (!params) return null;\n if (!Array.isArray(plan.diagnostics)) return null;\n return {\n casterId: plan.casterId,\n receiverIds: normalizeRuntimeStringList(plan.receiverIds),\n ...(typeof plan.lightId === 'string' && plan.lightId.trim() ? { lightId: plan.lightId.trim() } : {}),\n backend: plan.backend,\n mode: plan.mode,\n quality: plan.quality,\n params,\n ...(typeof plan.stale === 'boolean' ? { stale: plan.stale } : {}),\n diagnostics: plan.diagnostics.filter(isEditorShadowDiagnostic),\n };\n}\n\nexport function resolveEditorShadowRuntimeState(\n input: ResolveEditorShadowRuntimeStateInput,\n): EditorShadowRuntimeState {\n const targets = input.targets.filter(target => typeof target.id === 'string' && target.id.trim());\n const targetIndex = createRuntimeTargetIndex(targets);\n const diagnostics: EditorShadowDiagnostic[] = [];\n const casters: EditorShadowRuntimeCasterState[] = [];\n const globalReceivers = new Map<string, EditorShadowRuntimeReceiverState>();\n\n for (const target of targets) {\n if (!isRuntimeTargetActive(target)) continue;\n const plan = readEditorShadowRuntimePlan(target.shadowPlan)\n ?? createRuntimeFallbackPlan(target, input.fallbackMode, input.fallbackQuality);\n if (!plan || plan.backend === 'none' || plan.mode === 'none') continue;\n\n const resolvedReceivers = resolveRuntimeReceiversForCaster({\n caster: target,\n plan,\n targets,\n targetIndex,\n });\n const receiverDiagnostics = resolvedReceivers.flatMap(receiver => receiver.diagnostics);\n const receiverStates = resolvedReceivers.filter(receiver => receiver.targetId);\n const paramsUsage = resolveEditorShadowRuntimeParamsUsage(plan.backend);\n const casterDiagnostics = [\n ...plan.diagnostics,\n ...receiverDiagnostics,\n ...createRuntimeParamsDiagnostics(plan, paramsUsage),\n ];\n const casterState: EditorShadowRuntimeCasterState = {\n target,\n targetId: target.id,\n plan,\n backend: plan.backend,\n mode: plan.mode,\n quality: plan.quality,\n params: plan.params,\n receiverTargetIds: receiverStates\n .filter(receiver => receiver.receiveShadows)\n .map(receiver => receiver.targetId),\n receivers: receiverStates,\n paramsUsage,\n diagnostics: casterDiagnostics,\n };\n casters.push(casterState);\n diagnostics.push(...casterDiagnostics);\n for (const receiver of receiverStates) {\n const existing = globalReceivers.get(receiver.targetId);\n if (!existing || scoreRuntimeReceiverSource(receiver.source) > scoreRuntimeReceiverSource(existing.source)) {\n globalReceivers.set(receiver.targetId, receiver);\n }\n }\n }\n\n return {\n targets,\n casters,\n receivers: [...globalReceivers.values()].sort((a, b) => a.targetId.localeCompare(b.targetId)),\n diagnostics,\n };\n}\n\nexport function resolveEditorShadowRuntimeParamsUsage(\n backend: EditorShadowPlanBackend,\n): EditorShadowRuntimeParamsUsage {\n const consumed = new Set<EditorShadowRuntimeParamName>();\n if (backend === 'dynamic-map') {\n for (const param of ['opacity', 'bias', 'normalBias', 'maxDistance', 'resolution', 'cascadeCount'] as const) {\n consumed.add(param);\n }\n } else if (backend === 'blob') {\n for (const param of ['opacity', 'softness', 'maxDistance'] as const) consumed.add(param);\n } else if (backend === 'projected') {\n for (const param of ['opacity', 'softness', 'maxDistance', 'blurKernel'] as const) consumed.add(param);\n } else if (backend === 'static-baked') {\n for (const param of ['opacity', 'softness', 'maxDistance', 'resolution', 'bakeSamples', 'blurKernel'] as const) {\n consumed.add(param);\n }\n }\n return {\n consumed: RUNTIME_SHADOW_PARAM_NAMES.filter(param => consumed.has(param)),\n ignored: RUNTIME_SHADOW_PARAM_NAMES.filter(param => !consumed.has(param)),\n };\n}\n\nfunction resolveRuntimeReceiversForCaster(input: {\n caster: EditorShadowRuntimeTarget;\n plan: EditorShadowResolvedPlan;\n targets: readonly EditorShadowRuntimeTarget[];\n targetIndex: Map<string, EditorShadowRuntimeTarget[]>;\n}): EditorShadowRuntimeReceiverState[] {\n const receivers = new Map<string, EditorShadowRuntimeReceiverState>();\n if (input.plan.receiverIds.length > 0) {\n for (const receiverId of input.plan.receiverIds) {\n const matches = input.targetIndex.get(receiverId) ?? [];\n if (matches.length === 0) {\n receivers.set(`missing:${receiverId}`, createMissingRuntimeReceiver(input.caster.id, receiverId));\n continue;\n }\n for (const target of matches) {\n if (target.id === input.caster.id || !isRuntimeTargetActive(target)) continue;\n setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({\n target,\n casterId: input.caster.id,\n backend: input.plan.backend,\n source: 'plan',\n }));\n }\n }\n }\n\n for (const target of input.targets) {\n if (target.id === input.caster.id || !isRuntimeTargetActive(target)) continue;\n const settings = readRuntimeTargetShadowSettings(target);\n if (settings?.receive === 'none') {\n if (receivers.has(target.id)) {\n setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({\n target,\n casterId: input.caster.id,\n backend: input.plan.backend,\n source: 'explicit',\n forcedReceive: false,\n }));\n }\n continue;\n }\n if (settings?.receive === 'enabled' || settings?.receive === 'auto') {\n setHigherPriorityRuntimeReceiver(receivers, createRuntimeReceiverState({\n target,\n casterId: input.caster.id,\n backend: input.plan.backend,\n source: settings.receive === 'enabled' ? 'explicit' : 'auto',\n }));\n continue;\n }\n }\n\n return [...receivers.values()]\n .sort((a, b) => scoreRuntimeReceiverSource(b.source) - scoreRuntimeReceiverSource(a.source) || a.targetId.localeCompare(b.targetId));\n}\n\nfunction createRuntimeReceiverState(input: {\n target: EditorShadowRuntimeTarget;\n casterId: string;\n backend: EditorShadowPlanBackend;\n source: EditorShadowRuntimeReceiverSource;\n forcedReceive?: boolean;\n}): EditorShadowRuntimeReceiverState {\n const materialLightingModel = input.target.materialLightingModel ?? 'unknown';\n const receiveShadows = input.forcedReceive ?? true;\n const dynamicUnsupported = input.backend === 'dynamic-map'\n && receiveShadows\n && (materialLightingModel === 'unlit' || input.target.receiveDynamicShadows === false);\n const diagnostics: EditorShadowDiagnostic[] = [];\n if (input.forcedReceive === false) {\n diagnostics.push({\n code: 'shadow.receiverNotFound',\n severity: 'warning',\n message: `Runtime shadow receiver \"${input.target.id}\" is disabled by shadow.receive none.`,\n casterId: input.casterId,\n receiverId: input.target.id,\n details: { source: input.source, reason: 'receive-none' },\n });\n }\n if (dynamicUnsupported) {\n diagnostics.push({\n code: 'shadow.materialUnsupported',\n severity: 'warning',\n message: `Runtime shadow receiver \"${input.target.id}\" uses an unlit material, so dynamic-map shadows cannot affect it.`,\n casterId: input.casterId,\n receiverId: input.target.id,\n details: {\n backend: input.backend,\n materialLightingModel,\n },\n });\n }\n return {\n target: input.target,\n targetId: input.target.id,\n nodeIds: readRuntimeTargetNodeIds(input.target),\n source: input.source,\n receiveShadows: receiveShadows && !dynamicUnsupported,\n receiveDynamicShadows: input.backend === 'dynamic-map' && receiveShadows && !dynamicUnsupported,\n materialLightingModel,\n diagnostics,\n };\n}\n\nfunction createMissingRuntimeReceiver(casterId: string, receiverId: string): EditorShadowRuntimeReceiverState {\n return {\n target: { id: '' },\n targetId: '',\n nodeIds: [],\n source: 'plan',\n receiveShadows: false,\n receiveDynamicShadows: false,\n materialLightingModel: 'unknown',\n diagnostics: [{\n code: 'shadow.receiverNotFound',\n severity: 'warning',\n message: `Runtime shadow receiver \"${receiverId}\" was not found.`,\n casterId,\n receiverId,\n details: { source: 'plan' },\n }],\n };\n}\n\nfunction setHigherPriorityRuntimeReceiver(\n receivers: Map<string, EditorShadowRuntimeReceiverState>,\n receiver: EditorShadowRuntimeReceiverState,\n): void {\n const key = receiver.targetId || `missing:${receiver.diagnostics[0]?.receiverId ?? receivers.size}`;\n const existing = receivers.get(key);\n if (!existing || scoreRuntimeReceiverSource(receiver.source) >= scoreRuntimeReceiverSource(existing.source)) {\n receivers.set(key, receiver);\n }\n}\n\nfunction createRuntimeFallbackPlan(\n target: EditorShadowRuntimeTarget,\n fallbackMode: EditorShadowResolvedMode | undefined,\n fallbackQuality: EditorShadowResolvedQuality | undefined,\n): EditorShadowResolvedPlan | null {\n const settings = readRuntimeTargetShadowSettings(target);\n if (settings?.cast === 'none') return null;\n const mode = readEditorShadowResolvedMode(settings, fallbackMode ?? 'none');\n if (mode === 'none') return null;\n const quality = readEditorShadowResolvedQuality(settings, fallbackQuality ?? 'medium');\n return {\n casterId: target.id,\n receiverIds: [],\n backend: resolveRuntimePlanBackend(mode),\n mode,\n quality,\n params: resolveEditorShadowParams(quality, settings?.params),\n diagnostics: [],\n };\n}\n\nfunction readRuntimeTargetShadowSettings(target: EditorShadowRuntimeTarget): EditorShadowSettings | undefined {\n return readEditorShadowSettingsResult(target.shadow).shadow;\n}\n\nfunction createRuntimeTargetIndex(\n targets: readonly EditorShadowRuntimeTarget[],\n): Map<string, EditorShadowRuntimeTarget[]> {\n const index = new Map<string, EditorShadowRuntimeTarget[]>();\n for (const target of targets) {\n for (const id of readRuntimeTargetNodeIds(target)) {\n const entries = index.get(id) ?? [];\n entries.push(target);\n index.set(id, entries);\n }\n }\n return index;\n}\n\nfunction readRuntimeTargetNodeIds(target: EditorShadowRuntimeTarget): string[] {\n return normalizeRuntimeStringList([\n target.id,\n ...(target.nodeIds ?? []),\n ...(target.rootNodeId ? [target.rootNodeId] : []),\n ]);\n}\n\nfunction createRuntimeParamsDiagnostics(\n plan: EditorShadowResolvedPlan,\n usage: EditorShadowRuntimeParamsUsage,\n): EditorShadowDiagnostic[] {\n if (plan.backend === 'none' || usage.ignored.length === 0) return [];\n return [{\n code: 'shadow.paramsIgnored',\n severity: 'info',\n message: `Runtime shadow backend \"${plan.backend}\" ignores params: ${usage.ignored.join(', ')}.`,\n casterId: plan.casterId,\n details: {\n backend: plan.backend,\n ignoredParams: usage.ignored,\n consumedParams: usage.consumed,\n },\n }];\n}\n\nfunction resolveRuntimePlanBackend(mode: EditorShadowResolvedMode): EditorShadowPlanBackend {\n if (mode === 'dynamic') return 'dynamic-map';\n if (mode === 'static') return 'static-baked';\n if (mode === 'blob') return 'blob';\n if (mode === 'projected') return 'projected';\n return 'none';\n}\n\nfunction isRuntimeTargetActive(target: EditorShadowRuntimeTarget): boolean {\n return target.active !== false && target.visible !== false;\n}\n\nfunction scoreRuntimeReceiverSource(source: EditorShadowRuntimeReceiverSource): number {\n if (source === 'explicit') return 120;\n if (source === 'plan') return 100;\n return 40;\n}\n\nfunction normalizeRuntimeStringList(values: readonly unknown[]): string[] {\n const seen = new Set<string>();\n const normalized: string[] = [];\n for (const value of values) {\n const entry = typeof value === 'string' ? value.trim() : '';\n if (!entry || seen.has(entry)) continue;\n seen.add(entry);\n normalized.push(entry);\n }\n return normalized;\n}\n\nfunction readEditorShadowRuntimeResolvedParams(value: unknown): EditorShadowResolvedParams | null {\n const params = readRecord(value);\n if (!params) return null;\n const result: Partial<EditorShadowResolvedParams> = {};\n for (const key of RUNTIME_SHADOW_PARAM_NAMES) {\n const param = params[key];\n if (typeof param !== 'number' || !Number.isFinite(param)) return null;\n (result as Record<EditorShadowRuntimeParamName, number>)[key] = param;\n }\n if (!isRuntimeShadowResolution(result.resolution) || !isRuntimeShadowCascadeCount(result.cascadeCount)) return null;\n return result as EditorShadowResolvedParams;\n}\n\nfunction isEditorShadowDiagnostic(value: unknown): value is EditorShadowDiagnostic {\n const diagnostic = readRecord(value);\n return !!diagnostic\n && typeof diagnostic.code === 'string'\n && (diagnostic.severity === 'info' || diagnostic.severity === 'warning' || diagnostic.severity === 'error')\n && typeof diagnostic.message === 'string';\n}\n\nfunction isEditorShadowPlanBackend(value: unknown): value is EditorShadowPlanBackend {\n return value === 'none'\n || value === 'dynamic-map'\n || value === 'static-baked'\n || value === 'blob'\n || value === 'projected';\n}\n\nfunction isEditorShadowRuntimeResolvedMode(value: unknown): value is EditorShadowResolvedMode {\n return value === 'none'\n || value === 'dynamic'\n || value === 'static'\n || value === 'blob'\n || value === 'projected';\n}\n\nfunction isEditorShadowRuntimeResolvedQuality(value: unknown): value is EditorShadowResolvedQuality {\n return value === 'low' || value === 'medium' || value === 'high' || value === 'ultra';\n}\n\nfunction isRuntimeShadowResolution(value: unknown): value is EditorShadowResolvedParams['resolution'] {\n return value === 512 || value === 1024 || value === 2048 || value === 4096;\n}\n\nfunction isRuntimeShadowCascadeCount(value: unknown): value is EditorShadowResolvedParams['cascadeCount'] {\n return value === 1 || value === 2 || value === 4;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-settings.js","sourceRoot":"","sources":["../src/shadow-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-settings.js","sourceRoot":"","sources":["../src/shadow-settings.ts"],"names":[],"mappings":"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","sourcesContent":["import { readRecord } from './value.js';\nimport { EDITOR_SHADOW_DEFAULT_QUALITY } from './shadow-quality.js';\nimport type {\n EditorShadowCastMode,\n EditorShadowDiagnostic,\n EditorShadowLightMode,\n EditorShadowMode,\n EditorShadowParams,\n EditorShadowQuality,\n EditorShadowReceiveMode,\n EditorShadowResolvedMode,\n EditorShadowResolvedQuality,\n EditorShadowSettings,\n} from './shadow-types.js';\n\nexport function isEditorShadowCastMode(value: unknown): value is EditorShadowCastMode {\n return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';\n}\n\nexport function isEditorShadowReceiveMode(value: unknown): value is EditorShadowReceiveMode {\n return value === 'inherit' || value === 'none' || value === 'enabled' || value === 'auto';\n}\n\nexport function isEditorShadowMode(value: unknown): value is EditorShadowMode {\n return value === 'inherit'\n || value === 'none'\n || value === 'dynamic'\n || value === 'static'\n || value === 'blob'\n || value === 'projected'\n || value === 'auto';\n}\n\nexport function isEditorShadowQuality(value: unknown): value is EditorShadowQuality {\n return value === 'inherit'\n || value === 'low'\n || value === 'medium'\n || value === 'high'\n || value === 'ultra';\n}\n\nexport function isEditorShadowLightMode(value: unknown): value is EditorShadowLightMode {\n return value === 'inherit' || value === 'scene-main' || value === 'nearest' || value === 'explicit';\n}\n\nexport function readEditorShadowSettings(value: unknown): EditorShadowSettings | undefined {\n const record = readRecord(value);\n if (!record) return undefined;\n const settings: EditorShadowSettings = {};\n\n if (isEditorShadowCastMode(record.cast)) settings.cast = record.cast;\n if (isEditorShadowReceiveMode(record.receive)) settings.receive = record.receive;\n if (isEditorShadowMode(record.mode)) settings.mode = record.mode;\n if (isEditorShadowQuality(record.quality)) settings.quality = record.quality;\n\n const light = readRecord(record.light);\n if (light) {\n const normalizedLight: NonNullable<EditorShadowSettings['light']> = {};\n if (isEditorShadowLightMode(light.mode)) normalizedLight.mode = light.mode;\n if (typeof light.lightId === 'string' && light.lightId.trim()) normalizedLight.lightId = light.lightId.trim();\n if (Object.keys(normalizedLight).length > 0) settings.light = normalizedLight;\n }\n\n const params = readEditorShadowParams(record.params);\n if (params) settings.params = params;\n\n return Object.keys(settings).length > 0 ? settings : undefined;\n}\n\nexport function readEditorShadowSettingsResult(value: unknown): {\n shadow?: EditorShadowSettings;\n diagnostics: EditorShadowDiagnostic[];\n} {\n const shadow = readEditorShadowSettings(value);\n return shadow ? { shadow, diagnostics: [] } : { diagnostics: [] };\n}\n\nexport function readEditorShadowResolvedMode(\n settings: EditorShadowSettings | null | undefined,\n fallback: EditorShadowResolvedMode = 'none',\n): EditorShadowResolvedMode {\n const mode = settings?.mode;\n if (!mode || mode === 'inherit') return fallback;\n if (mode === 'auto') return fallback;\n return mode;\n}\n\nexport function readEditorShadowResolvedQuality(\n settings: EditorShadowSettings | null | undefined,\n fallback: EditorShadowResolvedQuality = EDITOR_SHADOW_DEFAULT_QUALITY,\n): EditorShadowResolvedQuality {\n const quality = settings?.quality;\n return quality && quality !== 'inherit' ? quality : fallback;\n}\n\nexport function mergeEditorShadowSettings(\n ...settingsList: readonly (EditorShadowSettings | null | undefined)[]\n): EditorShadowSettings | undefined {\n const merged: EditorShadowSettings = {};\n for (const settings of settingsList) {\n if (!settings) continue;\n if (settings.cast !== undefined && settings.cast !== 'inherit') merged.cast = settings.cast;\n if (settings.receive !== undefined && settings.receive !== 'inherit') merged.receive = settings.receive;\n if (settings.mode !== undefined && settings.mode !== 'inherit') merged.mode = settings.mode;\n if (settings.quality !== undefined && settings.quality !== 'inherit') merged.quality = settings.quality;\n if (settings.light) {\n const nextLight = { ...(merged.light ?? {}) };\n if (settings.light.mode !== undefined && settings.light.mode !== 'inherit') nextLight.mode = settings.light.mode;\n if (settings.light.lightId !== undefined) nextLight.lightId = settings.light.lightId;\n if (Object.keys(nextLight).length > 0) merged.light = nextLight;\n }\n if (settings.params) merged.params = { ...(merged.params ?? {}), ...settings.params };\n }\n return Object.keys(merged).length > 0 ? merged : undefined;\n}\n\nfunction readEditorShadowParams(value: unknown): EditorShadowParams | undefined {\n const record = readRecord(value);\n if (!record) return undefined;\n const params: EditorShadowParams = {};\n if (typeof record.opacity === 'number' && Number.isFinite(record.opacity)) params.opacity = record.opacity;\n if (typeof record.softness === 'number' && Number.isFinite(record.softness)) params.softness = record.softness;\n if (typeof record.bias === 'number' && Number.isFinite(record.bias)) params.bias = record.bias;\n if (typeof record.normalBias === 'number' && Number.isFinite(record.normalBias)) params.normalBias = record.normalBias;\n if (typeof record.maxDistance === 'number' && Number.isFinite(record.maxDistance)) params.maxDistance = record.maxDistance;\n if (record.resolution === 512 || record.resolution === 1024 || record.resolution === 2048 || record.resolution === 4096) {\n params.resolution = record.resolution;\n }\n if (record.cascadeCount === 1 || record.cascadeCount === 2 || record.cascadeCount === 4) {\n params.cascadeCount = record.cascadeCount;\n }\n if (typeof record.bakeSamples === 'number' && Number.isFinite(record.bakeSamples)) params.bakeSamples = record.bakeSamples;\n if (typeof record.blurKernel === 'number' && Number.isFinite(record.blurKernel)) params.blurKernel = record.blurKernel;\n return Object.keys(params).length > 0 ? params : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-types.js","sourceRoot":"","sources":["../src/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"}
1
+ {"version":3,"file":"shadow-types.js","sourceRoot":"","sources":["../src/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","sourcesContent":["import type { FpsVec3 } from '@fps-games/playable-contracts';\n\n// Static baked shadows remain readable/runtime-compatible, but the authoring\n// entry points are paused while Shadow System V2 continues to stabilize.\nexport const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED: boolean = false;\nexport const EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED: boolean = false;\n\nexport type EditorShadowCastMode = 'inherit' | 'none' | 'enabled' | 'auto';\nexport type EditorShadowReceiveMode = 'inherit' | 'none' | 'enabled' | 'auto';\nexport type EditorShadowMode = 'inherit' | 'none' | 'dynamic' | 'static' | 'blob' | 'projected' | 'auto';\nexport type EditorShadowResolvedMode = Exclude<EditorShadowMode, 'inherit' | 'auto'>;\nexport type EditorShadowQuality = 'inherit' | 'low' | 'medium' | 'high' | 'ultra';\nexport type EditorShadowResolvedQuality = Exclude<EditorShadowQuality, 'inherit'>;\nexport type EditorShadowLightMode = 'inherit' | 'scene-main' | 'nearest' | 'explicit';\n\nexport interface EditorShadowLightSettings {\n mode?: EditorShadowLightMode;\n lightId?: string;\n}\n\nexport interface EditorShadowParams {\n opacity?: number;\n softness?: number;\n bias?: number;\n normalBias?: number;\n maxDistance?: number;\n resolution?: 512 | 1024 | 2048 | 4096;\n cascadeCount?: 1 | 2 | 4;\n bakeSamples?: number;\n blurKernel?: number;\n}\n\nexport interface EditorShadowSettings {\n cast?: EditorShadowCastMode;\n receive?: EditorShadowReceiveMode;\n mode?: EditorShadowMode;\n quality?: EditorShadowQuality;\n light?: EditorShadowLightSettings;\n params?: EditorShadowParams;\n}\n\nexport interface EditorShadowResolvedParams {\n opacity: number;\n softness: number;\n bias: number;\n normalBias: number;\n maxDistance: number;\n resolution: 512 | 1024 | 2048 | 4096;\n cascadeCount: 1 | 2 | 4;\n bakeSamples: number;\n blurKernel: number;\n}\n\nexport type EditorShadowDiagnosticSeverity = 'info' | 'warning' | 'error';\n\nexport type EditorShadowDiagnosticCode =\n | 'shadow.receiverNotFound'\n | 'shadow.lightNotFound'\n | 'shadow.staticStale'\n | 'shadow.costHigh'\n | 'shadow.invalidTarget'\n | 'shadow.invalidSettings'\n | 'shadow.materialUnsupported'\n | 'shadow.paramsIgnored';\n\nexport interface EditorShadowDiagnostic {\n code: EditorShadowDiagnosticCode;\n severity: EditorShadowDiagnosticSeverity;\n message: string;\n casterId?: string;\n receiverId?: string;\n lightId?: string;\n details?: Record<string, unknown>;\n}\n\nexport type EditorShadowPlanBackend =\n | 'none'\n | 'dynamic-map'\n | 'static-baked'\n | 'blob'\n | 'projected';\n\nexport interface EditorShadowResolvedPlan {\n casterId: string;\n receiverIds: string[];\n lightId?: string;\n backend: EditorShadowPlanBackend;\n mode: EditorShadowResolvedMode;\n quality: EditorShadowResolvedQuality;\n params: EditorShadowResolvedParams;\n stale?: boolean;\n diagnostics: EditorShadowDiagnostic[];\n}\n\nexport interface EditorShadowReceiverCandidate {\n receiverId: string;\n source: 'explicit' | 'prefab' | 'auto' | 'scene-default';\n score: number;\n boundsCenter?: FpsVec3;\n active?: boolean;\n visible?: boolean;\n receive?: EditorShadowReceiveMode;\n suitability?: {\n score?: number;\n overlap?: number;\n distance?: number;\n material?: string;\n light?: string;\n reasons?: string[];\n };\n diagnostics?: EditorShadowDiagnostic[];\n}\n\nexport interface EditorShadowStaticBinding {\n id: string;\n ownerCasterId: string;\n receiverId: string;\n lightId?: string;\n textureAssetId?: string;\n projectionNodeId?: string;\n visibleWhenOwnerVisible: true;\n staleWhenOwnerTransformChanges: true;\n staleWhenLightChanges: true;\n generatedAt: string;\n sourceHash: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-validation.js","sourceRoot":"","sources":["../src/shadow-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-validation.js","sourceRoot":"","sources":["../src/shadow-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isEditorShadowCastMode,\n isEditorShadowLightMode,\n isEditorShadowMode,\n isEditorShadowQuality,\n isEditorShadowReceiveMode,\n} from './shadow-settings.js';\n\nconst SHADOW_FIELDS = new Set(['cast', 'receive', 'mode', 'quality', 'light', 'params']);\nconst LIGHT_FIELDS = new Set(['mode', 'lightId']);\nconst PARAM_FIELDS = new Set([\n 'opacity', 'softness', 'bias', 'normalBias', 'maxDistance',\n 'resolution', 'cascadeCount', 'bakeSamples', 'blurKernel',\n]);\nconst RESOLVED_PLAN_FIELDS = new Set([\n 'casterId', 'receiverIds', 'lightId', 'backend', 'mode', 'quality', 'params', 'stale', 'diagnostics',\n]);\nconst RESOLVED_PLAN_BACKENDS = new Set(['none', 'dynamic-map', 'static-baked', 'blob', 'projected']);\nconst RESOLVED_PLAN_MODES = new Set(['none', 'dynamic', 'static', 'blob', 'projected']);\nconst RESOLVED_PLAN_QUALITIES = new Set(['low', 'medium', 'high', 'ultra']);\nconst DIAGNOSTIC_FIELDS = new Set(['code', 'severity', 'message', 'casterId', 'receiverId', 'lightId', 'details']);\nconst DIAGNOSTIC_CODES = new Set([\n 'shadow.receiverNotFound', 'shadow.lightNotFound', 'shadow.staticStale', 'shadow.costHigh',\n 'shadow.invalidTarget', 'shadow.invalidSettings', 'shadow.materialUnsupported', 'shadow.paramsIgnored',\n]);\n\nexport function assertEditorShadowSettingsContract(value: unknown, path = '$.shadow'): void {\n const shadow = readRecord(value);\n if (!shadow) throw schemaError('schema.invalidType', path);\n assertKnownFields(shadow, SHADOW_FIELDS, path);\n if ('cast' in shadow && !isEditorShadowCastMode(shadow.cast)) throw schemaError('schema.invalidValue', `${path}.cast`);\n if ('receive' in shadow && !isEditorShadowReceiveMode(shadow.receive)) throw schemaError('schema.invalidValue', `${path}.receive`);\n if ('mode' in shadow && !isEditorShadowMode(shadow.mode)) throw schemaError('schema.invalidValue', `${path}.mode`);\n if ('quality' in shadow && !isEditorShadowQuality(shadow.quality)) throw schemaError('schema.invalidValue', `${path}.quality`);\n if ('light' in shadow) assertShadowLight(shadow.light, `${path}.light`);\n if ('params' in shadow) assertShadowParams(shadow.params, `${path}.params`);\n}\n\nexport function assertEditorShadowResolvedPlanContract(value: unknown, path = '$.shadowPlan'): void {\n const plan = readRecord(value);\n if (!plan) throw schemaError('schema.invalidType', path);\n assertKnownFields(plan, RESOLVED_PLAN_FIELDS, path);\n assertNonEmptyString(plan.casterId, `${path}.casterId`);\n assertStringArray(plan.receiverIds, `${path}.receiverIds`);\n if ('lightId' in plan) assertNonEmptyString(plan.lightId, `${path}.lightId`);\n if (!RESOLVED_PLAN_BACKENDS.has(plan.backend as string)) throw schemaError('schema.invalidValue', `${path}.backend`);\n if (!RESOLVED_PLAN_MODES.has(plan.mode as string)) throw schemaError('schema.invalidValue', `${path}.mode`);\n if (!RESOLVED_PLAN_QUALITIES.has(plan.quality as string)) throw schemaError('schema.invalidValue', `${path}.quality`);\n const expectedMode = {\n none: 'none',\n 'dynamic-map': 'dynamic',\n 'static-baked': 'static',\n blob: 'blob',\n projected: 'projected',\n }[plan.backend as string];\n if (expectedMode !== plan.mode) throw schemaError('schema.invalidValue', `${path}.mode`);\n assertResolvedShadowParams(plan.params, `${path}.params`);\n if ('stale' in plan && typeof plan.stale !== 'boolean') throw schemaError('schema.invalidType', `${path}.stale`);\n if (!Array.isArray(plan.diagnostics)) throw schemaError('schema.invalidType', `${path}.diagnostics`);\n plan.diagnostics.forEach((value, index) => assertShadowDiagnostic(value, `${path}.diagnostics[${index}]`));\n}\n\nfunction assertResolvedShadowParams(value: unknown, path: string): void {\n const params = readRecord(value);\n if (!params) throw schemaError('schema.invalidType', path);\n assertKnownFields(params, PARAM_FIELDS, path);\n for (const field of ['opacity', 'softness', 'bias', 'normalBias', 'maxDistance', 'bakeSamples', 'blurKernel']) {\n if (!(field in params)) throw schemaError('schema.missingField', `${path}.${field}`);\n assertOptionalNumber(params, field, path, number => Number.isFinite(number));\n }\n if (![512, 1024, 2048, 4096].includes(params.resolution as number)) throw schemaError('schema.invalidValue', `${path}.resolution`);\n if (![1, 2, 4].includes(params.cascadeCount as number)) throw schemaError('schema.invalidValue', `${path}.cascadeCount`);\n}\n\nfunction assertShadowDiagnostic(value: unknown, path: string): void {\n const diagnostic = readRecord(value);\n if (!diagnostic) throw schemaError('schema.invalidType', path);\n assertKnownFields(diagnostic, DIAGNOSTIC_FIELDS, path);\n if (!DIAGNOSTIC_CODES.has(diagnostic.code as string)) throw schemaError('schema.invalidValue', `${path}.code`);\n if (!['info', 'warning', 'error'].includes(diagnostic.severity as string)) throw schemaError('schema.invalidValue', `${path}.severity`);\n assertNonEmptyString(diagnostic.message, `${path}.message`);\n for (const field of ['casterId', 'receiverId', 'lightId']) {\n if (field in diagnostic) assertNonEmptyString(diagnostic[field], `${path}.${field}`);\n }\n if ('details' in diagnostic && !readRecord(diagnostic.details)) throw schemaError('schema.invalidType', `${path}.details`);\n}\n\nfunction assertStringArray(value: unknown, path: string): void {\n if (!Array.isArray(value)) throw schemaError('schema.invalidType', path);\n value.forEach((entry, index) => assertNonEmptyString(entry, `${path}[${index}]`));\n}\n\nfunction assertNonEmptyString(value: unknown, path: string): void {\n if (typeof value !== 'string' || !value.trim()) throw schemaError('schema.invalidValue', path);\n}\n\nfunction assertShadowLight(value: unknown, path: string): void {\n const light = readRecord(value);\n if (!light) throw schemaError('schema.invalidType', path);\n assertKnownFields(light, LIGHT_FIELDS, path);\n if ('mode' in light && !isEditorShadowLightMode(light.mode)) throw schemaError('schema.invalidValue', `${path}.mode`);\n if ('lightId' in light && (typeof light.lightId !== 'string' || !light.lightId.trim())) {\n throw schemaError('schema.invalidValue', `${path}.lightId`);\n }\n if (light.mode === 'explicit' && (typeof light.lightId !== 'string' || !light.lightId.trim())) {\n throw schemaError('schema.invalidValue', `${path}.lightId`);\n }\n}\n\nfunction assertShadowParams(value: unknown, path: string): void {\n const params = readRecord(value);\n if (!params) throw schemaError('schema.invalidType', path);\n assertKnownFields(params, PARAM_FIELDS, path);\n assertOptionalNumber(params, 'opacity', path, number => number >= 0 && number <= 1);\n assertOptionalNumber(params, 'softness', path, number => number >= 0);\n assertOptionalNumber(params, 'bias', path, () => true);\n assertOptionalNumber(params, 'normalBias', path, () => true);\n assertOptionalNumber(params, 'maxDistance', path, number => number > 0);\n assertOptionalNumber(params, 'bakeSamples', path, number => number > 0);\n assertOptionalNumber(params, 'blurKernel', path, number => number >= 0);\n if ('resolution' in params && ![512, 1024, 2048, 4096].includes(params.resolution as number)) {\n throw schemaError('schema.invalidValue', `${path}.resolution`);\n }\n if ('cascadeCount' in params && ![1, 2, 4].includes(params.cascadeCount as number)) {\n throw schemaError('schema.invalidValue', `${path}.cascadeCount`);\n }\n}\n\nfunction assertOptionalNumber(\n record: Record<string, unknown>,\n field: string,\n path: string,\n predicate: (value: number) => boolean,\n): void {\n if (!(field in record)) return;\n const value = record[field];\n if (typeof value !== 'number' || !Number.isFinite(value) || !predicate(value)) {\n throw schemaError('schema.invalidValue', `${path}.${field}`);\n }\n}\n\nfunction assertKnownFields(record: Record<string, unknown>, fields: Set<string>, path: string): void {\n for (const key of Object.keys(record)) {\n if (!fields.has(key)) throw schemaError('schema.deprecatedField', `${path}.${key}`);\n }\n}\n\nfunction schemaError(code: string, path: string): Error {\n const error = new Error(`${code}: ${path}`);\n Object.assign(error, { code, path });\n return error;\n}\n\nfunction readRecord(value: unknown): Record<string, unknown> | null {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../src/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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../src/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","sourcesContent":["export function readRecord(value: unknown): Record<string, unknown> | undefined {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : undefined;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-rendering",
3
- "version": "0.2.0-beta.2",
3
+ "version": "0.2.0-beta.3",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral rendering and shadow contracts and resolution logic.",
@@ -18,6 +18,6 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@fps-games/playable-contracts": "0.2.0-beta.2"
21
+ "@fps-games/playable-contracts": "0.2.0-beta.3"
22
22
  }
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compiled-scene-data.js","sourceRoot":"","sources":["../src/compiled-scene-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiled-scene-data.js","sourceRoot":"","sources":["../src/compiled-scene-data.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n FpsRuntimeAsset,\n FpsRuntimeData,\n FpsRuntimeMaterial,\n FpsRuntimeSceneNode,\n} from '@fps-games/playable-contracts';\nimport { createFpsRuntimeDataSnapshot } from './runtime-data.js';\n\ninterface CompiledSceneConfig {\n readonly scene?: {\n readonly rootId?: string;\n readonly assets?: readonly Record<string, unknown>[];\n readonly materialAssets?: readonly Record<string, unknown>[];\n readonly nodes?: readonly Record<string, unknown>[];\n };\n}\n\n/**\n * Projects the standard compiled scene artifact into the environment-neutral\n * Runtime Data contract consumed by first-party Runtime Plugins.\n */\nexport function createFpsRuntimeDataFromCompiledScene(\n compiledScene: CompiledSceneConfig,\n rendering?: unknown,\n): FpsRuntimeData {\n const scene = compiledScene.scene ?? {};\n return createFpsRuntimeDataSnapshot({\n schemaVersion: 1,\n assets: (scene.assets ?? []).map(toRuntimeAsset),\n materials: (scene.materialAssets ?? []).map(toRuntimeMaterial),\n scene: { nodes: (scene.nodes ?? []).map(node => toRuntimeSceneNode(node, scene.rootId)) },\n ...(rendering === undefined ? {} : { rendering }),\n });\n}\n\nfunction toRuntimeAsset(asset: Record<string, unknown>): FpsRuntimeAsset {\n const id = requiredString(asset.id, 'Compiled scene asset id');\n const metadata = plainRecord(asset.metadata);\n const external = plainRecord(asset.external);\n const url = optionalString(asset.url)\n ?? optionalString(metadata?.url)\n ?? optionalString(metadata?.relativePath)\n ?? optionalString(external?.assetUrl);\n return {\n id,\n kind: optionalString(asset.type) ?? optionalString(asset.kind) ?? 'unknown',\n ...(url === undefined ? {} : { url }),\n ...(metadata === undefined ? {} : { metadata }),\n };\n}\n\nfunction toRuntimeMaterial(material: Record<string, unknown>): FpsRuntimeMaterial {\n const id = requiredString(material.id, 'Compiled scene material id');\n const parameters = plainRecord(material.profile);\n return {\n id,\n kind: optionalString(material.materialKind) ?? optionalString(material.kind) ?? 'unknown',\n ...(parameters === undefined ? {} : { parameters }),\n };\n}\n\nfunction toRuntimeSceneNode(node: Record<string, unknown>, rootId: string | undefined): FpsRuntimeSceneNode {\n const result: Record<string, unknown> = {\n id: requiredString(node.id, 'Compiled scene node id'),\n };\n copyString(node, result, 'name');\n if (node.parentId === null || node.parentId === rootId) result.parentId = null;\n else copyString(node, result, 'parentId');\n for (const key of ['transform', 'shadow', 'shadowPlan'] as const) {\n if (node[key] !== undefined) result[key] = node[key];\n }\n for (const key of ['active', 'visible', 'receiveDynamicShadows'] as const) {\n if (typeof node[key] === 'boolean') result[key] = node[key];\n }\n if (node.materialLightingModel === 'lit'\n || node.materialLightingModel === 'unlit'\n || node.materialLightingModel === 'unknown') {\n result.materialLightingModel = node.materialLightingModel;\n }\n return result as unknown as FpsRuntimeSceneNode;\n}\n\nfunction copyString(source: Record<string, unknown>, target: Record<string, unknown>, key: string): void {\n const value = optionalString(source[key]);\n if (value !== undefined) target[key] = value;\n}\n\nfunction requiredString(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new Error(`${label} is required.`);\n return value;\n}\n\nfunction optionalString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value : undefined;\n}\n\nfunction plainRecord(value: unknown): Readonly<Record<string, unknown>> | undefined {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null\n ? value as Readonly<Record<string, unknown>>\n : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAQhF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEjF,cAAc,uCAAuC,CAAC;AACtD,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAQhF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEjF,cAAc,uCAAuC,CAAC;AACtD,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC","sourcesContent":["export { FPS_RUNTIME_DATA_SCHEMA_VERSION } from '@fps-games/playable-contracts';\nexport type {\n FpsRuntimeAsset,\n FpsRuntimeData,\n FpsRuntimeMaterial,\n FpsRuntimePluginData,\n FpsRuntimeSceneNode,\n} from '@fps-games/playable-contracts';\nexport { FPS_SCENE_PLUGIN_ID, scenePlugin } from '@fps-games/plugin-scene';\nexport type { FpsRuntimeSceneService } from '@fps-games/plugin-scene/runtime';\nexport { FPS_ASSETS_PLUGIN_ID, assetsPlugin } from '@fps-games/plugin-assets';\nexport type { FpsRuntimeAssetService } from '@fps-games/plugin-assets/runtime';\nexport { FPS_MATERIALS_PLUGIN_ID, materialsPlugin } from '@fps-games/plugin-materials';\nexport type { FpsRuntimeMaterialService } from '@fps-games/plugin-materials/runtime';\nexport { FPS_MARKERS_PLUGIN_ID, markersPlugin } from '@fps-games/plugin-markers';\nexport type { FpsRuntimeMarkerService } from '@fps-games/plugin-markers/runtime';\nexport { FPS_RENDERING_PLUGIN_ID, renderingPlugin } from '@fps-games/plugin-rendering';\nexport type { FpsRuntimeRenderingService } from '@fps-games/plugin-rendering/runtime';\nexport { FPS_SHADOWS_PLUGIN_ID, shadowsPlugin } from '@fps-games/plugin-shadows';\nexport type { FpsRuntimeShadowService } from '@fps-games/plugin-shadows/runtime';\nexport * from '@fps-games/playable-rendering/runtime';\nexport * from './runtime.js';\nexport * from './runtime-data.js';\nexport * from './compiled-scene-data.js';\nexport * from './standard-plugins.js';\nexport * from './tokens.js';\nexport * from './types.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-data.js","sourceRoot":"","sources":["../src/runtime-data.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,UAAU,mCAAmC,CACjD,IAAoB,EACpB,OAA8C;IAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,yBAAyB,CACjC,+BAA+B,EAAE,KAAK,CAAC,QAAQ,EAAE,mDAAmD,KAAK,CAAC,QAAQ,EAAE,CACrH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9E,MAAM,IAAI,yBAAyB,CACjC,iCAAiC,EACjC,KAAK,CAAC,QAAQ,EACd,2CAA2C,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAI,UAAU,CAAC,IAAI,CAAC,QAAwC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,MAAM,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC,IAAI,OAAQ,MAA6B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxI,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,yBAAyB,CACzC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,EAAE,gCAAgC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CACvH,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,yBAAyB,CACjC,6BAA6B,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,4CAA4C,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runtime-data.js","sourceRoot":"","sources":["../src/runtime-data.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,UAAU,mCAAmC,CACjD,IAAoB,EACpB,OAA8C;IAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,yBAAyB,CACjC,+BAA+B,EAAE,KAAK,CAAC,QAAQ,EAAE,mDAAmD,KAAK,CAAC,QAAQ,EAAE,CACrH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9E,MAAM,IAAI,yBAAyB,CACjC,iCAAiC,EACjC,KAAK,CAAC,QAAQ,EACd,2CAA2C,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAI,UAAU,CAAC,IAAI,CAAC,QAAwC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,MAAM,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC,IAAI,OAAQ,MAA6B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxI,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,yBAAyB,CACzC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,EAAE,gCAAgC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CACvH,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,yBAAyB,CACjC,6BAA6B,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,4CAA4C,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import type { FpsRuntimeData } from '@fps-games/playable-contracts';\nimport {\n createFpsRuntimeDataSnapshot,\n getFpsRuntimePluginData,\n} from '@fps-games/playable-runtime-data';\nimport type { FpsRuntimePluginDefinition } from './types.js';\nimport { FpsRuntimePluginDataError } from './types.js';\nexport {\n createFpsRuntimeDataSnapshot,\n getFpsRuntimePluginData,\n} from '@fps-games/playable-runtime-data';\n\nexport function assertFpsRuntimePluginDataContracts(\n data: FpsRuntimeData,\n plugins: readonly FpsRuntimePluginDefinition[],\n): void {\n const definitions = new Map(plugins.map(plugin => [plugin.manifest.id, plugin]));\n const entries = new Map((data.plugins ?? []).map(entry => [entry.pluginId, entry]));\n for (const entry of data.plugins ?? []) {\n const definition = definitions.get(entry.pluginId);\n if (!definition) {\n throw new FpsRuntimePluginDataError(\n 'runtime.plugin-data.unclaimed', entry.pluginId, `Runtime data is owned by an uninstalled plugin: ${entry.pluginId}`,\n );\n }\n if (!definition.data || definition.data.schemaVersion !== entry.schemaVersion) {\n throw new FpsRuntimePluginDataError(\n 'runtime.plugin-data.unsupported',\n entry.pluginId,\n `Unsupported runtime plugin data schema: ${entry.pluginId}@${entry.schemaVersion}`,\n );\n }\n try {\n const result = (definition.data.validate as (value: unknown) => unknown)(entry.data);\n if (result && (typeof result === 'object' || typeof result === 'function') && typeof (result as { then?: unknown }).then === 'function') {\n void Promise.resolve(result).catch(() => undefined);\n throw new Error('Runtime plugin data validators must be synchronous.');\n }\n }\n catch (cause) {\n const error = new FpsRuntimePluginDataError(\n 'runtime.plugin-data.invalid', entry.pluginId, `Invalid runtime plugin data: ${entry.pluginId}@${entry.schemaVersion}`,\n );\n Object.assign(error, { cause });\n throw error;\n }\n }\n for (const definition of plugins) {\n if (definition.data?.required && !entries.has(definition.manifest.id)) {\n throw new FpsRuntimePluginDataError(\n 'runtime.plugin-data.missing', definition.manifest.id, `Required runtime plugin data is missing: ${definition.manifest.id}`,\n );\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineFpsPluginEntry, defineFpsPluginManifest } from '@fps-games/plugin-api';\nimport type { FpsServiceToken } from '@fps-games/plugin-api';\nimport { createFpsPluginHost } from '@fps-games/plugin-host';\nimport { assertFpsRuntimePluginDataContracts, createFpsRuntimeDataSnapshot } from './runtime-data.js';\nimport { createFpsStandardRuntimePlugins } from './standard-plugins.js';\nimport {\n FPS_RUNTIME_DATA,\n FPS_RUNTIME_PROJECT,\n FPS_RUNTIME_SCENE_ID,\n} from './tokens.js';\nimport type {\n FpsProjectDefinition,\n FpsRuntime,\n FpsRuntimeOptions,\n FpsRuntimePluginDefinition,\n FpsRuntimeSceneScope,\n} from './types.js';\n\nexport function defineFpsProject(project: FpsProjectDefinition): Readonly<FpsProjectDefinition> {\n assertRuntimePluginKeys(project, ['projectId', 'projectName', 'plugins'], 'Runtime project');\n if (typeof project.projectId !== 'string' || !project.projectId.trim()) throw new Error('Project id is required.');\n if (typeof project.projectName !== 'string' || !project.projectName.trim()) throw new Error('Project name is required.');\n const hasPlugins = Object.prototype.hasOwnProperty.call(project, 'plugins');\n const plugins = hasPlugins\n ? readRuntimeDataArray(project.plugins, 'Runtime project plugins').map(plugin => defineFpsRuntimePlugin(plugin as FpsRuntimePluginDefinition))\n : undefined;\n return Object.freeze({\n projectId: project.projectId,\n projectName: project.projectName,\n ...(plugins ? { plugins: Object.freeze(plugins) } : {}),\n });\n}\n\nexport function defineFpsRuntimePlugin(plugin: FpsRuntimePluginDefinition): Readonly<FpsRuntimePluginDefinition> {\n assertRuntimePluginKeys(plugin, ['manifest', 'runtime', 'scope', 'data'], 'Runtime plugin definition');\n const hasData = Object.prototype.hasOwnProperty.call(plugin, 'data');\n const manifest = defineFpsPluginManifest(plugin.manifest);\n const entry = defineFpsPluginEntry(plugin.runtime);\n if (manifest.id !== entry.pluginId) throw new Error(`Runtime plugin id mismatch: ${manifest.id}`);\n if (entry.environment !== 'runtime') throw new Error(`Runtime plugin has invalid environment: ${manifest.id}`);\n if (!manifest.entries.runtime) throw new Error(`Runtime plugin manifest entry is required: ${manifest.id}`);\n if (plugin.scope !== undefined && !['application', 'project', 'scene'].includes(plugin.scope)) {\n throw new Error(`Runtime plugin has invalid scope: ${plugin.manifest.id}`);\n }\n if (hasData) assertRuntimePluginKeys(plugin.data, ['schemaVersion', 'required', 'validate'], 'Runtime plugin data contract');\n if (hasData && (!Number.isInteger(plugin.data!.schemaVersion) || plugin.data!.schemaVersion < 1)) {\n throw new Error(`Runtime plugin data schemaVersion must be a positive integer: ${manifest.id}`);\n }\n if (hasData) {\n if (plugin.data!.required !== undefined && typeof plugin.data!.required !== 'boolean') {\n throw new Error(`Runtime plugin data required must be boolean: ${manifest.id}`);\n }\n if (typeof plugin.data!.validate !== 'function') throw new Error(`Runtime plugin data validator is required: ${manifest.id}`);\n if (plugin.data!.validate.constructor.name === 'AsyncFunction') {\n throw new Error(`Runtime plugin data validator must be synchronous: ${manifest.id}`);\n }\n }\n return Object.freeze({\n manifest,\n runtime: entry,\n ...(plugin.scope ? { scope: plugin.scope } : {}),\n ...(hasData ? { data: Object.freeze({\n schemaVersion: plugin.data!.schemaVersion,\n ...(plugin.data!.required === undefined ? {} : { required: plugin.data!.required }),\n validate: plugin.data!.validate,\n }) } : {}),\n });\n}\n\nfunction assertRuntimePluginKeys(value: unknown, keys: readonly string[], label: string): void {\n if (!value || typeof value !== 'object' || Array.isArray(value)) throw new Error(`${label} must be an object.`);\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) throw new Error(`${label} must be a plain object.`);\n const allowed = new Set(keys);\n for (const key of Reflect.ownKeys(value)) {\n if (typeof key !== 'string' || !allowed.has(key)) throw new Error(`${label} contains unknown field: ${String(key)}`);\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor?.enumerable || !('value' in descriptor)) throw new Error(`${label} must contain enumerable data fields only: ${key}`);\n }\n}\n\nfunction readRuntimeDataArray(value: unknown, label: string): readonly unknown[] {\n if (!Array.isArray(value)) throw new Error(`${label} must be an array.`);\n const result: unknown[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const descriptor = Object.getOwnPropertyDescriptor(value, String(index));\n if (!descriptor?.enumerable || !('value' in descriptor)) throw new Error(`${label} must be a dense data array.`);\n result.push(descriptor.value);\n }\n for (const key of Reflect.ownKeys(value)) {\n if (key === 'length') continue;\n if (typeof key !== 'string' || !/^(0|[1-9][0-9]*)$/.test(key) || Number(key) >= value.length) {\n throw new Error(`${label} contains unsupported property: ${String(key)}`);\n }\n }\n return result;\n}\n\nexport function createFpsRuntime(options: FpsRuntimeOptions): FpsRuntime {\n const runtimeData = createFpsRuntimeDataSnapshot(options.data);\n const project = defineFpsProject(options.project);\n const plugins = [...createFpsStandardRuntimePlugins(), ...(project.plugins ?? []), ...(options.plugins ?? [])]\n .map(plugin => defineFpsRuntimePlugin(plugin));\n const pluginById = new Map<string, FpsRuntimePluginDefinition>();\n for (const plugin of plugins) {\n if (pluginById.has(plugin.manifest.id)) throw new Error(`Duplicate runtime plugin id: ${plugin.manifest.id}`);\n pluginById.set(plugin.manifest.id, plugin);\n }\n assertFpsRuntimePluginDataContracts(runtimeData, plugins);\n const applicationPlugins = plugins.filter(plugin => plugin.scope === 'application');\n const projectPlugins = plugins.filter(plugin => (plugin.scope ?? 'project') === 'project');\n const scenePlugins = plugins.filter(plugin => plugin.scope === 'scene');\n const applicationHost = createFpsPluginHost({\n environment: 'runtime',\n apiVersion: 1,\n manifests: applicationPlugins.map(plugin => plugin.manifest),\n loadEntry: async manifest => pluginById.get(manifest.id)?.runtime ?? null,\n report: options.report,\n });\n let projectHost: ReturnType<typeof createFpsPluginHost> | null = null;\n let state: FpsRuntime['state'] = 'created';\n let transitioning = false;\n\n return {\n get state() { return state; },\n get services() { return state === 'started' ? projectHost?.services ?? null : null; },\n async start() {\n if (transitioning) throw new Error('Runtime lifecycle transition already in progress.');\n if (state !== 'created') throw new Error(`Runtime cannot start from state: ${state}`);\n transitioning = true;\n try {\n await applicationHost.start();\n projectHost = applicationHost.createScope({\n scope: 'project',\n manifests: projectPlugins.map(plugin => plugin.manifest),\n initialServices: [\n { token: FPS_RUNTIME_PROJECT as FpsServiceToken<unknown>, value: project },\n { token: FPS_RUNTIME_DATA as FpsServiceToken<unknown>, value: runtimeData },\n ],\n loadEntry: async manifest => pluginById.get(manifest.id)?.runtime ?? null,\n });\n await projectHost.start();\n state = 'started';\n } catch (error) {\n let cleanupFailed = false;\n let cleanupError: unknown;\n try {\n if (applicationHost.state !== 'disposed') await applicationHost.dispose();\n }\n catch (cleanupCause) { cleanupFailed = true; cleanupError = cleanupCause; }\n finally {\n if (!cleanupFailed) projectHost = null;\n state = cleanupFailed ? 'cleanup-failed' : 'disposed';\n }\n if (cleanupFailed) {\n const combined = new Error(`Runtime startup failed and cleanup reported an error: ${String((error as Error)?.message ?? error)}; ${String((cleanupError as Error)?.message ?? cleanupError)}`);\n Object.assign(combined, { errors: [error, cleanupError] });\n throw combined;\n }\n throw error;\n } finally {\n transitioning = false;\n }\n },\n async stop() {\n if (transitioning) throw new Error('Runtime lifecycle transition already in progress.');\n if (state !== 'started' && state !== 'cleanup-failed') return;\n transitioning = true;\n try { await applicationHost.stop(); }\n finally {\n if (applicationHost.state === 'stopped') state = 'stopped';\n else if (applicationHost.state === 'cleanup-failed') state = 'cleanup-failed';\n else if (applicationHost.state === 'disposed') {\n projectHost = null;\n state = 'disposed';\n }\n transitioning = false;\n }\n },\n async dispose() {\n if (transitioning) throw new Error('Runtime lifecycle transition already in progress.');\n if (state === 'disposed') return;\n transitioning = true;\n try { await applicationHost.dispose(); }\n finally {\n if (applicationHost.state === 'disposed') {\n projectHost = null;\n state = 'disposed';\n }\n else if (applicationHost.state === 'cleanup-failed') state = 'cleanup-failed';\n transitioning = false;\n }\n },\n async createSceneScope(sceneId: string): Promise<FpsRuntimeSceneScope> {\n if (transitioning) throw new Error('Runtime lifecycle transition already in progress.');\n if (state !== 'started' || !projectHost) throw new Error(`Runtime scene scope requires started state, got: ${state}`);\n if (!sceneId.trim()) throw new Error('Runtime scene id is required.');\n const host = projectHost.createScope({\n scope: 'scene',\n manifests: scenePlugins.map(plugin => plugin.manifest),\n initialServices: [{ token: FPS_RUNTIME_SCENE_ID as FpsServiceToken<unknown>, value: sceneId }],\n loadEntry: async manifest => pluginById.get(manifest.id)?.runtime ?? null,\n });\n await host.start();\n return { id: sceneId, host, dispose: () => host.dispose() };\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"standard-plugins.js","sourceRoot":"","sources":["../src/standard-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGtF,MAAM,UAAU,+BAA+B;IAC7C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,6BAA6B,EAAE,CAAC;IACtD,MAAM,iBAAiB,GAAG,gCAAgC,EAAE,CAAC;IAC7D,MAAM,eAAe,GAAG,8BAA8B,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAAG,gCAAgC,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,8BAA8B,EAAE,CAAC;IACxD,OAAO;QACL;YACE,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,gBAAgB;SAC1B;QACD;YACE,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,iBAAiB;SAC3B;QACD;YACE,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,kBAAkB;YAC3B,IAAI,EAAE;gBACJ,aAAa,EAAE,CAAC;gBAChB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,0BAA0B;aACrC;SACF;QACD;YACE,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,kBAAkB;SAC5B;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"standard-plugins.js","sourceRoot":"","sources":["../src/standard-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGtF,MAAM,UAAU,+BAA+B;IAC7C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,6BAA6B,EAAE,CAAC;IACtD,MAAM,iBAAiB,GAAG,gCAAgC,EAAE,CAAC;IAC7D,MAAM,eAAe,GAAG,8BAA8B,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAAG,gCAAgC,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,8BAA8B,EAAE,CAAC;IACxD,OAAO;QACL;YACE,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,gBAAgB;SAC1B;QACD;YACE,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,iBAAiB;SAC3B;QACD;YACE,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,kBAAkB;YAC3B,IAAI,EAAE;gBACJ,aAAa,EAAE,CAAC;gBAChB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,0BAA0B;aACrC;SACF;QACD;YACE,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,kBAAkB;SAC5B;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { createFpsScenePluginManifest } from '@fps-games/plugin-scene';\nimport { pluginEntry as scenePluginEntry } from '@fps-games/plugin-scene/runtime';\nimport { createFpsAssetsPluginManifest } from '@fps-games/plugin-assets';\nimport { pluginEntry as assetsPluginEntry } from '@fps-games/plugin-assets/runtime';\nimport { createFpsMaterialsPluginManifest } from '@fps-games/plugin-materials';\nimport { pluginEntry as materialsPluginEntry } from '@fps-games/plugin-materials/runtime';\nimport {\n assertFpsMarkersPluginData,\n createFpsMarkersPluginManifest,\n} from '@fps-games/plugin-markers';\nimport { pluginEntry as markersPluginEntry } from '@fps-games/plugin-markers/runtime';\nimport { createFpsRenderingPluginManifest } from '@fps-games/plugin-rendering';\nimport { pluginEntry as renderingPluginEntry } from '@fps-games/plugin-rendering/runtime';\nimport { createFpsShadowsPluginManifest } from '@fps-games/plugin-shadows';\nimport { pluginEntry as shadowsPluginEntry } from '@fps-games/plugin-shadows/runtime';\nimport type { FpsRuntimePluginDefinition } from './types.js';\n\nexport function createFpsStandardRuntimePlugins(): FpsRuntimePluginDefinition[] {\n const sceneManifest = createFpsScenePluginManifest();\n const assetManifest = createFpsAssetsPluginManifest();\n const materialsManifest = createFpsMaterialsPluginManifest();\n const markersManifest = createFpsMarkersPluginManifest();\n const renderingManifest = createFpsRenderingPluginManifest();\n const shadowManifest = createFpsShadowsPluginManifest();\n return [\n {\n manifest: sceneManifest,\n scope: 'project',\n runtime: scenePluginEntry,\n },\n {\n manifest: assetManifest,\n scope: 'project',\n runtime: assetsPluginEntry,\n },\n {\n manifest: materialsManifest,\n scope: 'project',\n runtime: materialsPluginEntry,\n },\n {\n manifest: markersManifest,\n scope: 'project',\n runtime: markersPluginEntry,\n data: {\n schemaVersion: 1,\n required: false,\n validate: assertFpsMarkersPluginData,\n },\n },\n {\n manifest: renderingManifest,\n scope: 'project',\n runtime: renderingPluginEntry,\n },\n {\n manifest: shadowManifest,\n scope: 'project',\n runtime: shadowsPluginEntry,\n },\n ];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAKxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAuB,qBAAqB,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAS,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAKxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAuB,qBAAqB,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAS,sBAAsB,CAAC,CAAC","sourcesContent":["import { defineFpsServiceToken } from '@fps-games/plugin-api';\nexport { FPS_RUNTIME_DATA } from '@fps-games/playable-runtime-data';\nexport { FPS_RUNTIME_SCENE } from '@fps-games/plugin-scene/runtime';\nexport { FPS_RUNTIME_ASSETS } from '@fps-games/plugin-assets/runtime';\nexport { FPS_RUNTIME_MATERIALS } from '@fps-games/plugin-materials/runtime';\nexport { FPS_RUNTIME_MARKERS } from '@fps-games/plugin-markers/runtime';\nexport { FPS_RUNTIME_RENDERING } from '@fps-games/plugin-rendering/runtime';\nexport { FPS_RUNTIME_SHADOWS } from '@fps-games/plugin-shadows/runtime';\nimport type {\n FpsProjectDefinition,\n} from './types.js';\n\nexport const FPS_RUNTIME_PROJECT = defineFpsServiceToken<FpsProjectDefinition>('fps.runtime.project');\nexport const FPS_RUNTIME_SCENE_ID = defineFpsServiceToken<string>('fps.runtime.scene-id');\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkDA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YACW,IAAyI,EACzI,QAAgB,EACzB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAqI;QACzI,aAAQ,GAAR,QAAQ,CAAQ;QAIzB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkDA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YACW,IAAyI,EACzI,QAAgB,EACzB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAqI;QACzI,aAAQ,GAAR,QAAQ,CAAQ;QAIzB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import type { FpsRuntimeData } from '@fps-games/playable-contracts';\nimport type { FpsDiagnostic, FpsPluginEntry, FpsPluginManifest, FpsServiceRegistry } from '@fps-games/plugin-api';\nimport type { FpsPluginHost } from '@fps-games/plugin-host';\n\nexport interface FpsProjectDefinition {\n readonly projectId: string;\n readonly projectName: string;\n readonly plugins?: readonly FpsRuntimePluginDefinition[];\n}\n\nexport interface FpsRuntimePluginDefinition {\n readonly manifest: Readonly<FpsPluginManifest>;\n readonly runtime: Readonly<FpsPluginEntry>;\n readonly scope?: 'application' | 'project' | 'scene';\n readonly data?: {\n readonly schemaVersion: number;\n readonly required?: boolean;\n readonly validate: (value: unknown) => void;\n };\n}\n\nexport type { FpsRuntimeSceneService } from '@fps-games/plugin-scene/runtime';\n\nexport type { FpsRuntimeAssetService } from '@fps-games/plugin-assets/runtime';\nexport type { FpsRuntimeMarkerService } from '@fps-games/plugin-markers/runtime';\nexport type { FpsRuntimeRenderingService } from '@fps-games/plugin-rendering/runtime';\nexport type { FpsRuntimeShadowService } from '@fps-games/plugin-shadows/runtime';\n\nexport interface FpsRuntimeSceneScope {\n readonly id: string;\n readonly host: FpsPluginHost;\n dispose(): Promise<void>;\n}\n\nexport interface FpsRuntime {\n readonly state: 'created' | 'started' | 'stopped' | 'cleanup-failed' | 'disposed';\n readonly services: FpsServiceRegistry | null;\n start(): Promise<void>;\n stop(): Promise<void>;\n dispose(): Promise<void>;\n createSceneScope(sceneId: string): Promise<FpsRuntimeSceneScope>;\n}\n\nexport interface FpsRuntimeOptions {\n project: FpsProjectDefinition;\n data: FpsRuntimeData;\n plugins?: readonly FpsRuntimePluginDefinition[];\n report?(diagnostic: FpsDiagnostic): void;\n}\n\nexport {\n FpsRuntimeDataError,\n FpsRuntimeSchemaError,\n} from '@fps-games/playable-runtime-data';\n\nexport class FpsRuntimePluginDataError extends Error {\n constructor(\n readonly code: 'runtime.plugin-data.unclaimed' | 'runtime.plugin-data.missing' | 'runtime.plugin-data.unsupported' | 'runtime.plugin-data.invalid',\n readonly pluginId: string,\n message: string,\n ) {\n super(message);\n this.name = 'FpsRuntimePluginDataError';\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-runtime",
3
- "version": "0.2.0-beta.2",
3
+ "version": "0.2.0-beta.3",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Plugin-based runtime host for fps-games playable projects.",
@@ -14,16 +14,16 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/playable-contracts": "0.2.0-beta.2",
18
- "@fps-games/playable-rendering": "0.2.0-beta.2",
19
- "@fps-games/playable-runtime-data": "0.2.0-beta.2",
20
- "@fps-games/plugin-assets": "0.2.0-beta.2",
21
- "@fps-games/plugin-materials": "0.2.0-beta.2",
22
- "@fps-games/plugin-markers": "0.2.0-beta.2",
23
- "@fps-games/plugin-rendering": "0.2.0-beta.2",
24
- "@fps-games/plugin-shadows": "0.2.0-beta.2",
25
- "@fps-games/plugin-scene": "0.2.0-beta.2",
26
- "@fps-games/plugin-api": "0.2.0-beta.2",
27
- "@fps-games/plugin-host": "0.2.0-beta.2"
17
+ "@fps-games/playable-contracts": "0.2.0-beta.3",
18
+ "@fps-games/playable-rendering": "0.2.0-beta.3",
19
+ "@fps-games/playable-runtime-data": "0.2.0-beta.3",
20
+ "@fps-games/plugin-assets": "0.2.0-beta.3",
21
+ "@fps-games/plugin-materials": "0.2.0-beta.3",
22
+ "@fps-games/plugin-markers": "0.2.0-beta.3",
23
+ "@fps-games/plugin-rendering": "0.2.0-beta.3",
24
+ "@fps-games/plugin-shadows": "0.2.0-beta.3",
25
+ "@fps-games/plugin-scene": "0.2.0-beta.3",
26
+ "@fps-games/plugin-api": "0.2.0-beta.3",
27
+ "@fps-games/plugin-host": "0.2.0-beta.3"
28
28
  }
29
29
  }