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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/dist/build-info.json +44 -44
  2. package/dist/editor-commands/capabilities/assets.d.ts +8 -0
  3. package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
  4. package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
  5. package/dist/editor-commands/capabilities/assets.js.map +1 -0
  6. package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
  7. package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
  8. package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
  9. package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
  10. package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
  11. package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
  12. package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
  13. package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
  14. package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
  15. package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
  16. package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
  17. package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
  18. package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
  19. package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
  20. package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
  21. package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
  22. package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
  23. package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
  24. package/dist/editor-commands/capabilities/scene-objects.js +480 -0
  25. package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
  26. package/dist/editor-commands/capabilities/selection.d.ts +5 -0
  27. package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
  28. package/dist/editor-commands/capabilities/selection.js +60 -0
  29. package/dist/editor-commands/capabilities/selection.js.map +1 -0
  30. package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
  31. package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
  32. package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
  33. package/dist/editor-commands/capabilities/shadows.js.map +1 -0
  34. package/dist/editor-commands/capabilities/transform.d.ts +5 -0
  35. package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
  36. package/dist/editor-commands/capabilities/transform.js +164 -0
  37. package/dist/editor-commands/capabilities/transform.js.map +1 -0
  38. package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
  39. package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
  40. package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
  41. package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
  42. package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
  43. package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
  44. package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
  45. package/dist/editor-commands/capabilities/viewport.js.map +1 -0
  46. package/dist/editor-commands/command-sources.d.ts +7 -0
  47. package/dist/editor-commands/command-sources.d.ts.map +1 -0
  48. package/dist/editor-commands/command-sources.js +34 -0
  49. package/dist/editor-commands/command-sources.js.map +1 -0
  50. package/dist/editor-commands/diagnostics.d.ts +12 -0
  51. package/dist/editor-commands/diagnostics.d.ts.map +1 -0
  52. package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
  53. package/dist/editor-commands/diagnostics.js.map +1 -0
  54. package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
  55. package/dist/editor-commands/index.d.ts.map +1 -0
  56. package/dist/{agent-bridge → editor-commands}/index.js +1 -1
  57. package/dist/editor-commands/index.js.map +1 -0
  58. package/dist/editor-commands/register.d.ts +4 -0
  59. package/dist/editor-commands/register.d.ts.map +1 -0
  60. package/dist/{agent-bridge → editor-commands}/register.js +323 -286
  61. package/dist/editor-commands/register.js.map +1 -0
  62. package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
  63. package/dist/editor-commands/shared.d.ts.map +1 -0
  64. package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
  65. package/dist/editor-commands/shared.js.map +1 -0
  66. package/dist/editor-commands/source-types.d.ts +110 -0
  67. package/dist/editor-commands/source-types.d.ts.map +1 -0
  68. package/dist/editor-commands/source-types.js.map +1 -0
  69. package/dist/editor-plugin-commands.d.ts +4 -0
  70. package/dist/editor-plugin-commands.d.ts.map +1 -0
  71. package/dist/editor-plugin-commands.js +18 -0
  72. package/dist/editor-plugin-commands.js.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/local-editor-commands.d.ts +2 -0
  78. package/dist/local-editor-commands.d.ts.map +1 -0
  79. package/dist/local-editor-commands.js +2 -0
  80. package/dist/local-editor-commands.js.map +1 -0
  81. package/dist/local-editor-harness.d.ts +35 -21
  82. package/dist/local-editor-harness.d.ts.map +1 -1
  83. package/dist/local-editor-harness.js +1721 -367
  84. package/dist/local-editor-harness.js.map +1 -1
  85. package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
  86. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
  87. package/dist/local-editor-prefab-stage-transaction.js +6 -5
  88. package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
  89. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  90. package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
  91. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  92. package/dist/playable-local-editor-entry.d.ts +10 -0
  93. package/dist/playable-local-editor-entry.d.ts.map +1 -1
  94. package/dist/playable-local-editor-entry.js +10 -2
  95. package/dist/playable-local-editor-entry.js.map +1 -1
  96. package/dist/playable-local-editor-host.d.ts +3 -32
  97. package/dist/playable-local-editor-host.d.ts.map +1 -1
  98. package/dist/playable-local-editor-host.js +6 -70
  99. package/dist/playable-local-editor-host.js.map +1 -1
  100. package/dist/playable-product-local-editor.d.ts +1 -2
  101. package/dist/playable-product-local-editor.d.ts.map +1 -1
  102. package/dist/playable-product-local-editor.js +0 -1
  103. package/dist/playable-product-local-editor.js.map +1 -1
  104. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  105. package/dist/playable-product-projection-preview.js +1 -1
  106. package/dist/playable-product-projection-preview.js.map +1 -1
  107. package/dist/playable-product-scene-capabilities.d.ts +0 -2
  108. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  109. package/dist/playable-product-scene-capabilities.js +33 -6
  110. package/dist/playable-product-scene-capabilities.js.map +1 -1
  111. package/dist/playable-runtime-babylon.d.ts +4 -0
  112. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  113. package/dist/playable-runtime-babylon.js +4 -0
  114. package/dist/playable-runtime-babylon.js.map +1 -1
  115. package/dist/playable-sdk.d.ts +1 -1
  116. package/dist/playable-sdk.d.ts.map +1 -1
  117. package/dist/playable-sdk.js.map +1 -1
  118. package/dist/playable-standard-project.d.ts +0 -2
  119. package/dist/playable-standard-project.d.ts.map +1 -1
  120. package/dist/playable-standard-project.js +1 -2
  121. package/dist/playable-standard-project.js.map +1 -1
  122. package/dist/project-service-projection.d.ts +16 -0
  123. package/dist/project-service-projection.d.ts.map +1 -0
  124. package/dist/project-service-projection.js +67 -0
  125. package/dist/project-service-projection.js.map +1 -0
  126. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
  127. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  128. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
  129. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  130. package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
  137. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/package.json +6 -6
  142. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
  143. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
  144. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
  145. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  177. package/node_modules/@fps-games/editor-browser/package.json +7 -7
  178. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
  179. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
  180. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
  182. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
  183. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
  184. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
  186. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
  187. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
  188. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
  189. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
  190. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
  191. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
  192. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
  193. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
  194. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
  195. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
  196. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
  197. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
  198. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
  199. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
  201. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
  203. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
  204. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
  205. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
  206. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
  207. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
  208. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
  209. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
  210. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
  211. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
  213. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  214. package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
  215. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
  217. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  218. package/node_modules/@fps-games/editor-core/package.json +6 -6
  219. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
  220. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
  222. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  223. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  341. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
  342. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
  344. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
  345. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
  346. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
  348. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
  349. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
  350. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
  352. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
  353. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
  354. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
  356. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
  357. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
  358. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  359. package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
  360. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  361. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  362. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  363. package/node_modules/@fps-games/editor-ui/package.json +1 -1
  364. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  365. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  366. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  367. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  368. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  369. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  370. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  371. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  372. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  373. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  374. package/node_modules/@fps-games/plugin-assets/package.json +6 -6
  375. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
  376. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
  377. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
  378. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
  379. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
  380. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
  381. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
  382. package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
  383. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  384. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  385. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  386. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  387. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  388. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  389. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  390. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  391. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  392. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  393. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  394. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  395. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  396. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  397. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  398. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  399. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  400. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
  401. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
  402. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
  403. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
  404. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  405. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  406. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  407. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  408. package/package.json +23 -23
  409. package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
  410. package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
  411. package/dist/agent-bridge/capabilities/assets.js.map +0 -1
  412. package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
  413. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
  414. package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
  415. package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
  416. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
  417. package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
  418. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
  419. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
  420. package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
  421. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
  422. package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
  423. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
  424. package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
  425. package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
  426. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
  427. package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
  428. package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
  429. package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
  430. package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
  431. package/dist/agent-bridge/capabilities/selection.js +0 -60
  432. package/dist/agent-bridge/capabilities/selection.js.map +0 -1
  433. package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
  434. package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
  435. package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
  436. package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
  437. package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
  438. package/dist/agent-bridge/capabilities/transform.js +0 -164
  439. package/dist/agent-bridge/capabilities/transform.js.map +0 -1
  440. package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
  441. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
  442. package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
  443. package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
  444. package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
  445. package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
  446. package/dist/agent-bridge/capability-sources.d.ts +0 -7
  447. package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
  448. package/dist/agent-bridge/capability-sources.js +0 -34
  449. package/dist/agent-bridge/capability-sources.js.map +0 -1
  450. package/dist/agent-bridge/diagnostics.d.ts +0 -12
  451. package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
  452. package/dist/agent-bridge/diagnostics.js.map +0 -1
  453. package/dist/agent-bridge/index.d.ts.map +0 -1
  454. package/dist/agent-bridge/index.js.map +0 -1
  455. package/dist/agent-bridge/register.d.ts +0 -4
  456. package/dist/agent-bridge/register.d.ts.map +0 -1
  457. package/dist/agent-bridge/register.js.map +0 -1
  458. package/dist/agent-bridge/shared.d.ts.map +0 -1
  459. package/dist/agent-bridge/shared.js.map +0 -1
  460. package/dist/agent-bridge/source-types.d.ts +0 -110
  461. package/dist/agent-bridge/source-types.d.ts.map +0 -1
  462. package/dist/agent-bridge/source-types.js.map +0 -1
  463. package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
  464. package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
  465. package/dist/editor-plugin-agent-capabilities.js +0 -64
  466. package/dist/editor-plugin-agent-capabilities.js.map +0 -1
  467. package/dist/local-editor-agent-actions.d.ts +0 -43
  468. package/dist/local-editor-agent-actions.d.ts.map +0 -1
  469. package/dist/local-editor-agent-actions.js +0 -321
  470. package/dist/local-editor-agent-actions.js.map +0 -1
  471. package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
  472. package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
  473. package/dist/local-editor-agent-bridge-transport.js +0 -403
  474. package/dist/local-editor-agent-bridge-transport.js.map +0 -1
  475. package/dist/local-editor-agent-bridge.d.ts +0 -2
  476. package/dist/local-editor-agent-bridge.d.ts.map +0 -1
  477. package/dist/local-editor-agent-bridge.js +0 -2
  478. package/dist/local-editor-agent-bridge.js.map +0 -1
  479. package/dist/local-editor-agent-context.d.ts +0 -68
  480. package/dist/local-editor-agent-context.d.ts.map +0 -1
  481. package/dist/local-editor-agent-context.js +0 -716
  482. package/dist/local-editor-agent-context.js.map +0 -1
  483. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
  484. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
  485. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
  486. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
  487. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
  488. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
  489. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
  490. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
  491. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
  492. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
  493. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
  494. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
  503. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
  504. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
  505. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
  506. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
  507. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
  511. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
  513. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
  514. /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-editor-service.js","sourceRoot":"","sources":["../../src/vite/project-editor-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { readFile } from 'node:fs/promises';\nimport path from 'node:path';\nimport {\n createEditorAuthoringHost,\n createEditorCommandObservabilityStore,\n createEditorSession,\n type EditorAuthoringHost,\n type EditorCommandHandlerContext,\n type EditorCommandHandlerOutcome,\n} from '@fps-games/editor-core';\nimport {\n EDITOR_COMMAND_BUILT_IN_METADATA,\n EDITOR_COMMAND_BUILT_IN_PRESENTATION,\n EDITOR_COMMAND_BUILT_IN_TARGETS,\n EDITOR_COMMAND_ID,\n EDITOR_COMMAND_SCHEMAS,\n EDITOR_COMMAND_SCHEMA_VERSION,\n type EditorCommandJsonObject,\n type EditorCommandManifest,\n type EditorServiceDocumentExportArtifact,\n} from '@fps-games/editor-protocol';\nimport type {\n EditorSceneAsset,\n EditorSceneAssetLibraryItem,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorScenePrefabMutationResult,\n EditorScenePrefabNode,\n EditorSceneTransformTrsComponent,\n} from '../document/index';\nimport {\n createEditorScenePrefabGroupNode,\n createEditorScenePrefabNodeFromAsset,\n createEditorScenePrefabPrimitiveNode,\n deleteEditorScenePrefabNode,\n findEditorScenePrefabAsset,\n findEditorScenePrefabNode,\n readEditorScenePrefabNodes,\n readEditorScenePrefabRootNodeId,\n renameEditorScenePrefabAsset,\n renameEditorScenePrefabNode,\n reparentEditorScenePrefabNode,\n setEditorScenePrefabNodeTransform,\n} from '../document/index';\nimport type { FpsGameEditorProjectDefinition } from '../product/index';\nimport { registerFpsGameEditorStandardAuthoringCommands } from '../product/standard-authoring-commands';\nimport { getFpsGameEditorProjectAuthoringBackend } from './project-authoring-backend';\nimport type { ViteDevServer } from 'vite';\n\ntype ProjectDocument = EditorSceneDocument<EditorSceneGameObject> & Record<string, unknown>;\ntype ProjectPatch = { kind: 'replace'; document: ProjectDocument };\ntype PreparedProjectExport = EditorServiceDocumentExportArtifact<ProjectDocument>;\ninterface ProjectAuthoringSourceCursor {\n sourceId: string;\n sourceType: string;\n revision: number;\n}\n\nexport interface FpsGameEditorProjectServiceAuthority {\n readonly host: EditorAuthoringHost<ProjectDocument, ProjectPatch>;\n readonly readTraces: ReturnType<typeof createEditorCommandObservabilityStore>['read'];\n readonly recordOperation: ReturnType<typeof createEditorCommandObservabilityStore>['recordOperation'];\n readDocumentExport(transactionId: string): PreparedProjectExport | null;\n bindBrowserCommandForwarder(\n forwarder: (\n context: EditorCommandHandlerContext,\n target: 'view' | 'renderer',\n ) => Promise<EditorCommandHandlerOutcome<unknown>>,\n ): () => void;\n dispose(): Promise<void>;\n}\n\nexport interface CreateFpsGameEditorProjectServiceAuthorityOptions {\n readonly projectRoot: string;\n readonly project?: FpsGameEditorProjectDefinition;\n readonly serviceInstanceId: string;\n readonly server: ViteDevServer;\n}\n\nexport async function createFpsGameEditorProjectServiceAuthority(\n options: CreateFpsGameEditorProjectServiceAuthorityOptions,\n): Promise<FpsGameEditorProjectServiceAuthority> {\n const document = await loadInitialDocument(options);\n const session = createEditorSession<ProjectDocument, ProjectPatch>({\n persistedDocument: document,\n reduceDocument(current, command) {\n if (command.type === 'document.replace') return command.document;\n return command.patch?.kind === 'replace' ? command.patch.document : current;\n },\n isDocumentStructureChange: command => command.type === 'document.replace'\n || command.type === 'document.patch',\n });\n const observability = createEditorCommandObservabilityStore();\n let browserCommandForwarder: ((\n context: EditorCommandHandlerContext,\n target: 'view' | 'renderer',\n ) => Promise<EditorCommandHandlerOutcome<unknown>>) | null = null;\n const host = createEditorAuthoringHost({\n serviceInstanceId: options.serviceInstanceId,\n session,\n commandSystemOptions: {\n onOperationSettled: event => observability.recordOperation(event),\n },\n });\n const disposeCommands: Array<() => void> = [];\n const preparedExports = new Map<string, PreparedProjectExport>();\n try {\n disposeCommands.push(registerFpsGameEditorStandardAuthoringCommands({\n host,\n listAssets: async () => listProjectAssets(options.server, host.getSnapshot().document),\n sceneAssembly: createGenericSceneAssembly() as never,\n }));\n disposeCommands.push(registerProjectPrefabAuthoringCommands(host));\n disposeCommands.push(registerProjectViewCommands(host, (context, target) => (\n browserCommandForwarder\n ? browserCommandForwarder(context, target)\n : Promise.resolve(commandFailure(\n target === 'renderer' ? 'renderer.sessionUnavailable' : 'view.sessionUnavailable',\n `Command requires a Browser attachment: ${context.commandId}`,\n ))\n )));\n disposeCommands.push(registerProjectDocumentCommands(host, options.server, preparedExports));\n } catch (error) {\n for (const dispose of disposeCommands.splice(0).reverse()) dispose();\n host.dispose();\n await host.drain();\n throw error;\n }\n return Object.freeze({\n host,\n readTraces: observability.read,\n recordOperation: observability.recordOperation,\n readDocumentExport(transactionId: string) {\n const prepared = preparedExports.get(transactionId);\n return prepared ? structuredClone(prepared) : null;\n },\n bindBrowserCommandForwarder(forwarder: (\n context: EditorCommandHandlerContext,\n target: 'view' | 'renderer',\n ) => Promise<EditorCommandHandlerOutcome<unknown>>) {\n if (browserCommandForwarder) throw new Error('Browser command forwarder is already bound.');\n browserCommandForwarder = forwarder;\n let active = true;\n return () => {\n if (!active) return;\n active = false;\n if (browserCommandForwarder === forwarder) browserCommandForwarder = null;\n };\n },\n async dispose() {\n browserCommandForwarder = null;\n preparedExports.clear();\n for (const dispose of disposeCommands.splice(0).reverse()) dispose();\n host.dispose();\n await host.drain();\n observability.clear();\n },\n });\n}\n\nasync function loadInitialDocument(\n options: CreateFpsGameEditorProjectServiceAuthorityOptions,\n): Promise<ProjectDocument> {\n const backend = getFpsGameEditorProjectAuthoringBackend(options.server);\n if (backend) return normalizeDocument(await backend.loadEditorScene());\n const configuredPath = options.project?.source.editorScene ?? 'src/config/editor-scene.json';\n try {\n const source = await readFile(path.resolve(options.projectRoot, configuredPath), 'utf8');\n return normalizeDocument(JSON.parse(source));\n } catch (error) {\n if (options.project) throw error;\n return normalizeDocument({ schemaVersion: 1, assets: [], scene: { gameObjects: [] } });\n }\n}\n\nfunction normalizeDocument(value: unknown): ProjectDocument {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error('Project Editor Service expected the editor scene to be a JSON object.');\n }\n const document = structuredClone(value) as Record<string, unknown>;\n const scene = document.scene;\n if (!scene || typeof scene !== 'object' || Array.isArray(scene)) {\n throw new Error('Project Editor Service expected scene.gameObjects.');\n }\n const gameObjects = (scene as Record<string, unknown>).gameObjects;\n if (!Array.isArray(gameObjects)) throw new Error('Project Editor Service expected scene.gameObjects to be an array.');\n if (!Array.isArray(document.assets)) document.assets = [];\n return document as ProjectDocument;\n}\n\nasync function listProjectAssets(\n server: ViteDevServer,\n document: ProjectDocument,\n): Promise<EditorSceneAssetLibraryItem[]> {\n const backend = getFpsGameEditorProjectAuthoringBackend(server);\n const values = backend ? await backend.listEditorAssets() : document.assets;\n return (Array.isArray(values) ? values : [])\n .map((value, index) => normalizeAsset(value, index))\n .filter((value): value is EditorSceneAssetLibraryItem => value !== null);\n}\n\nfunction normalizeAsset(value: unknown, index: number): EditorSceneAssetLibraryItem | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const record = value as Record<string, unknown>;\n const assetId = readString(record.assetId) ?? readString(record.id);\n if (!assetId) return null;\n return {\n ...record,\n id: readString(record.id) ?? assetId,\n assetId,\n type: readString(record.type) ?? 'glb',\n kind: readString(record.kind) ?? 'model',\n displayName: readString(record.displayName) ?? readString(record.label) ?? assetId,\n origin: readString(record.origin) ?? 'project',\n dedupeKey: readString(record.dedupeKey) ?? `project:${assetId}:${index}`,\n placeable: record.placeable !== false,\n } as unknown as EditorSceneAssetLibraryItem;\n}\n\nfunction createGenericSceneAssembly() {\n return {\n getHierarchyItems(document: ProjectDocument) {\n return document.scene.gameObjects.map(object => ({\n id: object.id,\n label: object.name ?? object.id,\n ...(object.parentId ? { parentId: object.parentId } : {}),\n }));\n },\n createCreatePrimitivePatch(document: ProjectDocument, input: { shape: string; parentId?: string; name?: string }) {\n const next = structuredClone(document);\n const id = uniqueObjectId(next, `primitive_${input.shape}`);\n const created = createBaseObject(id, input.name ?? titleCase(input.shape), input.parentId);\n created.kind = 'primitive';\n (created as unknown as Record<string, unknown>).primitive = { shape: input.shape };\n next.scene.gameObjects.push(created);\n return {\n patch: { kind: 'replace' as const, document: next },\n label: `Create ${input.shape}`,\n changedIds: [id],\n createdId: id,\n selectId: id,\n };\n },\n createDeleteSubtreePatch(document: ProjectDocument, input: { ids: string[] }) {\n const protectedIds = new Set(['root', 'main_camera', 'environment_light', 'sun_light']);\n const roots = new Set(input.ids.filter(id => !protectedIds.has(id)));\n if (roots.size === 0) return null;\n const deleted = new Set(roots);\n let changed = true;\n while (changed) {\n changed = false;\n for (const object of document.scene.gameObjects) {\n if (object.parentId && deleted.has(object.parentId) && !deleted.has(object.id)) {\n deleted.add(object.id);\n changed = true;\n }\n }\n }\n const next = structuredClone(document);\n next.scene.gameObjects = next.scene.gameObjects.filter(object => !deleted.has(object.id));\n return {\n patch: { kind: 'replace' as const, document: next },\n label: `Delete ${deleted.size} object(s)`,\n changedIds: [...deleted],\n deletedIds: [...deleted],\n };\n },\n patchGameObjectField(document: ProjectDocument, id: string, field: string, value: unknown) {\n const next = structuredClone(document);\n const target = next.scene.gameObjects.find(object => object.id === id);\n if (!target) return document;\n const transform = getTransform(target);\n const key = field.slice('transform.'.length) as 'position' | 'rotation' | 'scale';\n if (!transform || !['position', 'rotation', 'scale'].includes(key)) return document;\n transform[key] = structuredClone(value) as never;\n return next;\n },\n addAssetLibraryItemToDocument(\n document: ProjectDocument,\n asset: EditorSceneAssetLibraryItem,\n transform?: { position: Vec3; rotation: Vec3; scale: Vec3 },\n ) {\n const next = structuredClone(document);\n const id = uniqueObjectId(next, slug(asset.displayName ?? asset.assetId));\n const created = createBaseObject(id, asset.displayName ?? asset.assetId);\n const component = getTransform(created)!;\n if (transform) {\n component.position = structuredClone(transform.position);\n component.rotation = structuredClone(transform.rotation);\n component.scale = structuredClone(transform.scale);\n }\n created.kind = asset.kind === 'prefab' ? 'instance' : 'transform';\n (created.components as unknown as Record<string, unknown>[]).push({\n type: 'ModelRenderer',\n assetId: asset.assetId,\n });\n next.scene.gameObjects.push(created);\n return { document: next, gameObject: created };\n },\n };\n}\n\nfunction registerProjectPrefabAuthoringCommands(\n host: EditorAuthoringHost<ProjectDocument, ProjectPatch>,\n): () => void {\n const unregister: Array<() => void> = [];\n const register = (\n commandId: string,\n handler: Parameters<typeof host.registerCommand<EditorCommandJsonObject, EditorCommandJsonObject>>[0]['handler'],\n ) => unregister.push(host.registerCommand<EditorCommandJsonObject, EditorCommandJsonObject>({\n manifest: builtInCommandManifest(commandId),\n handler,\n }));\n try {\n register(EDITOR_COMMAND_ID.PREFAB_RESOLVE, (input, context) => {\n const prefabs = context.session.getWorkingDocument().assets\n .filter(asset => asset.type === 'prefab' && asset.prefab)\n .map(toPrefabSummary);\n const query = readString(input.assetId)\n ?? readString(input.name)\n ?? readString(input.query);\n const matches = !query\n ? prefabs\n : prefabs.filter((prefab) => {\n const assetId = typeof prefab.assetId === 'string' ? prefab.assetId : '';\n const displayName = typeof prefab.displayName === 'string' ? prefab.displayName : '';\n return assetId === query\n || displayName.toLocaleLowerCase() === query.toLocaleLowerCase()\n || displayName.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n });\n return { ok: true, output: {\n prefabs,\n resolvedPrefab: matches.length === 1 ? matches[0]! : null,\n ambiguous: matches.length > 1,\n } };\n });\n register(EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME, (input, context) => {\n const assetId = readString(input.assetId);\n if (!assetId) return commandFailure('prefab.assetIdRequired', 'Headless prefab rename requires assetId.');\n const document = context.session.getWorkingDocument();\n const previous = findEditorScenePrefabAsset(document, assetId);\n if (!previous) return commandFailure('prefab.notFound', `Prefab asset was not found: ${assetId}`);\n const result = renameEditorScenePrefabAsset(document, assetId, input.displayName);\n const failure = prefabMutationFailure(result);\n if (failure) return failure;\n commitPrefabMutation(context, document, result, `Rename prefab ${assetId}`);\n return { ok: true, output: {\n assetId,\n previousDisplayName: previous.displayName ?? previous.id,\n displayName: result.prefabAsset.displayName ?? result.prefabAsset.id,\n stageActive: false,\n renamed: result.changed,\n } };\n });\n register(EDITOR_COMMAND_ID.PREFAB_SCENE_GET, (input, context) => {\n const document = context.session.getWorkingDocument();\n const prefab = resolveHeadlessPrefab(document, input);\n if (!prefab) return commandFailure('prefab.assetIdRequired', 'Headless prefab scene reads require an unambiguous assetId.');\n return { ok: true, output: createPrefabSceneOutput(\n prefab,\n context.session.getState({ cloneDocuments: false }).dirty,\n ) };\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET, (input, context) => {\n const document = context.session.getWorkingDocument();\n const prefab = resolveHeadlessPrefab(document, { assetId: input.prefabAssetId });\n const assetId = readString(input.assetId);\n const asset = assetId ? document.assets.find(candidate => candidate.id === assetId) : null;\n if (!prefab || !asset) {\n return commandFailure('prefab.assetNotFound', 'Headless prefab node creation requires prefabAssetId and a valid assetId.');\n }\n return finishPrefabNodeMutation(context, document, prefab.id, createEditorScenePrefabNodeFromAsset(\n prefab,\n asset as EditorSceneAsset,\n {\n ...(readString(input.parentNodeId) ? { parentId: readString(input.parentNodeId)! } : {}),\n ...(readString(input.name) ? { name: readString(input.name)! } : {}),\n ...(readString(input.sourceNodePath) ? { sourceNodePath: readString(input.sourceNodePath)! } : {}),\n ...(readTransform(input) ? { transform: readTransform(input)! } : {}),\n },\n ), 'Create prefab node from asset');\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP, (input, context) => {\n const document = context.session.getWorkingDocument();\n const prefab = resolveHeadlessPrefab(document, { assetId: input.prefabAssetId });\n if (!prefab) return commandFailure('prefab.assetIdRequired', 'Headless prefab group creation requires prefabAssetId.');\n return finishPrefabNodeMutation(context, document, prefab.id, createEditorScenePrefabGroupNode(prefab, {\n ...(readString(input.parentNodeId) ? { parentId: readString(input.parentNodeId)! } : {}),\n ...(readString(input.name) ? { name: readString(input.name)! } : {}),\n ...(readTransform(input) ? { transform: readTransform(input)! } : {}),\n }), 'Create prefab group');\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE, (input, context) => {\n const document = context.session.getWorkingDocument();\n const prefab = resolveHeadlessPrefab(document, { assetId: input.prefabAssetId });\n const shape = readString(input.shape);\n if (!prefab || !shape) {\n return commandFailure('prefab.invalidInput', 'Headless prefab primitive creation requires prefabAssetId and shape.');\n }\n return finishPrefabNodeMutation(context, document, prefab.id, createEditorScenePrefabPrimitiveNode(prefab, {\n shape,\n ...(readString(input.parentNodeId) ? { parentId: readString(input.parentNodeId)! } : {}),\n ...(readString(input.name) ? { name: readString(input.name)! } : {}),\n ...(readTransform(input) ? { transform: readTransform(input)! } : {}),\n }), 'Create prefab primitive');\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM, (input, context) => {\n const resolved = resolvePrefabNodeMutation(context.session.getWorkingDocument(), input);\n if (!resolved.ok) return resolved.failure;\n const current = resolved.node.transform && resolved.node.transform.mode !== 'matrix'\n ? resolved.node.transform\n : identityTransform();\n const transform: EditorSceneTransformTrsComponent = {\n type: 'Transform',\n position: readVec3(input.position) ?? current.position,\n rotation: readVec3(input.rotation) ?? current.rotation,\n scale: readVec3(input.scale) ?? current.scale ?? { x: 1, y: 1, z: 1 },\n };\n return finishPrefabNodeMutation(\n context,\n resolved.document,\n resolved.prefab.id,\n setEditorScenePrefabNodeTransform(resolved.prefab, resolved.node.id, transform),\n 'Set prefab node transform',\n );\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT, (input, context) => {\n const resolved = resolvePrefabNodeMutation(context.session.getWorkingDocument(), input);\n const parentNodeId = readString(input.parentNodeId);\n if (!resolved.ok) return resolved.failure;\n if (!parentNodeId) return commandFailure('prefab.parentNotFound', 'Prefab parentNodeId is required.');\n return finishPrefabNodeMutation(\n context,\n resolved.document,\n resolved.prefab.id,\n reparentEditorScenePrefabNode(resolved.prefab, resolved.node.id, parentNodeId),\n 'Reparent prefab node',\n );\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_RENAME, (input, context) => {\n const resolved = resolvePrefabNodeMutation(context.session.getWorkingDocument(), input);\n if (!resolved.ok) return resolved.failure;\n const previousName = resolved.node.name ?? resolved.node.id;\n const result = renameEditorScenePrefabNode(resolved.prefab, resolved.node.id, input.name);\n const failure = prefabMutationFailure(result);\n if (failure) return failure;\n commitPrefabMutation(context, resolved.document, result, 'Rename prefab node');\n return { ok: true, output: {\n nodeId: resolved.node.id,\n previousName,\n name: result.node?.name ?? previousName,\n selectedNodeId: result.selectedNodeId ?? resolved.node.id,\n nodes: readEditorScenePrefabNodes(result.prefabAsset).map(toCommandPrefabNode),\n } };\n });\n register(EDITOR_COMMAND_ID.PREFAB_NODE_DELETE, (input, context) => {\n const resolved = resolvePrefabNodeMutation(context.session.getWorkingDocument(), input);\n if (!resolved.ok) return resolved.failure;\n return finishPrefabNodeMutation(\n context,\n resolved.document,\n resolved.prefab.id,\n deleteEditorScenePrefabNode(resolved.prefab, resolved.node.id),\n 'Delete prefab node',\n );\n });\n } catch (error) {\n for (const dispose of unregister.splice(0).reverse()) dispose();\n throw error;\n }\n return () => { for (const dispose of unregister.splice(0).reverse()) dispose(); };\n}\n\nfunction builtInCommandManifest(id: string): EditorCommandManifest {\n const metadata = EDITOR_COMMAND_BUILT_IN_METADATA[\n id as keyof typeof EDITOR_COMMAND_BUILT_IN_METADATA\n ];\n const schema = EDITOR_COMMAND_SCHEMAS[id as keyof typeof EDITOR_COMMAND_SCHEMAS];\n const presentation = EDITOR_COMMAND_BUILT_IN_PRESENTATION[\n id as keyof typeof EDITOR_COMMAND_BUILT_IN_PRESENTATION\n ];\n if (!metadata || !schema) throw new Error(`Built-in Editor command contract is missing: ${id}`);\n return {\n schemaVersion: EDITOR_COMMAND_SCHEMA_VERSION,\n id,\n version: 1,\n title: metadata.title,\n target: metadata.target,\n access: metadata.access,\n stability: metadata.stability,\n inputSchema: schema.inputSchema,\n outputSchema: schema.outputSchema,\n requires: { editorReady: true },\n effects: {\n persistence: metadata.access === 'write' ? 'authoring' : 'none',\n undoable: metadata.access === 'write',\n idempotent: metadata.access === 'read',\n },\n presentation: {\n category: metadata.category,\n inputMode: Array.isArray(schema.inputSchema.required) && schema.inputSchema.required.length\n ? 'schema-form'\n : 'none',\n ...(presentation?.aliases ? { aliases: presentation.aliases } : {}),\n ...(presentation?.keywords ? { keywords: presentation.keywords } : {}),\n ...(presentation?.examples ? { examples: presentation.examples } : {}),\n ...(presentation?.shortcut ? { shortcut: presentation.shortcut } : {}),\n ...(presentation?.menu ? { menu: presentation.menu } : {}),\n },\n };\n}\n\nfunction resolveHeadlessPrefab(document: ProjectDocument, input: EditorCommandJsonObject) {\n const assetId = readString(input.assetId);\n return assetId ? findEditorScenePrefabAsset(document, assetId) : null;\n}\n\nfunction resolvePrefabNodeMutation(\n document: ProjectDocument,\n input: EditorCommandJsonObject,\n): {\n ok: true;\n document: ProjectDocument;\n prefab: EditorSceneAsset;\n node: EditorScenePrefabNode;\n} | {\n ok: false;\n failure: ReturnType<typeof commandFailure>;\n} {\n const prefab = resolveHeadlessPrefab(document, input);\n if (!prefab) return { ok: false, failure: commandFailure(\n 'prefab.assetIdRequired',\n 'Headless prefab node mutation requires assetId.',\n ) };\n const nodeId = readString(input.nodeId);\n const node = nodeId ? findEditorScenePrefabNode(prefab, nodeId) : null;\n if (!node) return { ok: false, failure: commandFailure('prefab.nodeNotFound', `Prefab node was not found: ${nodeId ?? ''}`) };\n return { ok: true, document, prefab, node };\n}\n\nfunction finishPrefabNodeMutation(\n context: {\n session: { getState(options?: { cloneDocuments?: boolean }): { dirty: boolean } };\n dispatch(command: unknown): unknown;\n },\n document: ProjectDocument,\n assetId: string,\n result: EditorScenePrefabMutationResult,\n label: string,\n) {\n const failure = prefabMutationFailure(result);\n if (failure) return failure;\n commitPrefabMutation(context, document, result, label);\n return { ok: true as const, output: {\n stage: toHeadlessPrefabStage(result.prefabAsset, context.session.getState({ cloneDocuments: false }).dirty),\n changed: result.changed,\n ...(result.createdNodeId ? { createdNodeId: result.createdNodeId } : {}),\n ...(result.node?.id ? { changedNodeId: result.node.id } : {}),\n ...(result.deletedNodeIds?.length ? { deletedNodeIds: result.deletedNodeIds } : {}),\n selectedNodeId: result.selectedNodeId ?? result.node?.id ?? null,\n node: result.node ? toCommandPrefabNode(result.node) : null,\n rootNodeId: readEditorScenePrefabRootNodeId(result.prefabAsset) ?? 'prefab-root',\n nodes: readEditorScenePrefabNodes(result.prefabAsset).map(toCommandPrefabNode),\n status: result.changed ? label : `${label}: unchanged`,\n } };\n}\n\nfunction commitPrefabMutation(\n context: { dispatch(command: any): unknown },\n document: ProjectDocument,\n result: EditorScenePrefabMutationResult,\n label: string,\n): void {\n if (!result.changed) return;\n const next = structuredClone(document);\n const index = next.assets.findIndex(asset => asset.id === result.prefabAsset.id);\n if (index < 0) throw new Error(`Prefab asset disappeared during mutation: ${result.prefabAsset.id}`);\n next.assets[index] = result.prefabAsset as never;\n context.dispatch({ type: 'document.replace', document: next, label });\n}\n\nfunction prefabMutationFailure(result: EditorScenePrefabMutationResult) {\n const error = result.diagnostics.find(diagnostic => diagnostic.severity === 'error');\n return error ? commandFailure(error.code, error.message) : null;\n}\n\nfunction createPrefabSceneOutput(prefab: EditorSceneAsset, dirty: boolean): EditorCommandJsonObject {\n const nodes = readEditorScenePrefabNodes(prefab);\n return {\n stage: toHeadlessPrefabStage(prefab, dirty),\n rootNodeId: readEditorScenePrefabRootNodeId(prefab) ?? 'prefab-root',\n selectedNodeId: null,\n nodes: nodes.map(toCommandPrefabNode),\n diagnostics: [],\n };\n}\n\nfunction toPrefabSummary(asset: EditorSceneAsset): EditorCommandJsonObject {\n return {\n assetId: asset.id,\n displayName: asset.displayName ?? asset.id,\n ...(asset.prefab?.sourceAssetId ? { sourceAssetId: asset.prefab.sourceAssetId } : {}),\n ...(asset.prefab?.sourceAssetGuid ? { sourceAssetGuid: asset.prefab.sourceAssetGuid } : {}),\n placeable: true,\n readonly: false,\n status: 'available',\n };\n}\n\nfunction toHeadlessPrefabStage(asset: EditorSceneAsset, dirty: boolean): EditorCommandJsonObject {\n return {\n assetId: asset.id,\n label: asset.displayName ?? asset.id,\n ...(asset.prefab?.sourceAssetId ? { sourceAssetId: asset.prefab.sourceAssetId } : {}),\n ...(asset.prefab?.sourceAssetGuid ? { sourceAssetGuid: asset.prefab.sourceAssetGuid } : {}),\n selectedItemId: null,\n readonly: false,\n dirty,\n documentDirty: dirty,\n canSave: dirty,\n canDiscard: dirty,\n };\n}\n\nfunction toCommandPrefabNode(node: EditorScenePrefabNode): EditorCommandJsonObject {\n return {\n nodeId: node.id,\n ...(node.guid ? { guid: node.guid } : {}),\n ...(node.name ? { name: node.name } : {}),\n parentNodeId: node.parentId ?? null,\n kind: node.kind,\n ...(node.transform && node.transform.mode !== 'matrix' ? { transform: {\n position: { ...node.transform.position },\n rotation: { ...node.transform.rotation },\n scale: { ...(node.transform.scale ?? { x: 1, y: 1, z: 1 }) },\n } } : {}),\n ...(node.sourceAssetId ? { sourceAssetId: node.sourceAssetId } : {}),\n ...(node.sourceNodePath ? { sourceNodePath: node.sourceNodePath } : {}),\n ...(node.childPrefabId ? { childPrefabId: node.childPrefabId } : {}),\n ...(node.primitive ? { primitive: node.primitive as never } : {}),\n ...(node.marker ? { marker: node.marker as never } : {}),\n ...(node.defaults ? { defaults: node.defaults as never } : {}),\n ...(node.overrides ? { overrides: node.overrides as never } : {}),\n readonly: false,\n diagnostics: [],\n };\n}\n\nfunction readTransform(input: EditorCommandJsonObject): EditorSceneTransformTrsComponent | null {\n const position = readVec3(input.position);\n const rotation = readVec3(input.rotation);\n const scale = readVec3(input.scale);\n if (!position && !rotation && !scale) return null;\n return {\n type: 'Transform',\n position: position ?? { x: 0, y: 0, z: 0 },\n rotation: rotation ?? { x: 0, y: 0, z: 0 },\n scale: scale ?? { x: 1, y: 1, z: 1 },\n };\n}\n\nfunction readVec3(value: unknown): Vec3 | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const vector = value as Record<string, unknown>;\n return typeof vector.x === 'number' && typeof vector.y === 'number' && typeof vector.z === 'number'\n ? { x: vector.x, y: vector.y, z: vector.z }\n : null;\n}\n\nfunction identityTransform(): EditorSceneTransformTrsComponent {\n return {\n type: 'Transform',\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n };\n}\n\nfunction registerProjectDocumentCommands(\n host: EditorAuthoringHost<ProjectDocument, ProjectPatch>,\n server: ViteDevServer,\n preparedExports: Map<string, PreparedProjectExport>,\n): () => void {\n const unregister: Array<() => void> = [];\n let authoringSourceCursor = readProjectAuthoringSourceCursor(\n host.getSnapshot().document,\n );\n const register = <TInput, TOutput>(\n manifest: EditorCommandManifest,\n handler: Parameters<typeof host.registerCommand<TInput, TOutput>>[0]['handler'],\n expectedRevisionPolicy?: Parameters<\n typeof host.registerCommand<TInput, TOutput>\n >[0]['expectedRevisionPolicy'],\n ) => unregister.push(host.registerCommand<TInput, TOutput>({\n manifest,\n handler,\n ...(expectedRevisionPolicy ? { expectedRevisionPolicy } : {}),\n }));\n try {\n register<{\n commandId: string;\n inputFingerprint: string;\n document: ProjectDocument;\n }, EditorCommandJsonObject>({\n schemaVersion: EDITOR_COMMAND_SCHEMA_VERSION,\n id: 'authoring.proposal.commit',\n version: 1,\n title: 'Commit Browser Authoring Proposal',\n description: 'Commits a Browser-composed document through the project Authoring Host while preserving the originating command identity.',\n target: 'authoring',\n access: 'write',\n stability: 'experimental',\n requires: { viewAttached: true },\n inputSchema: {\n type: 'object',\n additionalProperties: false,\n required: ['commandId', 'inputFingerprint', 'document'],\n properties: {\n commandId: { type: 'string', minLength: 1 },\n inputFingerprint: { type: 'string' },\n document: { type: 'object' },\n },\n },\n outputSchema: { type: 'object' },\n effects: { persistence: 'authoring', undoable: true, idempotent: false },\n presentation: { category: 'Authoring', inputMode: 'schema-form' },\n }, (input, context) => {\n if (context.source !== 'browser-ui' || context.principal.type !== 'human' || !context.clientId) {\n return commandFailure(\n 'authoring.proposal.browserRequired',\n 'Authoring proposals are accepted only from the authenticated Browser UI.',\n );\n }\n if (context.intentCommandId !== input.commandId) {\n return commandFailure(\n 'authoring.proposal.identityMismatch',\n 'Browser authoring proposal identity does not match the invocation intent.',\n );\n }\n const document = normalizeDocument(input.document);\n context.dispatch({ type: 'document.replace', document, label: input.commandId });\n const state = context.session.getState({ cloneDocuments: false });\n return { ok: true, output: {\n intentCommandId: input.commandId,\n inputFingerprint: input.inputFingerprint,\n documentRevision: state.documentRevision,\n dirty: state.dirty,\n } };\n });\n register<Record<string, never>, EditorCommandJsonObject>(documentManifest('document.save', 'Save Project Document'), async (_input, context) => {\n const backend = getFpsGameEditorProjectAuthoringBackend(server);\n if (!backend) return commandFailure('document.persistenceUnavailable', 'Project authoring persistence is unavailable.');\n const document = rebaseProjectAuthoringSourceRevision(\n context.session.getWorkingDocument(),\n authoringSourceCursor,\n );\n const result = await backend.saveEditorScene({\n saveMode: 'local-commit-save',\n rawEditorScene: document,\n body: createExpectedAuthoringSourceRevisionBody(authoringSourceCursor),\n });\n const savedDocument = readPreparedProjectDocument(result);\n authoringSourceCursor = readProjectAuthoringSourceCursor(savedDocument)\n ?? authoringSourceCursor;\n context.session.markSaved(savedDocument);\n const state = context.session.getState({ cloneDocuments: false });\n return { ok: true, output: summarizeSaveResult(result, state.documentRevision) };\n });\n register<Record<string, never>, EditorCommandJsonObject>(documentManifest('document.export', 'Prepare Project Export'), async (_input, context) => {\n const backend = getFpsGameEditorProjectAuthoringBackend(server);\n if (!backend) return commandFailure('document.persistenceUnavailable', 'Project authoring persistence is unavailable.');\n const state = context.session.getState({ cloneDocuments: false });\n const document = rebaseProjectAuthoringSourceRevision(\n state.workingDocument,\n authoringSourceCursor,\n );\n const result = await backend.saveEditorScene({\n saveMode: 'prepare-platform-save',\n rawEditorScene: document,\n body: createExpectedAuthoringSourceRevisionBody(authoringSourceCursor),\n });\n const preparedDocument = readPreparedProjectDocument(result);\n authoringSourceCursor = readProjectAuthoringSourceCursor(preparedDocument)\n ?? authoringSourceCursor;\n const transactionId = randomUUID();\n preparedExports.set(transactionId, {\n transactionId,\n documentRevision: state.documentRevision,\n document: preparedDocument,\n sceneJsonText: readRequiredSceneJsonText(result),\n ...(typeof result.expectedVersion === 'number'\n ? { expectedVersion: result.expectedVersion }\n : {}),\n });\n while (preparedExports.size > 32) preparedExports.delete(preparedExports.keys().next().value!);\n return { ok: true, output: { ...summarizeSaveResult(result, state.documentRevision), transactionId } };\n });\n register<{ transactionId: string }, EditorCommandJsonObject>(documentManifest(\n 'document.commit',\n 'Commit Saved Checkpoint',\n {\n type: 'object',\n additionalProperties: false,\n required: ['transactionId'],\n properties: { transactionId: { type: 'string', minLength: 1 } },\n },\n ), (input, context) => {\n const prepared = preparedExports.get(input.transactionId);\n if (!prepared) return commandFailure('document.commitUnavailable', 'Prepared export transaction is missing, stale, or already committed.');\n if (context.expectedRevision?.document !== prepared.documentRevision) {\n return commandFailure(\n 'document.commitRevisionMismatch',\n `Prepared export revision ${prepared.documentRevision} does not match expected revision ${String(context.expectedRevision?.document)}.`,\n );\n }\n const currentState = context.session.getState({ cloneDocuments: false });\n if (currentState.documentRevision === prepared.documentRevision) {\n context.session.markSaved(prepared.document);\n } else {\n context.session.markPersistedCheckpoint(prepared.document);\n }\n preparedExports.delete(input.transactionId);\n const state = context.session.getState({ cloneDocuments: false });\n return { ok: true, output: {\n transactionId: input.transactionId,\n preparedRevision: prepared.documentRevision,\n documentRevision: state.documentRevision,\n dirty: state.dirty,\n } };\n }, 'handler-validated');\n } catch (error) {\n for (const dispose of unregister.splice(0).reverse()) dispose();\n throw error;\n }\n return () => { for (const dispose of unregister.splice(0).reverse()) dispose(); };\n}\n\nfunction readProjectAuthoringSourceCursor(document: unknown): ProjectAuthoringSourceCursor | null {\n const record = document && typeof document === 'object' && !Array.isArray(document)\n ? document as Record<string, unknown>\n : null;\n const meta = record?.meta && typeof record.meta === 'object' && !Array.isArray(record.meta)\n ? record.meta as Record<string, unknown>\n : null;\n const source = meta?.authoringSource\n && typeof meta.authoringSource === 'object'\n && !Array.isArray(meta.authoringSource)\n ? meta.authoringSource as Record<string, unknown>\n : null;\n return typeof source?.sourceId === 'string' && source.sourceId.trim()\n && typeof source.sourceType === 'string' && source.sourceType.trim()\n && typeof source.revision === 'number' && Number.isFinite(source.revision)\n ? {\n sourceId: source.sourceId,\n sourceType: source.sourceType,\n revision: source.revision,\n }\n : null;\n}\n\nfunction rebaseProjectAuthoringSourceRevision(\n document: ProjectDocument,\n cursor: ProjectAuthoringSourceCursor | null,\n): ProjectDocument {\n const clone = structuredClone(document);\n if (cursor === null) return clone;\n const current = readProjectAuthoringSourceCursor(clone);\n if (current?.sourceId === cursor.sourceId\n && current.sourceType === cursor.sourceType\n && current.revision === cursor.revision) return clone;\n const meta = clone.meta && typeof clone.meta === 'object' && !Array.isArray(clone.meta)\n ? clone.meta as Record<string, unknown>\n : {};\n meta.authoringSource = { ...cursor };\n clone.meta = meta as ProjectDocument['meta'];\n return clone;\n}\n\nfunction createExpectedAuthoringSourceRevisionBody(\n cursor: ProjectAuthoringSourceCursor | null,\n): Record<string, unknown> {\n return cursor === null ? {} : { expectedAuthoringSourceRevision: cursor.revision };\n}\n\nfunction readPreparedProjectDocument(\n result: Record<string, unknown>,\n): ProjectDocument {\n if (!result.editorScene) {\n throw new Error('Project authoring backend did not return the prepared editor scene.');\n }\n return normalizeDocument(result.editorScene);\n}\n\nfunction readRequiredSceneJsonText(result: Record<string, unknown>): string {\n if (typeof result.sceneJsonText === 'string' && result.sceneJsonText.trim()) {\n return result.sceneJsonText;\n }\n throw new Error('Project authoring backend did not return the prepared runtime scene artifact.');\n}\n\nfunction registerProjectViewCommands(\n host: EditorAuthoringHost<ProjectDocument, ProjectPatch>,\n forward: (\n context: EditorCommandHandlerContext,\n target: 'view' | 'renderer',\n ) => Promise<EditorCommandHandlerOutcome<unknown>>,\n): () => void {\n const unregister: Array<() => void> = [];\n const register = (manifest: EditorCommandManifest) => unregister.push(host.registerCommand({\n manifest,\n handler: (_input, context) => forward(context, manifest.target as 'view' | 'renderer'),\n }));\n try {\n for (const commandId of Object.keys(EDITOR_COMMAND_BUILT_IN_METADATA)) {\n const target = EDITOR_COMMAND_BUILT_IN_TARGETS[\n commandId as keyof typeof EDITOR_COMMAND_BUILT_IN_TARGETS\n ];\n if (target !== 'view' && target !== 'renderer') continue;\n register(browserCommandManifest(commandId, target));\n }\n } catch (error) {\n for (const dispose of unregister.splice(0).reverse()) dispose();\n throw error;\n }\n return () => { for (const dispose of unregister.splice(0).reverse()) dispose(); };\n}\n\nfunction browserCommandManifest(\n id: string,\n target: 'view' | 'renderer',\n): EditorCommandManifest {\n const schema = EDITOR_COMMAND_SCHEMAS[id as keyof typeof EDITOR_COMMAND_SCHEMAS];\n const metadata = EDITOR_COMMAND_BUILT_IN_METADATA[\n id as keyof typeof EDITOR_COMMAND_BUILT_IN_METADATA\n ];\n if (!metadata) throw new Error(`Editor command metadata is missing: ${id}`);\n const access = metadata.access;\n const presentation = EDITOR_COMMAND_BUILT_IN_PRESENTATION[\n id as keyof typeof EDITOR_COMMAND_BUILT_IN_PRESENTATION\n ];\n return {\n schemaVersion: EDITOR_COMMAND_SCHEMA_VERSION,\n id,\n version: 1,\n title: metadata.title,\n target,\n access,\n stability: metadata.stability,\n inputSchema: schema?.inputSchema ?? { type: 'object' },\n outputSchema: schema?.outputSchema ?? { type: 'object' },\n requires: {\n editorReady: true,\n ...(target === 'view' ? { viewAttached: true } : { rendererAttached: true }),\n },\n effects: {\n persistence: access === 'read' ? 'none' : 'view',\n undoable: false,\n idempotent: access === 'read',\n },\n presentation: {\n category: metadata.category,\n inputMode: Array.isArray(schema?.inputSchema.required) && schema.inputSchema.required.length\n ? 'schema-form'\n : 'none',\n ...(presentation?.aliases ? { aliases: presentation.aliases } : {}),\n ...(presentation?.keywords ? { keywords: presentation.keywords } : {}),\n ...(presentation?.examples ? { examples: presentation.examples } : {}),\n ...(presentation?.shortcut ? { shortcut: presentation.shortcut } : {}),\n ...(presentation?.menu ? { menu: presentation.menu } : {}),\n },\n };\n}\n\nfunction documentManifest(\n id: string,\n title: string,\n inputSchema: EditorCommandJsonObject = { type: 'object', additionalProperties: false },\n): EditorCommandManifest {\n return {\n schemaVersion: EDITOR_COMMAND_SCHEMA_VERSION,\n id,\n version: 1,\n title,\n target: 'authoring',\n access: 'write',\n stability: 'stable',\n inputSchema,\n outputSchema: { type: 'object' },\n effects: { persistence: 'filesystem', undoable: false, idempotent: false },\n presentation: {\n category: 'Document',\n inputMode: Array.isArray(inputSchema.required) && inputSchema.required.length ? 'schema-form' : 'none',\n ...(id === 'document.save' ? {\n shortcut: 'Mod+S',\n menu: { path: ['File', 'Save'] },\n } : {}),\n },\n };\n}\n\nfunction summarizeSaveResult(result: Record<string, unknown>, documentRevision: number): EditorCommandJsonObject {\n const sceneJsonText = typeof result.sceneJsonText === 'string' ? result.sceneJsonText : undefined;\n return {\n documentRevision,\n ...(typeof result.expectedVersion === 'number' ? { expectedVersion: result.expectedVersion } : {}),\n ...(sceneJsonText ? { sceneJsonBytes: Buffer.byteLength(sceneJsonText) } : {}),\n prepared: true,\n };\n}\n\nfunction commandFailure(code: string, message: string) {\n return { ok: false as const, diagnostics: [{ severity: 'error' as const, source: 'adapter', code, message }] };\n}\n\ntype Vec3 = { x: number; y: number; z: number };\n\nfunction createBaseObject(id: string, name: string, parentId?: string): EditorSceneGameObject {\n return {\n id,\n guid: `go_${randomUUID()}`,\n name,\n active: true,\n ...(parentId ? { parentId } : {}),\n components: [{\n type: 'Transform',\n position: { x: 0, y: 0, z: 0 },\n rotation: { x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n }],\n };\n}\n\nfunction getTransform(object: EditorSceneGameObject): ({ position: Vec3; rotation: Vec3; scale: Vec3 }) | null {\n const components = Array.isArray(object.components) ? object.components : [];\n return components.find(component => component && typeof component === 'object'\n && (component as Record<string, unknown>).type === 'Transform') as ({ position: Vec3; rotation: Vec3; scale: Vec3 }) | undefined ?? null;\n}\n\nfunction uniqueObjectId(document: ProjectDocument, prefix: string): string {\n const safePrefix = slug(prefix) || 'object';\n const ids = new Set(document.scene.gameObjects.map(object => object.id));\n if (!ids.has(safePrefix)) return safePrefix;\n for (let sequence = 2; sequence < 10_000; sequence += 1) {\n const candidate = `${safePrefix}_${sequence}`;\n if (!ids.has(candidate)) return candidate;\n }\n return `${safePrefix}_${randomUUID()}`;\n}\n\nfunction slug(value: string): string {\n return value.trim().toLocaleLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');\n}\n\nfunction titleCase(value: string): string {\n return value ? `${value[0].toLocaleUpperCase()}${value.slice(1)}` : 'Object';\n}\n\nfunction readString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { PlayableEditorBuildInfo } from './build-info-core';
2
+ import type { PlayableEditorViteEditorServiceOptions } from './editor-service-vite';
2
3
  export interface PlayableEditorBuildInfoReadOptions {
3
4
  editorPackageRoot?: string;
4
5
  buildInfoPath?: string;
@@ -13,6 +14,7 @@ export interface PlayableEditorVitePluginOptions {
13
14
  strictAliasFiles?: boolean;
14
15
  versionDiagnostics?: boolean;
15
16
  editorEntry?: PlayableEditorViteEntryOptions;
17
+ editorService?: PlayableEditorViteEditorServiceOptions;
16
18
  logger?: Pick<Console, 'info' | 'warn' | 'error'>;
17
19
  }
18
20
  export interface PlayableEditorViteEntryOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,aAAa,CAAC,EAAE,sCAAsC,CAAC;IACvD,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { PlayableEditorBuildInfo } from './build-info-core';\n\nexport interface PlayableEditorBuildInfoReadOptions {\n editorPackageRoot?: string;\n buildInfoPath?: string;\n packageJsonPath?: string;\n}\n\nexport interface PlayableEditorVitePluginOptions {\n projectRoot?: string;\n localEditorRepo?: string | null;\n resolvedIntegration?: PlayableEditorViteResolvedIntegration;\n env?: Record<string, string | undefined>;\n cacheDir?: string | false;\n strictAliasFiles?: boolean;\n versionDiagnostics?: boolean;\n editorEntry?: PlayableEditorViteEntryOptions;\n logger?: Pick<Console, 'info' | 'warn' | 'error'>;\n}\n\nexport interface PlayableEditorViteEntryOptions {\n url: string;\n cache?: 'revalidate' | 'immutable';\n manifestPath?: string;\n}\n\nexport interface PlayableEditorViteCacheMarker {\n packageName: string;\n version: string;\n cacheKey: string;\n distHash: string;\n buildInfoPath: string;\n}\n\nexport interface PlayableEditorViteResolvedIntegration {\n projectRoot: string;\n localEditorRepo: string | null;\n editorPackageRoot: string;\n buildInfoPath: string;\n buildInfo: PlayableEditorBuildInfo;\n cacheDir: string | null;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { PlayableEditorBuildInfo } from './build-info-core';\nimport type { PlayableEditorViteEditorServiceOptions } from './editor-service-vite';\n\nexport interface PlayableEditorBuildInfoReadOptions {\n editorPackageRoot?: string;\n buildInfoPath?: string;\n packageJsonPath?: string;\n}\n\nexport interface PlayableEditorVitePluginOptions {\n projectRoot?: string;\n localEditorRepo?: string | null;\n resolvedIntegration?: PlayableEditorViteResolvedIntegration;\n env?: Record<string, string | undefined>;\n cacheDir?: string | false;\n strictAliasFiles?: boolean;\n versionDiagnostics?: boolean;\n editorEntry?: PlayableEditorViteEntryOptions;\n editorService?: PlayableEditorViteEditorServiceOptions;\n logger?: Pick<Console, 'info' | 'warn' | 'error'>;\n}\n\nexport interface PlayableEditorViteEntryOptions {\n url: string;\n cache?: 'revalidate' | 'immutable';\n manifestPath?: string;\n}\n\nexport interface PlayableEditorViteCacheMarker {\n packageName: string;\n version: string;\n cacheKey: string;\n distHash: string;\n buildInfoPath: string;\n}\n\nexport interface PlayableEditorViteResolvedIntegration {\n projectRoot: string;\n localEditorRepo: string | null;\n editorPackageRoot: string;\n buildInfoPath: string;\n buildInfo: PlayableEditorBuildInfo;\n cacheDir: string | null;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-playable-sdk",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Playable project integration SDK for fps-game-editor.",
@@ -27,11 +27,11 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@babel/parser": "^7.28.5",
30
- "@fps-games/editor-core": "0.2.1-beta.3",
31
- "@fps-games/editor-protocol": "0.2.1-beta.3",
32
- "@fps-games/playable-assets": "0.2.1-beta.3",
33
- "@fps-games/playable-rendering": "0.2.1-beta.3",
34
- "@fps-games/plugin-api": "0.2.1-beta.3"
30
+ "@fps-games/editor-core": "0.2.1-beta.4",
31
+ "@fps-games/editor-protocol": "0.2.1-beta.4",
32
+ "@fps-games/playable-assets": "0.2.1-beta.4",
33
+ "@fps-games/playable-rendering": "0.2.1-beta.4",
34
+ "@fps-games/plugin-api": "0.2.1-beta.4"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "vite": "^5.4.21"