@volter/game-editor 0.5.69 → 0.5.70

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 (336) hide show
  1. package/BUNDLED_NOTICES +28 -44
  2. package/LICENSE +9 -10
  3. package/catalog/entries/blender.json +2 -2
  4. package/catalog/entries/music.json +2 -2
  5. package/catalog/project-source/LICENSE +5 -5
  6. package/dist/.vite/manifest.json +2125 -2125
  7. package/dist/assets/{AssetBudgetPanel-BMR3AQhc.js → AssetBudgetPanel-DpXsaQ6w.js} +3 -3
  8. package/dist/assets/{AudioViewer-DESxi7pU.js → AudioViewer-BdTHfNhD.js} +1 -1
  9. package/dist/assets/{CanvasBoardDocument-Q_nrYFlB.js → CanvasBoardDocument-DY-7zohc.js} +1 -1
  10. package/dist/assets/{CanvasSceneViewport-WZMoKy_F.js → CanvasSceneViewport-57CEFqSM.js} +1 -1
  11. package/dist/assets/{ColorInput-C2EK-OnD.js → ColorInput-Co6tCY9p.js} +1 -1
  12. package/dist/assets/{EntityModelDocument-B_4ENTCq.js → EntityModelDocument-C-lhKrxv.js} +1 -1
  13. package/dist/assets/{EnvironmentAssetDocument-BZBp6OFJ.js → EnvironmentAssetDocument-BNe6ANTN.js} +1 -1
  14. package/dist/assets/{GameplaySessionTimeline-1ivaucpv.js → GameplaySessionTimeline-CryFYfYN.js} +1 -1
  15. package/dist/assets/{ImageViewer-D16OExYu.js → ImageViewer-DiD2yIG4.js} +1 -1
  16. package/dist/assets/InspectorObjectPreview-BBVO8bDT.js +1 -0
  17. package/dist/assets/{JsonAssetDocument-CvjTlcdr.js → JsonAssetDocument-xyXetSbl.js} +1 -1
  18. package/dist/assets/{LiveModuleDocument-ne1o9giX.js → LiveModuleDocument-BiAunjHS.js} +1 -1
  19. package/dist/assets/{LutAssetDocument-Cp0v-O7q.js → LutAssetDocument-5sW-5rb0.js} +1 -1
  20. package/dist/assets/{ModelAssetDocument-Ceu7OIN9.js → ModelAssetDocument-Bdy7x47a.js} +1 -1
  21. package/dist/assets/{NonThreeAuthoringBootstrap-DiElZf-e.js → NonThreeAuthoringBootstrap-BP-1bVEr.js} +1 -1
  22. package/dist/assets/{Object3DDocumentToolbar-BLNamqii.js → Object3DDocumentToolbar-CvnSLDPI.js} +1 -1
  23. package/dist/assets/Object3DDocumentViewport-BE_OPc8T.js +2 -0
  24. package/dist/assets/{Object3DPreview-ZVokr044.js → Object3DPreview-D3w_dKrX.js} +1 -1
  25. package/dist/assets/{OnlineAssetDetail-Dnckd7zB.js → OnlineAssetDetail-BnT8_p1W.js} +1 -1
  26. package/dist/assets/{PlayBar-DsMitSgy.js → PlayBar-C8Mn-EI0.js} +1 -1
  27. package/dist/assets/{QuarksAssetDocument-B5J8uHFM.js → QuarksAssetDocument-DLMH5Csk.js} +1 -1
  28. package/dist/assets/{ReactCanvasControls-CmfvxJYY.js → ReactCanvasControls-rNz8syVB.js} +1 -1
  29. package/dist/assets/{RootSelectionOverlay-BWsNiSuM.js → RootSelectionOverlay-Cn2Rbr1N.js} +1 -1
  30. package/dist/assets/{ShaderAssetDocument-CT7XzsZq.js → ShaderAssetDocument-CsJCsNfA.js} +1 -1
  31. package/dist/assets/{ShadowEditor-YO5KEfnz.js → ShadowEditor-jB05hr1W.js} +1 -1
  32. package/dist/assets/{SourceAssetViewer-FSLup2km.js → SourceAssetViewer-D0NgGrER.js} +1 -1
  33. package/dist/assets/{StageHost-DYfGYwvq.js → StageHost-B3Yt4I7r.js} +2 -2
  34. package/dist/assets/{StoryPreviewMount-BhvT5QlB.js → StoryPreviewMount-CzzRn24c.js} +1 -1
  35. package/dist/assets/{ThreeBoardDocument-B-z2nwnH.js → ThreeBoardDocument-BoHTN4Vl.js} +2 -2
  36. package/dist/assets/{ThreeIsolationSceneContent-B5pU4Y6k.js → ThreeIsolationSceneContent-BM-0S6J5.js} +1 -1
  37. package/dist/assets/{ToolObject3DPreview-VtraiQ4Q.js → ToolObject3DPreview-BeM_kx_u.js} +1 -1
  38. package/dist/assets/{Toolbar-M62Gob9T.js → Toolbar-BZyog9MR.js} +1 -1
  39. package/dist/assets/{TransientHint-Cc40mHWE.js → TransientHint-RJEkOJoy.js} +1 -1
  40. package/dist/assets/{VideoViewer-BxcUwXQm.js → VideoViewer-CxajgKrf.js} +1 -1
  41. package/dist/assets/{ViewportShadingMenu-BoMPnTVh.js → ViewportShadingMenu-S2lADFJg.js} +1 -1
  42. package/dist/assets/active-ingest-CjZtqL7Q.js +3 -0
  43. package/dist/assets/{animation-clock-BXEwUJtz.js → animation-clock-CWVW-mqY.js} +1 -1
  44. package/dist/assets/{animation-mixers.service-C-Ko4KzM.js → animation-mixers.service-CpoYw8cs.js} +1 -1
  45. package/dist/assets/{animation-timeline.utility-Bl15-rYb.js → animation-timeline.utility-CEerojaB.js} +1 -1
  46. package/dist/assets/{asset-budget-asset.menu-BUa3g0Wy.js → asset-budget-asset.menu-Bk6scVWQ.js} +1 -1
  47. package/dist/assets/{asset-budget.action-Dl5eVPIo.js → asset-budget.action-DtBDSfDj.js} +1 -1
  48. package/dist/assets/{asset-budget.document-DJylQ-0h.js → asset-budget.document-R2zyoJ8E.js} +1 -1
  49. package/dist/assets/{asset-budget.menu-BJtvNMLj.js → asset-budget.menu-D6jza5Bc.js} +1 -1
  50. package/dist/assets/{asset-editor-persistence-BIbf5u0Q.js → asset-editor-persistence-DrgwOZIW.js} +1 -1
  51. package/dist/assets/{asset-loaders-DoNflsHL.js → asset-loaders-CUeYIjeH.js} +1 -1
  52. package/dist/assets/{asset-preview-DxlSdRZn.js → asset-preview-CQfnI2cX.js} +1 -1
  53. package/dist/assets/{audio-unlock.service-CTaiyXF9.js → audio-unlock.service-W3UBKsw9.js} +1 -1
  54. package/dist/assets/{audio.utility-CEmNc68t.js → audio.utility-qrXBdGXg.js} +1 -1
  55. package/dist/assets/autoplay.service-DQD3Swo9.js +1 -0
  56. package/dist/assets/{babylon-authoring-adapter-BZvV2bz_.js → babylon-authoring-adapter-CS9LZNmz.js} +1 -1
  57. package/dist/assets/{binding-resolver-DGbk9_XR.js → binding-resolver-B9VI52zt.js} +2 -2
  58. package/dist/assets/{blender-emscripten-engine-B7lfg-RX.js → blender-emscripten-engine-Cd6az4pU.js} +1 -1
  59. package/dist/assets/{blender-node-editor.document-wXJobGNH.js → blender-node-editor.document-BWLFvA2g.js} +1 -1
  60. package/dist/assets/{blender-properties-tab-7GFf80ev.js → blender-properties-tab-BSmWG9d0.js} +1 -1
  61. package/dist/assets/{blender-runtime-host-CILxrx5T.js → blender-runtime-host-Cbkie7m4.js} +2 -2
  62. package/dist/assets/{blender-runtime-skin-Cd5lQYsC.js → blender-runtime-skin-C_ATCb-z.js} +1 -1
  63. package/dist/assets/{blender-runtime.document-C0r_R49S.js → blender-runtime.document-P9zdgwMt.js} +1 -1
  64. package/dist/assets/{blender-timeline.document-BaISZMBc.js → blender-timeline.document-DRwySEJO.js} +1 -1
  65. package/dist/assets/{blender-uv-editor.document-CT_fsyyA.js → blender-uv-editor.document-CmLoL2Vo.js} +1 -1
  66. package/dist/assets/{blender-version.status-DzEx7u7k.js → blender-version.status-CP4Jqkry.js} +1 -1
  67. package/dist/assets/{blender-wali-engine-DOiQCBXH.js → blender-wali-engine-CZcS3eAd.js} +1 -1
  68. package/dist/assets/{blender.command-DdiKd8mZ.js → blender.command-BYGm0Q_s.js} +1 -1
  69. package/dist/assets/{board-guides-CjHQ9Ynm.js → board-guides-BG-MHK2G.js} +1 -1
  70. package/dist/assets/{bridge.command-DXUeavn5.js → bridge.command-DpUNErKN.js} +3 -3
  71. package/dist/assets/{browserAll-Dg46xT22.js → browserAll-DES3i79H.js} +1 -1
  72. package/dist/assets/{build-player.document-BHwVV3K0.js → build-player.document-B42HrdSU.js} +1 -1
  73. package/dist/assets/{build-profiles.document-HkpS-Kxa.js → build-profiles.document-Di5CQoH9.js} +1 -1
  74. package/dist/assets/{build-progress.status-u1J0Rm1D.js → build-progress.status-B4te7-3j.js} +1 -1
  75. package/dist/assets/{build-session-BLboUUbw.js → build-session-Yw4JoE8T.js} +1 -1
  76. package/dist/assets/{build.action-C00DL83N.js → build.action-B-DBpUj6.js} +1 -1
  77. package/dist/assets/{build.command-Cjk_NY75.js → build.command-CfWoHNp0.js} +1 -1
  78. package/dist/assets/{build.header-BWNmNWFT.js → build.header-BaURztYD.js} +1 -1
  79. package/dist/assets/{build.menu-BBYtqCIq.js → build.menu-BFBn-dPJ.js} +1 -1
  80. package/dist/assets/{build.service-DOU15tKN.js → build.service-D8gYWB3n.js} +1 -1
  81. package/dist/assets/{camera-7DGyYW7Y.js → camera-C-uR_xQp.js} +1 -1
  82. package/dist/assets/{camera-runtime.inspector-n-jiOR-3.js → camera-runtime.inspector-BOGGEqVq.js} +1 -1
  83. package/dist/assets/{canvas-design-mount-CSRHU-ag.js → canvas-design-mount-DamLAaWn.js} +3 -3
  84. package/dist/assets/{canvas-entry-runtime-BST8yRuK.js → canvas-entry-runtime-a6N7Rsrj.js} +2 -2
  85. package/dist/assets/{canvas-preview-frames-Cja32aW2.js → canvas-preview-frames-XbrKuyJu.js} +1 -1
  86. package/dist/assets/{canvas-story-capture.service-D5R5HJ8n.js → canvas-story-capture.service-DYRdEzkG.js} +2 -2
  87. package/dist/assets/{capability-coverage-ByWftxk4.js → capability-coverage-7wKVA3PF.js} +1 -1
  88. package/dist/assets/{collaboration-presence-D6MC9xJN.js → collaboration-presence-DaVKEfxs.js} +1 -1
  89. package/dist/assets/{collider-B78EcUc9.js → collider-BEwlgkG5.js} +1 -1
  90. package/dist/assets/{component-board.service-CkjrsD8x.js → component-board.service-BWSBM2Bb.js} +2 -2
  91. package/dist/assets/{component-board.service-BaQI5Oas.js → component-board.service-C9ZouakC.js} +2 -2
  92. package/dist/assets/{component-board.service-Dvjz_g-x.js → component-board.service-D2eGKqHf.js} +2 -2
  93. package/dist/assets/{component-contracts.service-C3-AXQp7.js → component-contracts.service-D0uElctD.js} +1 -1
  94. package/dist/assets/{component-instance-root-DLI40MiB.js → component-instance-root-C1Xf4SwR.js} +1 -1
  95. package/dist/assets/{component-verbs.command-Brr_WcaR.js → component-verbs.command-N-Tj8KOS.js} +1 -1
  96. package/dist/assets/{component-verbs.service-DC2sC3j3.js → component-verbs.service-CWh4mQ7X.js} +1 -1
  97. package/dist/assets/{config-BI_7osdR.js → config-hmmj-QHZ.js} +2 -2
  98. package/dist/assets/{configurations-XP9YLkrt.js → configurations-B9Pi_eRN.js} +1 -1
  99. package/dist/assets/{connection.status-BhRwcFx0.js → connection.status-C2HPxoww.js} +1 -1
  100. package/dist/assets/{constraints.inspector-Dm1cycK3.js → constraints.inspector-D-h1f3K2.js} +1 -1
  101. package/dist/assets/{content-bounds-DROIchTa.js → content-bounds-7UyI42Vj.js} +1 -1
  102. package/dist/assets/{contract-system-adapters-Cn7OW_ay.js → contract-system-adapters-Bq1LGdjs.js} +1 -1
  103. package/dist/assets/{coverage.service-l42ty7lr.js → coverage.service-BiBikIsV.js} +1 -1
  104. package/dist/assets/{create-runtime-B_uTwsmi.js → create-runtime-Cx-q5z2y.js} +1 -1
  105. package/dist/assets/{curve-THOUsg-j.js → curve-Co_mro-I.js} +1 -1
  106. package/dist/assets/{data-asset-DAANayR6.js → data-asset-Ckx4D_U_.js} +1 -1
  107. package/dist/assets/{data-ref-CN34UeVw.js → data-ref-70PUrMuT.js} +1 -1
  108. package/dist/assets/{debug-bridge-BD1XVAIB.js → debug-bridge-CarsgKpm.js} +1 -1
  109. package/dist/assets/{debug-registry-ggQWxtu-.js → debug-registry-DgYNlhH_.js} +1 -1
  110. package/dist/assets/{deferred-ingest-play-B2JUlwlT.js → deferred-ingest-play-Bpdhu2i-.js} +2 -2
  111. package/dist/assets/{design-time-canvas-mount-as9cN9I6.js → design-time-canvas-mount-Ca9Q75Ui.js} +2 -2
  112. package/dist/assets/{design-time-layers-BRseeSmV.js → design-time-layers-BIb71snu.js} +1 -1
  113. package/dist/assets/{design-time-mount.service-BTVu3yKo.js → design-time-mount.service-DL6ZK2TQ.js} +2 -2
  114. package/dist/assets/{design-time-mount.service-DKvc7lVK.js → design-time-mount.service-zKUVjKAu.js} +2 -2
  115. package/dist/assets/{design-time-react-mount-C7rB56QD.js → design-time-react-mount-NrWimSxY.js} +1 -1
  116. package/dist/assets/{document-preview-three-CxmRhCcV.js → document-preview-three-DoDs6q1q.js} +1 -1
  117. package/dist/assets/{dom-authoring-adapter-L8OzXfmE.js → dom-authoring-adapter-adLQog9l.js} +1 -1
  118. package/dist/assets/{draco3d-BjNuXv66.js → draco3d-aUvQF1Zx.js} +1 -1
  119. package/dist/assets/{edit-mode-audio.service-BwI5u845.js → edit-mode-audio.service-CHZ1ultu.js} +1 -1
  120. package/dist/assets/{edit-mode-authoring-D5f7aHHl.js → edit-mode-authoring-ZQuUwc6e.js} +1 -1
  121. package/dist/assets/{edit-mode-networking.service-DqP_4lbI.js → edit-mode-networking.service-C7fk2fL1.js} +1 -1
  122. package/dist/assets/{editor-api-BM7H_F4G.js → editor-api-C8MUOrwt.js} +1 -1
  123. package/dist/assets/{editor-layers-D-CTUqco.js → editor-layers-CGX7iCSP.js} +1 -1
  124. package/dist/assets/{editor-shell-store-DHVWS8cE.js → editor-shell-store-BRqB1JZO.js} +1 -1
  125. package/dist/assets/{entity-object-MKYemTFM.js → entity-object--ZpqIat7.js} +1 -1
  126. package/dist/assets/{extend-BrgqZiMY.js → extend-BZQIQ18F.js} +1 -1
  127. package/dist/assets/{fork-menu-DE2MK3Nq.js → fork-menu-CziehkPx.js} +1 -1
  128. package/dist/assets/{frame-debugger-store-BXoLKTdZ.js → frame-debugger-store-BOQjrPsh.js} +1 -1
  129. package/dist/assets/{game-contract-seams-tyKDsfaP.js → game-contract-seams-Dgqv6S8X.js} +1 -1
  130. package/dist/assets/{game-css-scope-transform-DcjrwtVc.js → game-css-scope-transform-anfk8vP_.js} +1 -1
  131. package/dist/assets/{game-document.service-CTb2itHQ.js → game-document.service-CqmgrRUA.js} +1 -1
  132. package/dist/assets/game-eval.command-CoetFm6_.js +2 -0
  133. package/dist/assets/{game-module-access-BTInp2NG.js → game-module-access-Cg1EB8Mx.js} +1 -1
  134. package/dist/assets/{game-network-DW5ARz4R.js → game-network-BqI-Ehz0.js} +3 -3
  135. package/dist/assets/{gameplay-export-cHk3v9y-.js → gameplay-export-D0hZoeSg.js} +1 -1
  136. package/dist/assets/{gameplay-replay-HRenPTtU.js → gameplay-replay-BHz6VAVa.js} +1 -1
  137. package/dist/assets/{gameplay.command-DcY2lKKX.js → gameplay.command-CPc9GKuW.js} +1 -1
  138. package/dist/assets/{generation-jobs-CJBehuUp.js → generation-jobs-D-zXQNZI.js} +1 -1
  139. package/dist/assets/{generation.service-BMOc-C9i.js → generation.service-Bwt9lQEG.js} +1 -1
  140. package/dist/assets/{generations-ssgVOe_6.js → generations-d-U9lCVo.js} +1 -1
  141. package/dist/assets/{generations.status-B_SmPReI.js → generations.status-BQ8xhaLN.js} +1 -1
  142. package/dist/assets/{hierarchy-marks-BuCO8Ke-.js → hierarchy-marks-CndAXtie.js} +1 -1
  143. package/dist/assets/{hosted-asset-materialization-CiXZI85V.js → hosted-asset-materialization-r2vKfJGY.js} +1 -1
  144. package/dist/assets/{index-CfpGZrbC.js → index-BPVnvJfX.js} +1 -1
  145. package/dist/assets/{index-BweKDdi_.js → index-BqzpzjSB.js} +1 -1
  146. package/dist/assets/{index-Bm4_DmRO.js → index-CMU7lnXk.js} +1 -1
  147. package/dist/assets/{index-C5ZAyrKq.js → index-Cr9NTnJp.js} +8 -8
  148. package/dist/assets/{index-Czvj6whv.js → index-DSMLYme2.js} +1 -1
  149. package/dist/assets/{index-B0S4fQQV.js → index-DoGlzvsX.js} +1 -1
  150. package/dist/assets/{index-BvBlIRwM.js → index-dlvCCB72.js} +1 -1
  151. package/dist/assets/{index-B9bd4k-t.js → index-xjc_62Ha.js} +1 -1
  152. package/dist/assets/{index-DgPDGGSV.js → index-z0_InXxO.js} +2 -2
  153. package/dist/assets/{inference-diagnostics-DLt9ql9I.js → inference-diagnostics-D5jfxI5p.js} +1 -1
  154. package/dist/assets/{ingest-boot-viewport-BXVXjYpG.js → ingest-boot-viewport-Be0v44yf.js} +1 -1
  155. package/dist/assets/{ingest-siblings-DWJ7OGB_.js → ingest-siblings-BowXSozE.js} +1 -1
  156. package/dist/assets/{ingest-source-persistence-6ShMoSCa.js → ingest-source-persistence-BGIvThcv.js} +1 -1
  157. package/dist/assets/{ingest.service-BBbX8ibg.js → ingest.service-wVm-ZcTI.js} +1 -1
  158. package/dist/assets/{inspect-Cz3Zyx_1.js → inspect-CN92MgRT.js} +1 -1
  159. package/dist/assets/instances.command-B6gJuL1Z.js +1 -0
  160. package/dist/assets/{json-history-resource-Uqrihfc8.js → json-history-resource-C9G_vCX9.js} +1 -1
  161. package/dist/assets/{layered-pick-CAVQMPI7.js → layered-pick-D9tIz_m7.js} +1 -1
  162. package/dist/assets/{light-CqzsCWeJ.js → light-BGbl1a8K.js} +1 -1
  163. package/dist/assets/{live-project-verbs-CdFmLYOo.js → live-project-verbs-p1sdTwhF.js} +1 -1
  164. package/dist/assets/{machine.document-DRIFOVaa.js → machine.document-C1acXU7l.js} +1 -1
  165. package/dist/assets/{machines.finder-DPCT6few.js → machines.finder-sOxNTYPx.js} +1 -1
  166. package/dist/assets/{material-BVApn1V_.js → material-D7289cYI.js} +1 -1
  167. package/dist/assets/{material-factory-B_75xxFD.js → material-factory-D0T-DH8c.js} +1 -1
  168. package/dist/assets/{mesh-DdA3mExo.js → mesh-1A-HHxD6.js} +1 -1
  169. package/dist/assets/{model-asset-sections.service-CJnSIckZ.js → model-asset-sections.service-DF-mllTL.js} +1 -1
  170. package/dist/assets/{model-inspection-DvspbmJl.js → model-inspection-CuVwNVvv.js} +1 -1
  171. package/dist/assets/{model-thumbnail-BmQs-h6t.js → model-thumbnail-xm1Fabi2.js} +1 -1
  172. package/dist/assets/{models.finder-Qv_Hsccy.js → models.finder-DrvU1qGk.js} +1 -1
  173. package/dist/assets/{module-mode-MJ4Gbsry.js → module-mode-BHOAAbgO.js} +2 -2
  174. package/dist/assets/{mount-canvas-ingest-root-BxtM8OaB.js → mount-canvas-ingest-root-aVZkVNh4.js} +2 -2
  175. package/dist/assets/{mount-dom-ingest-root-pGatqO46.js → mount-dom-ingest-root-eOOGPaxi.js} +2 -2
  176. package/dist/assets/{mount-ingest-root-C7jb-mCl.js → mount-ingest-root-BsWbEvr_.js} +2 -2
  177. package/dist/assets/{mount-manifest-BfoHBuzn.js → mount-manifest-t6ipNsoF.js} +1 -1
  178. package/dist/assets/{mount-three-ingest-root-Boa5mcaF.js → mount-three-ingest-root-DIR0wKrN.js} +1 -1
  179. package/dist/assets/{mounted-authoring-DxMISwvR.js → mounted-authoring-DX3DC9PJ.js} +1 -1
  180. package/dist/assets/{mounted-story-viewport-source-DfnLxI1f.js → mounted-story-viewport-source-D8FqGpci.js} +1 -1
  181. package/dist/assets/{native-debug-module-BlrALjM3.js → native-debug-module-CB738yQu.js} +1 -1
  182. package/dist/assets/{navigation-CqG5o5AR.js → navigation-B9ihB0qU.js} +1 -1
  183. package/dist/assets/{navmesh.menu-D4TdVDhe.js → navmesh.menu-CPxr9LPT.js} +1 -1
  184. package/dist/assets/{navmesh.service-DWKT5ruQ.js → navmesh.service-BAtili_Y.js} +1 -1
  185. package/dist/assets/network-observer.service-CqTuZNtI.js +1 -0
  186. package/dist/assets/{network.utility-DjeOEvAY.js → network.utility-CclYEmfV.js} +1 -1
  187. package/dist/assets/{object3d-document-session-registry-CMRJdFp6.js → object3d-document-session-registry-BWeuL0nf.js} +2 -2
  188. package/dist/assets/{oid-transform-DaA6yW6o.js → oid-transform-BYeAsBKI.js} +1 -1
  189. package/dist/assets/{particles-DsQRcDBY.js → particles-BXiQDiB-.js} +1 -1
  190. package/dist/assets/{pixi-authoring-adapter-BoBt8bB5.js → pixi-authoring-adapter-CPsN0Yk7.js} +1 -1
  191. package/dist/assets/{pixi-live-write-target-CYZgvC6U.js → pixi-live-write-target-BUbt5ixX.js} +1 -1
  192. package/dist/assets/{play.command-D9JGJP-e.js → play.command-Bz5Ra6Uj.js} +2 -2
  193. package/dist/assets/{presentation-COhHQdmR.js → presentation-C7ZHYsKF.js} +1 -1
  194. package/dist/assets/{product-CaRGoiIH.js → product-MSpbAqgo.js} +1 -1
  195. package/dist/assets/{profiler.action-Cz7HYWjh.js → profiler.action-1Jbc-7Q4.js} +1 -1
  196. package/dist/assets/{profiler.menu-D5aR_FBy.js → profiler.menu-C544DxWZ.js} +1 -1
  197. package/dist/assets/{profiler.utility-KwxlIPKb.js → profiler.utility-QnzedS3X.js} +1 -1
  198. package/dist/assets/{project-authoring-session-DKXHVwxO.js → project-authoring-session-BhNfg7TY.js} +2 -2
  199. package/dist/assets/{properties-bone-constraints.inspector-Bo-sU8eR.js → properties-bone-constraints.inspector-DRCPfugt.js} +1 -1
  200. package/dist/assets/{properties-bone.inspector-BQiWplQv.js → properties-bone.inspector-CYHeZX0p.js} +1 -1
  201. package/dist/assets/{properties-collection.inspector-C5BnR-GE.js → properties-collection.inspector-DtGhPkiU.js} +1 -1
  202. package/dist/assets/{properties-constraints.inspector-CyheU12R.js → properties-constraints.inspector-TIyIV777.js} +1 -1
  203. package/dist/assets/{properties-data.inspector-CkycARja.js → properties-data.inspector-vA0MTaup.js} +1 -1
  204. package/dist/assets/{properties-material.inspector-Bl_PUmY-.js → properties-material.inspector-C73spBQh.js} +1 -1
  205. package/dist/assets/{properties-modifiers.inspector-j7SnOxQq.js → properties-modifiers.inspector-9oyLBBE0.js} +1 -1
  206. package/dist/assets/{properties-object.inspector-DcR3MGLK.js → properties-object.inspector-7BuiUgbd.js} +1 -1
  207. package/dist/assets/{properties-output.inspector-BLjw6K4b.js → properties-output.inspector-CjYAggz2.js} +1 -1
  208. package/dist/assets/{properties-particles.inspector-BUIm2-Jf.js → properties-particles.inspector-DpSfjykX.js} +1 -1
  209. package/dist/assets/{properties-physics.inspector-DNvRcxb6.js → properties-physics.inspector-BUTvmfU9.js} +1 -1
  210. package/dist/assets/{properties-render.inspector-8FMZ-qoZ.js → properties-render.inspector-CEdsDqbI.js} +1 -1
  211. package/dist/assets/{properties-scene.inspector-Dx7_z75k.js → properties-scene.inspector-4kp0sLNw.js} +1 -1
  212. package/dist/assets/{properties-texture.inspector-WT15951-.js → properties-texture.inspector-Ckpqy9eo.js} +1 -1
  213. package/dist/assets/{properties-view-layer.inspector-P7VNTdqr.js → properties-view-layer.inspector-CQIFbY8-.js} +1 -1
  214. package/dist/assets/{properties-world.inspector-B3t1q8TF.js → properties-world.inspector-xZgNV6rI.js} +1 -1
  215. package/dist/assets/{r3f-design-session-lsbFnoWH.js → r3f-design-session-D8VF-hty.js} +2 -2
  216. package/dist/assets/{r3f-physics-binding-Cx8yhuwt.js → r3f-physics-binding-oippu1v_.js} +1 -1
  217. package/dist/assets/{r3f-source-authoring-adapter-jH3G0TeH.js → r3f-source-authoring-adapter-CZJX6VLM.js} +1 -1
  218. package/dist/assets/{react-canvas-navigation-B_gOe3CI.js → react-canvas-navigation-DuzvnFoN.js} +1 -1
  219. package/dist/assets/{react-inspector.service-CZf1vfdX.js → react-inspector.service-CV4p6nrb.js} +1 -1
  220. package/dist/assets/{react-story-board-CCm2Opwn.js → react-story-board-mhldts6w.js} +1 -1
  221. package/dist/assets/{react-three-rapier.esm-CHXGG51p.js → react-three-rapier.esm-Bo9LjrZe.js} +1 -1
  222. package/dist/assets/{react-world-authoring-adapter-CnzxMtYz.js → react-world-authoring-adapter-CuyruDfq.js} +1 -1
  223. package/dist/assets/{realm-services-Do9J6nsb.js → realm-services-BtiLE3a-.js} +1 -1
  224. package/dist/assets/{reflection-probe-capture.inspector-BAjjIybz.js → reflection-probe-capture.inspector-mrrOHs-9.js} +1 -1
  225. package/dist/assets/{registry-Xnduk02T.js → registry-DpUr2YIM.js} +1 -1
  226. package/dist/assets/{relative-import-specifier-CPFTrxi4.js → relative-import-specifier-CyT6yU4l.js} +1 -1
  227. package/dist/assets/{render-env-YJlI8K0i.js → render-env-C63BGT5v.js} +1 -1
  228. package/dist/assets/{render-features-DMSV2qKJ.js → render-features-CBl6rom9.js} +1 -1
  229. package/dist/assets/{render-settings-CRyDhHyz.js → render-settings-DjarlnjI.js} +1 -1
  230. package/dist/assets/{resolve-three-D27rMc37.js → resolve-three-OiswFiIS.js} +4 -4
  231. package/dist/assets/{root-seam-contract-gjWUd5uu.js → root-seam-contract-BYLQx4CQ.js} +1 -1
  232. package/dist/assets/{run-selection-B0jOdyYt.js → run-selection-BMu0v3qC.js} +1 -1
  233. package/dist/assets/{scene-capture-Di9cM1p4.js → scene-capture-BLf3lJ44.js} +1 -1
  234. package/dist/assets/{scene-document.service-XxGs4HHE.js → scene-document.service-CjPDph5k.js} +2 -2
  235. package/dist/assets/{scene-framing-DkZKDwH3.js → scene-framing-BhNk0WhI.js} +1 -1
  236. package/dist/assets/{seeded-random-BJthDRMu.js → seeded-random-DmdE0u-C.js} +1 -1
  237. package/dist/assets/{session-x8E_NJk2.js → session-CeyQA0Dv.js} +1 -1
  238. package/dist/assets/{setup-renderer-F9mG7t6r.js → setup-renderer-Bf8g2S0f.js} +1 -1
  239. package/dist/assets/{source-object3d-authoring-adapter-CvmFpSUj.js → source-object3d-authoring-adapter-IDRws2Nk.js} +1 -1
  240. package/dist/assets/{source-persistence-backend-au3WtEn6.js → source-persistence-backend-Dzc6MsmN.js} +1 -1
  241. package/dist/assets/{stage-keyboard-BQkndG_D.js → stage-keyboard-CpnIYiph.js} +1 -1
  242. package/dist/assets/{stage-overlay-set-g6eWhuRv.js → stage-overlay-set-BrJzOTCe.js} +1 -1
  243. package/dist/assets/{stage-presence-markers-0CDfO5f4.js → stage-presence-markers-BFTl9Djp.js} +1 -1
  244. package/dist/assets/{stage-transform-tools-BzPl7OIo.js → stage-transform-tools-QaenmSrC.js} +1 -1
  245. package/dist/assets/{standard-viewport-dressing-BW-dM_1h.js → standard-viewport-dressing-DuKH01r4.js} +1 -1
  246. package/dist/assets/{state-watch.action-Z1nQ5awu.js → state-watch.action-BaRZ6YII.js} +1 -1
  247. package/dist/assets/{state-watch.menu-CQHGUF3W.js → state-watch.menu-DR2AtQ6r.js} +1 -1
  248. package/dist/assets/{state-watch.utility-DCIg2i79.js → state-watch.utility-VW8H9Fgi.js} +1 -1
  249. package/dist/assets/{story-capture-BIrjDKeY.js → story-capture-BEVV48wm.js} +1 -1
  250. package/dist/assets/{story-documents-BvG2xeaR.js → story-documents-DndjqJ7Y.js} +1 -1
  251. package/dist/assets/{story-documents.service-y1m7XGMJ.js → story-documents.service-CPrZ7gRM.js} +1 -1
  252. package/dist/assets/{story-documents.service-DOSEa3ja.js → story-documents.service-wCVmBPhh.js} +1 -1
  253. package/dist/assets/{story-media-presence-HLV-KaMj.js → story-media-presence-BSX78yVJ.js} +1 -1
  254. package/dist/assets/{story-pixi-preview-CMhho2gG.js → story-pixi-preview-D4FuH7lJ.js} +1 -1
  255. package/dist/assets/{story-presentation-CYhVv8Ku.js → story-presentation-2AxtnKGb.js} +1 -1
  256. package/dist/assets/{story-three-preview-CgcLF5lE.js → story-three-preview-DjObHSAF.js} +2 -2
  257. package/dist/assets/{studio-environment-R9qXUUcC.js → studio-environment-B--4k2mN.js} +1 -1
  258. package/dist/assets/{surface-state-D8Qnowo6.js → surface-state-CQHVfsma.js} +1 -1
  259. package/dist/assets/{syntactic-prop-specs-8gkBuc5j.js → syntactic-prop-specs-CewRyC4c.js} +1 -1
  260. package/dist/assets/{team-playtest.service-BBMZ2iyk.js → team-playtest.service-B9m6CNk7.js} +1 -1
  261. package/dist/assets/{three-DiL6vMXq.js → three-B86IzdNg.js} +1 -1
  262. package/dist/assets/{three-authoring-adapter-CkLR2zGf.js → three-authoring-adapter-BD8_MtYK.js} +1 -1
  263. package/dist/assets/three-authoring.service-BjJ9wetk.js +2 -0
  264. package/dist/assets/{three-ingest-runtime-CwTqAHgX.js → three-ingest-runtime-CXySzulx.js} +1 -1
  265. package/dist/assets/{three-integration-DXOFI88n.js → three-integration-nl5TC6EF.js} +2 -2
  266. package/dist/assets/three-integration.service-BEk5QkKM.js +1 -0
  267. package/dist/assets/{three-projection-core-B7Lf8tOp.js → three-projection-core-D4m8lsPU.js} +1 -1
  268. package/dist/assets/{three-state-BCACvUtm.js → three-state-C36FeFK4.js} +1 -1
  269. package/dist/assets/{three-story-capture.service-rTFKNtHA.js → three-story-capture.service-C0icETyL.js} +2 -2
  270. package/dist/assets/{three-story-model-BjKr7OMn.js → three-story-model-CqWu9S2a.js} +1 -1
  271. package/dist/assets/{three-viewport-presentation-CBzvc2v2.js → three-viewport-presentation-CCMgGLI2.js} +1 -1
  272. package/dist/assets/tools-BnE3UWVA.js +1 -0
  273. package/dist/assets/{transform-mode-request-DlEApNrA.js → transform-mode-request-CIgYj1Qb.js} +1 -1
  274. package/dist/assets/{transport-strip-xCg94CuI.js → transport-strip-B1AJKpn-.js} +1 -1
  275. package/dist/assets/transport.header-D-n6dQ5n.js +1 -0
  276. package/dist/assets/{tuples-BDz3wbQL.js → tuples-uyiMYXrv.js} +1 -1
  277. package/dist/assets/{ui-board-document-DvbK_HVN.js → ui-board-document-6e4w4a8B.js} +2 -2
  278. package/dist/assets/{user-data-C84W0V47.js → user-data-BXFD1jg-.js} +1 -1
  279. package/dist/assets/{utility-view-state-CDRxZSo-.js → utility-view-state-I_o0WThv.js} +1 -1
  280. package/dist/assets/{viewport-door-BARIpMu-.js → viewport-door-AsLxGhLN.js} +1 -1
  281. package/dist/assets/{viewport-root-presentation-hRLF0BeO.js → viewport-root-presentation-B1qtThOB.js} +1 -1
  282. package/dist/assets/{viewport-surface-status-TUfhXKR9.js → viewport-surface-status-CWmQeKTO.js} +1 -1
  283. package/dist/assets/{webworkerAll-PJtcQ1FD.js → webworkerAll-DC445ANd.js} +1 -1
  284. package/dist/assets/{worker-BtXrsgFy.js → worker-jepHAPPr.js} +1 -1
  285. package/dist/assets/{workspace-arrangement-DqG5sUns.js → workspace-arrangement-dkubzCff.js} +1 -1
  286. package/dist/assets/{world-documents-D69XaqUX.js → world-documents-psBK5u_2.js} +1 -1
  287. package/dist/assets/{world-root-stage-binding-BgZWZEuD.js → world-root-stage-binding-BrvO8VMz.js} +1 -1
  288. package/dist/assets/{xstate-animation-binding-CIyLzGHs.js → xstate-animation-binding-ChVFHSlM.js} +1 -1
  289. package/dist/assets/{xstate-animation-meta-CbYWup3R.js → xstate-animation-meta-D7xnhyCE.js} +1 -1
  290. package/dist-node/cli.js +42 -42
  291. package/dist-node/create.js +5 -5
  292. package/package.json +16 -16
  293. package/template/.agents/references/project-manual.md +1 -2
  294. package/template/.agents/skills/editor/SKILL.md +2 -2
  295. package/template/.agents/skills/editor/agents/openai.yaml +3 -3
  296. package/template/.agents/skills/editor/references/editor-control.md +1 -1
  297. package/template/.agents/skills/volter-ingest-existing-game/SKILL.md +1 -1
  298. package/template/.agents/skills/volter-threejs-authoring/SKILL.md +4 -4
  299. package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +1 -1
  300. package/template/.claude/skills/editor/SKILL.md +2 -2
  301. package/template/.claude/skills/editor/agents/openai.yaml +3 -3
  302. package/template/.claude/skills/editor/references/editor-control.md +1 -1
  303. package/template/.claude/skills/volter-ingest-existing-game/SKILL.md +1 -1
  304. package/template/.claude/skills/volter-threejs-authoring/SKILL.md +4 -4
  305. package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +1 -1
  306. package/template/.github/copilot-instructions.md +1 -1
  307. package/template/.github/skills/editor/SKILL.md +2 -2
  308. package/template/.github/skills/editor/agents/openai.yaml +3 -3
  309. package/template/.github/skills/editor/references/editor-control.md +1 -1
  310. package/template/.github/skills/volter-ingest-existing-game/SKILL.md +1 -1
  311. package/template/.github/skills/volter-threejs-authoring/SKILL.md +4 -4
  312. package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +1 -1
  313. package/template/AGENTS.md +3 -4
  314. package/template/README.md +2 -3
  315. package/template/check-idioms.ts +26 -50
  316. package/template/package.json +10 -10
  317. package/template/server/colyseus-setup.ts +1 -9
  318. package/template/server/main.ts +0 -5
  319. package/template/server/rooms/arena-room.ts +2 -2
  320. package/template/server/rooms/game-room.ts +2 -2
  321. package/template/server/rooms.ts +1 -3
  322. package/template/src/net/NetworkedPlayers.tsx +3 -3
  323. package/template/vite.config.ts +1 -1
  324. package/template-dotfiles/gitignore +1 -1
  325. package/dist/assets/InspectorObjectPreview-CY5xVsPR.js +0 -1
  326. package/dist/assets/Object3DDocumentViewport-D6QoHfa_.js +0 -2
  327. package/dist/assets/active-ingest-0QjJWb7i.js +0 -3
  328. package/dist/assets/autoplay.service-BZLSUyL8.js +0 -1
  329. package/dist/assets/game-eval.command-CpDKXOQU.js +0 -2
  330. package/dist/assets/instances.command-BrdlngrL.js +0 -1
  331. package/dist/assets/network-observer.service-ZRAquNq4.js +0 -1
  332. package/dist/assets/three-authoring.service-CovhlCGx.js +0 -2
  333. package/dist/assets/three-integration.service-rCAqpqSp.js +0 -1
  334. package/dist/assets/tools-DfctM216.js +0 -1
  335. package/dist/assets/transport.header-BRtdky0x.js +0 -1
  336. package/template/server/loopback.ts +0 -76
@@ -1 +1 @@
1
- import{a5 as a}from"./index-C5ZAyrKq.js";import{s as n,n as s}from"./command-results-CUQD49AB.js";import{g as m,a as p}from"./game-network-DW5ARz4R.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-BlrALjM3.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-ggQWxtu-.js";import"./contract-system-adapters-Cn7OW_ay.js";import"./game-contract-seams-tyKDsfaP.js";import"./seeded-random-BJthDRMu.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-CdFmLYOo.js";import"./capability-coverage-ByWftxk4.js";import"./edit-mode-authoring-D5f7aHHl.js";import"./json-history-resource-Uqrihfc8.js";import"./binding-resolver-DGbk9_XR.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-Do9J6nsb.js";import"./canvas-entry-runtime-BST8yRuK.js";import"./three-ingest-runtime-CwTqAHgX.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-0QjJWb7i.js";import"./ingest-source-persistence-6ShMoSCa.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-hRLF0BeO.js";import"./mounted-authoring-DxMISwvR.js";import"./entity-object-MKYemTFM.js";import"./user-data-C84W0V47.js";import"./workspace-arrangement-DqG5sUns.js";import"./three-contract-Dkt6PmWY.js";import"./three-DiL6vMXq.js";import"./editor-layers-D-CTUqco.js";import"./component-instance-root-DLI40MiB.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-CkLR2zGf.js";import"./source-persistence-backend-au3WtEn6.js";import"./three-projection-core-B7Lf8tOp.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-Cx8yhuwt.js";import"./deferred-ingest-play-B2JUlwlT.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CnzxMtYz.js";import"./board-guides-CjHQ9Ynm.js";import"./relative-import-specifier-CPFTrxi4.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Cz3Zyx_1.js";import"./inference-diagnostics-DLt9ql9I.js";import"./writer-tw6EcuVO.js";import"./three-state-BCACvUtm.js";import"./editor-shell-store-DHVWS8cE.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-BARIpMu-.js";const Ge="workspace.command",Le={"list-gameplay-state":{derivedRefresh:"if-content-changed",handle:()=>{const e=a().debug;return e?{ok:!0,data:{providers:e.providers()}}:p()?{ok:!0,data:{providers:[]}}:s()}},"inspect-gameplay-state":{derivedRefresh:"if-content-changed",handle:e=>{const t=a().debug;if(!t)return p()?{ok:!0,data:{state:null}}:s();const r=e.keys;try{const o={};if(r&&r.length>0)for(const i of r)o[i]=t.state(i);else Object.assign(o,t.stateAll());return{ok:!0,data:{state:o}}}catch(o){return n(o)}}},"list-debug-commands":{derivedRefresh:"if-content-changed",handle:()=>{const e=a().debug;return e?{ok:!0,data:{commands:e.commands()}}:p()?{ok:!0,data:{commands:[]}}:s()}},"invoke-debug-command":{derivedRefresh:"always",handle:async e=>{const t=a().debug;if(!t)return p()?{ok:!1,error:`debug: no command registered under "${e.name}" — this game exposes no debug adapter`,data:{code:"DEBUG_COMMAND_NOT_REGISTERED",registered:[]}}:s();try{return{ok:!0,data:{result:await t.invoke(e.name,e.args??[])}}}catch(r){return n(r)}}},"inject-input":{derivedRefresh:"none",handle:e=>{const t=m();if(!t)return{ok:!1,error:"not in play mode — start play before injecting input"};let r;try{r=t.getInputTarget(e.worldId)}catch(o){return n(o)}if(!r)return{ok:!1,error:"this play session has no input door: no root entry exports `debug.input`"};try{if(e.kind==="action"){const i=e.atTick;return typeof i=="number"?(r.scheduleActionAtTick(i,e.action,e.value),{ok:!0,data:{scheduled:!0,tick:i}}):{ok:!0,data:r.setVirtualAction(e.action,e.value)}}const o=e.sourceId;switch(e.kind){case"axis":r.injectAxis(o,e.value);break;case"vector2":r.injectVector2(o,e.value);break;case"pointerDelta":r.injectPointerDelta(o,e.value);break;case"pointerPosition":r.injectPointerPosition(o,e.value);break;default:return{ok:!1,error:`unknown injection kind "${e.kind}"`}}return{ok:!0,data:{delivered:!0}}}catch(o){return n(o)}}},"set-time-scale":{derivedRefresh:"none",handle:e=>{const t=m();return t?(t.loop.timeScale=e.timeScale,{ok:!0,data:{timeScale:t.loop.timeScale}}):{ok:!1,error:"not in play mode — start play before setting time-scale"}}},"set-seed":{derivedRefresh:"none",handle:e=>{const t=m();return t?t.determinismDeclared?t.random?(t.random.reseed(e.seed),{ok:!0,data:{seed:t.random.seed}}):{ok:!1,error:"this play session has no first-party ctx.random to reseed"}:{ok:!1,error:"this project's manifest does not declare determinism.seededRandom — play.seed.set has no documented contract to reseed against (D15)",data:{code:"DETERMINISM_NOT_DECLARED"}}:{ok:!1,error:"not in play mode — start play before setting the seed"}}},"run-ticks":{derivedRefresh:"none",handle:async e=>{const t=m();if(!t)return{ok:!1,error:"not in play mode — start play before running ticks"};if(!t.runTicks)return{ok:!1,error:"this play session has no first-party Game to run ticks on",data:{code:"RUN_TICKS_UNAVAILABLE"}};try{const r=e.n,o=e.render;return t.runTicksSettled?await t.runTicksSettled(r,o?{render:o}:void 0):t.runTicks(r,o?{render:o}:void 0),{ok:!0}}catch(r){return n(r)}}}};export{Le as commands,Ge as point};
1
+ import{a5 as a}from"./index-Cr9NTnJp.js";import{s as n,n as s}from"./command-results-CUQD49AB.js";import{g as m,a as p}from"./game-network-BqI-Ehz0.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-CB738yQu.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-DgYNlhH_.js";import"./contract-system-adapters-Bq1LGdjs.js";import"./game-contract-seams-Dgqv6S8X.js";import"./seeded-random-DmdE0u-C.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-p1sdTwhF.js";import"./capability-coverage-7wKVA3PF.js";import"./edit-mode-authoring-ZQuUwc6e.js";import"./json-history-resource-C9G_vCX9.js";import"./binding-resolver-B9VI52zt.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-BtiLE3a-.js";import"./canvas-entry-runtime-a6N7Rsrj.js";import"./three-ingest-runtime-CXySzulx.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-CjZtqL7Q.js";import"./ingest-source-persistence-BGIvThcv.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-B1qtThOB.js";import"./mounted-authoring-DX3DC9PJ.js";import"./entity-object--ZpqIat7.js";import"./user-data-BXFD1jg-.js";import"./workspace-arrangement-dkubzCff.js";import"./three-contract-Dkt6PmWY.js";import"./three-B86IzdNg.js";import"./editor-layers-CGX7iCSP.js";import"./component-instance-root-C1Xf4SwR.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-BD8_MtYK.js";import"./source-persistence-backend-Dzc6MsmN.js";import"./three-projection-core-D4m8lsPU.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-oippu1v_.js";import"./deferred-ingest-play-Bpdhu2i-.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CuyruDfq.js";import"./board-guides-BG-MHK2G.js";import"./relative-import-specifier-CyT6yU4l.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CN92MgRT.js";import"./inference-diagnostics-D5jfxI5p.js";import"./writer-tw6EcuVO.js";import"./three-state-C36FeFK4.js";import"./editor-shell-store-BRqB1JZO.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-AsLxGhLN.js";const Ge="workspace.command",Le={"list-gameplay-state":{derivedRefresh:"if-content-changed",handle:()=>{const e=a().debug;return e?{ok:!0,data:{providers:e.providers()}}:p()?{ok:!0,data:{providers:[]}}:s()}},"inspect-gameplay-state":{derivedRefresh:"if-content-changed",handle:e=>{const t=a().debug;if(!t)return p()?{ok:!0,data:{state:null}}:s();const r=e.keys;try{const o={};if(r&&r.length>0)for(const i of r)o[i]=t.state(i);else Object.assign(o,t.stateAll());return{ok:!0,data:{state:o}}}catch(o){return n(o)}}},"list-debug-commands":{derivedRefresh:"if-content-changed",handle:()=>{const e=a().debug;return e?{ok:!0,data:{commands:e.commands()}}:p()?{ok:!0,data:{commands:[]}}:s()}},"invoke-debug-command":{derivedRefresh:"always",handle:async e=>{const t=a().debug;if(!t)return p()?{ok:!1,error:`debug: no command registered under "${e.name}" — this game exposes no debug adapter`,data:{code:"DEBUG_COMMAND_NOT_REGISTERED",registered:[]}}:s();try{return{ok:!0,data:{result:await t.invoke(e.name,e.args??[])}}}catch(r){return n(r)}}},"inject-input":{derivedRefresh:"none",handle:e=>{const t=m();if(!t)return{ok:!1,error:"not in play mode — start play before injecting input"};let r;try{r=t.getInputTarget(e.worldId)}catch(o){return n(o)}if(!r)return{ok:!1,error:"this play session has no input door: no root entry exports `debug.input`"};try{if(e.kind==="action"){const i=e.atTick;return typeof i=="number"?(r.scheduleActionAtTick(i,e.action,e.value),{ok:!0,data:{scheduled:!0,tick:i}}):{ok:!0,data:r.setVirtualAction(e.action,e.value)}}const o=e.sourceId;switch(e.kind){case"axis":r.injectAxis(o,e.value);break;case"vector2":r.injectVector2(o,e.value);break;case"pointerDelta":r.injectPointerDelta(o,e.value);break;case"pointerPosition":r.injectPointerPosition(o,e.value);break;default:return{ok:!1,error:`unknown injection kind "${e.kind}"`}}return{ok:!0,data:{delivered:!0}}}catch(o){return n(o)}}},"set-time-scale":{derivedRefresh:"none",handle:e=>{const t=m();return t?(t.loop.timeScale=e.timeScale,{ok:!0,data:{timeScale:t.loop.timeScale}}):{ok:!1,error:"not in play mode — start play before setting time-scale"}}},"set-seed":{derivedRefresh:"none",handle:e=>{const t=m();return t?t.determinismDeclared?t.random?(t.random.reseed(e.seed),{ok:!0,data:{seed:t.random.seed}}):{ok:!1,error:"this play session has no first-party ctx.random to reseed"}:{ok:!1,error:"this project's manifest does not declare determinism.seededRandom — play.seed.set has no documented contract to reseed against (D15)",data:{code:"DETERMINISM_NOT_DECLARED"}}:{ok:!1,error:"not in play mode — start play before setting the seed"}}},"run-ticks":{derivedRefresh:"none",handle:async e=>{const t=m();if(!t)return{ok:!1,error:"not in play mode — start play before running ticks"};if(!t.runTicks)return{ok:!1,error:"this play session has no first-party Game to run ticks on",data:{code:"RUN_TICKS_UNAVAILABLE"}};try{const r=e.n,o=e.render;return t.runTicksSettled?await t.runTicksSettled(r,o?{render:o}:void 0):t.runTicks(r,o?{render:o}:void 0),{ok:!0}}catch(r){return n(r)}}}};export{Le as commands,Ge as point};
@@ -1 +1 @@
1
- import{Y as l,Z as a,a6 as c}from"./index-C5ZAyrKq.js";const g={version:1,jobs:[]};let u=g,i=null,s=0,o=!1;const r=new Set;function w(e,n=null){u=e,i=n,s++;for(const d of r)d()}function J(){return u}function v(){return i}function E(){return s}function y(e){return r.add(e),()=>r.delete(e)}function p(e){return e.status==="queued"||e.status==="running"}function h(e){return!p(e)&&(!e.readAt||Date.parse(e.readAt)<Date.parse(e.updatedAt))}function b(e){return e.filter(h).length}async function t(){try{const e=await fetch("/__editor/generations");w(await l(e,"Generation activity request failed"))}catch(e){i=e instanceof Error?e.message:String(e),s++;for(const n of r)n()}}async function G(){if(!o){o=!0;try{const e=await fetch("/__editor/generations/reconcile",{method:"POST"});a(e,"Generation reconciliation failed"),await t()}finally{o=!1}}}async function _(e){const n=await c(e.poll.tool,e.poll.input);if(!n.ok)throw new Error(n.error.message);if(n.generationWarning)throw new Error(n.generationWarning);return await t(),await f(e.id),n.data}async function S(e){if(!e.accept)throw new Error("This completed generation has no project asset to add.");const n=await c(e.accept.tool,e.accept.input,{confirm:!0});if(!n.ok)throw new Error(n.error.message);if(n.generationWarning)throw new Error(n.generationWarning);await t(),await f(e.id)}async function f(e){const n=await fetch(`/__editor/generations/${encodeURIComponent(e)}/read`,{method:"POST"});a(n,"Mark generation read failed"),await t()}async function T(e){const n=await fetch(`/__editor/generations/${encodeURIComponent(e)}`,{method:"DELETE"});a(n,"Forget generation job failed"),await t()}function A(){t();const e=window.setInterval(()=>void t(),2e3);return()=>{window.clearInterval(e)}}export{b as a,p as b,S as c,v as d,h as e,T as f,J as g,A as h,_ as i,E as j,f as m,G as p,t as r,y as s};
1
+ import{Y as l,Z as a,a6 as c}from"./index-Cr9NTnJp.js";const g={version:1,jobs:[]};let u=g,i=null,s=0,o=!1;const r=new Set;function w(e,n=null){u=e,i=n,s++;for(const d of r)d()}function J(){return u}function v(){return i}function E(){return s}function y(e){return r.add(e),()=>r.delete(e)}function p(e){return e.status==="queued"||e.status==="running"}function h(e){return!p(e)&&(!e.readAt||Date.parse(e.readAt)<Date.parse(e.updatedAt))}function b(e){return e.filter(h).length}async function t(){try{const e=await fetch("/__editor/generations");w(await l(e,"Generation activity request failed"))}catch(e){i=e instanceof Error?e.message:String(e),s++;for(const n of r)n()}}async function G(){if(!o){o=!0;try{const e=await fetch("/__editor/generations/reconcile",{method:"POST"});a(e,"Generation reconciliation failed"),await t()}finally{o=!1}}}async function _(e){const n=await c(e.poll.tool,e.poll.input);if(!n.ok)throw new Error(n.error.message);if(n.generationWarning)throw new Error(n.generationWarning);return await t(),await f(e.id),n.data}async function S(e){if(!e.accept)throw new Error("This completed generation has no project asset to add.");const n=await c(e.accept.tool,e.accept.input,{confirm:!0});if(!n.ok)throw new Error(n.error.message);if(n.generationWarning)throw new Error(n.generationWarning);await t(),await f(e.id)}async function f(e){const n=await fetch(`/__editor/generations/${encodeURIComponent(e)}/read`,{method:"POST"});a(n,"Mark generation read failed"),await t()}async function T(e){const n=await fetch(`/__editor/generations/${encodeURIComponent(e)}`,{method:"DELETE"});a(n,"Forget generation job failed"),await t()}function A(){t();const e=window.setInterval(()=>void t(),2e3);return()=>{window.clearInterval(e)}}export{b as a,p as b,S as c,v as d,h as e,T as f,J as g,A as h,_ as i,E as j,f as m,G as p,t as r,y as s};
@@ -1 +1 @@
1
- import{jf as K,jg as Y,f9 as I,dq as D,g$ as E,jh as Q,ji as A,aM as X,a0 as p,h1 as H,fl as Z,jj as ee,jk as te,jl as b,jm as ne,jn as re,jo as ae,jp as oe,jq as se,jr as ie,cO as le,aK as h,hV as ce,ex as P,hG as R,dV as B,O as de,a1 as M,gc as ue,js as me,jt as ge,ju as pe,gY as ve,jv as fe,b6 as he,jw as xe,f3 as je,a7 as ye,f5 as Ce}from"./index-C5ZAyrKq.js";import{a as t}from"./jsx-runtime-DPjLkJKQ.js";import{r as u}from"./index-nmcBqr7Y.js";import{m as Ne}from"./model-thumbnail-BmQs-h6t.js";import"./index-CtzuWnCS.js";import{s as T,g as x,c as _,f as L,i as Ee,b as q,p as Se,r as z,d as ke,e as Te,m as $e,h as we,j as Ae,a as be}from"./generation-jobs-CJBehuUp.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./renderer-ownership-BovSEcLv.js";import"./studio-environment-R9qXUUcC.js";import"./user-data-C84W0V47.js";import"./workspace-arrangement-DqG5sUns.js";import"./KTX2Loader-CaqVE6nY.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";function j(e){switch(e.status){case"queued":return"queued";case"running":return"running";case"failed":return"failed";case"cancelled":return"cancelled";default:return e.acceptedAt?"ready":e.accept?e.pollError?"save-failed":"saving":"no-asset"}}function J(e){const n=j(e);return n!=="queued"&&n!=="running"&&n!=="saving"}function U(e,n){return e.status==="succeeded"&&!!e.accept&&!e.acceptedAt&&!!(e.pollError??n)}const $={queued:"Queued",running:"Running",saving:"Saving","save-failed":"Couldn't save",ready:"In project","no-asset":"No file",failed:"Failed",cancelled:"Cancelled"},Re=new Map([...["png","jpg","jpeg","webp","gif","avif","svg","bmp"].map(e=>[e,"image"]),...["mp4","webm","ogv","mov","m4v"].map(e=>[e,"video"]),...["mp3","wav","ogg","oga","m4a","flac","aac"].map(e=>[e,"audio"]),...["glb","gltf","fbx","obj","stl","ply","dae","3ds","usdz","spz"].map(e=>[e,"model"])]);function Oe(e){const n=e.slice(e.lastIndexOf("/")+1).toLowerCase(),r=n.lastIndexOf(".");return r>0?n.slice(r+1):""}function F(e){return(e.outputPaths??[]).map(n=>{const r=K.find(a=>n.startsWith(`${a}/`)),o=r?Y(r,n.slice(r.length+1)):null;return{path:n,name:n.slice(n.lastIndexOf("/")+1),kind:Re.get(Oe(n))??"file",url:o}})}function O(e,n){const r=e.trim();return r.length<=n?r:`${r.slice(0,n-1).trimEnd()}…`}function N(e){const n=De(e);if(n)return n;const r=F(e);if(r.length===0)return O(e.label,64);const o=r[0],a=Ie(o.path);return r.length>1?a?`${a} · ${r.length} files`:`${r.length} files`:Ge.test(o.name)?a?`${a}/${o.name}`:O(e.label,64):o.name}const Ge=/^(image|video|audio|model|panorama|output)(-\d+)?\./;function Ie(e){const n=e.split("/").slice(-2,-1)[0];return n?/^[0-9a-f]{8,}$/i.test(n)||/^[0-9a-f-]{16,}$/i.test(n)?null:n:null}function De(e){const n=e.accept?.input;if(!n||typeof n!="object")return null;const r=n.outputName;return typeof r=="string"&&r.trim().length>0?r.trim():null}function Pe(e){for(const n of[e.accept?.input,e.poll.input]){const r=W(n,0);if(r)return r}return null}function W(e,n){if(n>3||typeof e!="object"||e===null)return null;const r=e,o=r.prompt;if(typeof o=="string"&&o.trim().length>0)return o.trim();for(const a of Object.values(r)){const l=W(a,n+1);if(l)return l}return null}function G(e){return e.operation}function Be(e){return e.mode==="managed"?"VOLTER subscription":e.mode==="direct"?"Your provider key":"Mock"}function Me(e){return e.route==="mock"?"Free · mock":e.route==="managed"?e.settledCredits!==void 0?`${e.settledCredits} credits`:e.estimatedCredits!==void 0?`Up to ${e.estimatedCredits} credits`:"Credit estimate unavailable":e.settledAmount!==void 0?`$${e.settledAmount.toFixed(3)}`:e.estimatedAmount!==void 0?`Up to $${e.estimatedAmount.toFixed(3)}`:"USD estimate unavailable"}function _e(e){return e.route==="mock"?!0:e.route==="managed"?e.settledCredits!==void 0:e.settledAmount!==void 0}function Le(e){const n=Math.floor((Date.now()-Date.parse(e))/6e4);if(!Number.isFinite(n)||n<1)return"just now";if(n<60)return`${n}m ago`;const r=Math.floor(n/60);if(r<24)return`${r}h ago`;const o=Math.floor(r/24);return o<7?`${o}d ago`:`${Math.floor(o/7)}w ago`}const S="generation:",qe="generation:create";function ze(e){return e.route==="mock"?"Free mock":e.route==="managed"?e.settledCredits!==void 0?`${e.settledCredits} credits settled`:e.estimatedCredits!==void 0?`Up to ${e.estimatedCredits} credits`:"VOLTER subscription · estimate unavailable":e.settledAmount!==void 0?`$${e.settledAmount.toFixed(3)} settled`:e.estimatedAmount!==void 0?`Up to $${e.estimatedAmount.toFixed(3)}`:"BYOK · estimate unavailable"}function V(e){return I({id:`${S}${e.id}`,title:e.label,kind:"generation",workspaceRole:"authored-subject",provenance:{origin:`${e.provider}:${e.externalId}`},Content:Fe,closeable:!0,presentation:()=>({kind:"generation",id:e.id})})}function k(){return I({id:qe,title:"Create Asset",kind:"generation",workspaceRole:"workspace-task",provenance:{origin:"registered generation tools"},Content:Je,closeable:!0,presentation:()=>({kind:"generation",id:"create"})})}function Je(){u.useSyncExternalStore(D,E),u.useSyncExternalStore(Q,A,A);const e=ee(),[n,r]=u.useState(""),o=n.trim().toLowerCase(),a=E().filter(i=>i.point==="workspace.document"&&i.tool?.generation?.role==="submit").filter(i=>o?[i.title,i.tool?.generation?.provider,i.tool?.summary,i.tool?.description].filter(Boolean).some(c=>String(c).toLowerCase().includes(o)):!0),l=new Map;for(const i of a){const c=i.tool?.generation?.provider??"other";l.set(c,[...l.get(c)??[],i])}return t.jsxs("div",{className:"volter-tool-page","data-testid":"generation-create-catalog",children:[t.jsxs("header",{className:"volter-tool-header",children:[t.jsx("div",{className:"volter-tool-eyebrow",children:"Installed provider extensions"}),t.jsx("h2",{className:"volter-tool-title",children:"Create an asset"}),t.jsxs("p",{className:"volter-tool-description",children:["Choose a native provider operation. Mock, managed, and BYOK execution remain explicit in the operation you open. Current default: ",e.preferredRoute,"."]})]}),t.jsx(X,{type:"search","aria-label":"Search generation tools",placeholder:"Search operations or providers…",value:n,onChange:i=>r(i.target.value)}),[...l.entries()].map(([i,c])=>t.jsxs("section",{className:"volter-tool-card",children:[t.jsx("h3",{className:"volter-tool-section-title",children:i}),t.jsx("div",{className:"volter-generation-create-grid",children:c.map(m=>t.jsxs(p,{variant:"ghost",className:"volter-generation-create-card",onClick:()=>H(m.id),children:[t.jsx("strong",{children:m.title}),t.jsx("span",{children:m.tool?.summary})]},m.id))})]},i)),a.length===0&&t.jsx("div",{className:"volter-generation-document-empty",children:"No installed generation operation matches this search."})]})}function Ue({job:e,result:n,documentId:r,active:o}){u.useSyncExternalStore(D,E),u.useSyncExternalStore(te,b,b);const a=ne(e.poll.tool,e,n);if(!a)return t.jsx("pre",{className:"volter-generation-native-result",children:JSON.stringify(n,null,2)});const l=a.Component;return t.jsx(re,{file:a.file,children:t.jsx(l,{tool:a.tool,contributionId:a.id,client:ie(),surfaces:ae,account:se(),play:oe(),documentId:r,active:o,job:e,result:n})})}function Fe({documentId:e,active:n}){const{jobs:r}=u.useSyncExternalStore(T,x,x),o=e.startsWith(S)?e.slice(S.length):e,a=r.find(d=>d.id===o),[l,i]=u.useState(),[c,m]=u.useState(!1),[s,g]=u.useState(null),[v,f]=u.useState(!1),y=async d=>{m(!0),g(null);try{i(await Ee(d))}catch(C){g(C instanceof Error?C.message:String(C))}finally{m(!1)}};if(u.useEffect(()=>{a&&y(a)},[a?.id,a?.status]),!a)return t.jsx("div",{className:"volter-generation-document-empty",children:"This generation is no longer in project activity."});const w=s??(j(a)==="save-failed"?`Could not save into the project: ${a.pollError}`:null);return t.jsxs("div",{className:"volter-generation-document","data-status":a.status,children:[t.jsxs("header",{className:"volter-generation-document-header",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"volter-tool-eyebrow",children:[a.provider," · ",a.operation]}),t.jsx("h2",{className:"volter-tool-title",children:a.label}),t.jsxs("div",{className:"volter-generation-job-meta",children:[$[j(a)]," · ",ze(a.billing)]})]}),t.jsxs("div",{className:"volter-tool-actions",children:[t.jsx(p,{size:"compact",variant:"ghost",disabled:c,onClick:()=>void y(a),children:c?"Refreshing…":"Refresh"}),U(a,s)&&t.jsx(p,{size:"compact",variant:"primary",disabled:v,onClick:()=>{f(!0),g(null),_(a).catch(d=>g(d instanceof Error?d.message:String(d))).finally(()=>f(!1))},children:v?"Saving…":"Retry save"})]})]}),a.message&&t.jsx("div",{className:"volter-tool-status",children:a.message}),w&&t.jsx("div",{className:"volter-tool-status","data-tone":"error",role:"alert",children:w}),t.jsx("section",{className:"volter-generation-result","aria-label":"Generation result",children:l===void 0?t.jsx("div",{className:"volter-generation-document-empty",children:c?"Loading provider result…":"No provider result is available yet."}):t.jsx(Ue,{job:a,result:l,documentId:e,active:n})}),a.outputPaths&&a.outputPaths.length>0&&t.jsxs("section",{className:"volter-generation-output-paths",children:[t.jsx("strong",{children:"Project assets"}),a.outputPaths.map(d=>t.jsx("code",{children:d},d))]}),J(a)&&t.jsx("div",{className:"volter-generation-document-footer",children:t.jsx(p,{size:"compact",variant:"ghost",disabled:v,onClick:()=>{f(!0),L(a.id).then(()=>Z(e)).catch(d=>g(d instanceof Error?d.message:String(d))).finally(()=>f(!1))},children:"Remove from activity"})})]})}function We({output:e,onOpen:n}){const r=e.url;if(r&&e.kind==="image"){const o=t.jsx("img",{className:"volter-generation-output-media",src:r,alt:e.name,loading:"lazy"});return n?t.jsx(p,{variant:"ghost",className:"volter-generation-output-open",onClick:n,"aria-label":`Open ${e.name}`,children:o}):o}return r&&e.kind==="video"?t.jsx("video",{className:"volter-generation-output-media",src:r,controls:!0,preload:"metadata",playsInline:!0,title:e.name}):r&&e.kind==="audio"?t.jsxs("div",{className:"volter-generation-output-audio",children:[t.jsx(me,{url:r,name:e.name}),t.jsx("audio",{src:r,controls:!0,preload:"metadata",title:e.name})]}):e.url&&e.kind==="model"&&Ne(e.url)?t.jsx(ge,{url:e.url}):t.jsxs("div",{className:"volter-generation-output-file",children:[t.jsx(M,{icon:e.kind==="model"?pe:ve}),t.jsx(h,{variant:"caption",tone:"muted",children:e.name}),n&&t.jsx(p,{size:"compact",variant:"ghost",onClick:n,children:"Open file"})]})}const Ve={queued:"loading",running:"loading",saving:"loading","save-failed":"error",ready:"success","no-asset":"neutral",failed:"error",cancelled:"neutral"},Ke={queued:e=>e.queuePosition===void 0?"Waiting for the provider to start.":`Position ${e.queuePosition} in the provider queue.`,running:e=>e.message??"The provider is working on it.",saving:()=>"Downloading the finished output into this project.","save-failed":e=>e.pollError??"The finished output could not be saved.",ready:()=>"Saved into this project.","no-asset":()=>"The operation finished without a file this project can hold.",failed:e=>e.message??"The provider reported a failure.",cancelled:()=>"This generation was cancelled."};function Ye({job:e,state:n}){const r=n==="queued"||n==="running"||n==="saving",o=n==="failed"||n==="save-failed";return t.jsxs("div",{className:"volter-generation-state-media","data-state":n,children:[t.jsx(P,{compact:!0,tone:Ve[n],...o?{icon:t.jsx(M,{icon:ue})}:{},title:$[n],description:Ke[n](e)}),r&&t.jsx("progress",{className:"volter-generation-progress","aria-label":`${e.label} progress`,...n==="running"&&e.progress!==void 0?{value:e.progress,max:1}:{}})]})}function Qe({job:e,busy:n,error:r,run:o}){return t.jsxs("div",{className:"volter-generation-card-actions",children:[U(e,r)&&t.jsx(p,{size:"compact",variant:"primary",disabled:n,onClick:()=>o(()=>_(e)),children:n?"Saving…":"Retry save"}),t.jsx(p,{size:"compact",variant:"ghost",onClick:()=>V(e),children:"Details"}),J(e)&&t.jsx(p,{size:"compact",variant:"ghost",disabled:n,onClick:()=>o(()=>L(e.id)),children:"Remove"})]})}function Xe({job:e,busy:n,error:r,run:o}){const a=j(e),l=F(e),i=Pe(e),c=Te(e),m=s=>{if(!s.url)return;const g=fe(he(s.name));if(g)return()=>xe(s.url,g)};return t.jsxs("article",{className:"volter-generation-card","data-state":a,"aria-busy":q(e),"aria-label":N(e),onClickCapture:()=>{c&&$e(e.id).catch(s=>{de.warn(`Could not mark generation as seen: ${s instanceof Error?s.message:String(s)}`,"generations")})},children:[t.jsx("div",{className:"volter-generation-card-media","data-outputs":Math.min(l.length,4),children:l.length===0?t.jsx(Ye,{job:e,state:a}):l.map(s=>t.jsx("div",{className:"volter-generation-output",title:s.path,children:t.jsx(We,{output:s,onOpen:m(s)})},s.path))}),t.jsxs("div",{className:"volter-generation-card-body",children:[t.jsxs("div",{className:"volter-generation-card-heading",children:[t.jsx(h,{variant:"label",truncate:!0,title:N(e),children:N(e)}),t.jsxs(R,{className:"volter-generation-chip","data-state":a,children:[$[a],a==="running"&&e.progress!==void 0?` · ${Math.round(e.progress*100)}%`:""]}),c&&t.jsx(R,{className:"volter-generation-chip","data-state":"new",children:"New"})]}),t.jsxs(h,{variant:"caption",tone:"muted",truncate:!0,title:G(e),children:[e.provider," · ",G(e)]}),t.jsxs(h,{variant:"caption",tone:"dim",children:[Me(e.billing),_e(e.billing)?"":" (est.)"," · ",Be(e)," ·"," ",Le(e.updatedAt)]}),i&&t.jsx("p",{className:"volter-generation-card-prompt",title:i,children:i}),(r??e.pollError)&&t.jsx(B,{tone:r||a==="save-failed"?"error":"warning",className:"volter-generation-card-alert",children:r??(a==="save-failed"?`Could not save into the project: ${e.pollError}`:`Polling will retry: ${e.pollError}`)}),t.jsx(Qe,{job:e,busy:n,error:r,run:o})]})]})}function He(){const{jobs:e}=u.useSyncExternalStore(T,x,x),[n,r]=u.useState(null),[o,a]=u.useState({}),l=e.filter(q).length,i=e.filter(s=>j(s)==="saving").length,c=async(s,g)=>{r(s),a(v=>{const f={...v};return delete f[s],f});try{await g()}catch(v){const f=v instanceof Error?v.message:String(v);a(y=>({...y,[s]:f}))}finally{r(null)}},m=ke();return t.jsxs("div",{className:"volter-generation-gallery",children:[t.jsxs(le,{label:"Generations",compact:!0,className:"volter-generation-gallery-bar",children:[t.jsx(h,{variant:"label",children:"Generations"}),t.jsxs(h,{variant:"caption",tone:"muted",children:[e.length," ",e.length===1?"generation":"generations",l>0?` · ${l} running`:"",i>0?` · ${i} saving`:""]}),t.jsx(ce,{}),t.jsx(p,{size:"compact",variant:"ghost",onClick:()=>void Se().then(z),children:"Refresh"}),t.jsx(p,{size:"compact",variant:"primary",onClick:()=>k(),children:"New asset"})]}),m&&t.jsx(B,{tone:"error",className:"volter-generation-gallery-alert",children:m}),e.length===0?t.jsx(P,{className:"volter-generation-gallery-empty",title:"No generated assets yet",description:"Preview generated images, video, audio and models here. Create an asset to get started.",action:t.jsx(p,{size:"compact",variant:"primary",onClick:()=>k(),children:"New asset"})}):t.jsx("section",{className:"volter-generation-grid","aria-label":"Generated assets",children:e.map(s=>t.jsx(Xe,{job:s,busy:n===s.id,error:o[s.id]??null,run:g=>void c(s.id,g)},s.id))})]})}const kt="workspace.service",Ze="generation";function et(){const e=be(x().jobs);return e>0?{count:e,severity:"info"}:null}function Tt(){const e=[we(),je({...ye.generations,order:15,Content:He,badge:et,subscribeBadge:T,badgeSnapshot:Ae,visibleByDefault:!1,closeable:!0}),Ce({id:Ze,owner:"@volter/editor-game/generation",open:(n,r)=>{if(r.id==="create")return k();const o=x().jobs.find(a=>a.id===r.id);return o?V(o):null},settle:z})];return()=>{for(const n of e)n()}}export{kt as point,Tt as start};
1
+ import{jf as K,jg as Y,f9 as I,dq as D,g$ as E,jh as Q,ji as A,aM as X,a0 as p,h1 as H,fl as Z,jj as ee,jk as te,jl as b,jm as ne,jn as re,jo as ae,jp as oe,jq as se,jr as ie,cO as le,aK as h,hV as ce,ex as P,hG as R,dV as B,O as de,a1 as M,gc as ue,js as me,jt as ge,ju as pe,gY as ve,jv as fe,b6 as he,jw as xe,f3 as je,a7 as ye,f5 as Ce}from"./index-Cr9NTnJp.js";import{a as t}from"./jsx-runtime-DPjLkJKQ.js";import{r as u}from"./index-nmcBqr7Y.js";import{m as Ne}from"./model-thumbnail-xm1Fabi2.js";import"./index-CtzuWnCS.js";import{s as T,g as x,c as _,f as q,i as Ee,b as z,p as Se,r as J,d as ke,e as Te,m as $e,h as we,j as Ae,a as be}from"./generation-jobs-D-zXQNZI.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./renderer-ownership-BovSEcLv.js";import"./studio-environment-B--4k2mN.js";import"./user-data-BXFD1jg-.js";import"./workspace-arrangement-dkubzCff.js";import"./KTX2Loader-CaqVE6nY.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";function j(e){switch(e.status){case"queued":return"queued";case"running":return"running";case"failed":return"failed";case"cancelled":return"cancelled";default:return e.acceptedAt?"ready":e.accept?e.pollError?"save-failed":"saving":"no-asset"}}function U(e){const n=j(e);return n!=="queued"&&n!=="running"&&n!=="saving"}function F(e,n){return e.status==="succeeded"&&!!e.accept&&!e.acceptedAt&&!!(e.pollError??n)}const $={queued:"Queued",running:"Running",saving:"Saving","save-failed":"Couldn't save",ready:"In project","no-asset":"No file",failed:"Failed",cancelled:"Cancelled"},Re=new Map([...["png","jpg","jpeg","webp","gif","avif","svg","bmp"].map(e=>[e,"image"]),...["mp4","webm","ogv","mov","m4v"].map(e=>[e,"video"]),...["mp3","wav","ogg","oga","m4a","flac","aac"].map(e=>[e,"audio"]),...["glb","gltf","fbx","obj","stl","ply","dae","3ds","usdz","spz"].map(e=>[e,"model"])]);function Oe(e){const n=e.slice(e.lastIndexOf("/")+1).toLowerCase(),r=n.lastIndexOf(".");return r>0?n.slice(r+1):""}function L(e){return(e.outputPaths??[]).map(n=>{const r=K.find(a=>n.startsWith(`${a}/`)),o=r?Y(r,n.slice(r.length+1)):null;return{path:n,name:n.slice(n.lastIndexOf("/")+1),kind:Re.get(Oe(n))??"file",url:o}})}function O(e,n){const r=e.trim();return r.length<=n?r:`${r.slice(0,n-1).trimEnd()}…`}function N(e){const n=De(e);if(n)return n;const r=L(e);if(r.length===0)return O(e.label,64);const o=r[0],a=Ie(o.path);return r.length>1?a?`${a} · ${r.length} files`:`${r.length} files`:Ge.test(o.name)?a?`${a}/${o.name}`:O(e.label,64):o.name}const Ge=/^(image|video|audio|model|panorama|output)(-\d+)?\./;function Ie(e){const n=e.split("/").slice(-2,-1)[0];return n?/^[0-9a-f]{8,}$/i.test(n)||/^[0-9a-f-]{16,}$/i.test(n)?null:n:null}function De(e){const n=e.accept?.input;if(!n||typeof n!="object")return null;const r=n.outputName;return typeof r=="string"&&r.trim().length>0?r.trim():null}function Pe(e){for(const n of[e.accept?.input,e.poll.input]){const r=W(n,0);if(r)return r}return null}function W(e,n){if(n>3||typeof e!="object"||e===null)return null;const r=e,o=r.prompt;if(typeof o=="string"&&o.trim().length>0)return o.trim();for(const a of Object.values(r)){const l=W(a,n+1);if(l)return l}return null}function G(e){return e.operation}function Be(e){return e.mode==="managed"?"Volter subscription":e.mode==="direct"?"Your provider key":"Mock"}function Me(e){return e.route==="mock"?"Free · mock":e.route==="managed"?e.settledCredits!==void 0?`${e.settledCredits} credits`:e.estimatedCredits!==void 0?`Up to ${e.estimatedCredits} credits`:"Credit estimate unavailable":e.settledAmount!==void 0?`$${e.settledAmount.toFixed(3)}`:e.estimatedAmount!==void 0?`Up to $${e.estimatedAmount.toFixed(3)}`:"USD estimate unavailable"}function _e(e){return e.route==="mock"?!0:e.route==="managed"?e.settledCredits!==void 0:e.settledAmount!==void 0}function qe(e){const n=Math.floor((Date.now()-Date.parse(e))/6e4);if(!Number.isFinite(n)||n<1)return"just now";if(n<60)return`${n}m ago`;const r=Math.floor(n/60);if(r<24)return`${r}h ago`;const o=Math.floor(r/24);return o<7?`${o}d ago`:`${Math.floor(o/7)}w ago`}const S="generation:",ze="generation:create";function Je(e){return e.route==="mock"?"Free mock":e.route==="managed"?e.settledCredits!==void 0?`${e.settledCredits} credits settled`:e.estimatedCredits!==void 0?`Up to ${e.estimatedCredits} credits`:"Volter subscription · estimate unavailable":e.settledAmount!==void 0?`$${e.settledAmount.toFixed(3)} settled`:e.estimatedAmount!==void 0?`Up to $${e.estimatedAmount.toFixed(3)}`:"BYOK · estimate unavailable"}function V(e){return I({id:`${S}${e.id}`,title:e.label,kind:"generation",workspaceRole:"authored-subject",provenance:{origin:`${e.provider}:${e.externalId}`},Content:Le,closeable:!0,presentation:()=>({kind:"generation",id:e.id})})}function k(){return I({id:ze,title:"Create Asset",kind:"generation",workspaceRole:"workspace-task",provenance:{origin:"registered generation tools"},Content:Ue,closeable:!0,presentation:()=>({kind:"generation",id:"create"})})}function Ue(){u.useSyncExternalStore(D,E),u.useSyncExternalStore(Q,A,A);const e=ee(),[n,r]=u.useState(""),o=n.trim().toLowerCase(),a=E().filter(i=>i.point==="workspace.document"&&i.tool?.generation?.role==="submit").filter(i=>o?[i.title,i.tool?.generation?.provider,i.tool?.summary,i.tool?.description].filter(Boolean).some(c=>String(c).toLowerCase().includes(o)):!0),l=new Map;for(const i of a){const c=i.tool?.generation?.provider??"other";l.set(c,[...l.get(c)??[],i])}return t.jsxs("div",{className:"volter-tool-page","data-testid":"generation-create-catalog",children:[t.jsxs("header",{className:"volter-tool-header",children:[t.jsx("div",{className:"volter-tool-eyebrow",children:"Installed provider extensions"}),t.jsx("h2",{className:"volter-tool-title",children:"Create an asset"}),t.jsxs("p",{className:"volter-tool-description",children:["Choose a native provider operation. Mock, managed, and BYOK execution remain explicit in the operation you open. Current default: ",e.preferredRoute,"."]})]}),t.jsx(X,{type:"search","aria-label":"Search generation tools",placeholder:"Search operations or providers…",value:n,onChange:i=>r(i.target.value)}),[...l.entries()].map(([i,c])=>t.jsxs("section",{className:"volter-tool-card",children:[t.jsx("h3",{className:"volter-tool-section-title",children:i}),t.jsx("div",{className:"volter-generation-create-grid",children:c.map(m=>t.jsxs(p,{variant:"ghost",className:"volter-generation-create-card",onClick:()=>H(m.id),children:[t.jsx("strong",{children:m.title}),t.jsx("span",{children:m.tool?.summary})]},m.id))})]},i)),a.length===0&&t.jsx("div",{className:"volter-generation-document-empty",children:"No installed generation operation matches this search."})]})}function Fe({job:e,result:n,documentId:r,active:o}){u.useSyncExternalStore(D,E),u.useSyncExternalStore(te,b,b);const a=ne(e.poll.tool,e,n);if(!a)return t.jsx("pre",{className:"volter-generation-native-result",children:JSON.stringify(n,null,2)});const l=a.Component;return t.jsx(re,{file:a.file,children:t.jsx(l,{tool:a.tool,contributionId:a.id,client:ie(),surfaces:ae,account:se(),play:oe(),documentId:r,active:o,job:e,result:n})})}function Le({documentId:e,active:n}){const{jobs:r}=u.useSyncExternalStore(T,x,x),o=e.startsWith(S)?e.slice(S.length):e,a=r.find(d=>d.id===o),[l,i]=u.useState(),[c,m]=u.useState(!1),[s,g]=u.useState(null),[v,f]=u.useState(!1),y=async d=>{m(!0),g(null);try{i(await Ee(d))}catch(C){g(C instanceof Error?C.message:String(C))}finally{m(!1)}};if(u.useEffect(()=>{a&&y(a)},[a?.id,a?.status]),!a)return t.jsx("div",{className:"volter-generation-document-empty",children:"This generation is no longer in project activity."});const w=s??(j(a)==="save-failed"?`Could not save into the project: ${a.pollError}`:null);return t.jsxs("div",{className:"volter-generation-document","data-status":a.status,children:[t.jsxs("header",{className:"volter-generation-document-header",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"volter-tool-eyebrow",children:[a.provider," · ",a.operation]}),t.jsx("h2",{className:"volter-tool-title",children:a.label}),t.jsxs("div",{className:"volter-generation-job-meta",children:[$[j(a)]," · ",Je(a.billing)]})]}),t.jsxs("div",{className:"volter-tool-actions",children:[t.jsx(p,{size:"compact",variant:"ghost",disabled:c,onClick:()=>void y(a),children:c?"Refreshing…":"Refresh"}),F(a,s)&&t.jsx(p,{size:"compact",variant:"primary",disabled:v,onClick:()=>{f(!0),g(null),_(a).catch(d=>g(d instanceof Error?d.message:String(d))).finally(()=>f(!1))},children:v?"Saving…":"Retry save"})]})]}),a.message&&t.jsx("div",{className:"volter-tool-status",children:a.message}),w&&t.jsx("div",{className:"volter-tool-status","data-tone":"error",role:"alert",children:w}),t.jsx("section",{className:"volter-generation-result","aria-label":"Generation result",children:l===void 0?t.jsx("div",{className:"volter-generation-document-empty",children:c?"Loading provider result…":"No provider result is available yet."}):t.jsx(Fe,{job:a,result:l,documentId:e,active:n})}),a.outputPaths&&a.outputPaths.length>0&&t.jsxs("section",{className:"volter-generation-output-paths",children:[t.jsx("strong",{children:"Project assets"}),a.outputPaths.map(d=>t.jsx("code",{children:d},d))]}),U(a)&&t.jsx("div",{className:"volter-generation-document-footer",children:t.jsx(p,{size:"compact",variant:"ghost",disabled:v,onClick:()=>{f(!0),q(a.id).then(()=>Z(e)).catch(d=>g(d instanceof Error?d.message:String(d))).finally(()=>f(!1))},children:"Remove from activity"})})]})}function We({output:e,onOpen:n}){const r=e.url;if(r&&e.kind==="image"){const o=t.jsx("img",{className:"volter-generation-output-media",src:r,alt:e.name,loading:"lazy"});return n?t.jsx(p,{variant:"ghost",className:"volter-generation-output-open",onClick:n,"aria-label":`Open ${e.name}`,children:o}):o}return r&&e.kind==="video"?t.jsx("video",{className:"volter-generation-output-media",src:r,controls:!0,preload:"metadata",playsInline:!0,title:e.name}):r&&e.kind==="audio"?t.jsxs("div",{className:"volter-generation-output-audio",children:[t.jsx(me,{url:r,name:e.name}),t.jsx("audio",{src:r,controls:!0,preload:"metadata",title:e.name})]}):e.url&&e.kind==="model"&&Ne(e.url)?t.jsx(ge,{url:e.url}):t.jsxs("div",{className:"volter-generation-output-file",children:[t.jsx(M,{icon:e.kind==="model"?pe:ve}),t.jsx(h,{variant:"caption",tone:"muted",children:e.name}),n&&t.jsx(p,{size:"compact",variant:"ghost",onClick:n,children:"Open file"})]})}const Ve={queued:"loading",running:"loading",saving:"loading","save-failed":"error",ready:"success","no-asset":"neutral",failed:"error",cancelled:"neutral"},Ke={queued:e=>e.queuePosition===void 0?"Waiting for the provider to start.":`Position ${e.queuePosition} in the provider queue.`,running:e=>e.message??"The provider is working on it.",saving:()=>"Downloading the finished output into this project.","save-failed":e=>e.pollError??"The finished output could not be saved.",ready:()=>"Saved into this project.","no-asset":()=>"The operation finished without a file this project can hold.",failed:e=>e.message??"The provider reported a failure.",cancelled:()=>"This generation was cancelled."};function Ye({job:e,state:n}){const r=n==="queued"||n==="running"||n==="saving",o=n==="failed"||n==="save-failed";return t.jsxs("div",{className:"volter-generation-state-media","data-state":n,children:[t.jsx(P,{compact:!0,tone:Ve[n],...o?{icon:t.jsx(M,{icon:ue})}:{},title:$[n],description:Ke[n](e)}),r&&t.jsx("progress",{className:"volter-generation-progress","aria-label":`${e.label} progress`,...n==="running"&&e.progress!==void 0?{value:e.progress,max:1}:{}})]})}function Qe({job:e,busy:n,error:r,run:o}){return t.jsxs("div",{className:"volter-generation-card-actions",children:[F(e,r)&&t.jsx(p,{size:"compact",variant:"primary",disabled:n,onClick:()=>o(()=>_(e)),children:n?"Saving…":"Retry save"}),t.jsx(p,{size:"compact",variant:"ghost",onClick:()=>V(e),children:"Details"}),U(e)&&t.jsx(p,{size:"compact",variant:"ghost",disabled:n,onClick:()=>o(()=>q(e.id)),children:"Remove"})]})}function Xe({job:e,busy:n,error:r,run:o}){const a=j(e),l=L(e),i=Pe(e),c=Te(e),m=s=>{if(!s.url)return;const g=fe(he(s.name));if(g)return()=>xe(s.url,g)};return t.jsxs("article",{className:"volter-generation-card","data-state":a,"aria-busy":z(e),"aria-label":N(e),onClickCapture:()=>{c&&$e(e.id).catch(s=>{de.warn(`Could not mark generation as seen: ${s instanceof Error?s.message:String(s)}`,"generations")})},children:[t.jsx("div",{className:"volter-generation-card-media","data-outputs":Math.min(l.length,4),children:l.length===0?t.jsx(Ye,{job:e,state:a}):l.map(s=>t.jsx("div",{className:"volter-generation-output",title:s.path,children:t.jsx(We,{output:s,onOpen:m(s)})},s.path))}),t.jsxs("div",{className:"volter-generation-card-body",children:[t.jsxs("div",{className:"volter-generation-card-heading",children:[t.jsx(h,{variant:"label",truncate:!0,title:N(e),children:N(e)}),t.jsxs(R,{className:"volter-generation-chip","data-state":a,children:[$[a],a==="running"&&e.progress!==void 0?` · ${Math.round(e.progress*100)}%`:""]}),c&&t.jsx(R,{className:"volter-generation-chip","data-state":"new",children:"New"})]}),t.jsxs(h,{variant:"caption",tone:"muted",truncate:!0,title:G(e),children:[e.provider," · ",G(e)]}),t.jsxs(h,{variant:"caption",tone:"dim",children:[Me(e.billing),_e(e.billing)?"":" (est.)"," · ",Be(e)," ·"," ",qe(e.updatedAt)]}),i&&t.jsx("p",{className:"volter-generation-card-prompt",title:i,children:i}),(r??e.pollError)&&t.jsx(B,{tone:r||a==="save-failed"?"error":"warning",className:"volter-generation-card-alert",children:r??(a==="save-failed"?`Could not save into the project: ${e.pollError}`:`Polling will retry: ${e.pollError}`)}),t.jsx(Qe,{job:e,busy:n,error:r,run:o})]})]})}function He(){const{jobs:e}=u.useSyncExternalStore(T,x,x),[n,r]=u.useState(null),[o,a]=u.useState({}),l=e.filter(z).length,i=e.filter(s=>j(s)==="saving").length,c=async(s,g)=>{r(s),a(v=>{const f={...v};return delete f[s],f});try{await g()}catch(v){const f=v instanceof Error?v.message:String(v);a(y=>({...y,[s]:f}))}finally{r(null)}},m=ke();return t.jsxs("div",{className:"volter-generation-gallery",children:[t.jsxs(le,{label:"Generations",compact:!0,className:"volter-generation-gallery-bar",children:[t.jsx(h,{variant:"label",children:"Generations"}),t.jsxs(h,{variant:"caption",tone:"muted",children:[e.length," ",e.length===1?"generation":"generations",l>0?` · ${l} running`:"",i>0?` · ${i} saving`:""]}),t.jsx(ce,{}),t.jsx(p,{size:"compact",variant:"ghost",onClick:()=>void Se().then(J),children:"Refresh"}),t.jsx(p,{size:"compact",variant:"primary",onClick:()=>k(),children:"New asset"})]}),m&&t.jsx(B,{tone:"error",className:"volter-generation-gallery-alert",children:m}),e.length===0?t.jsx(P,{className:"volter-generation-gallery-empty",title:"No generated assets yet",description:"Preview generated images, video, audio and models here. Create an asset to get started.",action:t.jsx(p,{size:"compact",variant:"primary",onClick:()=>k(),children:"New asset"})}):t.jsx("section",{className:"volter-generation-grid","aria-label":"Generated assets",children:e.map(s=>t.jsx(Xe,{job:s,busy:n===s.id,error:o[s.id]??null,run:g=>void c(s.id,g)},s.id))})]})}const kt="workspace.service",Ze="generation";function et(){const e=be(x().jobs);return e>0?{count:e,severity:"info"}:null}function Tt(){const e=[we(),je({...ye.generations,order:15,Content:He,badge:et,subscribeBadge:T,badgeSnapshot:Ae,visibleByDefault:!1,closeable:!0}),Ce({id:Ze,owner:"@volter/editor-game/generation",open:(n,r)=>{if(r.id==="create")return k();const o=x().jobs.find(a=>a.id===r.id);return o?V(o):null},settle:J})];return()=>{for(const n of e)n()}}export{kt as point,Tt as start};
@@ -1 +1 @@
1
- import{dY as p,t as o,w as n,bA as e,u as l,v as t,by as d,e0 as c}from"./index-C5ZAyrKq.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const u=d(["queued","running","succeeded","failed","cancelled"]),g=p("route",[o({route:n("mock")}).strict(),o({route:n("managed"),estimatedCredits:e().nonnegative().optional(),settledCredits:e().nonnegative().optional()}).strict(),o({route:n("byok"),currency:n("USD"),estimatedAmount:e().nonnegative().optional(),settledAmount:e().nonnegative().optional()}).strict()]),r=o({tool:t().min(1),input:c()}).strict(),v=o({id:t().min(1),provider:t().min(1),externalId:t().min(1),label:t().min(1),operation:t().min(1),mode:d(["mock","direct","managed"]),status:u,createdAt:t().datetime(),updatedAt:t().datetime(),progress:e().min(0).max(1).optional(),providerStatus:t().optional(),queuePosition:e().int().nonnegative().optional(),message:t().optional(),lastPolledAt:t().datetime().optional(),lastProviderChangeAt:t().datetime().optional(),pollError:t().optional(),pollErrorAt:t().datetime().optional(),pollFailureCount:e().int().nonnegative().optional(),nextPollAt:t().datetime().optional(),billing:g,poll:r,cancel:r.optional(),accept:r.optional(),acceptedAt:t().datetime().optional(),readAt:t().datetime().optional(),provenanceOperationId:t().optional(),outputPaths:l(t()).optional()}).strict(),x=o({version:n(1),jobs:l(v)}).strict();function y(m,s){if(m!=="managed")return{};const{estimatedCredits:i,settledCredits:a}=s;return i===void 0&&a===void 0?{}:{billing:{route:"managed",...i===void 0?{}:{estimatedCredits:i},...a===void 0?{}:{settledCredits:a}}}}export{g as GenerationBillingSchema,v as GenerationJobSchema,u as GenerationJobStatusSchema,x as GenerationJobsDocumentSchema,y as managedBilling};
1
+ import{dY as p,t as o,w as n,bA as e,u as l,v as t,by as d,e0 as c}from"./index-Cr9NTnJp.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const u=d(["queued","running","succeeded","failed","cancelled"]),g=p("route",[o({route:n("mock")}).strict(),o({route:n("managed"),estimatedCredits:e().nonnegative().optional(),settledCredits:e().nonnegative().optional()}).strict(),o({route:n("byok"),currency:n("USD"),estimatedAmount:e().nonnegative().optional(),settledAmount:e().nonnegative().optional()}).strict()]),r=o({tool:t().min(1),input:c()}).strict(),v=o({id:t().min(1),provider:t().min(1),externalId:t().min(1),label:t().min(1),operation:t().min(1),mode:d(["mock","direct","managed"]),status:u,createdAt:t().datetime(),updatedAt:t().datetime(),progress:e().min(0).max(1).optional(),providerStatus:t().optional(),queuePosition:e().int().nonnegative().optional(),message:t().optional(),lastPolledAt:t().datetime().optional(),lastProviderChangeAt:t().datetime().optional(),pollError:t().optional(),pollErrorAt:t().datetime().optional(),pollFailureCount:e().int().nonnegative().optional(),nextPollAt:t().datetime().optional(),billing:g,poll:r,cancel:r.optional(),accept:r.optional(),acceptedAt:t().datetime().optional(),readAt:t().datetime().optional(),provenanceOperationId:t().optional(),outputPaths:l(t()).optional()}).strict(),x=o({version:n(1),jobs:l(v)}).strict();function y(m,s){if(m!=="managed")return{};const{estimatedCredits:i,settledCredits:a}=s;return i===void 0&&a===void 0?{}:{billing:{route:"managed",...i===void 0?{}:{estimatedCredits:i},...a===void 0?{}:{settledCredits:a}}}}export{g as GenerationBillingSchema,v as GenerationJobSchema,u as GenerationJobStatusSchema,x as GenerationJobsDocumentSchema,y as managedBilling};
@@ -1 +1 @@
1
- import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import{a0 as r,r as a,a7 as i}from"./index-C5ZAyrKq.js";import{r as u}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{s as c,g as o,a as p,b as m}from"./generation-jobs-CJBehuUp.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";const I="workspace.status",$="Generations",C="left",T=24;function U(){const{jobs:e}=u.useSyncExternalStore(c,o,o),n=p(e),t=e.filter(m).length;return s.jsxs(r,{type:"button",variant:"ghost",size:"compact",className:"volter-status-action","data-testid":"status-generations","aria-label":`Generations, ${n} unseen, ${t} running`,title:`${n} unseen generation results, ${t} running — open Generations`,onClick:()=>a().workspace.showUtility(i.generations.id),children:["Generations · ",n,t>0?` · ${t} running`:""]})}export{C as align,U as default,T as order,I as point,$ as title};
1
+ import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import{a0 as r,r as a,a7 as i}from"./index-Cr9NTnJp.js";import{r as u}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{s as c,g as o,a as p,b as m}from"./generation-jobs-D-zXQNZI.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";const I="workspace.status",$="Generations",C="left",T=24;function U(){const{jobs:e}=u.useSyncExternalStore(c,o,o),n=p(e),t=e.filter(m).length;return s.jsxs(r,{type:"button",variant:"ghost",size:"compact",className:"volter-status-action","data-testid":"status-generations","aria-label":`Generations, ${n} unseen, ${t} running`,title:`${n} unseen generation results, ${t} running — open Generations`,onClick:()=>a().workspace.showUtility(i.generations.id),children:["Generations · ",n,t>0?` · ${t} running`:""]})}export{C as align,U as default,T as order,I as point,$ as title};
@@ -1 +1 @@
1
- import{g as n}from"./workspace-arrangement-DqG5sUns.js";function r(t){const o=n(t,"volterComponentRoot");return typeof o=="string"&&o?o:void 0}function i(t){return n(t,"volterBuiltInternal")===!0}export{r as c,i};
1
+ import{g as n}from"./workspace-arrangement-dkubzCff.js";function r(t){const o=n(t,"volterComponentRoot");return typeof o=="string"&&o?o:void 0}function i(t){return n(t,"volterBuiltInternal")===!0}export{r as c,i};
@@ -1,2 +1,2 @@
1
- import{kv as k,v as l,t as y,kw as P,u as b,b2 as T}from"./index-C5ZAyrKq.js";import{i as x}from"./relative-path-guard-GiM7Lsz8.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=".volter/assets.json",E=y({key:l().min(1),license:l().min(1).optional(),sourceHash:l().regex(/^sha256-[a-f0-9]{64}$/,'sourceHash must be "sha256-<64 hex>"').optional(),materializedAt:l().datetime()}).strict(),O=k(l().min(1),E);function z(e){if(!/^[a-f0-9]{64}$/.test(e))throw new Error(`Not a sha256 digest, refusing to record it as a sourceHash: ${e}`);return`sha256-${e}`}function m(e){const t=e.replaceAll("\\","/").replace(/^\.\//,"").replace(/^\/+/,"");if(!t)throw new Error("An asset ledger path cannot be empty.");if(!x(t))throw new Error(`An asset ledger path cannot escape the project: ${e}`);return t}function _(e){return O.parse(e)}function D(e){if(e==null||e.trim()==="")return{};let t;try{t=JSON.parse(e)}catch(s){throw new Error(`${d} is not valid JSON: ${String(s)}`)}return _(t)}function I(e,t,s){const r=m(t),n=E.parse(s),a={...e,[r]:n},i={};for(const u of Object.keys(a).sort())i[u]=a[u];return i}function M(e){const t={};for(const s of Object.keys(e).sort())t[s]=e[s];return`${JSON.stringify(t,null,2)}
1
+ import{kv as k,v as l,t as y,kw as P,u as b,b2 as T}from"./index-Cr9NTnJp.js";import{i as x}from"./relative-path-guard-GiM7Lsz8.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=".volter/assets.json",E=y({key:l().min(1),license:l().min(1).optional(),sourceHash:l().regex(/^sha256-[a-f0-9]{64}$/,'sourceHash must be "sha256-<64 hex>"').optional(),materializedAt:l().datetime()}).strict(),O=k(l().min(1),E);function z(e){if(!/^[a-f0-9]{64}$/.test(e))throw new Error(`Not a sha256 digest, refusing to record it as a sourceHash: ${e}`);return`sha256-${e}`}function m(e){const t=e.replaceAll("\\","/").replace(/^\.\//,"").replace(/^\/+/,"");if(!t)throw new Error("An asset ledger path cannot be empty.");if(!x(t))throw new Error(`An asset ledger path cannot escape the project: ${e}`);return t}function _(e){return O.parse(e)}function D(e){if(e==null||e.trim()==="")return{};let t;try{t=JSON.parse(e)}catch(s){throw new Error(`${d} is not valid JSON: ${String(s)}`)}return _(t)}function I(e,t,s){const r=m(t),n=E.parse(s),a={...e,[r]:n},i={};for(const u of Object.keys(a).sort())i[u]=a[u];return i}function M(e){const t={};for(const s of Object.keys(e).sort())t[s]=e[s];return`${JSON.stringify(t,null,2)}
2
2
  `}function U(e,t,s){const r=globalThis.navigator?.locks;return r?r.request(`volter:${e}:${P(t)}`,s):s()}const H=1e4,N=15;function j(){return globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random()}`}async function R(e,t,s={}){const r=s.staleAfterMs??H,n=s.retryDelayMs??N,a=s.now??Date.now,i=s.sleep??(o=>new Promise(c=>setTimeout(c,o))),u=s.token??j;for(;;){const o=JSON.stringify({at:a(),owner:s.owner??"unknown",token:u()});if(await e.createIfAbsent(o))try{return await t()}finally{await e.removeIfHeldBy(o)}const c=await e.read();if(c!==null){if(a()-B(c)>r){await e.removeIfHeldBy(c);continue}await i(n)}}}function B(e){try{const t=JSON.parse(e);return typeof t.at=="number"?t.at:0}catch{return 0}}function J(){const e=new Map;return(t,s)=>{const n=(e.get(t)??Promise.resolve()).then(s,s),a=n.then(()=>{},()=>{});return e.set(t,a),a.then(()=>{e.get(t)===a&&e.delete(t)}),n}}async function S(e){return await e.exists(d)?D(await e.read(d)):{}}async function F(e,t){await e.write(d,M(t))}const f=`${d}.lock`,C=J(),A=new WeakMap;let $=0;function K(e){const t=A.get(e);if(t!==void 0)return t;$+=1;const s=`${e.id}#${$}`;return A.set(e,s),s}async function W(e,t){const s={key:t.key,...t.license?{license:t.license}:{},...t.sourceSha256?{sourceHash:z(t.sourceSha256)}:{},materializedAt:t.materializedAt??new Date().toISOString()};await C(K(e),()=>R({createIfAbsent:r=>e.writeIfAbsent(f,r),read:async()=>await e.exists(f)?e.read(f):null,removeIfHeldBy:r=>U(e.id,f,async()=>{await e.exists(f)&&await e.read(f)===r&&await e.remove(f)})},async()=>{const r=await S(e);await F(e,I(r,m(t.destPath),s))},{owner:e.id}))}const G=y({key:l().regex(/^[^:]+:.+$/,'An asset key must be "source:id"'),dest:l().min(1),sha256:l().regex(/^[a-f0-9]{64}$/,"A pack entry must pin the sha256 of its bytes as 64 lowercase hex digits")}).strict(),Y=y({packs:k(l().min(1),b(G))}).strict();function q(e){return Y.parse(e)}function V(e){const t=[],s=new Map;for(const[r,n]of Object.entries(e.packs))for(const a of n){const i=s.get(a.dest);if(i!==void 0)throw new Error(`Two packs declare the same destination "${a.dest}": "${i}" and "${r}".`);s.set(a.dest,r),t.push({...a,pack:r})}return t}const w="asset-manifest.json",v="https://volter-asset-library.aaron-0ed.workers.dev";function L(e){return(e.baseUrl??v).replace(/\/+$/,"")}function Q(e){return e.signal?{signal:e.signal}:{}}async function X(e,t={}){const s=L(t),r=await fetch(`${s}/v1/assets/${encodeURIComponent(e)}`,Q(t));if(!r.ok)return null;const n=await r.json();return!n||typeof n!="object"||!Array.isArray(n.files)?null:n}function Z(e,t,s,r){return`${L(e?{baseUrl:e}:{})}/v1/assets/${encodeURIComponent(t)}/files/${s}`}async function he(e,t={}){const s=await ee(e),r={declared:s.length,materialized:[],alreadyPresent:[],failed:[]};if(s.length===0)return r;const n=await S(e);for(const a of s){if(t.signal?.aborted)break;if(n[m(a.dest)]&&await e.exists(a.dest)){r.alreadyPresent.push(a),t.onProgress?.(a,"already-present");continue}try{await te(e,a,t),r.materialized.push(a),t.onProgress?.(a,"materialized")}catch(i){r.failed.push({entry:a,reason:i instanceof Error?i.message:String(i)}),t.onProgress?.(a,"failed")}}return r}async function ee(e){if(!await e.exists(w))return[];const t=await e.read(w);let s;try{s=JSON.parse(t)}catch(r){throw new Error(`${w} is not valid JSON: ${r instanceof Error?r.message:String(r)}`)}return V(q(s))}async function te(e,t,s){const r=await se(t,s);await e.write(t.dest,r.bytes),await W(e,{destPath:t.dest,key:t.key,license:r.license,sourceSha256:t.sha256})}async function se(e,t={}){const s=e.key.indexOf(":");if(s<0)throw new Error(`Malformed asset key "${e.key}" (expected "source:id").`);const r=e.key.slice(0,s),n=e.key.slice(s+1);if(r!=="local")throw new Error(`Asset key "${e.key}": only the "local" (cloud-hosted) source can be materialized from the cloud worker.`);const a=t.baseUrl??v,i=t.signal?{baseUrl:a,signal:t.signal}:{baseUrl:a},u=await X(n,i);if(!u)throw new Error(`"${e.key}" is not hosted by the cloud asset library.`);const o=u.files[0];if(!o)throw new Error(`"${e.key}" has no files in the cloud library.`);if(o.dependencies.length>0)throw new Error(`"${e.key}" has ${o.dependencies.length} dependency file(s) — a pack entry names exactly one destination file.`);if(o.main.sha256!==e.sha256)throw new Error(`"${e.key}" → ${e.dest}: the cloud library reports sha256:${o.main.sha256} but ${w} pins sha256:${e.sha256}. Nothing was fetched or written; the pin is only re-cut by a reviewed change to the declaration.`);const c=Z(a,n,0),h=await fetch(c,t.signal?{signal:t.signal}:{});if(!h.ok)throw new Error(`${c} returned ${h.status} ${h.statusText}.`);const p=new Uint8Array(await h.arrayBuffer()),g=await T(p);if(g!==e.sha256)throw new Error(`"${e.key}" → ${e.dest}: ${c} delivered sha256:${g} but the declaration pins sha256:${e.sha256}. Nothing was written.`);return{bytes:p,license:u.license}}export{w as ASSET_MANIFEST_PATH,se as fetchVerifiedPackEntry,he as materializeDeclaredAssetPacks};
@@ -1 +1 @@
1
- import{A as H,a as r,b as D,c as O,C as i,D as o,H as t,N as m,d as p,P as I,e as N,R as d,S as n,f as U,g as C,h as c,W as M,i as h,j as G,k as g,l as y,m as V,n as f,o as K,p as Y,q as B,s as F}from"./index-C5ZAyrKq.js";import{createRootBinding as u}from"./binding-Bmxqznjk.js";import{MOUNTED_CANVAS_SURFACE_SHAPE as x,MOUNTED_DOM_SURFACE_SHAPE as l,MOUNTED_ROOT_BASE_SHAPE as L,MOUNTED_THREE_SURFACE_SHAPE as b,ROOT_ADAPTER_SHAPE as j,ROOT_STATE_OBSERVER_SHAPE as k}from"./root-seam-contract-gjWUd5uu.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";export{H as AUDIO_ADAPTER_SHAPE,r as AUTHORING_ADAPTER_SHAPE,D as AUTHORING_PROVIDER_KEYS,O as AUTHORING_PROVIDER_SHAPES,i as CAMERA_ADAPTER_SHAPE,o as DEBUG_ADAPTER_SHAPE,t as HIERARCHY_PROVIDER_SHAPE,x as MOUNTED_CANVAS_SURFACE_SHAPE,l as MOUNTED_DOM_SURFACE_SHAPE,L as MOUNTED_ROOT_BASE_SHAPE,b as MOUNTED_THREE_SURFACE_SHAPE,m as NAVIGATION_ADAPTER_SHAPE,p as NETWORKING_ADAPTER_SHAPE,I as PHYSICS_2D_ADAPTER_SHAPE,N as PHYSICS_ADAPTER_SHAPE,d as RENDER_DEBUG_ADAPTER_SHAPE,j as ROOT_ADAPTER_SHAPE,k as ROOT_STATE_OBSERVER_SHAPE,n as SEAM_PROOF_STAGES,U as SYSTEM_ADAPTERS_SHAPE,C as SYSTEM_PROVIDER_SHAPES,c as SeamEvidenceLedger,M as WRITE_ANCHOR_KINDS,u as createRootBinding,h as defineSeamShape,G as displayKeyedPhysics,g as emptyWriteAnchorKindCounts,y as gradeSeamCarrier,V as gradeSeamEvidence,f as inspectSeamShape,K as measureAuthoringProviders,Y as nodeKeyedPhysics,B as physicsOwnerOf,F as seamStageAtLeast};
1
+ import{A as H,a as r,b as D,c as O,C as i,D as o,H as t,N as m,d as p,P as I,e as N,R as d,S as n,f as U,g as C,h as c,W as M,i as h,j as G,k as g,l as y,m as V,n as f,o as K,p as Y,q as B,s as F}from"./index-Cr9NTnJp.js";import{createRootBinding as u}from"./binding-Bmxqznjk.js";import{MOUNTED_CANVAS_SURFACE_SHAPE as x,MOUNTED_DOM_SURFACE_SHAPE as l,MOUNTED_ROOT_BASE_SHAPE as L,MOUNTED_THREE_SURFACE_SHAPE as b,ROOT_ADAPTER_SHAPE as j,ROOT_STATE_OBSERVER_SHAPE as k}from"./root-seam-contract-BYLQx4CQ.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";export{H as AUDIO_ADAPTER_SHAPE,r as AUTHORING_ADAPTER_SHAPE,D as AUTHORING_PROVIDER_KEYS,O as AUTHORING_PROVIDER_SHAPES,i as CAMERA_ADAPTER_SHAPE,o as DEBUG_ADAPTER_SHAPE,t as HIERARCHY_PROVIDER_SHAPE,x as MOUNTED_CANVAS_SURFACE_SHAPE,l as MOUNTED_DOM_SURFACE_SHAPE,L as MOUNTED_ROOT_BASE_SHAPE,b as MOUNTED_THREE_SURFACE_SHAPE,m as NAVIGATION_ADAPTER_SHAPE,p as NETWORKING_ADAPTER_SHAPE,I as PHYSICS_2D_ADAPTER_SHAPE,N as PHYSICS_ADAPTER_SHAPE,d as RENDER_DEBUG_ADAPTER_SHAPE,j as ROOT_ADAPTER_SHAPE,k as ROOT_STATE_OBSERVER_SHAPE,n as SEAM_PROOF_STAGES,U as SYSTEM_ADAPTERS_SHAPE,C as SYSTEM_PROVIDER_SHAPES,c as SeamEvidenceLedger,M as WRITE_ANCHOR_KINDS,u as createRootBinding,h as defineSeamShape,G as displayKeyedPhysics,g as emptyWriteAnchorKindCounts,y as gradeSeamCarrier,V as gradeSeamEvidence,f as inspectSeamShape,K as measureAuthoringProviders,Y as nodeKeyedPhysics,B as physicsOwnerOf,F as seamStageAtLeast};