@volter/game-editor 0.5.70 → 0.5.72
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.
- package/BUNDLED_NOTICES +18 -18
- package/catalog/entries/music.json +2 -2
- package/dist/.vite/manifest.json +2187 -2162
- package/dist/assets/{AssetBudgetPanel-DpXsaQ6w.js → AssetBudgetPanel-TYxRsWF2.js} +3 -3
- package/dist/assets/{AudioViewer-BdTHfNhD.js → AudioViewer-SyAuzT6d.js} +1 -1
- package/dist/assets/{CanvasBoardDocument-DY-7zohc.js → CanvasBoardDocument-bGKEifjb.js} +1 -1
- package/dist/assets/{CanvasSceneViewport-57CEFqSM.js → CanvasSceneViewport-DOvsDDXx.js} +1 -1
- package/dist/assets/{ColorInput-Co6tCY9p.js → ColorInput-ZEZlxzBn.js} +1 -1
- package/dist/assets/{EntityModelDocument-C-lhKrxv.js → EntityModelDocument-DLYhSTh-.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-BNe6ANTN.js → EnvironmentAssetDocument-BNcQR6yX.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-CryFYfYN.js → GameplaySessionTimeline-B6GEizjr.js} +1 -1
- package/dist/assets/{ImageViewer-DiD2yIG4.js → ImageViewer-CVnrpv0B.js} +1 -1
- package/dist/assets/InspectorObjectPreview-BanF_X-B.js +1 -0
- package/dist/assets/{JsonAssetDocument-xyXetSbl.js → JsonAssetDocument-Cztt4zjY.js} +1 -1
- package/dist/assets/{LiveModuleDocument-BiAunjHS.js → LiveModuleDocument-26blElg2.js} +1 -1
- package/dist/assets/{LutAssetDocument-5sW-5rb0.js → LutAssetDocument-BnsiHHrS.js} +1 -1
- package/dist/assets/{ModelAssetDocument-Bdy7x47a.js → ModelAssetDocument-B5Yp9L8F.js} +1 -1
- package/dist/assets/{NonThreeAuthoringBootstrap-BP-1bVEr.js → NonThreeAuthoringBootstrap-BHOfZ9sF.js} +1 -1
- package/dist/assets/{Object3DDocumentToolbar-CvnSLDPI.js → Object3DDocumentToolbar-B6BaAth8.js} +1 -1
- package/dist/assets/Object3DDocumentViewport-B4A-C5QD.js +2 -0
- package/dist/assets/{Object3DPreview-D3w_dKrX.js → Object3DPreview-BbPdqVcd.js} +1 -1
- package/dist/assets/{OnlineAssetDetail-BnT8_p1W.js → OnlineAssetDetail-B9ku5sHJ.js} +1 -1
- package/dist/assets/{PlayBar-C8Mn-EI0.js → PlayBar-C72OdJpY.js} +1 -1
- package/dist/assets/{QuarksAssetDocument-DLMH5Csk.js → QuarksAssetDocument-B8WiFZqH.js} +1 -1
- package/dist/assets/{ReactCanvasControls-rNz8syVB.js → ReactCanvasControls-B-P7GL52.js} +1 -1
- package/dist/assets/{RootSelectionOverlay-Cn2Rbr1N.js → RootSelectionOverlay-DcHmoze3.js} +1 -1
- package/dist/assets/{ShaderAssetDocument-CsJCsNfA.js → ShaderAssetDocument-CAx5sVKJ.js} +1 -1
- package/dist/assets/{ShadowEditor-jB05hr1W.js → ShadowEditor-CCch2nLq.js} +1 -1
- package/dist/assets/{SourceAssetViewer-D0NgGrER.js → SourceAssetViewer-bAfvPckn.js} +1 -1
- package/dist/assets/{StageHost-B3Yt4I7r.js → StageHost-D_2vBQsa.js} +2 -2
- package/dist/assets/{StoryPreviewMount-CzzRn24c.js → StoryPreviewMount-BNoIvc7l.js} +1 -1
- package/dist/assets/{ThreeBoardDocument-BoHTN4Vl.js → ThreeBoardDocument-Bvu00xSO.js} +2 -2
- package/dist/assets/{ThreeIsolationSceneContent-BM-0S6J5.js → ThreeIsolationSceneContent-DGtDG--4.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-BeM_kx_u.js → ToolObject3DPreview-BKlQKnPe.js} +1 -1
- package/dist/assets/{Toolbar-BZyog9MR.js → Toolbar-TU3vLh4L.js} +1 -1
- package/dist/assets/{TransientHint-RJEkOJoy.js → TransientHint-K6pZSJgG.js} +1 -1
- package/dist/assets/{VideoViewer-CxajgKrf.js → VideoViewer-DrtHx0m_.js} +1 -1
- package/dist/assets/{ViewportShadingMenu-S2lADFJg.js → ViewportShadingMenu-zMKOlcUM.js} +1 -1
- package/dist/assets/{active-ingest-CjZtqL7Q.js → active-ingest-gUx8jeyJ.js} +2 -2
- package/dist/assets/{animation-clock-CWVW-mqY.js → animation-clock-D-tLCTj6.js} +1 -1
- package/dist/assets/{animation-mixers.service-CpoYw8cs.js → animation-mixers.service-CuNPgPSv.js} +1 -1
- package/dist/assets/{animation-timeline.utility-CEerojaB.js → animation-timeline.utility-BzbSVAmj.js} +1 -1
- package/dist/assets/{asset-budget-asset.menu-Bk6scVWQ.js → asset-budget-asset.menu-B_A367BM.js} +1 -1
- package/dist/assets/{asset-budget.action-DtBDSfDj.js → asset-budget.action-UgvyFZGk.js} +1 -1
- package/dist/assets/{asset-budget.document-R2zyoJ8E.js → asset-budget.document-C20mZfef.js} +1 -1
- package/dist/assets/{asset-budget.menu-D6jza5Bc.js → asset-budget.menu-C1THP8Ir.js} +1 -1
- package/dist/assets/{asset-editor-persistence-DrgwOZIW.js → asset-editor-persistence-D-YVUM-o.js} +1 -1
- package/dist/assets/{asset-loaders-CUeYIjeH.js → asset-loaders-ClM8urgu.js} +1 -1
- package/dist/assets/{asset-preview-CQfnI2cX.js → asset-preview-BD4OZrEp.js} +1 -1
- package/dist/assets/{audio-unlock.service-W3UBKsw9.js → audio-unlock.service-krSi_8MS.js} +1 -1
- package/dist/assets/{audio.utility-qrXBdGXg.js → audio.utility-DjFH8tZN.js} +1 -1
- package/dist/assets/autoplay.service-C_iwBCWg.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-CS9LZNmz.js → babylon-authoring-adapter-C6qqXaiV.js} +1 -1
- package/dist/assets/{binding-resolver-B9VI52zt.js → binding-resolver-B6upIc33.js} +2 -2
- package/dist/assets/{blender-node-editor.document-BWLFvA2g.js → blender-node-editor.document-DsDBkUHt.js} +1 -1
- package/dist/assets/{blender-properties-tab-BSmWG9d0.js → blender-properties-tab-9RSYwbBS.js} +1 -1
- package/dist/assets/{blender-runtime-host-Cbkie7m4.js → blender-runtime-host-DtpNeLGc.js} +1 -1
- package/dist/assets/{blender-runtime-skin-C_ATCb-z.js → blender-runtime-skin-EKCns7fu.js} +1 -1
- package/dist/assets/{blender-runtime.document-P9zdgwMt.js → blender-runtime.document-CmLNi8tH.js} +1 -1
- package/dist/assets/{blender-timeline.document-DRwySEJO.js → blender-timeline.document-qArofonU.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-CmLoL2Vo.js → blender-uv-editor.document-Dv3ihJD4.js} +1 -1
- package/dist/assets/{blender-version.status-CP4Jqkry.js → blender-version.status-BEIisS2r.js} +1 -1
- package/dist/assets/{blender.command-BYGm0Q_s.js → blender.command-1xwFaSJs.js} +1 -1
- package/dist/assets/{board-guides-BG-MHK2G.js → board-guides-DnI_fMSm.js} +1 -1
- package/dist/assets/bridge.command-C5EYO4OS.js +3 -0
- package/dist/assets/{browserAll-DES3i79H.js → browserAll-Co_vDC8r.js} +1 -1
- package/dist/assets/{build-player.document-B42HrdSU.js → build-player.document-LBxyS2AI.js} +1 -1
- package/dist/assets/{build-profiles.document-Di5CQoH9.js → build-profiles.document-B_6Df2Sp.js} +1 -1
- package/dist/assets/{build-progress.status-B4te7-3j.js → build-progress.status-Cdt1Zuu_.js} +1 -1
- package/dist/assets/{build-session-Yw4JoE8T.js → build-session-DKHnqiXT.js} +1 -1
- package/dist/assets/{build.action-B-DBpUj6.js → build.action-DRDdqtZb.js} +1 -1
- package/dist/assets/{build.command-CfWoHNp0.js → build.command-ry_OUUh9.js} +1 -1
- package/dist/assets/{build.header-BaURztYD.js → build.header-CiTCHvry.js} +1 -1
- package/dist/assets/{build.menu-BFBn-dPJ.js → build.menu-DiViXEwh.js} +1 -1
- package/dist/assets/{build.service-D8gYWB3n.js → build.service-BSGXA-SQ.js} +1 -1
- package/dist/assets/{camera-C-uR_xQp.js → camera-B8Mdswus.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-BOGGEqVq.js → camera-runtime.inspector-CupJRuBs.js} +1 -1
- package/dist/assets/{canvas-design-mount-DamLAaWn.js → canvas-design-mount-DS8xWFiw.js} +3 -3
- package/dist/assets/{canvas-entry-runtime-a6N7Rsrj.js → canvas-entry-runtime-BURQgaLB.js} +2 -2
- package/dist/assets/{canvas-preview-frames-XbrKuyJu.js → canvas-preview-frames-Crj5bFty.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-DYRdEzkG.js → canvas-story-capture.service-DQ6Zw3b0.js} +2 -2
- package/dist/assets/{capability-coverage-7wKVA3PF.js → capability-coverage-Ctnmu2LE.js} +1 -1
- package/dist/assets/{collaboration-presence-DaVKEfxs.js → collaboration-presence-C-yh_YBU.js} +1 -1
- package/dist/assets/{collider-BEwlgkG5.js → collider-C_I5Xdtu.js} +1 -1
- package/dist/assets/{component-board.service-C9ZouakC.js → component-board.service-BJ2DCCXQ.js} +2 -2
- package/dist/assets/component-board.service-COaCvlbA.js +2 -0
- package/dist/assets/{component-board.service-D2eGKqHf.js → component-board.service-DwPBo3xK.js} +2 -2
- package/dist/assets/{component-contracts.service-D0uElctD.js → component-contracts.service-RJCV5AAt.js} +1 -1
- package/dist/assets/{component-instance-root-C1Xf4SwR.js → component-instance-root-DjA11g2U.js} +1 -1
- package/dist/assets/{component-verbs.command-N-Tj8KOS.js → component-verbs.command-BwYzS1c0.js} +1 -1
- package/dist/assets/{component-verbs.service-CWh4mQ7X.js → component-verbs.service-CJvrj9av.js} +1 -1
- package/dist/assets/{config-hmmj-QHZ.js → config-B4n-SqJs.js} +2 -2
- package/dist/assets/{configurations-B9Pi_eRN.js → configurations-Bqg2uvA4.js} +1 -1
- package/dist/assets/{connection.status-C2HPxoww.js → connection.status-BVL6eTcF.js} +1 -1
- package/dist/assets/{constraints.inspector-D-h1f3K2.js → constraints.inspector-CqY4o8xc.js} +1 -1
- package/dist/assets/{content-bounds-7UyI42Vj.js → content-bounds-C1-UpGMc.js} +1 -1
- package/dist/assets/{contract-system-adapters-Bq1LGdjs.js → contract-system-adapters-StvC0uNq.js} +1 -1
- package/dist/assets/{coverage.service-BiBikIsV.js → coverage.service-DI7ocYK8.js} +1 -1
- package/dist/assets/{create-runtime-Cx-q5z2y.js → create-runtime-DwcO7h9p.js} +1 -1
- package/dist/assets/{curve-Co_mro-I.js → curve-CPd2jkVJ.js} +1 -1
- package/dist/assets/{data-asset-Ckx4D_U_.js → data-asset-B2UtWmua.js} +1 -1
- package/dist/assets/{data-ref-70PUrMuT.js → data-ref-B036kumM.js} +1 -1
- package/dist/assets/{debug-bridge-CarsgKpm.js → debug-bridge-BG5c-HdI.js} +1 -1
- package/dist/assets/{debug-registry-DgYNlhH_.js → debug-registry--ZkoQWOO.js} +1 -1
- package/dist/assets/{deferred-ingest-play-Bpdhu2i-.js → deferred-ingest-play-CmJi6tql.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-Ca9Q75Ui.js → design-time-canvas-mount-2sEXGMyx.js} +2 -2
- package/dist/assets/design-time-layers-CUuV2SKK.js +1 -0
- package/dist/assets/{design-time-mount.service-DL6ZK2TQ.js → design-time-mount.service-DaEwimcE.js} +2 -2
- package/dist/assets/design-time-mount.service-m_Alk1A4.js +2 -0
- package/dist/assets/design-time-react-mount-CcCuClCL.js +1 -0
- package/dist/assets/{document-preview-three-DoDs6q1q.js → document-preview-three-CRYXGELs.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-adLQog9l.js → dom-authoring-adapter-BQor85A0.js} +1 -1
- package/dist/assets/{draco3d-aUvQF1Zx.js → draco3d-zcIWTWKV.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-CHZ1ultu.js → edit-mode-audio.service-BZ_MguuB.js} +1 -1
- package/dist/assets/{edit-mode-authoring-ZQuUwc6e.js → edit-mode-authoring-B8NE5TIR.js} +1 -1
- package/dist/assets/{edit-mode-networking.service-C7fk2fL1.js → edit-mode-networking.service-BnR0zkEk.js} +1 -1
- package/dist/assets/editor-api-D9ypvXGZ.js +1 -0
- package/dist/assets/{editor-layers-CGX7iCSP.js → editor-layers-B2mwHrrn.js} +1 -1
- package/dist/assets/{editor-shell-store-BRqB1JZO.js → editor-shell-store-V7HfbGqh.js} +1 -1
- package/dist/assets/{entity-object--ZpqIat7.js → entity-object-BqQBOLh4.js} +1 -1
- package/dist/assets/{extend-BZQIQ18F.js → extend-vhXKbXwa.js} +1 -1
- package/dist/assets/{fork-menu-CziehkPx.js → fork-menu-CGygk03X.js} +1 -1
- package/dist/assets/{frame-debugger-store-BOQjrPsh.js → frame-debugger-store-BFHDpd_6.js} +1 -1
- package/dist/assets/{game-contract-seams-Dgqv6S8X.js → game-contract-seams-DYi5-NnM.js} +1 -1
- package/dist/assets/{game-css-scope-transform-anfk8vP_.js → game-css-scope-transform-tjGkUu5X.js} +1 -1
- package/dist/assets/game-document.service-jY65msUL.js +1 -0
- package/dist/assets/game-eval.command-C0iQ6vZD.js +2 -0
- package/dist/assets/{game-module-access-Cg1EB8Mx.js → game-module-access-BlCkxuVe.js} +1 -1
- package/dist/assets/game-network-gqU0qk9j.js +22 -0
- package/dist/assets/game-surface-defaults-D8S4cRxi.js +1 -0
- package/dist/assets/{gameplay-export-D0hZoeSg.js → gameplay-export-SxI2CiOU.js} +1 -1
- package/dist/assets/{gameplay-replay-BHz6VAVa.js → gameplay-replay-CLHO__fQ.js} +1 -1
- package/dist/assets/gameplay.command-CQyRcFql.js +1 -0
- package/dist/assets/{generation-jobs-D-zXQNZI.js → generation-jobs-C6l_ZBhD.js} +1 -1
- package/dist/assets/{generation.service-Bwt9lQEG.js → generation.service-CgbxxPGg.js} +1 -1
- package/dist/assets/{generations-d-U9lCVo.js → generations-DxppE9pN.js} +1 -1
- package/dist/assets/{generations.status-BQ8xhaLN.js → generations.status-DIzDQ4QZ.js} +1 -1
- package/dist/assets/{hierarchy-marks-CndAXtie.js → hierarchy-marks-CSQMtCBU.js} +1 -1
- package/dist/assets/{hosted-asset-materialization-r2vKfJGY.js → hosted-asset-materialization-TryBlckx.js} +1 -1
- package/dist/assets/{index-dlvCCB72.js → index-AagWeY8V.js} +1 -1
- package/dist/assets/{index-xjc_62Ha.js → index-C8u7p1K7.js} +1 -1
- package/dist/assets/{index-BqzpzjSB.js → index-Cj4vTL7A.js} +1 -1
- package/dist/assets/{index-BPVnvJfX.js → index-CpMTewhc.js} +1 -1
- package/dist/assets/{index-DoGlzvsX.js → index-DBIi3ND-.js} +1 -1
- package/dist/assets/{index-DSMLYme2.js → index-d2quMKQM.js} +1 -1
- package/dist/assets/{index-z0_InXxO.js → index-u6amYfnv.js} +2 -2
- package/dist/assets/{index-Cr9NTnJp.js → index-wjn2vkB8.js} +232 -232
- package/dist/assets/{index-CMU7lnXk.js → index-xsQaHGma.js} +1 -1
- package/dist/assets/{inference-diagnostics-D5jfxI5p.js → inference-diagnostics-dZd7OUSj.js} +1 -1
- package/dist/assets/{ingest-boot-viewport-Be0v44yf.js → ingest-boot-viewport-Chqb3b3L.js} +1 -1
- package/dist/assets/{ingest-siblings-BowXSozE.js → ingest-siblings-DyKim2on.js} +1 -1
- package/dist/assets/{ingest-source-persistence-BGIvThcv.js → ingest-source-persistence-D7jtuLEB.js} +1 -1
- package/dist/assets/{ingest.service-wVm-ZcTI.js → ingest.service-C2q5JocL.js} +1 -1
- package/dist/assets/{inspect-CN92MgRT.js → inspect-Cl65lNby.js} +1 -1
- package/dist/assets/instances.command-CnrRMqOy.js +1 -0
- package/dist/assets/{json-history-resource-C9G_vCX9.js → json-history-resource-DWPJt2Bk.js} +1 -1
- package/dist/assets/{layered-pick-D9tIz_m7.js → layered-pick-wB2IUStv.js} +1 -1
- package/dist/assets/{light-BGbl1a8K.js → light-BK4WrhlP.js} +1 -1
- package/dist/assets/{live-project-verbs-p1sdTwhF.js → live-project-verbs-CSKXil-5.js} +1 -1
- package/dist/assets/{machine.document-C1acXU7l.js → machine.document-Wxh00rVH.js} +1 -1
- package/dist/assets/{machines.finder-sOxNTYPx.js → machines.finder-Bq84a20u.js} +1 -1
- package/dist/assets/{material-D7289cYI.js → material-DzSXsXYn.js} +1 -1
- package/dist/assets/{material-factory-D0T-DH8c.js → material-factory-6zzgHeT5.js} +1 -1
- package/dist/assets/{mesh-1A-HHxD6.js → mesh-DTSUSSfl.js} +1 -1
- package/dist/assets/{model-asset-sections.service-DF-mllTL.js → model-asset-sections.service-eYy0ol55.js} +1 -1
- package/dist/assets/{model-inspection-CuVwNVvv.js → model-inspection-DM9bxnjs.js} +1 -1
- package/dist/assets/{model-thumbnail-xm1Fabi2.js → model-thumbnail-DcI972TR.js} +1 -1
- package/dist/assets/{models.finder-DrvU1qGk.js → models.finder-CbfSmlRN.js} +1 -1
- package/dist/assets/{module-mode-BHOAAbgO.js → module-mode-BCWTllUj.js} +2 -2
- package/dist/assets/mount-canvas-ingest-root-BWvMQ1oU.js +2 -0
- package/dist/assets/{mount-dom-ingest-root-eOOGPaxi.js → mount-dom-ingest-root-C8_3MNzH.js} +2 -2
- package/dist/assets/mount-ingest-root-CnfZV05y.js +2 -0
- package/dist/assets/mount-manifest-BHLEQ9MI.js +1 -0
- package/dist/assets/mount-three-ingest-root-Ci-ZYEqi.js +1 -0
- package/dist/assets/{mounted-authoring-DX3DC9PJ.js → mounted-authoring-CRGnDIkF.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-D8FqGpci.js → mounted-story-viewport-source-BV9Vkz5j.js} +1 -1
- package/dist/assets/{native-debug-module-CB738yQu.js → native-debug-module-D0TMOJ5J.js} +1 -1
- package/dist/assets/{navigation-B9ihB0qU.js → navigation-Dtw9RIIP.js} +1 -1
- package/dist/assets/{navmesh.menu-CPxr9LPT.js → navmesh.menu-BOqiQXs0.js} +1 -1
- package/dist/assets/{navmesh.service-BAtili_Y.js → navmesh.service-DRssu5HB.js} +1 -1
- package/dist/assets/network-observer.service-CSbHzsem.js +1 -0
- package/dist/assets/network.utility-DkecVQis.js +1 -0
- package/dist/assets/{object3d-document-session-registry-BWeuL0nf.js → object3d-document-session-registry-D68l_sLd.js} +2 -2
- package/dist/assets/{oid-transform-BYeAsBKI.js → oid-transform-DELHL858.js} +1 -1
- package/dist/assets/{particles-BXiQDiB-.js → particles-DxmpSiYm.js} +1 -1
- package/dist/assets/{pixi-authoring-adapter-CPsN0Yk7.js → pixi-authoring-adapter-crYHqvEe.js} +1 -1
- package/dist/assets/{pixi-live-write-target-BUbt5ixX.js → pixi-live-write-target-Cx72kgN6.js} +1 -1
- package/dist/assets/play.command-WI1aGM0Z.js +2 -0
- package/dist/assets/{presentation-C7ZHYsKF.js → presentation-CqPEUUNS.js} +1 -1
- package/dist/assets/{product-MSpbAqgo.js → product-dDGXQlJ0.js} +1 -1
- package/dist/assets/{profiler.action-1Jbc-7Q4.js → profiler.action-DsAh7yvt.js} +1 -1
- package/dist/assets/{profiler.menu-C544DxWZ.js → profiler.menu-eMeZSO2J.js} +1 -1
- package/dist/assets/{profiler.utility-QnzedS3X.js → profiler.utility-B9hb8tbg.js} +1 -1
- package/dist/assets/project-authoring-session-7KN3YlPS.js +2 -0
- package/dist/assets/{properties-bone-constraints.inspector-DRCPfugt.js → properties-bone-constraints.inspector-DoCD043b.js} +1 -1
- package/dist/assets/{properties-bone.inspector-CYHeZX0p.js → properties-bone.inspector-mlQIkyBf.js} +1 -1
- package/dist/assets/{properties-collection.inspector-DtGhPkiU.js → properties-collection.inspector-BSGr9-vR.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-TIyIV777.js → properties-constraints.inspector-BfpdPfPN.js} +1 -1
- package/dist/assets/{properties-data.inspector-vA0MTaup.js → properties-data.inspector-yyf0b8Uw.js} +1 -1
- package/dist/assets/{properties-material.inspector-C73spBQh.js → properties-material.inspector-BjKs4qAn.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-9oyLBBE0.js → properties-modifiers.inspector-XAML7OJx.js} +1 -1
- package/dist/assets/{properties-object.inspector-7BuiUgbd.js → properties-object.inspector-cHVVC7vP.js} +1 -1
- package/dist/assets/{properties-output.inspector-CjYAggz2.js → properties-output.inspector-BE6O5uWt.js} +1 -1
- package/dist/assets/{properties-particles.inspector-DpSfjykX.js → properties-particles.inspector-DA9r9tox.js} +1 -1
- package/dist/assets/{properties-physics.inspector-BUTvmfU9.js → properties-physics.inspector-6V50bg6n.js} +1 -1
- package/dist/assets/{properties-render.inspector-CEdsDqbI.js → properties-render.inspector-1iXZTLFj.js} +1 -1
- package/dist/assets/{properties-scene.inspector-4kp0sLNw.js → properties-scene.inspector-8qzTDRZ-.js} +1 -1
- package/dist/assets/{properties-texture.inspector-Ckpqy9eo.js → properties-texture.inspector-DnndHFBA.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-CQIFbY8-.js → properties-view-layer.inspector-BFqtpGAW.js} +1 -1
- package/dist/assets/{properties-world.inspector-xZgNV6rI.js → properties-world.inspector-DrZZRQoS.js} +1 -1
- package/dist/assets/r3f-design-session-Bg3EEQz6.js +2 -0
- package/dist/assets/{r3f-physics-binding-oippu1v_.js → r3f-physics-binding-DSD0HHLc.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-CZJX6VLM.js → r3f-source-authoring-adapter-Ca9azh8e.js} +1 -1
- package/dist/assets/{react-canvas-navigation-DuzvnFoN.js → react-canvas-navigation-2OqMWHDI.js} +1 -1
- package/dist/assets/{react-inspector.service-CV4p6nrb.js → react-inspector.service-DYyJPfNc.js} +1 -1
- package/dist/assets/{react-story-board-mhldts6w.js → react-story-board-Cry0gSQl.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-Bo9LjrZe.js → react-three-rapier.esm-DMmOHQDe.js} +1 -1
- package/dist/assets/{react-world-authoring-adapter-CuyruDfq.js → react-world-authoring-adapter-CQtYfgx9.js} +1 -1
- package/dist/assets/{realm-services-BtiLE3a-.js → realm-services-DBqdRLI4.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-mrrOHs-9.js → reflection-probe-capture.inspector-C5Bu6QzV.js} +1 -1
- package/dist/assets/{registry-DpUr2YIM.js → registry-_NCUhY0b.js} +1 -1
- package/dist/assets/{relative-import-specifier-CyT6yU4l.js → relative-import-specifier-BiEpXss5.js} +1 -1
- package/dist/assets/{render-env-C63BGT5v.js → render-env-D-pSIlJ1.js} +1 -1
- package/dist/assets/{render-features-CBl6rom9.js → render-features-l7BQbeaM.js} +1 -1
- package/dist/assets/{render-settings-DjarlnjI.js → render-settings-DjdbF9VX.js} +1 -1
- package/dist/assets/{resolve-three-OiswFiIS.js → resolve-three-C5BhpPqs.js} +3 -3
- package/dist/assets/{root-seam-contract-BYLQx4CQ.js → root-seam-contract-cbINkIcN.js} +1 -1
- package/dist/assets/{run-selection-BMu0v3qC.js → run-selection-CxsHUK_M.js} +1 -1
- package/dist/assets/{scene-capture-BLf3lJ44.js → scene-capture-CCifsWLp.js} +1 -1
- package/dist/assets/{scene-document.service-CjPDph5k.js → scene-document.service-TFlDSvVA.js} +2 -2
- package/dist/assets/{scene-framing-BhNk0WhI.js → scene-framing--293N2xY.js} +1 -1
- package/dist/assets/{seeded-random-DmdE0u-C.js → seeded-random-BMF_UDMF.js} +1 -1
- package/dist/assets/{setup-renderer-Bf8g2S0f.js → setup-renderer-ZCwGcqc7.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-IDRws2Nk.js → source-object3d-authoring-adapter-C2qh6_pn.js} +1 -1
- package/dist/assets/{source-persistence-backend-Dzc6MsmN.js → source-persistence-backend-iG_P2f_a.js} +1 -1
- package/dist/assets/{stage-keyboard-CpnIYiph.js → stage-keyboard-Bj7F0kP-.js} +1 -1
- package/dist/assets/{stage-overlay-set-BrJzOTCe.js → stage-overlay-set-4eMxmCWg.js} +1 -1
- package/dist/assets/{stage-presence-markers-BFTl9Djp.js → stage-presence-markers-Dvo3soHw.js} +1 -1
- package/dist/assets/{stage-transform-tools-QaenmSrC.js → stage-transform-tools-BGCCPEHD.js} +1 -1
- package/dist/assets/{standard-viewport-dressing-DuKH01r4.js → standard-viewport-dressing-DisOo98G.js} +1 -1
- package/dist/assets/{state-watch.action-BaRZ6YII.js → state-watch.action-BjMVtMnK.js} +1 -1
- package/dist/assets/{state-watch.menu-DR2AtQ6r.js → state-watch.menu-uo9i_GJH.js} +1 -1
- package/dist/assets/{state-watch.utility-VW8H9Fgi.js → state-watch.utility-BDSAOvyy.js} +1 -1
- package/dist/assets/{story-capture-BEVV48wm.js → story-capture-BZD3x0Pr.js} +1 -1
- package/dist/assets/{story-documents-DndjqJ7Y.js → story-documents-DOsBtURt.js} +1 -1
- package/dist/assets/{story-documents.service-CPrZ7gRM.js → story-documents.service-CbADy_Hj.js} +1 -1
- package/dist/assets/{story-documents.service-wCVmBPhh.js → story-documents.service-D_hsjJr9.js} +1 -1
- package/dist/assets/{story-media-presence-BSX78yVJ.js → story-media-presence-9jRxsUgl.js} +1 -1
- package/dist/assets/{story-pixi-preview-D4FuH7lJ.js → story-pixi-preview-DbcYdZMI.js} +1 -1
- package/dist/assets/{story-presentation-2AxtnKGb.js → story-presentation-CdTE_XUR.js} +1 -1
- package/dist/assets/{story-three-preview-DjObHSAF.js → story-three-preview-Bg0NL_U_.js} +2 -2
- package/dist/assets/{studio-environment-B--4k2mN.js → studio-environment-Cso4y0lE.js} +1 -1
- package/dist/assets/{surface-state-CQHVfsma.js → surface-state-B_0Yt3kv.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-CewRyC4c.js → syntactic-prop-specs-BrDBqyDN.js} +1 -1
- package/dist/assets/team-playtest.service-BaW1I4YQ.js +1 -0
- package/dist/assets/{three-B86IzdNg.js → three-C0qVNsOS.js} +1 -1
- package/dist/assets/{three-authoring-adapter-BD8_MtYK.js → three-authoring-adapter-C92rm99z.js} +1 -1
- package/dist/assets/three-authoring.service-D_KTfVs4.js +2 -0
- package/dist/assets/{three-ingest-runtime-CXySzulx.js → three-ingest-runtime-DOUKRBrc.js} +1 -1
- package/dist/assets/{three-integration-nl5TC6EF.js → three-integration-pMMAFpYl.js} +2 -2
- package/dist/assets/three-integration.service-k1_xWOYd.js +1 -0
- package/dist/assets/{three-projection-core-D4m8lsPU.js → three-projection-core-BOq13mz-.js} +1 -1
- package/dist/assets/{three-state-C36FeFK4.js → three-state-B6NLTszJ.js} +1 -1
- package/dist/assets/{three-story-capture.service-C0icETyL.js → three-story-capture.service-CcRSfWad.js} +2 -2
- package/dist/assets/{three-story-model-CqWu9S2a.js → three-story-model-7qxVYOkR.js} +1 -1
- package/dist/assets/{three-viewport-presentation-CCMgGLI2.js → three-viewport-presentation-DatfjZJH.js} +1 -1
- package/dist/assets/{transform-mode-request-CIgYj1Qb.js → transform-mode-request-c8d5QQwQ.js} +1 -1
- package/dist/assets/{transport-strip-B1AJKpn-.js → transport-strip-BlGEb51b.js} +1 -1
- package/dist/assets/transport.header-DZ6f7-ON.js +1 -0
- package/dist/assets/{tuples-uyiMYXrv.js → tuples-ChC18dWq.js} +1 -1
- package/dist/assets/ui-board-document-CliGHHFn.js +2 -0
- package/dist/assets/{user-data-BXFD1jg-.js → user-data-C2bC2Cok.js} +1 -1
- package/dist/assets/{utility-view-state-I_o0WThv.js → utility-view-state-DbTE0Ome.js} +1 -1
- package/dist/assets/{viewport-door-AsLxGhLN.js → viewport-door-DNJf5Mej.js} +1 -1
- package/dist/assets/{viewport-root-presentation-B1qtThOB.js → viewport-root-presentation-CGYHAB1r.js} +1 -1
- package/dist/assets/{viewport-surface-status-CWmQeKTO.js → viewport-surface-status-Db1dCE5f.js} +1 -1
- package/dist/assets/{webworkerAll-DC445ANd.js → webworkerAll-K8X7iPJw.js} +1 -1
- package/dist/assets/{workspace-arrangement-dkubzCff.js → workspace-arrangement-coA4mYU_.js} +1 -1
- package/dist/assets/world-documents-kcOR7HSb.js +1 -0
- package/dist/assets/{world-root-stage-binding-BrvO8VMz.js → world-root-stage-binding-WQv8K4Zz.js} +1 -1
- package/dist/assets/{xstate-animation-binding-ChVFHSlM.js → xstate-animation-binding-BTIYbpkG.js} +1 -1
- package/dist/assets/{xstate-animation-meta-D7xnhyCE.js → xstate-animation-meta-D4bo9lqY.js} +1 -1
- package/dist-node/cli.js +14 -14
- package/package.json +14 -14
- package/template/.agents/references/project-manual.md +1 -1
- package/template/.agents/skills/volter-ingest-existing-game/SKILL.md +1 -1
- package/template/.agents/skills/volter-threejs-authoring/SKILL.md +1 -1
- package/template/.claude/skills/volter-ingest-existing-game/SKILL.md +1 -1
- package/template/.claude/skills/volter-threejs-authoring/SKILL.md +1 -1
- package/template/.github/skills/volter-ingest-existing-game/SKILL.md +1 -1
- package/template/.github/skills/volter-threejs-authoring/SKILL.md +1 -1
- package/template/IDIOMS.md +1 -1
- package/template/README.md +0 -3
- package/template/package.json +10 -10
- package/template/src/bot/bot-station.ts +1 -1
- package/template/vite.config.ts +2 -2
- package/template-dotfiles/gitignore +1 -1
- package/dist/assets/InspectorObjectPreview-BBVO8bDT.js +0 -1
- package/dist/assets/Object3DDocumentViewport-BE_OPc8T.js +0 -2
- package/dist/assets/autoplay.service-DQD3Swo9.js +0 -1
- package/dist/assets/bridge.command-DpUNErKN.js +0 -3
- package/dist/assets/component-board.service-BWSBM2Bb.js +0 -2
- package/dist/assets/design-time-layers-BIb71snu.js +0 -1
- package/dist/assets/design-time-mount.service-zKUVjKAu.js +0 -2
- package/dist/assets/design-time-react-mount-NrWimSxY.js +0 -1
- package/dist/assets/editor-api-C8MUOrwt.js +0 -1
- package/dist/assets/game-document.service-CqmgrRUA.js +0 -1
- package/dist/assets/game-eval.command-CoetFm6_.js +0 -2
- package/dist/assets/game-network-BqI-Ehz0.js +0 -22
- package/dist/assets/gameplay.command-CPc9GKuW.js +0 -1
- package/dist/assets/instances.command-B6gJuL1Z.js +0 -1
- package/dist/assets/mount-canvas-ingest-root-aVZkVNh4.js +0 -2
- package/dist/assets/mount-ingest-root-BsWbEvr_.js +0 -2
- package/dist/assets/mount-manifest-t6ipNsoF.js +0 -1
- package/dist/assets/mount-three-ingest-root-DIR0wKrN.js +0 -1
- package/dist/assets/network-observer.service-CqTuZNtI.js +0 -1
- package/dist/assets/network.utility-CclYEmfV.js +0 -1
- package/dist/assets/play.command-Bz5Ra6Uj.js +0 -2
- package/dist/assets/project-authoring-session-BhNfg7TY.js +0 -2
- package/dist/assets/r3f-design-session-D8VF-hty.js +0 -2
- package/dist/assets/team-playtest.service-B9m6CNk7.js +0 -1
- package/dist/assets/three-authoring.service-BjJ9wetk.js +0 -2
- package/dist/assets/three-integration.service-BEk5QkKM.js +0 -1
- package/dist/assets/transport.header-D-n6dQ5n.js +0 -1
- package/dist/assets/ui-board-document-6e4w4a8B.js +0 -2
- package/dist/assets/world-documents-psBK5u_2.js +0 -1
package/dist-node/cli.js
CHANGED
|
@@ -2310,7 +2310,7 @@ import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
|
2310
2310
|
var package_default = {
|
|
2311
2311
|
name: "@volter/game-editor",
|
|
2312
2312
|
author: "Volter AI, Inc.",
|
|
2313
|
-
version: "0.5.
|
|
2313
|
+
version: "0.5.72",
|
|
2314
2314
|
publishConfig: {
|
|
2315
2315
|
access: "public"
|
|
2316
2316
|
},
|
|
@@ -2359,22 +2359,22 @@ var package_default = {
|
|
|
2359
2359
|
}
|
|
2360
2360
|
},
|
|
2361
2361
|
dependencies: {
|
|
2362
|
-
"@volter/editor-core": "0.5.
|
|
2363
|
-
"@volter/editor-game": "0.5.
|
|
2364
|
-
"@volter/editor-react": "0.5.
|
|
2365
|
-
"@volter/editor-threejs": "0.5.
|
|
2366
|
-
"@volter/editor-xstate": "0.5.
|
|
2362
|
+
"@volter/editor-core": "0.5.72",
|
|
2363
|
+
"@volter/editor-game": "0.5.72",
|
|
2364
|
+
"@volter/editor-react": "0.5.72",
|
|
2365
|
+
"@volter/editor-threejs": "0.5.72",
|
|
2366
|
+
"@volter/editor-xstate": "0.5.72",
|
|
2367
2367
|
"@volter/editor-blender": "0.1.13",
|
|
2368
|
-
"@volter/dawproject": "0.5.
|
|
2369
|
-
"@volter/editor-dawproject": "0.5.
|
|
2368
|
+
"@volter/dawproject": "0.5.72",
|
|
2369
|
+
"@volter/editor-dawproject": "0.5.72",
|
|
2370
2370
|
"@volter/blender-engine": "0.1.11",
|
|
2371
|
-
"@volter/editor-project": "0.5.
|
|
2372
|
-
"@volter/editor-sdk": "0.5.
|
|
2373
|
-
"@volter/editor-live": "0.5.
|
|
2374
|
-
"@volter/game-live": "0.5.
|
|
2371
|
+
"@volter/editor-project": "0.5.72",
|
|
2372
|
+
"@volter/editor-sdk": "0.5.72",
|
|
2373
|
+
"@volter/editor-live": "0.5.72",
|
|
2374
|
+
"@volter/game-live": "0.5.72",
|
|
2375
2375
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
2376
|
-
"@volter/game-runtime": "0.5.
|
|
2377
|
-
"@volter/threejs-runtime": "0.5.
|
|
2376
|
+
"@volter/game-runtime": "0.5.72",
|
|
2377
|
+
"@volter/threejs-runtime": "0.5.72",
|
|
2378
2378
|
undici: "7.29.1",
|
|
2379
2379
|
typescript: "5.9.3",
|
|
2380
2380
|
"@colyseus/schema": "^4.0.14",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/game-editor",
|
|
3
3
|
"author": "Volter AI, Inc.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.72",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -50,22 +50,22 @@
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@volter/editor-core": "0.5.
|
|
54
|
-
"@volter/editor-game": "0.5.
|
|
55
|
-
"@volter/editor-react": "0.5.
|
|
56
|
-
"@volter/editor-threejs": "0.5.
|
|
57
|
-
"@volter/editor-xstate": "0.5.
|
|
53
|
+
"@volter/editor-core": "0.5.72",
|
|
54
|
+
"@volter/editor-game": "0.5.72",
|
|
55
|
+
"@volter/editor-react": "0.5.72",
|
|
56
|
+
"@volter/editor-threejs": "0.5.72",
|
|
57
|
+
"@volter/editor-xstate": "0.5.72",
|
|
58
58
|
"@volter/editor-blender": "0.1.13",
|
|
59
|
-
"@volter/dawproject": "0.5.
|
|
60
|
-
"@volter/editor-dawproject": "0.5.
|
|
59
|
+
"@volter/dawproject": "0.5.72",
|
|
60
|
+
"@volter/editor-dawproject": "0.5.72",
|
|
61
61
|
"@volter/blender-engine": "0.1.11",
|
|
62
|
-
"@volter/editor-project": "0.5.
|
|
63
|
-
"@volter/editor-sdk": "0.5.
|
|
64
|
-
"@volter/editor-live": "0.5.
|
|
65
|
-
"@volter/game-live": "0.5.
|
|
62
|
+
"@volter/editor-project": "0.5.72",
|
|
63
|
+
"@volter/editor-sdk": "0.5.72",
|
|
64
|
+
"@volter/editor-live": "0.5.72",
|
|
65
|
+
"@volter/game-live": "0.5.72",
|
|
66
66
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
67
|
-
"@volter/game-runtime": "0.5.
|
|
68
|
-
"@volter/threejs-runtime": "0.5.
|
|
67
|
+
"@volter/game-runtime": "0.5.72",
|
|
68
|
+
"@volter/threejs-runtime": "0.5.72",
|
|
69
69
|
"undici": "7.29.1",
|
|
70
70
|
"typescript": "5.9.3",
|
|
71
71
|
"@colyseus/schema": "^4.0.14",
|
|
@@ -266,7 +266,7 @@ captures.
|
|
|
266
266
|
|
|
267
267
|
`src/main.ts` mounts the roots the manifest declares for the standalone game,
|
|
268
268
|
and the editor mounts the same entries itself. The source component itself
|
|
269
|
-
stays free of
|
|
269
|
+
stays free of Volter runtime context.
|
|
270
270
|
|
|
271
271
|
## Capabilities and assets
|
|
272
272
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: volter-ingest-existing-game
|
|
3
3
|
description: >
|
|
4
4
|
Take an existing, unmodified web game (three.js, PixiJS, or React) to FULL
|
|
5
|
-
|
|
5
|
+
Volter editor integration: mount it through the adapter seam, declare its
|
|
6
6
|
real capabilities through the game contract, drive every adapter slot to a
|
|
7
7
|
terminal state (implemented, or verified implemented-empty), and prove it
|
|
8
8
|
live through the product's own doors. Use when asked to ingest, adapt,
|
|
@@ -272,7 +272,7 @@ is `npx volter-game-editor screenshot`, and the module lane is the asset loop:
|
|
|
272
272
|
lighting).
|
|
273
273
|
|
|
274
274
|
> Engine-repo aside — not for game projects. When you are working inside the
|
|
275
|
-
>
|
|
275
|
+
> Volter engine checkout itself (no game project, no editor session), the
|
|
276
276
|
> equivalent is `node packages/engine/e2e/turntable/capture.mjs <subject>`,
|
|
277
277
|
> run from the checkout root; it boots and tears down its own server. Point
|
|
278
278
|
> it at your own builder with `capture.mjs file --module
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: volter-ingest-existing-game
|
|
3
3
|
description: >
|
|
4
4
|
Take an existing, unmodified web game (three.js, PixiJS, or React) to FULL
|
|
5
|
-
|
|
5
|
+
Volter editor integration: mount it through the adapter seam, declare its
|
|
6
6
|
real capabilities through the game contract, drive every adapter slot to a
|
|
7
7
|
terminal state (implemented, or verified implemented-empty), and prove it
|
|
8
8
|
live through the product's own doors. Use when asked to ingest, adapt,
|
|
@@ -272,7 +272,7 @@ is `npx volter-game-editor screenshot`, and the module lane is the asset loop:
|
|
|
272
272
|
lighting).
|
|
273
273
|
|
|
274
274
|
> Engine-repo aside — not for game projects. When you are working inside the
|
|
275
|
-
>
|
|
275
|
+
> Volter engine checkout itself (no game project, no editor session), the
|
|
276
276
|
> equivalent is `node packages/engine/e2e/turntable/capture.mjs <subject>`,
|
|
277
277
|
> run from the checkout root; it boots and tears down its own server. Point
|
|
278
278
|
> it at your own builder with `capture.mjs file --module
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: volter-ingest-existing-game
|
|
3
3
|
description: >
|
|
4
4
|
Take an existing, unmodified web game (three.js, PixiJS, or React) to FULL
|
|
5
|
-
|
|
5
|
+
Volter editor integration: mount it through the adapter seam, declare its
|
|
6
6
|
real capabilities through the game contract, drive every adapter slot to a
|
|
7
7
|
terminal state (implemented, or verified implemented-empty), and prove it
|
|
8
8
|
live through the product's own doors. Use when asked to ingest, adapt,
|
|
@@ -272,7 +272,7 @@ is `npx volter-game-editor screenshot`, and the module lane is the asset loop:
|
|
|
272
272
|
lighting).
|
|
273
273
|
|
|
274
274
|
> Engine-repo aside — not for game projects. When you are working inside the
|
|
275
|
-
>
|
|
275
|
+
> Volter engine checkout itself (no game project, no editor session), the
|
|
276
276
|
> equivalent is `node packages/engine/e2e/turntable/capture.mjs <subject>`,
|
|
277
277
|
> run from the checkout root; it boots and tears down its own server. Point
|
|
278
278
|
> it at your own builder with `capture.mjs file --module
|
package/template/IDIOMS.md
CHANGED
|
@@ -11,7 +11,7 @@ Legend: **ERROR** fails every run; **WARN** prints but fails only with
|
|
|
11
11
|
|
|
12
12
|
- The source is the document. Three roots are ordinary R3F TSX, Canvas roots
|
|
13
13
|
are ordinary Pixi/React source, and DOM roots are ordinary React. The world
|
|
14
|
-
node is the entity; no mirror ECS, registration layer, or
|
|
14
|
+
node is the entity; no mirror ECS, registration layer, or Volter runtime API
|
|
15
15
|
belongs in gameplay components. **LOOK**
|
|
16
16
|
- A DOM HUD is a manifest `dom` root and reads the project's own React
|
|
17
17
|
context/store. A timer repeatedly copying game state into React state is a
|
package/template/README.md
CHANGED
|
@@ -77,6 +77,3 @@ game is its own code. `package.json` still declares what the game uses, so
|
|
|
77
77
|
replacing the link with `npm install` gives a standalone installation.
|
|
78
78
|
`npm run volter -- status` reports the product serving the active session.
|
|
79
79
|
|
|
80
|
-
Learn and manual: https://volter-learn.pages.dev
|
|
81
|
-
|
|
82
|
-
Hosted editor: https://volter-editor.pages.dev
|
package/template/package.json
CHANGED
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@colyseus/sdk": "^0.17.34",
|
|
25
25
|
"@react-three/drei": "^10.7.7",
|
|
26
26
|
"@react-three/fiber": "^9.6.1",
|
|
27
|
-
"@volter/editor-project": "^0.5.
|
|
28
|
-
"@volter/game-runtime": "^0.5.
|
|
29
|
-
"@volter/threejs-runtime": "^0.5.
|
|
27
|
+
"@volter/editor-project": "^0.5.72",
|
|
28
|
+
"@volter/game-runtime": "^0.5.72",
|
|
29
|
+
"@volter/threejs-runtime": "^0.5.72",
|
|
30
30
|
"react": "~19.2.4",
|
|
31
31
|
"react-dom": "~19.2.4",
|
|
32
32
|
"three": "^0.180.0",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"@types/react-dom": "^19.2.3",
|
|
41
41
|
"@types/three": "^0.180.0",
|
|
42
42
|
"@vitejs/plugin-react": "^5.1.4",
|
|
43
|
-
"@volter/editor-core": "^0.5.
|
|
44
|
-
"@volter/editor-game": "^0.5.
|
|
45
|
-
"@volter/editor-live": "^0.5.
|
|
46
|
-
"@volter/editor-sdk": "^0.5.
|
|
47
|
-
"@volter/editor-threejs": "^0.5.
|
|
48
|
-
"@volter/game-editor": "^0.5.
|
|
49
|
-
"@volter/game-live": "^0.5.
|
|
43
|
+
"@volter/editor-core": "^0.5.72",
|
|
44
|
+
"@volter/editor-game": "^0.5.72",
|
|
45
|
+
"@volter/editor-live": "^0.5.72",
|
|
46
|
+
"@volter/editor-sdk": "^0.5.72",
|
|
47
|
+
"@volter/editor-threejs": "^0.5.72",
|
|
48
|
+
"@volter/game-editor": "^0.5.72",
|
|
49
|
+
"@volter/game-live": "^0.5.72",
|
|
50
50
|
"colyseus": "^0.17.8",
|
|
51
51
|
"storybook": "10.6.0",
|
|
52
52
|
"tsx": "^4.23.0",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* holds what it is doing so the game's Tester surface and `volter-game-editor eval`
|
|
7
7
|
* both watch one run, and it implements the operator controls the tester
|
|
8
8
|
* honors between steps. This module is plain application state and imports no
|
|
9
|
-
*
|
|
9
|
+
* Volter API; its exports are the whole control surface.
|
|
10
10
|
*
|
|
11
11
|
* `getBotStatus()` reads `{active, seat, goal, step, phase, progress,
|
|
12
12
|
* waitingOn, note, seed, directive}`. `pauseBot()`, `resumeBot()`,
|
package/template/vite.config.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { defineConfig } from 'vite';
|
|
|
6
6
|
import { manifestEntryModulesPlugin } from './manifest-entry-modules-plugin';
|
|
7
7
|
import manifest from './volter.project.json';
|
|
8
8
|
|
|
9
|
-
/** A
|
|
9
|
+
/** A Volter runtime package served as SOURCE, the way the editor serves it. */
|
|
10
10
|
const packageSource = (name: string) =>
|
|
11
11
|
path.join(path.dirname(createRequire(import.meta.url).resolve(`${name}/package.json`)), 'src');
|
|
12
12
|
|
|
@@ -68,7 +68,7 @@ export default defineConfig({
|
|
|
68
68
|
//
|
|
69
69
|
// This project has no `@vitejs/plugin-react`; Vite's built-in esbuild does
|
|
70
70
|
// the JSX transform, and it picks the runtime from the tsconfig nearest the
|
|
71
|
-
// FILE. That covers `src/**`, but the
|
|
71
|
+
// FILE. That covers `src/**`, but the Volter runtime packages are served as
|
|
72
72
|
// source out of their installed directories (see the aliases below), where
|
|
73
73
|
// the project's tsconfig does not reach — so their `.tsx` compiled with the CLASSIC runtime, emitting
|
|
74
74
|
// bare `React.createElement` calls into a module that never imports React.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./jsx-runtime-DPjLkJKQ.js";import{Object3DSnapshotDocument as m}from"./EntityModelDocument-C-lhKrxv.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./editor-shell-store-BRqB1JZO.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-CGX7iCSP.js";import"./workspace-arrangement-dkubzCff.js";import"./index-Cr9NTnJp.js";import"./index-nmcBqr7Y.js";import"./index-D_NuPfjr.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./user-data-BXFD1jg-.js";import"./entity-object--ZpqIat7.js";import"./three-contract-Dkt6PmWY.js";import"./live-mixers-B-bwLZ7c.js";import"./asset-preview-CQfnI2cX.js";import"./renderer-ownership-BovSEcLv.js";import"./hierarchy-marks-CndAXtie.js";import"./studio-environment-B--4k2mN.js";import"./KTX2Loader-CaqVE6nY.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";import"./bitmap-label-Ct4k6ehY.js";import"./StageHost-B3Yt4I7r.js";import"./three-state-C36FeFK4.js";import"./standard-viewport-dressing-DuKH01r4.js";import"./content-bounds-7UyI42Vj.js";import"./preview-renderer-BrYNFV1p.js";import"./live-gesture-lock-DJbrjOqf.js";import"./model-inspection-CuVwNVvv.js";import"./three-viewport-presentation-CCMgGLI2.js";import"./clip-planes-CnAI6DZn.js";import"./three-B86IzdNg.js";import"./component-instance-root-C1Xf4SwR.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./model-thumbnail-xm1Fabi2.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./three-integration-nl5TC6EF.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./layered-pick-D9tIz_m7.js";import"./root-stacking-BEd9ZvxC.js";import"./object3d-document-session-registry-BWeuL0nf.js";import"./viewport-door-AsLxGhLN.js";import"./scene-framing-BhNk0WhI.js";import"./source-object3d-authoring-adapter-IDRws2Nk.js";import"./three-projection-core-D4m8lsPU.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./transport-strip-B1AJKpn-.js";import"./viewport-surface-status-CWmQeKTO.js";function ut({previewKey:o,object:r,displayName:i,fill:p=!1}){return t.jsx("div",{"data-testid":"inspector-object-preview",style:p?{position:"absolute",inset:0,overflow:"hidden"}:{width:"100%",height:220,minHeight:220,borderBottom:"1px solid var(--volter-structural-divider)",overflow:"hidden",position:"relative"},children:t.jsx(m,{documentId:`inspector-preview:${o}`,source:r,displayName:i,active:!0,chromeless:!0})})}export{ut as InspectorObjectPreview};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StageHost-B3Yt4I7r.js","assets/index-Cr9NTnJp.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/three-state-C36FeFK4.js","assets/editor-shell-store-BRqB1JZO.js","assets/output-pass-HurwNl0G.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/Pass-D1MRT672.js","assets/editor-layers-CGX7iCSP.js","assets/workspace-arrangement-dkubzCff.js","assets/user-data-BXFD1jg-.js","assets/entity-object--ZpqIat7.js","assets/three-contract-Dkt6PmWY.js","assets/standard-viewport-dressing-DuKH01r4.js","assets/content-bounds-7UyI42Vj.js","assets/hierarchy-marks-CndAXtie.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/preview-renderer-BrYNFV1p.js","assets/renderer-ownership-BovSEcLv.js","assets/live-mixers-B-bwLZ7c.js","assets/live-gesture-lock-DJbrjOqf.js","assets/model-inspection-CuVwNVvv.js","assets/three-viewport-presentation-CCMgGLI2.js","assets/clip-planes-CnAI6DZn.js","assets/three-B86IzdNg.js","assets/component-instance-root-C1Xf4SwR.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/model-thumbnail-xm1Fabi2.js","assets/studio-environment-B--4k2mN.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/OrbitControls-B13MKuwC.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/three-integration-nl5TC6EF.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/layered-pick-D9tIz_m7.js","assets/root-stacking-BEd9ZvxC.js","assets/object3d-document-session-registry-BWeuL0nf.js","assets/viewport-door-AsLxGhLN.js","assets/asset-preview-CQfnI2cX.js","assets/bitmap-label-Ct4k6ehY.js","assets/scene-framing-BhNk0WhI.js","assets/source-object3d-authoring-adapter-IDRws2Nk.js","assets/three-projection-core-D4m8lsPU.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/transport-strip-B1AJKpn-.js","assets/viewport-surface-status-CWmQeKTO.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{ae as r,_ as a}from"./index-Cr9NTnJp.js";import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as n}from"./index-nmcBqr7Y.js";import{V as c,O as u}from"./viewport-surface-status-CWmQeKTO.js";const s=n.lazy(async()=>({default:(await a(()=>import("./StageHost-B3Yt4I7r.js").then(e=>e.S),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))).Object3DDocumentViewport}));function l(t){return i(t.documentId,t.chromeless),o.jsx(n.Suspense,{fallback:o.jsx(c,{testId:"object3d-document-loading",children:u}),children:o.jsx(s,{...t})})}function i(t,e=!1){n.useEffect(()=>{if(!e)return r(t)},[t,e])}export{l as O};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{J as i,r as m}from"./index-Cr9NTnJp.js";import{e 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 Mt="workspace.service";function e(o){p().catch(t=>{m().console.error(`${o}: ${t instanceof Error?t.message:String(t)}`,"play")})}function Rt(){let o,t=!1;const r=i(()=>{t||new URLSearchParams(window.location.search).get("play")==="1"&&(t=!0,o=window.setTimeout(()=>e("Could not enter requested Play mode"),0))});return()=>{o!==void 0&&window.clearTimeout(o),r()}}export{Mt as point,Rt as start};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cr9NTnJp.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/editor-api-C8MUOrwt.js","assets/game-network-BqI-Ehz0.js","assets/index-OZVqp6xS.js","assets/index-Da9JhEvW.js","assets/native-debug-module-CB738yQu.js","assets/native-entry-surface-BE8LJNdu.js","assets/debug-registry-DgYNlhH_.js","assets/contract-system-adapters-Bq1LGdjs.js","assets/game-contract-seams-Dgqv6S8X.js","assets/seeded-random-DmdE0u-C.js","assets/game-audio-BeCyd0Ha.js","assets/rapier-physics-adapter-CaZqWLu0.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/index-bQE2NA0D.js","assets/live-project-verbs-p1sdTwhF.js","assets/capability-coverage-7wKVA3PF.js","assets/edit-mode-authoring-ZQuUwc6e.js","assets/json-history-resource-C9G_vCX9.js","assets/binding-resolver-B9VI52zt.js","assets/adapter-surface-Y37Nzcyw.js","assets/structural-signature-Dc7skRiy.js","assets/webgl-frame-capture-DdJkM2mi.js","assets/realm-services-BtiLE3a-.js","assets/canvas-entry-runtime-a6N7Rsrj.js","assets/three-ingest-runtime-CXySzulx.js","assets/EffectComposer-BEAt0PtQ.js","assets/CopyShader-BzTUYzf6.js","assets/ShaderPass-DTnDQXm0.js","assets/Pass-D1MRT672.js","assets/CSS3DRenderer-BsAqfavI.js","assets/relative-path-guard-GiM7Lsz8.js","assets/react-root-BHA-cdrW.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/active-ingest-CjZtqL7Q.js","assets/ingest-source-persistence-BGIvThcv.js","assets/pixi-story-model-DNkfnWUV.js","assets/surface-content-Dg9Kkazf.js","assets/viewport-root-presentation-B1qtThOB.js","assets/mounted-authoring-DX3DC9PJ.js","assets/entity-object--ZpqIat7.js","assets/user-data-BXFD1jg-.js","assets/workspace-arrangement-dkubzCff.js","assets/three-contract-Dkt6PmWY.js","assets/three-B86IzdNg.js","assets/editor-layers-CGX7iCSP.js","assets/component-instance-root-C1Xf4SwR.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three-authoring-adapter-BD8_MtYK.js","assets/source-persistence-backend-Dzc6MsmN.js","assets/three-projection-core-D4m8lsPU.js","assets/body-marks-C1LxJtQb.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/structural-ids-BOo2BRoY.js","assets/object3d-authoring-subject-XccsO0xG.js","assets/r3f-physics-binding-oippu1v_.js","assets/deferred-ingest-play-Bpdhu2i-.js","assets/rrweb-Cd2ifIRP.js","assets/react-world-authoring-adapter-CuyruDfq.js","assets/board-guides-BG-MHK2G.js","assets/relative-import-specifier-CyT6yU4l.js","assets/story-arg-descriptors-Ek86ExX7.js","assets/inspect-CN92MgRT.js","assets/inference-diagnostics-D5jfxI5p.js","assets/writer-tw6EcuVO.js","assets/three-state-C36FeFK4.js","assets/editor-shell-store-BRqB1JZO.js","assets/output-pass-HurwNl0G.js","assets/viewport-door-AsLxGhLN.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a5 as _,j6 as $,j7 as N,j8 as f,j9 as g,ja as U,_ as R,jb as V,U as B,jc as M,O as C,jd as G,B as k}from"./index-Cr9NTnJp.js";import{g as l,a as b,A as D,B as j,C as F,d as O,D as x,E as q}from"./game-network-BqI-Ehz0.js";import{e as H,c as z}from"./gameplay-replay-BHz6VAVa.js";import{n as A,s as h}from"./command-results-CUQD49AB.js";import{z as K,i as y}from"./active-ingest-CjZtqL7Q.js";import{g as W}from"./capability-coverage-7wKVA3PF.js";import{w as Z,H as X}from"./debug-bridge-CarsgKpm.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"./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"./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"./ingest-source-persistence-BGIvThcv.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";import"./output-DK8waum9.js";const E=()=>_().debug!=null;function d(e,t,s){const a=new Error(t);return a.code=e,s&&(a.data=s),a}function S(e){return Array.isArray(e)?new Set(e.filter(t=>!!(t&&typeof t=="object"&&typeof t.name=="string")).map(t=>t.name)):new Set}function J(e,t,s,a,i){if(e==="commands"){const c=S(t);return Array.isArray(t)&&[...a].every(o=>c.has(o))}if(e==="providers"){const c=S(t);return Array.isArray(t)&&[...i].every(o=>c.has(o))}return s?e==="state"?i.has(s):e==="invoke"?a.has(s):!1:!1}function T(e,t,s){const a=K(),i=a?.systems;if(!a||!i)return;const c=new Set((i.commands??[]).map(n=>n.name)),o=new Set((i.state??[]).map(n=>n.name));J(e,t,s,c,o)&&f({seam:"contract.systems",subject:"game",epoch:W(a),stage:"operation",outcome:"pass",source:"consumer",detail:`the session wire consumed contract systems through debug.${e}`})}async function Q(e,t,s){let a;try{a=$(s).debug}catch(o){throw o instanceof N?d("INSTANCE_UNRESOLVED",`session wire: "${e}" — ${o.message}`,{instances:o.instances}):o}const i=()=>{if(!a)throw d("DEBUG_ADAPTER_UNAVAILABLE",`session wire: "${e}" — this game exposes no debug adapter`);return a},c=(o,n,r)=>{const u=i(),m=g(u);try{const p=r();return f({seam:`system.debug.${o}`,subject:"game",epoch:m,stage:n,outcome:"pass",source:"consumer",detail:`the session wire called debug.${o} and received its result`}),f({seam:"system.debug",subject:"game",epoch:m,stage:"operation",outcome:"pass",source:"consumer",detail:"the session wire consumed the mounted debug adapter"}),T(o,p,t[0]),p}catch(p){throw f({seam:`system.debug.${o}`,subject:"game",epoch:m,stage:n,outcome:"fail",source:"consumer",detail:`the session wire called debug.${o} and it failed: ${p instanceof Error?p.message:String(p)}`}),p}};switch(e){case"state":return c("state","operation",()=>i().state(t[0]));case"stateAll":return c("stateAll","operation",()=>i().stateAll());case"providers":return c("providers","operation",()=>i().providers());case"commands":return c("commands","operation",()=>i().commands());case"events":return c("events","operation",()=>i().events(t[0]));case"snapshot":{const o=i();return{time:c("state","operation",()=>o.state("time")),state:c("stateAll","operation",()=>o.stateAll()),events:c("events","operation",()=>o.events(t[0])),pageErrors:U()}}case"invoke":{const o=t[0],n=t[1]??[];try{const r=await i().invoke(o,n),u=i();return f({seam:"system.debug.invoke",subject:"game",epoch:g(u),stage:"effect",outcome:"pass",source:"consumer",detail:`the session wire invoked debug command "${o}" and received its result`}),f({seam:"system.debug",subject:"game",epoch:g(u),stage:"operation",outcome:"pass",source:"consumer",detail:"the session wire consumed the mounted debug adapter"}),T("invoke",r,o),r}catch(r){const u=i();throw f({seam:"system.debug.invoke",subject:"game",epoch:g(u),stage:"effect",outcome:"fail",source:"consumer",detail:`the session wire invoked debug command "${o}" and it failed: ${r instanceof Error?r.message:String(r)}`}),r}}case"runTicks":{const o=l();if(!o?.runTicks)throw d("RUN_TICKS_UNAVAILABLE","this play session has no first-party Game to run ticks on");const n=t[0],r=t[1];o.runTicks(n,r);return}case"runTicksSettled":{const o=l();if(!o?.runTicksSettled)throw d("RUN_TICKS_UNAVAILABLE","this play session has no first-party Game to run ticks on");const n=t[0],r=t[1];await o.runTicksSettled(n,r);return}case"input.setVirtualAction":case"input.tapVirtualAction":case"input.clearVirtualActions":case"input.startRecording":case"input.stopRecording":case"input.isRecording":{const o=l(),n=e==="input.setVirtualAction"?t[2]:e==="input.tapVirtualAction"?t[1]:t[0],r=o?o.getInputTarget(n):null;if(!r)throw d("DEBUG_INPUT_UNAVAILABLE",`session wire: ${e}() has no virtual-input target wired — no root entry exports \`debug.input\` (the game's own input door), or none has mounted yet`);if(e==="input.setVirtualAction")return r.setVirtualAction(t[0],t[1]);if(e==="input.tapVirtualAction")return r.tapVirtualAction(t[0]);if(e==="input.clearVirtualActions"){r.clearVirtualActions();return}if(e==="input.startRecording"){r.startInputRecording();return}if(e==="input.stopRecording"){r.stopInputRecording();return}return r.isInputRecording()}case"input.scheduleActionAtTick":{const o=l(),n=t[0],r=t[1],u=t[2],m=t[3],p=o?o.getInputTarget(m):null;if(!p)throw d("DEBUG_INPUT_UNAVAILABLE","session wire: input.scheduleActionAtTick() has no virtual-input target wired — no root entry exports `debug.input` (the game's own input door), or none has mounted yet");return p.scheduleActionAtTick(n,r,u)}case"input.injectPointerDelta":case"input.injectPointerPosition":{const o=l(),n=t[0],r=t[1],u=t[2],m=o?o.getInputTarget(u):null;if(!m)throw d("DEBUG_INPUT_UNAVAILABLE",`session wire: ${e}() has no virtual-input target wired — no root entry exports \`debug.input\` (the game's own input door), or none has mounted yet`);e==="input.injectPointerDelta"?m.injectPointerDelta(n,r):m.injectPointerPosition(n,r);return}case"holdFor":{const o=l(),n=t[2],r=o?o.getInputTarget(n):null;if(!r)throw d("DEBUG_INPUT_UNAVAILABLE","session wire: holdFor() has no virtual-input target wired — no root entry exports `debug.input` (the game's own input door), or none has mounted yet");const u=t[0],m=t[1],p=r.setVirtualAction(u,!0);if(!p.delivered)return r.clearVirtualActions(),{delivered:!1,reason:p.reason};const{stalled:v,starvedWithoutDriver:w}=await Z(i(),m,o?.runTicks?L=>o.runTicks?.(L,{render:"last"}):void 0);return r.clearVirtualActions(),v?{delivered:!1,reason:w?X:"play stopped during hold"}:{delivered:!0}}default:throw d("UNKNOWN_BRIDGE_METHOD",`session wire: unknown bridge method "${e}"`)}}async function Y(e){if(!b()&&!E())return y()?{ok:!1,error:"this ingest mount is live, but it publishes no debug plane — the mount installs no SystemAdapters.debug, so there is nothing to enumerate, read or drive through the game seam. Starting play will not change that; the game itself must declare the volter game contract (or carry a contract shim beside it) for these calls to have an answer."}:A();const t=e.method,s=e.callArgs??[];try{const a=e.instance;return{ok:!0,data:{result:await Q(t,s,a)}}}catch(a){return h(a)}}async function P(e){const{liveCanvasFrame:t}=await R(async()=>{const{liveCanvasFrame:s}=await import("./index-Cr9NTnJp.js").then(a=>a.tZ);return{liveCanvasFrame:s}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return t(e)}function ee(){const e=l();e?.loop.liveness==="loop-starved"&&e.runTicks?.(1,{render:"last"})}function I(e,t){const s=te();return{ok:!0,data:{base64:e,mimeType:"image/png",composite:t.composite,...t.layers?{layers:t.layers}:{},...t.flatness?{flatness:t.flatness}:{},...t.loopRecoveryFrame?{loopRecoveryFrame:!0}:{},...s?{recording:s}:{}}}}function te(){const e=F();return e?{path:e.path,startedAt:e.startedAt,notice:[`This run is being RECORDED — the still above is one frame of ${e.path}.`,"A still cannot answer a question about a moving game (did the jump land, did the shot","register). If that is the question, read the clip:","",` recording: ${e.path}${e.rotates?` (the next ${k("play")} replaces this file)`:" (named — never rotated)"}`,...e.format==="canvas-dom"?[` HUD replay: ${e.replayPath}`," The raw WebM contains the canvas only. Reconstruct HUD stills with"," editor.recording.captureReplay, or export a full video with editor.recording.exportReplay."]:[],` startedAt: ${e.startedAt} (clip offset 0)`,` play log: ${e.logFile===null?"(none — nothing is logging this run)":`logs/${e.logFile}`} (event timestamps → clip offsets)`,"","THE BAR for a temporal question: examine AT LEAST 10 frames spanning no more than 5","seconds around the moment. One frame, or ten frames spread across the run, is the same","guess a single screenshot was.","",`The clip is finalized and readable when play stops — ${k("stop")}, or the idle`,`auto-stop after ${Math.round(e.idleAutoStopMs/1e3)}s with no session command and no player input.`].join(`
|
|
3
|
-
`)}:null}async function re(e){if(!b()&&!E()&&!y())return A();const t=e.instance,s=D(t),a=j(t),i=V(s).medium,c=l();let o=!1,n=null;if(a&&c?.loop.liveness==="loop-starved")if(e.refreshStarvedFrame===!0&&c.runTicks)try{c.runTicks(1,{render:"last"}),o=!0}catch(r){return h(r)}else return{ok:!1,error:"cannot capture a fresh game frame while the host loop reports 'loop-starved' — inspect the separate visibility readings, let presentation resume, or request a deterministic loop-recovery frame",data:{code:"BRIDGE_SCREENSHOT_STALE"}};if(s&&typeof Image<"u"&&typeof XMLSerializer<"u"&&typeof s.getBoundingClientRect=="function")try{const r=await B(s,{canvasFrame:P,...i==="unknown"?{}:{presentsOnCanvas:i==="canvas"}});if(r.layers.canvases===0&&r.layers.domOverlays===0)throw new M(i==="dom"?"dom-overlay":"composite-output","no game layers were mounted");return I(r.base64,{composite:!0,layers:r.layers,flatness:r.flatness,loopRecoveryFrame:o})}catch(r){n=r,C.warn(`Full-stack screenshot failed; returning the canvas-only fallback — ${r instanceof Error?r.message:String(r)}`,"screenshot")}if(!a){const r=n instanceof Error?n.message:String(n);return{ok:!1,error:n!==null?`full game-stack capture failed — ${r}; no canvas layer is available as a fallback`:y()?"the ingest mount is live but no DOM overlay or canvas layer is mounted for capture":"no play-mode DOM overlay or canvas layer is mounted yet",data:{code:"BRIDGE_SCREENSHOT_UNAVAILABLE"}}}try{const r=await R(()=>import("./index-Cr9NTnJp.js").then(w=>w.tZ),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),u=r.readablePngSource(await r.liveCanvasFrame(a))??a,m=u.toDataURL("image/png"),p=m.indexOf(","),v=p>=0?m.slice(p+1):m;return I(v,{composite:!1,flatness:G(u,a.ownerDocument),loopRecoveryFrame:o})}catch(r){return{ok:!1,error:`bridge-screenshot: canvas layer capture failed — ${r instanceof Error?r.message:String(r)}`+(n===null?"":`; full game-stack capture also failed — ${n instanceof Error?n.message:String(n)}`),data:{code:"BRIDGE_SCREENSHOT_UNAVAILABLE"}}}}const $t="workspace.command",Nt={"bridge-call":{timeoutMs:6e4,derivedRefresh:"always",handle:Y},"bridge-screenshot":{timeoutMs:15e3,derivedRefresh:"if-content-changed",handle:re},"bridge-recording-start":{timeoutMs:15e3,derivedRefresh:"none",handle:async e=>{if(!b()&&!E()&&!y())return A();const t=D();if(!t)return{ok:!1,error:"no play-mode game surface is mounted yet"};const s=_().audio?.acquireRecordingStream?.()??null;try{return{ok:!0,data:{...await x(t,{fps:typeof e.fps=="number"?e.fps:void 0,format:e.format==="canvas-dom"||e.format==="composite-webm"?e.format:void 0,name:typeof e.name=="string"||e.name===null?e.name:void 0,canvasFrame:P,refreshFrame:ee,audio:s})}}}catch(a){return h(a)}}},"bridge-recording-stop":{timeoutMs:6e4,derivedRefresh:"none",handle:async()=>{try{return{ok:!0,data:{...await O()}}}catch(e){return h(e)}}},"bridge-recording-timeline":{derivedRefresh:"none",handle:()=>{const e=q();return e===null?{ok:!1,error:"no gameplay recording is active"}:{ok:!0,data:{...e}}}},"bridge-recording-replay-capture":{timeoutMs:6e4,derivedRefresh:"none",handle:async e=>{try{return typeof e.replayPath!="string"?{ok:!1,error:"replayPath is required"}:typeof e.positionMs!="number"||!Number.isFinite(e.positionMs)?{ok:!1,error:"finite positionMs is required"}:{ok:!0,data:{...await z(e.replayPath,e.positionMs)}}}catch(t){return h(t)}}},"bridge-recording-replay-export":{timeoutMs:6e5,derivedRefresh:"none",handle:async e=>{try{if(typeof e.replayPath!="string")return{ok:!1,error:"replayPath is required"};const{blob:t,...s}=await H({replayPath:e.replayPath,...typeof e.fps=="number"?{fps:e.fps}:{},...typeof e.startMs=="number"?{startMs:e.startMs}:{},...typeof e.endMs=="number"?{endMs:e.endMs}:{}}),{beginGameplayRecordingSink:a,appendGameplayRecordingChunk:i,finishGameplayRecordingSink:c,abortGameplayRecordingSink:o}=await R(async()=>{const{beginGameplayRecordingSink:r,appendGameplayRecordingChunk:u,finishGameplayRecordingSink:m,abortGameplayRecordingSink:p}=await import("./editor-api-C8MUOrwt.js");return{beginGameplayRecordingSink:r,appendGameplayRecordingChunk:u,finishGameplayRecordingSink:m,abortGameplayRecordingSink:p}},__vite__mapDeps([10,0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80])),n=await a({startedAt:new Date().toISOString(),mimeType:"video/webm",purpose:"export",name:typeof e.name=="string"?e.name:`replay-export-${Date.now()}`});try{for(let r=0,u=0;r<t.size;r+=4*1024*1024,u++)await i(n,u,t.slice(r,r+4*1024*1024));await c(n,"post-processed canvas and DOM recording")}catch(r){throw await o(n),r}return{ok:!0,data:{...s,path:n.path}}}catch(t){return h(t)}}}};export{Nt as commands,$t as point};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ui-board-document-6e4w4a8B.js","assets/index-Cr9NTnJp.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/design-time-layers-BIb71snu.js","assets/root-stacking-BEd9ZvxC.js","assets/edit-mode-authoring-ZQuUwc6e.js","assets/design-time-mount-registry-DUpXCg1U.js","assets/react-story-board-mhldts6w.js","assets/world-documents-psBK5u_2.js","assets/react-canvas-navigation-DuzvnFoN.js","assets/component-board-registry-DrIa2csL.js","assets/surface-state-CQHVfsma.js","assets/board-guides-BG-MHK2G.js","assets/CanvasSceneViewport-57CEFqSM.js","assets/RootSelectionOverlay-Cn2Rbr1N.js","assets/eyedropper-session-bjPXnfeX.js","assets/layered-pick-D9tIz_m7.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/inspect-CN92MgRT.js","assets/inference-diagnostics-D5jfxI5p.js","assets/Toolbar-BZyog9MR.js","assets/transform-mode-request-CIgYj1Qb.js","assets/TransientHint-RJEkOJoy.js","assets/ReactCanvasControls-rNz8syVB.js","assets/story-media-presence-BSX78yVJ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as a}from"./component-board-registry-DrIa2csL.js";import{dn as s,B as n,_ as i,O as c,am as d,eH as l}from"./index-Cr9NTnJp.js";import{s as m,g as p}from"./story-media-presence-BSX78yVJ.js";const r="UI",u={medium:"dom",owner:"@volter/editor-game/react/ui-board",documentId:s,title:r,presence:()=>l()?p().dom?"present":"absent":null,subscribe:o=>{const e=m(o),t=d(o);return()=>{e(),t()}},install:async o=>{try{const{installUiBoard:e}=await i(async()=>{const{installUiBoard:t}=await import("./ui-board-document-6e4w4a8B.js");return{installUiBoard:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]));e(o)}catch(e){throw c.error(`Failed to load the ${r} board: ${String(e)}`,"scene"),e}},absentReason:()=>`This project has no ${r} board (${s}): board presence keys on STORIES, not on roots, and none of this project's stories declares the "dom" medium. Declare it — a manifest root entry naming the story's module, or a \`volter.adapter.ts\` regionInclude that covers it — and the board appears. ${n("console")} names every story it could not place.`},_="workspace.service";function b(){return a(u)}const h=Object.freeze(Object.defineProperty({__proto__:null,point:_,start:b},Symbol.toStringTag,{value:"Module"}));export{r as U,h as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{stackOrder as se}from"./root-stacking-BEd9ZvxC.js";import{dp as ie,dq as de,dr as le,da as ae,aw as ue,ds as L,bq as fe,O as P,bp as pe,aB as ce,dt as we,dd as he,db as ye}from"./index-Cr9NTnJp.js";import{B as S,q as N}from"./edit-mode-authoring-ZQuUwc6e.js";import{s as ge,d as I,a as me}from"./design-time-mount-registry-DUpXCg1U.js";import{d as Ie,s as be,g as ve,e as Se}from"./react-story-board-mhldts6w.js";const H=new Map;function J(n,r){return`${n}\0${r}`}function Be(n,r){return H.get(J(n,r))}function $e(n,r,o){H.set(J(n,r),o)}const ke=1;function K(n){const r=[];for(const{worldId:o,adapter:d}of n.childAdapters()){if(!(d instanceof S))continue;const a=d.inspector.get(o,"kind");if(a!=="dom"&&a!=="canvas"||d.inspector.get(o,"reason")!==void 0)continue;const b=d.inspector.get(o,"adapter");b?.startsWith("ingest")||b?.startsWith("module")||r.push({worldId:o,kind:a,path:d.inspector.get(o,"path"),zOrder:Number(d.inspector.get(o,"zOrder")??0),pausable:d.inspector.get(o,"pausable")!==!1})}return r}function je(n){return K(n)}const Ce="ui-components-board";function $(n,r){return n.childAdapters().some(o=>o.worldId===r)}function De(){return{worldId:Ce,kind:"dom",path:void 0,zOrder:0,pausable:!0}}function U(n,r,o="dom"){const d=ce(r)?"none":"block";n.style.display=d,n.style.pointerEvents=I(o)?.alwaysInteractive||we(r)?"auto":"none";for(const a of Array.from(n.parentElement?.children??[]))a instanceof HTMLElement&&a.dataset.volterStoryBoardChromeFor===r&&(a.style.display=d)}function Oe(n,r,o,d){const{worldId:a}=r,s=document.createElement("div");return s.dataset.worldId=a,s.dataset.volterRootSurface="true",d&&(s.dataset.volterCanvasScene="true"),s.style.position="absolute",s.style.top="0",s.style.left="0",s.style.width="100%",s.style.height="100%",s.style.zIndex=String(o),s.style.contain="layout paint",s.style.cssText+="font: initial; color: initial; letter-spacing: normal; word-spacing: normal; text-align: start; text-indent: 0; text-transform: none; white-space: normal; direction: ltr;",U(s,a,r.kind),j(s),n.appendChild(s),s}function j(n){if(n.dataset.volterCanvasScene==="true"){n.style.transform="",n.style.width="100%",n.style.height="100%";return}if(n.style.transform=he(ye())??"",n.style.transformOrigin="0 0",n.dataset.volterReactStoryBoard==="true")return;const r=ve();n.style.width=r.width===null?"100%":`${r.width}px`,n.style.height=r.height===null?"100%":`${r.height}px`}const E=new Map;function Ve(n,r,o,d,a,s,b){s?s.canvasSceneView.reset():ie(),Se();const k=ue();if(!s&&k?.config.resolution&&Ie(k.config.resolution.width,k.config.resolution.height),o.playState!=="stopped"){let e=!1,t=!1;const i=o.subscribe(()=>{e||t||o.playState!=="stopped"||(t=!0,e||N())});return()=>{e=!0,i()}}const D=k?.rootPath,z=d?[...d]:K(r);if(z.length===0||!D)return()=>{};const X=D,y=se(z.map(e=>({id:e.worldId,zOrder:e.zOrder}))).map(e=>z.find(t=>t.worldId===e.id)),V=new Map(y.map(e=>[e.worldId,e])),u=new Map,g=new Map,C=new Map,O=new Set,R=new Set,T=new Set;let h=!1,p=!1,W=!1;function q(){for(const e of g.values())try{e()}catch(t){P.error(`[design-time-layers] dispose failed: ${t}`,"authoring")}g.clear();for(const e of u.values())e.remove();u.clear();for(const e of y)a?.(e.worldId,null)}function Y(){q();for(const e of O){const t=V.get(e);if(!t)continue;const i={id:t.worldId,kind:t.kind,entryOrScenePath:t.path,zOrder:t.zOrder,pausable:t.pausable};r.replaceChild(e,new S(o,i,"Design-time layer suspended by play mode — Stop restores it."))}O.clear(),o.notifyIngestEdit()}function M(e,t,i){const l=I(e.kind);if(!l){R.add(e.worldId);return}R.delete(e.worldId);const f=(C.get(e.worldId)??0)+1;C.set(e.worldId,f);const c=Oe(n,e,ke+t,!!s);u.set(e.worldId,c);const x={projectRootPath:X,store:o,...s?{view:s.canvasSceneView}:{},...b?{activationDocumentId:b}:{}},_=E.get(e.worldId),B=(async()=>(_&&await _,l.mount(e,c,x)))().then(w=>{if(h||p||C.get(e.worldId)!==f){w.dispose();return}if(w.adapter)$(r,e.worldId)&&(r.replaceChild(e.worldId,w.adapter),O.add(e.worldId)),a?.(e.worldId,w.adapter);else if(w.pick){const v={id:e.worldId,kind:e.kind,entryOrScenePath:e.path,zOrder:e.zOrder,pausable:e.pausable};r.replaceChild(e.worldId,new S(o,v,void 0,w.pick)),O.add(e.worldId)}g.set(e.worldId,w.dispose),L(e.worldId),o.notifyIngestEdit(),i?.()}).catch(w=>{if(C.get(e.worldId)!==f||(i?.(),c.remove(),u.get(e.worldId)===c&&u.delete(e.worldId),h||p))return;const v=fe(w);P.error(`[design-time-layers] world "${e.worldId}" (${e.kind}) failed to mount: ${v}`,"authoring");const ne={id:e.worldId,kind:e.kind,entryOrScenePath:e.path,zOrder:e.zOrder,pausable:e.pausable};a?.(e.worldId,null),$(r,e.worldId)&&r.replaceChild(e.worldId,new S(o,ne,v)),pe({worldId:e.worldId,kind:e.kind,identity:l.identity,message:v}),o.notifyIngestEdit()});E.set(e.worldId,B),B.then(()=>{E.get(e.worldId)===B&&E.delete(e.worldId)})}y.forEach((e,t)=>{M(e,t)});function Z(e,t){const i=g.get(e.worldId);g.delete(e.worldId);const l=u.get(e.worldId);u.delete(e.worldId),M(e,t,()=>{const c=u.get(e.worldId);if(c&&(c.style.visibility=""),i)try{i()}catch(x){P.error(`[design-time-layers] re-projection dispose failed: ${x}`,"authoring")}l?.remove()});const f=u.get(e.worldId);f&&f!==l&&(f.style.visibility="hidden")}function G(e,t){const i=g.get(e.worldId);if(g.delete(e.worldId),i)try{i()}catch(f){P.error(`[design-time-layers] remount dispose failed: ${f}`,"authoring")}const l=u.get(e.worldId);l&&(l.remove(),u.delete(e.worldId)),M(e,t)}const m=new Map;function A(){for(const[e,t]of m)I(e.kind)!==e&&(t(),m.delete(e));for(const e of me()){if(m.has(e)||I(e.kind)!==e||!y.some(l=>l.kind===e.kind))continue;const t=[],i=l=>()=>{h||p||o.playState!=="stopped"||y.forEach((f,c)=>{f.kind===e.kind&&l(f,c)})};e.remountWhen&&t.push(e.remountWhen(i(G))),e.reprojectWhen&&t.push(e.reprojectWhen(i(Z))),m.set(e,()=>{for(const l of t)l()})}}A();const Q=ge(()=>{h||p||o.playState!=="stopped"||(y.forEach((e,t)=>{R.has(e.worldId)&&I(e.kind)&&(T.delete(e.worldId),L(e.worldId),M(e,t))}),A())}),F=()=>{if(h||p)return;let e=!1;for(const t of y){if(!R.has(t.worldId)||T.has(t.worldId)||I(t.kind)||(T.add(t.worldId),!$(r,t.worldId)))continue;const i={id:t.worldId,kind:t.kind,entryOrScenePath:t.path,zOrder:t.zOrder,pausable:t.pausable};r.replaceChild(t.worldId,new S(o,i,`No package in this editor registered a design-time mount for a "${t.kind}" world, so there is nothing here to author it with.`)),e=!0}e&&o.notifyIngestEdit()},ee=de(F);le()&&F();const te=ae(()=>{for(const e of u.values())j(e)}),oe=be(()=>{for(const e of u.values())j(e)}),re=o.subscribe(()=>{if(!p&&o.playState!=="stopped"){p=!0,Y();return}if(p&&!W&&o.playState==="stopped"&&!h){W=!0,h||N();return}if(!p)for(const[e,t]of u)U(t,e,V.get(e)?.kind??"dom")});return()=>{h=!0;for(const e of m.values())e();m.clear(),Q(),ee(),re(),te(),oe(),q()}}export{$e as a,je as d,Ve as m,De as p,Be as r};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/design-time-react-mount-NrWimSxY.js","assets/design-time-layers-BIb71snu.js","assets/root-stacking-BEd9ZvxC.js","assets/index-Cr9NTnJp.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/edit-mode-authoring-ZQuUwc6e.js","assets/design-time-mount-registry-DUpXCg1U.js","assets/react-story-board-mhldts6w.js","assets/crash-null-boundary-v3a0uEgw.js","assets/realm-services-BtiLE3a-.js","assets/canvas-entry-runtime-a6N7Rsrj.js","assets/debug-registry-DgYNlhH_.js","assets/three-ingest-runtime-CXySzulx.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/EffectComposer-BEAt0PtQ.js","assets/CopyShader-BzTUYzf6.js","assets/ShaderPass-DTnDQXm0.js","assets/Pass-D1MRT672.js","assets/CSS3DRenderer-BsAqfavI.js","assets/react-root-BHA-cdrW.js","assets/StoryPreviewMount-CzzRn24c.js","assets/story-presentation-2AxtnKGb.js","assets/three-story-model-CqWu9S2a.js","assets/inspect-CN92MgRT.js","assets/inference-diagnostics-D5jfxI5p.js","assets/react-world-authoring-adapter-CuyruDfq.js","assets/board-guides-BG-MHK2G.js","assets/relative-import-specifier-CyT6yU4l.js","assets/story-arg-descriptors-Ek86ExX7.js","assets/writer-tw6EcuVO.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as i}from"./index-Cr9NTnJp.js";import{r as m}from"./design-time-mount-registry-DUpXCg1U.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 v="workspace.service";function y(){return m({kind:"dom",owner:"@volter/editor-game/react/design-time-mount",identity:"default-react",mount:async(r,e,t)=>{const{mountReactDesignLayer:o}=await i(async()=>{const{mountReactDesignLayer:n}=await import("./design-time-react-mount-NrWimSxY.js");return{mountReactDesignLayer:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]));return o(r,e,t)},reprojectWhen:r=>{let e=!1,t=null;return i(()=>import("./design-time-react-mount-NrWimSxY.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])).then(o=>{e||(t=o.reprojectWhenStoriesRepublish(r))}),()=>{e=!0,t?.(),t=null}}})}export{v as point,y as start};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as it,a as at}from"./design-time-layers-BIb71snu.js";import{f8 as st,b9 as lt,g5 as ut,g6 as dt,O as E,g7 as mt,g8 as L,bq as Y,dk as H,am as ct,eH as U,an as $,d5 as pt,ch as ht,g9 as z}from"./index-Cr9NTnJp.js";import{h as ft,d as gt,g as bt}from"./react-story-board-mhldts6w.js";import{C as wt}from"./crash-null-boundary-v3a0uEgw.js";import{r as yt,a as St}from"./realm-services-BtiLE3a-.js";import{r as It}from"./react-root-BHA-cdrW.js";import{m as Rt}from"./StoryPreviewMount-CzzRn24c.js";import{c as vt,s as Pt}from"./story-presentation-2AxtnKGb.js";import{d as Mt}from"./three-story-model-CqWu9S2a.js";import{c as Ct}from"./inspect-CN92MgRT.js";import{R as J}from"./react-world-authoring-adapter-CuyruDfq.js";import"./root-stacking-BEd9ZvxC.js";import"./edit-mode-authoring-ZQuUwc6e.js";import"./design-time-mount-registry-DUpXCg1U.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"./canvas-entry-runtime-a6N7Rsrj.js";import"./debug-registry-DgYNlhH_.js";import"./three-ingest-runtime-CXySzulx.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./inference-diagnostics-D5jfxI5p.js";import"./board-guides-BG-MHK2G.js";import"./relative-import-specifier-CyT6yU4l.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";function Et(e){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="svg"||o==="SVG"||o==="PICTURE")return!0;const r=getComputedStyle(e);if(r.visibility==="hidden"||r.display==="none")return!1;if(xt(r.backgroundColor)||r.backgroundImage&&r.backgroundImage!=="none"||r.boxShadow&&r.boxShadow!=="none"||r.borderStyle!=="none"&&r.borderStyle!==""&&(parseFloat(r.borderTopWidth)>0||parseFloat(r.borderRightWidth)>0||parseFloat(r.borderBottomWidth)>0||parseFloat(r.borderLeftWidth)>0))return!0;for(const n of e.childNodes)if(n.nodeType===Node.TEXT_NODE&&(n.textContent??"").trim()!=="")return!0;return!1}function xt(e){if(!e||e==="transparent")return!1;const o=/^rgba\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*,\s*([\d.]+)\s*\)$/.exec(e);return o?parseFloat(o[1])>0:!0}function Nt(e,o=r=>r.getBoundingClientRect()){const r=o(e),n=e.offsetWidth;if(r.width<=0||n<=0)return null;const s=r.width/n;let d=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,y=Number.NEGATIVE_INFINITY;for(const p of e.querySelectorAll("*")){if(!Et(p))continue;const m=o(p);m.width<=0||m.height<=0||(d=Math.min(d,(m.left-r.left)/s),c=Math.min(c,(m.top-r.top)/s),i=Math.max(i,(m.right-r.left)/s),y=Math.max(y,(m.bottom-r.top)/s))}return i<=d||y<=c?null:{x:d,y:c,width:i-d,height:y-c}}let x=!1;function kt(e,o){if(!e)return;z({adapter:e,seam:"editor.stories.apply",stage:"effect",detail:`the design board applied portable story ${o}`,run:()=>e.stories.apply(o,o)});const r=e.selection;r&&z({adapter:e,seam:"editor.selection.set",stage:"effect",detail:`the design board selected portable story ${o}`,run:()=>r.set([o])})}let X=!1;async function Ft(){if(X)return;X=!0;const e=bt();if(!(e.width!==null||e.height!==null))try{const o=await ht("volter.project.json");if(!o)return;const r=JSON.parse(o),n=r.resolution?.width,s=r.resolution?.height;if(typeof n!="number"||typeof s!="number"||n<64||s<64||n>4096||s>4096)return;gt(n,s)}catch{}}function Tt(e,o){return{id:e,surface:"dom",description:void 0,adapter:{type:"builtin",identity:"dom",surface:"dom"},entry:o,zOrder:0,pausable:!0,loop:"gated"}}async function At(e,o){try{const r=await St(o,pt());return{ok:!0,Entry:await It(e,r)}}catch(r){return{ok:!1,error:r}}}async function be(e,o,r){const{projectRootPath:n,store:s,activationDocumentId:d}=r;x?x=!1:await st({rootPath:n});const c=lt(),i=Mt(c),y=e.path,p=y?await At(Tt(e.worldId,y),n):{ok:!1,error:new Error(`design-time react layer "${e.worldId}": no \`entry\` declared — nothing to mount.`)},m=p.ok?ut(p.Entry):void 0,Q=m?dt(m,e.path):null,j=i.find(g=>g.id===Q?.id)??null;if(i.length>0){const g=it(n,e.worldId),R=i.find(t=>t.id===g)??j??i[0];e.path&&!j&&E.warn(`[design-time-layers] React root "${e.worldId}" has no story naming its entry component${m?` "${m}"`:""} — the board opens on "${R.label}". Give a *.stories.tsx a \`meta.component\` of this root's entry component to choose its default preview.`,"authoring");let k=!1,M=null,F=null;const T=new Map,D=vt(i);await Ft();const l=ft(o,i.map(t=>({id:t.id,label:t.label,modulePath:t.modulePath,...t.title?{title:t.title}:{},parameters:t.parameters,...t.globals?{globals:t.globals}:{},...t.viewportLocked!==void 0?{viewportLocked:t.viewportLocked}:{}})),R.id,(t,u)=>{F=u,kt(M,t)},Pt(i,D)),_=t=>{if(k)return;const u=l.frames.get(t.id);if(!u)return;if(t.parameters?.layout==="fullscreen"){l.setMeasuredFrame(t.id,null);return}const a={width:u.content.offsetWidth,height:u.content.offsetHeight},f=a.width>0?Nt(u.content):null;if(!f){l.setMeasuredFrame(t.id,null);return}const C=8,S=48;let b=Math.max(0,f.x-C),w=Math.max(0,f.y-C),v=Math.min(a.width,f.x+f.width+C),P=Math.min(a.height,f.y+f.height+C);if(v-b<S){const A=(S-(v-b))/2;b=Math.max(0,b-A),v=Math.min(a.width,b+S)}if(P-w<S){const A=(S-(P-w))/2;w=Math.max(0,w-A),P=Math.min(a.height,w+S)}if(v-b>=a.width*.9&&P-w>=a.height*.9){l.setMeasuredFrame(t.id,null);return}l.setMeasuredFrame(t.id,{frame:{width:Math.round(v-b),height:Math.round(P-w)},mount:a,offset:{x:Math.round(b),y:Math.round(w)}})},rt=t=>{setTimeout(()=>_(t),0),setTimeout(()=>_(t),1e3)},G=async(t,u=t.args)=>{const h=l.frames.get(t.id)?.content;if(h){try{const a=await Rt(h,t.modulePath,t.name,t.Component,u);if(!a)return;if(k){a.unmount();return}T.set(t.id,a),l.clearError(t.id),rt(t)}catch(a){const f=Y(a);l.setError(t.id,f),E.error(`[design-time-layers] React root "${e.worldId}" failed mounting portable story "${t.name}": ${f}`,"authoring")}s.notifyIngestEdit()}};await Promise.all(i.map(t=>G(t))),l.setNote(mt().note),g&&l.activate(R.id,!0);const O=new Map(i.map(t=>[t.id,t])),nt={tagName:"DIV",get children(){return l.activeContent().children},getAttribute:t=>o.getAttribute(t),getBoundingClientRect:()=>o.getBoundingClientRect(),get style(){return o.style},get textContent(){return l.activeContent().textContent}},q=await L();return M=new J(nt,s,{...q?{writeBackend:q}:{},designTokens:()=>{const t=l.activeContent(),u=t.closest?.("[data-volter-game-styles]")??t.querySelector?.("[data-volter-game-styles]")??t;return Ct(getComputedStyle(u))},assetRoot:o,portableStories:i.map(t=>({id:t.id,label:t.label,args:t.args,name:t.name,modulePath:t.modulePath})),portableHierarchy:D,activePortableStoryId:R.id,onPortableStoryApplied:t=>{const u=(t?O.get(t):null)??R;at(n,e.worldId,u.id);const h=F;F=null,l.activate(u.id,h===null||h==="zoom")},onPortableStoryArgsChanged:(t,u)=>{const h=O.get(t);h&&G(h,u).catch(a=>{E.error(`[design-time-layers] React root "${e.worldId}" failed updating portable story "${h.name}" args: ${Y(a)}`,"authoring")})}}),d&&requestAnimationFrame(()=>H(d)),{adapter:M,dispose:()=>{k=!0,M.disposeReactRootAdapter();for(const t of T.values())t.unmount();T.clear(),l.dispose()}}}if(!p.ok)throw p.error instanceof Error?p.error:new Error(String(p.error));E.warn(`[design-time-layers] React root "${e.worldId}" has no portable CSF preview — the project declares no UI stories. Add a *.stories.tsx; give it a \`meta.component\` of this root's entry component${m?` (${m}, ${e.path})`:""} to make it this root’s default preview. Falling back to rendering the entry bare.`,"authoring");const Z=p.Entry,{createElement:B,createRoot:tt,flushSync:et}=await yt(),N=tt(o),ot=g=>{N.render(B(wt,{key:"__entry__",onCaught:g,children:B(Z)}))};let I=null;if(et(()=>{ot(g=>{I=g})}),I!==null)throw N.unmount(),I instanceof Error?I:new Error(String(I));const V=await L(),W=new J(o,s,{...V?{writeBackend:V}:{}});return d&&requestAnimationFrame(()=>H(d)),{adapter:W,dispose:()=>{W.disposeReactRootAdapter(),N.unmount()}}}function K(){return $().map(e=>e.ok?e.stories.map(o=>o.id).join(","):`!${e.modulePath}`).join("|")}function we(e){let o=U()?$():null,r=o===null?null:K(),n=null;const s=ct(()=>{if(!U())return;const d=$(),c=K();if(o===null){o=d,r=c;return}const i=c!==r;o=d,r=c,i&&(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,x=!0,e(),setTimeout(()=>{x=!1},0)},250))});return()=>{n!==null&&clearTimeout(n),n=null,s()}}export{be as mountReactDesignLayer,we as reprojectWhenStoriesRepublish};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as e,Y as r,bB as i,bC as a,bD as p,bE as m}from"./index-Cr9NTnJp.js";import{bF as It,bG as Ot,bH as Ht,bI as Ut,bJ as qt,bK as Bt,bL as Jt,b1 as Mt,bM as Qt,bN as Vt,bO as Yt,bP as _t,bQ as Kt,a_ as Nt,bR as Xt,bS as Zt,bT as zt,bU as te,bV as ee,bW as re,bX as oe,bY as se,bZ as ie,b_ as ae,b$ as pe,c0 as me,c1 as ne,c2 as ce,c3 as le,c4 as de,c5 as be,c6 as ge,c7 as ue,c8 as Ee,c9 as Se,ca as ye,cb as Pe,cc as je,cd as ve,ce as fe,cf as he,cg as Ae,ch as ke,ci as we,cj as Ce,ck as Re,cl as Fe,cm as Te,cn as xe,co as Le,cp as De,a$ as Ge,cq as We,cr as $e,cs as Ie,ct as Oe,cu as He,cv as Ue,cw as qe}from"./index-Cr9NTnJp.js";import{o as Je,q as Me,t as Qe}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";async function Lt(){try{const t=await fetch(`${e}/examples`);return(await r(t,`GET ${e}/examples failed`)).examples}catch{return[]}}function Dt(t){return t.startsWith("/")?t:`${e}/learn-thumbnail?file=${encodeURIComponent(t)}`}async function Gt(){const t=await fetch(`${e}/templates`);return(await r(t,`GET ${e}/templates failed`)).templates}export{It as AssetDeliveryError,m as abortGameplayRecordingSink,Ot as adaptProjectFolder,Ht as appendGameplayRecordingAsset,a as appendGameplayRecordingChunk,Ut as appendGameplayRecordingDomEvents,qt as archiveEditorWorktree,Bt as assetDeliveryIssueMessage,i as beginGameplayRecordingSink,Jt as browseFolder,Mt as captureProjectAssetHistory,Qt as connectEvents,Vt as connectTabPresence,Yt as createEditorWorktree,_t as createProject,Kt as delegateEditorTask,Nt as downloadOnlineAsset,Je as endLogSession,p as finishGameplayRecordingSink,Me as flushLogEntries,Xt as getAssetLibraryCategories,Zt as getCurrentServerProject,zt as getDownloadUrl,te as getDownloadedAssetPath,ee as getEditorCompatibility,re as getEditorRepositoryPresence,oe as getEditorSessionWorktreeIdentity,se as getLauncherSettings,ie as getOnlineAssetFiles,ae as getOnlineAssetPreview,pe as getServerValidationLog,me as inspectProjectFolder,Dt as learnThumbnailUrl,ne as listAssets,ce as listDelegateHarnesses,le as listEditorWorktrees,Lt as listExamples,de as listProjectComponents,be as listProjectSourceFiles,ge as listRecentProjects,Gt as listTemplates,ue as loadDownloadedAssets,Ee as loadEditorState,Se as onAssetDownloaded,ye as openEditorWorktree,Pe as openProjectOnServer,je as pollEditorLeaseIdentity,ve as probeCurrentServerProject,fe as probeProjectFile,he as projectFileExists,Ae as readProjectSourceText,ke as readProjectTextFile,we as removeRecentProject,Ce as reportCommandListener,Re as reportCommandReceived,Fe as reportCommandResult,Te as reportEditorState,xe as reportPlayBootPhase,Le as reportTabRoute,De as requireEditorCompatibility,Ge as restoreProjectAssetHistory,We as revealInFinder,$e as saveEditorState,Ie as saveFile,Oe as saveThumbnail,He as searchOnlineAssets,Qe as startLogSession,Ue as stopEditorWorktreeSession,qe as updateLauncherSettings};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{kW as ht,kX as be,kY as gt,cM as vt,K,kZ as xt,k_ as we,k$ as yt,l0 as Se,a0 as L,a1 as ue,l1 as bt,l2 as wt,cR as Z,cS as G,l3 as St,l4 as jt,a5 as de,l5 as Et,aK as $e,l6 as Mt,l7 as It,ev as Te,aw as ze,f_ as Rt,f$ as Ct,g0 as Dt,g1 as Pt,r as oe,af as h,O as At,gN as _t,gO as je,gQ as kt,gj as Ft,eF as Ne,l8 as $t,dj as Tt,l9 as zt,p as Oe}from"./index-Cr9NTnJp.js";import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import{r as i}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{u as Nt,d as Ot,c as Gt}from"./frame-debugger-store-BOQjrPsh.js";import{m as Vt}from"./audio-meter-Cddyq1vI.js";import{p as Ge}from"./utility-view-state-I_o0WThv.js";import{P as Lt}from"./PlayBar-C8Mn-EI0.js";import{a as Ee,r as Ht,f as Bt,R as Wt}from"./presentation-C7ZHYsKF.js";import{setUserData as Ve}from"./user-data-CODoGZqA.js";import{I as pe,J as Ut,K as ne,L as qt,M as Le,O as He,P as Be,Q as We,w as Kt,x as Xt,R as me,v as Y,S as Yt,T as Qt,U as Zt,V as se,W as Ue,X as Me,Y as qe,Z as Jt,_ as Ke,a as en,$ as tn,a0 as Ie,a1 as nn,b as Xe,a2 as sn}from"./game-network-BqI-Ehz0.js";import{aq as on,cp as Ye,aI as rn,bX as an,ey as ln,bh as fe,co as Re,s as cn,fo as W,bV as un,N as Qe,M as Ce,dg as dn,df as pn}from"./three.core-3arARmh6.js";import{e as mn,S as fn}from"./surface-state-CQHVfsma.js";import{d as hn}from"./surface-content-Dg9Kkazf.js";import{a as gn,R as Ze}from"./active-ingest-CjZtqL7Q.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"./configurations-B9Pi_eRN.js";import"./run-selection-BMu0v3qC.js";import"./ingest-source-persistence-BGIvThcv.js";import"./capability-coverage-7wKVA3PF.js";import"./game-contract-seams-Dgqv6S8X.js";import"./object-marks-BnvSuCTt.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"./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"./index-bQE2NA0D.js";import"./live-project-verbs-p1sdTwhF.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"./pixi-story-model-DNkfnWUV.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"./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 Je=8,re=1e3/60;function vn(e,t=Je){return!(e>0)||t<=0?0:Math.min(t,Math.max(1,Math.round(Vt(e)/100*t)))}function De(e,t){const n=e.filter(a=>a.id>t),r=n.at(-1)?.id??t,o=n.map(a=>a.intervalMs).filter(a=>Number.isFinite(a)&&a>0).sort((a,m)=>a-m);if(o.length===0)return{frameId:r,intervalMs:null};const l=Math.floor((o.length-1)*.95);return{frameId:r,intervalMs:o[l]??null}}function xn(e){const t=e.slice(-3);return t.slice(-2).length===2&&t.slice(-2).every(n=>n>=50)?"danger":t.length===3&&t.every(n=>n>re*1.05)?"warning":"normal"}function yn(e,t,n,r=50){if(e.length===0||t<=0||n<=0)return"";const o=Math.max(1,e.length-1);return e.map((l,a)=>{const m=a/o*t,d=Math.min(1,Math.max(0,l/r)),g=n-d*n;return`${m.toFixed(1)},${g.toFixed(1)}`}).join(" ")}const et="muted",Pe={enabled:!1,recording:!1,fps:0,cpuMs:0,p95Ms:0,p99Ms:0,frames:[],phases:[],systems:[],components:[],render:{gpuMs:null,drawCalls:0,triangles:0,geometries:0,textures:0,renderPasses:0}};function Ae(){return St(et)===!0}function bn(e){jt(et,e)}function wn(e,t){const n=t.find(o=>o.id==="master")?.level;if(!e.isMuted()&&n!==void 0)return n;const r=t.filter(o=>o.id!=="master").map(o=>o.level);return r.length>0?Math.max(...r):n??0}function Sn(){const e=K();i.useSyncExternalStore(e.subscribe,e.getShellSnapshot??e.getSnapshot);const t=e.playState==="playing",[n,r]=i.useState(!1),[o,l]=i.useState(0),[a,m]=i.useState(!1),[d,g]=i.useState(!1),[u,T]=i.useState(Ae),R=i.useRef(Ae()),E=i.useRef(new WeakMap),y=i.useRef(null),C=i.useSyncExternalStore(xt,we,we),v=yt();i.useEffect(()=>{const p=R.current||!t;for(const f of Se())E.current.get(f)!==p&&(f.setMuted(p),E.current.set(f,p))},[C,t]),i.useEffect(()=>{if(!v){l(0),m(!1),g(!1);return}const p=v.acquireMeters?.()??null;g(p!==null);const f=()=>{m(v.isMuted()),l(p?wn(v,p.read()):0)};f();const A=setInterval(f,100);return()=>{clearInterval(A),p?.dispose()}},[v]);const M=()=>{const p=!R.current,f=p||!t;for(const A of Se())A.resume?.(),A.setMuted(f),E.current.set(A,f);R.current=p,T(p),bn(p),m(f)},D=vn(o),z=v&&a&&!u&&!t?" (not playing)":"",P=v?a?"Audio muted":o>0?"Audio playing":"Audio quiet":"Audio unavailable";return s.jsxs("div",{className:"volter-header-audio","data-muted":a||void 0,"data-available":!!v,children:[s.jsxs(L,{ref:y,type:"button",variant:"ghost",size:"compact",className:"volter-header-telemetry-button","data-testid":"header-audio-telemetry","aria-label":`${P}; open audio controls`,"aria-haspopup":"menu","aria-expanded":n,title:`${P}${z}${d?"":" · level metering unavailable"}`,onClick:()=>r(p=>!p),children:[s.jsx(ue,{icon:a?bt:wt,size:"sm"}),s.jsx("span",{className:"volter-audio-vu","aria-hidden":"true",children:Array.from({length:Je},(p,f)=>s.jsx("i",{"data-filled":f<D||void 0},f))})]}),n&&s.jsx(Z,{anchorRef:y,onDismiss:()=>r(!1),gap:3,children:s.jsx(G,{onClick:()=>{M(),r(!1)},children:u?"Unmute audio":"Mute audio"})})]})}function jn(){const e=Nt(),t=e?.profiler??null,[n,r]=i.useState(Pe),[o,l]=i.useState([]);i.useEffect(()=>{if(!t){r(Pe),l([]);return}const R=t.telemetryEnabled;t.telemetryEnabled=!0;const E=t.getSnapshot(),y=De(E.frames,0);let C=y.frameId;r(E),l(y.intervalMs===null?[]:[y.intervalMs]);let v=null;const M=()=>{v=null;const z=t.getSnapshot(),P=De(z.frames,C);C=P.frameId,r(z);const p=P.intervalMs;p!==null&&l(f=>[...f,p].slice(-24))},D=t.subscribe(()=>{v===null&&(v=setTimeout(M,500))});return()=>{D(),v!==null&&clearTimeout(v),R||(t.telemetryEnabled=!1)}},[t]);const a=o.at(-1)??null,m=yn(o,72,18),d=a?Math.round(1e3/a):n.fps>0?Math.round(n.fps):null,g=a??(n.fps>0?1e3/n.fps:null),u=xn(o),T=e?`${e.label}: ${d??"—"} FPS · ${g?.toFixed(1)??"—"} ms frame time · open Profiler`:"The active document has no live render loop to profile";return s.jsxs(L,{type:"button",variant:"ghost",size:"compact",className:"volter-header-telemetry-button volter-header-performance","data-testid":"header-performance-telemetry","data-performance-tone":u,disabled:!e,"aria-label":T,title:T,onClick:()=>Ge.open("profiler"),children:[s.jsxs("svg",{className:"volter-performance-graph","aria-hidden":"true",viewBox:"0 0 72 18",width:"72",height:"18",children:[s.jsx("line",{className:"volter-performance-budget",x1:"0",x2:"72",y1:18-re/50*18,y2:18-re/50*18}),m&&s.jsx("polyline",{className:"volter-performance-sparkline",points:m})]}),s.jsxs("span",{className:"volter-performance-readout",children:[s.jsxs("strong",{className:"volter-header-fps",children:[d??"—"," FPS"]}),s.jsxs("span",{className:"volter-header-frame-ms",children:[g?.toFixed(1)??"—"," ms"]})]})]})}function En(){return i.useSyncExternalStore(ht,be,be),gt().telemetry==="hidden"?null:s.jsxs(vt,{className:"volter-header-telemetry volter-chrome-island volter-glass-island","data-island-scale":"compact",align:"center",gap:1,children:[s.jsx(Sn,{}),s.jsx(jn,{})]})}let Q=!1,ie=0,w=null,N=null;const Mn=new on(1,1,1,16,1,!0),In=new Ye({color:2280686,transparent:!0,opacity:.45,side:rn,depthWrite:!1}),Rn=new an({color:16755200,transparent:!0,opacity:.9}),Cn=new ln(.12,12,8),Dn=new Ye({color:16755200,depthWrite:!1}),Pn=16724804,An=2280686;let $=[];function _e(){return Q}function _n(e){e!==Q&&(Q=e,e?ie=requestAnimationFrame(tt):(cancelAnimationFrame(ie),$n()))}function tt(){if(!Q)return;ie=requestAnimationFrame(tt);const e=pe(),t=e?de().navigation?.crowdAgents?.()??[]:[];if(e!==N&&(N&&w&&N.remove(w),N=e,e&&(w||(w=new fe,w.name="crowd-debug-draw",Ve(w,"editorHelper",!0)),e.add(w))),!(!w||!e)){kn(w,t.length);for(let n=0;n<t.length;n++)Fn($[n],t[n])}}function kn(e,t){for(;$.length<t;){const n=new fe,r=In.clone(),o=new Re(Mn,r),l=new cn(new W(1,0,0),new W,1,16755200),a=new un(new Qe,Rn),m=new Re(Cn,Dn);n.add(o),n.add(l),e.add(n),e.add(a),e.add(m),$.push({root:n,cylinder:o,cylinderMaterial:r,arrow:l,path:a,target:m})}for(;$.length>t;){const n=$.pop();e.remove(n.root),e.remove(n.path),e.remove(n.target),n.arrow.dispose(),n.path.geometry.dispose(),n.cylinderMaterial.dispose()}}function Fn(e,t){e.root.position.set(t.position.x,t.position.y,t.position.z),e.cylinder.scale.set(t.radius,t.height,t.radius),e.cylinder.position.y=t.height/2,e.cylinderMaterial.color.setHex(t.state==="invalid"?Pn:An);const n=t.corners??[];n.length>0?(e.path.visible=!0,e.path.geometry.setFromPoints([new W(t.position.x,t.position.y+.05,t.position.z),...n.map(o=>new W(o.x,o.y+.05,o.z))])):e.path.visible=!1,t.target&&n.length>0?(e.target.visible=!0,e.target.position.set(t.target.x,t.target.y+.05,t.target.z)):e.target.visible=!1;const r=Math.hypot(t.velocity.x,t.velocity.y,t.velocity.z);r>.01?(e.arrow.visible=!0,e.arrow.position.y=t.height/2,e.arrow.setDirection(new W(t.velocity.x/r,t.velocity.y/r,t.velocity.z/r)),e.arrow.setLength(Math.max(r*.5,.2))):e.arrow.visible=!1}function $n(){if(w){N?.remove(w);for(const e of $)e.arrow.dispose();w.clear()}$=[],w=null,N=null}function Tn({onPresetChange:e}){const[t,n]=i.useState(!1),r=i.useRef(null),o=Le(),l=o.kind==="fit";return s.jsxs("div",{className:"volter-playbar-popover-anchor",children:[s.jsxs(L,{ref:r,variant:"ghost",size:"comfortable","aria-haspopup":"menu","aria-expanded":t,"aria-controls":t?"volter-device-preset-menu":void 0,"data-testid":"device-preset-picker",onClick:()=>n(a=>!a),title:"Device preview — constrain the game to a device resolution + DPR. Phone/tablet presets show the safe area, set --volter-safe-area-inset-top/right/bottom/left CSS vars on the game mount, and send mouse input as touch.",children:[s.jsx(ue,{icon:Et,size:"md"}),s.jsx($e,{variant:"code",children:l?"Device":`${o.width}×${o.height}`})]}),t&&s.jsxs(Z,{id:"volter-device-preset-menu",anchorRef:r,className:"volter-resolution-menu",gap:4,onDismiss:()=>n(!1),children:[Ut.map(a=>s.jsx(G,{role:"menuitemradio","aria-checked":a.id===o.id,"data-testid":`device-preset-${a.id}`,onSelect:()=>{e(a),n(!1)},children:a.label},a.id)),s.jsxs(G,{role:"menuitemcheckbox","aria-checked":ne(),"data-testid":"device-touch-toggle",onSelect:()=>qt(!ne()),children:[ne()?"✓ ":" ","Pointer as touch"]})]})]})}function zn(){const e=Mt(()=>It()??null),n=Ot(e)?.capture===!0;return s.jsx(L,{type:"button",size:"compact",variant:"ghost","data-testid":"game-capture-frame",className:"volter-frame-capture-game-button",disabled:!n,title:n?"Capture one rendered frame and open the Frame debugger":"No render-debug adapter registered for this world — frame capture is unavailable",onClick:()=>{Gt(e),Ge.open("frame")},children:"Capture frame"})}let nt={label:"Fill",width:null,height:null},ae=1,st=0;const le=new Set;function V(){st++;for(const e of le)e()}function ot(e){return le.add(e),()=>{le.delete(e)}}const rt=()=>st;function it(){return nt}function at(e){nt=e,V()}function lt(e,t){return e.width!==null||!t?e:{label:`Project — ${t.width}×${t.height}`,width:t.width,height:t.height}}function Nn(e){return e?[lt({label:"Fill",width:null,height:null},e),...Ee.filter(t=>t.width!==null)]:Ee}function ct(e){He(e.id),at(e.width===null||e.height===null?{label:"Fill",width:null,height:null}:{label:e.label,width:e.width,height:e.height})}function On(e){e!==ae&&(ae=e,V())}function Gn(){return ae}function ut(e){return Array.from(e.children).filter(t=>t.dataset?.volterRootSurface==="true")}function Vn(e,t,n){for(const r of t)r.contains(e)||e.appendChild(r);if(n)for(const r of ut(n))e.appendChild(r)}function Ln({name:e}){return s.jsx("div",{"data-testid":"game-instance-name",style:{flex:"0 0 auto",padding:"3px 10px",background:h.surface.chrome,color:h.content.primary,borderBottom:`1px solid ${h.boundary.default}`,fontSize:11,fontWeight:600,userSelect:"none"},children:e})}function dt({name:e,testId:t,borderLeft:n,focused:r,onFocus:o,children:l}){return s.jsxs("div",{"data-testid":t,"data-focused":r||void 0,onPointerDownCapture:o,style:{flex:1,minWidth:0,height:"100%",display:"flex",flexDirection:"column",overflow:"hidden",position:"relative",cursor:o&&!r?"pointer":void 0,...n?{borderLeft:`1px solid ${h.boundary.default}`}:{}},children:[s.jsx(Ln,{name:e}),s.jsx("div",{style:{flex:1,minHeight:0,position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:l}),r&&s.jsx("div",{"aria-hidden":!0,style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:40,border:`2px solid ${h.accent.default}`,boxShadow:`inset 0 0 0 1px ${h.accent.default}`}})]})}function Hn({index:e}){const t=i.useRef(null),n=qe(e+1),r=i.useSyncExternalStore(Ke,en),[o,l]=i.useState(null),a=i.useSyncExternalStore(me,Y);return i.useEffect(()=>{const m=t.current;if(!m||!r)return;let d=null,g=!1;return tn(m,n).then(u=>{g?Ie(u):(d=u,l(u))},u=>{At.error(`Failed to mount ${n}: ${u}`,"play-mode")}),()=>{g=!0,l(null),d&&Ie(d)}},[e,r]),s.jsx(dt,{name:n,testId:`game-instance-slot-${e+1}`,borderLeft:!0,focused:o!=null&&a===o,onFocus:o?()=>Ue(o):void 0,children:s.jsx("div",{ref:t,"data-volter-instance-viewport":"",style:{position:"absolute",inset:0}})})}function Bn({style:e}){const t=i.useSyncExternalStore(Te,ze),r=K().playState!=="stopped",o=i.useRef(null);i.useSyncExternalStore(ot,rt),i.useSyncExternalStore(Be,We);const l=i.useSyncExternalStore(Kt,Xt),a=l>0,m=i.useSyncExternalStore(me,Y),d=Le(),g=it(),[u,T]=i.useState({width:0,height:0}),[R,E]=i.useState(0),y=i.useRef(null),C=i.useSyncExternalStore(Rt,Ct),v=i.useSyncExternalStore(Dt,Pt),M=Jt(),D=gn(),z=M.length>0?M.map(c=>c.rootId):D?[D.worldId]:C.filter(c=>c.mechanism==="host-mount").map(c=>c.rootId),P=!!(y.current&&hn(y.current)),p=M.length>0?M.some(c=>c.hasRenderableContent):P,f=M.length>0||D!==null,A=r?mn({surface:"Game",rootIds:z,phase:f?"ready":"loading",content:f?p?"present":"empty":"unknown",readiness:C,failures:v}):null;i.useEffect(()=>{if(!r||!f||p)return;const c=window.setTimeout(()=>E(x=>x+1),250);return()=>window.clearTimeout(c)},[R,p,r,f]),i.useEffect(()=>{const c=o.current;if(!c||typeof MutationObserver>"u")return;const x=new MutationObserver(()=>E(I=>I+1));return x.observe(c,{childList:!0,subtree:!0,characterData:!0}),()=>x.disconnect()},[]),i.useEffect(()=>{const c=Yt();c.width!==null&&(ct(c),V())},[]);const J=i.useRef([]),he=i.useCallback(c=>{if(c===y.current)return;!c&&y.current&&(J.current=ut(y.current)),c&&(Vn(c,J.current,y.current),J.current=[]);const x=y.current;y.current=c,c?oe().workspace.liveDocument.setContainer(c):x&&oe().workspace.liveDocument.releaseContainer(x),c?Qt(c):x&&Zt(x)},[]);i.useEffect(()=>{const c=o.current;if(!c)return;const x=new ResizeObserver(([I])=>{if(!I)return;const{width:X,height:ye}=I.contentRect;T(te=>te.width===X&&te.height===ye?te:{width:X,height:ye})});return x.observe(c),()=>x.disconnect()},[]);const mt=t?.config.resolution,_=Ht(g,mt),ge=_.kind==="fill",ft=ge||a,H=_.kind==="logical"?_.width:null,B=_.kind==="logical"?_.height:null,ve=d.dpr;i.useEffect(()=>{const c=ve??nn();a?u.width>0&&u.height>0&&se(u.width/(l+1),u.height,c):H===null||B===null?u.width>0&&u.height>0&&se(u.width,u.height,c):se(H,B,c)},[H,B,u.width,u.height,ve,r,a,l]);const ee=Bt(u,{width:H??0,height:B??0},{allowUpscale:_.kind==="logical"&&_.allowUpscale}),k=ge?1:ee.scale;i.useEffect(()=>{On(k)},[k]);const b=d.safeArea,xe={"--volter-safe-area-inset-top":`${b?.top??0}px`,"--volter-safe-area-inset-right":`${b?.right??0}px`,"--volter-safe-area-inset-bottom":`${b?.bottom??0}px`,"--volter-safe-area-inset-left":`${b?.left??0}px`};return s.jsx("div",{style:{overflow:"hidden",position:"relative",flexDirection:"column",...e},children:s.jsxs("div",{ref:o,style:{flex:1,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[(()=>{const c=ft?s.jsx("div",{ref:he,"data-testid":"game-runtime-container","aria-hidden":"true",style:{position:"absolute",inset:0,...r?{}:{visibility:"hidden"},...xe}},"game-mount-fill"):s.jsxs("div",{style:{position:"relative",width:ee.width,height:ee.height,overflow:"hidden",...r?{}:{visibility:"hidden"}},children:[s.jsx("div",{ref:he,"data-testid":"game-runtime-container","aria-hidden":"true",style:{width:H??0,height:B??0,transformOrigin:"top left",transform:`scale(${k})`,...xe}}),b&&s.jsx("div",{"data-testid":"device-safe-area-overlay",style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:2},children:[["top",b.top,{top:0,left:0,right:0,height:b.top*k}],["bottom",b.bottom,{bottom:0,left:0,right:0,height:b.bottom*k}],["left",b.left,{top:0,bottom:0,left:0,width:b.left*k}],["right",b.right,{top:0,bottom:0,right:0,width:b.right*k}]].map(([x,I,X])=>I>0?s.jsx("div",{"data-testid":`device-safe-area-${x}`,style:{position:"absolute",...X,background:h.semantic.dangerFaint,boxShadow:`inset 0 0 0 1px ${h.semantic.dangerMuted}`}},x):null)})]},"game-mount-device");return a?s.jsxs(s.Fragment,{children:[s.jsx(dt,{name:qe(0),testId:"game-instance-slot-0",focused:m===Me(),onFocus:()=>Ue(Me()),children:c}),Array.from({length:l},(x,I)=>s.jsx(Hn,{index:I},I))]}):c})(),!r&&s.jsxs("div",{"data-testid":"game-stopped-placeholder",style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6,background:h.surface.shell,color:h.content.dim,fontSize:11,pointerEvents:"none"},children:[s.jsx("span",{style:{color:h.content.primary,fontSize:13},children:"Game is stopped"}),s.jsx("span",{children:"Press Play to start the composed runtime."})]}),r&&s.jsx(fn,{explanation:A,testId:"game-surface-status",style:{zIndex:30,background:h.surface.shell}})]})})}function ke(){return Xe().map(({id:e,name:t})=>`${e}\0${t}`).join("")}function Wn({instanceId:e}){const t=K();i.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot);const n=i.useSyncExternalStore(me,Y,Y),[,r]=i.useState(0);i.useEffect(()=>{const g=window.setInterval(()=>r(u=>u+1),250);return()=>window.clearInterval(g)},[]);const o=Ze(e),l=zt(),a=o?(o.loop.activeTimeouts??0)+(o.loop.activeIntervals??0)+(o.loop.activeAnimationFrames??0)+o.loop.pending:0,m=o?o.listeners.window+o.listeners.document:0,d=[["Mount",e],["Simulation",t.playState==="paused"?"Paused":"Running"],["Input",n===e?"Keyboard focus":"Inactive"],["Input events",o?`${o.loop.input??0} observed · ${o.loop.inputBlocked??0} blocked`:"Not measured"],["Network",l?l.getConnectionState?.()??"Not reported by this adapter":"Not registered"],["Owned callbacks",String(a)],["Owned listeners",String(m)],["Realm globals",String(o?.globals??0)],["Browser storage",o?`Shared origin · ${o.storage.local.reads+o.storage.session.reads} reads · ${o.storage.local.writes+o.storage.session.writes} writes`:"Shared origin"]];return s.jsx("div",{role:"none",style:{display:"grid",gridTemplateColumns:"112px minmax(120px, 1fr)",gap:"4px 12px",padding:"8px 10px",fontSize:10,lineHeight:"15px"},children:d.map(([g,u])=>s.jsxs("div",{style:{display:"contents"},children:[s.jsx("span",{style:{color:h.content.dim},children:g}),s.jsx("span",{style:{color:h.content.primary,fontFamily:g==="Mount"?h.typography.mono:void 0,overflow:"hidden",textOverflow:"ellipsis"},children:u})]},g))})}function Un(){i.useSyncExternalStore(Ke,ke,ke),i.useSyncExternalStore(_t,je,je);const e=Xe(),t=kt(),n=e.find(d=>d.id===t)??e[0],[r,o]=i.useState(!1),l=i.useRef(null);if(e.length<2||!n)return null;const m=(Ze(n.id)?.loop.firedWhileHeld??0)>0;return s.jsxs("div",{className:"volter-playbar-popover-anchor",children:[s.jsxs(L,{ref:l,variant:"ghost",size:"compact","aria-haspopup":"menu","aria-expanded":r,onClick:()=>o(d=>!d),title:`Runtime instruments inspect ${n.name}; agent-addressed commands are unchanged`,children:[s.jsx(ue,{icon:Ft,size:"sm",style:{color:m?h.semantic.warning:void 0}}),s.jsxs($e,{variant:"code",children:["Inspect ",n.name]}),s.jsx(Ne,{direction:"down"})]}),r&&s.jsxs(Z,{anchorRef:l,gap:3,onDismiss:()=>o(!1),style:{minWidth:270},children:[e.map(d=>s.jsxs(G,{role:"menuitemradio","aria-checked":d.id===n.id,onSelect:()=>$t(d.id),children:[d.id===n.id?"✓ ":" ",d.name]},d.id)),s.jsx(Tt,{}),s.jsx(Wn,{instanceId:n.id})]})]})}let q=!1,ce=0,S=null,O=null,U=null,j=null,F=0;function Fe(){return q}function qn(e){e!==q&&(q=e,e?ce=requestAnimationFrame(pt):(cancelAnimationFrame(ce),U?.setDebugDrawEnabled?.(!1),Qn()))}function pt(){if(!q)return;ce=requestAnimationFrame(pt);const e=pe(),t=e?Oe(de().physics):null;if(t!==U&&(U?.setDebugDrawEnabled?.(!1),U=t,t?.setDebugDrawEnabled?.(!0)),Kn(e),!S||!e)return;const n=t?.contactPoints?.()??null;Xn(S,n)}function Kn(e){e!==O&&(O&&S&&O.remove(S),O=e,e&&(S||(S=new fe,S.name="physics-debug-draw",Ve(S,"editorHelper",!0)),e.add(S)))}function Xn(e,t){const n=t?t.length/3:0;if(!j){F=64;const l=new Qe;l.setAttribute("position",new Ce(new Float32Array(F*3),3));const a=new dn({color:16724821,size:10,sizeAttenuation:!1,depthTest:!1,transparent:!0,opacity:.95});j=new pn(l,a),j.renderOrder=999,j.frustumCulled=!1,e.add(j)}const r=j.geometry;if(n>F){for(;F<n;)F*=2;r.setAttribute("position",new Ce(new Float32Array(F*3),3))}const o=r.getAttribute("position");t&&n>0&&o.array.set(t),o.needsUpdate=!0,r.setDrawRange(0,n),j.visible=n>0}function Yn(){const e=pe(),n=(e?Oe(de().physics):null)?.debugDraw?.()??null;let r=!1;n&&e&&e.traverse(a=>{a===n&&(r=!0)});const o=n?.geometry.getAttribute("position"),l=j?.geometry.drawRange.count??0;return{enabled:q,wireframeInScene:r,wireframeVisible:n?.visible??!1,wireframeVertexCount:o?.count??0,contactMarkerCount:j?.visible&&Number.isFinite(l)?l:0}}typeof window<"u"&&(window.__volterPhysicsDebug=Yn);function Qn(){S&&(O?.remove(S),j&&(j.geometry.dispose(),j.material.dispose()),S.clear()),j=null,F=0,S=null,O=null,U=null}function Zn(){const[e,t]=i.useState(!1),n=i.useRef(null);return s.jsxs("div",{style:{position:"relative"},children:[s.jsxs(L,{ref:n,type:"button",variant:"outline",size:"compact","data-testid":"game-debug-menu","aria-haspopup":"menu","aria-expanded":e,"aria-controls":e?"volter-game-debug-menu":void 0,onClick:()=>t(r=>!r),children:[s.jsx("span",{children:"Debug"}),s.jsx(Ne,{direction:"down"})]}),e&&s.jsxs(Z,{id:"volter-game-debug-menu",anchorRef:n,gap:3,onDismiss:()=>t(!1),style:{minWidth:190},children:[s.jsxs(G,{onClick:()=>{_n(!_e()),V()},children:[_e()?"✓ ":" ","Crowd debug draw"]}),s.jsxs(G,{onClick:()=>{qn(!Fe()),V()},children:[Fe()?"✓ ":" ","Physics debug draw"]})]})]})}function Jn(e){const t=i.useSyncExternalStore(Te,ze),n=K();return i.useSyncExternalStore(n.subscribe,n.getShellSnapshot??n.getSnapshot),i.useSyncExternalStore(ot,rt),i.useSyncExternalStore(Be,We),s.jsxs("div",{"data-testid":"game-doc-toolbar",style:{display:"grid",alignItems:"center",gridTemplateColumns:"minmax(0, 1fr) auto minmax(0, 1fr)",width:"100%",gap:6,padding:"2px 8px"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",minWidth:0,overflow:"auto"},children:[s.jsx(Un,{}),s.jsx(Tn,{onPresetChange:r=>{ct(r),V()}}),s.jsx(Wt,{resolution:lt(it(),t?.config.resolution),options:Nn(t?.config.resolution),onResolutionChange:r=>{He(sn),at(r)},scale:Gn(),title:"Change game resolution"}),s.jsx(Zn,{}),n.playState!=="stopped"&&s.jsx(zn,{})]}),s.jsx(Lt,{placement:"runtime"}),s.jsx("div",{style:{display:"flex",justifyContent:"flex-end",minWidth:0},children:s.jsx(En,{})})]})}function es(e){const t=K();i.useSyncExternalStore(t.subscribe,t.getShellSnapshot??t.getSnapshot);const n=t.playState!=="stopped";return s.jsxs("div",{style:{flex:1,position:"relative",display:"flex",flexDirection:"column"},children:[s.jsx(Bn,{style:{flex:1,position:"relative",display:"flex",flexDirection:"column",pointerEvents:"auto",...t.playState==="playing"?{outline:`2px solid ${h.semantic.success}`,outlineOffset:-2}:n?{outline:`2px solid ${h.semantic.warning}`,outlineOffset:-2}:{}}}),t.playState==="paused"&&s.jsx("div",{"data-testid":"game-paused-notice",style:{position:"absolute",left:"50%",top:12,transform:"translateX(-50%)",padding:"6px 12px",borderRadius:6,background:"rgba(0,0,0,.72)",color:h.content.primary,fontSize:12,letterSpacing:".04em",pointerEvents:"none",zIndex:2},children:"Paused by the editor — press ▶ Play to resume (Escape pauses)"})]})}const $o="workspace.service";function To(){return oe().workspace.liveDocument.register({Content:es,Toolbar:Jn})}export{$o as point,To as start};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createGameModuleResolver as k,setFocusedInstanceProvider as M}from"./game-module-access-Cg1EB8Mx.js";import{n as d}from"./command-results-CUQD49AB.js";import{i as g}from"./active-ingest-CjZtqL7Q.js";import{a as y,u as h,v as w}from"./game-network-BqI-Ehz0.js";import"./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";import"./game-contract-seams-Dgqv6S8X.js";import"./capability-coverage-7wKVA3PF.js";import"./ingest-source-persistence-BGIvThcv.js";import"./contract-system-adapters-Bq1LGdjs.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"./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"./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"./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";class E extends Error{member;supported;constructor(e,r,o){super(`playwright-shim: ${e}.${r} is not supported by the in-page shim. Supported ${e} members: ${o.join(", ")}. This shim is DOM-only — canvas gameplay input must use game.input.*, while React-only DOM games may use Page keyboard/locator input. See packages/editor-game/src/host/playwright-shim.ts for the full supported subset and the wire's closure-capture limitation.`),this.name="PageShimUnsupportedError",this.member=r,this.supported=o}}function v(t,e){const r=Object.keys(t);return new Proxy(t,{get(o,i,n){if(typeof i=="symbol"||i in o)return Reflect.get(o,i,n);throw new E(e,i,r)}})}function m(t){return t.replace(/\s+/g," ").trim()}function O(t){const e=t.tagName.toLowerCase();if(e==="button")return"button";if(e==="a"&&t.hasAttribute("href"))return"link";if(/^h[1-6]$/.test(e))return"heading";if(e==="textarea")return"textbox";if(e==="select")return"combobox";if(e==="img")return"img";if(e==="input"){const r=(t.getAttribute("type")??"text").toLowerCase();return r==="button"||r==="submit"||r==="reset"?"button":r==="checkbox"?"checkbox":r==="radio"?"radio":"textbox"}return null}function b(t){return t.getAttribute("role")??O(t)}function S(t){const e=t.getAttribute("aria-label");return e&&e.trim()?m(e):m(t.textContent??"")}function T(t,e){if(e===void 0)return!0;const r=S(t);return e instanceof RegExp?e.test(r):r===e}function x(t,e,r){return Array.from(t.querySelectorAll("*")).filter(i=>b(i)===e&&T(i,r?.name))}function I(t,e){const r=Array.from(t.querySelectorAll("*")).filter(n=>n.tagName!=="SCRIPT"&&n.tagName!=="STYLE"),o=n=>{const s=m(n.textContent??"");return s.length===0?!1:e instanceof RegExp?e.test(s):s.includes(e)},i=r.filter(o);return i.filter(n=>!i.some(s=>s!==n&&n.contains(s)))}function C(t,e){return Array.from(t.querySelectorAll("[data-testid]")).filter(r=>{const o=r.getAttribute("data-testid")??"";return e instanceof RegExp?e.test(o):o===e})}function L(t){if(!(t instanceof HTMLElement))return!0;if(t.hidden)return!1;const e=getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"&&e.opacity!=="0"}function _(t){const e=t.getBoundingClientRect?.()??{left:0,top:0,width:0,height:0},r=e.left+e.width/2,o=e.top+e.height/2,i={bubbles:!0,cancelable:!0,clientX:r,clientY:o,button:0};typeof PointerEvent<"u"&&t.dispatchEvent(new PointerEvent("pointerdown",{...i,pointerId:1,isPrimary:!0})),t.dispatchEvent(new MouseEvent("mousedown",i)),typeof PointerEvent<"u"&&t.dispatchEvent(new PointerEvent("pointerup",{...i,pointerId:1,isPrimary:!0})),t.dispatchEvent(new MouseEvent("mouseup",i)),t.dispatchEvent(new MouseEvent("click",i))}function N(t){const e=t instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(e,"value");return o=>{r?.set?r.set.call(t,o):t.value=o}}function G(t,e){if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))throw new Error(`playwright-shim: fill() target is not an <input>/<textarea> (got <${t.tagName.toLowerCase()}>)`);t.focus(),N(t)(e),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))}const l=new Set(["Alt","Control","Meta","Shift"]);function p(t){return t!=="ControlOrMeta"?t:/Mac|iPhone|iPad/.test(navigator.platform)?"Meta":"Control"}function B(t){return/^[a-z]$/i.test(t)?`Key${t.toUpperCase()}`:/^[0-9]$/.test(t)?`Digit${t}`:t===" "?"Space":t}function K(t){const e=document.activeElement;return e instanceof HTMLElement&&t.contains(e)?e:t}function f(t,e,r,o){K(t).dispatchEvent(new KeyboardEvent(e,{key:r,code:B(r),bubbles:!0,cancelable:!0,altKey:o.has("Alt"),ctrlKey:o.has("Control"),metaKey:o.has("Meta"),shiftKey:o.has("Shift")}))}function F(t){const e=new Set,r=async i=>{const n=p(i);e.add(n),f(t,"keydown",n,e)},o=async i=>{const n=p(i);f(t,"keyup",n,e),e.delete(n)};return{down:r,up:o,async press(i){const n=i.split("+").map(p),s=n.filter(c=>l.has(c)),a=n.find(c=>!l.has(c));for(const c of s)await r(c);a&&(await r(a),await o(a));for(const c of s.reverse())await o(c)}}}function R(t){const e=[];function r(o,i){const n=b(o);if(n){const a=S(o);e.push(`${" ".repeat(i)}- ${n}${a?` "${a}"`:""}`)}const s=n?i+1:i;for(const a of Array.from(o.children))r(a,s)}for(const o of Array.from(t.children))r(o,0);return e.join(`
|
|
2
|
-
`)}function u(t,e){const r=i=>{const n=t()[0];if(!n)throw new Error(`playwright-shim: ${i}() found no element for ${e}`);return n};return v({async click(){_(r("click"))},async fill(i){G(r("fill"),i)},async textContent(){const i=t()[0];return i?i.textContent??null:null},async evaluate(i,n){return i(r("evaluate"),n)},async count(){return t().length},async waitFor(i){const n=i?.timeout??5e3,s=i?.state??"visible",a=Date.now()+n;for(;;){const c=t()[0];if(c&&(s==="attached"||L(c)))return;if(Date.now()>=a)throw new Error(`playwright-shim: waitFor() timed out after ${n}ms waiting for ${e} to be ${s}`);await new Promise(P=>setTimeout(P,50))}},first(){return u(()=>t().slice(0,1),`${e}.first()`)},nth(i){return u(()=>{const n=t()[i];return n?[n]:[]},`${e}.nth(${i})`)},async ariaSnapshot(){return R(r("ariaSnapshot"))}},"Locator")}async function D(t,e){if(typeof t=="function")return t(e);if(typeof t=="string")return new Function("arg",`return (${t})(arg)`)(e);throw new Error("playwright-shim: evaluate() requires a function or a function-source string")}function A(t){const e={keyboard:F(t),evaluate:async(r,o)=>D(r,o),locator:r=>u(()=>Array.from(t.querySelectorAll(r)),`locator(${JSON.stringify(r)})`),getByRole:(r,o)=>u(()=>x(t,r,o),`getByRole(${JSON.stringify(r)}${o?.name!==void 0?`, {name: ${JSON.stringify(String(o.name))}}`:""})`),getByText:r=>u(()=>I(t,r),`getByText(${JSON.stringify(String(r))})`),getByTestId:r=>u(()=>C(t,r),`getByTestId(${JSON.stringify(String(r))})`),click:async r=>{await e.locator(r).click()},fill:async(r,o)=>{await e.locator(r).fill(o)},ariaSnapshot:async()=>R(t)};return v(e,"Page")}const ye="workspace.command";typeof window<"u"&&(M(w),window.__volterGameEval=async(t,e)=>{const r=await $({src:t,...e===void 0?{}:{instance:e}});if(!r.ok)throw new Error(r.error??"game-eval failed");return r.data?.result??null});async function $(t){if(!y()&&!g())return d();const e=t.src;if(typeof e!="string")return{ok:!1,error:`game-eval requires a string "src" (the step's toString())`};const r=h();if(!r)return{ok:!1,error:"game-eval: no play-mode game container is mounted yet",data:{code:"GAME_EVAL_ERROR"}};const o=t.instance,i=typeof o=="string"?o:void 0;let n;try{n=new Function("scope",`return (${e})(scope)`)}catch(a){return{ok:!1,error:`game-eval: failed to reconstruct the step function from source — ${a instanceof Error?a.message:String(a)}`,data:{code:"GAME_EVAL_ERROR"}}}const s={page:A(r),modules:k(i),instanceId:i??w()};try{const a=await n(s),c=a===void 0?null:a;try{JSON.stringify(c)}catch{return{ok:!1,error:`game-eval: the step returned an unserializable value (${Object.prototype.toString.call(c)}) — return plain data (numbers, strings, arrays, plain objects), not live module objects.`,data:{code:"GAME_EVAL_UNSERIALIZABLE"}}}return{ok:!0,data:{result:c}}}catch(a){return{ok:!1,error:`game-eval step failed: ${a instanceof Error?a.stack??a.message:String(a)}`,data:{code:"GAME_EVAL_ERROR"}}}}async function H(t){if(!y()&&!g())return d();const e=t.src;if(typeof e!="string")return{ok:!1,error:`page-script requires a string "src" (the step's toString())`};const r=h();if(!r)return{ok:!1,error:"page-script: no play-mode game container is mounted yet",data:{code:"PAGE_SCRIPT_ERROR"}};let o;try{o=new Function("page",`return (${e})(page)`)}catch(n){return{ok:!1,error:`page-script: failed to reconstruct the step function from source — ${n instanceof Error?n.message:String(n)}`,data:{code:"PAGE_SCRIPT_ERROR"}}}const i=A(r);try{const n=await o(i);return{ok:!0,data:{result:n===void 0?null:n}}}catch(n){return n instanceof E?{ok:!1,error:n.message,data:{code:"PAGE_SHIM_UNSUPPORTED",member:n.member,supported:[...n.supported]}}:{ok:!1,error:`page-script: step threw — ${n instanceof Error?n.message:String(n)}`,data:{code:"PAGE_SCRIPT_ERROR"}}}}const he={"game-eval":{timeoutMs:6e4,derivedRefresh:"always",handle:$},"page-script":{timeoutMs:6e4,derivedRefresh:"always",handle:H}};export{he as commands,ye as point};
|