@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4

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 (514) hide show
  1. package/dist/build-info.json +44 -44
  2. package/dist/editor-commands/capabilities/assets.d.ts +8 -0
  3. package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
  4. package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
  5. package/dist/editor-commands/capabilities/assets.js.map +1 -0
  6. package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
  7. package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
  8. package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
  9. package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
  10. package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
  11. package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
  12. package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
  13. package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
  14. package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
  15. package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
  16. package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
  17. package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
  18. package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
  19. package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
  20. package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
  21. package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
  22. package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
  23. package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
  24. package/dist/editor-commands/capabilities/scene-objects.js +480 -0
  25. package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
  26. package/dist/editor-commands/capabilities/selection.d.ts +5 -0
  27. package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
  28. package/dist/editor-commands/capabilities/selection.js +60 -0
  29. package/dist/editor-commands/capabilities/selection.js.map +1 -0
  30. package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
  31. package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
  32. package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
  33. package/dist/editor-commands/capabilities/shadows.js.map +1 -0
  34. package/dist/editor-commands/capabilities/transform.d.ts +5 -0
  35. package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
  36. package/dist/editor-commands/capabilities/transform.js +164 -0
  37. package/dist/editor-commands/capabilities/transform.js.map +1 -0
  38. package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
  39. package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
  40. package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
  41. package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
  42. package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
  43. package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
  44. package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
  45. package/dist/editor-commands/capabilities/viewport.js.map +1 -0
  46. package/dist/editor-commands/command-sources.d.ts +7 -0
  47. package/dist/editor-commands/command-sources.d.ts.map +1 -0
  48. package/dist/editor-commands/command-sources.js +34 -0
  49. package/dist/editor-commands/command-sources.js.map +1 -0
  50. package/dist/editor-commands/diagnostics.d.ts +12 -0
  51. package/dist/editor-commands/diagnostics.d.ts.map +1 -0
  52. package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
  53. package/dist/editor-commands/diagnostics.js.map +1 -0
  54. package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
  55. package/dist/editor-commands/index.d.ts.map +1 -0
  56. package/dist/{agent-bridge → editor-commands}/index.js +1 -1
  57. package/dist/editor-commands/index.js.map +1 -0
  58. package/dist/editor-commands/register.d.ts +4 -0
  59. package/dist/editor-commands/register.d.ts.map +1 -0
  60. package/dist/{agent-bridge → editor-commands}/register.js +323 -286
  61. package/dist/editor-commands/register.js.map +1 -0
  62. package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
  63. package/dist/editor-commands/shared.d.ts.map +1 -0
  64. package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
  65. package/dist/editor-commands/shared.js.map +1 -0
  66. package/dist/editor-commands/source-types.d.ts +110 -0
  67. package/dist/editor-commands/source-types.d.ts.map +1 -0
  68. package/dist/editor-commands/source-types.js.map +1 -0
  69. package/dist/editor-plugin-commands.d.ts +4 -0
  70. package/dist/editor-plugin-commands.d.ts.map +1 -0
  71. package/dist/editor-plugin-commands.js +18 -0
  72. package/dist/editor-plugin-commands.js.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/local-editor-commands.d.ts +2 -0
  78. package/dist/local-editor-commands.d.ts.map +1 -0
  79. package/dist/local-editor-commands.js +2 -0
  80. package/dist/local-editor-commands.js.map +1 -0
  81. package/dist/local-editor-harness.d.ts +35 -21
  82. package/dist/local-editor-harness.d.ts.map +1 -1
  83. package/dist/local-editor-harness.js +1721 -367
  84. package/dist/local-editor-harness.js.map +1 -1
  85. package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
  86. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
  87. package/dist/local-editor-prefab-stage-transaction.js +6 -5
  88. package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
  89. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  90. package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
  91. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  92. package/dist/playable-local-editor-entry.d.ts +10 -0
  93. package/dist/playable-local-editor-entry.d.ts.map +1 -1
  94. package/dist/playable-local-editor-entry.js +10 -2
  95. package/dist/playable-local-editor-entry.js.map +1 -1
  96. package/dist/playable-local-editor-host.d.ts +3 -32
  97. package/dist/playable-local-editor-host.d.ts.map +1 -1
  98. package/dist/playable-local-editor-host.js +6 -70
  99. package/dist/playable-local-editor-host.js.map +1 -1
  100. package/dist/playable-product-local-editor.d.ts +1 -2
  101. package/dist/playable-product-local-editor.d.ts.map +1 -1
  102. package/dist/playable-product-local-editor.js +0 -1
  103. package/dist/playable-product-local-editor.js.map +1 -1
  104. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  105. package/dist/playable-product-projection-preview.js +1 -1
  106. package/dist/playable-product-projection-preview.js.map +1 -1
  107. package/dist/playable-product-scene-capabilities.d.ts +0 -2
  108. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  109. package/dist/playable-product-scene-capabilities.js +33 -6
  110. package/dist/playable-product-scene-capabilities.js.map +1 -1
  111. package/dist/playable-runtime-babylon.d.ts +4 -0
  112. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  113. package/dist/playable-runtime-babylon.js +4 -0
  114. package/dist/playable-runtime-babylon.js.map +1 -1
  115. package/dist/playable-sdk.d.ts +1 -1
  116. package/dist/playable-sdk.d.ts.map +1 -1
  117. package/dist/playable-sdk.js.map +1 -1
  118. package/dist/playable-standard-project.d.ts +0 -2
  119. package/dist/playable-standard-project.d.ts.map +1 -1
  120. package/dist/playable-standard-project.js +1 -2
  121. package/dist/playable-standard-project.js.map +1 -1
  122. package/dist/project-service-projection.d.ts +16 -0
  123. package/dist/project-service-projection.d.ts.map +1 -0
  124. package/dist/project-service-projection.js +67 -0
  125. package/dist/project-service-projection.js.map +1 -0
  126. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
  127. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  128. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
  129. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  130. package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
  137. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/package.json +6 -6
  142. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
  143. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
  144. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
  145. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  177. package/node_modules/@fps-games/editor-browser/package.json +7 -7
  178. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
  179. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
  180. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
  182. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
  183. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
  184. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
  186. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
  187. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
  188. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
  189. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
  190. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
  191. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
  192. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
  193. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
  194. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
  195. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
  196. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
  197. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
  198. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
  199. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
  201. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
  203. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
  204. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
  205. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
  206. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
  207. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
  208. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
  209. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
  210. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
  211. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
  213. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  214. package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
  215. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
  217. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  218. package/node_modules/@fps-games/editor-core/package.json +6 -6
  219. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
  220. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
  222. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  223. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  341. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
  342. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
  344. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
  345. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
  346. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
  348. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
  349. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
  350. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
  352. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
  353. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
  354. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
  356. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
  357. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
  358. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  359. package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
  360. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  361. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  362. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  363. package/node_modules/@fps-games/editor-ui/package.json +1 -1
  364. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  365. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  366. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  367. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  368. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  369. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  370. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  371. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  372. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  373. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  374. package/node_modules/@fps-games/plugin-assets/package.json +6 -6
  375. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
  376. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
  377. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
  378. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
  379. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
  380. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
  381. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
  382. package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
  383. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  384. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  385. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  386. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  387. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  388. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  389. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  390. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  391. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  392. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  393. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  394. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  395. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  396. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  397. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  398. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  399. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  400. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
  401. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
  402. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
  403. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
  404. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  405. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  406. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  407. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  408. package/package.json +23 -23
  409. package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
  410. package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
  411. package/dist/agent-bridge/capabilities/assets.js.map +0 -1
  412. package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
  413. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
  414. package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
  415. package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
  416. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
  417. package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
  418. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
  419. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
  420. package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
  421. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
  422. package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
  423. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
  424. package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
  425. package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
  426. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
  427. package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
  428. package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
  429. package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
  430. package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
  431. package/dist/agent-bridge/capabilities/selection.js +0 -60
  432. package/dist/agent-bridge/capabilities/selection.js.map +0 -1
  433. package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
  434. package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
  435. package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
  436. package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
  437. package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
  438. package/dist/agent-bridge/capabilities/transform.js +0 -164
  439. package/dist/agent-bridge/capabilities/transform.js.map +0 -1
  440. package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
  441. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
  442. package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
  443. package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
  444. package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
  445. package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
  446. package/dist/agent-bridge/capability-sources.d.ts +0 -7
  447. package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
  448. package/dist/agent-bridge/capability-sources.js +0 -34
  449. package/dist/agent-bridge/capability-sources.js.map +0 -1
  450. package/dist/agent-bridge/diagnostics.d.ts +0 -12
  451. package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
  452. package/dist/agent-bridge/diagnostics.js.map +0 -1
  453. package/dist/agent-bridge/index.d.ts.map +0 -1
  454. package/dist/agent-bridge/index.js.map +0 -1
  455. package/dist/agent-bridge/register.d.ts +0 -4
  456. package/dist/agent-bridge/register.d.ts.map +0 -1
  457. package/dist/agent-bridge/register.js.map +0 -1
  458. package/dist/agent-bridge/shared.d.ts.map +0 -1
  459. package/dist/agent-bridge/shared.js.map +0 -1
  460. package/dist/agent-bridge/source-types.d.ts +0 -110
  461. package/dist/agent-bridge/source-types.d.ts.map +0 -1
  462. package/dist/agent-bridge/source-types.js.map +0 -1
  463. package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
  464. package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
  465. package/dist/editor-plugin-agent-capabilities.js +0 -64
  466. package/dist/editor-plugin-agent-capabilities.js.map +0 -1
  467. package/dist/local-editor-agent-actions.d.ts +0 -43
  468. package/dist/local-editor-agent-actions.d.ts.map +0 -1
  469. package/dist/local-editor-agent-actions.js +0 -321
  470. package/dist/local-editor-agent-actions.js.map +0 -1
  471. package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
  472. package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
  473. package/dist/local-editor-agent-bridge-transport.js +0 -403
  474. package/dist/local-editor-agent-bridge-transport.js.map +0 -1
  475. package/dist/local-editor-agent-bridge.d.ts +0 -2
  476. package/dist/local-editor-agent-bridge.d.ts.map +0 -1
  477. package/dist/local-editor-agent-bridge.js +0 -2
  478. package/dist/local-editor-agent-bridge.js.map +0 -1
  479. package/dist/local-editor-agent-context.d.ts +0 -68
  480. package/dist/local-editor-agent-context.d.ts.map +0 -1
  481. package/dist/local-editor-agent-context.js +0 -716
  482. package/dist/local-editor-agent-context.js.map +0 -1
  483. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
  484. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
  485. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
  486. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
  487. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
  488. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
  489. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
  490. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
  491. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
  492. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
  493. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
  494. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
  503. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
  504. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
  505. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
  506. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
  507. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
  511. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
  513. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
  514. /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
@@ -0,0 +1,67 @@
1
+ import { claimEditorSessionWriteAuthority, releaseEditorSessionWriteAuthority, runWithEditorSessionWriteAuthority, } from '@fps-games/editor-core';
2
+ export function createProjectServiceProjectionSessionAuthority() {
3
+ const owner = Object.freeze({ kind: 'project-service-projection' });
4
+ let currentSession = null;
5
+ const replace = (session) => {
6
+ if (currentSession === session)
7
+ return;
8
+ if (currentSession)
9
+ releaseEditorSessionWriteAuthority(currentSession, owner);
10
+ currentSession = null;
11
+ if (!session)
12
+ return;
13
+ claimEditorSessionWriteAuthority(session, owner);
14
+ try {
15
+ runWithEditorSessionWriteAuthority(session, owner, () => {
16
+ session.detachDocumentReferencesForWriteAuthority();
17
+ });
18
+ currentSession = session;
19
+ }
20
+ catch (error) {
21
+ releaseEditorSessionWriteAuthority(session, owner);
22
+ throw error;
23
+ }
24
+ };
25
+ return Object.freeze({
26
+ replace,
27
+ run(session, mutation) {
28
+ if (currentSession !== session) {
29
+ throw new Error('Project Service projection Session is not current.');
30
+ }
31
+ return runWithEditorSessionWriteAuthority(session, owner, mutation);
32
+ },
33
+ dispose() {
34
+ replace(null);
35
+ },
36
+ });
37
+ }
38
+ export function classifyProjectServiceSnapshot(projectedServiceInstanceId, projectedDocumentRevision, snapshot) {
39
+ if (projectedServiceInstanceId !== null
40
+ && projectedServiceInstanceId !== snapshot.serviceInstanceId)
41
+ return 'service-changed';
42
+ if (projectedDocumentRevision !== null
43
+ && snapshot.documentRevision < projectedDocumentRevision)
44
+ return 'stale';
45
+ return 'eligible';
46
+ }
47
+ export function shouldReplacePendingProjectServiceSnapshot(pending, snapshot) {
48
+ return pending === null
49
+ || pending.serviceInstanceId !== snapshot.serviceInstanceId
50
+ || snapshot.documentRevision >= pending.documentRevision;
51
+ }
52
+ export async function waitForProjectServiceOperation(request, initialResponse, options = {}) {
53
+ if (!initialResponse.ok || initialResponse.kind !== 'operation')
54
+ return null;
55
+ let operation = initialResponse.operation;
56
+ const wait = options.wait ?? (timeoutMs => new Promise(resolve => setTimeout(resolve, timeoutMs)));
57
+ while (operation?.status === 'accepted' || operation?.status === 'running') {
58
+ await wait(Math.max(0, options.pollIntervalMs ?? 100));
59
+ const response = await request({ kind: 'operation.get', operationId: operation.operationId });
60
+ if (!response.ok || response.kind !== 'operation' || !response.operation) {
61
+ throw new Error(`Project Editor Service operation status is unavailable; execution may still be running: ${operation.operationId}.`);
62
+ }
63
+ operation = response.operation;
64
+ }
65
+ return operation;
66
+ }
67
+ //# sourceMappingURL=project-service-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-service-projection.js","sourceRoot":"","sources":["../src/project-service-projection.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n claimEditorSessionWriteAuthority,\n releaseEditorSessionWriteAuthority,\n runWithEditorSessionWriteAuthority,\n type EditorSession,\n} from '@fps-games/editor-core';\nimport type { EditorAuthoringSnapshot } from '@fps-games/editor-protocol';\nimport type {\n EditorCommandOperationSnapshot,\n EditorServiceGatewayRequest,\n EditorServiceGatewayResponse,\n} from '@fps-games/editor-protocol';\n\nexport interface ProjectServiceProjectionSessionAuthority<TDocument, TPatch> {\n replace(session: EditorSession<TDocument, TPatch> | null): void;\n run<TResult>(\n session: EditorSession<TDocument, TPatch>,\n mutation: () => TResult,\n ): TResult;\n dispose(): void;\n}\n\nexport function createProjectServiceProjectionSessionAuthority<TDocument, TPatch>():\nProjectServiceProjectionSessionAuthority<TDocument, TPatch> {\n const owner = Object.freeze({ kind: 'project-service-projection' });\n let currentSession: EditorSession<TDocument, TPatch> | null = null;\n const replace = (session: EditorSession<TDocument, TPatch> | null): void => {\n if (currentSession === session) return;\n if (currentSession) releaseEditorSessionWriteAuthority(currentSession, owner);\n currentSession = null;\n if (!session) return;\n claimEditorSessionWriteAuthority(session, owner);\n try {\n runWithEditorSessionWriteAuthority(session, owner, () => {\n session.detachDocumentReferencesForWriteAuthority();\n });\n currentSession = session;\n } catch (error) {\n releaseEditorSessionWriteAuthority(session, owner);\n throw error;\n }\n };\n return Object.freeze({\n replace,\n run<TResult>(\n session: EditorSession<TDocument, TPatch>,\n mutation: () => TResult,\n ): TResult {\n if (currentSession !== session) {\n throw new Error('Project Service projection Session is not current.');\n }\n return runWithEditorSessionWriteAuthority(session, owner, mutation);\n },\n dispose() {\n replace(null);\n },\n });\n}\n\nexport function classifyProjectServiceSnapshot(\n projectedServiceInstanceId: string | null,\n projectedDocumentRevision: number | null,\n snapshot: Pick<EditorAuthoringSnapshot, 'serviceInstanceId' | 'documentRevision'>,\n): 'service-changed' | 'stale' | 'eligible' {\n if (projectedServiceInstanceId !== null\n && projectedServiceInstanceId !== snapshot.serviceInstanceId) return 'service-changed';\n if (projectedDocumentRevision !== null\n && snapshot.documentRevision < projectedDocumentRevision) return 'stale';\n return 'eligible';\n}\n\nexport function shouldReplacePendingProjectServiceSnapshot(\n pending: Pick<EditorAuthoringSnapshot, 'serviceInstanceId' | 'documentRevision'> | null,\n snapshot: Pick<EditorAuthoringSnapshot, 'serviceInstanceId' | 'documentRevision'>,\n): boolean {\n return pending === null\n || pending.serviceInstanceId !== snapshot.serviceInstanceId\n || snapshot.documentRevision >= pending.documentRevision;\n}\n\nexport async function waitForProjectServiceOperation(\n request: (request: EditorServiceGatewayRequest) => Promise<EditorServiceGatewayResponse>,\n initialResponse: EditorServiceGatewayResponse,\n options: { pollIntervalMs?: number; wait?: (timeoutMs: number) => Promise<void> } = {},\n): Promise<EditorCommandOperationSnapshot | null> {\n if (!initialResponse.ok || initialResponse.kind !== 'operation') return null;\n let operation = initialResponse.operation;\n const wait = options.wait ?? (timeoutMs => new Promise(resolve => setTimeout(resolve, timeoutMs)));\n while (operation?.status === 'accepted' || operation?.status === 'running') {\n await wait(Math.max(0, options.pollIntervalMs ?? 100));\n const response = await request({ kind: 'operation.get', operationId: operation.operationId });\n if (!response.ok || response.kind !== 'operation' || !response.operation) {\n throw new Error(\n `Project Editor Service operation status is unavailable; execution may still be running: ${operation.operationId}.`,\n );\n }\n operation = response.operation;\n }\n return operation;\n}\n"]}
@@ -1,3 +1,21 @@
1
+ import '@babylonjs/core/Shaders/postprocess.vertex.js';
2
+ import '@babylonjs/core/Shaders/imageProcessing.fragment.js';
3
+ import '@babylonjs/core/Shaders/extractHighlights.fragment.js';
4
+ import '@babylonjs/core/Shaders/kernelBlur.fragment.js';
5
+ import '@babylonjs/core/Shaders/kernelBlur.vertex.js';
6
+ import '@babylonjs/core/Shaders/bloomMerge.fragment.js';
7
+ import '@babylonjs/core/Shaders/fxaa.fragment.js';
8
+ import '@babylonjs/core/Shaders/fxaa.vertex.js';
9
+ import '@babylonjs/core/Shaders/pass.fragment.js';
10
+ import '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';
11
+ import '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';
12
+ import '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';
13
+ import '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';
14
+ import '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';
15
+ import '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';
16
+ import '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';
17
+ import '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';
18
+ import '@babylonjs/core/ShadersWGSL/pass.fragment.js';
1
19
  import type { Camera } from '@babylonjs/core/Cameras/camera.js';
2
20
  import type { Scene } from '@babylonjs/core/scene.js';
3
21
  import { type BabylonDefaultPostProcessPipelineController, type BabylonDefaultPostProcessPipelineControllerOptions, type BabylonDefaultPostProcessProfile } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"babylon-default-pipeline.d.ts","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,KAAK,2CAA2C,EAChD,KAAK,kDAAkD,EACvD,KAAK,gCAAgC,EACtC,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,kDAAkD,GAAG,MAAM,SAAS,OAAO,EAAE,CAAC;AAE1F,wBAAgB,sDAAsD,CACpE,KAAK,EAAE,OAAO,GACb,kDAAkD,GAAG,IAAI,CAO3D;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,CAAC,EAAE,gCAAgC,GAAG,IAAI,EACxD,OAAO,GAAE,kDAAuD,GAC/D,2CAA2C,CAsB7C"}
1
+ {"version":3,"file":"babylon-default-pipeline.d.ts","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,+CAA+C,CAAC;AACvD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,uDAAuD,CAAC;AAC/D,OAAO,gDAAgD,CAAC;AACxD,OAAO,8CAA8C,CAAC;AACtD,OAAO,gDAAgD,CAAC;AACxD,OAAO,0CAA0C,CAAC;AAClD,OAAO,wCAAwC,CAAC;AAChD,OAAO,0CAA0C,CAAC;AAClD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yDAAyD,CAAC;AACjE,OAAO,2DAA2D,CAAC;AACnE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,8CAA8C,CAAC;AACtD,OAAO,4CAA4C,CAAC;AACpD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,KAAK,2CAA2C,EAChD,KAAK,kDAAkD,EACvD,KAAK,gCAAgC,EACtC,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,kDAAkD,GAAG,MAAM,SAAS,OAAO,EAAE,CAAC;AAE1F,wBAAgB,sDAAsD,CACpE,KAAK,EAAE,OAAO,GACb,kDAAkD,GAAG,IAAI,CAO3D;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,CAAC,EAAE,gCAAgC,GAAG,IAAI,EACxD,OAAO,GAAE,kDAAuD,GAC/D,2CAA2C,CAsB7C"}
@@ -1,4 +1,22 @@
1
1
  import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';
2
+ import '@babylonjs/core/Shaders/postprocess.vertex.js';
3
+ import '@babylonjs/core/Shaders/imageProcessing.fragment.js';
4
+ import '@babylonjs/core/Shaders/extractHighlights.fragment.js';
5
+ import '@babylonjs/core/Shaders/kernelBlur.fragment.js';
6
+ import '@babylonjs/core/Shaders/kernelBlur.vertex.js';
7
+ import '@babylonjs/core/Shaders/bloomMerge.fragment.js';
8
+ import '@babylonjs/core/Shaders/fxaa.fragment.js';
9
+ import '@babylonjs/core/Shaders/fxaa.vertex.js';
10
+ import '@babylonjs/core/Shaders/pass.fragment.js';
11
+ import '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';
12
+ import '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';
13
+ import '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';
14
+ import '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';
15
+ import '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';
16
+ import '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';
17
+ import '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';
18
+ import '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';
19
+ import '@babylonjs/core/ShadersWGSL/pass.fragment.js';
2
20
  import { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';
3
21
  import {} from './types.js';
4
22
  import { normalizeBabylonDefaultPostProcessProfile } from './profile.js';
@@ -95,7 +113,8 @@ class BabylonDefaultPostProcessPipelineControllerImpl {
95
113
  }
96
114
  if (!this.pipeline || this.structuralKey !== nextStructuralKey) {
97
115
  this.disposePipeline();
98
- this.pipeline = new DefaultRenderingPipeline(this.name, nextProfile.hdr, this.scene, this.cameras);
116
+ this.pipeline = new DefaultRenderingPipeline(this.name, nextProfile.hdr, this.scene, this.cameras, false);
117
+ this.pipeline.automaticBuild = true;
99
118
  this.structuralKey = nextStructuralKey;
100
119
  }
101
120
  this.applyProfile(nextProfile);
@@ -113,24 +132,41 @@ class BabylonDefaultPostProcessPipelineControllerImpl {
113
132
  this.structuralKey = '';
114
133
  }
115
134
  applyProfile(profile) {
116
- if (!this.pipeline)
135
+ const pipeline = this.pipeline;
136
+ if (!pipeline)
117
137
  return;
118
- this.pipeline.imageProcessingEnabled = true;
119
- this.pipeline.imageProcessing.exposure = profile.imageProcessing.exposure;
120
- this.pipeline.imageProcessing.contrast = profile.imageProcessing.contrast;
121
- this.pipeline.imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;
122
- this.pipeline.imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);
123
- this.pipeline.samples = profile.antialiasing.samples;
124
- this.pipeline.bloomEnabled = profile.bloom.enabled;
125
- this.pipeline.bloomThreshold = profile.bloom.threshold;
126
- this.pipeline.bloomWeight = profile.bloom.weight;
127
- this.pipeline.bloomKernel = profile.bloom.kernel;
128
- this.pipeline.bloomScale = profile.bloom.scale;
129
- this.pipeline.sharpenEnabled = false;
130
- this.pipeline.chromaticAberrationEnabled = false;
131
- this.pipeline.depthOfFieldEnabled = false;
132
- this.pipeline.grainEnabled = false;
133
- this.pipeline.fxaaEnabled = this.fxaaEnabled;
138
+ const automaticBuild = pipeline.automaticBuild;
139
+ let profileApplied = false;
140
+ pipeline.automaticBuild = false;
141
+ try {
142
+ pipeline.imageProcessingEnabled = true;
143
+ const imageProcessing = pipeline.scene.imageProcessingConfiguration;
144
+ imageProcessing.exposure = profile.imageProcessing.exposure;
145
+ imageProcessing.contrast = profile.imageProcessing.contrast;
146
+ imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;
147
+ imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);
148
+ pipeline.samples = profile.antialiasing.samples;
149
+ pipeline.bloomEnabled = profile.bloom.enabled;
150
+ pipeline.bloomThreshold = profile.bloom.threshold;
151
+ pipeline.bloomWeight = profile.bloom.weight;
152
+ pipeline.bloomKernel = profile.bloom.kernel;
153
+ pipeline.bloomScale = profile.bloom.scale;
154
+ pipeline.sharpenEnabled = false;
155
+ pipeline.chromaticAberrationEnabled = false;
156
+ pipeline.depthOfFieldEnabled = false;
157
+ pipeline.grainEnabled = false;
158
+ pipeline.fxaaEnabled = this.fxaaEnabled;
159
+ profileApplied = true;
160
+ }
161
+ finally {
162
+ try {
163
+ if (profileApplied)
164
+ pipeline.prepare();
165
+ }
166
+ finally {
167
+ pipeline.automaticBuild = automaticBuild;
168
+ }
169
+ }
134
170
  }
135
171
  disposePipeline() {
136
172
  this.pipeline?.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';\nimport { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';\nimport type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonDefaultPostProcessPipelineController,\n type BabylonDefaultPostProcessPipelineControllerOptions,\n type BabylonDefaultPostProcessProfile,\n} from './types.js';\nimport { normalizeBabylonDefaultPostProcessProfile } from './profile.js';\nimport { createPostProcessStructuralKey } from './volume-stack.js';\n\nconst babylonDefaultPostProcessSceneOwners = new WeakMap<Scene, {\n readonly name: string;\n readonly token: object;\n}>();\n\nexport type BabylonDefaultPostProcessPipelineControllerCleanup = () => readonly unknown[];\n\nexport function readBabylonDefaultPostProcessPipelineControllerCleanup(\n error: unknown,\n): BabylonDefaultPostProcessPipelineControllerCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { babylonDefaultPostProcessPipelineControllerCleanup?: unknown })\n .babylonDefaultPostProcessPipelineControllerCleanup;\n return typeof cleanup === 'function'\n ? cleanup as BabylonDefaultPostProcessPipelineControllerCleanup\n : null;\n}\n\nexport function createBabylonDefaultPostProcessPipelineController(\n scene: Scene,\n cameras: Camera[],\n initialProfile?: BabylonDefaultPostProcessProfile | null,\n options: BabylonDefaultPostProcessPipelineControllerOptions = {},\n): BabylonDefaultPostProcessPipelineController {\n const name = options.name ?? 'defaultPostProcessPipeline';\n const releaseOwnership = reserveBabylonDefaultPostProcessScene(scene, name);\n let controller: BabylonDefaultPostProcessPipelineControllerImpl | null = null;\n try {\n controller = new BabylonDefaultPostProcessPipelineControllerImpl(\n scene,\n [...cameras],\n name,\n options.fxaaEnabled === true,\n releaseOwnership,\n );\n controller.setProfile(initialProfile ?? null);\n return controller;\n } catch (error) {\n const allocatedController = controller;\n const cleanup = createRetryableCleanup(\n allocatedController ? () => allocatedController.dispose() : releaseOwnership,\n );\n const cleanupErrors = cleanup();\n throw createInitializationFailure(error, cleanup, cleanupErrors);\n }\n}\n\nclass BabylonDefaultPostProcessPipelineControllerImpl implements BabylonDefaultPostProcessPipelineController {\n private pipeline: DefaultRenderingPipeline | null = null;\n private profile: BabylonDefaultPostProcessProfile | null = null;\n private structuralKey = '';\n private readonly pendingCameraAttachments = new Set<Camera>();\n\n constructor(\n private readonly scene: Scene,\n private readonly cameras: Camera[],\n private readonly name: string,\n private readonly fxaaEnabled: boolean,\n private readonly releaseOwnership: () => void,\n ) {}\n\n addCamera(camera: Camera): void {\n const knownCamera = this.cameras.includes(camera);\n if (knownCamera && !this.pendingCameraAttachments.has(camera)) return;\n if (knownCamera && this.pendingCameraAttachments.has(camera)) {\n this.pipeline?.removeCamera(camera);\n }\n try {\n this.pipeline?.addCamera(camera);\n } catch (error) {\n let failure = error;\n if (this.pipeline?.cameras.includes(camera)) {\n try { this.pipeline.removeCamera(camera); }\n catch (cleanupError) {\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.add(camera);\n failure = createFailureWithMetadata(\n error,\n 'babylon.postProcess.cameraAttachmentFailed',\n { cleanupErrors: Object.freeze([cleanupError]) },\n );\n }\n }\n throw failure;\n }\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.delete(camera);\n }\n\n removeCamera(camera: Camera): void {\n const index = this.cameras.indexOf(camera);\n if (index < 0) return;\n this.pipeline?.removeCamera(camera);\n this.cameras.splice(index, 1);\n this.pendingCameraAttachments.delete(camera);\n }\n\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void {\n if (!profile) {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n return;\n }\n const nextProfile = normalizeBabylonDefaultPostProcessProfile(profile);\n const nextStructuralKey = createPostProcessStructuralKey(nextProfile);\n this.profile = nextProfile;\n if (!nextProfile.enabled) {\n this.disposePipeline();\n this.structuralKey = nextStructuralKey;\n return;\n }\n if (!this.pipeline || this.structuralKey !== nextStructuralKey) {\n this.disposePipeline();\n this.pipeline = new DefaultRenderingPipeline(\n this.name,\n nextProfile.hdr,\n this.scene,\n this.cameras,\n );\n this.structuralKey = nextStructuralKey;\n }\n this.applyProfile(nextProfile);\n }\n\n getProfile(): BabylonDefaultPostProcessProfile | null {\n return this.profile;\n }\n\n getPipeline(): DefaultRenderingPipeline | null {\n return this.pipeline;\n }\n\n dispose(): void {\n this.disposePipeline();\n this.releaseOwnership();\n this.profile = null;\n this.structuralKey = '';\n }\n\n private applyProfile(profile: BabylonDefaultPostProcessProfile): void {\n if (!this.pipeline) return;\n this.pipeline.imageProcessingEnabled = true;\n this.pipeline.imageProcessing.exposure = profile.imageProcessing.exposure;\n this.pipeline.imageProcessing.contrast = profile.imageProcessing.contrast;\n this.pipeline.imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;\n this.pipeline.imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);\n\n this.pipeline.samples = profile.antialiasing.samples;\n this.pipeline.bloomEnabled = profile.bloom.enabled;\n this.pipeline.bloomThreshold = profile.bloom.threshold;\n this.pipeline.bloomWeight = profile.bloom.weight;\n this.pipeline.bloomKernel = profile.bloom.kernel;\n this.pipeline.bloomScale = profile.bloom.scale;\n\n this.pipeline.sharpenEnabled = false;\n this.pipeline.chromaticAberrationEnabled = false;\n this.pipeline.depthOfFieldEnabled = false;\n this.pipeline.grainEnabled = false;\n this.pipeline.fxaaEnabled = this.fxaaEnabled;\n }\n\n private disposePipeline(): void {\n this.pipeline?.dispose();\n this.pipeline = null;\n this.pendingCameraAttachments.clear();\n }\n}\n\nfunction createRetryableCleanup(operation: () => void): BabylonDefaultPostProcessPipelineControllerCleanup {\n let pending = true;\n return () => {\n if (!pending) return Object.freeze([]);\n try {\n operation();\n pending = false;\n return Object.freeze([]);\n } catch (error) {\n return Object.freeze([error]);\n }\n };\n}\n\nfunction createInitializationFailure(\n error: unknown,\n cleanup: BabylonDefaultPostProcessPipelineControllerCleanup,\n cleanupErrors: readonly unknown[],\n): unknown {\n if (cleanupErrors.length === 0) return error;\n const metadata = {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n babylonDefaultPostProcessPipelineControllerCleanup: cleanup,\n } as const;\n if (error && (typeof error === 'object' || typeof error === 'function')) {\n try {\n Object.assign(error, metadata);\n if (readBabylonDefaultPostProcessPipelineControllerCleanup(error) === cleanup) return error;\n } catch {\n // A non-extensible primary error is wrapped so cleanup ownership remains reachable.\n }\n }\n return Object.assign(\n new Error(error instanceof Error ? error.message : 'babylon.postProcess.initializationFailed'),\n { cause: error, ...metadata },\n );\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so cleanup diagnostics remain reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveBabylonDefaultPostProcessScene(scene: Scene, name: string): () => void {\n const activeOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (activeOwner) {\n throw Object.assign(\n new Error(\n `Babylon default post-process Scene already has an active owner \"${activeOwner.name}\"; `\n + `cannot create \"${name}\".`,\n ),\n {\n code: 'babylon.postProcess.ownerConflict',\n activeOwnerName: activeOwner.name,\n requestedOwnerName: name,\n },\n );\n }\n const token = Object.freeze({});\n babylonDefaultPostProcessSceneOwners.set(scene, { name, token });\n let released = false;\n return () => {\n if (released) return;\n const currentOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (currentOwner?.token !== token) {\n throw new Error('Babylon default post-process Scene ownership changed before cleanup completed.');\n }\n babylonDefaultPostProcessSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction resolveToneMappingType(type: BabylonDefaultPostProcessProfile['toneMapping']['type']): number {\n if (type === 'aces') return ImageProcessingConfiguration.TONEMAPPING_ACES;\n if (type === 'khr-pbr-neutral') return ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL;\n return ImageProcessingConfiguration.TONEMAPPING_STANDARD;\n}\n"]}
1
+ {"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';\nimport '@babylonjs/core/Shaders/postprocess.vertex.js';\nimport '@babylonjs/core/Shaders/imageProcessing.fragment.js';\nimport '@babylonjs/core/Shaders/extractHighlights.fragment.js';\nimport '@babylonjs/core/Shaders/kernelBlur.fragment.js';\nimport '@babylonjs/core/Shaders/kernelBlur.vertex.js';\nimport '@babylonjs/core/Shaders/bloomMerge.fragment.js';\nimport '@babylonjs/core/Shaders/fxaa.fragment.js';\nimport '@babylonjs/core/Shaders/fxaa.vertex.js';\nimport '@babylonjs/core/Shaders/pass.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/pass.fragment.js';\nimport { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';\nimport type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonDefaultPostProcessPipelineController,\n type BabylonDefaultPostProcessPipelineControllerOptions,\n type BabylonDefaultPostProcessProfile,\n} from './types.js';\nimport { normalizeBabylonDefaultPostProcessProfile } from './profile.js';\nimport { createPostProcessStructuralKey } from './volume-stack.js';\n\nconst babylonDefaultPostProcessSceneOwners = new WeakMap<Scene, {\n readonly name: string;\n readonly token: object;\n}>();\n\nexport type BabylonDefaultPostProcessPipelineControllerCleanup = () => readonly unknown[];\n\nexport function readBabylonDefaultPostProcessPipelineControllerCleanup(\n error: unknown,\n): BabylonDefaultPostProcessPipelineControllerCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { babylonDefaultPostProcessPipelineControllerCleanup?: unknown })\n .babylonDefaultPostProcessPipelineControllerCleanup;\n return typeof cleanup === 'function'\n ? cleanup as BabylonDefaultPostProcessPipelineControllerCleanup\n : null;\n}\n\nexport function createBabylonDefaultPostProcessPipelineController(\n scene: Scene,\n cameras: Camera[],\n initialProfile?: BabylonDefaultPostProcessProfile | null,\n options: BabylonDefaultPostProcessPipelineControllerOptions = {},\n): BabylonDefaultPostProcessPipelineController {\n const name = options.name ?? 'defaultPostProcessPipeline';\n const releaseOwnership = reserveBabylonDefaultPostProcessScene(scene, name);\n let controller: BabylonDefaultPostProcessPipelineControllerImpl | null = null;\n try {\n controller = new BabylonDefaultPostProcessPipelineControllerImpl(\n scene,\n [...cameras],\n name,\n options.fxaaEnabled === true,\n releaseOwnership,\n );\n controller.setProfile(initialProfile ?? null);\n return controller;\n } catch (error) {\n const allocatedController = controller;\n const cleanup = createRetryableCleanup(\n allocatedController ? () => allocatedController.dispose() : releaseOwnership,\n );\n const cleanupErrors = cleanup();\n throw createInitializationFailure(error, cleanup, cleanupErrors);\n }\n}\n\nclass BabylonDefaultPostProcessPipelineControllerImpl implements BabylonDefaultPostProcessPipelineController {\n private pipeline: DefaultRenderingPipeline | null = null;\n private profile: BabylonDefaultPostProcessProfile | null = null;\n private structuralKey = '';\n private readonly pendingCameraAttachments = new Set<Camera>();\n\n constructor(\n private readonly scene: Scene,\n private readonly cameras: Camera[],\n private readonly name: string,\n private readonly fxaaEnabled: boolean,\n private readonly releaseOwnership: () => void,\n ) {}\n\n addCamera(camera: Camera): void {\n const knownCamera = this.cameras.includes(camera);\n if (knownCamera && !this.pendingCameraAttachments.has(camera)) return;\n if (knownCamera && this.pendingCameraAttachments.has(camera)) {\n this.pipeline?.removeCamera(camera);\n }\n try {\n this.pipeline?.addCamera(camera);\n } catch (error) {\n let failure = error;\n if (this.pipeline?.cameras.includes(camera)) {\n try { this.pipeline.removeCamera(camera); }\n catch (cleanupError) {\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.add(camera);\n failure = createFailureWithMetadata(\n error,\n 'babylon.postProcess.cameraAttachmentFailed',\n { cleanupErrors: Object.freeze([cleanupError]) },\n );\n }\n }\n throw failure;\n }\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.delete(camera);\n }\n\n removeCamera(camera: Camera): void {\n const index = this.cameras.indexOf(camera);\n if (index < 0) return;\n this.pipeline?.removeCamera(camera);\n this.cameras.splice(index, 1);\n this.pendingCameraAttachments.delete(camera);\n }\n\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void {\n if (!profile) {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n return;\n }\n const nextProfile = normalizeBabylonDefaultPostProcessProfile(profile);\n const nextStructuralKey = createPostProcessStructuralKey(nextProfile);\n this.profile = nextProfile;\n if (!nextProfile.enabled) {\n this.disposePipeline();\n this.structuralKey = nextStructuralKey;\n return;\n }\n if (!this.pipeline || this.structuralKey !== nextStructuralKey) {\n this.disposePipeline();\n this.pipeline = new DefaultRenderingPipeline(\n this.name,\n nextProfile.hdr,\n this.scene,\n this.cameras,\n false,\n );\n this.pipeline.automaticBuild = true;\n this.structuralKey = nextStructuralKey;\n }\n this.applyProfile(nextProfile);\n }\n\n getProfile(): BabylonDefaultPostProcessProfile | null {\n return this.profile;\n }\n\n getPipeline(): DefaultRenderingPipeline | null {\n return this.pipeline;\n }\n\n dispose(): void {\n this.disposePipeline();\n this.releaseOwnership();\n this.profile = null;\n this.structuralKey = '';\n }\n\n private applyProfile(profile: BabylonDefaultPostProcessProfile): void {\n const pipeline = this.pipeline;\n if (!pipeline) return;\n const automaticBuild = pipeline.automaticBuild;\n let profileApplied = false;\n pipeline.automaticBuild = false;\n try {\n pipeline.imageProcessingEnabled = true;\n const imageProcessing = pipeline.scene.imageProcessingConfiguration;\n imageProcessing.exposure = profile.imageProcessing.exposure;\n imageProcessing.contrast = profile.imageProcessing.contrast;\n imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;\n imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);\n\n pipeline.samples = profile.antialiasing.samples;\n pipeline.bloomEnabled = profile.bloom.enabled;\n pipeline.bloomThreshold = profile.bloom.threshold;\n pipeline.bloomWeight = profile.bloom.weight;\n pipeline.bloomKernel = profile.bloom.kernel;\n pipeline.bloomScale = profile.bloom.scale;\n\n pipeline.sharpenEnabled = false;\n pipeline.chromaticAberrationEnabled = false;\n pipeline.depthOfFieldEnabled = false;\n pipeline.grainEnabled = false;\n pipeline.fxaaEnabled = this.fxaaEnabled;\n profileApplied = true;\n } finally {\n try {\n if (profileApplied) pipeline.prepare();\n } finally {\n pipeline.automaticBuild = automaticBuild;\n }\n }\n }\n\n private disposePipeline(): void {\n this.pipeline?.dispose();\n this.pipeline = null;\n this.pendingCameraAttachments.clear();\n }\n}\n\nfunction createRetryableCleanup(operation: () => void): BabylonDefaultPostProcessPipelineControllerCleanup {\n let pending = true;\n return () => {\n if (!pending) return Object.freeze([]);\n try {\n operation();\n pending = false;\n return Object.freeze([]);\n } catch (error) {\n return Object.freeze([error]);\n }\n };\n}\n\nfunction createInitializationFailure(\n error: unknown,\n cleanup: BabylonDefaultPostProcessPipelineControllerCleanup,\n cleanupErrors: readonly unknown[],\n): unknown {\n if (cleanupErrors.length === 0) return error;\n const metadata = {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n babylonDefaultPostProcessPipelineControllerCleanup: cleanup,\n } as const;\n if (error && (typeof error === 'object' || typeof error === 'function')) {\n try {\n Object.assign(error, metadata);\n if (readBabylonDefaultPostProcessPipelineControllerCleanup(error) === cleanup) return error;\n } catch {\n // A non-extensible primary error is wrapped so cleanup ownership remains reachable.\n }\n }\n return Object.assign(\n new Error(error instanceof Error ? error.message : 'babylon.postProcess.initializationFailed'),\n { cause: error, ...metadata },\n );\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so cleanup diagnostics remain reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveBabylonDefaultPostProcessScene(scene: Scene, name: string): () => void {\n const activeOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (activeOwner) {\n throw Object.assign(\n new Error(\n `Babylon default post-process Scene already has an active owner \"${activeOwner.name}\"; `\n + `cannot create \"${name}\".`,\n ),\n {\n code: 'babylon.postProcess.ownerConflict',\n activeOwnerName: activeOwner.name,\n requestedOwnerName: name,\n },\n );\n }\n const token = Object.freeze({});\n babylonDefaultPostProcessSceneOwners.set(scene, { name, token });\n let released = false;\n return () => {\n if (released) return;\n const currentOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (currentOwner?.token !== token) {\n throw new Error('Babylon default post-process Scene ownership changed before cleanup completed.');\n }\n babylonDefaultPostProcessSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction resolveToneMappingType(type: BabylonDefaultPostProcessProfile['toneMapping']['type']): number {\n if (type === 'aces') return ImageProcessingConfiguration.TONEMAPPING_ACES;\n if (type === 'khr-pbr-neutral') return ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL;\n return ImageProcessingConfiguration.TONEMAPPING_STANDARD;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/babylon-renderer",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Babylon-backed renderer capabilities for fps-game-editor.",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "fpsGamePlugin": {
26
26
  "id": "fps.renderer.babylon",
27
- "version": "0.2.1-beta.3",
27
+ "version": "0.2.1-beta.4",
28
28
  "apiVersion": 1,
29
29
  "requires": {},
30
30
  "provides": {
@@ -56,13 +56,13 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@fps-games/playable-assets": "0.2.1-beta.3",
60
- "@fps-games/playable-contracts": "0.2.1-beta.3",
61
- "@fps-games/playable-rendering": "0.2.1-beta.3",
62
- "@fps-games/playable-runtime-data": "0.2.1-beta.3",
63
- "@fps-games/plugin-assets": "0.2.1-beta.3",
64
- "@fps-games/plugin-api": "0.2.1-beta.3",
65
- "@fps-games/plugin-host": "0.2.1-beta.3"
59
+ "@fps-games/playable-assets": "0.2.1-beta.4",
60
+ "@fps-games/playable-contracts": "0.2.1-beta.4",
61
+ "@fps-games/playable-rendering": "0.2.1-beta.4",
62
+ "@fps-games/playable-runtime-data": "0.2.1-beta.4",
63
+ "@fps-games/plugin-assets": "0.2.1-beta.4",
64
+ "@fps-games/plugin-api": "0.2.1-beta.4",
65
+ "@fps-games/plugin-host": "0.2.1-beta.4"
66
66
  },
67
67
  "peerDependencies": {
68
68
  "@babylonjs/core": "^8.0.0"
@@ -188,6 +188,7 @@ type ProjectionMaterialOwnerResolution = MaterialOwnerResolution<BabylonMaterial
188
188
  export interface BabylonEditorProjectionReadyEvent {
189
189
  nodeId: string;
190
190
  async: boolean;
191
+ batchId?: number;
191
192
  }
192
193
  export interface BabylonEditorProjectionBatchSettledEvent {
193
194
  batchId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,7 @@ export function createBabylonEditorProjection(options) {
131
131
  applyProjectionPreviewVisibility(node.id);
132
132
  applyProjectionOutline(projectionNodes.get(node.id) ?? node, projection);
133
133
  selectionPresentation.updateProjectedNode(projection);
134
- options.onProjectionReady?.({ nodeId: node.id, async: true });
134
+ options.onProjectionReady?.({ nodeId: node.id, async: true, batchId: batch.id });
135
135
  }
136
136
  scheduleBatchSettled(batch);
137
137
  });