@volter/game-editor 0.5.65 → 0.5.66
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 +1962 -363
- package/catalog/entries/bake.json +0 -1
- package/catalog/entries/blender.json +2 -2
- package/catalog/entries/reflections.json +2 -4
- package/catalog/project-source/src/lib/bake/asset-seed.ts +1 -2
- package/catalog/project-source/src/lib/bake/clip-layering.ts +3 -4
- package/catalog/project-source/src/lib/bake/gltf-bake.ts +1 -1
- package/catalog/project-source/src/lib/bake/params.ts +3 -5
- package/catalog/project-source/src/lib/bake/rest-relative-animation.ts +2 -3
- package/dist/.vite/manifest.json +2406 -2182
- package/dist/assets/{AssetBudgetPanel-J9--TZPU.js → AssetBudgetPanel-csYWK2H4.js} +8 -8
- package/dist/assets/{AudioViewer-CR7333fe.js → AudioViewer-BH_LUYs5.js} +1 -1
- package/dist/assets/{BVHLoader-6bQIXhMX.js → BVHLoader-Jkzh8hMf.js} +1 -1
- package/dist/assets/BufferGeometryUtils-CAbuTPOA.js +1 -0
- package/dist/assets/{CCDIKSolver-CD7vLpsK.js → CCDIKSolver-D4NvkJ8d.js} +1 -1
- package/dist/assets/{CSS3DRenderer-CL7ABLVK.js → CSS3DRenderer-CAS2WZZy.js} +1 -1
- package/dist/assets/CanvasSceneViewport-BlsRTk-X.js +1 -0
- package/dist/assets/ColladaLoader-DxYB89DA.js +3 -0
- package/dist/assets/{ColorInput-DQBNrW-K.js → ColorInput-CPQNsDf1.js} +1 -1
- package/dist/assets/{ConvexGeometry-CAzXlPVG.js → ConvexGeometry-Dinf-sev.js} +1 -1
- package/dist/assets/{ConvexHull-BINCESFp.js → ConvexHull-CrJ8FY-w.js} +1 -1
- package/dist/assets/{DecalGeometry-160KRdfg.js → DecalGeometry-owkbefLa.js} +1 -1
- package/dist/assets/EffectComposer-BHDH-NLz.js +1 -0
- package/dist/assets/EntityModelDocument-DuQivdvc.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CnTEMn3A.js +1 -0
- package/dist/assets/FBXLoader-BMUbIhtE.js +1 -0
- package/dist/assets/Fbo-DrK7CWlB.js +1 -0
- package/dist/assets/{FontLoader-CvGoVI5a.js → FontLoader-BR_K6Baw.js} +2 -2
- package/dist/assets/GLTFExporter-BZqAQJbw.js +1 -0
- package/dist/assets/{GameplaySessionTimeline-B52W3FVZ.js → GameplaySessionTimeline-Crqwv2fP.js} +1 -1
- package/dist/assets/Gltf-7cVbZUzT.js +2 -0
- package/dist/assets/ImageViewer-BkFie7Hm.js +1 -0
- package/dist/assets/InspectorObjectPreview-Dl3tyJBn.js +1 -0
- package/dist/assets/JsonAssetDocument-BUFzubHM.js +2 -0
- package/dist/assets/{LineSegments2-CsOpKSiM.js → LineSegments2-Cicm_Hu1.js} +2 -2
- package/dist/assets/LiveModuleDocument-C3OQxiba.js +1 -0
- package/dist/assets/LutAssetDocument-DVzd1RZ9.js +1 -0
- package/dist/assets/{MTLLoader-_Xzd4_0p.js → MTLLoader-Bg_grNiT.js} +2 -2
- package/dist/assets/{MarchingCubes-Bsp4wrzd.js → MarchingCubes-a78AL3HB.js} +1 -1
- package/dist/assets/MeshBVH-BCSLNEeP.js +1 -0
- package/dist/assets/ModelAssetDocument-pN84goRT.js +1 -0
- package/dist/assets/{NonThreeAuthoringBootstrap-C3woOMxX.js → NonThreeAuthoringBootstrap-BKNejRiW.js} +1 -1
- package/dist/assets/{OBJLoader-BhIC6Hwo.js → OBJLoader-BiwzVj5b.js} +2 -2
- package/dist/assets/Object3DDocumentToolbar-D5Bg5FEf.js +1 -0
- package/dist/assets/Object3DDocumentViewport-DFHqru3a.js +2 -0
- package/dist/assets/Object3DPreview-BTtZ-41z.js +2 -0
- package/dist/assets/OnlineAssetDetail-BAqozdAp.js +1 -0
- package/dist/assets/{OrbitControls-DLpayAaK.js → OrbitControls-CzKVCORl.js} +1 -1
- package/dist/assets/{OrbitControls-CM3bPray.js → OrbitControls-CzTRRI7x.js} +1 -1
- package/dist/assets/{OrthographicCamera-bQozawrh.js → OrthographicCamera-CSDDsvu7.js} +1 -1
- package/dist/assets/{PLYLoader-DYQqs5Ik.js → PLYLoader-QxrxxMpE.js} +2 -2
- package/dist/assets/{PerspectiveCamera-CQ2lh01o.js → PerspectiveCamera-DzD_NfVh.js} +1 -1
- package/dist/assets/PlayBar-qVJpgwJt.js +2 -0
- package/dist/assets/QuarksAssetDocument-B4vBlUsS.js +2 -0
- package/dist/assets/RGBELoader-WQ7xZofE.js +1 -0
- package/dist/assets/RectAreaLightUniformsLib-CwcuoVqt.js +1 -0
- package/dist/assets/{RenderPass-DPrn-Uky.js → RenderPass-C_CeQNdh.js} +1 -1
- package/dist/assets/{ResolutionPicker-C67vs1F3.js → ResolutionPicker-DpHVJxn5.js} +1 -1
- package/dist/assets/RootSelectionOverlay-BxvsunO4.js +1 -0
- package/dist/assets/{RoundedBox-BDGBg6QZ.js → RoundedBox-B_cZ0NFy.js} +1 -1
- package/dist/assets/{RoundedBoxGeometry-CyUuYPfW.js → RoundedBoxGeometry-Y4rcSIvX.js} +1 -1
- package/dist/assets/STLLoader-Bej_Nkpr.js +1 -0
- package/dist/assets/{SelectionBox-D_75KrNW.js → SelectionBox-Cn9vm7f9.js} +1 -1
- package/dist/assets/ShaderAssetDocument-Dx2x8CLr.js +12 -0
- package/dist/assets/{ShaderPass-QYRpPuFJ.js → ShaderPass-qtkA7CQ8.js} +1 -1
- package/dist/assets/{ShadowEditor-DkImwu1Y.js → ShadowEditor-BEIUkrHL.js} +1 -1
- package/dist/assets/SimplifyModifier-D2EesGr2.js +1 -0
- package/dist/assets/{SkeletonUtils-Cps8GOC6.js → SkeletonUtils-C8ayciDc.js} +1 -1
- package/dist/assets/{Sky-CQKCgYDs.js → Sky-BBpnAJZV.js} +1 -1
- package/dist/assets/SourceAssetViewer-BpMbbuy6.js +1 -0
- package/dist/assets/StageHost-lB8f---y.js +2 -0
- package/dist/assets/{StoryPreviewMount-DjyxRCXu.js → StoryPreviewMount-BIfxmkYh.js} +1 -1
- package/dist/assets/{TDSLoader-D_T8XJ81.js → TDSLoader-rHl5Uwc0.js} +1 -1
- package/dist/assets/{TextGeometry-DOWAEUV0.js → TextGeometry-BRHSufuM.js} +1 -1
- package/dist/assets/ThreeBoardDocument-BHV92Ia3.js +2 -0
- package/dist/assets/{ThreeIsolationSceneContent-C8C8whSF.js → ThreeIsolationSceneContent-BqtgDHBK.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-BRoDWe4Q.js → ToolObject3DPreview-CcaPJTyH.js} +1 -1
- package/dist/assets/Toolbar-keHcSvDD.js +1 -0
- package/dist/assets/{TrackballControls-DfznuQTh.js → TrackballControls-Cce-6Ff5.js} +1 -1
- package/dist/assets/{TransientHint-BB1fwrvK.js → TransientHint-Dlslh3oX.js} +1 -1
- package/dist/assets/{UnrealBloomPass-CR-cS_K5.js → UnrealBloomPass-DiseEiFK.js} +2 -2
- package/dist/assets/{VideoViewer-C6kocgIU.js → VideoViewer-naGSXHd6.js} +1 -1
- package/dist/assets/ViewportShadingMenu-C7Hdhtca.js +1 -0
- package/dist/assets/{active-ingest-CT6jSGhr.js → active-ingest-DEgq9JiA.js} +3 -3
- package/dist/assets/{animation-clock-CnjZqfJp.js → animation-clock-lTIb6nk3.js} +1 -1
- package/dist/assets/animation-mixers.service-2O2rVwQf.js +1 -0
- package/dist/assets/asset-budget-asset.menu-9NhdHAC9.js +1 -0
- package/dist/assets/asset-budget.action-yg6-luUJ.js +1 -0
- package/dist/assets/asset-budget.document-B46_VFqa.js +1 -0
- package/dist/assets/asset-budget.menu-DuH07N-e.js +1 -0
- package/dist/assets/{asset-editor-persistence-BBaONOJt.js → asset-editor-persistence-BVtzjadu.js} +1 -1
- package/dist/assets/{asset-loaders-BOy5Ss8k.js → asset-loaders-BxG1LykH.js} +2 -2
- package/dist/assets/{assets-BuSoGjBX.js → assets-Do88ZdV_.js} +1 -1
- package/dist/assets/{audio-unlock.service-CfUgUQVy.js → audio-unlock.service-BJH0mWvX.js} +1 -1
- package/dist/assets/{audio.utility-C6K6jem8.js → audio.utility-Cp4aVYFU.js} +1 -1
- package/dist/assets/autoplay.service-FxpRy7Ev.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-CL02gWDn.js → babylon-authoring-adapter-B_8iE8fK.js} +1 -1
- package/dist/assets/{binding-resolver-Dsh-6Vor.js → binding-resolver-BWwG10zJ.js} +2 -2
- package/dist/assets/blender-emscripten-engine-CEsWgnR7.js +2 -0
- package/dist/assets/{blender-node-editor.document-iIDkB9sI.js → blender-node-editor.document-DTgwy8KC.js} +1 -1
- package/dist/assets/blender-properties-tab-DWSJpkxq.js +3 -0
- package/dist/assets/blender-runtime-host-OGjPjTrG.js +4 -0
- package/dist/assets/{blender-runtime-skin-DyQ9B6CR.js → blender-runtime-skin-DymtXlpt.js} +37 -39
- package/dist/assets/blender-runtime.document-CzH2ohHR.js +8 -0
- package/dist/assets/{blender-timeline.document-77fx96N7.js → blender-timeline.document-BRy_QPHt.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-fsT7B4gV.js → blender-uv-editor.document-D-AbUCqz.js} +1 -1
- package/dist/assets/{blender-version.status-o6dBm3n6.js → blender-version.status-B7flzX_7.js} +1 -1
- package/dist/assets/{blender-wali-engine-wTOcrOMC.js → blender-wali-engine-D3iKpzn9.js} +1 -1
- package/dist/assets/blender.command-BVHtgTQy.js +1 -0
- package/dist/assets/blender.environment-CG-pC7sk.js +1 -0
- package/dist/assets/{blender.style-Dcem5f_T.js → blender.style-CxfbTFcE.js} +1 -1
- package/dist/assets/{board-guides-DziKSTss.js → board-guides-C3usUZZk.js} +1 -1
- package/dist/assets/body-marks-D8iaje6y.js +1 -0
- package/dist/assets/bridge.command-BF9u6r0A.js +3 -0
- package/dist/assets/browserAll-38aBu-cf.js +1 -0
- package/dist/assets/{build-profiles.document-kW8iw8Xj.js → build-profiles.document-DO7oNRuo.js} +2 -2
- package/dist/assets/{build-progress.status-BNRLytg2.js → build-progress.status-COeNVhYd.js} +1 -1
- package/dist/assets/{build-session-C_sg3CEn.js → build-session-IWIriS5P.js} +1 -1
- package/dist/assets/{build.action-lYjTLb7K.js → build.action-DlkFvZf6.js} +1 -1
- package/dist/assets/{build.command-DIGgUPU_.js → build.command-DPqQIYj_.js} +1 -1
- package/dist/assets/{build.header-CKajx5U3.js → build.header-CNLG-pV8.js} +1 -1
- package/dist/assets/{build.menu-BdU0QXny.js → build.menu-hUlH6loi.js} +1 -1
- package/dist/assets/{build.service-CbBAyeu3.js → build.service-C86Td3_9.js} +1 -1
- package/dist/assets/{camera-KEsKvOL7.js → camera-CKbyBXMe.js} +1 -1
- package/dist/assets/camera-authoring-Ci3KnE-W.js +1 -0
- package/dist/assets/{camera-runtime.inspector-B7unX4g1.js → camera-runtime.inspector-DdR3P2BF.js} +1 -1
- package/dist/assets/canvas-entry-runtime-E5YjSgre.js +2 -0
- package/dist/assets/canvas-preview-frames-CiAx7dpV.js +1 -0
- package/dist/assets/{capability-coverage-Czas4C18.js → capability-coverage-CfUeULDN.js} +5 -5
- package/dist/assets/city-EkhAOo5s.exr +0 -0
- package/dist/assets/{collaboration-presence-DLoZ7EA3.js → collaboration-presence-CSLFNT7m.js} +1 -1
- package/dist/assets/{collider-Bw0mXlsW.js → collider-DRSaLRM9.js} +1 -1
- package/dist/assets/{component-board.service-DCwcUssB.js → component-board.service-B7Sv8b7m.js} +2 -2
- package/dist/assets/component-board.service-B8UHw8dn.js +2 -0
- package/dist/assets/component-contracts.service-LFGekycZ.js +1 -0
- package/dist/assets/{component-verbs.command-7xzfjGMZ.js → component-verbs.command-D4SvFjfG.js} +1 -1
- package/dist/assets/component-verbs.service-TGvWxf2b.js +1 -0
- package/dist/assets/{config-CEZk921y.js → config-DB_RH-hO.js} +3 -3
- package/dist/assets/{configurations-DTBMdaTL.js → configurations-C2qgJNnW.js} +1 -1
- package/dist/assets/{connection.status-BifnQdOs.js → connection.status-CG7X2brL.js} +1 -1
- package/dist/assets/{console-bridge-CHcb-xk5.js → console-bridge-B5Ltae37.js} +1 -1
- package/dist/assets/{constraint-De8f1Uiq.js → constraint-C_Jj7dXy.js} +1 -1
- package/dist/assets/constraints.inspector-D6QZJS4b.js +1 -0
- package/dist/assets/courtyard-DqlebbpC.exr +0 -0
- package/dist/assets/coverage.service-Clo86874.js +3 -0
- package/dist/assets/{create-runtime-CVCc1BDx.js → create-runtime-lmA910XT.js} +1 -1
- package/dist/assets/{curve-7Q79VgU4.js → curve-6-TR6dNb.js} +1 -1
- package/dist/assets/{data-asset-4hjS642k.js → data-asset-BNbd309U.js} +1 -1
- package/dist/assets/{data-ref-CQI28C0D.js → data-ref-Dvmd7eb1.js} +1 -1
- package/dist/assets/{debug-bridge-CCohG-d-.js → debug-bridge-BUNhgyY6.js} +1 -1
- package/dist/assets/{debug-registry-Dgvitx8M.js → debug-registry-B3Cnne3x.js} +1 -1
- package/dist/assets/deferred-ingest-play-7V8OrW3e.js +2 -0
- package/dist/assets/design-time-layers-g9VS6amb.js +1 -0
- package/dist/assets/design-time-mount.service-HtMr_vBd.js +2 -0
- package/dist/assets/design-time-react-mount-Dx6fJ-Hg.js +1 -0
- package/dist/assets/{directional-shadow-fit-BVkOKAv2.js → directional-shadow-fit-Cjz_Eg2b.js} +1 -1
- package/dist/assets/{document-preview-three-Kbg2GCLm.js → document-preview-three-C3y0syYQ.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-CY8C7f4T.js → dom-authoring-adapter-CEeFyatF.js} +1 -1
- package/dist/assets/{draco3d-BBUTcNkz.js → draco3d-FKy0apkb.js} +1 -1
- package/dist/assets/drei-asset-caches-jJoHXbTj.js +2 -0
- package/dist/assets/{edit-mode-audio.service-Bzetwd5B.js → edit-mode-audio.service-DZTnrW6t.js} +1 -1
- package/dist/assets/edit-mode-authoring-D_BiHCQj.js +1 -0
- package/dist/assets/{edit-mode-networking.service-YCX6RRb_.js → edit-mode-networking.service-BzMI2VxO.js} +1 -1
- package/dist/assets/editor-api-Bzmo0o8_.js +1 -0
- package/dist/assets/{entry-adjudication-Cq8Yeb74.js → entry-adjudication-BYy7TXOB.js} +1 -1
- package/dist/assets/{events-156d8d12.esm-ErOhDXXB.js → events-156d8d12.esm-C734MYnx.js} +7 -7
- package/dist/assets/{extend-B-eOccUm.js → extend-CLG0ymiX.js} +1 -1
- package/dist/assets/forest-P_CQY3b_.exr +0 -0
- package/dist/assets/fork-menu-De7HU6_H.js +1 -0
- package/dist/assets/{frame-debugger-store-D1Mf_5up.js → frame-debugger-store-BZgIOlU6.js} +1 -1
- package/dist/assets/{game-DHOZVb-7.js → game-D5EJoILQ.js} +1 -1
- package/dist/assets/{game-contract-seams-a5YXejOu.js → game-contract-seams-TCpIMmHP.js} +1 -1
- package/dist/assets/{game-css-scope-transform-Eng4wS8E.js → game-css-scope-transform-NbpajQr-.js} +1 -1
- package/dist/assets/game-document.service-6eRlrI-d.js +1 -0
- package/dist/assets/game-eval.command-hKnSMlX0.js +2 -0
- package/dist/assets/{game-input-seams-CIQdetRw.js → game-input-seams-BC6xhZy3.js} +1 -1
- package/dist/assets/{game-module-access-B2mFxv-i.js → game-module-access-ry3xb1Ix.js} +1 -1
- package/dist/assets/{gameplay-export-BoKXm51x.js → gameplay-export-DiLQuPpn.js} +1 -1
- package/dist/assets/gameplay-replay-Bsre-1K8.js +1 -0
- package/dist/assets/{gameplay-rng-trap-CTNhm-UW.js → gameplay-rng-trap-BhRx_CtU.js} +1 -1
- package/dist/assets/gameplay.command-BqiyGn-I.js +1 -0
- package/dist/assets/{generation-jobs-BQrXbGp_.js → generation-jobs-BYcpgeGk.js} +1 -1
- package/dist/assets/generation.service-O81IqA-6.js +1 -0
- package/dist/assets/{generations-DzUogZsM.js → generations-CsGQ3twi.js} +1 -1
- package/dist/assets/{generations.status-CgOUBCum.js → generations.status-C3YU0_ml.js} +1 -1
- package/dist/assets/godot.style-DxJaFWOP.js +1 -0
- package/dist/assets/godot.view-BFsHk8b2.js +1 -0
- package/dist/assets/{hosted-asset-materialization-CiIvWkGU.js → hosted-asset-materialization-Bk-plQF6.js} +2 -2
- package/dist/assets/{ibl-override-material-BlmCxFKq.js → ibl-override-material-BhbGwgS1.js} +1 -1
- package/dist/assets/{index-mjWQmGhM.js → index-0n9eSzwT.js} +1 -1
- package/dist/assets/index-B4bmKkgY.css +1 -0
- package/dist/assets/index-BLo2LE8C.js +3404 -0
- package/dist/assets/index-BWW4-DBH.js +1 -0
- package/dist/assets/index-CLcsjKUs.js +1 -0
- package/dist/assets/index-CU5YUq-x.js +134 -0
- package/dist/assets/{index-DUpHH6JR.js → index-Cb6o_Td_.js} +1 -1
- package/dist/assets/index-Ckxb31Yz.js +1500 -0
- package/dist/assets/index-CnpsJMao.js +1 -0
- package/dist/assets/index-Cr23XhNm.js +1 -0
- package/dist/assets/index-DO1rWQ_r.js +487 -0
- package/dist/assets/{index-BcCBqgM_.js → index-DUh02lTr.js} +1 -1
- package/dist/assets/index-DXEHfb0b.js +1 -0
- package/dist/assets/{index-V1R-e5Bd.js → index-wRCvCebM.js} +1 -1
- package/dist/assets/{inference-diagnostics-Dhmtfbq_.js → inference-diagnostics-YW0yJkKx.js} +1 -1
- package/dist/assets/{ingest-BbYMC2vQ.js → ingest-BlQnR7s3.js} +1 -1
- package/dist/assets/ingest-boot-viewport-uG9jQ1zm.js +1 -0
- package/dist/assets/ingest-siblings-DRQXSWax.js +1 -0
- package/dist/assets/{ingest-source-persistence-C_6Hiyra.js → ingest-source-persistence-DH6ioCOu.js} +1 -1
- package/dist/assets/{ingest.service-BTDnQfM1.js → ingest.service-GeaWMaZX.js} +1 -1
- package/dist/assets/{input-manager-DH_hGW6d.js → input-manager-Cxx3RJgG.js} +1 -1
- package/dist/assets/{input-router-BNQvtIqw.js → input-router-FzxO5ld6.js} +1 -1
- package/dist/assets/{inspect-BZfi3mmo.js → inspect-BRgDdtVk.js} +1 -1
- package/dist/assets/instances.command-CFOMPSj3.js +1 -0
- package/dist/assets/{instruments-CKR02Y8I.js → instruments-IKn-vvNb.js} +1 -1
- package/dist/assets/interior-Bo_lba15.exr +0 -0
- package/dist/assets/{json-history-resource-BbxllWfV.js → json-history-resource-r-9q_hxP.js} +1 -1
- package/dist/assets/{light-D-_wsKTq.js → light-CFAor97k.js} +1 -1
- package/dist/assets/light-camera-factory-D1sgz3YB.js +1 -0
- package/dist/assets/live-mixers-BRkRHd6g.js +1 -0
- package/dist/assets/{loader-CaF_I7Yt.js → loader-BbMsvIxP.js} +1 -1
- package/dist/assets/machine.document-CgmsOh-s.js +24 -0
- package/dist/assets/machines.finder-nxiCgQc2.js +1 -0
- package/dist/assets/matcap-texture-Dh65bX5V.js +1 -0
- package/dist/assets/{material-CpAdjDxn.js → material-D5kXEZWQ.js} +1 -1
- package/dist/assets/{material-factory-Bz6h__6g.js → material-factory-0Qb0VuZ5.js} +1 -1
- package/dist/assets/material-preview.view-DqNcpd_b.js +1 -0
- package/dist/assets/{mesh-B3WPtNKO.js → mesh-BKPgNTwh.js} +1 -1
- package/dist/assets/{mesh-shadow-CZnXrw_l.js → mesh-shadow-BDQP4mHs.js} +1 -1
- package/dist/assets/model-asset-sections.service-DWPLmkqa.js +1 -0
- package/dist/assets/model-inspection-Cxfg_Fei.js +1 -0
- package/dist/assets/model.layout-BpZE1W9V.js +1 -0
- package/dist/assets/{models.finder-G2jQgIRu.js → models.finder-DHW17ZEa.js} +1 -1
- package/dist/assets/module-mode-CRfHyIMS.js +2 -0
- package/dist/assets/mount-canvas-ingest-root-BZZ8M3Lu.js +2 -0
- package/dist/assets/mount-dom-ingest-root-D1GV6Jjt.js +2 -0
- package/dist/assets/{mount-game-6t9cKNo4.js → mount-game-F9e76auh.js} +1 -1
- package/dist/assets/mount-ingest-root-B5D-Lmmk.js +2 -0
- package/dist/assets/{mount-manifest-CGVxhmAw.js → mount-manifest-cYRhgHfo.js} +1 -1
- package/dist/assets/mount-three-ingest-root-BNnouaBn.js +1 -0
- package/dist/assets/{mounted-authoring-Dmg5xmhP.js → mounted-authoring-TIN5EnCb.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-DjP6RA9U.js → mounted-story-viewport-source-CAlEmE0_.js} +1 -1
- package/dist/assets/{native-debug-module-CWicoSGD.js → native-debug-module-j-MekcLS.js} +1 -1
- package/dist/assets/{navigation-CIiCx-SM.js → navigation-DmR1BDVo.js} +1 -1
- package/dist/assets/{navmesh.menu-CAKiH8PW.js → navmesh.menu-FhL1pGx1.js} +1 -1
- package/dist/assets/{navmesh.service-jgDWlgj1.js → navmesh.service-usyDeJlm.js} +1 -1
- package/dist/assets/{network.utility-CEu5nHf7.js → network.utility-BPh4hTmh.js} +1 -1
- package/dist/assets/night-CvV4Gybt.exr +0 -0
- package/dist/assets/{object3d-authoring-subject-CH5sI2oP.js → object3d-authoring-subject-CyE4rQ2A.js} +1 -1
- package/dist/assets/oid-transform-BOqL6YH6.js +2 -0
- package/dist/assets/{particles-Y626p22p.js → particles-C47L-dda.js} +1 -1
- package/dist/assets/particles-factory-CRqPLdS7.js +1 -0
- package/dist/assets/pixi-authoring-adapter-C5Ikqj5-.js +1 -0
- package/dist/assets/{pixi-live-write-target-DuWydlWb.js → pixi-live-write-target-OWBk79dp.js} +1 -1
- package/dist/assets/pixi-primitive-D5igywJ_.js +1 -0
- package/dist/assets/pixi-react-root-factory-9lZ0Yz-n.js +1 -0
- package/dist/assets/play-mode-DomOvQie.js +22 -0
- package/dist/assets/play.command-DoqjH-Pp.js +2 -0
- package/dist/assets/{playtest-BXIL1JEF.js → playtest-BnFenMBW.js} +1 -1
- package/dist/assets/{pose-guard-6Osb2cFu.js → pose-guard-Bb3gZOzk.js} +1 -1
- package/dist/assets/{product-DFhyARJj.js → product-CTDJoVo5.js} +1 -1
- package/dist/assets/{profiler.action-CaXJDp3t.js → profiler.action-C_OFGkDw.js} +1 -1
- package/dist/assets/{profiler.menu-BIMF6Bi4.js → profiler.menu-BJbnVoo4.js} +1 -1
- package/dist/assets/{profiler.utility-BExw9wBO.js → profiler.utility-qpfhuwRw.js} +1 -1
- package/dist/assets/project-authoring-session-BV-MM8Fl.js +2 -0
- package/dist/assets/{project-provenance-BoP3nrle.js → project-provenance-4ldz-EOG.js} +1 -1
- package/dist/assets/{properties-bone-constraints.inspector-ByT6p7S-.js → properties-bone-constraints.inspector-C-ByIdg1.js} +1 -1
- package/dist/assets/{properties-bone.inspector-z4qJwKO5.js → properties-bone.inspector-CXY0xCQB.js} +1 -1
- package/dist/assets/{properties-collection.inspector-D0_3ijWU.js → properties-collection.inspector-DIfkZAel.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-CESzjuls.js → properties-constraints.inspector-BaunL5nT.js} +1 -1
- package/dist/assets/{properties-data.inspector-hG8Wgyzb.js → properties-data.inspector-DQD-jfO2.js} +1 -1
- package/dist/assets/{properties-material.inspector-CzY0JCQ6.js → properties-material.inspector-A0HZ4SX6.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-3dDhwf7g.js → properties-modifiers.inspector-GUnVhVwZ.js} +1 -1
- package/dist/assets/{properties-object.inspector-CiarfxkT.js → properties-object.inspector-Chsfa4Xa.js} +1 -1
- package/dist/assets/{properties-output.inspector-DKJxmKSD.js → properties-output.inspector-U7ZmD0Me.js} +1 -1
- package/dist/assets/{properties-particles.inspector-CCEdYWGm.js → properties-particles.inspector-umkW-OlI.js} +1 -1
- package/dist/assets/{properties-physics.inspector-B2c0KUyA.js → properties-physics.inspector-CLVBlWwL.js} +1 -1
- package/dist/assets/{properties-render.inspector-Bcm0HLRW.js → properties-render.inspector-D0u9taKy.js} +1 -1
- package/dist/assets/{properties-scene.inspector-PIM_eTb_.js → properties-scene.inspector-JwGCZQAx.js} +1 -1
- package/dist/assets/{properties-texture.inspector-CgFlnyr8.js → properties-texture.inspector-B1vC28pw.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-DGjF_Aqo.js → properties-view-layer.inspector-BuUKyBFp.js} +1 -1
- package/dist/assets/{properties-world.inspector-CrMvaRvB.js → properties-world.inspector-VXUj4dT4.js} +1 -1
- package/dist/assets/r3f-design-session-qJ2v5SrB.js +2 -0
- package/dist/assets/r3f-physics-binding-C8OqNRG2.js +1 -0
- package/dist/assets/{r3f-root-factory-z9llD1OU.js → r3f-root-factory-DjGnbU4n.js} +1 -1
- package/dist/assets/r3f-source-authoring-adapter-CG9heazM.js +12 -0
- package/dist/assets/{rapier-physics-bridge-CMoeVo3Y.js → rapier-physics-bridge-B-EK7KYV.js} +1 -1
- package/dist/assets/react-inspector.service-DWeXDHJq.js +1 -0
- package/dist/assets/{react-root-CEz5NTck.js → react-root-DGLRLr-F.js} +1 -1
- package/dist/assets/react-story-board-CSqHY0Cg.js +1 -0
- package/dist/assets/{react-three-fiber.esm-CycrbDlA.js → react-three-fiber.esm-BxIoqVh1.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-CEfKpvxT.js → react-three-rapier.esm-BYzLhdSV.js} +1 -1
- package/dist/assets/react-world-authoring-adapter-BMT9kLWU.js +1 -0
- package/dist/assets/{realm-services-CobQsq_X.js → realm-services-D25JHoqD.js} +1 -1
- package/dist/assets/{reflection-probe-Don-M3Fj.js → reflection-probe-CqXWlicu.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-CmFUoJCx.js → reflection-probe-capture.inspector-B7Qa30vB.js} +1 -1
- package/dist/assets/regions-DWeEBnE2.js +1 -0
- package/dist/assets/{register-render-vitals-BiZk29b2.js → register-render-vitals-BO7x64kR.js} +1 -1
- package/dist/assets/{registry-02YZjMNp.js → registry-DlTluc4x.js} +1 -1
- package/dist/assets/{render-audio-control-vMRlePWb.js → render-audio-control-DCa_bOBI.js} +1 -1
- package/dist/assets/{render-batch-system-0vq7p0VC.js → render-batch-system-CzCp9YKM.js} +1 -1
- package/dist/assets/{render-control-Df3yTiyr.js → render-control-BNQr1eNO.js} +1 -1
- package/dist/assets/{render-env-D2IV2x5k.js → render-env-emvlfeTG.js} +1 -1
- package/dist/assets/{render-features-CPQ_e568.js → render-features-COF7MSQ9.js} +1 -1
- package/dist/assets/{render-settings-Bw4W9SYF.js → render-settings-C_kIMq8Y.js} +1 -1
- package/dist/assets/{resolve-three-SZE_WWUM.js → resolve-three-C-nx-QdA.js} +13 -13
- package/dist/assets/{root-seam-contract-Z0VWX3Bk.js → root-seam-contract-C7GOxf5x.js} +1 -1
- package/dist/assets/{run-ticks-settled-C4ksViyA.js → run-ticks-settled-B0cTtmhQ.js} +1 -1
- package/dist/assets/{scene-capture-CGYF-Viw.js → scene-capture-CLOc7GXc.js} +1 -1
- package/dist/assets/{scene-capture-BQKzU0NT.js → scene-capture-D10Nxkvp.js} +1 -1
- package/dist/assets/scene-document.service-B7kAVTko.js +2 -0
- package/dist/assets/{scene-framing-Cat0GtyJ.js → scene-framing-50N7SKuX.js} +1 -1
- package/dist/assets/{scene-index-B6BZOHMk.js → scene-index-Bce459yu.js} +1 -1
- package/dist/assets/{scene-query-C7_N-TpI.js → scene-query-IUZhw6pA.js} +1 -1
- package/dist/assets/{schema-kl9-2B_J.js → schema-Iy-mbzll.js} +1 -1
- package/dist/assets/sculpt.layout-D-K5cLw6.js +1 -0
- package/dist/assets/{seeded-random-i3mtgBKZ.js → seeded-random-CN0scLZj.js} +1 -1
- package/dist/assets/{session-CZ5JPg-z.js → session-CsR0lApe.js} +24 -15
- package/dist/assets/{setup-audio-S8GQF91f.js → setup-audio-BJ18gvXZ.js} +1 -1
- package/dist/assets/setup-particles-B6H-GbAA.js +1 -0
- package/dist/assets/{setup-physics-BeZ7-LKD.js → setup-physics-GugbTT0J.js} +1 -1
- package/dist/assets/{setup-renderer-DVXaSGin.js → setup-renderer-wt_a-p8r.js} +20 -20
- package/dist/assets/shading.layout-CZZHKBer.js +1 -0
- package/dist/assets/{sim-clock-CLflx7kg.js → sim-clock-DEfbb_-P.js} +1 -1
- package/dist/assets/{soft-particle-depth-DGvfQDi1.js → soft-particle-depth-CKUS1j0Y.js} +1 -1
- package/dist/assets/source-object3d-authoring-adapter-CfHQLFAL.js +1 -0
- package/dist/assets/{source-persistence-backend-C-aR-B_Y.js → source-persistence-backend-_-JMEXxE.js} +1 -1
- package/dist/assets/{spark-renderer-lifecycle-ynWESJcv.js → spark-renderer-lifecycle-9mnMW3Z4.js} +1 -1
- package/dist/assets/{spark.module-4pXQoz5d.js → spark.module-CXth-y_a.js} +1 -1
- package/dist/assets/stage-keyboard-C0FdDLOQ.js +1 -0
- package/dist/assets/stage-overlay-set-CwhCzbOy.js +1 -0
- package/dist/assets/stage-presence-markers-DVMDKiB-.js +1 -0
- package/dist/assets/stage-transform-tools-B09Z7v0o.js +1 -0
- package/dist/assets/standard-viewport-dressing-GUUr6GuK.js +20 -0
- package/dist/assets/{state-watch.action-BOvQR2qt.js → state-watch.action-CgF8qoFC.js} +1 -1
- package/dist/assets/{state-watch.menu-CNLvDeeY.js → state-watch.menu-CIMncESW.js} +1 -1
- package/dist/assets/{state-watch.utility-Bg1tTTQU.js → state-watch.utility-zTHkUALC.js} +1 -1
- package/dist/assets/static-batch-advisor-DqfXWRUq.js +1 -0
- package/dist/assets/story-capture-COQgezzl.js +1 -0
- package/dist/assets/story-documents-DQ0KORmd.js +3 -0
- package/dist/assets/story-documents.service-DOSaqPqv.js +1 -0
- package/dist/assets/story-documents.service-Gb7oUkbg.js +1 -0
- package/dist/assets/{story-media-presence-BHzk2IV5.js → story-media-presence-nW3zJqKv.js} +1 -1
- package/dist/assets/story-pixi-preview-COPTEsHo.js +1 -0
- package/dist/assets/story-presentation-CxADj5oz.js +1 -0
- package/dist/assets/{story-three-preview-BHEDZzcl.js → story-three-preview-C9W__8Or.js} +2 -2
- package/dist/assets/{structural-ids-Dc-7rEwi.js → structural-ids-CblajJQK.js} +1 -1
- package/dist/assets/studio-CysTBGIb.exr +0 -0
- package/dist/assets/sunrise-Dj0psFrf.exr +0 -0
- package/dist/assets/sunset-Bw3x2Bot.exr +0 -0
- package/dist/assets/{surface-state-DaxyruCj.js → surface-state-BAUJu6GY.js} +1 -1
- package/dist/assets/{system-runner-DkOjxEBt.js → system-runner-D_DtVrer.js} +1 -1
- package/dist/assets/team-playtest.service--79O6xkx.js +1 -0
- package/dist/assets/{three-CDSueJyJ.js → three-DSsr_Lvp.js} +1 -1
- package/dist/assets/{three-authoring-adapter-CmSQ3Vui.js → three-authoring-adapter-Yqsank46.js} +1 -1
- package/dist/assets/three-authoring.service-BDos-bRt.js +2 -0
- package/dist/assets/{three-ingest-runtime-QzDYk6tU.js → three-ingest-runtime-DWijtqQ8.js} +1 -1
- package/dist/assets/{three-projection-core-BmKMZ-nf.js → three-projection-core-kubBTx0s.js} +1 -1
- package/dist/assets/three-story-model-BraQFA9h.js +1 -0
- package/dist/assets/three-viewport-presentation-BL7Uc2i6.js +1 -0
- package/dist/assets/{three.module-D396a9Mn.js → three.module-IFn-4i31.js} +1 -1
- package/dist/assets/three.quarks.esm-CRKGjKAH.js +1039 -0
- package/dist/assets/transform-mode-request-Cu7ewbtr.js +1 -0
- package/dist/assets/{transform-writer-BhBBTx33.js → transform-writer-DXxrI4t7.js} +1 -1
- package/dist/assets/transport.header-CeND8Vzh.js +1 -0
- package/dist/assets/{trigger-volume-BNK2XzPL.js → trigger-volume-BCVRS3NM.js} +1 -1
- package/dist/assets/{tuples-CIQ4Bn1U.js → tuples-DKDGrN1t.js} +1 -1
- package/dist/assets/ui-board-document-DD2CAEAo.js +2 -0
- package/dist/assets/unity.style-vCmLw4gI.js +1 -0
- package/dist/assets/unity.view-DIn2S6Do.js +1 -0
- package/dist/assets/unreal.style-BQn-HhOX.js +1 -0
- package/dist/assets/unreal.view-adNBETZK.js +1 -0
- package/dist/assets/user-data-CZqsJDk-.js +1 -0
- package/dist/assets/{utility-view-state-BHypxA33.js → utility-view-state-DYJY8V8O.js} +1 -1
- package/dist/assets/uv-editing.layout-A8RA-cbM.js +1 -0
- package/dist/assets/{vgai-shared-three-Bc5PvpLM.js → vgai-shared-three-D_RAEumG.js} +1 -1
- package/dist/assets/{viewport-root-presentation-CWsE56K6.js → viewport-root-presentation-C9M98VNM.js} +1 -1
- package/dist/assets/{viewport-shading-BuA88e_A.js → viewport-shading-BzcvgJhK.js} +1 -1
- package/dist/assets/viewport-shading-boundary-CBvvzS-p.js +84 -0
- package/dist/assets/{viewport-surface-status-B3om4Kcf.js → viewport-surface-status-BFmnWp7z.js} +1 -1
- package/dist/assets/voxel-surface-ROWYug7H.js +1 -0
- package/dist/assets/webgl-frame-capture-CRKX73E9.js +1 -0
- package/dist/assets/webworkerAll-CehoCtFb.js +1 -0
- package/dist/assets/{worker-UrMcrc5_.js → worker-B7zhIsFh.js} +2 -2
- package/dist/assets/world-documents-DErHq15h.js +1 -0
- package/dist/assets/world-root-stage-binding-BIymcQ4K.js +1 -0
- package/dist/assets/{world-state-BWG-IcOd.js → world-state-ZGDGY_Xl.js} +1 -1
- package/dist/assets/{writer-B-KovzkA.js → writer-BPbm4_my.js} +5 -5
- package/dist/assets/xstate-animation-binding-Cvd4JbEY.js +1 -0
- package/dist/assets/{xstate-animation-meta-Q3u9zh_m.js → xstate-animation-meta-B3OZR8Q2.js} +1 -1
- package/dist/vgai-shared-three.json +1 -1
- package/dist-node/cli.js +317 -73
- package/dist-node/create.js +59 -19
- package/package.json +16 -13
- package/src/index.ts +6 -0
- package/template/.agents/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.agents/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/.claude/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.claude/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/.github/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.github/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/AGENTS.md +1 -1
- package/template/check-idioms.ts +4 -5
- package/template/package.json +9 -9
- package/template/tsconfig.json +1 -0
- package/template/vgai.adapter.ts +1 -0
- package/template-dotfiles/gitignore +2 -0
- package/workbench/src/media/game-cover.css +1 -1
- package/catalog/project-source/src/lib/bake/mesh-slice.ts +0 -157
- package/dist/assets/BufferGeometryUtils-Nz37EVXf.js +0 -1
- package/dist/assets/CanvasSceneViewport-Bpi6gVTC.js +0 -1
- package/dist/assets/ColladaLoader-aVOPIsCh.js +0 -3
- package/dist/assets/EXRLoader-Cdans_oJ.js +0 -1
- package/dist/assets/EffectComposer-DQxfsXBZ.js +0 -1
- package/dist/assets/EntityModelDocument-Ccvw66N9.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-Dg-Qq6O6.js +0 -1
- package/dist/assets/FBXLoader-B4MoUtAn.js +0 -1
- package/dist/assets/Fbo-Dz-Soul3.js +0 -1
- package/dist/assets/GLTFExporter-HgrCle4L.js +0 -1
- package/dist/assets/Gltf-UHVWKz65.js +0 -2
- package/dist/assets/HDRLoader-THU88oVD.js +0 -5
- package/dist/assets/ImageViewer-Tn7s_MnW.js +0 -1
- package/dist/assets/InspectorObjectPreview-CVejvLRg.js +0 -1
- package/dist/assets/JsonAssetDocument-C7VGcLhu.js +0 -3
- package/dist/assets/MeshBVH-BiDHDcu-.js +0 -1
- package/dist/assets/ModelAssetDocument-F5GACirk.js +0 -1
- package/dist/assets/Object3DDocumentViewport-DB7T0NTl.js +0 -2
- package/dist/assets/Object3DPreview-DL8oi7Xs.js +0 -2
- package/dist/assets/OnlineAssetDetail-C6z9RvYK.js +0 -2
- package/dist/assets/PlayBar-BR-Vg3Jb.js +0 -2
- package/dist/assets/RGBELoader-BgBcQv8j.js +0 -1
- package/dist/assets/RectAreaLightUniformsLib-CMMoWfll.js +0 -1
- package/dist/assets/RootSelectionOverlay-BZPlxmXU.js +0 -1
- package/dist/assets/STLLoader-Dyv3lsxY.js +0 -1
- package/dist/assets/SimplifyModifier-C8ayvRzd.js +0 -1
- package/dist/assets/SourceAssetViewer-2SWQoUut.js +0 -12
- package/dist/assets/StageHost-BN-IoTef.js +0 -2
- package/dist/assets/ThreeBoardDocument-CVncZyIq.js +0 -2
- package/dist/assets/asset-budget-asset.menu-Di3KiQCd.js +0 -1
- package/dist/assets/asset-budget.action-DCzzcuTh.js +0 -1
- package/dist/assets/asset-budget.document-BWU8wnVW.js +0 -1
- package/dist/assets/asset-budget.menu-BGZpT_31.js +0 -1
- package/dist/assets/autoplay.service-BZBGNSvt.js +0 -1
- package/dist/assets/blender-emscripten-engine-9ZIRYNhe.js +0 -2
- package/dist/assets/blender-properties-tab-C5CyPydi.js +0 -3
- package/dist/assets/blender-runtime-host-BpBwGv7r.js +0 -4
- package/dist/assets/blender-runtime.document-lIYhhPtv.js +0 -8
- package/dist/assets/blender.command-BtJeWk-A.js +0 -1
- package/dist/assets/body-marks-h_xDxiDE.js +0 -1
- package/dist/assets/bridge.command-o5gDNEwa.js +0 -3
- package/dist/assets/browserAll-DeWblVez.js +0 -1
- package/dist/assets/canvas-entry-runtime-SfBxaR9M.js +0 -2
- package/dist/assets/component-board.service-DidCyM4O.js +0 -2
- package/dist/assets/component-verbs.service-Bv9jId3q.js +0 -1
- package/dist/assets/constraints.inspector-B9U9Yj-u.js +0 -1
- package/dist/assets/coverage.service-VTX5Mcsx.js +0 -3
- package/dist/assets/deferred-ingest-play-DCJi_Pgu.js +0 -2
- package/dist/assets/design-time-layers-wYgOTgni.js +0 -1
- package/dist/assets/design-time-mount.service-BzY21e1F.js +0 -2
- package/dist/assets/design-time-react-mount-DM9WLrF2.js +0 -1
- package/dist/assets/edit-mode-authoring-B47TfLqu.js +0 -1
- package/dist/assets/editor-api-BoJIcyZG.js +0 -1
- package/dist/assets/fflate.module-DPuTF8aG.js +0 -6
- package/dist/assets/fork-menu-BoVyw2Wu.js +0 -1
- package/dist/assets/game-document.service-DbRfx2V0.js +0 -1
- package/dist/assets/game-eval.command-D-7Dxbj_.js +0 -2
- package/dist/assets/gameplay-replay-e5umMlXv.js +0 -1
- package/dist/assets/gameplay.command-DxcVYX6F.js +0 -1
- package/dist/assets/generation.service-CDIgObuw.js +0 -1
- package/dist/assets/index-96FBF1Oj.js +0 -1
- package/dist/assets/index-BAWkB0dv.js +0 -1
- package/dist/assets/index-BDnS2b6S.js +0 -1
- package/dist/assets/index-BjTCPEQ7.js +0 -134
- package/dist/assets/index-CVCb_ImQ.js +0 -1
- package/dist/assets/index-CZd9o7Lu.js +0 -1
- package/dist/assets/index-D2fNXpHa.css +0 -1
- package/dist/assets/index-GIL7oGEO.js +0 -4894
- package/dist/assets/index-OrYXPk3Z.js +0 -487
- package/dist/assets/ingest-boot-viewport-D5rI_Kk_.js +0 -1
- package/dist/assets/ingest-siblings-Bop2kqVl.js +0 -1
- package/dist/assets/instances.command-D6UkZNO8.js +0 -1
- package/dist/assets/light-camera-factory-CWbbe9gI.js +0 -1
- package/dist/assets/live-behaviors-Bxq49Maz.js +0 -1
- package/dist/assets/matcap-texture-CVfalpWT.js +0 -1
- package/dist/assets/model-asset-sections.service-CHhFS3ZX.js +0 -1
- package/dist/assets/model.layout-BJUEQYUI.js +0 -1
- package/dist/assets/module-mode-DVBLT9d-.js +0 -2
- package/dist/assets/mount-canvas-ingest-root-DDuAWf_C.js +0 -2
- package/dist/assets/mount-dom-ingest-root-D_EiBgpn.js +0 -2
- package/dist/assets/mount-ingest-root-glv2SSWf.js +0 -2
- package/dist/assets/mount-three-ingest-root-hrUt9VVU.js +0 -1
- package/dist/assets/particles-factory-DnLOHXT8.js +0 -1
- package/dist/assets/pasteboard-materialize-BqSS4QzV.js +0 -20
- package/dist/assets/pasteboard.action-DU3UHtJG.js +0 -2
- package/dist/assets/pixi-authoring-adapter-CjibysC3.js +0 -1
- package/dist/assets/pixi-primitive-DlWbUPN9.js +0 -1
- package/dist/assets/pixi-react-root-factory-DYsznYRQ.js +0 -1
- package/dist/assets/play-mode-BFU2PCkG.js +0 -22
- package/dist/assets/play.command-BpqqLqkq.js +0 -2
- package/dist/assets/project-authoring-session-Bnt6icLr.js +0 -2
- package/dist/assets/r3f-design-session-D-4yyDO9.js +0 -2
- package/dist/assets/r3f-physics-binding-BBo8oma9.js +0 -1
- package/dist/assets/r3f-source-authoring-adapter-w6Bc60K-.js +0 -13
- package/dist/assets/react-inspector.service-B_neRnSK.js +0 -1
- package/dist/assets/react-story-board-BDDwiE2H.js +0 -1
- package/dist/assets/react-world-authoring-adapter-DmrwM3py.js +0 -1
- package/dist/assets/runtime-inspection-l2iFQSsg.js +0 -1
- package/dist/assets/scene-document.service-qkDjUrlP.js +0 -2
- package/dist/assets/sculpt.layout-zJF55yCR.js +0 -1
- package/dist/assets/setup-particles-GCXlnkj_.js +0 -1
- package/dist/assets/shading.layout-DULYZV6M.js +0 -1
- package/dist/assets/source-object3d-authoring-adapter-B-L6Ha6f.js +0 -1
- package/dist/assets/stage-invalidation-DBg3C3Ta.js +0 -1
- package/dist/assets/stage-keyboard-n-5kKH-m.js +0 -1
- package/dist/assets/stage-overlay-set-B9zp2sLB.js +0 -1
- package/dist/assets/stage-presence-markers-DiGI6A45.js +0 -1
- package/dist/assets/standard-viewport-dressing-CzjAe_0A.js +0 -7
- package/dist/assets/static-batch-advisor-B13QEH7d.js +0 -1
- package/dist/assets/story-capture-_gC8dXV-.js +0 -1
- package/dist/assets/story-documents--TDLaPeL.js +0 -3
- package/dist/assets/story-documents.service-BiS_YbNQ.js +0 -1
- package/dist/assets/story-documents.service-CxOPYJ2j.js +0 -1
- package/dist/assets/story-pixi-preview-BUrOJZXS.js +0 -1
- package/dist/assets/story-presentation-j2AVN-mK.js +0 -1
- package/dist/assets/team-playtest.service-DqOinFVA.js +0 -1
- package/dist/assets/three-authoring.service-iuHLwtf1.js +0 -2
- package/dist/assets/three-viewport-presentation-QBQpSdMh.js +0 -1
- package/dist/assets/three.quarks.esm-B1C61jGo.js +0 -1039
- package/dist/assets/transport.header-B-6HQlU2.js +0 -1
- package/dist/assets/ui-board-document-Bwtt--xp.js +0 -2
- package/dist/assets/use-live-actor-state-DErbWQWF.js +0 -1
- package/dist/assets/user-data-BB2Of6Ht.js +0 -1
- package/dist/assets/uv-editing.layout-BEKHxmHw.js +0 -1
- package/dist/assets/viewport-shading-boundary-B_-_gABg.js +0 -82
- package/dist/assets/voxel-surface-DtcsSWRL.js +0 -1
- package/dist/assets/webgl-frame-capture-FlF9zQmW.js +0 -1
- package/dist/assets/webworkerAll-CM2o_dnz.js +0 -1
- package/dist/assets/world-documents-147tiFZe.js +0 -1
- package/dist/assets/world-root-stage-binding-vwTrtBz6.js +0 -1
- package/dist/assets/xstate-animation-binding-Brd0NST6.js +0 -1
- package/dist/assets/xstate-behavior.action-B8UluFBK.js +0 -1
- package/dist/assets/xstate-behavior.document-CKAsE45I.js +0 -1
- package/dist/assets/xstate-behavior.inspector-vJJyuifc.js +0 -1
- package/dist/assets/xstate-behavior.menu-BXbPICIh.js +0 -1
- package/dist/assets/xstate-inspection-BsZv8LS9.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import{dO as Oe,a6 as M,c9 as qe,aa as te,bU as H,bV as B,kG as Xe,c8 as Ye,cb as Ze,a5 as $,gZ as et,iy as tt,hx as rt,kH as at,X as k,B as nt,cN as st,kI as ye,d0 as it,kJ as ot,kK as ct,kL as lt,aH as x,kM as Z,dn as dt,kN as ut,dZ as mt,cV as pt,c_ as ft,kO as Ce,kP as xe,kQ as Pe,kR as gt,ap as ht,kS as bt,gh as vt,kT as wt,kU as St,ho as yt,kV as Ct,kj as xt,kk as Pt,bF as jt,bG as kt,gI as Et,gJ as Tt,kp as Rt,hd as At,he as Vt,hf as Mt,hg as Ot,fK as Ft}from"./index-Ckxb31Yz.js";import{R as It}from"./RootSelectionOverlay-BxvsunO4.js";import{e as Lt,S as zt}from"./surface-state-BAUJu6GY.js";import{r as f}from"./index-nmcBqr7Y.js";import{t as Wt}from"./surface-content-Dg9Kkazf.js";import"./index-CtzuWnCS.js";import{s as Nt,d as je,b as _,t as Dt,p as Fe,v as ke,a as Gt,e as $t,l as Ht,i as Bt}from"./camera-authoring-Ci3KnE-W.js";import{createPerformanceProfiler as _t}from"./performance-profiler-D_Jey87L.js";import{createWebGLGpuTimer as Ut}from"./webgl-gpu-timer-D3YX7RaD.js";import{a as Qt}from"./renderer-config-BqG4O8i9.js";import{getUserData as Ie}from"./user-data-CZqsJDk-.js";import{detectKtx2Support as Kt}from"./loader-BbMsvIxP.js";import{resolveRenderSettings as Jt}from"./render-settings-C_kIMq8Y.js";import{createSoftParticleDepthPass as qt}from"./soft-particle-depth-CKUS1j0Y.js";import{ViewportShadingRenderer as Xt}from"./viewport-shading-BzcvgJhK.js";import{applyRendererSettings as Yt,applySceneRenderPipeline as Zt}from"./setup-renderer-wt_a-p8r.js";import{EffectComposer as er,BlendFunction as tr,KernelSize as rr,OutlineEffect as ar,EffectPass as nr}from"./index-DUh02lTr.js";import{t as sr,v as ee,V as G,W as ir,cd as or,Q as Ee,T as cr}from"./three.module-IFn-4i31.js";import{d as lr}from"./design-time-mount-registry-DUpXCg1U.js";import{a as dr}from"./project-authoring-session-BV-MM8Fl.js";import{registerPresentedCanvasFrame as ur}from"./canvas-preview-frames-CiAx7dpV.js";import{i as mr}from"./editor-presentation-activity-C7SNSmTd.js";import{n as Te,s as Re,E as pr,a as fr,b as Ae,c as gr,d as hr,r as br,i as vr}from"./viewport-shading-boundary-CBvvzS-p.js";import{a as wr,s as Sr,t as yr}from"./three-viewport-presentation-BL7Uc2i6.js";import{p as Cr}from"./viewport-root-presentation-C9M98VNM.js";import{d as xr}from"./asset-editor-persistence-BVtzjadu.js";import{bindStagePresenceMarkers as Pr}from"./stage-presence-markers-DVMDKiB-.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./eyedropper-session-bjPXnfeX.js";import"./react-story-board-CSqHY0Cg.js";import"./viewport-pick-context-DkawXbEi.js";import"./inspect-BRgDdtVk.js";import"./inference-diagnostics-YW0yJkKx.js";import"./object-marks-DwvIEBOK.js";import"./render-features-COF7MSQ9.js";import"./matcap-texture-Dh65bX5V.js";import"./defaults-DKiBJCPN.js";import"./edit-mode-authoring-D_BiHCQj.js";import"./index-BLo2LE8C.js";import"./standard-viewport-dressing-GUUr6GuK.js";import"./clip-planes-CnAI6DZn.js";import"./three-DSsr_Lvp.js";import"./OrbitControls-CzTRRI7x.js";import"./LineSegments2-Cicm_Hu1.js";import"./three.quarks.esm-CRKGjKAH.js";import"./live-gesture-lock-DJbrjOqf.js";import"./scene-framing-50N7SKuX.js";import"./live-mixers-BRkRHd6g.js";import"./mounted-authoring-TIN5EnCb.js";import"./collaboration-presence-CSLFNT7m.js";function jr({previewRef:r}){const{preview:e,previewPinned:i}=_(),[n,c]=f.useState(!1),o=f.useRef(null);if(f.useEffect(()=>{if(!n)return;const u=j=>{o.current?.contains(j.target)||c(!1)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[n]),!e)return null;const m=e.camera.isPerspectiveCamera&&Number.isFinite(e.camera.aspect)?e.camera.aspect:16/9;return s.jsxs("div",{className:"vgai-camera-preview","data-testid":"camera-preview",children:[s.jsxs(Oe,{className:"vgai-camera-preview-header",gap:4,align:"center",children:[s.jsx(M,{icon:qe,size:"sm"}),s.jsx(te,{variant:"label",truncate:!0,className:"vgai-camera-preview-title",title:`${e.name} · ${e.lens}`,children:e.name}),s.jsx(H,{text:i?"Unpin camera preview":"Pin camera preview",children:s.jsx(B,{"aria-label":i?"Unpin camera preview":"Pin camera preview","aria-pressed":i,size:"compact",onClick:Dt,children:s.jsx(M,{icon:Xe,size:"sm"})})}),s.jsxs("div",{ref:o,className:"vgai-camera-preview-menu-anchor",children:[s.jsx(H,{text:"Camera actions",children:s.jsx(B,{"aria-label":"Camera actions","aria-expanded":n,size:"compact",onClick:()=>c(u=>!u),children:s.jsx(M,{icon:Ye,size:"sm"})})}),n?s.jsxs(Ze,{className:"vgai-camera-preview-menu",children:[s.jsx($,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Fe(e)},children:"Pilot Camera"}),s.jsx($,{variant:"ghost",size:"compact",onClick:()=>{c(!1),ke(e)},children:"View Through Camera"}),s.jsx($,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Gt(e)},children:"Align Camera to Current View"})]}):null]})]}),s.jsx("div",{ref:r,className:"vgai-camera-preview-image",style:{aspectRatio:String(Math.max(.5,Math.min(3,m)))},role:"img","aria-label":`Live view through ${e.name}`,onDoubleClick:()=>ke(e)})]})}function kr(){return s.jsxs("div",{className:"vgai-camera-guides","aria-hidden":"true",children:[s.jsx("div",{className:"vgai-camera-guide vgai-camera-guide-v1"}),s.jsx("div",{className:"vgai-camera-guide vgai-camera-guide-v2"}),s.jsx("div",{className:"vgai-camera-guide vgai-camera-guide-h1"}),s.jsx("div",{className:"vgai-camera-guide vgai-camera-guide-h2"}),s.jsx("div",{className:"vgai-camera-safe-frame"}),s.jsx("div",{className:"vgai-camera-center-mark"})]})}function Er(){const{view:r,guidesVisible:e}=_();if(!r)return null;const i=r.mode==="pilot";return s.jsxs(s.Fragment,{children:[e?s.jsx(kr,{}):null,s.jsx(et,{variant:"overlay",border:!0,className:"vgai-camera-view-banner vgai-chrome-island vgai-glass-island","data-testid":"camera-view-banner",children:s.jsxs(Oe,{gap:6,align:"center",children:[s.jsx(tt,{children:i?"PILOTING":"CAMERA VIEW"}),s.jsx(te,{variant:"label",children:r.subject.name}),s.jsx(te,{variant:"caption",tone:"muted",children:"Exact camera view"}),s.jsx(H,{text:e?"Hide composition guides":"Show composition guides",children:s.jsx(B,{"aria-label":e?"Hide composition guides":"Show composition guides","aria-pressed":e,size:"compact",onClick:$t,children:s.jsx(M,{icon:rt,size:"sm"})})}),i?null:s.jsx($,{size:"compact",variant:"primary",disabled:!r.subject.canAuthorPose,title:r.subject.poseRefusal,onClick:()=>Fe(r.subject),children:"Pilot"}),s.jsx(H,{text:"Exit camera view",children:s.jsx(B,{"aria-label":"Exit camera view",size:"compact",onClick:Ht,children:s.jsx(M,{icon:at,size:"sm"})})})]})})]})}function Tr({previewRef:r}){return f.useSyncExternalStore(Nt,je,je),s.jsxs(s.Fragment,{children:[s.jsx(jr,{previewRef:r}),s.jsx(Er,{})]})}const Rr=2e4,Ar=250,Vr=5e3;class Mr{#e=0;#t=0;#r=0;#a;constructor(e){this.#a=e}get pending(){return this.#e>0||this.#t>0}begin(e,i){this.#e=e+Rr,this.#t=i?e+Vr:0,this.#r=0,this.tick(e)}tick(e){if(!(!this.pending||e<this.#r)){if(this.#r=e+Ar,this.#t>0&&this.#a.seedFromGameCamera()){this.cancel();return}this.#e>0&&this.#a.frameContent()&&(this.#e=0),e>=this.#e&&(this.#e=0),e>=this.#t&&(this.#t=0)}}cancel(){this.#e=0,this.#t=0}}const Ve=new WeakMap;function Or(r,e){if(!r)return e(),!0;if(Ve.has(r))return!1;try{return e(),!0}catch(i){const n=i instanceof Error?i.message:String(i);return Ve.set(r,n),k.warn(`The Scene view cannot draw this world with the editor's own renderer, and has stopped trying: ${n}. This world was built by a copy of three the editor did not make (a vendored bundle pins its own revision), and the editor draws it with ITS three — across a wide enough revision gap the two disagree about the renderer/material contract. The game itself is unaffected and still drawing: its own canvas is what the Game tab and ${nt("screenshot")} show, and hierarchy, selection and inspection all still read the live world. It closes when the game resolves \`three\` to the host's instance — a bare, un-rewritten \`import 'three'\` in its own source.`,"ingest"),!1}}function Fr(){const r=st();r.addEventListener("server-log",i=>{try{ye(JSON.parse(i.data))}catch{}});let e=!1;return(async()=>{try{const i=await it();if(e)return;for(const n of i)ye(n)}catch{}})(),()=>{e=!0,r.close()}}const Le="viewportPose";function Ir(){const r=ot(Le);return r&&Array.isArray(r.position)&&r.position.length===3&&r.position.every(Number.isFinite)&&Array.isArray(r.target)&&r.target.length===3&&r.target.every(Number.isFinite)?r:null}function Lr(r,e){ct(Le,{position:[r.position.x,r.position.y,r.position.z],target:[e.x,e.y,e.z]})}const Me={id:"world",title:"World",lights:[{color:"#ffffff",intensity:1,direction:[-10,-20,-10],space:"world"}],ambient:{color:"#ffffff",intensity:.5},environmentIntensity:0};St(Me),yt("world",{all:{lighting:{source:"studio",studioPreset:Me.id,auto:{takeover:["light"],overridable:!0}}}});function zr(r,e,i){const n=document.createElement("canvas");n.setAttribute("aria-label",`${i} authoring viewport`),n.setAttribute("data-testid","editor-canvas"),n.setAttribute("aria-hidden","true"),n.tabIndex=-1,n.style.width="100%",n.style.height="100%",n.style.display="block",n.style.pointerEvents="auto",r.appendChild(n);const c=Math.max(1,e.clientWidth),o=Math.max(1,e.clientHeight),m=Math.min(window.devicePixelRatio||1,2);n.width=Math.ceil(c*m),n.height=Math.ceil(o*m);const u=mt(new ir({canvas:n,antialias:!!Jt(void 0).antialias,powerPreference:"high-performance"}));return Yt(u,void 0,m),u.setSize(c,o),u.shadowMap.type=or,u.info.autoReset=!1,Kt(u),{canvas:n,renderer:u,lease:null}}async function Wr(r){const e=pt(r.source,r.id);if(e)return e;let i=r.url,n=r.format??"gltf",c=r.includes;if(!i){const u=(await ft(r.source,r.id))[0];if(!u)return k.error(`No downloadable files for ${r.name}.`,"asset"),null;i=u.url,n=u.format,c=u.includes}const o={source:r.source,id:r.id,name:r.name,url:i,format:n};c&&(o.includes=c);const m=await xr(o);return m.ok&&m.path?`/${m.path}`:(k.error(`Could not download ${r.name}.`,"asset"),null)}function Nr(r){if(r.isCamera)return r;const e=Ie(r,"_camera");return e?.isCamera?e:null}function Dr(r){const e=r;if(e.isPerspectiveCamera)return`${e.fov.toFixed(0)}° perspective`;const i=r;return i.isOrthographicCamera?`Orthographic · ${i.zoom.toFixed(2)}×`:r.type}function Gr(r,e){const i=r.transforms;if(!i)return{canAuthorPose:!1,poseRefusal:"This camera has no transform authoring path."};const n=i.editability?.(e,"position")??{writable:!0},c=i.editability?.(e,"rotation")??{writable:!0};return n.writable&&c.writable?{canAuthorPose:!0}:{canAuthorPose:!1,poseRefusal:n.reason??c.reason??"This camera pose is read-only."}}function $r(r,e,i){const n=e.get(i)??null;if(!n)return null;const c=Nr(n);return c?{id:i,name:n.name||c.name||"Camera",camera:c,lens:Dr(c),...Gr(r,i)}:null}function Hr(r){const e=new Map;for(const[i,n]of r.objectMap){const c=Ie(n,"tags");Array.isArray(c)&&c.length>0&&e.set(i,c)}return e}function Br(r){const{store:e,documentId:i,container:n,canvas:c,renderer:o,stats:m}=r,u=new er(o),j=qt(),O=new Xt,h=_t(),F=Ut(o.getContext()),ze=t=>{h.enabled&&F.begin();try{t()}finally{F.end()}},We=()=>h.enabled?F.poll():null,Ne=lt({id:i,label:"Scene viewport",kind:"scene",profiler:h}),b=new sr,re=11184810;let U=Te(c).background??re;b.background=new ee(U);const De=Re(c,()=>{const t=Te(c).background??re,l=b.background;l instanceof ee&&l.getHex()===U&&(b.background=new ee(t)),U=t});e.bindScene(b,o);const a=new pr(c,b,e,n,{renderer:o,onlineAssetResolver:Wr,onProjectionChange:wr}),Ge=a.bindPresentation(i,"world");e.bindScene(b,o,a.batchedRenderer,a.camera),e.setOrbitTarget(a.orbitControls.target);const Q=new G,I=new G,ae=new G,ne=()=>{const t=a.renderCamera;t.getWorldPosition(Q),a.cameraViewMode==="pilot"?I.copy(a.orbitControls.target):a.cameraViewMode?(t.getWorldDirection(ae),I.copy(Q).add(ae.multiplyScalar(10))):I.copy(a.orbitControls.target);const l=t.fov;return{position:Q,target:I,fov:typeof l=="number"?l:0}},E=Pr({scene:b,store:e,documentId:i,container:n,canvas:c,viewport:a,readVisibleCameraPose:ne});let se="",K=null,g=null,y=null,L=null;const ie=()=>{g&&hr(g,Ae(o.domElement))},$e=Re(o.domElement,ie),oe=()=>{if(!g)return;const t=x(e),l=[...e.selectedEntityIds].filter(d=>t.hierarchy.node(d)!==null).map(d=>Z(t,e.objectMap,d)).filter(d=>d!==null);gr(g,l);const p=g.selection.size>0;y&&(y.enabled=p,y.renderToScreen=p),L&&(L.renderToScreen=!p)};function T(){bt(e),K?.(),K=null,g&&br(o,g,y),g=null,y=null,L=null,Zt(u,o,e.scene??b,a.renderCamera,void 0,{basePixelRatio:Math.min(window.devicePixelRatio||1,2),objectMap:e.objectMap,entityTags:Hr(e)}),g=fr({BlendFunction:tr,KernelSize:rr,OutlineEffect:ar},o,e.scene??b,a.renderCamera,Ae(o.domElement)),ie(),L=u.passes.at(-1)??null,y=new nr(a.renderCamera,g),y.enabled=!1,u.addPass(y),oe();const t=e.adoptedImageConfig;t&&(K=Qt(cr,o,t))}const ce=()=>{a.setProjection(yr().projection),e.setViewportCamera(a.freeCamera),T()},He=Sr(ce);ce();const J=t=>$r(x(e),e.objectMap,t);let v=null;const R=()=>{v&&(Pe(x(e),v),v=null)},le=()=>{const t=_().view;t?.mode!=="pilot"||!t.subject.canAuthorPose||(v=t.subject.id,Ce(x(e),v))},de=()=>{if(!v||a.cameraViewMode!=="pilot")return;const t=J(v),l=x(e),p=l.transforms;if(!t||!p)return;let d;try{d=p.get(v)}catch(w){k.error(w instanceof Error?w.message:String(w),"camera-authoring"),R();return}xe(l,v,{position:t.camera.position.toArray(),rotation:t.camera.quaternion.toArray(),scale:d.scale}),e.notifyIngestEdit()};a.orbitControls.addEventListener("start",le),a.orbitControls.addEventListener("change",de),a.orbitControls.addEventListener("end",R);const Be=Bt({active:()=>e.playState==="stopped"&&e.activeViewportTab==="edit",selected:()=>{const t=e.selectedEntityId;return t?J(t):null},resolve:J,showView:(t,l)=>{R(),a.setCameraView(t.camera,l),T(),E.reportCamera()},leaveView:()=>{R(),a.clearCameraView(),T(),E.reportCamera()},alignToViewport:t=>{const l=x(e),p=l.transforms;if(!p||!t.canAuthorPose)return;const d=e.objectMap.get(t.id)??null;if(!d)return;const w=a.camera.getWorldPosition(new G),C=a.camera.getWorldQuaternion(new Ee),S=w.clone(),A=C.clone();if(d.parent){d.parent.updateWorldMatrix(!0,!1),d.parent.worldToLocal(S);const V=d.parent.getWorldQuaternion(new Ee);A.premultiply(V.invert())}let Se;try{Se=p.get(t.id)}catch(V){k.error(V instanceof Error?V.message:String(V),"camera-authoring");return}Ce(l,t.id),xe(l,t.id,{position:S.toArray(),rotation:A.toArray(),scale:Se.scale}),e.notifyIngestEdit(),Pe(l,t.id)},subscribe:e.subscribe});let ue=null;const me=()=>{const t=gt(e);t!==ue&&(ue=t,c.style.opacity=t?"1":"0",n.style.backgroundColor=t?"":ht.surface.raised,n.style.backgroundImage=t?"":"linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%), linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%)",n.style.backgroundPosition=t?"":"0 0, 8px 8px",n.style.backgroundSize=t?"":"16px 16px")};me();let pe=e.composerVersion;const _e=e.subscribe(()=>{me();const t=e.scene;t&&t!==a.currentScene&&a.setScene(t),a.objectMap=e.objectMap,a.syncFromStore(),e.composerVersion!==pe?(pe=e.composerVersion,T()):oe()});let z=null;const q=new Mr({seedFromGameCamera:()=>{const t=z?.()??null;return!!t&&a.seedFromGameCamera(t)},frameContent:()=>a.focusOnScene()}),fe=()=>{q.cancel(),z=null};a.orbitControls.addEventListener("start",fe);const ge=()=>Lr(a.camera,a.orbitControls.target);a.orbitControls.addEventListener("end",ge);const Ue=e.onViewportAction(t=>{switch(t.type){case"focus-entity":{const l=Z(x(e),e.objectMap,t.id);l&&a.focusOn(l);break}case"focus-scene":{{const l=Ir();if(l){a.camera.position.set(...l.position),a.orbitControls.target.set(...l.target),a.orbitControls.update();break}}z=t.gameCamera??null,q.begin(performance.now(),z!==null);break}case"focus-selection":{const l=x(e),p=[...e.selectedEntityIds].map(d=>Z(l,e.objectMap,d)).filter(d=>d!==null);a.focusOnMultiple(p);break}case"snap-selection-to-floor":a.snapSelectionToFloor();break;case"set-view-preset":a.setViewPreset(t.preset);break;case"set-camera-pose":a.setPose(t.position,t.target,t.fov);break}});Fr();const he=new ResizeObserver(()=>{const t=Math.max(1,n.clientWidth),l=Math.max(1,n.clientHeight);o.setSize(t,l),u.setSize(t,l),a.resize(t,l)});he.observe(n);let W=performance.now(),N=!0,P=!1,be=!1;function ve(t){return Or(a.currentScene,()=>{j.render(o,a.currentScene,a.renderCamera),a.renderWithInfrastructure(()=>{Ct(a.currentScene,()=>O.render(a.currentScene,e.shadingMode,()=>u.render(t),vr)),a.renderViewCube(o),a.renderCameraPreview(o,_().preview?.camera??null,r.cameraPreview())})})}const Qe=ur(c,async()=>{if(P||!mr()||!n.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})||!ve(0))return null;const t=document.createElement("canvas");return t.width=c.width,t.height=c.height,t.getContext("2d").drawImage(c,0,0),t}),X=()=>wt(e)===e;function Ke(t,l){if(P)return;if(l&&(W=t),!n.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})){W=t,N=!0;return}h.beginFrame();const p=t-W,d=p/1e3;X()&&(m.frameTime=p,m.fps=1e3/p),W=t,E.syncMarkers(d),q.tick(t),h.beginPhase(),a.update(d),r.runFrame(d),a.batchedRenderer.update(d),h.endPhase("editor"),h.beginPhase(),o.info.reset(),ze(()=>{ve(d)}),h.reportRender({gpuMs:We(),drawCalls:o.info.render.calls,triangles:o.info.render.triangles,geometries:o.info.memory.geometries,textures:o.info.memory.textures}),h.endPhase("render"),X()&&(m.drawCalls=o.info.render.calls,m.triangles=o.info.render.triangles),N&&be&&(N=!1,vt(i)),h.endFrame();const w=ne(),C=w.position,S=w.target;X()&&(m.cameraPosition.x=C.x,m.cameraPosition.y=C.y,m.cameraPosition.z=C.z,m.cameraTarget.x=S.x,m.cameraTarget.y=S.y,m.cameraTarget.z=S.z);const A=`${C.x},${C.y},${C.z},${S.x},${S.y},${S.z},${w.fov}`;A!==se&&(se=A,E.reportCamera())}a.objectMap=e.objectMap,a.syncFromStore(),T();let Y,D;async function Je(t){if(P)return;r.onMountStatus("mounting"),D?.(),D=void 0,Y=t,r.onRootIds(t.childAdapters().filter(d=>d.role==="world"&&d.kind==="three").map(d=>d.worldId));const l=lr("three");if(P||Y!==t)return;const p=l?await l.mountWorldRootSession({store:e,composite:t,renderer:o}):()=>{};if(P||Y!==t){p();return}D=p,P||r.onMountStatus("ready")}const we=dr(e,Je);return we.ready.then(()=>dt(ut(e))).catch(t=>{k.error(`Editor boot failed: ${t instanceof Error?t.message:String(t)}`,"scene"),r.onMountStatus("ready")}).finally(()=>{be=!0,N=!0}),{scene:b,viewport:a,frame:Ke,present:t=>Cr(e,t),setHelper:(t,l)=>a.setHelper(t,l),dispose:()=>{P=!0,Ne(),Qe(),he.disconnect(),_e(),Ue(),Be(),a.orbitControls.removeEventListener("start",le),a.orbitControls.removeEventListener("change",de),a.orbitControls.removeEventListener("end",R),a.orbitControls.removeEventListener("start",fe),a.orbitControls.removeEventListener("end",ge),we.dispose(),D?.(),E.dispose(),O.dispose(),F.dispose(),He(),$e(),De(),Ge(),g?.selection.clear(),j.dispose(),u.dispose()}}}function _r({store:r,rootIds:e,mountStatus:i}){f.useSyncExternalStore(r.subscribe,r.getSnapshot);const n=f.useSyncExternalStore(At,Vt),c=f.useSyncExternalStore(Mt,Ot),o=r.scene?.background,m=o!==null&&!(o?.isColor===!0&&o.getHex()===11184810),u=f.useMemo(()=>!!(r.scene&&Wt(r.scene,{includeBackground:!1,ignoredLayer:Ft})),[r.scene,r.contentVersion]),j=!!(r.scene&&(m||u)),O=Lt({surface:"Scene",rootIds:e,phase:i==="mounting"?"loading":"ready",content:j?"present":i==="mounting"?"unknown":"empty",readiness:n,failures:c});return s.jsx(zt,{explanation:O,testId:"scene-viewport-status"})}function Ur({store:r,documentId:e,cameraPreviewRef:i,mountStatus:n,rootIds:c}){f.useSyncExternalStore(r.subscribe,r.getShellSnapshot??r.getSnapshot),f.useSyncExternalStore(xt,Pt),f.useSyncExternalStore(jt,kt),f.useSyncExternalStore(Et,Tt);const o=Rt(r,e,"document");return s.jsxs(s.Fragment,{children:[o.surface!==null?s.jsx(It,{}):null,o.surface==="three"?s.jsx(Tr,{previewRef:i}):null,s.jsx(_r,{store:r,rootIds:c,mountStatus:n})]})}const Ka={mountWorldRootSurface:zr,installWorldRootStage:Br,Overlays:Ur};export{Ka as worldRootStageBinding};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as g}from"./jsx-runtime-DPjLkJKQ.js";import{r as n}from"./index-nmcBqr7Y.js";import{g as a}from"./debug-registry-
|
|
1
|
+
import{a as g}from"./jsx-runtime-DPjLkJKQ.js";import{r as n}from"./index-nmcBqr7Y.js";import{g as a}from"./debug-registry-B3Cnne3x.js";import{createFrameSelectorCache as m}from"./frame-selector-cache-cCeUbcjG.js";import{shallow as T}from"./frame-selector-cache-cCeUbcjG.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-Ckxb31Yz.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./three.module-IFn-4i31.js";const c=n.createContext(null);function G({game:e,children:t}){return g.jsx(c.Provider,{value:e,children:t})}function f(){const e=n.useContext(c);if(!e)throw new Error("useGame: no Game in context — wrap this component in <WorldProvider game={ctx.game!}>.");return e}function P(){return n.useContext(c)}function j(e,t=Object.is){const r=f(),o=n.useRef(null);return o.current===null&&(o.current=m(t)),n.useSyncExternalStore(s=>r.state.subscribe(s),()=>o.current.get(r.state.frameVersion,()=>e(r)))}function b(e,t){const r=e.world(t);if(!r)throw new Error(`useRootObservation: no world registered with id "${t}" — check game.roots for the ids actually registered.`);const o=r.mounted.observe;if(!o)throw new Error(`useRootObservation: world "${t}" (kind: ${r.kind}, adapter: "${r.adapter.id}") has no state bridge — its mount has no \`observe\` (RootStateObserver). This world cannot be observed from React.`);return o}function k(e,t,r=Object.is){const o=f(),s=b(o,e),u=n.useRef(null);u.current===null&&(u.current=m(r));const i=n.useRef(0);return n.useSyncExternalStore(l=>s.subscribe(()=>{i.current++,l()}),()=>u.current.get(i.current,()=>t(s.snapshot())))}function D(e,t,r){const o=n.useContext(c),s=n.useRef(t);s.current=t;const u=r?.tier;n.useEffect(()=>{const i=o&&a(o);if(i)return i.registerReactProvider(e,()=>s.current(),{tier:u})},[o,e])}function $(e,t,r){const o=n.useContext(c),s=n.useRef(r);s.current=r,n.useEffect(()=>{const u=o&&a(o);if(u)return u.registerReactCommand(e,t,(...i)=>s.current(...i))},[o,e])}function W(){const e=n.useContext(c);return n.useCallback((t,r)=>{e&&a(e)?.emitReact(t,r)},[e])}export{G as WorldProvider,b as requireRootObserver,T as shallow,$ as useDebugCommand,W as useDebugEmit,D as useDebugProvider,f as useGame,P as useOptionalGame,k as useRootObservation,j as useWorldState};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,r);if(a<0)return-1;r=a;continue}if(n==="/"&&t[r+1]==="*"){const a=t.indexOf("*/",r+2);if(a<0)return-1;r=a+1;continue}if(n==='"'||n==="'"||n==="`")e=n;else if(n==="{")i++;else if(n==="}")i--;else if(n===">"&&i===0)return r}return-1}function
|
|
3
|
-
`,e);e=n<0?t.length:n+1;continue}if(r==="/"&&t[e+1]==="*"){const n=t.indexOf("*/",e+2);e=n<0?t.length:n+2;continue}if(r==='"'||r==="'"||r==="`"){for(e++;e<t.length&&!(t[e]===r&&t[e-1]!=="\\");)e++;e++;continue}if(r==="{"){i++,e++;continue}if(r==="}"){if(i--,e++,i===0)return e;continue}if(r==="<"&&
|
|
4
|
-
`;)r--;if(r<=s)return null;const n=t.slice(r,e.attrStart);return/\S/.test(n)?null:{at:e.attrEnd,indent:n}}function y(t,s,i,e,r){if(t[s]!=="<")return{code:t,changed:!1,dynamic:!1};const n=h(t,s);if(n<0)return{code:t,changed:!1,dynamic:!1};if(z(i))return{code:t,changed:!1,dynamic:!1};const a=S(t,s,n),l=a.find(c=>c.name===i);if(!l){if(!r?.addIfMissing)return{code:t,changed:!1,dynamic:!1};const c=
|
|
5
|
-
${c.indent}${w(i,e)}`+t.slice(c.at),changed:!0,dynamic:!1};const d=t[n-1]==="/",f=d?n-1:n,k=/\s/.test(t[f-1]??"")?"":" ",R=d?" ":"";return{code:t.slice(0,f)+`${k}${w(i,e)}${R}`+t.slice(f),changed:!0,dynamic:!1}}if(!l.isLiteral)return{code:t,changed:!1,dynamic:!0};if(l.valueStart<0)return e==="true"?{code:t,changed:!1,dynamic:!1}:e!=="false"?{code:t,changed:!1,dynamic:!1}:{code:`${t.slice(0,l.attrStart)}${i}={false}${t.slice(l.attrEnd)}`,changed:!0,dynamic:!1};const u=
|
|
1
|
+
import{ci as g,dW as A,cj as b}from"./index-Ckxb31Yz.js";function q(t){const s=(e,r,n,a)=>g({resolve:()=>n?{reaches:"writer",anchorKind:"source-structure",destination:a,write:e}:b(t.noWriterReason),record:()=>{},report:l=>t.report(`"${r}" stays live-only — ${l}.`)}),i=(e,r)=>g({resolve:()=>b(e),record:()=>{},report:n=>{t.report(n),r&&A(r)}});return{pipedStruct:s,structRefusal:i,structOp:(e,r,n,a,l)=>e?s(async()=>{const o=await t.backend().writeStruct(e,n,a);return o.changed?(await t.onChanged(),!0):(t.report(`struct "${n}" refused/no-op for oid "${e}": ${o.error??"no change"}`),!1)},n,t.backend()?.writeStruct!==void 0,l):i(`"${n}" refused: "${r}" has no source stamp.`),structMany:(e,r,n,a)=>s(async()=>{const u=await t.backend().writeStructMany(e,r,n);return u.changed?(await t.onChanged(),!0):(t.report(`batch "${r}" refused/no-op: ${u.error??"no change"}`),!1)},`${r} (batch)`,t.backend()?.writeStructMany!==void 0,a)}}function D(t,s){const i=v(t).split("/").filter(Boolean).slice(0,-1),e=v(s).replace(/\.[cm]?[jt]sx?$/,"").split("/").filter(Boolean);let r=0;for(;r<i.length&&r<e.length&&i[r]===e[r];)r+=1;const a=[...new Array(i.length-r).fill(".."),...e.slice(r)].join("/");return a.startsWith(".")?a:`./${a}`}function v(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function h(t,s){let i=0,e=null;for(let r=s;r<t.length;r++){const n=t[r];if(e){n===e&&t[r-1]!=="\\"&&(e=null);continue}if(n==="/"&&t[r+1]==="/"){const a=t.indexOf(`
|
|
2
|
+
`,r);if(a<0)return-1;r=a;continue}if(n==="/"&&t[r+1]==="*"){const a=t.indexOf("*/",r+2);if(a<0)return-1;r=a+1;continue}if(n==='"'||n==="'"||n==="`")e=n;else if(n==="{")i++;else if(n==="}")i--;else if(n===">"&&i===0)return r}return-1}function G(t,s){return`"${t}" is a design-token reference (${s}) in this source, so replacing it with a literal is guarded — the binding would be lost and no widget can compose a var() back.`}function L(t,s){let i=0,e=s;for(;e<t.length;){const r=t[e];if(r==="/"&&t[e+1]==="/"){const n=t.indexOf(`
|
|
3
|
+
`,e);e=n<0?t.length:n+1;continue}if(r==="/"&&t[e+1]==="*"){const n=t.indexOf("*/",e+2);e=n<0?t.length:n+2;continue}if(r==='"'||r==="'"||r==="`"){for(e++;e<t.length&&!(t[e]===r&&t[e-1]!=="\\");)e++;e++;continue}if(r==="{"){i++,e++;continue}if(r==="}"){if(i--,e++,i===0)return e;continue}if(r==="<"&&T(t,e)){const n=m(t,e);if(n>e){e=n;continue}}e++}return-1}function T(t,s){const i=t[s+1];if(i===void 0||!(i===">"||/[A-Za-z]/.test(i)))return!1;let e=s-1;for(;e>=0&&/\s/.test(t[e]??"");)e--;return!/[A-Za-z0-9_$)\]]/.test(t[e]??"")}function j(t,s){const i=t[s+1];return i!==void 0&&(i==="/"||i===">"||i==="!"||/[A-Za-z]/.test(i))}function m(t,s){const i=h(t,s);if(i<0)return-1;if(t[i-1]==="/")return i+1;const r=t.slice(s+1,i).match(/^([A-Za-z0-9_.]+)/)?.[1];if(!r)return-1;let n=1,a=i+1;for(;a<t.length&&n>0;){const l=t[a];if(l==="{"){const o=L(t,a);a=o<0?t.length:o;continue}if(l!=="<"||!j(t,a)){a++;continue}if(t.startsWith(`</${r}`,a)){n--;const o=t.indexOf(">",a);if(a=o<0?t.length:o+1,n===0)return a;continue}if(t.startsWith(`<${r}`,a)&&/[\s/>]/.test(t[a+1+r.length]??"")){const o=h(t,a);if(o<0){n++,a+=1+r.length;continue}t[o-1]!=="/"&&n++,a=o+1;continue}const u=h(t,a);a=u<0?a+1:u+1}return a}const I={display:{flex:"flex",block:"block",grid:"grid",inline:"inline","inline-block":"inline-block","inline-flex":"inline-flex",none:"hidden"},flexDirection:{row:"flex-row",column:"flex-col","row-reverse":"flex-row-reverse","column-reverse":"flex-col-reverse"},flexWrap:{wrap:"flex-wrap",nowrap:"flex-nowrap","wrap-reverse":"flex-wrap-reverse"},justifyContent:{"flex-start":"justify-start","flex-end":"justify-end",center:"justify-center","space-between":"justify-between","space-around":"justify-around","space-evenly":"justify-evenly"},alignItems:{"flex-start":"items-start","flex-end":"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"},textAlign:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"},position:{relative:"relative",absolute:"absolute",fixed:"fixed",sticky:"sticky",static:"static"},overflow:{visible:"overflow-visible",hidden:"overflow-hidden",scroll:"overflow-scroll",auto:"overflow-auto"},borderStyle:{none:"border-none",solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted",double:"border-double"},textTransform:{uppercase:"uppercase",lowercase:"lowercase",capitalize:"capitalize",none:"normal-case"},whiteSpace:{normal:"whitespace-normal",nowrap:"whitespace-nowrap",pre:"whitespace-pre","pre-wrap":"whitespace-pre-wrap"},fontStyle:{italic:"italic",normal:"not-italic"},mixBlendMode:{normal:"mix-blend-normal",multiply:"mix-blend-multiply",screen:"mix-blend-screen",overlay:"mix-blend-overlay"}};(()=>{const t={};for(const[s,i]of Object.entries(I))for(const e of Object.values(i))t[e]=s;return t})();function O(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}function H(t,s){const i=O(s);let e=null;for(const r of t)i in r.properties&&(e=r);return e?{rule:e,prevValue:e.properties[i]??""}:null}function Q(t,s){let i=null;for(const e of t){const r=e.selectorText.trim();s.some(n=>r===`.${n}`)&&(i=e)}return i}function $(t,s){let i=s+1,e=1,r=null;for(;i<t.length&&e>0;){const n=t[i];r?n===r&&t[i-1]!=="\\"&&(r=null):n==="'"||n==='"'||n==="`"?r=n:n==="{"?e++:n==="}"&&e--,i++}return i}function P(t,s,i){let e=s+1;const r=e;for(;e<t.length&&t[e]!==i;)t[e]==="\\"&&e++,e++;return[r,e,e+1]}const E=String.raw`[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?`,x=new RegExp(`^${E}$`);function p(t){const s=t.trim();if(!s.startsWith("[")||!s.endsWith("]"))return!1;const i=s.slice(1,-1).trim();if(i==="")return!0;const e=i.split(",").map(r=>r.trim());return e.length>1&&e[e.length-1]===""&&e.pop(),e.every(r=>x.test(r))}const M=new RegExp(`^(?:${E}|true|false|'[^']*'|"[^"]*")$`);function S(t,s,i){const e=[],r=a=>{for(;a<=i&&/\s/.test(t[a]??"");)a++;return a};let n=s+1;for(;n<=i&&!/[\s>/]/.test(t[n]??">");)n++;for(;n<=i&&(n=r(n),!(n>i||t[n]===">"||t[n]==="/"&&t[n+1]===">"));){if(t[n]==="{"){n=$(t,n);continue}const a=n;for(;n<=i&&/[\w-]/.test(t[n]??"");)n++;const l=t.slice(a,n);if(!l){n++;continue}const u=n;if(n=r(n),t[n]!=="="){e.push(N(l,a,u));continue}n=r(n+1);const o=W(t,n);if(!o){n++;continue}e.push(_(t,l,o,a)),n=o.next}return e}function N(t,s,i){return{name:t,valueStart:-1,valueEnd:-1,rawValue:"true",isExpression:!1,isLiteral:!0,attrStart:s,attrEnd:i}}function W(t,s){const i=t[s];if(i==='"'||i==="'"){const[e,r,n]=P(t,s,i);return{valueStart:e,valueEnd:r,isExpression:!1,next:n}}if(i==="{"){const e=$(t,s)-1;return{valueStart:s+1,valueEnd:e,isExpression:!0,next:e+1}}return null}function _(t,s,i,e){const r=t.slice(i.valueStart,i.valueEnd).trim(),n=!i.isExpression||M.test(r)||p(r);return{name:s,valueStart:i.valueStart,valueEnd:i.valueEnd,rawValue:r,isExpression:i.isExpression,isLiteral:n,attrStart:e,attrEnd:i.next}}const C=new Set(["key","ref","data-oid","style","className","children"]),z=t=>C.has(t)||/^on[A-Z]/.test(t);function B(t,s,i=!1){if(!t.isExpression)return s;const e=t.rawValue;if(x.test(e)){if(p(s))return i?s.trim():null;const r=Number(s);return Number.isNaN(r)?`'${s}'`:String(r)}return e==="true"||e==="false"?s==="true"||s==="false"?s:`'${s}'`:p(e)?p(s)?s.trim():null:/^"[^"]*"$/.test(e)?`"${s.replace(/"/g,'\\"')}"`:`'${s.replace(/'/g,"\\'")}'`}function w(t,s){return p(s)||x.test(s)||s==="true"||s==="false"?`${t}={${s.trim()}}`:`${t}="${s.replace(/"/g,""")}"`}function U(t,s,i){const e=i.at(-1);if(!e)return null;let r=e.attrStart;for(;r>s&&t[r-1]!==`
|
|
4
|
+
`;)r--;if(r<=s)return null;const n=t.slice(r,e.attrStart);return/\S/.test(n)?null:{at:e.attrEnd,indent:n}}function y(t,s,i,e,r){if(t[s]!=="<")return{code:t,changed:!1,dynamic:!1};const n=h(t,s);if(n<0)return{code:t,changed:!1,dynamic:!1};if(z(i))return{code:t,changed:!1,dynamic:!1};const a=S(t,s,n),l=a.find(c=>c.name===i);if(!l){if(!r?.addIfMissing)return{code:t,changed:!1,dynamic:!1};const c=U(t,s,a);if(c)return{code:t.slice(0,c.at)+`
|
|
5
|
+
${c.indent}${w(i,e)}`+t.slice(c.at),changed:!0,dynamic:!1};const d=t[n-1]==="/",f=d?n-1:n,k=/\s/.test(t[f-1]??"")?"":" ",R=d?" ":"";return{code:t.slice(0,f)+`${k}${w(i,e)}${R}`+t.slice(f),changed:!0,dynamic:!1}}if(!l.isLiteral)return{code:t,changed:!1,dynamic:!0};if(l.valueStart<0)return e==="true"?{code:t,changed:!1,dynamic:!1}:e!=="false"?{code:t,changed:!1,dynamic:!1}:{code:`${t.slice(0,l.attrStart)}${i}={false}${t.slice(l.attrEnd)}`,changed:!0,dynamic:!1};const u=B(l,e,r?.allowShapeUpgrade===!0);if(u===null)return{code:t,changed:!1,dynamic:!1};const o=t.slice(0,l.valueStart)+u+t.slice(l.valueEnd);return{code:o,changed:o!==t,dynamic:!1}}function Z(t,s,[i,e,r]){const n=f=>String(Number(f.toFixed(3))),a=h(t,s),l=a<0?void 0:S(t,s,a).find(f=>f.name==="position");if(!l)return y(t,s,"position",`[${n(i)}, ${n(e)}, ${n(r)}]`,{addIfMissing:!0}).code;if(!l.isLiteral||!p(l.rawValue))return t;const u=l.rawValue.replace(/^\s*\[|\]\s*$/g,"").split(",").map(f=>Number(f.trim()));if(u.length!==3||!u.every(f=>Number.isFinite(f)))return t;const[o,c,d]=u;return y(t,s,"position",`[${n(o+i)}, ${n(c+e)}, ${n(d+r)}]`).code}function X(t,s){let i=t,e=0;for(;e<i.length;){const r=i.indexOf("<",e);if(r<0||m(i,r)<0)break;i=Z(i,r,s);const n=m(i,r);if(n<=r)break;e=n+1}return i}export{S as a,m as b,q as c,h as f,p as i,Q as n,X as o,H as p,D as r,G as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{collectMachineAnimationMeta as z,clipNamesOf as L,isBlendTreeAnimationMeta as S,asBlendTreeDef as J}from"./xstate-animation-meta-B3OZR8Q2.js";import{O as Q,bk as Z,bl as _,bm as ee,d as te,i as ne,bn as ie,bo as oe}from"./three.module-IFn-4i31.js";import"./index-Ckxb31Yz.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";class M extends Error{constructor(i,c){super(i),this.stateId=c,this.name="AnimationBindingError"}}function ae(n){const i=n.logic;if(i?.root)return i;const c=n.getSnapshot();if(c?.machine?.root)return c.machine;throw new M("[bindXStateAnimation] the actor exposes no state machine — only a state-machine actor carries the `meta.animation` this binder reads")}const W=n=>n.layer??"base",B=n=>n.weight??1,I=n=>n.blendMode??"override";function T(n){try{return ne.parseTrackName(n.name).nodeName??""}catch{const i=n.name.indexOf(".");return i<0?n.name:n.name.slice(0,i)}}function C(n,i,c){const o=new Set,l=[];for(const f of i){let u=!1;n.traverse(m=>{m.name===f&&(u=!0,m.traverse(d=>{d.name&&o.add(d.name)}))}),c.has(f)&&(u=!0,o.add(f)),u||l.push(f)}return{names:o,missing:l}}function se(n,i,c,o){const l=new Set(n.tracks.map(T)),f=i.include?C(c,i.include,l):void 0,u=i.exclude?C(c,i.exclude,l):void 0,m=[...f?.missing??[],...u?.missing??[]];if(m.length)throw new M(`[bindXStateAnimation] state "${o}" boneMask names unknown bones/objects: ${m.join(", ")}`,o);const d=n.tracks.filter(p=>{const w=T(p);return(!f||f.names.has(w))&&!u?.names.has(w)});if(d.length===0)throw new M(`[bindXStateAnimation] state "${o}" boneMask removes every track from clip "${n.name}"`,o);return new te(n.name,n.duration,d.map(p=>p.clone()))}function re(n){return n.reduce((i,c)=>c.weight>i.weight?c:i,n[0])}function Se(n,i,c,o={}){const l=i.getRoot(),f=o.root??(l instanceof Q?l:void 0);if(!f)throw new M("[bindXStateAnimation] a THREE.Object3D `root` option is required when the mixer uses AnimationObjectGroup");const u=ae(n).root,m=z(u),d=new Map(m.map(t=>[t.stateId,t.meta]));for(const t of m)for(const e of L(t.meta))if(!c.has(e))throw new M(`[bindXStateAnimation] state "${t.stateId}" references clip "${e}", which is not present in the supplied clips map. Known clips: ${[...c.keys()].join(", ")||"(none)"}`,t.stateId);const p=new Map;function w(t,e,s){return W(e)!=="base"||!!e.boneMask||I(e)==="additive"?`${t}\0${s}`:s}for(const{stateId:t,meta:e}of m)for(const s of L(e)){const a=w(t,e,s);if(p.has(a))continue;const r=c.get(s);let h=e.boneMask?se(r,e.boneMask,f,t):r;(h!==r||a!==s)&&(h===r&&(h=r.clone()),h.name=`${r.name}@${W(e)}:${t}`),I(e)==="additive"?(Z.makeClipAdditive(h),h.blendMode=_):h.blendMode=ee,p.set(a,h)}const g=new Map;function O(t,e,s,a){let r=g.get(t);if(!r){const h=p.get(t);if(!h)throw new M(`[bindXStateAnimation] prepared clip "${t}" not found`);const v=i.clipAction(h);v.setEffectiveWeight(0),v.play(),r={action:v,clip:h},g.set(t,r)}return r.action.setLoop(e?ie:oe,1/0),r.action.clampWhenFinished=!e,r.action.timeScale=s,r.action.weight=a,r.action}function N(t){const e=o.selectParameters?o.selectParameters(t):t;return new Map(Object.entries(e??{}))}function D(t,e,s){return(S(e)?ce(J(e.blendTree),N(s)):[{clip:e.clip,weight:1}]).map(({clip:r,weight:h})=>({clip:r,weight:h,actionKey:w(t,e,r)}))}const b=new Map;let K=!1;function R(t,e,s){for(const a of t){if(a.actionKey===e)continue;const r=g.get(a.actionKey)?.action;r&&(s>0?r.fadeOut(s):r.setEffectiveWeight(0))}}function k(t,e){if(!S(t.meta))return;t.natural=D(t.stateId,t.meta,e);const s=B(t.meta);for(const a of t.natural)g.get(a.actionKey)?.action.setEffectiveWeight(a.weight*s)}function P(t,e,s){const a=W(e),r=b.get(a)??null,h=D(t,e,s),v=re(h),H=S(e)?!0:e.loop,U=S(e)?1:e.speed,x=B(e);for(const y of h)O(y.actionKey,H,U,x);const $=g.get(v.actionKey).action;$.reset().setEffectiveWeight(x);for(const y of h)y.actionKey!==v.actionKey&&g.get(y.actionKey).action.reset().setEffectiveWeight(0);const A=e.crossfade?.duration??0,V=e.crossfade?.warp??!1;if(!r)A>0&&$.fadeIn(A);else{R(r.natural,r.dominantActionKey,A);const y=g.get(r.dominantActionKey)?.action;y&&A>0?y.crossFadeTo($,A,V):(y?.setEffectiveWeight(0),$.setEffectiveWeight(x))}const j={layer:a,stateId:t,meta:e,natural:h,dominantActionKey:v.actionKey,crossfadeRemaining:A};b.set(a,j),S(e)&&A<=0&&k(j,s)}function q(t){return Object.keys(t.getMeta()).filter(e=>d.has(e))}function X(t){const e=new Map;for(const s of q(t)){const a=d.get(s),r=W(a),h=e.get(r);if(h)throw new M(`[bindXStateAnimation] animated states "${h}" and "${s}" are both active on layer "${r}". Give parallel regions distinct meta.animation.layer names.`,s);e.set(r,s)}for(const[s,a]of b)e.has(s)||(R(a.natural,void 0,0),b.delete(s));for(const[s,a]of e)b.get(s)?.stateId!==a&&P(a,d.get(a),t.context)}const F=n.getSnapshot();X(F);const G=n.subscribe(t=>{K||X(t)});function E(t){if(K)return;const e=t,s=n.getSnapshot().context;for(const a of b.values())a.crossfadeRemaining>0?(a.crossfadeRemaining=Math.max(0,a.crossfadeRemaining-e),a.crossfadeRemaining<=0&&k(a,s)):k(a,s);i.update(e)}const Y={tick:E,actor:n,getParameters:()=>N(n.getSnapshot().context),getActiveLayers:()=>[...b.values()].map(t=>({layer:t.layer,stateId:t.stateId,clips:t.natural.map(e=>e.clip),clipWeights:t.natural.map(e=>({clip:e.clip,weight:g.get(e.actionKey)?.action.getEffectiveWeight()??0})),weight:B(t.meta),blendMode:I(t.meta),...t.meta.boneMask?{boneMask:t.meta.boneMask}:{}})),dispose(){if(!K){K=!0,o.systems?.remove("animation",E),G.unsubscribe();for(const{action:t,clip:e}of g.values())t.stop(),i.uncacheAction(e,t.getRoot());g.clear(),b.clear()}}};return o.systems?.add("animation",E),Y}function ce(n,i){switch(n.type){case"1D":return le(n,i);case"2D":return fe(n,i);case"direct":return de(n);default:return n.children.map(c=>({clip:c.clip,weight:1/n.children.length}))}}function le(n,i){const c=Number(i.get(n.parameter)??0),o=[...n.children].sort((f,u)=>f.threshold-u.threshold),l=o.map(f=>({clip:f.clip,weight:0}));if(o.length===0)return l;if(o.length===1||c<=o[0].threshold)return l[0].weight=1,l;if(c>=o[o.length-1].threshold)return l[l.length-1].weight=1,l;for(let f=0;f<o.length-1;f++){const u=o[f],m=o[f+1];if(c>=u.threshold&&c<=m.threshold){const d=m.threshold-u.threshold,p=d>0?(c-u.threshold)/d:0;return l[f].weight=1-p,l[f+1].weight=p,l}}return l}function fe(n,i){const c=Number(i.get(n.parameter)??0),o=Number(i.get(n.parameterY??"")??0),l=n.children,f=l.map(d=>({clip:d.clip,weight:0}));let u=0;const m=[];for(const d of l){const p=c-d.threshold,w=o-(d.thresholdY??0),g=Math.sqrt(p*p+w*w),O=g<.001?1e3:1/g;m.push(O),u+=O}if(u>0)for(let d=0;d<f.length;d++)f[d].weight=m[d]/u;return f}function de(n){const i=n.children.map(o=>({clip:o.clip,weight:o.weight??0})),c=i.reduce((o,l)=>o+l.weight,0);if(c>0)for(const o of i)o.weight/=c;return i}export{M as AnimationBindingError,Se as bindXStateAnimation,ce as evaluateBlendTree,ae as machineOfXStateActor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cB as b,ef as u,r as o,t as c,u as n,v as l,O as r,cz as m,cy as f}from"./index-Ckxb31Yz.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"./three.module-IFn-4i31.js";const d=o({clip:n().min(1).describe("Animation clip name this child plays"),threshold:r().describe("1D/2D blend position on the primary parameter axis"),thresholdY:r().optional().describe("2D blend position on the secondary parameter axis (2D blend trees only)"),weight:r().min(0).optional().describe('Explicit weight for "direct" blend trees (ignored by 1D/2D)')}).strict(),y=o({type:l("1D").describe("Interpolates linearly between sorted children by threshold"),parameter:n().min(1).describe("Context/selector value driving the blend"),children:c(d).min(2,"1D blend tree needs at least 2 children to interpolate between")}).strict(),v=o({type:l("2D").describe("Inverse-distance-weights children by (parameter, parameterY) position"),parameter:n().min(1).describe("Primary axis context/selector value"),parameterY:n().min(1).describe("Secondary axis context/selector value"),children:c(d.extend({thresholdY:r()})).min(1,"2D blend tree needs at least 1 child")}).strict(),g=o({type:l("direct").describe("Each child has an explicit weight, normalized to sum to 1"),parameter:n().default(""),children:c(d.extend({weight:r().min(0)})).min(1,"direct blend tree needs at least 1 child")}).strict(),A=b("type",[y,v,g]);function $(e){return e}const p=o({duration:r().min(0).default(0).describe("Seconds to blend from the previously active clip into this state on entry, applied via native `AnimationAction.crossFadeTo`/`fadeIn` (E2). 0 = instant activation, no fade."),warp:m().default(!1).describe("Passed through to AnimationAction.crossFadeTo's `warp` param — linearly warps timeScale across the two clips during the blend so differing clip lengths line up. Default false.")}).strict().describe("Blend-in/out/crossfade timing for entering this state"),x=o({include:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are retained"),exclude:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are removed")}).strict().refine(e=>!!(e.include?.length||e.exclude?.length),{message:"boneMask needs at least one include or exclude bone name"}).describe("Filters animation tracks by named Object3D/Bone subtrees"),h={layer:n().min(1).optional().describe("Composition layer name; omitted means the single base layer"),weight:r().min(0).max(1).optional().describe("Layer weight multiplier from 0 to 1; defaults to 1"),blendMode:f(["override","additive"]).optional().describe("Native Three normal/override or additive action blending; defaults to override"),boneMask:x.optional().describe("Optional include/exclude filter applied to every clip track in this state")},w=o({clip:n().min(1).describe("Single clip to play while this XState state is active"),loop:m().default(!0).describe("Loop the clip (THREE.LoopRepeat) vs play once (THREE.LoopOnce, clamped on last frame)"),speed:r().positive().default(1).describe("Playback speed multiplier (AnimationAction.timeScale)"),crossfade:p.optional(),...h}).strict(),S=o({blendTree:A.describe("Multiple clips blended by a live context/selector-driven parameter"),crossfade:p.optional(),...h}).strict(),D=u([w,S]);function M(e){return"clip"in e}function R(e){return"blendTree"in e}class B extends Error{constructor(a,i,t){super(a),this.stateId=i,this.issues=t,this.name="AnimationMetaValidationError"}}function T(e,a){const i=D.safeParse(a);if(!i.success){const t=i.error.issues.map(s=>`${s.path.length?s.path.join("."):"(root)"}: ${s.message}`).join("; ");throw new B(`[xstate-animation] invalid meta.animation for state "${e}": ${t}`,e,i.error.issues)}return i.data}function z(e){const a=[],i=t=>{t.meta&&"animation"in t.meta&&t.meta.animation!==void 0&&a.push({stateId:t.id,meta:T(t.id,t.meta.animation)});for(const s of Object.values(t.states??{}))i(s)};return i(e),a}function H(e){return M(e)?[e.clip]:e.blendTree.children.map(a=>a.clip)}export{A as AnimationBlendTreeSchema,B as AnimationMetaValidationError,D as StateAnimationMetaSchema,$ as asBlendTreeDef,H as clipNamesOf,z as collectMachineAnimationMeta,R as isBlendTreeAnimationMeta,M as isClipAnimationMeta,T as parseStateAnimationMeta};
|