@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
@@ -13,7 +13,8 @@ export declare class LocalEditorPrefabStageTransactionController<TDocument, TPat
13
13
  static open<TDocument, TPatch>(parentSession: EditorSession<TDocument, TPatch>, options?: EditorSessionForkOptions): LocalEditorPrefabStageTransactionController<TDocument, TPatch>;
14
14
  snapshot(): LocalEditorPrefabStageTransactionSnapshot;
15
15
  assertParentUnchanged(): void;
16
- commitSavedDocument(document: TDocument, source: AuthoringSourceDescriptor | undefined, label: string): void;
16
+ stageParentSavedDocument(parentDraftSession: EditorSession<TDocument, TPatch>, document: TDocument, source: AuthoringSourceDescriptor | undefined, label: string): void;
17
+ acceptParentRevision(): void;
17
18
  discard(): void;
18
19
  }
19
20
  //# sourceMappingURL=local-editor-prefab-stage-transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-prefab-stage-transaction.d.ts","sourceRoot":"","sources":["../src/local-editor-prefab-stage-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,qBAAa,2CAA2C,CAAC,SAAS,EAAE,MAAM;IAItE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC;IAJzD,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO;IAOP,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3B,aAAa,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/C,OAAO,GAAE,wBAA6B,GACrC,2CAA2C,CAAC,SAAS,EAAE,MAAM,CAAC;IAOjE,QAAQ,IAAI,yCAAyC;IAWrD,qBAAqB,IAAI,IAAI;IAS7B,mBAAmB,CACjB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,yBAAyB,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,GACZ,IAAI;IAaP,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"local-editor-prefab-stage-transaction.d.ts","sourceRoot":"","sources":["../src/local-editor-prefab-stage-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,qBAAa,2CAA2C,CAAC,SAAS,EAAE,MAAM;IAItE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC;IAJzD,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO;IAOP,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3B,aAAa,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/C,OAAO,GAAE,wBAA6B,GACrC,2CAA2C,CAAC,SAAS,EAAE,MAAM,CAAC;IAOjE,QAAQ,IAAI,yCAAyC;IAWrD,qBAAqB,IAAI,IAAI;IAS7B,wBAAwB,CACtB,kBAAkB,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EACpD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,yBAAyB,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,GACZ,IAAI;IAWP,oBAAoB,IAAI,IAAI;IAI5B,OAAO,IAAI,IAAI;CAKhB"}
@@ -6,7 +6,7 @@ export class LocalEditorPrefabStageTransactionController {
6
6
  this.parentRevision = parentSession.getState({ cloneDocuments: false }).documentRevision;
7
7
  }
8
8
  static open(parentSession, options = {}) {
9
- return new LocalEditorPrefabStageTransactionController(parentSession, parentSession.fork(options));
9
+ return new LocalEditorPrefabStageTransactionController(parentSession, parentSession.fork({ ...options, preserveDocumentRevision: true }));
10
10
  }
11
11
  snapshot() {
12
12
  const parentState = this.parentSession.getState({ cloneDocuments: false });
@@ -24,16 +24,17 @@ export class LocalEditorPrefabStageTransactionController {
24
24
  throw new Error(`Prefab Stage parent Session changed from revision ${this.parentRevision} to ${revision}.`);
25
25
  }
26
26
  }
27
- commitSavedDocument(document, source, label) {
27
+ stageParentSavedDocument(parentDraftSession, document, source, label) {
28
28
  this.assertParentUnchanged();
29
- this.parentSession.dispatch({
29
+ parentDraftSession.dispatch({
30
30
  type: 'document.replace',
31
31
  document,
32
32
  label,
33
33
  projectionImpact: { type: 'rebuild', reason: 'prefab-stage-save' },
34
34
  });
35
- this.parentSession.markSaved(document, source);
36
- this.draftSession.markSaved(document, source, { resetHistory: true });
35
+ parentDraftSession.markSaved(document, source);
36
+ }
37
+ acceptParentRevision() {
37
38
  this.parentRevision = this.parentSession.getState({ cloneDocuments: false }).documentRevision;
38
39
  }
39
40
  discard() {
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-prefab-stage-transaction.js","sourceRoot":"","sources":["../src/local-editor-prefab-stage-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,wBAAwB,CAAC;AAShC,MAAM,OAAO,2CAA2C;IAGtD,YACW,aAA+C,EAC/C,YAA8C;QAD9C,kBAAa,GAAb,aAAa,CAAkC;QAC/C,iBAAY,GAAZ,YAAY,CAAkC;QAEvD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAC3F,CAAC;IAED,MAAM,CAAC,IAAI,CACT,aAA+C,EAC/C,UAAoC,EAAE;QAEtC,OAAO,IAAI,2CAA2C,CACpD,aAAa,EACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,UAAU,CAAC,KAAK;YAC5B,aAAa,EAAE,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK;YACpD,sBAAsB,EAAE,WAAW,CAAC,gBAAgB;YACpD,qBAAqB,EAAE,UAAU,CAAC,gBAAgB;SACnD,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;QACzF,IAAI,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,qDAAqD,IAAI,CAAC,cAAc,OAAO,QAAQ,GAAG,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,QAAmB,EACnB,MAA6C,EAC7C,KAAa;QAEb,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,kBAAkB;YACxB,QAAQ;YACR,KAAK;YACL,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE;SACnE,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAChG,CAAC;IAED,OAAO;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;CACF","sourcesContent":["import {\n type AuthoringSourceDescriptor,\n type EditorSession,\n type EditorSessionForkOptions,\n} from '@fps-games/editor-core';\n\nexport interface LocalEditorPrefabStageTransactionSnapshot {\n readonly stageDirty: boolean;\n readonly documentDirty: boolean;\n readonly parentDocumentRevision: number;\n readonly draftDocumentRevision: number;\n}\n\nexport class LocalEditorPrefabStageTransactionController<TDocument, TPatch> {\n private parentRevision: number;\n\n private constructor(\n readonly parentSession: EditorSession<TDocument, TPatch>,\n readonly draftSession: EditorSession<TDocument, TPatch>,\n ) {\n this.parentRevision = parentSession.getState({ cloneDocuments: false }).documentRevision;\n }\n\n static open<TDocument, TPatch>(\n parentSession: EditorSession<TDocument, TPatch>,\n options: EditorSessionForkOptions = {},\n ): LocalEditorPrefabStageTransactionController<TDocument, TPatch> {\n return new LocalEditorPrefabStageTransactionController(\n parentSession,\n parentSession.fork(options),\n );\n }\n\n snapshot(): LocalEditorPrefabStageTransactionSnapshot {\n const parentState = this.parentSession.getState({ cloneDocuments: false });\n const draftState = this.draftSession.getState({ cloneDocuments: false });\n return Object.freeze({\n stageDirty: draftState.dirty,\n documentDirty: parentState.dirty || draftState.dirty,\n parentDocumentRevision: parentState.documentRevision,\n draftDocumentRevision: draftState.documentRevision,\n });\n }\n\n assertParentUnchanged(): void {\n const revision = this.parentSession.getState({ cloneDocuments: false }).documentRevision;\n if (revision !== this.parentRevision) {\n throw new Error(\n `Prefab Stage parent Session changed from revision ${this.parentRevision} to ${revision}.`,\n );\n }\n }\n\n commitSavedDocument(\n document: TDocument,\n source: AuthoringSourceDescriptor | undefined,\n label: string,\n ): void {\n this.assertParentUnchanged();\n this.parentSession.dispatch({\n type: 'document.replace',\n document,\n label,\n projectionImpact: { type: 'rebuild', reason: 'prefab-stage-save' },\n });\n this.parentSession.markSaved(document, source);\n this.draftSession.markSaved(document, source, { resetHistory: true });\n this.parentRevision = this.parentSession.getState({ cloneDocuments: false }).documentRevision;\n }\n\n discard(): void {\n this.assertParentUnchanged();\n const checkpoint = this.draftSession.getState({ cloneDocuments: false });\n this.draftSession.reset(checkpoint.persistedDocument, checkpoint.source);\n }\n}\n"]}
1
+ {"version":3,"file":"local-editor-prefab-stage-transaction.js","sourceRoot":"","sources":["../src/local-editor-prefab-stage-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,wBAAwB,CAAC;AAShC,MAAM,OAAO,2CAA2C;IAGtD,YACW,aAA+C,EAC/C,YAA8C;QAD9C,kBAAa,GAAb,aAAa,CAAkC;QAC/C,iBAAY,GAAZ,YAAY,CAAkC;QAEvD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAC3F,CAAC;IAED,MAAM,CAAC,IAAI,CACT,aAA+C,EAC/C,UAAoC,EAAE;QAEtC,OAAO,IAAI,2CAA2C,CACpD,aAAa,EACb,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,UAAU,CAAC,KAAK;YAC5B,aAAa,EAAE,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK;YACpD,sBAAsB,EAAE,WAAW,CAAC,gBAAgB;YACpD,qBAAqB,EAAE,UAAU,CAAC,gBAAgB;SACnD,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;QACzF,IAAI,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,qDAAqD,IAAI,CAAC,cAAc,OAAO,QAAQ,GAAG,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wBAAwB,CACtB,kBAAoD,EACpD,QAAmB,EACnB,MAA6C,EAC7C,KAAa;QAEb,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,kBAAkB,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,kBAAkB;YACxB,QAAQ;YACR,KAAK;YACL,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE;SACnE,CAAC,CAAC;QACH,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAChG,CAAC;IAED,OAAO;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;CACF","sourcesContent":["import {\n type AuthoringSourceDescriptor,\n type EditorSession,\n type EditorSessionForkOptions,\n} from '@fps-games/editor-core';\n\nexport interface LocalEditorPrefabStageTransactionSnapshot {\n readonly stageDirty: boolean;\n readonly documentDirty: boolean;\n readonly parentDocumentRevision: number;\n readonly draftDocumentRevision: number;\n}\n\nexport class LocalEditorPrefabStageTransactionController<TDocument, TPatch> {\n private parentRevision: number;\n\n private constructor(\n readonly parentSession: EditorSession<TDocument, TPatch>,\n readonly draftSession: EditorSession<TDocument, TPatch>,\n ) {\n this.parentRevision = parentSession.getState({ cloneDocuments: false }).documentRevision;\n }\n\n static open<TDocument, TPatch>(\n parentSession: EditorSession<TDocument, TPatch>,\n options: EditorSessionForkOptions = {},\n ): LocalEditorPrefabStageTransactionController<TDocument, TPatch> {\n return new LocalEditorPrefabStageTransactionController(\n parentSession,\n parentSession.fork({ ...options, preserveDocumentRevision: true }),\n );\n }\n\n snapshot(): LocalEditorPrefabStageTransactionSnapshot {\n const parentState = this.parentSession.getState({ cloneDocuments: false });\n const draftState = this.draftSession.getState({ cloneDocuments: false });\n return Object.freeze({\n stageDirty: draftState.dirty,\n documentDirty: parentState.dirty || draftState.dirty,\n parentDocumentRevision: parentState.documentRevision,\n draftDocumentRevision: draftState.documentRevision,\n });\n }\n\n assertParentUnchanged(): void {\n const revision = this.parentSession.getState({ cloneDocuments: false }).documentRevision;\n if (revision !== this.parentRevision) {\n throw new Error(\n `Prefab Stage parent Session changed from revision ${this.parentRevision} to ${revision}.`,\n );\n }\n }\n\n stageParentSavedDocument(\n parentDraftSession: EditorSession<TDocument, TPatch>,\n document: TDocument,\n source: AuthoringSourceDescriptor | undefined,\n label: string,\n ): void {\n this.assertParentUnchanged();\n parentDraftSession.dispatch({\n type: 'document.replace',\n document,\n label,\n projectionImpact: { type: 'rebuild', reason: 'prefab-stage-save' },\n });\n parentDraftSession.markSaved(document, source);\n }\n\n acceptParentRevision(): void {\n this.parentRevision = this.parentSession.getState({ cloneDocuments: false }).documentRevision;\n }\n\n discard(): void {\n this.assertParentUnchanged();\n const checkpoint = this.draftSession.getState({ cloneDocuments: false });\n this.draftSession.reset(checkpoint.persistedDocument, checkpoint.source);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-scene-view-interaction-runtime.d.ts","sourceRoot":"","sources":["../src/local-editor-scene-view-interaction-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAC;AAE1G,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,sCAAsC;IACrD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1D,cAAc,IAAI,IAAI,CAAC;IACvB,YAAY,IAAI,IAAI,CAAC;IACrB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,mBAAmB,IAAI,IAAI,CAAC;IAC5B,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6CAA6C;IAC5D,WAAW,EAAE,IAAI,CACf,oCAAoC,EACpC,iBAAiB,GAAG,eAAe,GAAG,cAAc,CACrD,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,iCAAiC,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,6CAA6C,GACrD,sCAAsC,CA2ExC"}
1
+ {"version":3,"file":"local-editor-scene-view-interaction-runtime.d.ts","sourceRoot":"","sources":["../src/local-editor-scene-view-interaction-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAC;AAE1G,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,sCAAsC;IACrD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1D,cAAc,IAAI,IAAI,CAAC;IACvB,YAAY,IAAI,IAAI,CAAC;IACrB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,mBAAmB,IAAI,IAAI,CAAC;IAC5B,WAAW,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6CAA6C;IAC5D,WAAW,EAAE,IAAI,CACf,oCAAoC,EACpC,iBAAiB,GAAG,eAAe,GAAG,cAAc,CACrD,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,iCAAiC,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,6CAA6C,GACrD,sCAAsC,CA0ExC"}
@@ -23,8 +23,6 @@ export function createLocalEditorSceneViewInteractionRuntime(options) {
23
23
  const reason = continuousRenderReasonForPointerIntent(intent);
24
24
  if (reason)
25
25
  endReason(reason);
26
- if (intent === 'gizmo-drag')
27
- endReason(GIZMO_DRAG_RENDER_REASON);
28
26
  if (intent === 'flythrough')
29
27
  endReason(FLYTHROUGH_KEY_RENDER_REASON);
30
28
  };
@@ -47,10 +45,10 @@ export function createLocalEditorSceneViewInteractionRuntime(options) {
47
45
  endPointerIntentReasons(intent);
48
46
  },
49
47
  beginGizmoDrag() {
50
- beginReason(GIZMO_DRAG_RENDER_REASON);
48
+ options.coordinator.requestFrame(`${GIZMO_DRAG_RENDER_REASON}-start`);
51
49
  },
52
50
  endGizmoDrag() {
53
- endReason(GIZMO_DRAG_RENDER_REASON);
51
+ options.coordinator.requestFrame(`${GIZMO_DRAG_RENDER_REASON}-end`);
54
52
  },
55
53
  updateMovementKeys(keys) {
56
54
  if (keys.length > 0)
@@ -88,7 +86,6 @@ export function createLocalEditorSceneViewInteractionRuntime(options) {
88
86
  }
89
87
  function continuousRenderReasonForPointerIntent(intent) {
90
88
  switch (intent) {
91
- case 'gizmo-drag':
92
89
  case 'view-plane-move':
93
90
  case 'placement':
94
91
  case 'measurement':
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-scene-view-interaction-runtime.js","sourceRoot":"","sources":["../src/local-editor-scene-view-interaction-runtime.ts"],"names":[],"mappings":"AA6BA,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAC9D,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAC9C,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAC3C,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,MAAM,UAAU,4CAA4C,CAC1D,OAAsD;IAEtD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,2BAA2B,CAAC;IACjF,IAAI,cAAc,GAAyC,IAAI,CAAC;IAChE,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,WAAW,GAAG,CAAC,MAAc,EAAQ,EAAE;QAC3C,IAAI,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAClD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAQ,EAAE;QACzC,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACnD,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,MAA8B,EAAQ,EAAE;QACvE,MAAM,MAAM,GAAG,sCAAsC,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,MAAM;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,YAAY;YAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,YAAY;YAAE,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO;QACnC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO;QACL,kBAAkB,CAAC,MAAM;YACvB,MAAM,MAAM,GAAG,sCAAsC,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,MAAM;gBAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,gBAAgB,CAAC,MAAM;YACrB,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,mBAAmB,CAAC,MAAM;YACxB,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,cAAc;YACZ,WAAW,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QACD,YAAY;YACV,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;QACD,kBAAkB,CAAC,IAAI;YACrB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;;gBAC1D,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QACD,mBAAmB;YACjB,IAAI,QAAQ;gBAAE,OAAO;YACrB,WAAW,CAAC,mBAAmB,CAAC,CAAC;YACjC,mBAAmB,EAAE,CAAC;YACtB,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC;gBACtB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC/B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,mBAAmB,UAAU,CAAC,CAAC;YACrE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,WAAW,CAAC,KAAK;YACf,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAC5D,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,mBAAmB,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YACnC,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxE,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAAC,MAA8B;IAC5E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,iBAAiB,CAAC;QACvB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACf,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC","sourcesContent":["import type { SceneViewPointerIntent } from '@fps-games/editor-core';\nimport type { LocalEditorSceneRenderFrame } from './local-editor-scene-render-scheduler.js';\nimport type { LocalEditorViewportRenderCoordinator } from './local-editor-viewport-render-coordinator.js';\n\nexport interface LocalEditorSceneViewFrameConsumer {\n updateFrame(frame: LocalEditorSceneRenderFrame): boolean;\n}\n\nexport interface LocalEditorSceneViewInteractionRuntime {\n beginPointerIntent(intent: SceneViewPointerIntent): void;\n endPointerIntent(intent: SceneViewPointerIntent): void;\n cancelPointerIntent(intent: SceneViewPointerIntent): void;\n beginGizmoDrag(): void;\n endGizmoDrag(): void;\n updateMovementKeys(keys: readonly string[]): void;\n notifyWheelActivity(): void;\n updateFrame(frame: LocalEditorSceneRenderFrame): boolean;\n dispose(): void;\n}\n\nexport interface LocalEditorSceneViewInteractionRuntimeOptions {\n coordinator: Pick<\n LocalEditorViewportRenderCoordinator,\n 'beginContinuous' | 'endContinuous' | 'requestFrame'\n >;\n getCamera?: () => LocalEditorSceneViewFrameConsumer | null;\n wheelIdleDelayMs?: number;\n}\n\nconst FLYTHROUGH_KEY_RENDER_REASON = 'camera-flythrough-keys';\nconst GIZMO_DRAG_RENDER_REASON = 'gizmo-drag';\nconst WHEEL_RENDER_REASON = 'camera-wheel';\nconst DEFAULT_WHEEL_IDLE_DELAY_MS = 120;\n\nexport function createLocalEditorSceneViewInteractionRuntime(\n options: LocalEditorSceneViewInteractionRuntimeOptions,\n): LocalEditorSceneViewInteractionRuntime {\n const activeReasons = new Set<string>();\n const wheelIdleDelayMs = options.wheelIdleDelayMs ?? DEFAULT_WHEEL_IDLE_DELAY_MS;\n let wheelIdleTimer: ReturnType<typeof setTimeout> | null = null;\n let disposed = false;\n\n const beginReason = (reason: string): void => {\n if (disposed || activeReasons.has(reason)) return;\n activeReasons.add(reason);\n options.coordinator.beginContinuous(reason);\n };\n\n const endReason = (reason: string): void => {\n if (disposed || !activeReasons.has(reason)) return;\n activeReasons.delete(reason);\n options.coordinator.endContinuous(reason);\n };\n\n const endPointerIntentReasons = (intent: SceneViewPointerIntent): void => {\n const reason = continuousRenderReasonForPointerIntent(intent);\n if (reason) endReason(reason);\n if (intent === 'gizmo-drag') endReason(GIZMO_DRAG_RENDER_REASON);\n if (intent === 'flythrough') endReason(FLYTHROUGH_KEY_RENDER_REASON);\n };\n\n const clearWheelIdleTimer = (): void => {\n if (wheelIdleTimer == null) return;\n clearTimeout(wheelIdleTimer);\n wheelIdleTimer = null;\n };\n\n return {\n beginPointerIntent(intent) {\n const reason = continuousRenderReasonForPointerIntent(intent);\n if (reason) beginReason(reason);\n },\n endPointerIntent(intent) {\n endPointerIntentReasons(intent);\n },\n cancelPointerIntent(intent) {\n endPointerIntentReasons(intent);\n },\n beginGizmoDrag() {\n beginReason(GIZMO_DRAG_RENDER_REASON);\n },\n endGizmoDrag() {\n endReason(GIZMO_DRAG_RENDER_REASON);\n },\n updateMovementKeys(keys) {\n if (keys.length > 0) beginReason(FLYTHROUGH_KEY_RENDER_REASON);\n else endReason(FLYTHROUGH_KEY_RENDER_REASON);\n },\n notifyWheelActivity() {\n if (disposed) return;\n beginReason(WHEEL_RENDER_REASON);\n clearWheelIdleTimer();\n wheelIdleTimer = setTimeout(() => {\n wheelIdleTimer = null;\n if (disposed) return;\n endReason(WHEEL_RENDER_REASON);\n options.coordinator.requestFrame(`${WHEEL_RENDER_REASON}-settled`);\n }, Math.max(0, wheelIdleDelayMs));\n },\n updateFrame(frame) {\n return options.getCamera?.()?.updateFrame(frame) ?? false;\n },\n dispose() {\n if (disposed) return;\n clearWheelIdleTimer();\n const reasons = [...activeReasons];\n activeReasons.clear();\n for (const reason of reasons) options.coordinator.endContinuous(reason);\n disposed = true;\n },\n };\n}\n\nfunction continuousRenderReasonForPointerIntent(intent: SceneViewPointerIntent): string | null {\n switch (intent) {\n case 'gizmo-drag':\n case 'view-plane-move':\n case 'placement':\n case 'measurement':\n case 'orbit':\n case 'pan':\n case 'dolly':\n case 'flythrough':\n return `pointer-${intent}`;\n default:\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"local-editor-scene-view-interaction-runtime.js","sourceRoot":"","sources":["../src/local-editor-scene-view-interaction-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SceneViewPointerIntent } from '@fps-games/editor-core';\nimport type { LocalEditorSceneRenderFrame } from './local-editor-scene-render-scheduler.js';\nimport type { LocalEditorViewportRenderCoordinator } from './local-editor-viewport-render-coordinator.js';\n\nexport interface LocalEditorSceneViewFrameConsumer {\n updateFrame(frame: LocalEditorSceneRenderFrame): boolean;\n}\n\nexport interface LocalEditorSceneViewInteractionRuntime {\n beginPointerIntent(intent: SceneViewPointerIntent): void;\n endPointerIntent(intent: SceneViewPointerIntent): void;\n cancelPointerIntent(intent: SceneViewPointerIntent): void;\n beginGizmoDrag(): void;\n endGizmoDrag(): void;\n updateMovementKeys(keys: readonly string[]): void;\n notifyWheelActivity(): void;\n updateFrame(frame: LocalEditorSceneRenderFrame): boolean;\n dispose(): void;\n}\n\nexport interface LocalEditorSceneViewInteractionRuntimeOptions {\n coordinator: Pick<\n LocalEditorViewportRenderCoordinator,\n 'beginContinuous' | 'endContinuous' | 'requestFrame'\n >;\n getCamera?: () => LocalEditorSceneViewFrameConsumer | null;\n wheelIdleDelayMs?: number;\n}\n\nconst FLYTHROUGH_KEY_RENDER_REASON = 'camera-flythrough-keys';\nconst GIZMO_DRAG_RENDER_REASON = 'gizmo-drag';\nconst WHEEL_RENDER_REASON = 'camera-wheel';\nconst DEFAULT_WHEEL_IDLE_DELAY_MS = 120;\n\nexport function createLocalEditorSceneViewInteractionRuntime(\n options: LocalEditorSceneViewInteractionRuntimeOptions,\n): LocalEditorSceneViewInteractionRuntime {\n const activeReasons = new Set<string>();\n const wheelIdleDelayMs = options.wheelIdleDelayMs ?? DEFAULT_WHEEL_IDLE_DELAY_MS;\n let wheelIdleTimer: ReturnType<typeof setTimeout> | null = null;\n let disposed = false;\n\n const beginReason = (reason: string): void => {\n if (disposed || activeReasons.has(reason)) return;\n activeReasons.add(reason);\n options.coordinator.beginContinuous(reason);\n };\n\n const endReason = (reason: string): void => {\n if (disposed || !activeReasons.has(reason)) return;\n activeReasons.delete(reason);\n options.coordinator.endContinuous(reason);\n };\n\n const endPointerIntentReasons = (intent: SceneViewPointerIntent): void => {\n const reason = continuousRenderReasonForPointerIntent(intent);\n if (reason) endReason(reason);\n if (intent === 'flythrough') endReason(FLYTHROUGH_KEY_RENDER_REASON);\n };\n\n const clearWheelIdleTimer = (): void => {\n if (wheelIdleTimer == null) return;\n clearTimeout(wheelIdleTimer);\n wheelIdleTimer = null;\n };\n\n return {\n beginPointerIntent(intent) {\n const reason = continuousRenderReasonForPointerIntent(intent);\n if (reason) beginReason(reason);\n },\n endPointerIntent(intent) {\n endPointerIntentReasons(intent);\n },\n cancelPointerIntent(intent) {\n endPointerIntentReasons(intent);\n },\n beginGizmoDrag() {\n options.coordinator.requestFrame(`${GIZMO_DRAG_RENDER_REASON}-start`);\n },\n endGizmoDrag() {\n options.coordinator.requestFrame(`${GIZMO_DRAG_RENDER_REASON}-end`);\n },\n updateMovementKeys(keys) {\n if (keys.length > 0) beginReason(FLYTHROUGH_KEY_RENDER_REASON);\n else endReason(FLYTHROUGH_KEY_RENDER_REASON);\n },\n notifyWheelActivity() {\n if (disposed) return;\n beginReason(WHEEL_RENDER_REASON);\n clearWheelIdleTimer();\n wheelIdleTimer = setTimeout(() => {\n wheelIdleTimer = null;\n if (disposed) return;\n endReason(WHEEL_RENDER_REASON);\n options.coordinator.requestFrame(`${WHEEL_RENDER_REASON}-settled`);\n }, Math.max(0, wheelIdleDelayMs));\n },\n updateFrame(frame) {\n return options.getCamera?.()?.updateFrame(frame) ?? false;\n },\n dispose() {\n if (disposed) return;\n clearWheelIdleTimer();\n const reasons = [...activeReasons];\n activeReasons.clear();\n for (const reason of reasons) options.coordinator.endContinuous(reason);\n disposed = true;\n },\n };\n}\n\nfunction continuousRenderReasonForPointerIntent(intent: SceneViewPointerIntent): string | null {\n switch (intent) {\n case 'view-plane-move':\n case 'placement':\n case 'measurement':\n case 'orbit':\n case 'pan':\n case 'dolly':\n case 'flythrough':\n return `pointer-${intent}`;\n default:\n return null;\n }\n}\n"]}
@@ -27,6 +27,16 @@ export interface FpsGameEditorLocalEditorEntryMountOptions {
27
27
  getCanvas(): HTMLCanvasElement | null;
28
28
  }
29
29
  export interface FpsGameEditorLocalEditorEntryOptions<TEditorModule> {
30
+ /**
31
+ * Bootstrap intent only. The public entry controller performs the actual
32
+ * transition and remains the authority for committed Editor Entry state.
33
+ */
34
+ readonly initialMode?: 'play' | 'edit';
35
+ /**
36
+ * A retained reload signal may describe the old iframe's mode but is not a
37
+ * current bridge-session intent. Retained edit mode warms the entry only.
38
+ */
39
+ readonly initialModeIntent?: 'fresh' | 'retained';
30
40
  readonly browser?: {
31
41
  readonly window?: Window;
32
42
  readonly document?: Document;
@@ -1 +1 @@
1
- {"version":3,"file":"playable-local-editor-entry.d.ts","sourceRoot":"","sources":["../src/playable-local-editor-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gCAAgC,EAGrC,KAAK,yCAAyC,EAC9C,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,KAAK,EAAE,gCAAgC,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,yCAAyC,GAAG,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;CAC1C;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yCAAyC;IACxD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,WAAW,EAAE,mCAAmC,CAAC;IAC1D,SAAS,IAAI,iBAAiB,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,oCAAoC,CAAC,aAAa;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;KACvE,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,mCAAmC,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,QAAQ,CAAC,KAAK,EAAE,CACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,yCAAyC,EAClD,MAAM,EAAE,WAAW,KAChB,yCAAyC,GAAG,OAAO,CAAC,yCAAyC,CAAC,CAAC;KACrG,CAAC;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClD,gBAAgB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,aAAa,IAAI,sCAAsC,CAAC;IACxD,cAAc,IAAI,wCAAwC,CAAC;IAC3D,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACzF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,KAAK,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAkBD,wBAAgB,kCAAkC,CAAC,aAAa,EAC9D,OAAO,EAAE,oCAAoC,CAAC,aAAa,CAAC,GAC3D,6BAA6B,CAkR/B;AAmDD,wBAAgB,gDAAgD,CAC9D,KAAK,EAAE,sCAAsC,EAC7C,OAAO,EAAE,oCAAoC,GAC5C,yCAAyC,CAe3C"}
1
+ {"version":3,"file":"playable-local-editor-entry.d.ts","sourceRoot":"","sources":["../src/playable-local-editor-entry.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export function mountFpsGameEditorLocalEditorEntry(options) {
13
13
  const browserWindow = options.browser?.window ?? window;
14
14
  const browserDocument = options.browser?.document ?? browserWindow.document;
15
15
  const canvasId = options.browser?.canvasId ?? 'renderCanvas';
16
+ const initialMode = options.initialMode ?? 'play';
17
+ const initialModeIntent = options.initialModeIntent ?? 'fresh';
16
18
  const entryContent = Object.freeze({ ...DEFAULT_ENTRY_CONTENT, ...options.browser?.entryContent });
17
19
  const reportError = (scope, error) => {
18
20
  if (options.reportError)
@@ -34,6 +36,7 @@ export function mountFpsGameEditorLocalEditorEntry(options) {
34
36
  let diagnostics = freezeDiagnostics();
35
37
  let editorEnterMark = null;
36
38
  let returnedToPlayWarmupTimer = null;
39
+ let autoStartTriggered = false;
37
40
  let disposed = false;
38
41
  let disposal = null;
39
42
  let controller;
@@ -300,9 +303,14 @@ export function mountFpsGameEditorLocalEditorEntry(options) {
300
303
  ? () => undefined
301
304
  : mountEntryButton(host, browserWindow, browserDocument, options.browser?.root, entryContent, reportError);
302
305
  const startWhenReady = () => {
303
- if (disposed)
306
+ if (disposed || autoStartTriggered)
304
307
  return;
305
- void host.start().catch(error => reportError('local editor entry start failed', error));
308
+ autoStartTriggered = true;
309
+ browserDocument.removeEventListener('DOMContentLoaded', startWhenReady);
310
+ const operation = initialMode === 'edit' && initialModeIntent === 'fresh'
311
+ ? host.enterEditor()
312
+ : host.start();
313
+ void operation.catch(error => reportError('local editor entry start failed', error));
306
314
  };
307
315
  const disposeForUnload = () => {
308
316
  void host.dispose().catch(error => reportError('local editor entry dispose failed', error));
@@ -1 +1 @@
1
- {"version":3,"file":"playable-local-editor-entry.js","sourceRoot":"","sources":["../src/playable-local-editor-entry.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createPlayableEditorEntryController,\n createPlayableEditorEntryModuleLoader,\n createPlayableEditorEntryPerformanceTracker,\n type PlayableEditorEntryBackend,\n type PlayableEditorEntryBuildIdentity,\n type PlayableEditorEntryController,\n type PlayableEditorEntryPerformanceMark,\n type PlayableEditorEntryPerformanceMeasurement,\n type PlayableEditorEntryResult,\n type PlayableEditorEntryState,\n} from '@fps-games/editor-playable-sdk';\nimport { retryFpsGameEditorDeferredProductCleanups } from './internal/product-local-editor-cleanup.js';\nimport type {\n FpsGameEditorProjectModeContext,\n FpsGameEditorProjectModeTransitions,\n} from './playable-project-mode.js';\n\nexport interface FpsGameEditorLocalEditorEntryDiagnostics {\n readonly build: PlayableEditorEntryBuildIdentity | null;\n readonly editorModuleImportAttempt: number;\n readonly editorModuleWarmup: PlayableEditorEntryPerformanceMeasurement | null;\n readonly enter: PlayableEditorEntryPerformanceMeasurement | null;\n}\n\nexport interface FpsGameEditorLocalEditorEntryViewState {\n readonly entry: PlayableEditorEntryState;\n}\n\nexport interface FpsGameEditorLocalEditorEntryContent {\n readonly preparingEditor: string;\n readonly enterEditor: string;\n readonly checkingEditor: string;\n readonly enteringEditor: string;\n readonly restoringPlayMode: string;\n readonly retryEditor: string;\n readonly reloadPage: string;\n}\n\nexport interface FpsGameEditorLocalEditorEntryModeSwitcher {\n enterEditor(): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface FpsGameEditorLocalEditorEntryMountOptions {\n readonly projectMode: FpsGameEditorProjectModeTransitions;\n getCanvas(): HTMLCanvasElement | null;\n}\n\nexport interface FpsGameEditorLocalEditorEntryOptions<TEditorModule> {\n readonly browser?: {\n readonly window?: Window;\n readonly document?: Document;\n readonly root?: HTMLElement;\n readonly canvasId?: string;\n readonly autoStart?: boolean;\n readonly showEntryButton?: boolean;\n readonly entryContent?: Partial<FpsGameEditorLocalEditorEntryContent>;\n };\n readonly projectMode: FpsGameEditorProjectModeTransitions;\n readonly editorModule: {\n readonly baseUrl: string;\n readonly manifestUrl?: string;\n readonly importModule: (url: string) => Promise<TEditorModule>;\n readonly mount: (\n module: TEditorModule,\n options: FpsGameEditorLocalEditorEntryMountOptions,\n signal: AbortSignal,\n ) => FpsGameEditorLocalEditorEntryModeSwitcher | Promise<FpsGameEditorLocalEditorEntryModeSwitcher>;\n };\n readonly reportError?: (scope: string, error: unknown) => void;\n}\n\nexport interface FpsGameEditorLocalEditorEntry {\n start(): Promise<void>;\n enterEditor(): Promise<PlayableEditorEntryResult>;\n retryEditorEntry(): Promise<PlayableEditorEntryResult>;\n getEntryState(): FpsGameEditorLocalEditorEntryViewState;\n getDiagnostics(): FpsGameEditorLocalEditorEntryDiagnostics;\n subscribe(listener: (state: FpsGameEditorLocalEditorEntryViewState) => void): () => void;\n dispose(): Promise<void>;\n}\n\ntype EntryButtonAction = 'none' | 'enter' | 'retry' | 'reload';\n\nexport interface FpsGameEditorLocalEditorEntryPresentation {\n action: EntryButtonAction;\n disabled: boolean;\n hidden: boolean;\n label: string;\n title: string;\n}\n\ninterface OwnedEditorSwitcher {\n switcher: FpsGameEditorLocalEditorEntryModeSwitcher;\n editorModeEntryAttempted: boolean;\n playModeEntryCompleted: boolean;\n}\n\nconst DEFAULT_ENTRY_CONTENT: FpsGameEditorLocalEditorEntryContent = Object.freeze({\n preparingEditor: '正在准备编辑器…',\n enterEditor: '进入编辑场景',\n checkingEditor: '正在检查编辑环境…',\n enteringEditor: '正在进入编辑界面…',\n restoringPlayMode: '正在恢复游戏…',\n retryEditor: '重试进入编辑器',\n reloadPage: '刷新页面恢复',\n});\n\nexport function mountFpsGameEditorLocalEditorEntry<TEditorModule>(\n options: FpsGameEditorLocalEditorEntryOptions<TEditorModule>,\n): FpsGameEditorLocalEditorEntry {\n const browserWindow = options.browser?.window ?? window;\n const browserDocument = options.browser?.document ?? browserWindow.document;\n const canvasId = options.browser?.canvasId ?? 'renderCanvas';\n const entryContent = Object.freeze({ ...DEFAULT_ENTRY_CONTENT, ...options.browser?.entryContent });\n const reportError = (scope: string, error: unknown): void => {\n if (options.reportError) options.reportError(scope, error);\n else console.error(`[FpsGameEditor] ${scope}`, error);\n };\n const editorModuleLoader = createPlayableEditorEntryModuleLoader<TEditorModule>({\n baseUrl: options.editorModule.baseUrl,\n ...(options.editorModule.manifestUrl ? { manifestUrl: options.editorModule.manifestUrl } : {}),\n importModule: options.editorModule.importModule,\n });\n const entryPerformance = createPlayableEditorEntryPerformanceTracker({ performance: browserWindow.performance });\n const listeners = new Set<(state: FpsGameEditorLocalEditorEntryViewState) => void>();\n const retiredSwitchers = new Set<OwnedEditorSwitcher>();\n const switcherDisposals = new WeakMap<OwnedEditorSwitcher, Promise<void>>();\n let activeSwitcher: OwnedEditorSwitcher | null = null;\n let switcherLoad: Promise<OwnedEditorSwitcher> | null = null;\n let diagnostics = freezeDiagnostics();\n let editorEnterMark: PlayableEditorEntryPerformanceMark | null = null;\n let returnedToPlayWarmupTimer: number | null = null;\n let disposed = false;\n let disposal: Promise<void> | null = null;\n let controller!: PlayableEditorEntryController;\n\n const publishDiagnostics = (): void => {\n if (disposed) return;\n const target = browserWindow as Window & {\n __FPS_EDITOR_ENTRY_DIAGNOSTICS__?: FpsGameEditorLocalEditorEntryDiagnostics;\n };\n target.__FPS_EDITOR_ENTRY_DIAGNOSTICS__ = diagnostics;\n };\n const getEntryState = (): FpsGameEditorLocalEditorEntryViewState => Object.freeze({\n entry: controller.getState(),\n });\n const emit = (): void => {\n if (disposed) return;\n const state = getEntryState();\n for (const listener of [...listeners]) {\n try { listener(state); }\n catch (error) { reportError('editor entry listener failed', error); }\n }\n };\n const recordPerformance = (state: PlayableEditorEntryState): void => {\n if (state.phase === 'preparing') {\n editorEnterMark = entryPerformance.mark();\n diagnostics = freezeDiagnostics({ ...diagnostics, enter: null });\n publishDiagnostics();\n return;\n }\n const settled = state.phase === 'editing'\n || (state.phase === 'failed' && state.failure?.phase !== 'warmup');\n if (!settled || !editorEnterMark) return;\n const mark = editorEnterMark;\n editorEnterMark = null;\n diagnostics = freezeDiagnostics({ ...diagnostics, enter: entryPerformance.measure(mark) });\n publishDiagnostics();\n };\n\n const disposeSwitcher = (owned: OwnedEditorSwitcher): Promise<void> => {\n const active = switcherDisposals.get(owned);\n if (active) return active;\n const pending = Promise.resolve().then(() => owned.switcher.dispose());\n switcherDisposals.set(owned, pending);\n void pending.finally(() => {\n if (switcherDisposals.get(owned) === pending) switcherDisposals.delete(owned);\n }).catch(() => undefined);\n return pending;\n };\n const disposeRetiredSwitchers = async (): Promise<void> => {\n const errors: unknown[] = [];\n for (const owned of [...retiredSwitchers]) {\n try {\n await disposeSwitcher(owned);\n retiredSwitchers.delete(owned);\n } catch (error) {\n errors.push(error);\n }\n }\n throwCleanupErrors(errors, 'Retired Local Editor entry cleanup failed.');\n };\n const scheduleReplacementWarmup = (owned: OwnedEditorSwitcher): void => {\n if (activeSwitcher === owned) activeSwitcher = null;\n retiredSwitchers.add(owned);\n if (returnedToPlayWarmupTimer !== null) browserWindow.clearTimeout(returnedToPlayWarmupTimer);\n returnedToPlayWarmupTimer = browserWindow.setTimeout(() => {\n returnedToPlayWarmupTimer = null;\n if (disposed) return;\n try { controller.reset(); }\n catch (error) {\n reportError('editor entry reset after play-mode return failed', error);\n return;\n }\n void controller.start().catch(error => reportError('editor warmup after play-mode return failed', error));\n }, 0);\n };\n const ensureSwitcher = (signal: AbortSignal): Promise<OwnedEditorSwitcher> => {\n if (disposed || signal.aborted) return Promise.reject(createAbortError());\n if (activeSwitcher) return Promise.resolve(activeSwitcher);\n if (switcherLoad) return switcherLoad;\n const pending = disposeRetiredSwitchers().then(async () => {\n const mark = entryPerformance.mark();\n let editorModule: TEditorModule;\n try {\n editorModule = await editorModuleLoader.load(signal);\n } finally {\n diagnostics = freezeDiagnostics({\n build: editorModuleLoader.getManifest()?.build ?? null,\n editorModuleImportAttempt: editorModuleLoader.getImportAttempt(),\n editorModuleWarmup: entryPerformance.measure(mark),\n enter: diagnostics.enter,\n });\n publishDiagnostics();\n }\n if (disposed || signal.aborted) throw createAbortError();\n const ownership: OwnedEditorSwitcher = {\n switcher: undefined as unknown as FpsGameEditorLocalEditorEntryModeSwitcher,\n editorModeEntryAttempted: false,\n playModeEntryCompleted: false,\n };\n const switcher = await options.editorModule.mount(editorModule, {\n projectMode: {\n async enterEditorMode(context?: FpsGameEditorProjectModeContext) {\n ownership.editorModeEntryAttempted = true;\n const placement = captureRenderCanvasPlacement(browserDocument, canvasId);\n try { await options.projectMode.enterEditorMode(context); }\n finally { restoreRenderCanvasPlacement(browserDocument, placement); }\n },\n async enterPlayMode(context?: FpsGameEditorProjectModeContext) {\n await options.projectMode.enterPlayMode(context);\n ownership.playModeEntryCompleted = true;\n scheduleReplacementWarmup(ownership);\n },\n },\n getCanvas: () => readRenderCanvas(browserDocument, canvasId),\n }, signal);\n ownership.switcher = switcher;\n if (disposed || signal.aborted) {\n await disposeSwitcher(ownership);\n throw createAbortError();\n }\n activeSwitcher = ownership;\n return ownership;\n });\n switcherLoad = pending;\n void pending.finally(() => {\n if (switcherLoad === pending) switcherLoad = null;\n }).catch(() => undefined);\n return pending;\n };\n\n const backend: PlayableEditorEntryBackend<OwnedEditorSwitcher> = {\n warmup: signal => ensureSwitcher(signal).then(() => undefined),\n prepare: context => ensureSwitcher(context.signal),\n async commit(prepared, context) {\n if (prepared !== activeSwitcher) throw new Error('Prepared Local Editor switcher is no longer current.');\n await prepared.switcher.enterEditor();\n if (context.signal.aborted) throw createAbortError();\n },\n async rollback(prepared) {\n const errors: unknown[] = [];\n try {\n await disposeSwitcher(prepared);\n retiredSwitchers.delete(prepared);\n if (activeSwitcher === prepared) activeSwitcher = null;\n } catch (error) {\n errors.push(error);\n }\n if (prepared.editorModeEntryAttempted && !prepared.playModeEntryCompleted) {\n try {\n await options.projectMode.enterPlayMode({ reason: 'editor-entry-rollback' });\n prepared.playModeEntryCompleted = true;\n } catch (error) {\n errors.push(error);\n }\n }\n throwCleanupErrors(errors, 'Local Editor entry rollback failed.');\n },\n async dispose() {\n const pending = switcherLoad;\n await Promise.allSettled(pending ? [pending] : []);\n const errors: unknown[] = [];\n if (activeSwitcher) {\n const owned = activeSwitcher;\n try {\n await disposeSwitcher(owned);\n if (activeSwitcher === owned) activeSwitcher = null;\n } catch (error) {\n errors.push(error);\n }\n }\n try { await disposeRetiredSwitchers(); }\n catch (error) { errors.push(error); }\n throwCleanupErrors(errors, 'Local Editor entry cleanup failed.');\n },\n };\n\n controller = createPlayableEditorEntryController({\n backend,\n reportFailure: ({ failure, cause, rollbackCause }) => {\n reportError(\n `editor entry ${failure.code}`,\n rollbackCause === undefined ? cause : createCollectedError(failure.message, [cause, rollbackCause]),\n );\n },\n reportListenerError: error => reportError('editor entry listener failed', error),\n });\n const unsubscribeController = controller.subscribe(state => {\n recordPerformance(state);\n emit();\n });\n publishDiagnostics();\n\n const host: FpsGameEditorLocalEditorEntry = {\n start: () => controller.start(),\n enterEditor: () => controller.enter(),\n retryEditorEntry: () => controller.retry(),\n getEntryState,\n getDiagnostics: () => diagnostics,\n subscribe(listener) {\n if (disposed) return () => undefined;\n listeners.add(listener);\n listener(getEntryState());\n return () => listeners.delete(listener);\n },\n dispose() {\n if (disposal) return disposal;\n disposed = true;\n const pending = (async () => {\n browserWindow.removeEventListener('beforeunload', disposeForUnload);\n browserDocument.removeEventListener('DOMContentLoaded', startWhenReady);\n if (returnedToPlayWarmupTimer !== null) {\n browserWindow.clearTimeout(returnedToPlayWarmupTimer);\n returnedToPlayWarmupTimer = null;\n }\n disposeEntryButton();\n unsubscribeController();\n listeners.clear();\n delete (browserWindow as Window & {\n __FPS_EDITOR_ENTRY_DIAGNOSTICS__?: FpsGameEditorLocalEditorEntryDiagnostics;\n }).__FPS_EDITOR_ENTRY_DIAGNOSTICS__;\n const errors: unknown[] = [];\n try { await controller.dispose(); } catch (error) { errors.push(error); }\n errors.push(...await retryFpsGameEditorDeferredProductCleanups());\n throwCleanupErrors(errors, 'Local Editor Entry cleanup failed.');\n })();\n disposal = pending;\n void pending.catch(() => { if (disposal === pending) disposal = null; });\n return pending;\n },\n };\n\n const disposeEntryButton = options.browser?.showEntryButton === false\n ? () => undefined\n : mountEntryButton(host, browserWindow, browserDocument, options.browser?.root, entryContent, reportError);\n const startWhenReady = (): void => {\n if (disposed) return;\n void host.start().catch(error => reportError('local editor entry start failed', error));\n };\n const disposeForUnload = (): void => {\n void host.dispose().catch(error => reportError('local editor entry dispose failed', error));\n };\n browserWindow.addEventListener('beforeunload', disposeForUnload);\n if (options.browser?.autoStart !== false) {\n if (browserDocument.readyState === 'loading') {\n browserDocument.addEventListener('DOMContentLoaded', startWhenReady, { once: true });\n browserWindow.queueMicrotask(startWhenReady);\n } else {\n startWhenReady();\n }\n }\n return host;\n}\n\nfunction mountEntryButton(\n host: FpsGameEditorLocalEditorEntry,\n browserWindow: Window,\n browserDocument: Document,\n explicitRoot: HTMLElement | undefined,\n content: FpsGameEditorLocalEditorEntryContent,\n reportError: (scope: string, error: unknown) => void,\n): () => void {\n browserDocument.getElementById('fps-game-editor-entry')?.remove();\n const button = browserDocument.createElement('button');\n button.id = 'fps-game-editor-entry';\n button.type = 'button';\n button.style.cssText = [\n 'position:fixed', 'top:14px', 'right:16px', 'z-index:2147482604', 'height:32px',\n 'min-width:104px', 'padding:0 12px', 'border:1px solid #aee7c2', 'border-radius:999px',\n 'background:#e1f8e8', 'color:#2f6f52',\n 'font:800 12px system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif',\n 'box-shadow:0 8px 20px rgba(15,23,42,.18)', 'white-space:nowrap', 'user-select:none',\n ].join(';');\n let presentation = resolveFpsGameEditorLocalEditorEntryPresentation(host.getEntryState(), content);\n const render = (state: FpsGameEditorLocalEditorEntryViewState): void => {\n presentation = resolveFpsGameEditorLocalEditorEntryPresentation(state, content);\n button.disabled = presentation.disabled;\n button.textContent = presentation.label;\n button.title = presentation.title;\n button.style.opacity = presentation.disabled ? '.72' : '1';\n button.style.cursor = presentation.disabled ? 'default' : 'pointer';\n if (presentation.hidden) button.remove();\n else if (!button.isConnected) (explicitRoot ?? browserDocument.body)?.append(button);\n };\n const unsubscribe = host.subscribe(render);\n const onClick = (): void => {\n const operation = presentation.action === 'enter'\n ? host.enterEditor()\n : presentation.action === 'retry'\n ? host.retryEditorEntry()\n : presentation.action === 'reload'\n ? Promise.resolve(browserWindow.location.reload())\n : Promise.resolve();\n void operation.catch(error => reportError('editor entry action failed', error));\n };\n button.addEventListener('click', onClick);\n return () => {\n unsubscribe();\n button.removeEventListener('click', onClick);\n button.remove();\n };\n}\n\nexport function resolveFpsGameEditorLocalEditorEntryPresentation(\n state: FpsGameEditorLocalEditorEntryViewState,\n content: FpsGameEditorLocalEditorEntryContent,\n): FpsGameEditorLocalEditorEntryPresentation {\n switch (state.entry.phase) {\n case 'idle':\n case 'warming': return presentation('none', true, false, content.preparingEditor);\n case 'ready': return presentation('enter', false, false, content.enterEditor);\n case 'preparing': return presentation('none', true, false, content.checkingEditor);\n case 'committing': return presentation('none', true, false, content.enteringEditor);\n case 'rolling-back': return presentation('none', true, false, content.restoringPlayMode);\n case 'failed': return state.entry.failure?.recoverable\n ? presentation('retry', false, false, content.retryEditor, state.entry.failure.message)\n : presentation('reload', false, false, content.reloadPage, state.entry.failure?.message);\n case 'editing':\n case 'disposed': return presentation('none', true, true, content.enterEditor);\n }\n return presentation('none', true, true, content.enterEditor);\n}\n\nfunction presentation(\n action: EntryButtonAction,\n disabled: boolean,\n hidden: boolean,\n label: string,\n title = label,\n): FpsGameEditorLocalEditorEntryPresentation {\n return Object.freeze({ action, disabled, hidden, label, title });\n}\n\nfunction freezeDiagnostics(\n value: Partial<FpsGameEditorLocalEditorEntryDiagnostics> = {},\n): FpsGameEditorLocalEditorEntryDiagnostics {\n return Object.freeze({\n build: value.build ?? null,\n editorModuleImportAttempt: value.editorModuleImportAttempt ?? 0,\n editorModuleWarmup: value.editorModuleWarmup ?? null,\n enter: value.enter ?? null,\n });\n}\n\nfunction captureRenderCanvasPlacement(documentValue: Document, canvasId: string) {\n const canvas = readRenderCanvas(documentValue, canvasId);\n if (!canvas?.parentNode) return null;\n return { canvas, parent: canvas.parentNode, nextSibling: canvas.nextSibling };\n}\n\nfunction restoreRenderCanvasPlacement(\n documentValue: Document,\n placement: ReturnType<typeof captureRenderCanvasPlacement>,\n): void {\n if (!placement || placement.canvas.isConnected) return;\n const parent = placement.parent.isConnected ? placement.parent : documentValue.body;\n const nextSibling = placement.nextSibling?.parentNode === parent ? placement.nextSibling : null;\n parent.insertBefore(placement.canvas, nextSibling);\n}\n\nfunction readRenderCanvas(documentValue: Document, canvasId: string): HTMLCanvasElement | null {\n const value = documentValue.getElementById(canvasId);\n const Canvas = documentValue.defaultView?.HTMLCanvasElement;\n if (Canvas) return value instanceof Canvas ? value : null;\n return value?.tagName === 'CANVAS' ? value as HTMLCanvasElement : null;\n}\n\nfunction createCollectedError(message: string, errors: readonly unknown[]): Error {\n return Object.assign(new Error(message), { errors: [...errors] });\n}\n\nfunction throwCleanupErrors(errors: readonly unknown[], message: string): void {\n if (errors.length === 1) throw errors[0];\n if (errors.length > 1) throw createCollectedError(message, errors);\n}\n\nfunction createAbortError(): Error {\n return Object.assign(new Error('Local Editor Entry was disposed.'), { name: 'AbortError' });\n}\n"]}
1
+ {"version":3,"file":"playable-local-editor-entry.js","sourceRoot":"","sources":["../src/playable-local-editor-entry.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createPlayableEditorEntryController,\n createPlayableEditorEntryModuleLoader,\n createPlayableEditorEntryPerformanceTracker,\n type PlayableEditorEntryBackend,\n type PlayableEditorEntryBuildIdentity,\n type PlayableEditorEntryController,\n type PlayableEditorEntryPerformanceMark,\n type PlayableEditorEntryPerformanceMeasurement,\n type PlayableEditorEntryResult,\n type PlayableEditorEntryState,\n} from '@fps-games/editor-playable-sdk';\nimport { retryFpsGameEditorDeferredProductCleanups } from './internal/product-local-editor-cleanup.js';\nimport type {\n FpsGameEditorProjectModeContext,\n FpsGameEditorProjectModeTransitions,\n} from './playable-project-mode.js';\n\nexport interface FpsGameEditorLocalEditorEntryDiagnostics {\n readonly build: PlayableEditorEntryBuildIdentity | null;\n readonly editorModuleImportAttempt: number;\n readonly editorModuleWarmup: PlayableEditorEntryPerformanceMeasurement | null;\n readonly enter: PlayableEditorEntryPerformanceMeasurement | null;\n}\n\nexport interface FpsGameEditorLocalEditorEntryViewState {\n readonly entry: PlayableEditorEntryState;\n}\n\nexport interface FpsGameEditorLocalEditorEntryContent {\n readonly preparingEditor: string;\n readonly enterEditor: string;\n readonly checkingEditor: string;\n readonly enteringEditor: string;\n readonly restoringPlayMode: string;\n readonly retryEditor: string;\n readonly reloadPage: string;\n}\n\nexport interface FpsGameEditorLocalEditorEntryModeSwitcher {\n enterEditor(): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface FpsGameEditorLocalEditorEntryMountOptions {\n readonly projectMode: FpsGameEditorProjectModeTransitions;\n getCanvas(): HTMLCanvasElement | null;\n}\n\nexport interface FpsGameEditorLocalEditorEntryOptions<TEditorModule> {\n /**\n * Bootstrap intent only. The public entry controller performs the actual\n * transition and remains the authority for committed Editor Entry state.\n */\n readonly initialMode?: 'play' | 'edit';\n /**\n * A retained reload signal may describe the old iframe's mode but is not a\n * current bridge-session intent. Retained edit mode warms the entry only.\n */\n readonly initialModeIntent?: 'fresh' | 'retained';\n readonly browser?: {\n readonly window?: Window;\n readonly document?: Document;\n readonly root?: HTMLElement;\n readonly canvasId?: string;\n readonly autoStart?: boolean;\n readonly showEntryButton?: boolean;\n readonly entryContent?: Partial<FpsGameEditorLocalEditorEntryContent>;\n };\n readonly projectMode: FpsGameEditorProjectModeTransitions;\n readonly editorModule: {\n readonly baseUrl: string;\n readonly manifestUrl?: string;\n readonly importModule: (url: string) => Promise<TEditorModule>;\n readonly mount: (\n module: TEditorModule,\n options: FpsGameEditorLocalEditorEntryMountOptions,\n signal: AbortSignal,\n ) => FpsGameEditorLocalEditorEntryModeSwitcher | Promise<FpsGameEditorLocalEditorEntryModeSwitcher>;\n };\n readonly reportError?: (scope: string, error: unknown) => void;\n}\n\nexport interface FpsGameEditorLocalEditorEntry {\n start(): Promise<void>;\n enterEditor(): Promise<PlayableEditorEntryResult>;\n retryEditorEntry(): Promise<PlayableEditorEntryResult>;\n getEntryState(): FpsGameEditorLocalEditorEntryViewState;\n getDiagnostics(): FpsGameEditorLocalEditorEntryDiagnostics;\n subscribe(listener: (state: FpsGameEditorLocalEditorEntryViewState) => void): () => void;\n dispose(): Promise<void>;\n}\n\ntype EntryButtonAction = 'none' | 'enter' | 'retry' | 'reload';\n\nexport interface FpsGameEditorLocalEditorEntryPresentation {\n action: EntryButtonAction;\n disabled: boolean;\n hidden: boolean;\n label: string;\n title: string;\n}\n\ninterface OwnedEditorSwitcher {\n switcher: FpsGameEditorLocalEditorEntryModeSwitcher;\n editorModeEntryAttempted: boolean;\n playModeEntryCompleted: boolean;\n}\n\nconst DEFAULT_ENTRY_CONTENT: FpsGameEditorLocalEditorEntryContent = Object.freeze({\n preparingEditor: '正在准备编辑器…',\n enterEditor: '进入编辑场景',\n checkingEditor: '正在检查编辑环境…',\n enteringEditor: '正在进入编辑界面…',\n restoringPlayMode: '正在恢复游戏…',\n retryEditor: '重试进入编辑器',\n reloadPage: '刷新页面恢复',\n});\n\nexport function mountFpsGameEditorLocalEditorEntry<TEditorModule>(\n options: FpsGameEditorLocalEditorEntryOptions<TEditorModule>,\n): FpsGameEditorLocalEditorEntry {\n const browserWindow = options.browser?.window ?? window;\n const browserDocument = options.browser?.document ?? browserWindow.document;\n const canvasId = options.browser?.canvasId ?? 'renderCanvas';\n const initialMode = options.initialMode ?? 'play';\n const initialModeIntent = options.initialModeIntent ?? 'fresh';\n const entryContent = Object.freeze({ ...DEFAULT_ENTRY_CONTENT, ...options.browser?.entryContent });\n const reportError = (scope: string, error: unknown): void => {\n if (options.reportError) options.reportError(scope, error);\n else console.error(`[FpsGameEditor] ${scope}`, error);\n };\n const editorModuleLoader = createPlayableEditorEntryModuleLoader<TEditorModule>({\n baseUrl: options.editorModule.baseUrl,\n ...(options.editorModule.manifestUrl ? { manifestUrl: options.editorModule.manifestUrl } : {}),\n importModule: options.editorModule.importModule,\n });\n const entryPerformance = createPlayableEditorEntryPerformanceTracker({ performance: browserWindow.performance });\n const listeners = new Set<(state: FpsGameEditorLocalEditorEntryViewState) => void>();\n const retiredSwitchers = new Set<OwnedEditorSwitcher>();\n const switcherDisposals = new WeakMap<OwnedEditorSwitcher, Promise<void>>();\n let activeSwitcher: OwnedEditorSwitcher | null = null;\n let switcherLoad: Promise<OwnedEditorSwitcher> | null = null;\n let diagnostics = freezeDiagnostics();\n let editorEnterMark: PlayableEditorEntryPerformanceMark | null = null;\n let returnedToPlayWarmupTimer: number | null = null;\n let autoStartTriggered = false;\n let disposed = false;\n let disposal: Promise<void> | null = null;\n let controller!: PlayableEditorEntryController;\n\n const publishDiagnostics = (): void => {\n if (disposed) return;\n const target = browserWindow as Window & {\n __FPS_EDITOR_ENTRY_DIAGNOSTICS__?: FpsGameEditorLocalEditorEntryDiagnostics;\n };\n target.__FPS_EDITOR_ENTRY_DIAGNOSTICS__ = diagnostics;\n };\n const getEntryState = (): FpsGameEditorLocalEditorEntryViewState => Object.freeze({\n entry: controller.getState(),\n });\n const emit = (): void => {\n if (disposed) return;\n const state = getEntryState();\n for (const listener of [...listeners]) {\n try { listener(state); }\n catch (error) { reportError('editor entry listener failed', error); }\n }\n };\n const recordPerformance = (state: PlayableEditorEntryState): void => {\n if (state.phase === 'preparing') {\n editorEnterMark = entryPerformance.mark();\n diagnostics = freezeDiagnostics({ ...diagnostics, enter: null });\n publishDiagnostics();\n return;\n }\n const settled = state.phase === 'editing'\n || (state.phase === 'failed' && state.failure?.phase !== 'warmup');\n if (!settled || !editorEnterMark) return;\n const mark = editorEnterMark;\n editorEnterMark = null;\n diagnostics = freezeDiagnostics({ ...diagnostics, enter: entryPerformance.measure(mark) });\n publishDiagnostics();\n };\n\n const disposeSwitcher = (owned: OwnedEditorSwitcher): Promise<void> => {\n const active = switcherDisposals.get(owned);\n if (active) return active;\n const pending = Promise.resolve().then(() => owned.switcher.dispose());\n switcherDisposals.set(owned, pending);\n void pending.finally(() => {\n if (switcherDisposals.get(owned) === pending) switcherDisposals.delete(owned);\n }).catch(() => undefined);\n return pending;\n };\n const disposeRetiredSwitchers = async (): Promise<void> => {\n const errors: unknown[] = [];\n for (const owned of [...retiredSwitchers]) {\n try {\n await disposeSwitcher(owned);\n retiredSwitchers.delete(owned);\n } catch (error) {\n errors.push(error);\n }\n }\n throwCleanupErrors(errors, 'Retired Local Editor entry cleanup failed.');\n };\n const scheduleReplacementWarmup = (owned: OwnedEditorSwitcher): void => {\n if (activeSwitcher === owned) activeSwitcher = null;\n retiredSwitchers.add(owned);\n if (returnedToPlayWarmupTimer !== null) browserWindow.clearTimeout(returnedToPlayWarmupTimer);\n returnedToPlayWarmupTimer = browserWindow.setTimeout(() => {\n returnedToPlayWarmupTimer = null;\n if (disposed) return;\n try { controller.reset(); }\n catch (error) {\n reportError('editor entry reset after play-mode return failed', error);\n return;\n }\n void controller.start().catch(error => reportError('editor warmup after play-mode return failed', error));\n }, 0);\n };\n const ensureSwitcher = (signal: AbortSignal): Promise<OwnedEditorSwitcher> => {\n if (disposed || signal.aborted) return Promise.reject(createAbortError());\n if (activeSwitcher) return Promise.resolve(activeSwitcher);\n if (switcherLoad) return switcherLoad;\n const pending = disposeRetiredSwitchers().then(async () => {\n const mark = entryPerformance.mark();\n let editorModule: TEditorModule;\n try {\n editorModule = await editorModuleLoader.load(signal);\n } finally {\n diagnostics = freezeDiagnostics({\n build: editorModuleLoader.getManifest()?.build ?? null,\n editorModuleImportAttempt: editorModuleLoader.getImportAttempt(),\n editorModuleWarmup: entryPerformance.measure(mark),\n enter: diagnostics.enter,\n });\n publishDiagnostics();\n }\n if (disposed || signal.aborted) throw createAbortError();\n const ownership: OwnedEditorSwitcher = {\n switcher: undefined as unknown as FpsGameEditorLocalEditorEntryModeSwitcher,\n editorModeEntryAttempted: false,\n playModeEntryCompleted: false,\n };\n const switcher = await options.editorModule.mount(editorModule, {\n projectMode: {\n async enterEditorMode(context?: FpsGameEditorProjectModeContext) {\n ownership.editorModeEntryAttempted = true;\n const placement = captureRenderCanvasPlacement(browserDocument, canvasId);\n try { await options.projectMode.enterEditorMode(context); }\n finally { restoreRenderCanvasPlacement(browserDocument, placement); }\n },\n async enterPlayMode(context?: FpsGameEditorProjectModeContext) {\n await options.projectMode.enterPlayMode(context);\n ownership.playModeEntryCompleted = true;\n scheduleReplacementWarmup(ownership);\n },\n },\n getCanvas: () => readRenderCanvas(browserDocument, canvasId),\n }, signal);\n ownership.switcher = switcher;\n if (disposed || signal.aborted) {\n await disposeSwitcher(ownership);\n throw createAbortError();\n }\n activeSwitcher = ownership;\n return ownership;\n });\n switcherLoad = pending;\n void pending.finally(() => {\n if (switcherLoad === pending) switcherLoad = null;\n }).catch(() => undefined);\n return pending;\n };\n\n const backend: PlayableEditorEntryBackend<OwnedEditorSwitcher> = {\n warmup: signal => ensureSwitcher(signal).then(() => undefined),\n prepare: context => ensureSwitcher(context.signal),\n async commit(prepared, context) {\n if (prepared !== activeSwitcher) throw new Error('Prepared Local Editor switcher is no longer current.');\n await prepared.switcher.enterEditor();\n if (context.signal.aborted) throw createAbortError();\n },\n async rollback(prepared) {\n const errors: unknown[] = [];\n try {\n await disposeSwitcher(prepared);\n retiredSwitchers.delete(prepared);\n if (activeSwitcher === prepared) activeSwitcher = null;\n } catch (error) {\n errors.push(error);\n }\n if (prepared.editorModeEntryAttempted && !prepared.playModeEntryCompleted) {\n try {\n await options.projectMode.enterPlayMode({ reason: 'editor-entry-rollback' });\n prepared.playModeEntryCompleted = true;\n } catch (error) {\n errors.push(error);\n }\n }\n throwCleanupErrors(errors, 'Local Editor entry rollback failed.');\n },\n async dispose() {\n const pending = switcherLoad;\n await Promise.allSettled(pending ? [pending] : []);\n const errors: unknown[] = [];\n if (activeSwitcher) {\n const owned = activeSwitcher;\n try {\n await disposeSwitcher(owned);\n if (activeSwitcher === owned) activeSwitcher = null;\n } catch (error) {\n errors.push(error);\n }\n }\n try { await disposeRetiredSwitchers(); }\n catch (error) { errors.push(error); }\n throwCleanupErrors(errors, 'Local Editor entry cleanup failed.');\n },\n };\n\n controller = createPlayableEditorEntryController({\n backend,\n reportFailure: ({ failure, cause, rollbackCause }) => {\n reportError(\n `editor entry ${failure.code}`,\n rollbackCause === undefined ? cause : createCollectedError(failure.message, [cause, rollbackCause]),\n );\n },\n reportListenerError: error => reportError('editor entry listener failed', error),\n });\n const unsubscribeController = controller.subscribe(state => {\n recordPerformance(state);\n emit();\n });\n publishDiagnostics();\n\n const host: FpsGameEditorLocalEditorEntry = {\n start: () => controller.start(),\n enterEditor: () => controller.enter(),\n retryEditorEntry: () => controller.retry(),\n getEntryState,\n getDiagnostics: () => diagnostics,\n subscribe(listener) {\n if (disposed) return () => undefined;\n listeners.add(listener);\n listener(getEntryState());\n return () => listeners.delete(listener);\n },\n dispose() {\n if (disposal) return disposal;\n disposed = true;\n const pending = (async () => {\n browserWindow.removeEventListener('beforeunload', disposeForUnload);\n browserDocument.removeEventListener('DOMContentLoaded', startWhenReady);\n if (returnedToPlayWarmupTimer !== null) {\n browserWindow.clearTimeout(returnedToPlayWarmupTimer);\n returnedToPlayWarmupTimer = null;\n }\n disposeEntryButton();\n unsubscribeController();\n listeners.clear();\n delete (browserWindow as Window & {\n __FPS_EDITOR_ENTRY_DIAGNOSTICS__?: FpsGameEditorLocalEditorEntryDiagnostics;\n }).__FPS_EDITOR_ENTRY_DIAGNOSTICS__;\n const errors: unknown[] = [];\n try { await controller.dispose(); } catch (error) { errors.push(error); }\n errors.push(...await retryFpsGameEditorDeferredProductCleanups());\n throwCleanupErrors(errors, 'Local Editor Entry cleanup failed.');\n })();\n disposal = pending;\n void pending.catch(() => { if (disposal === pending) disposal = null; });\n return pending;\n },\n };\n\n const disposeEntryButton = options.browser?.showEntryButton === false\n ? () => undefined\n : mountEntryButton(host, browserWindow, browserDocument, options.browser?.root, entryContent, reportError);\n const startWhenReady = (): void => {\n if (disposed || autoStartTriggered) return;\n autoStartTriggered = true;\n browserDocument.removeEventListener('DOMContentLoaded', startWhenReady);\n const operation = initialMode === 'edit' && initialModeIntent === 'fresh'\n ? host.enterEditor()\n : host.start();\n void operation.catch(error => reportError('local editor entry start failed', error));\n };\n const disposeForUnload = (): void => {\n void host.dispose().catch(error => reportError('local editor entry dispose failed', error));\n };\n browserWindow.addEventListener('beforeunload', disposeForUnload);\n if (options.browser?.autoStart !== false) {\n if (browserDocument.readyState === 'loading') {\n browserDocument.addEventListener('DOMContentLoaded', startWhenReady, { once: true });\n browserWindow.queueMicrotask(startWhenReady);\n } else {\n startWhenReady();\n }\n }\n return host;\n}\n\nfunction mountEntryButton(\n host: FpsGameEditorLocalEditorEntry,\n browserWindow: Window,\n browserDocument: Document,\n explicitRoot: HTMLElement | undefined,\n content: FpsGameEditorLocalEditorEntryContent,\n reportError: (scope: string, error: unknown) => void,\n): () => void {\n browserDocument.getElementById('fps-game-editor-entry')?.remove();\n const button = browserDocument.createElement('button');\n button.id = 'fps-game-editor-entry';\n button.type = 'button';\n button.style.cssText = [\n 'position:fixed', 'top:14px', 'right:16px', 'z-index:2147482604', 'height:32px',\n 'min-width:104px', 'padding:0 12px', 'border:1px solid #aee7c2', 'border-radius:999px',\n 'background:#e1f8e8', 'color:#2f6f52',\n 'font:800 12px system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif',\n 'box-shadow:0 8px 20px rgba(15,23,42,.18)', 'white-space:nowrap', 'user-select:none',\n ].join(';');\n let presentation = resolveFpsGameEditorLocalEditorEntryPresentation(host.getEntryState(), content);\n const render = (state: FpsGameEditorLocalEditorEntryViewState): void => {\n presentation = resolveFpsGameEditorLocalEditorEntryPresentation(state, content);\n button.disabled = presentation.disabled;\n button.textContent = presentation.label;\n button.title = presentation.title;\n button.style.opacity = presentation.disabled ? '.72' : '1';\n button.style.cursor = presentation.disabled ? 'default' : 'pointer';\n if (presentation.hidden) button.remove();\n else if (!button.isConnected) (explicitRoot ?? browserDocument.body)?.append(button);\n };\n const unsubscribe = host.subscribe(render);\n const onClick = (): void => {\n const operation = presentation.action === 'enter'\n ? host.enterEditor()\n : presentation.action === 'retry'\n ? host.retryEditorEntry()\n : presentation.action === 'reload'\n ? Promise.resolve(browserWindow.location.reload())\n : Promise.resolve();\n void operation.catch(error => reportError('editor entry action failed', error));\n };\n button.addEventListener('click', onClick);\n return () => {\n unsubscribe();\n button.removeEventListener('click', onClick);\n button.remove();\n };\n}\n\nexport function resolveFpsGameEditorLocalEditorEntryPresentation(\n state: FpsGameEditorLocalEditorEntryViewState,\n content: FpsGameEditorLocalEditorEntryContent,\n): FpsGameEditorLocalEditorEntryPresentation {\n switch (state.entry.phase) {\n case 'idle':\n case 'warming': return presentation('none', true, false, content.preparingEditor);\n case 'ready': return presentation('enter', false, false, content.enterEditor);\n case 'preparing': return presentation('none', true, false, content.checkingEditor);\n case 'committing': return presentation('none', true, false, content.enteringEditor);\n case 'rolling-back': return presentation('none', true, false, content.restoringPlayMode);\n case 'failed': return state.entry.failure?.recoverable\n ? presentation('retry', false, false, content.retryEditor, state.entry.failure.message)\n : presentation('reload', false, false, content.reloadPage, state.entry.failure?.message);\n case 'editing':\n case 'disposed': return presentation('none', true, true, content.enterEditor);\n }\n return presentation('none', true, true, content.enterEditor);\n}\n\nfunction presentation(\n action: EntryButtonAction,\n disabled: boolean,\n hidden: boolean,\n label: string,\n title = label,\n): FpsGameEditorLocalEditorEntryPresentation {\n return Object.freeze({ action, disabled, hidden, label, title });\n}\n\nfunction freezeDiagnostics(\n value: Partial<FpsGameEditorLocalEditorEntryDiagnostics> = {},\n): FpsGameEditorLocalEditorEntryDiagnostics {\n return Object.freeze({\n build: value.build ?? null,\n editorModuleImportAttempt: value.editorModuleImportAttempt ?? 0,\n editorModuleWarmup: value.editorModuleWarmup ?? null,\n enter: value.enter ?? null,\n });\n}\n\nfunction captureRenderCanvasPlacement(documentValue: Document, canvasId: string) {\n const canvas = readRenderCanvas(documentValue, canvasId);\n if (!canvas?.parentNode) return null;\n return { canvas, parent: canvas.parentNode, nextSibling: canvas.nextSibling };\n}\n\nfunction restoreRenderCanvasPlacement(\n documentValue: Document,\n placement: ReturnType<typeof captureRenderCanvasPlacement>,\n): void {\n if (!placement || placement.canvas.isConnected) return;\n const parent = placement.parent.isConnected ? placement.parent : documentValue.body;\n const nextSibling = placement.nextSibling?.parentNode === parent ? placement.nextSibling : null;\n parent.insertBefore(placement.canvas, nextSibling);\n}\n\nfunction readRenderCanvas(documentValue: Document, canvasId: string): HTMLCanvasElement | null {\n const value = documentValue.getElementById(canvasId);\n const Canvas = documentValue.defaultView?.HTMLCanvasElement;\n if (Canvas) return value instanceof Canvas ? value : null;\n return value?.tagName === 'CANVAS' ? value as HTMLCanvasElement : null;\n}\n\nfunction createCollectedError(message: string, errors: readonly unknown[]): Error {\n return Object.assign(new Error(message), { errors: [...errors] });\n}\n\nfunction throwCleanupErrors(errors: readonly unknown[], message: string): void {\n if (errors.length === 1) throw errors[0];\n if (errors.length > 1) throw createCollectedError(message, errors);\n}\n\nfunction createAbortError(): Error {\n return Object.assign(new Error('Local Editor Entry was disposed.'), { name: 'AbortError' });\n}\n"]}
@@ -3,9 +3,9 @@ import { type FpsEditorPluginHost } from '@fps-games/editor-core/plugin-host';
3
3
  import type { FpsEditorLifecycleService } from '@fps-games/editor-core/lifecycle';
4
4
  import type { BabylonEditorProjectionSelectionEdgesPrewarm } from '@fps-games/editor-babylon';
5
5
  import type { LocalEditorBrowserProjectFileContent, LocalEditorBrowserProjectFileSnapshot, LocalEditorBrowserProjectMediaSource } from '@fps-games/editor-browser';
6
- import type { ArtistMaterialTextureRef, EditorAgentContextSemantics, EditorDiagnostic, EditorDiagnosticLocator, EditorDiagnosticPhase, SpatialMarkerGraph, SpatialMarkerNode, SpatialMarkerTypeDefinition, SpatialRelationTypeDefinition } from '@fps-games/editor-protocol';
6
+ import type { ArtistMaterialTextureRef, EditorDiagnostic, EditorDiagnosticLocator, EditorDiagnosticPhase, SpatialMarkerGraph, SpatialMarkerNode, SpatialMarkerTypeDefinition, SpatialRelationTypeDefinition } from '@fps-games/editor-protocol';
7
7
  import { type FpsGameEditorProjectDefinition, type PlayableForgePlayModeBridge, type PlayableForgePlayDocumentExportResult, type PlayableForgePlaySaveState, type PlayableForgePlayWindowLike, type PlayableLocalEditorHostBridgeContext, type PlayableLocalEditorHostLoadingContent, type PlayableLocalEditorInteractionPolicy, type PlayableLocalEditorDocumentOperationExecutor, type PlayableLocalEditorSaveFailureState, type PlayableLocalEditorUnsavedChangesState } from '@fps-games/editor-playable-sdk';
8
- import { type LocalEditorHarnessHistoryOperation, type LocalEditorHarnessHistoryOperationOptions, type LocalEditorHarnessHistoryOperationResult, type LocalEditorHarnessHistoryProjectionResult, type LocalEditorHarnessHistoryStateResult, type LocalEditorHarnessHierarchyOperationRegistration, type LocalEditorMarkerGraphCommand, type LocalEditorHarnessOptions, type LocalEditorHarnessOperationOrigin, type LocalEditorHarnessProjectionWaitPolicy } from './local-editor-harness.js';
8
+ import { type LocalEditorHarnessHistoryOperation, type LocalEditorHarnessHistoryOperationOptions, type LocalEditorHarnessHistoryOperationResult, type LocalEditorHarnessHistoryProjectionResult, type LocalEditorHarnessHistoryStateResult, type LocalEditorHarnessHierarchyOperationRegistration, type LocalEditorMarkerGraphCommand, type LocalEditorHarnessOperationOrigin, type LocalEditorHarnessProjectionWaitPolicy } from './local-editor-harness.js';
9
9
  export declare const PLAYABLE_LOCAL_EDITOR_HOST_MANIFEST_VERSION: 2;
10
10
  /**
11
11
  * Frozen required contract for playable local editor host manifests.
@@ -187,31 +187,6 @@ export interface PlayableLocalEditorPrefabStageContext {
187
187
  export interface PlayableLocalEditorHierarchyActionsCapability<TDocument, TPatch = unknown> {
188
188
  operations?: readonly LocalEditorHarnessHierarchyOperationRegistration<TDocument, TPatch>[];
189
189
  }
190
- export interface PlayableLocalEditorAgentContextObjectInput<TDocument = unknown> {
191
- document: TDocument;
192
- objectId: string;
193
- targetIds: string[];
194
- activeId: string | null;
195
- contextNodeId: string | null;
196
- hierarchyItem: unknown | null;
197
- hierarchyItems: readonly unknown[];
198
- projectionNode: unknown | null | undefined;
199
- }
200
- export interface PlayableLocalEditorAgentContextObjectSetInput<TDocument = unknown> {
201
- document: TDocument;
202
- objectIds: string[];
203
- activeId: string | null;
204
- hierarchyItems: readonly unknown[];
205
- projectionNodes: Record<string, unknown | null | undefined>;
206
- }
207
- export interface PlayableLocalEditorAgentContextRegionBindingInput<TDocument = unknown> extends PlayableLocalEditorAgentContextObjectSetInput<TDocument> {
208
- relationshipType: 'selection-region';
209
- }
210
- export interface PlayableLocalEditorAgentContextCapability<TDocument> {
211
- describeSceneObject?(input: PlayableLocalEditorAgentContextObjectInput<TDocument>): EditorAgentContextSemantics | null | undefined;
212
- describeSceneObjectSet?(input: PlayableLocalEditorAgentContextObjectSetInput<TDocument>): EditorAgentContextSemantics | null | undefined;
213
- describeRegionBinding?(input: PlayableLocalEditorAgentContextRegionBindingInput<TDocument>): EditorAgentContextSemantics | null | undefined;
214
- }
215
190
  export interface PlayableLocalEditorDocumentLifecycleCapability<TDocument, TAsset = unknown> {
216
191
  cloneDocument?(document: TDocument): TDocument;
217
192
  compareDocuments?(left: TDocument, right: TDocument): boolean;
@@ -361,7 +336,6 @@ export interface PlayableLocalEditorHostCapabilities<TDocument, TPatch, TAsset =
361
336
  rendering?: PlayableLocalEditorRenderingCapability<TDocument, TPatch>;
362
337
  prefabStage?: PlayableLocalEditorPrefabStageCapability<TDocument, TAsset>;
363
338
  hierarchyActions?: PlayableLocalEditorHierarchyActionsCapability<TDocument, TPatch>;
364
- agentContext?: PlayableLocalEditorAgentContextCapability<TDocument>;
365
339
  }
366
340
  export interface PlayableLocalEditorDocumentCapability<TDocument, TPatch, TAsset = unknown> {
367
341
  reduceDocument(document: TDocument, command: any): TDocument;
@@ -525,7 +499,6 @@ export interface PlayableLocalEditorHostManifest<TDocument, TPatch, TAsset = unk
525
499
  capabilities?: PlayableLocalEditorHostCapabilities<TDocument, TPatch, TAsset>;
526
500
  persistenceAdapter: PlayableLocalEditorPersistenceCapability<TDocument, TAsset>;
527
501
  worldAdapter: PlayableLocalEditorWorldCapability<TAsset>;
528
- agentBridge?: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>['agentBridge'];
529
502
  world?: PlayableLocalEditorWorldOptions;
530
503
  createGrid?: PlayableLocalEditorGridFactory;
531
504
  lifecycle: {
@@ -561,11 +534,9 @@ export interface PlayableLocalEditorHost<TDocument = unknown> {
561
534
  getCompatibilityReport(): PlayableLocalEditorHostCompatibilityReport;
562
535
  dispose(): Promise<void>;
563
536
  }
564
- export interface FpsGameEditorLocalEditorHostOptions<TDocument, TPatch, TAsset = unknown> extends Omit<PlayableLocalEditorHostManifest<TDocument, TPatch, TAsset>, 'metadata' | 'agentBridge'> {
537
+ export interface FpsGameEditorLocalEditorHostOptions<TDocument, TPatch, TAsset = unknown> extends Omit<PlayableLocalEditorHostManifest<TDocument, TPatch, TAsset>, 'metadata'> {
565
538
  project: Pick<FpsGameEditorProjectDefinition, 'projectId' | 'projectName'>;
566
539
  compatibilityTag?: string;
567
- agentBridgeSessionMetadata?: Record<string, unknown>;
568
- agentBridge?: PlayableLocalEditorHostManifest<TDocument, TPatch, TAsset>['agentBridge'];
569
540
  logCompatibilityReport?: boolean;
570
541
  logger?: Pick<Console, 'warn' | 'error'>;
571
542
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playable-local-editor-host.d.ts","sourceRoot":"","sources":["../src/playable-local-editor-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playable-local-editor-host.d.ts","sourceRoot":"","sources":["../src/playable-local-editor-host.ts"],"names":[],"mappings":"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"}