@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{B as e}from"./regions-DWeEBnE2.js";const r="workspace.layout",d={id:"shading",title:"Shading",description:"Blender-shaped shading: the viewport over the material's node tree, read-only.",requires:{documentKind:"model"},regions:{...e,header:"shown",shelf:"shown",inspector:"properties",drawer:"hidden"},areas:[{id:"shader",document:"blender-node-editor.document",place:"below",ratio:.5}]};export{d as layout,r as point};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as C}from"./debug-registry-
|
|
1
|
+
import{c as C}from"./debug-registry-B3Cnne3x.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";import"./three.module-IFn-4i31.js";const v={cancel(){}};function k(n){return new DOMException(n,"AbortError")}function g(n,c){if(!Number.isFinite(c)||c<0)throw new RangeError(`SimClock.${n}: seconds must be a finite, non-negative number, got ${c}`)}function B(n){const c=n.dispose;let d=0,w=0,E=0,s=!1;const i=new Set,u=new Set;function m(e){e.cancelled||(e.cancelled=!0,i.delete(e),e.detachAbort?.(),e.detachAbort=null)}function p(e,t,r){g("after",e);const o=r?.signal;if(s||o?.aborted)return v;const l={dueAt:d+e,seq:E++,fn:t,cancelled:!1,detachAbort:null};if(i.add(l),o){const a=()=>m(l);o.addEventListener("abort",a,{once:!0}),l.detachAbort=()=>o.removeEventListener("abort",a)}return{cancel(){m(l)}}}return{now:()=>d,tickNow:()=>w,after:p,delay(e,t){g("delay",e);const r=t?.signal;return r?.aborted?Promise.reject(k("SimClock.delay: aborted before it was scheduled")):s?Promise.reject(k("SimClock.delay: the sim clock is disposed")):new Promise((o,l)=>{let a=null,b=null,h=!1;const S=()=>{h=!0,u.delete(A),b?.(),b=null};function A(f){h||(S(),a?.cancel(),l(k(f)))}if(a=p(e,()=>{h||(S(),o())}),u.add(A),r){const f=()=>A("SimClock.delay: aborted");r.addEventListener("abort",f,{once:!0}),b=()=>r.removeEventListener("abort",f)}})},disposeAfter(e,t){return g("disposeAfter",t),p(t,()=>c(e))},flush(e){if(s||(d=e,w++,i.size===0))return;const t=[];for(const r of i)!r.cancelled&&r.dueAt<=d&&t.push(r);if(t.length!==0){t.sort((r,o)=>r.dueAt-o.dueAt||r.seq-o.seq);for(const r of t)if(!r.cancelled){m(r);try{r.fn()}catch(o){console.error("[sim-clock] timer callback threw:",o)}}}},dispose(){if(s)return;s=!0;for(const t of i)t.detachAbort?.(),t.detachAbort=null,t.cancelled=!0;i.clear();const e=[...u];u.clear();for(const t of e)t("SimClock: disposed while a delay was pending")}}}const y=C("sim-clock");function F(n,c){y.set(n,c)}function G(n){return y.get(n)??null}export{B as createSimClock,G as getSimClock,F as registerSimClock};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{x as U,g as S,ah as z,a7 as b,aa as E,J as k}from"./three.module-IFn-4i31.js";const o=new Map,i=new Map;let d;function l(){return d===void 0&&(d=new z(new Uint8Array([255,255,255,255]),1,1),d.name="soft-particle-far-depth",d.needsUpdate=!0),d}function $(e){o.set(e,(o.get(e)??0)+1)}function q(e){const t=(o.get(e)??0)-1;if(t>0){o.set(e,t);return}o.delete(e)&&e.setDepthTexture(l())}function C(e){i.set(e,(i.get(e)??0)+1),e.setDepthTexture(l())}function G(e){const t=(i.get(e)??0)-1;if(t>0){i.set(e,t);return}i.delete(e)&&e.setDepthTexture(l())}function L(){return o.size}function A(e,t){for(let n=e;n!==null;n=n.parent)if(n===t)return!0;return!1}function B(e){const t=e.material;return t===void 0?!0:Array.isArray(t)?!t.every(n=>n.transparent):!t.transparent}const P=["getDrawingBufferSize","getRenderTarget","setRenderTarget","render"];function I(e){const t=e;return P.filter(n=>typeof t[n]!="function")}function N(){let e=null,t=!1;const n=new U({colorWrite:!1});n.name="soft-particle-depth-prepass";const h=new S,p=[],x=(s,a)=>{if(e!==null&&e.width===s&&e.height===a)return e;e?.dispose();const c=new b(s,a,E);c.name="soft-particle-scene-depth";const f=new k(s,a,{depthBuffer:!0,depthTexture:c});return e=f,f};return{render(s,a,c){if(o.size===0&&i.size===0)return;const f=[];for(const r of o.keys())A(r,a)&&f.push(r);if(f.length===0&&i.size===0)return;const m=I(s);if(m.length>0){t||(t=!0,console.warn(`opaque scene-depth prepass skipped: this renderer is missing ${m.join(", ")}. ${String(f.length)} particle batch(es) and ${String(i.size)} shader consumer(s) keep the inert far-depth default. A real WebGLRenderer has these; a design-time settle stand-in does not.`));return}s.getDrawingBufferSize(h);const D=Math.max(1,Math.floor(h.x)),v=Math.max(1,Math.floor(h.y)),T=x(D,v);p.length=0;for(const r of f)r.visible&&(r.visible=!1,p.push(r));a.traverse(r=>{r.visible&&(B(r)||(r.visible=!1,p.push(r)))});const w=s.getRenderTarget(),M=a.overrideMaterial,u=s.shadowMap,R=u?.autoUpdate??!1,y=u?.needsUpdate??!1;u!==void 0&&(u.autoUpdate=!1,u.needsUpdate=!1),a.overrideMaterial=n;try{s.setRenderTarget(T),s.render(a,c)}finally{s.setRenderTarget(w),a.overrideMaterial=M,u!==void 0&&(u.autoUpdate=R,u.needsUpdate=y);for(const r of p)r.visible=!0;p.length=0}const g=T.depthTexture;if(g===null)throw new Error("opaque scene-depth prepass lost its authored depth texture.");for(const r of f)r.setDepthTexture(g);for(const r of i.keys())r.setDepthTexture(g)},dispose(){for(const s of o.keys())s.setDepthTexture(l());for(const s of i.keys())s.setDepthTexture(l());e?.dispose(),e=null,n.dispose()}}}export{C as armSceneDepthTexture,$ as armSoftParticleDepth,L as armedSoftParticleRendererCount,N as createSoftParticleDepthPass,G as disarmSceneDepthTexture,q as disarmSoftParticleDepth,l as farDepthTexture};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aJ as f,aI as y}from"./index-Ckxb31Yz.js";import{T as b,d as g,o as a}from"./three-DSsr_Lvp.js";import{i as S,a as v,c as I}from"./model-inspection-Cxfg_Fei.js";import{C as j,S as w,r as R}from"./three-projection-core-kubBTx0s.js";const u=new WeakMap;function E(d){let t=!1;if(d.traverse(i=>{y(i,"gaussianSplat")&&(t=!0)}),t)return"Gaussian splat";const r=S(d),e=v(d);return{static:"Static model",animated:"Animated model",rigged:"Rigged model",skinned:"Skinned model"}[I(r,e)]}function h(d){const t=d.material;return Array.isArray(t)?t[0]??null:t??null}function l(d){return d?.color??null}class p{constructor(t,r,e){if(this.store=t,this.scene=r,this.options=e,this.provenance=e.provenance??(e.documentKind==="asset"?{source:"document",label:"derived asset",detail:"Loaded from an ordinary project asset. Edit its source or import recipe."}:{source:"source-code",label:"source",detail:"Instantiated from project TypeScript. Edit source or exposed parameters, then rebuild."}),this.documentNodeId=`object3d-document:${e.documentId}`,this.projector=new b(g(e.documentId)),this.indexGraph(),e.hierarchyRoots&&new Set(e.hierarchyRoots).size!==e.hierarchyRoots.length)throw new Error(`Object3D document "${e.title}" declared the same hierarchy root twice.`);const i=new Set(e.hierarchyRoots??[]);for(const o of i){let s=o.parent;for(;s&&s!==r;){if(i.has(s))throw new Error(`Object3D document "${e.title}" declared nested hierarchy roots; roots must be non-overlapping.`);s=s.parent}}this.hierarchyRootIds=e.hierarchyRoots?e.hierarchyRoots.map(o=>{const s=this.idByObject.get(o);if(!s)throw new Error(`Object3D document "${e.title}" declared a hierarchy root outside its native graph.`);return s}):[...this.projector.rootIds],this.view=new j({projector:this.projector,scene:r,documentNodeId:this.documentNodeId,rootIds:this.hierarchyRootIds}),this.selectionState=new w({store:t,owns:o=>this.byId.has(o),initial:[this.documentNodeId],onChange:o=>this.syncMarkedSelection(o)})}documentNodeId;projector;hierarchyRootIds;view;selectionState;markedSelection=new Set;capabilities={transform:!1,inspectorFields:!0,persist:!1};provenance;disposed=!1;dispose(){if(!this.disposed){this.disposed=!0;for(const t of this.watchedForStructure)t.removeEventListener("childadded",this.onStructureChanged),t.removeEventListener("childremoved",this.onStructureChanged);this.watchedForStructure=[]}}watchedForStructure=[];structureReindexQueued=!1;onStructureChanged=t=>{f(t.child)||this.scheduleStructureReindex()};indexGraph(){this.projector.project(this.scene),this.watchStructure()}watchStructure(){const t=e=>e;for(const e of this.watchedForStructure)t(e).removeEventListener("childadded",this.onStructureChanged),t(e).removeEventListener("childremoved",this.onStructureChanged);this.watchedForStructure=[];const r=e=>{t(e).addEventListener("childadded",this.onStructureChanged),t(e).addEventListener("childremoved",this.onStructureChanged),this.watchedForStructure.push(e)};r(this.scene);for(const[,e]of this.byId)r(e)}scheduleStructureReindex(){this.disposed||this.structureReindexQueued||(this.structureReindexQueued=!0,queueMicrotask(()=>{if(this.structureReindexQueued=!1,this.disposed||(this.indexGraph(),this.store.scene!==this.scene))return;const t=this.store.objectMap;t.clear();for(const[e,i]of this.byId)t.set(e,i);const r=[...this.store.selectedEntityIds].filter(e=>e===this.documentNodeId||this.byId.has(e));r.length!==this.store.selectedEntityIds.size&&this.store.selectMultiple(r),this.store.notifyIngestObjectMapEdit()}))}get byId(){return this.projector.objects}get idByObject(){return this.projector.idsByObject}documentTypeLabel(){if(this.options.documentKind!=="asset")return;const t=this.scene.children.find(i=>this.idByObject.has(i))??null;if(!t)return;const r=u.get(t);if(r!==void 0)return r;const e=E(t);return u.set(t,e),e}hierarchy={roots:()=>[this.hierarchy.node(this.documentNodeId)],node:t=>{if(t===this.documentNodeId){const e=this.documentTypeLabel();return{id:t,label:this.options.title,secondaryLabel:this.options.sourcePath,role:"document",kind:this.options.documentKind==="asset"?"model-asset":"three-source",...e?{typeLabel:e}:{},parentId:null,childIds:this.view.rootIds()}}const r=this.byId.get(t);return r?this.view.node(r):null},object3D:t=>this.byId.get(t)??null,idForObject3D:t=>this.idByObject.get(t)??null};selection={get:()=>this.selectionState.current(),set:t=>this.selectionState.publish(t.filter(r=>r===this.documentNodeId||this.byId.has(r)))};static READ_ONLY_REASON="This document shows what the module builds; its properties are read-only here. Edit the module.";readOnly=()=>({writable:!1,reason:p.READ_ONLY_REASON});transforms={get:t=>R(this.byId.get(t)??null),beginEdit:()=>{},apply:()=>{},endEdit:()=>{}};inspector={properties:t=>{if(t===this.documentNodeId)return this.options.audit===!1?[]:[{path:"name",label:"Name",type:"string",readonly:!0},{path:"source.path",label:"Source",type:"string",readonly:!0}];const r=this.byId.get(t);if(!r)return[];const e=a(r);if(e?.fields)return e.fields().map(({value:n,...m})=>m);const i=[{path:"name",label:"Name",type:"string",readonly:!0},{path:"visible",label:"Visible",type:"boolean",readonly:!0},{path:"object.type",label:"Native type",type:"string",readonly:!0}],o=r;if(o.isMesh&&o.geometry){const n=o.geometry.getAttribute("position");i.push({path:"mesh.vertices",label:"Vertices",type:"number",readonly:!0,group:"Mesh"}),n&&i.push({path:"mesh.triangles",label:"Triangles",type:"number",readonly:!0,group:"Mesh"})}const s=h(r);s&&(i.push({path:"material.type",label:"Material",type:"string",readonly:!0,group:"Material"}),l(s)&&i.push({path:"material.color",label:"Color",type:"color",readonly:!0,group:"Material"}));const c=r;return c.isSkinnedMesh&&c.skeleton&&i.push({path:"skin.bones",label:"Bones",type:"number",readonly:!0,group:"Skin"}),i},get:(t,r)=>{if(t===this.documentNodeId)return r==="name"?this.options.title:r==="source.path"?this.options.sourcePath:void 0;const e=this.byId.get(t);if(!e)return;const o=a(e)?.fields?.().find(n=>n.path===r);if(o)return o.value();if(r==="name")return e.name||e.type;if(r==="visible")return e.visible;if(r==="object.type")return e.type;const s=e;if(r==="mesh.vertices")return s.geometry?.getAttribute("position")?.count??0;if(r==="mesh.triangles"){const n=s.geometry;return(n?.index?.count??n?.getAttribute("position")?.count??0)/3}const c=h(e);if(r==="material.type")return c?.type;if(r==="material.color"){const n=l(c);return n?`#${n.getHexString()}`:void 0}if(r==="skin.bones")return e.skeleton?.bones.length??0},set:()=>{},editability:()=>this.readOnly()};subscribe(t){return this.store.subscribe(t)}get documentId(){return this.documentNodeId}get documentRootObject(){const t=this.hierarchy.node(this.documentNodeId)?.childIds[0];return t?this.byId.get(t)??null:null}syncMarkedSelection(t){const r=new Set(t.map(e=>this.byId.get(e)??null).filter(e=>e!==null).filter(e=>a(e)?.selectionChanged!==void 0));for(const e of this.markedSelection)r.has(e)||a(e)?.selectionChanged?.(!1);for(const e of r)this.markedSelection.has(e)||a(e)?.selectionChanged?.(!0);this.markedSelection=r}}export{p as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{gB as d,dW as u,ci as f,cj as a,aC as p,eq as c,X as l,gC as g}from"./index-Ckxb31Yz.js";import{r as s,I as h,i as w}from"./ingest-source-persistence-DH6ioCOu.js";function y(n){const t={sourceLocation:e=>{const r=n(e);if(!(!r.anchored||r.kind!=="source"))return{file:r.file,line:r.line}}};return{links:e=>{const r=n(e);return!r.anchored||r.kind!=="source"?[]:[{id:`creation-site:${r.file}:${r.line}:${r.col}`,title:`Constructed at ${r.display}`,open:()=>{d(t,e,"callsite").then(u)}}]}}}function $(n){return`this gesture changed ${n.length} properties at once (${n.join(", ")}), and creation-site write-back plans one property per gesture`}function v(n){const{backend:t,label:e}=n;return f({resolve:()=>{const r=n.subject(),i=t.gate(r);if(!i.ok)return a(i.reason);const o=r.anchorKind;return o==="live-only"?a(t.describe(r)):{reaches:"writer",anchorKind:o,destination:t.destination(),write:()=>t.write({...r,baseline:n.baseline,next:n.next,label:e})}},record:r=>{r||n.journal()},report:r=>{t.armed()&&t.report(e,r)}})}function S(n){let t=null;return{attach(e){t=n.writer??(g("An ingest root’s source persistence")?new h({history:n.history,live:e}):null)},describe({anchor:e,instances:r,property:i,writeScope:o}){return t?t.describe(e,r,i,o):e.anchored?e.kind==="data"?`Live-only edit — this object is ${e.display}.`:`Live-only edit — this object is created at ${e.display}.`:`Live-only edit — ${e.reason}.`},gate({anchor:e,instances:r,property:i,writeScope:o}){return t?t.gate(e,r,i,o):{ok:!1,reason:"this editor tier cannot write project source"}},armed:()=>t!==null&&c(),readSiteLiterals:e=>t?t.inspect(e):Promise.resolve({}),report:(e,r)=>s(e,r),async write(e){if(!t)return!1;try{const r=await t.persist(e);return r.persisted?(l.log(`[ingest] ${e.label} written to the game's own source — ${r.detail}`),!0):(s(e.label,r.reason),!1)}catch(r){return s(e.label,`the write failed: ${r instanceof Error?r.message:String(r)}`),!1}},removal:{available(e){return t?t.gate(e.anchor,e.instances,e.property,e.writeScope).ok:!1},async perform(e){if(!t)return!1;try{const r=await t.remove({property:e.property,surface:e.surface,anchor:e.anchor,instances:e.instances,writeScope:e.writeScope,label:e.label});return r.persisted?(l.log(`[ingest] ${e.label} — dropped from the game's own source (${r.detail})`),!0):(s(e.label,r.reason),!1)}catch(r){return s(e.label,`the removal failed: ${r instanceof Error?r.message:String(r)}`),!1}}},destination(){const e=w();return c()&&e?.writable&&t?"the game's own source (creation-site write-back)":p},dispose(){t?.dispose(),t=null}}}export{S as a,y as c,$ as m,v as p};
|
package/dist/assets/{spark-renderer-lifecycle-ynWESJcv.js → spark-renderer-lifecycle-9mnMW3Z4.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasUserData as a}from"./user-data-
|
|
1
|
+
import{hasUserData as a}from"./user-data-CZqsJDk-.js";import"./object-marks-DwvIEBOK.js";const s=16,e=3e3,u=500;function p(t,o){return o-t>=u}function d(t){let o=!1;return t.traverse(i=>{!o&&a(i,"gaussianSplat")&&(o=!0)}),o}function m(t){t.autoUpdate=!1,t.sortDirty=!1,t.updateTimeoutId!==-1&&(clearTimeout(t.updateTimeoutId),t.updateTimeoutId=-1),t.sortTimeoutId!==-1&&(clearTimeout(t.sortTimeoutId),t.sortTimeoutId=-1);let o=e;const i=()=>{if(t.sorting){o>0?(o-=s,setTimeout(i,s)):console.warn("SparkRenderer did not become idle; skipped worker termination.");return}t.dispose()};i()}export{u as SPARK_DISCOVERY_INTERVAL_MS,m as disposeSparkRendererWhenIdle,d as sceneHasGaussianSplat,p as shouldDiscoverGaussianSplat};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{M as QQ,h as cB,
|
|
1
|
+
import{M as QQ,h as cB,al as JC,aA as kB,g as OA,V as F,aB as RB,J as BQ,r as CQ,Y as nI,ab as sI,aC as Hg,Q as Z,a as FA,ah as lI,aD as BA,aa as v,u as vQ,an as Ww,aE as UC,a5 as jw,a0 as gC,aF as nC,aG as eC,aH as zQ,aI as HC,y as EQ,aJ as LC,ay as iQ,aK as FB,K as og,v as YA,G as gI,j as dg,aL as RQ,aM as pA,aN as Lg,aO as YC,q as QC,O as Yg,ae as vw,af as zw,aP as _w,a2 as $w,aQ as As,aR as Is,aS as gs,_ as Qs,aT as FQ,ax as Bs,ao as Cs,ad as Es}from"./three.module-IFn-4i31.js";import{Z as SB}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";class _Q extends LC{constructor(A,I){super(),this.ordering=A,this.setAttribute("position",new iQ(is,3)),this.setIndex(new iQ(Ds,1)),this._maxInstanceCount=A.length,this.instanceCount=I,this.attribute=new Is(A,1,!1,1),this.attribute.setUsage(gs),this.setAttribute("splatIndex",this.attribute)}update(A,I){this.ordering=A,this.attribute.array=A,this.instanceCount=I,this.attribute.addUpdateRange(0,I),this.attribute.needsUpdate=!0}}const is=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]),Ds=new Uint16Array([0,1,2,0,2,3]),rC=`(function() {
|
|
2
2
|
"use strict";
|
|
3
3
|
class CsplatArray {
|
|
4
4
|
static __wrap(ptr) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as g}from"./index-nmcBqr7Y.js";import{s as v,l as f,c as h,t as b,v as S,p as x,a as V,b as T}from"./camera-authoring-Ci3KnE-W.js";import{hl as P,bR as y,c6 as M,c7 as A,aQ as C,q as E,dW as k,hm as L,hk as H,hn as $}from"./index-Ckxb31Yz.js";import{r as o}from"./transform-mode-request-Cu7ewbtr.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";function K(){const e=T();if(e.view)return[{id:"camera.exitView",label:"Exit Camera View",execute:f}];const i=h();return i?[{id:"camera.viewThrough",label:`View Through ${i.name}`,execute:()=>S(i)},...i.canAuthorPose?[{id:"camera.pilot",label:`Pilot ${i.name}`,execute:()=>x(i)},{id:"camera.alignToView",label:`Align ${i.name} to Current View`,execute:()=>V(i)}]:[],{id:"camera.pinPreview",label:e.previewPinned?"Unpin Camera Preview":"Pin Camera Preview",execute:b}]:[]}function F(e){const i=[{id:"mode.select",label:"Select Tool (no gizmo)",shortcut:"transform.select",execute:()=>o(e,"select")},{id:"mode.combined",label:"Transform Mode (all handles)",shortcut:"transform.combined",execute:()=>o(e,"combined")},{id:"mode.translate",label:"Translate Mode",shortcut:"transform.translate",execute:()=>o(e,"translate")},{id:"mode.rotate",label:"Rotate Mode",shortcut:"transform.rotate",execute:()=>o(e,"rotate")},{id:"mode.scale",label:"Scale Mode",shortcut:"transform.scale",execute:()=>o(e,"scale")},{id:"mode.world",label:"World Space",execute:()=>e.setTransformSpace("world")},{id:"mode.local",label:"Local Space",execute:()=>e.setTransformSpace("local")},{id:"toggle.grid",label:"Toggle Grid",execute:()=>{const a=C();a&&y(a)&&M(a,!A(a))}},{id:"toggle.helpers",label:"Toggle Helpers",execute:()=>e.toggleHelpers()},{id:"toggle.stats",label:"Toggle Stats Overlay",execute:()=>e.toggleStats()},{id:"toggle.snap",label:"Toggle Snap",shortcut:"viewport.toggleSnap",execute:()=>e.toggleSnap()},{id:"toggle.surface-snap",label:"Toggle Surface Snap",execute:()=>e.toggleSnapToSurface()},{id:"shading.solid",label:"Material Shading",execute:()=>e.setShadingMode("solid")},{id:"shading.clay",label:"Solid Shading",execute:()=>e.setShadingMode("clay")},{id:"shading.wireframe",label:"Wireframe Shading",execute:()=>e.setShadingMode("wireframe")},{id:"shading.unlit",label:"Unlit Shading",execute:()=>e.setShadingMode("unlit")},{id:"shading.normals",label:"Normal Shading",execute:()=>e.setShadingMode("normals")},{id:"shading.overdraw",label:"Overdraw Shading",execute:()=>e.setShadingMode("overdraw")},{id:"view.top",label:"Top View",shortcut:"view.top",execute:()=>e.setViewPreset("top")},{id:"view.front",label:"Front View",shortcut:"view.front",execute:()=>e.setViewPreset("front")},{id:"view.right",label:"Right View",shortcut:"view.right",execute:()=>e.setViewPreset("right")},{id:"view.perspective",label:"Perspective View",shortcut:"view.perspective",execute:()=>e.setViewPreset("perspective")},{id:"focus.selected",label:"Focus Selected",shortcut:"viewport.frameSelection",execute:()=>e.focusOnSelection()}];return P({actions:()=>[...i,...K()],subscribe:v})}function O(e,i,s){const{keyboard:a}=E(),r=t=>()=>{i.isFlying||o(e,t)},m=a.bindActions([{id:"transform.select",scope:"stage",run:r("select")},{id:"transform.combined",scope:"stage",run:r("combined")},{id:"transform.translate",scope:"stage",run:r("translate")},{id:"transform.rotate",scope:"stage",run:r("rotate")},{id:"transform.scale",scope:"stage",run:r("scale")},{id:"viewport.toggleSnap",scope:"stage",run:()=>{e.toggleSnap();const{translate:t,rotate:n,scale:w}=e.snapValues,p=`${a.shortcutFor("viewport.toggleSnap")??""} toggles; hold Ctrl while dragging to snap once`;k(e.snapEnabled?`Snap on — ${t} units, ${n}°, ×${w} (${p})`:`Snap off (${p})`)}},{id:"viewport.frameSelection",scope:"stage",run:()=>e.focusOnSelection()},{id:"viewport.cyclePivot",scope:"stage",run:()=>{const t=["active-element","median-point","individual-origins"],n=t.indexOf(e.pivotMode);e.setPivotMode(t[(n+1)%t.length])}},{id:"view.top",scope:"stage",run:()=>i.setViewPreset("top")},{id:"view.front",scope:"stage",run:()=>i.setViewPreset("front")},{id:"view.right",scope:"stage",run:()=>i.setViewPreset("right")},{id:"view.perspective",scope:"stage",run:()=>i.setViewPreset("perspective")},{id:"viewport.snapToFloor",scope:"stage",run:()=>i.snapSelectionToFloor()}]),c=()=>H("viewport");s.addEventListener("pointerdown",c),L();const l=t=>a.chordsFor("viewport.vertexSnapHold").some(n=>n.key===t.key.toLowerCase()),d=t=>{if(l(t)&&!t.metaKey&&!t.ctrlKey&&!t.repeat){if($()!=="viewport"||t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement)return;e.setVertexSnapActive(!0),i.activateVertexSnap()}},u=t=>{l(t)&&!t.metaKey&&!t.ctrlKey&&(e.setVertexSnapActive(!1),i.deactivateVertexSnap())};return window.addEventListener("keydown",d),window.addEventListener("keyup",u),()=>{m(),s.removeEventListener("pointerdown",c),window.removeEventListener("keydown",d),window.removeEventListener("keyup",u)}}function J({stage:e}){return g.useEffect(()=>O(e.store,e.viewport,e.canvas),[e.store,e.viewport,e.canvas]),g.useEffect(()=>F(e.store),[e.store]),null}export{J as StageKeyboardBinding};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./jsx-runtime-DPjLkJKQ.js";import{r}from"./index-nmcBqr7Y.js";import{kh as f,gZ as C,dO as m,aa as g,ap as S,ki as O,bU as b,bV as v,a6 as y,bY as P,c9 as F,cb as B,dN as M,a5 as h,gI as k,gJ as E,kj as w,kk as V,bF as T,bG as z,kl as L,bH as A,bO as R,bP as D,c7 as H,dG as I,g9 as N,c6 as U,km as G,kn as $,ad as W,ko as _,kp as q,kq as J}from"./index-Ckxb31Yz.js";import"./index-CtzuWnCS.js";import{T as Z}from"./TransientHint-Dlslh3oX.js";import{d as K,b as Y}from"./ViewportShadingMenu-C7Hdhtca.js";import{s as Q,t as j,a as x}from"./three-viewport-presentation-BL7Uc2i6.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-CinJrH5C.js";import"./three.module-IFn-4i31.js";function u(t){return t.toFixed(2)}function X(){const t=f(),[a,s]=r.useState({x:0,y:0,z:0}),[n,o]=r.useState({x:0,y:0,z:0}),i=r.useRef(0);return r.useEffect(()=>{function l(){const c=t.cameraPosition,d=t.cameraTarget;s(p=>p.x!==c.x||p.y!==c.y||p.z!==c.z?{x:c.x,y:c.y,z:c.z}:p),o(p=>p.x!==d.x||p.y!==d.y||p.z!==d.z?{x:d.x,y:d.y,z:d.z}:p),i.current=requestAnimationFrame(l)}return i.current=requestAnimationFrame(l),()=>cancelAnimationFrame(i.current)},[t]),e.jsx(C,{variant:"overlay",border:!0,className:"vgai-camera-info vgai-chrome-island vgai-glass-island","data-island-scale":"compact",children:e.jsxs(m,{gap:8,align:"center",style:{whiteSpace:"nowrap"},children:[e.jsxs(g,{variant:"code",children:["Pos ",u(a.x)," ",u(a.y)," ",u(a.z)]}),e.jsxs(g,{variant:"code",children:["Target ",u(n.x)," ",u(n.y)," ",u(n.z)]})]})})}function ee(){const t=f(),[,a]=r.useState(0),s=O();return r.useEffect(()=>{const n=setInterval(()=>a(o=>o+1),200);return()=>clearInterval(n)},[]),e.jsxs("div",{className:"vgai-hud-overlay vgai-chrome-island vgai-glass-island","data-island-scale":"compact","data-hud-border":"strong",style:{position:"absolute",top:"var(--vgai-viewport-overlay-hud-top, 48px)",right:8,padding:"6px 10px",pointerEvents:"auto",fontSize:"var(--vgai-font-base)",color:S.content.primary,fontFamily:S.typography.mono,lineHeight:"16px"},children:[e.jsxs("div",{children:["FPS: ",t.fps.toFixed(0)]}),e.jsxs("div",{children:["Draw: ",t.drawCalls]}),e.jsxs("div",{children:["Tris: ",t.triangles.toLocaleString()]}),e.jsxs("div",{children:["Frame: ",t.frameTime.toFixed(1),"ms"]}),s!==null&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:["Heap: ",s.heapUsedMB===null?"n/a":`${s.heapUsedMB.toFixed(0)}MB`,s.heapLimitMB===null?"":` / ${s.heapLimitMB.toFixed(0)}MB`]}),e.jsxs("div",{children:["Mount epochs: ",s.mountEpochs]}),e.jsxs("div",{children:["Canvas: ",s.canvasMB.toFixed(1),"MB ×",s.canvases]}),s.textures!==void 0&&e.jsxs("div",{children:["GPU: ",s.textures," tex, ",s.geometries??0," geo",s.programs===void 0?"":`, ${s.programs} prog`]})]})]})}function te({store:t}){const a=r.useSyncExternalStore(Q,j,j),[s,n]=r.useState(!1),o=r.useRef(null);r.useEffect(()=>{if(!s)return;const l=c=>{o.current?.contains(c.target)||n(!1)};return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[s]);const i=l=>{x("orthographic"),t.setViewPreset(l)};return e.jsxs("div",{ref:o,className:"vgai-viewport-popover-anchor",children:[e.jsx(b,{text:a.projection==="perspective"?"Perspective":"Orthographic",children:e.jsx(v,{"aria-label":"Viewport views","aria-expanded":s,size:"comfortable",onClick:()=>n(l=>!l),children:e.jsx(y,{icon:s?P:F,size:"md"})})}),s?e.jsx(B,{style:{minWidth:230},children:e.jsxs(M,{gap:3,children:[e.jsx(g,{variant:"caption",tone:"muted",children:"Projection"}),e.jsxs(m,{gap:1,children:[e.jsx(h,{size:"compact",variant:a.projection==="perspective"?"primary":"ghost",onClick:()=>x("perspective"),children:"Perspective"}),e.jsx(h,{size:"compact",variant:a.projection==="orthographic"?"primary":"ghost",onClick:()=>x("orthographic"),children:"Orthographic"})]}),e.jsx(g,{variant:"caption",tone:"muted",children:"Axis View"}),e.jsxs(m,{gap:1,children:[e.jsx(h,{size:"compact",variant:"ghost",onClick:()=>i("top"),children:"Top"}),e.jsx(h,{size:"compact",variant:"ghost",onClick:()=>i("front"),children:"Front"}),e.jsx(h,{size:"compact",variant:"ghost",onClick:()=>i("right"),children:"Right"})]})]})}):null]})}function se({store:t,documentId:a}){r.useSyncExternalStore(t.subscribe,t.getSnapshot),r.useSyncExternalStore(k,E),r.useSyncExternalStore(w,V),r.useSyncExternalStore(T,z);const{adapter:s}=L(t),n=A(a);r.useSyncExternalStore(n?.subscribe??re,n?.getSnapshot??ae),r.useSyncExternalStore(R,D);const o=H(a);return e.jsxs(I,{label:"Viewport display",className:"vgai-viewport-toolbar vgai-viewport-toolbar-right",children:[e.jsx(b,{text:`Grid: ${o?"On":"Off"}`,children:e.jsx(v,{"aria-label":"Toggle grid","aria-pressed":o,size:"comfortable",onClick:()=>U(a,!o),children:e.jsx(y,{icon:N,size:"md"})})}),e.jsx(oe,{store:t}),e.jsx(K,{mode:t.shadingMode,onChange:i=>t.setShadingMode(i)}),e.jsx(te,{store:t}),e.jsx(ie,{adapter:s,store:t})]})}const re=()=>()=>{},ae=()=>0,ie=r.memo(function({adapter:a,store:s}){const[,n]=r.useReducer(i=>i+1,0);r.useEffect(()=>a.subscribe?.(n),[a]);const o=r.useMemo(()=>G(a),[a,s.contentVersion]);return o===0?null:e.jsx(b,{text:`Open Light Explorer · ${o} ${o===1?"light":"lights"}`,children:e.jsx(v,{"aria-label":"Open Light Explorer",size:"comfortable",onClick:()=>W(_.lightExplorer.id),children:e.jsx(y,{icon:$,size:"md"})})})});function oe({store:t}){const a=[{key:"bounds",label:"Bounds"},{key:"lights",label:"Lights"},{key:"cameras",label:"Cameras"},{key:"colliders",label:"Colliders"},{key:"joints",label:"Joints"},{key:"particles",label:"Particle Emitters"},{key:"lod",label:"LOD"},{key:"audio",label:"Audio"},{key:"splines",label:"Splines"},{key:"navmesh",label:"NavMesh"},{key:"constraints",label:"Constraints"},{key:"reflectionProbes",label:"Reflection Probes"},{key:"triggerVolumes",label:"Trigger Volumes"},{key:"skeletons",label:"Skeletons"},{key:"weights",label:"Weights"}];return e.jsx(Y,{label:"Helpers",master:{enabled:t.showHelpers,onToggle:()=>t.toggleHelpers()},choices:a.map(s=>({id:s.key,label:s.label,enabled:t.helperVisibility[s.key],onToggle:()=>t.toggleHelperType(s.key)}))})}function Se({store:t,documentId:a,stage:s,active:n,chrome:o}){const i=s?.store??t;r.useSyncExternalStore(t.subscribe,t.getShellSnapshot??t.getSnapshot),r.useSyncExternalStore(i.subscribe,i.getShellSnapshot??i.getSnapshot),r.useSyncExternalStore(w,V),r.useSyncExternalStore(T,z),r.useSyncExternalStore(k,E);const l=q(t,a,o),c=J(l);return e.jsxs(e.Fragment,{children:[c?e.jsxs(e.Fragment,{children:[e.jsx(se,{store:i,documentId:a}),e.jsx(X,{})]}):null,l.surface==="three"&&i.showStats&&e.jsx(ee,{}),n?e.jsx(Z,{}):null]})}export{Se as StageOverlaySet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{d$ as D,aQ as Q,e0 as X,at as j,e1 as V,e2 as G}from"./index-Ckxb31Yz.js";import{r as b}from"./collaboration-presence-CSLFNT7m.js";import{q as H,g as W,u as _,ba as U,v as M,H as k,r as K,bb as J,bc as ee,Q as te,V as x,O as oe,bd as ne,aV as re,ax as ie,aW as ae,be as se}from"./three.module-IFn-4i31.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";function ce(){const e=document.querySelector(`.${V}`);return(e?getComputedStyle(e).getPropertyValue("--vgai-content-on-accent").trim():"")||G.color.content.onAccent}function Z(e,r){const o=e.image,n=o.getContext("2d");if(!n)return;n.clearRect(0,0,o.width,o.height),n.fillStyle=r.color,n.beginPath(),n.roundRect(2,2,o.width-4,o.height-4,16),n.fill(),n.fillStyle=ce(),n.font="600 22px system-ui, sans-serif",n.textAlign="center",n.textBaseline="middle";const c=r.kind==="agent"?" · AI":"";n.fillText(`${r.displayName}${c}`,o.width/2,o.height/2,238),e.needsUpdate=!0}function le(e){const r=new _(50,1,.2,1.4),o=new U(r),n=new M(e.color);o.setColors(n,n,n,n,n),o.name=`Collaboration camera: ${e.displayName}`,o.userData.editorOnly=!0;const c=document.createElement("canvas");c.width=256,c.height=64;const p=new k(c);p.colorSpace=K;const d=new J(new ee({map:p,depthTest:!1,transparent:!0}));return d.name=`Collaboration label: ${e.displayName}`,d.userData.editorOnly=!0,d.scale.set(1.8,.45,1),d.renderOrder=1e4,Z(p,e),{camera:r,helper:o,label:d,texture:p,signature:"",targetPosition:new x,targetQuaternion:new te,targetFov:50,initialized:!1}}function de(e,r){const o=r.presence.camera;if(!o)return;e.targetPosition.set(o.x,o.y,o.z);const n=new oe;n.position.copy(e.targetPosition),n.lookAt(o.targetX,o.targetY,o.targetZ),e.targetQuaternion.copy(n.quaternion),e.targetFov=o.fov,e.initialized||(e.initialized=!0,e.camera.position.copy(e.targetPosition),e.camera.quaternion.copy(e.targetQuaternion),e.camera.fov=e.targetFov);const c=`${r.displayName}|${r.kind}|${r.color}|${r.status}`;c!==e.signature&&(e.signature=c,Z(e.texture,r))}function pe(e,r){const o=1-Math.exp(-12*Math.max(0,r));e.camera.position.lerp(e.targetPosition,o),e.camera.quaternion.slerp(e.targetQuaternion,o),e.camera.fov+=(e.targetFov-e.camera.fov)*o,e.camera.updateProjectionMatrix(),e.camera.updateMatrixWorld(!0),e.helper.update(),e.label.position.copy(e.camera.position),e.label.position.y+=.55}function Y(e){e.helper.removeFromParent(),e.label.removeFromParent(),e.helper.dispose(),e.texture.dispose(),e.label.material.dispose()}function ue(e,r){const o=D(e),n=new ne(o,new M(r));return n.name=`Collaboration selection: ${e.name||e.uuid}`,n.userData.editorOnly=!0,n.renderOrder=9999,n.material.depthTest=!1,{object:e,box:o,helper:n}}function w(e){e.helper.removeFromParent(),e.helper.geometry.dispose(),e.helper.material.dispose()}function ge(e){if(!e||e.type!=="pointer-ray"||!["originX","originY","originZ","directionX","directionY","directionZ","length"].every(p=>typeof e[p]=="number"&&Number.isFinite(e[p])))return null;const o=new x(e.originX,e.originY,e.originZ),n=new x(e.directionX,e.directionY,e.directionZ),c=Math.min(1e3,Math.max(.1,e.length));return n.lengthSq()<1e-6?null:{origin:o,end:o.clone().add(n.normalize().multiplyScalar(c))}}function Pe(e){const{scene:r,store:o,documentId:n,container:c,canvas:p,viewport:d,readVisibleCameraPose:R}=e,y=()=>Q()===n,v=()=>{if(!y())return;const i=R();b({camera:{x:i.position.x,y:i.position.y,z:i.position.z,targetX:i.target.x,targetY:i.target.y,targetZ:i.target.z,fov:i.fov}})};d.orbitControls.addEventListener("change",v);let C=!1;const I=i=>{const s=i.value===!0;C=s,y()&&b({gesture:s?{type:"transform",selection:[...o.selectedEntityIds]}:null})};d.transformControls.addEventListener("dragging-changed",I);const S=new H,P=new W,z=i=>{if(C||i.buttons!==0||!y())return;const s=p.getBoundingClientRect();if(s.width<=0||s.height<=0)return;P.set((i.clientX-s.left)/s.width*2-1,-((i.clientY-s.top)/s.height)*2+1),S.setFromCamera(P,d.renderCamera);const l=S.ray,f=R();b({gesture:{type:"pointer-ray",originX:l.origin.x,originY:l.origin.y,originZ:l.origin.z,directionX:l.direction.x,directionY:l.direction.y,directionZ:l.direction.z,length:Math.max(2,f.position.distanceTo(f.target))}})},E=()=>{!C&&y()&&b({gesture:null})};c.addEventListener("pointermove",z),c.addEventListener("pointerleave",E),v();const g=new Map,u=new Map,m=new Map;let L=-1;const q=()=>{const i=X();if(!i||i.sequence===L)return;L=i.sequence;const s=i.participants.filter(t=>t.participantId!==j&&t.presence.document===n),l=s.filter(t=>t.presence.camera),f=new Set(l.map(t=>t.participantId));for(const[t,a]of g)f.has(t)||(Y(a),g.delete(t));for(const t of l){let a=g.get(t.participantId);a||(a=le(t),g.set(t.participantId,a),r.add(a.helper,a.label)),de(a,t)}const $=s.flatMap(t=>t.presence.selection.slice(0,20).map(a=>({key:`${t.participantId}:${a}`,objectId:a,color:t.color}))),B=new Set($.map(t=>t.key));for(const[t,a]of u)B.has(t)||(w(a),u.delete(t));for(const t of $){const a=o.objectMap.get(t.objectId),h=u.get(t.key);if(!a){h&&(w(h),u.delete(t.key));continue}if(h?.object===a)continue;h&&w(h);const O=ue(a,t.color);u.set(t.key,O),r.add(O.helper)}const F=s.flatMap(t=>{const a=ge(t.presence.gesture);return a?[{participantId:t.participantId,color:t.color,ray:a}]:[]}),N=new Set(F.map(t=>t.participantId));for(const[t,a]of m)N.has(t)||(A(a),m.delete(t));for(const t of F){let a=m.get(t.participantId);a||(a=me(t.color),m.set(t.participantId,a),r.add(a.line)),fe(a,t.ray)}},T=i=>{if(!y())return;const s=i.detail?.participantId;if(typeof s!="string")return;const l=X()?.participants.find(f=>f.participantId===s)?.presence.camera;l&&o.setCameraPose({x:l.x,y:l.y,z:l.z},{x:l.targetX,y:l.targetY,z:l.targetZ},l.fov)};return window.addEventListener("editor:collaboration-join",T),{reportCamera:v,syncMarkers:i=>{q();for(const s of g.values())pe(s,i);for(const s of u.values())D(s.object,s.box)},live:()=>g.size+u.size+m.size>0,dispose:()=>{d.orbitControls.removeEventListener("change",v),d.transformControls.removeEventListener("dragging-changed",I),c.removeEventListener("pointermove",z),c.removeEventListener("pointerleave",E),window.removeEventListener("editor:collaboration-join",T);for(const i of g.values())Y(i);g.clear();for(const i of u.values())w(i);u.clear();for(const i of m.values())A(i);m.clear()}}}function me(e){const r=new re(new Float32Array(6),3),o=new ie;o.setAttribute("position",r);const n=new ae({color:new M(e),depthTest:!1,transparent:!0,opacity:.9}),c=new se(o,n);return c.name="Collaboration pointer ray",c.userData.editorOnly=!0,c.renderOrder=10001,{line:c,positions:r}}function fe(e,r){e.positions.setXYZ(0,r.origin.x,r.origin.y,r.origin.z),e.positions.setXYZ(1,r.end.x,r.end.y,r.end.z),e.positions.needsUpdate=!0,e.line.geometry.computeBoundingSphere()}function A(e){e.line.removeFromParent(),e.line.geometry.dispose(),e.line.material.dispose()}export{Pe as bindStagePresenceMarkers};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./jsx-runtime-DPjLkJKQ.js";import{bK as p,bL as s,bq as l,br as f,bM as c,ed as S,bQ as T}from"./index-Ckxb31Yz.js";import{r as i}from"./index-nmcBqr7Y.js";import{t as u}from"./StageHost-lB8f---y.js";import{T as b,a as g}from"./Toolbar-keHcSvDD.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./three.module-IFn-4i31.js";import"./standard-viewport-dressing-GUUr6GuK.js";import"./live-mixers-BRkRHd6g.js";import"./live-gesture-lock-DJbrjOqf.js";import"./model-inspection-Cxfg_Fei.js";import"./viewport-shading-boundary-CBvvzS-p.js";import"./clip-planes-CnAI6DZn.js";import"./three-DSsr_Lvp.js";import"./viewport-pick-context-DkawXbEi.js";import"./OrbitControls-CzTRRI7x.js";import"./LineSegments2-Cicm_Hu1.js";import"./three.quarks.esm-CRKGjKAH.js";import"./scene-framing-50N7SKuX.js";import"./source-object3d-authoring-adapter-CfHQLFAL.js";import"./three-projection-core-kubBTx0s.js";import"./editor-presentation-activity-C7SNSmTd.js";import"./viewport-surface-status-BFmnWp7z.js";import"./transform-mode-request-Cu7ewbtr.js";const n=new WeakMap;function h(r,t){if(r===null)return;const o=n.get(r)??new Set;if(n.set(r,o),o.has(t))return;o.add(t);const e={select:"select",transform:"combined",move:"translate",rotate:"rotate",scale:"scale"};r.setTransformMode(e[T(t).interaction.bootTool])}function X({documentId:r}){i.useSyncExternalStore(p,s,s);const t=l(f()),o=u(r),e=c(r);if(i.useEffect(()=>{o==="gizmo"&&h(e,r)},[o,e,r]),o==="none")return null;const a=o==="modal"?S(r):null;return m.jsx(g,{store:e??t,...a?{door:a}:{}})}function Y({documentId:r}){i.useSyncExternalStore(p,s,s);const t=l(f());return m.jsx(b,{store:c(r)??t})}export{Y as ThreeStageTransformControls,X as ThreeStageTransformTools};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{fG as Q,fH as bt,fI as St,fJ as xt,X as kt,d$ as nt,fK as It}from"./index-Ckxb31Yz.js";import{bA as q,aU as J,bK as Pt,j as Ft,M as Ct,w as Gt,y as Et,V as Y,bL as Tt,bM as Rt,s as Dt,bN as Ot,o as d,aI as Z,v as f,ah as it,ab as rt,ac as _t,E as $t,a5 as At,a0 as H,r as st,bO as Lt,bP as Bt,aQ as tt}from"./three.module-IFn-4i31.js";let at=0;function Ht(){at++}function te(){return at}const zt=[.8,.5,-1],N=new f(1975600),U=new f(5004144);function lt(){const i=typeof document>"u"?null:document.querySelector("[data-vgai-palette]");if(!i)return{bottom:N.clone(),top:U.clone()};const t=getComputedStyle(i),o=document.createElement("canvas");o.width=o.height=1;const e=o.getContext("2d"),r=(s,u)=>{const p=t.getPropertyValue(s).trim();if(!e||!p||!CSS.supports("color",p))return u.clone();e.fillStyle=u.getStyle(),e.fillRect(0,0,1,1),e.fillStyle=t.getPropertyValue("--vgai-surface-shell").trim(),e.fillRect(0,0,1,1),e.fillStyle=p,e.fillRect(0,0,1,1);const[y,l,M]=e.getImageData(0,0,1,1).data;return new f().setRGB(y/255,l/255,M/255,st)},n=r("--vgai-surface-panel",N),a=r("--vgai-surface-raised",U),h=n.lerp(N,.25).lerp(new f(16777215),.03),c=a.lerp(U,.25).lerp(new f(16777215),.04);return{bottom:h,top:c}}function Nt(i){if(typeof document>"u"||typeof MutationObserver>"u")return()=>{};const t=document.querySelector("[data-vgai-palette]");if(!t)return()=>{};const o=new MutationObserver(()=>{i(),Ht()});return o.observe(t,{attributes:!0,attributeFilter:["data-vgai-palette","data-vgai-material"]}),()=>o.disconnect()}function ct(i=lt()){const o=new Uint8Array(512),e=new f;for(let n=0;n<128;n++)e.copy(i.bottom).lerp(i.top,n/127).convertLinearToSRGB(),o[n*4]=Math.round(e.r*255),o[n*4+1]=Math.round(e.g*255),o[n*4+2]=Math.round(e.b*255),o[n*4+3]=255;const r=new it(o,1,128,rt);return r.colorSpace=st,r.magFilter=H,r.minFilter=H,r.needsUpdate=!0,r}function Ut(i){const t=nt(i);if(t.isEmpty())return{size:50,centre:[0,0]};const o=Math.max(t.max.x-t.min.x,t.max.z-t.min.z);return{size:Math.min(Math.max(Math.ceil(o/10)*10+20,50),1e3),centre:[(t.min.x+t.max.x)/2,(t.min.z+t.max.z)/2]}}function Wt(i){for(const t of[1,2,5,10])if(i/t<=60)return Math.round(i/t);return Math.round(i/10)}function ut(i,t){const o=t/2,e=o*.55,r=o;i.onBeforeCompile=n=>{n.uniforms.uGridFadeStart={value:e},n.uniforms.uGridFadeEnd={value:r},n.vertexShader=n.vertexShader.replace("#include <common>",`#include <common>
|
|
2
|
+
varying vec2 vGridPlanePosition;`).replace("#include <begin_vertex>",`#include <begin_vertex>
|
|
3
|
+
vGridPlanePosition = position.xz;`),n.fragmentShader=n.fragmentShader.replace("#include <common>",`#include <common>
|
|
4
|
+
varying vec2 vGridPlanePosition;
|
|
5
|
+
uniform float uGridFadeStart;
|
|
6
|
+
uniform float uGridFadeEnd;`).replace("#include <color_fragment>",`#include <color_fragment>
|
|
7
|
+
diffuseColor.a *= 1.0 - smoothstep(uGridFadeStart, uGridFadeEnd, length(vGridPlanePosition));`)},i.customProgramCacheKey=()=>`vgai-grid-fade:${e}:${r}`}function jt(i,t){const{environment:o,background:e=!0,keyLight:r=!0,grid:n=!1}=t,a=[],h=[];let c=null;if(o&&(i.environment=o.texture),e&&(c=ct(),i.background=c),r){const l=new q(16774109,1.9);l.name="vgai:standard-dressing-key",l.position.set(6,10,-4),l.castShadow=!0,Q(l,"editorHelper",!0),i.add(l),a.push(l),h.push(l)}let s=null,u="";const p=l=>{if(!n)return;const{size:M,centre:w}=Ut(l),b=`${M}:${w.join(":")}`;if(b===u)return;u=b,s&&(s.removeFromParent(),s.dispose(),a.splice(a.indexOf(s),1));const g=new Lt(M,Wt(M),10066329,10066329);s=g;const S=g.material;S.transparent=!0,S.opacity=.35,S.depthWrite=!1,ut(S,M),g.name="vgai:standard-dressing-grid",g.position.set(w[0],-.02,w[1]),g.layers.set(It),Q(g,"editorHelper",!0),i.add(g),a.push(g)};p(t.content??i);let y=!1;return{backgroundTexture:c,lights:h,frameContent:p,dispose(){if(!y){y=!0;for(const l of a)l.removeFromParent(),l.dispose?.();o&&(i.environment===o.texture&&(i.environment=null),o.dispose()),c&&(i.background===c&&(i.background=null),c.dispose())}}}}const W=12,qt=`
|
|
8
|
+
vec3 vgaiHable( vec3 x ) {
|
|
9
|
+
const float A = 0.22 * 4.0;
|
|
10
|
+
const float B = 0.30 * 2.0;
|
|
11
|
+
const float C = 0.10;
|
|
12
|
+
const float D = 0.20;
|
|
13
|
+
const float E = 0.01;
|
|
14
|
+
const float F = 0.30;
|
|
15
|
+
return ( ( x * ( A * x + C * B ) + D * E ) / ( x * ( A * x + B ) + D * F ) ) - E / F;
|
|
16
|
+
}
|
|
17
|
+
vec3 CustomToneMapping( vec3 color ) {
|
|
18
|
+
color *= toneMappingExposure;
|
|
19
|
+
return clamp( vgaiHable( max( vec3( 0.0 ), color ) ) / vgaiHable( vec3( 1.0 ) ), 0.0, 1.0 );
|
|
20
|
+
}`;{const i=tt.tonemapping_pars_fragment,t="vec3 CustomToneMapping( vec3 color ) { return color; }";i.includes(t)&&(tt.tonemapping_pars_fragment=i.replace(t,qt))}const Vt={none:Ot,aces:Dt,agx:Rt,filmic:Tt};function et(i){return`image|${i.id}|${i.url}`}function j(i){return i*i*(3-2*i)}function k(i,t,o){let e=Math.imul(i,374761393)^Math.imul(t,668265263)^Math.imul(o,1440662683);return e=Math.imul(e^e>>>13,1274126177),((e^e>>>16)>>>0)/4294967296}function Kt(i,t,o){const e=Math.floor(i),r=Math.floor(t),n=Math.floor(o),a=j(i-e),h=j(t-r),c=j(o-n),s=d.lerp,u=s(k(e,r,n),k(e+1,r,n),a),p=s(k(e,r+1,n),k(e+1,r+1,n),a),y=s(k(e,r,n+1),k(e+1,r,n+1),a),l=s(k(e,r+1,n+1),k(e+1,r+1,n+1),a);return s(s(u,p,h),s(y,l,h),c)}function dt(i,t,o){let e=0,r=.5,n=1,a=0;for(let h=0;h<5;h++)e+=r*Kt(i*n,t*n,o*n),a+=r,r*=.5,n*=2;return e/a}let O=null;function Xt(i){if(!O){const o=new Float32Array(4096);for(let e=0;e<o.length;e++){const r=1-2*(e+.5)/o.length,n=Math.sqrt(1-r*r),a=e*2.399963229728653;o[e]=dt(Math.cos(a)*n*4,r*4,Math.sin(a)*n*4)}O=o.sort()}const t=d.clamp(Math.round((1-i)*(O.length-1)),0,O.length-1);return O[t]}function Qt(i){if(!i)return null;const t=(e,r)=>typeof e=="number"&&Number.isFinite(e)?e:r,o={cover:d.clamp(t(i.cover,.5),0,1),opacity:d.clamp(t(i.opacity,1),0,1),scale:Math.max(t(i.scale,4),.1)};return o.cover>0&&o.opacity>0?o:null}const T=4,ot=400;class Jt{constructor(t,o){this.onReady=o,this.group.name="vgai:stage-presentation-rig",this.group.userData.editorHelper=!0,this.group.add(this.ambient),t.add(this.group),this.previewGroup.name="vgai:stage-preview-rig",this.previewGroup.userData.editorHelper=!0,this.sun.name="vgai:preview-sun",this.sun.userData.editorHelper=!0,this.previewGroup.add(this.sun,this.sun.target),this.previewGroup.visible=!1,t.add(this.previewGroup),this.floor.name="vgai:preview-floor",this.floor.userData.editorHelper=!0,this.floor.receiveShadow=!0,this.floor.visible=!1,t.add(this.floor)}group=new J;ambient=new Pt(16777215,0);lights=[];preset=null;presentation=null;source="studio";previewGroup=new J;sun=new q(16777215,1);floorBounds=new Ft;floorContent=null;floor=new Ct(new Gt(ot,ot).rotateX(-Math.PI/2),new Et({roughness:.9,metalness:0,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}));sky=null;pmrem=null;direction=new Y;loadingImage=null;pendingImage=null;failedImages=new Set;latestSky=null;rotation=0;disposed=!1;apply(t,o,e,r={}){this.presentation=t;const{lighting:n}=t,a=r.floor!==!1&&t.overlays.floor.visible,h=a&&!this.floor.visible;this.floor.visible=a,h&&this.floorContent&&this.placeFloor(this.floorContent),this.floor.material.color.set(t.overlays.floor.color);const c=bt(n.studioPreset);c!==this.preset&&this.build(c),this.source=n.source,this.group.visible=n.source==="studio",r.tone!==!1&&(o.toneMapping=e??Vt[n.tone.mapper],o.toneMappingExposure=n.tone.exposure);const{sun:s,environment:u}=n.preview,p=d.degToRad(s.altitude),y=d.degToRad(s.azimuth);this.sun.color.set(s.color),this.sun.intensity=s.enabled?s.energy:0,this.sun.position.set(Math.sin(y)*Math.cos(p),Math.sin(p),-Math.cos(y)*Math.cos(p)).multiplyScalar(W),this.sun.castShadow=s.enabled&&s.shadowDistance>0;const l=Math.min(Math.max(s.shadowDistance,1),50)/2;if(Object.assign(this.sun.shadow.camera,{left:-l,right:l,top:l,bottom:-l}),this.sun.shadow.camera.updateProjectionMatrix(),this.sun.updateMatrixWorld(),this.sun.target.updateMatrixWorld(),this.rotation=d.degToRad(u.rotation),!(r.sky!==!1&&u.enabled&&(n.source==="preview"||t.backdrop.source==="environment"))){this.loadingImage=null,this.pendingImage=null;return}const w=u.image===null?null:St(u.image),b=()=>this.buildSky(u.sky,o,s.enabled?{direction:this.sun.position.clone().normalize(),color:s.color,energy:s.energy}:null);if(this.latestSky=b,w&&!this.failedImages.has(et(w))){this.sky||b(),this.buildImage(w,o);return}this.loadingImage=null,this.pendingImage=u.image===null?null:{id:u.image,state:w?"failed":"unregistered"},b()}buildImage(t,o){const e=et(t);if(this.sky?.key===e){this.pendingImage=null;return}this.loadingImage!==e&&(this.loadingImage=e,this.pendingImage={id:t.id,state:"loading"},xt(t.url,t.format).then(r=>{if(this.disposed||this.loadingImage!==e){r.dispose();return}let n;try{this.pmrem??=new Z(o),n=this.pmrem.fromEquirectangular(r)}catch(a){throw r.dispose(),a}this.loadingImage=null,this.pendingImage=null,this.disposeSky(),this.sky={key:e,image:t.id,background:r,environment:n},this.onReady?.()}).catch(r=>{this.disposed||this.loadingImage!==e||(this.loadingImage=null,this.failedImages.add(e),this.pendingImage={id:t.id,state:"failed"},kt.error(`Environment image "${t.id}" (${t.url}) did not load: ${String(r)}`,"viewport"),this.latestSky?.(),this.onReady?.())}))}placeFloor(t){if(this.floorContent=t,!this.floor.visible)return;const o=nt(t,this.floorBounds);this.floor.position.y=o.isEmpty()?0:o.min.y,this.floor.updateMatrixWorld()}forgetFailedImages(){this.failedImages.clear()}sceneLightsShown(){return this.source!=="preview"||this.presentation?.lighting.preview.sceneLights!==!1}imageReport(){return{shown:this.sky?.image??null,pending:this.pendingImage}}turn(){return this.sky?.image?this.rotation:0}buildSky(t,o,e){const r=e?`${e.direction.toArray().map(m=>m.toFixed(4)).join(",")}|${e.color}|${e.energy}`:"none",n=Qt(t.clouds),a=n?`${n.cover}|${n.opacity}|${n.scale}`:"clear",h=`${t.top}|${t.horizon}|${t.ground}|${t.topCurve}|${t.groundCurve}|${a}|${r}`;if(this.sky?.key===h)return;this.disposeSky();const c=1024,s=512,u=d.degToRad(.5),p=d.degToRad(30),y=.15,l=new f(t.top),M=new f(t.horizon),w=new f(t.ground),b=e?new f(e.color).multiplyScalar(e.energy):null,g=new Uint16Array(c*s*4),S=m=>Bt.toHalfFloat(Math.min(m,65504)),ht=Math.max(t.topCurve,.001),pt=Math.max(t.groundCurve,.001),_=new f,I=new f,gt=new f(.92,.93,.95).lerp(M,.2),R=c/T,z=s/2/T+1,V=n?Xt(n.cover):1;let $=null;if(n){$=new Float32Array(R*z);for(let m=0;m<z;m++){const F=((Math.min(s/2+m*T,s-1)+.5)/s-.5)*Math.PI;for(let C=0;C<R;C++){const v=((C*T+.5)/c-.5)*Math.PI*2;$[m*R+C]=dt(Math.cos(v)*Math.cos(F)*n.scale,Math.sin(F)*n.scale,Math.sin(v)*Math.cos(F)*n.scale)}}}const K=new Y;for(let m=0;m<s;m++){const x=((m+.5)/s-.5)*Math.PI,F=Math.PI/2-x;if(F<=Math.PI/2){const v=1-F/(Math.PI/2);_.copy(M).lerp(l,d.clamp(1-Math.pow(1-v,1/ht),0,1))}else{const v=(F-Math.PI/2)/(Math.PI/2);_.copy(M).lerp(w,d.clamp(1-Math.pow(1-v,1/pt),0,1))}const C=n&&x>0?d.smoothstep(Math.sin(x),0,.25):0;for(let v=0;v<c;v++){if(I.copy(_),n&&$&&C>0){const D=v/T,G=(m-s/2)/T,E=Math.floor(D),L=Math.max(0,Math.floor(G)),X=D-E,ft=G-Math.floor(G),B=(Mt,wt)=>$[Math.min(wt,z-1)*R+Mt%R],vt=d.lerp(d.lerp(B(E,L),B(E+1,L),X),d.lerp(B(E,L+1),B(E+1,L+1),X),ft),yt=d.smoothstep(vt,V-.1,V+.1);I.lerp(gt,yt*n.opacity*C)}if(b&&e&&x>-Math.PI/2){const D=((v+.5)/c-.5)*Math.PI*2;K.set(Math.cos(D)*Math.cos(x),Math.sin(x),Math.sin(D)*Math.cos(x));const G=K.angleTo(e.direction);if(G<u)I.copy(b);else if(G<p){const E=(G-u)/(p-u);I.copy(b).lerp(_,d.clamp(1-Math.pow(1-E,1/y),0,1))}}const A=(m*c+v)*4;g[A]=S(I.r),g[A+1]=S(I.g),g[A+2]=S(I.b),g[A+3]=S(1)}}const P=new it(g,c,s,rt,_t);P.mapping=$t,P.colorSpace=At,P.magFilter=H,P.minFilter=H,P.needsUpdate=!0,this.pmrem??=new Z(o);const mt=this.pmrem.fromEquirectangular(P);this.sky={key:h,image:null,background:P,environment:mt}}disposeSky(){this.sky?.background.dispose(),this.sky?.environment.dispose(),this.sky=null}environment(){const t=this.presentation?.lighting;return t?this.source==="studio"?{texture:null,intensity:this.preset?.environmentIntensity??0,rotation:0}:this.source==="preview"?t.preview.environment.enabled?{texture:this.sky?.environment.texture??null,intensity:t.preview.environment.energy,rotation:this.turn()}:{texture:null,intensity:0,rotation:0}:null:null}backdrop(){const t=this.presentation?.backdrop;return!t||t.source==="fill"||t.source==="scene"?"keep":t.source==="transparent"?{value:null,blur:0,intensity:1,rotation:0}:t.source==="color"?{value:new f(t.color),blur:0,intensity:1,rotation:0}:this.sky?{value:this.sky.background,blur:t.blur,intensity:t.opacity,rotation:this.turn()}:"keep"}resolveSource(t){const o=this.presentation?.lighting;let e=o?.source??"studio";return o?.auto&&e!=="scene"&&o.auto.takeover.some(r=>t[r]===!0)&&(e="scene"),this.source=e,this.group.visible=e==="studio",this.previewGroup.visible=e==="preview",e}roots(){return[this.group,this.previewGroup,this.floor]}lightsVisible(){return this.group.visible&&this.lights.length>0}presetId(){return this.preset?.id??null}update(t){if(this.group.visible)for(const{light:o,spec:e}of this.lights)this.direction.set(...e.direction).normalize(),e.space==="camera"&&this.direction.applyQuaternion(t.quaternion),o.position.copy(this.direction).multiplyScalar(-W),o.target.position.set(0,0,0),o.updateMatrixWorld(),o.target.updateMatrixWorld()}dispose(){this.disposed=!0,this.clearLights(),this.group.removeFromParent(),this.previewGroup.removeFromParent(),this.floor.removeFromParent(),this.floor.geometry.dispose(),this.floor.material.dispose(),this.sun.dispose(),this.disposeSky(),this.pmrem?.dispose()}build(t){this.clearLights(),this.preset=t,this.ambient.color.set(t.ambient.color),this.ambient.intensity=t.ambient.intensity;for(const o of t.lights){const e=new q(o.color,o.intensity);e.name=`vgai:studio-light:${t.id}`,e.castShadow=o.castShadow===!0,e.userData.editorHelper=!0,this.group.add(e),this.group.add(e.target),this.lights.push({light:e,spec:o})}this.direction.set(0,0,0);for(const{light:o,spec:e}of this.lights)e.space==="world"&&(this.direction.set(...e.direction).normalize(),o.position.copy(this.direction).multiplyScalar(-W),o.updateMatrixWorld(),o.target.updateMatrixWorld())}clearLights(){for(const{light:t}of this.lights)t.removeFromParent(),t.target.removeFromParent(),t.dispose();this.lights=[]}}const ee=Object.freeze(Object.defineProperty({__proto__:null,STANDARD_COMPONENT_CAMERA_DIRECTION:zt,StagePresentationRig:Jt,applyGridDistanceFade:ut,applyStandardViewportDressing:jt,createGradientBackgroundTexture:ct,paletteBackdropStops:lt,watchPaletteBackdrop:Nt},Symbol.toStringTag,{value:"Module"}));export{zt as S,Jt as a,jt as b,ct as c,ee as d,Ht as i,te as s,Nt as w};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{q as t}from"./index-
|
|
1
|
+
import{q as t}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 l="workspace.action",w=[{id:"state-watch",label:"Open State Watch",execute:()=>t().workspace.showUtility("tool:state-watch.utility")}];export{w as actions,l as point};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{q as t,
|
|
1
|
+
import{q as t,aq as e}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 n="workspace.menu",d={menu:"debug",items:[{id:"state-watch",label:"State Watch",testId:"menu-state-watch",disabled:()=>e()==null,execute:()=>t().workspace.showUtility("tool:state-watch.utility")}]};export{d as menu,n as point};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./jsx-runtime-DPjLkJKQ.js";import{
|
|
1
|
+
import{a as n}from"./jsx-runtime-DPjLkJKQ.js";import{aq as S,ap as o,bD as B,a5 as L,q as A,eX as H}from"./index-Ckxb31Yz.js";import{r as d}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.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"./three.module-IFn-4i31.js";const F=250,D=200,P=500,z="stateWatchPins";function x(e){return JSON.stringify([e.provider,...e.path])}function y(e){return[e.provider,...e.path].join(".")}function M(){return A().projectLocalState.projectRootPath()??"__unscoped__"}function k(e){const t=A().projectLocalState.read(z);return Array.isArray(t)?t.filter(r=>typeof r?.provider=="string"&&Array.isArray(r.path)&&r.path.every(s=>typeof s=="string")):[]}function N(e,t){A().projectLocalState.write(z,t.map(r=>({provider:r.provider,path:[...r.path]})))}function j(e){return e!==null&&typeof e=="object"}function O(e){if(typeof e=="string")return`“${e}”`;if(typeof e=="number")return Number.isInteger(e)?String(e):e.toFixed(3);if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e=="bigint")return`${e}n`;if(typeof e=="function")return"[Function]";if(j(e))try{return Array.isArray(e)?`Array(${e.length})`:`Object(${Object.keys(e).length})`}catch{return"[Unreadable object]"}return String(e)}function _(e){try{return Object.entries(e)}catch{return[]}}function V(e,t){try{if(!Object.hasOwn(e,t.provider))return{available:!1,value:void 0};let r=e[t.provider];for(const s of t.path){if(!j(r)||!Object.hasOwn(r,s))return{available:!1,value:void 0};r=r[s]}return{available:!0,value:r}}catch{return{available:!1,value:void 0}}}function R(e,t,r,s,l,c){if(l.length>=P)return;const g=j(t)&&c.includes(t);if(!j(t)||g){const a={provider:e,path:r,value:g?"[Circular]":t};(y(a).toLowerCase().includes(s)||O(a.value).toLowerCase().includes(s))&&l.push(a);return}const p=[...c,t],m=_(t);if(m.length===0){const a={provider:e,path:r,value:t};y(a).toLowerCase().includes(s)&&l.push(a);return}for(const[a,v]of m)if(R(e,v,[...r,a],s,l,p),l.length>=P)return}const C={fontFamily:o.typography.mono,fontSize:11};function T({leaf:e,pinned:t,onTogglePin:r,depth:s=0}){const l=e.path.at(-1)??e.provider;return n.jsxs("div",{style:{...C,minHeight:22,display:"grid",gridTemplateColumns:"minmax(100px, 0.65fr) minmax(120px, 1fr) auto",alignItems:"center",gap:8,paddingLeft:8+s*14,paddingRight:8,borderBottom:`1px solid ${o.boundary.default}`},title:y(e),children:[n.jsx("span",{style:{color:o.content.primary,overflow:"hidden",textOverflow:"ellipsis"},children:l}),n.jsx("span",{style:{color:o.content.muted,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:O(e.value)}),n.jsx(L,{type:"button",size:"compact",variant:t?"primary":"secondary","aria-pressed":t,title:t?`Remove ${y(e)} from watches`:`Watch ${y(e)}`,onClick:()=>r(e),children:t?"Pinned":"Pin"})]})}function W({provider:e,name:t,value:r,path:s,depth:l,ancestors:c,pinnedKeys:g,onTogglePin:p}){const m=j(r)&&c.includes(r),[a,v]=d.useState(l===0);if(!j(r)||m){const f={provider:e,path:s,value:m?"[Circular]":r};return n.jsx(T,{leaf:f,depth:l,pinned:g.has(x(f)),onTogglePin:p})}const h=_(r),b=h.slice(0,D);return n.jsxs("div",{children:[n.jsxs("button",{type:"button",onClick:()=>v(f=>!f),style:{...C,width:"100%",minHeight:22,display:"flex",alignItems:"center",gap:4,padding:`0 8px 0 ${8+l*14}px`,color:o.content.primary,background:"transparent",border:0,borderBottom:`1px solid ${o.boundary.default}`,textAlign:"left",cursor:"pointer"},children:[n.jsx("span",{style:{width:12,color:o.content.muted},children:n.jsx(H,{direction:a?"down":"right"})}),n.jsx("span",{children:t}),n.jsx("span",{style:{color:o.content.dim},children:Array.isArray(r)?`[${h.length}]`:`{${h.length}}`})]}),a&&b.map(([f,i])=>n.jsx(W,{provider:e,name:f,value:i,path:[...s,f],depth:l+1,ancestors:[...c,r],pinnedKeys:g,onTogglePin:p},f)),a&&h.length>b.length&&n.jsxs("div",{style:{...C,padding:`3px 8px 3px ${8+(l+1)*14}px`,color:o.content.dim},children:[h.length-b.length," more values — narrow with search"]})]})}function E(e){if(!e)return{providers:[],state:{},error:null};let t;try{t=e.providers()}catch(r){return{providers:[],state:{},error:r instanceof Error?r.message:String(r)}}try{return{providers:t,state:e.stateAll(),error:null}}catch(r){return{providers:t,state:{},error:r instanceof Error?r.message:String(r)}}}function X(){const e=M(),[t,r]=d.useState(()=>E(S())),[s,l]=d.useState(!1),[c,g]=d.useState(""),[p,m]=d.useState(()=>k());d.useEffect(()=>m(k()),[e]);const a=d.useCallback(()=>r(E(S())),[]);d.useEffect(()=>{if(a(),s)return;const i=window.setInterval(a,F);return()=>window.clearInterval(i)},[s,a]);const v=d.useMemo(()=>new Set(p.map(x)),[p]),h=d.useCallback(i=>{m(u=>{const w=x(i),I=u.some($=>x($)===w)?u.filter($=>x($)!==w):[...u,{provider:i.provider,path:[...i.path]}];return N(e,I),I})},[e]),b=d.useMemo(()=>{const i=c.trim().toLowerCase();if(!i)return[];const u=[];for(const w of t.providers)R(w.name,t.state[w.name],[],i,u,[]);return u},[c,t]);return S()?n.jsxs("div",{style:{height:"100%",minHeight:0,display:"flex",flexDirection:"column"},children:[n.jsxs("div",{style:{minHeight:34,display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderBottom:`1px solid ${o.boundary.default}`},children:[n.jsx(B,{value:c,onChange:i=>g(i.target.value),placeholder:"Filter state paths or values…","aria-label":"Filter state watches",style:{width:240}}),n.jsx(L,{type:"button",size:"compact",onClick:()=>l(i=>!i),children:s?"Resume":"Pause"}),n.jsx(L,{type:"button",size:"compact",disabled:!s,onClick:a,children:"Refresh"}),n.jsxs("span",{style:{color:o.content.dim,fontSize:10},children:[t.providers.length," provider",t.providers.length===1?"":"s"," ·"," ",p.length," pinned",s?" · paused":""]}),t.error&&n.jsx("span",{style:{color:o.semantic.danger,fontSize:10},children:t.error})]}),n.jsxs("div",{style:{flex:1,minHeight:0,display:"grid",gridTemplateColumns:"minmax(280px, 1fr) minmax(240px, 0.65fr)"},children:[n.jsxs("section",{"aria-label":"Live state",style:{minWidth:0,overflow:"auto"},children:[c.trim()?b.length>0?b.map(i=>n.jsx(T,{leaf:i,pinned:v.has(x(i)),onTogglePin:h},x(i))):n.jsxs("div",{style:{padding:10,color:o.content.dim,fontSize:11},children:["No state values match “",c.trim(),"”."]}):t.providers.map(i=>n.jsx(W,{provider:i.name,name:`${i.name} · ${i.tier}`,value:t.state[i.name],path:[],depth:0,ancestors:[],pinnedKeys:v,onTogglePin:h},i.name)),t.providers.length===0&&n.jsx("div",{style:{padding:10,color:o.content.dim,fontSize:11},children:"The running game has not registered any state providers."})]}),n.jsxs("aside",{"aria-label":"Pinned watches",style:{minWidth:0,overflow:"auto",borderLeft:`1px solid ${o.boundary.default}`},children:[n.jsx("div",{style:{position:"sticky",top:0,zIndex:1,padding:"6px 8px",color:o.content.muted,background:o.surface.panel,borderBottom:`1px solid ${o.boundary.default}`,fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Watches"}),p.map(i=>{const u=V(t.state,i);return n.jsxs("div",{style:{...C,display:"grid",gridTemplateColumns:"minmax(130px, 1fr) minmax(100px, 0.7fr) auto",alignItems:"center",gap:8,minHeight:24,padding:"2px 8px",borderBottom:`1px solid ${o.boundary.default}`},children:[n.jsx("span",{title:y(i),style:{color:o.content.primary,overflow:"hidden",textOverflow:"ellipsis"},children:y(i)}),n.jsx("span",{style:{color:u.available?o.content.muted:o.content.dim,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u.available?O(u.value):"unavailable"}),n.jsx(L,{type:"button",size:"compact",onClick:()=>h(i),children:"Remove"})]},x(i))}),p.length===0&&n.jsx("div",{style:{padding:10,color:o.content.dim,fontSize:11},children:"Pin values from the live tree to keep them visible while you inspect the game."})]})]})]}):n.jsx("div",{style:{padding:12,color:o.content.muted,fontSize:11},children:"State Watch is available while a game with debug providers is running."})}const re="workspace.utility",ne="State Watch",ie=19,oe=()=>S()!=null;function se(){return n.jsx(X,{})}export{oe as available,se as default,ie as order,re as point,ne as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const R=500,f=.5,m=.4,E=120;function o(t){return t.toLocaleString("en-US")}function b(t){const{drawCalls:e,census:l,structural:r}=t;if(e===null||e<500)return null;const{collapsible:a}=r;if(a<e*.5)return null;const u=new Set(l.subtrees.map(A=>A.name)),n=r.bySubtree[0],s=n&&n.collapsible>=a*.4&&u.has(n.name)?n.name:null,i=s===null?"<Frozen>":`<Frozen name="${s}">`,S=s===null?"spread across the scene":`mostly under "${s}"`,d=`[static-batch] ${o(e)} draw calls this frame; ~${o(a)} meshes are repeats of ${o(r.familyCount)} structural families, ${S}. If that scenery is mount-static — nothing under it moves, re-colours or unmounts after mount — one wrapper collapses it to a few draws: wrap it in ${i}…</Frozen> (vgai add static-batch). Reactive scenery goes outside the wrapper, and a subtree that must stay unbatched declares it: userData={{ staticBatch: false }}.`;return{drawCalls:e,collapsible:a,subtree:s,fix:i,message:d}}const c="__vgaiStaticBatchAdvised";function _(){return globalThis[c]===!0}function h(t){console.warn(t)}function L(t,e=h){return _()?!1:(globalThis[c]=!0,e(t.message),!0)}function p(){globalThis[c]=void 0}export{f as ADVISOR_COLLAPSIBLE_SHARE,R as ADVISOR_DRAW_CALL_THRESHOLD,E as ADVISOR_SETTLE_FRAMES,m as ADVISOR_SUBTREE_SHARE,p as __resetStaticBatchAdvisoryForTest,b as decideStaticBatchAdvisory,L as warnStaticBatchAdvisory};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as T}from"./react-story-board-CSqHY0Cg.js";import{b8 as P,b9 as S,ay as M,ba as $,bb as C,bc as E,bd as j,a0 as v,be as I,bf as D,bg as R,bh as O,aG as L,az as U}from"./index-Ckxb31Yz.js";import{m as k}from"./StoryPreviewMount-BIfxmkYh.js";import{s as B}from"./story-presentation-CxADj5oz.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.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"./three.module-IFn-4i31.js";async function ae(s,o){await P();const r=U(),c=S().filter(e=>M({modulePath:e.modulePath,regions:r}).medium==="dom"),t=document.createElement("canvas");t.width=s,t.height=o;const l=t.getContext("2d");if(!l)throw new Error("UI Canvas preview could not create a 2D output context.");if(c.length===0)return t.toDataURL("image/png");const h=B(c),d=L()?.config.resolution,u={width:d?.width??640,height:d?.height??400},m=new Map,f=new Map;for(const e of c){const n=h.resolve(e,u),[y]=await x(e.modulePath,[e],{width:n.width,height:n.height,capture:v,cropToContent:n.layout!=="fullscreen",layout:n.layout,transparent:!0});if(!y)throw new Error(`No preview rendered for ${e.id}.`);const g=new Image;g.src=`data:${y.mimeType};base64,${y.base64}`,await g.decode(),m.set(e.id,g),f.set(e.id,{width:g.naturalWidth,height:g.naturalHeight})}const i=T(c,h.index,e=>f.get(e.id)),a=Math.min(s/i.width,o/i.height),p=(s-i.width*a)/2,w=(o-i.height*a)/2;for(const[e,n]of i.layouts)l.drawImage(m.get(e),p+n.x*a,w+n.y*a,n.width*a,n.height*a);return t.toDataURL("image/png")}const A="#ffffff",H="#14171c";async function oe(s,o){const{modulePath:r,width:c,height:t}=o;if(!s)throw new Error(`No project is open, so '${r}' cannot be loaded. Open the project first.`);const l=await $(s),h=l.find(e=>e.modulePath===r);if(!h)throw new Error(`'${r}' is not a story file of this project. `+(l.length===0?"This project has no *.stories.tsx / *.stories.ts under src/.":`This project's story files are: ${l.map(e=>e.modulePath).join(", ")}.`));await C(await E(s));let d;try{d=await h.load()}catch(e){throw new Error(`'${r}' failed to import — ${e instanceof Error?e.message:String(e)}`)}const u=await j(r,d);if(!u.ok)throw new Error(u.error);const m=N(r,u.stories,o.story),f=o.capture??v,i=I("three"),a=o.captureThree??(i?(e,n)=>i(e,{...n,...o.camera===void 0?{}:{camera:o.camera},...o.pose===void 0?{}:{pose:o.pose}}):void 0);if((o.camera||o.pose)&&!a)throw new Error(`'${r}': camera/clip parameters need the three capture leg, which this environment cannot provide (no WebGL).`);const p=await x(r,m,{width:c,height:t,capture:f,...a?{captureThree:a}:{},requireThree:!!(o.camera||o.pose)}),w=await z(p,c,t);return{modulePath:r,width:c,height:t,variants:p,contactSheet:w}}function N(s,o,r){if(r===void 0)return o;const c=o.find(t=>t.name===r);if(!c)throw new Error(`'${s}' exports no story named '${r}'. It exports: ${o.map(t=>t.name).join(", ")}.`);return[c]}async function x(s,o,r){const{width:c,height:t,capture:l,captureThree:h,requireThree:d,cropToContent:u=!0}=r,m=document.createElement("div");m.setAttribute("style",`position:fixed;left:-20000px;top:0;width:${c}px;height:${t}px;overflow:hidden;contain:strict;pointer-events:none;background:${r.transparent?"transparent":A};`),document.body.appendChild(m);const f=[];try{for(const i of o){if(h){const e=await h(i.Component,{width:c,height:t}).catch(n=>(R(n)||console.warn(`[story-capture] three mount for '${i.name}' failed — falling back to the DOM leg:`,n instanceof Error?n.stack??n.message:String(n)),null));if(e===null&&d)throw new Error(`story '${i.name}' did not render on the three leg — --azimuth/--elevation/--distance/--clip/--time apply to three (R3F) stories only, and falling back to the DOM leg would silently ignore them. Narrow to a three story with --story <export>, or drop the camera/clip flags.`);if(e!==null){const n=e.indexOf(",");f.push({name:i.name,label:i.label,base64:n>=0?e.slice(n+1):e,mimeType:"image/png"});continue}}const a=document.createElement("div");a.setAttribute("style",`position:relative;width:${c}px;height:${t}px;overflow:hidden;`),r.layout==="padded"&&(a.style.padding="16px"),r.layout==="centered"&&(a.style.display="flex",a.style.alignItems="center",a.style.justifyContent="center"),a.style.boxSizing="border-box",m.replaceChildren(a);const p=await O(async()=>{const e=await k(a,s,i.name,i.Component);return await W(a),e});await p.settled();const w=p.result;try{const e=await l(m,{canvasFrame:p.frame,cropToContent:u,...r.transparent?{allowTransparent:!0}:{}});f.push({name:i.name,label:i.label,base64:e.base64,mimeType:"image/png"})}finally{w?.unmount(),await new Promise(e=>setTimeout(e,0)),a.remove()}}}finally{m.remove()}return f}async function W(s,o=10){for(let t=0;t<o&&!(s.childNodes.length>0);t++)await new Promise(l=>setTimeout(l,0));if(s.childNodes.length===0)return;const r=200,c=5e3;await new Promise(t=>{let l=null,h=!1;const d=new MutationObserver(()=>{l!==null&&clearTimeout(l),l=setTimeout(m,r)}),u=setTimeout(m,c);function m(){h||(h=!0,d.disconnect(),l!==null&&clearTimeout(l),clearTimeout(u),t())}d.observe(s,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),l=setTimeout(m,r)})}async function z(s,o,r,c={}){const t=Math.min(Math.max(1,s.length),Math.max(1,Math.floor(c.columns??2))),l=Math.max(1,Math.ceil(s.length/t)),h=[];for(const e of s){const n=new Image;n.src=`data:${e.mimeType};base64,${e.base64}`,await n.decode(),h.push(n)}const d=Math.max(1,...h.map(e=>e.naturalWidth),h.length?0:o),u=Math.max(1,...h.map(e=>e.naturalHeight),h.length?0:r),m=d*t,f=u*l,i=document.createElement("canvas");i.width=m,i.height=f;const a=i.getContext("2d");if(!a)throw new Error("Unable to create the story variant sheet.");a.fillStyle=H,a.fillRect(0,0,m,f);for(const[e,n]of s.entries()){const y=e%t*d,g=Math.floor(e/t)*u,b=h[e];a.drawImage(b,y+Math.floor((d-b.naturalWidth)/2),g+Math.floor((u-b.naturalHeight)/2)),c.labels!==!1&&D(a,n.name.toUpperCase(),y,g,d,u)}const p=i.toDataURL("image/png"),w=p.indexOf(",");return{width:m,height:f,base64:w>=0?p.slice(w+1):p,mimeType:"image/png"}}export{ae as captureDomStoryBoardPreview,oe as captureProjectStoryVariants,z as composeVariantSheet,x as renderStoryVariants};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/axe-LkjAB6Lv.js","assets/_commonjsHelpers-D6-XlEtG.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{fg as se,eY as ie,bx as ae,fh as ce,fi as le,fj as K,fk as B,ag as F,e_ as de,aw as L,ax as _,ap as s,eF as u,eH as d,a5 as A,eK as ue,aR as ye,bD as V,_ as pe,fl as fe,ay as me,az as he,fm as Q,fn as ge,fo as ve,fp as xe,b8 as J,fq as X,aG as Se}from"./index-Ckxb31Yz.js";import{a as r}from"./jsx-runtime-DPjLkJKQ.js";import{r as l}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{R as we}from"./ResolutionPicker-DpHVJxn5.js";import{e as Z,S as q}from"./surface-state-BAUJu6GY.js";import{m as ee,r as be}from"./StoryPreviewMount-BIfxmkYh.js";import{d as te}from"./surface-content-Dg9Kkazf.js";import{fitPresentation as je}from"./presentation-BPP5pXeQ.js";const Re=se,y=new Map;let oe=0;const M=new Set;function m(){oe++;for(const t of M)t()}function E(t){return M.add(t),()=>{M.delete(t)}}function O(){return oe}function Ee(t,e){return`story:${t}#${e}`}function Oe(t,e){return`story-docs:${t}#${e}`}function z(){const t=K();if(!t||t.descriptor.kind!=="story")return null;const e=y.get(t.descriptor.id);return e?.mode==="preview"?{...e,id:t.descriptor.id}:null}function U(t,e,o){const n=y.get(t);if(n){if(o===void 0){const i={...n.argOverrides};delete i[e],n.argOverrides=i}else n.argOverrides={...n.argOverrides,[e]:o};m()}}function Ce(t,e,o){const n=y.get(t);n&&(n.actionLog=[...n.actionLog,{name:e,args:o,time:Date.now()}].slice(-200),m())}function ke(t){const e=y.get(t);!e||e.actionLog.length===0||(e.actionLog=[],m())}function re(t,e,o,n={}){Fe();const i=Ee(e,o);y.has(i)||(y.set(i,{modulePath:e,storyName:o,mode:"preview",store:t,argOverrides:{},actionLog:[],playResult:null,accessibility:{status:"idle",violations:[]},container:null,previewReady:!1,previewRevision:0,resolution:{label:"Fill",width:null,height:null},scale:1}),m());const a=n.activate===void 0?{}:{activate:n.activate};return X({id:i,title:n.title??o,kind:"story",workspaceRole:"authored-subject",provenance:{sourcePath:e},Content:_e,Toolbar:ze,closeable:!0,presentation:()=>({kind:"story",modulePath:e,storyName:o,mode:"preview"}),persist:()=>({modulePath:e,storyName:o}),onDispose:p=>{y.delete(p)&&m()}},a)}function Y(t,e,o){const n=Oe(e,o);return y.has(n)||(y.set(n,{modulePath:e,storyName:o,mode:"docs",store:t,argOverrides:{},actionLog:[],playResult:null,accessibility:{status:"idle",violations:[]},container:null,previewReady:!1,previewRevision:0,resolution:{label:"Fill",width:null,height:null},scale:1}),m()),X({id:n,title:`${o} — Docs`,kind:"story",workspaceRole:"workspace-reference",provenance:{sourcePath:e},Content:Te,closeable:!0,presentation:()=>({kind:"story",modulePath:e,storyName:o,mode:"docs"}),persist:()=>({modulePath:e,storyName:o,view:"docs"}),onDispose:i=>{y.delete(i)&&m()}})}function Ne(){const t=Se();return t?xe(t).then(J,J):Promise.resolve()}fe({kind:"story",owner:"story-documents",prepare:Ne,restore:({state:t,store:e})=>{const o=t,n=typeof o?.modulePath=="string"?o.modulePath:null,i=typeof o?.storyName=="string"?o.storyName:null;if(!n||!i)return!1;const a=_().find(c=>c.modulePath===n);if(!a?.ok||!a.stories.some(c=>c.name===i))return!1;if(o?.view==="docs")return Y(e,n,i),!0;const{medium:p}=me({modulePath:n,regions:he()});return p!=="dom"&&p!=="canvas"?!1:(re(e,n,i),!0)}});Q({id:ge,owner:"story-documents",open:(t,e)=>re(t,e.modulePath,e.storyName,{...e.title===void 0?{}:{title:e.title},...e.activate===void 0?{}:{activate:e.activate}})});Q({id:ve,owner:"story-documents",open:(t,e)=>Y(t,e.modulePath,e.storyName)});function W(t,e){const o=_().find(n=>n.modulePath===t);return o?o.ok?{story:o.stories.find(n=>n.name===e),moduleError:void 0}:{story:void 0,moduleError:o.error}:{story:void 0,moduleError:void 0}}function ne(t){const e=t.Component.args;return e&&typeof e=="object"?e:{}}function De(t,e){const o=y.get(t),n={};for(const[i,a]of Object.entries(ne(e)))typeof a=="function"&&(n[i]=(...p)=>(Ce(t,i,p),a(...p)));return{...n,...o?.argOverrides??{}}}function _e({documentId:t}){l.useSyncExternalStore(E,O),l.useSyncExternalStore(L,()=>_());const e=y.get(t),o=l.useRef(null),n=l.useRef(null),[i,a]=l.useState(!1),[p,c]=l.useState("unknown"),[v,w]=l.useState(null),[$,P]=l.useState({width:0,height:0}),{story:b,moduleError:x}=e?W(e.modulePath,e.storyName):{story:void 0,moduleError:void 0},h=e?JSON.stringify(e.argOverrides):"";l.useEffect(()=>{const f=o.current;if(!f)return;if(typeof ResizeObserver>"u"){P({width:f.clientWidth,height:f.clientHeight});return}const j=new ResizeObserver(([R])=>{if(!R)return;const{width:T,height:N}=R.contentRect;P(D=>D.width===T&&D.height===N?D:{width:T,height:N})});return j.observe(f),()=>j.disconnect()},[]),l.useEffect(()=>{const f=n.current;if(!f||!e)return;e.container!==f&&(e.container=f,m());const j=e.previewRevision+1;if(e.previewRevision=j,e.previewReady=!1,e.playResult=null,e.accessibility={status:"idle",violations:[]},m(),c("unknown"),w(null),!b){a(!1),c("empty");return}let R=!1,T,N;const D=()=>{R||c(te(f)?"present":"empty")},G=new MutationObserver(D);return G.observe(f,{childList:!0,subtree:!0,characterData:!0}),a(!0),ee(f,e.modulePath,e.storyName,b.Component,De(t,b)).then(S=>{if(R){S?.unmount();return}if(!S){y.get(t)?.previewRevision===j&&(a(!1),c("empty"));return}const H=y.get(t);if(!H||H.previewRevision!==j){S.unmount();return}T=S.unmount,H.previewReady=!0,a(!1),N=setTimeout(D,0),m()},S=>{R||y.get(t)?.previewRevision!==j||(a(!1),w(S instanceof Error?S.message:String(S)),c("empty"))}),()=>{R=!0,G.disconnect(),N!==void 0&&clearTimeout(N),T?.()}},[t,e,b,h]);const C=e?.resolution.width===null,g=!e||C?1:je($,{width:e.resolution.width,height:e.resolution.height}).scale;if(l.useEffect(()=>{!e||!Number.isFinite(g)||g<=0||e.scale===g||(e.scale=g,m())},[g,e]),!e)return r.jsx("div",{style:{padding:u[6],fontSize:d.md,color:s.content.muted,pointerEvents:"auto"},children:"This story document is no longer available."});const k=`${e.modulePath}#${e.storyName}`,I=b?v?{tone:"error",title:`Story ${k} failed`,description:v}:Z({surface:"Story",rootIds:[k],phase:i?"loading":"ready",content:p}):{tone:"error",title:`Story ${k} is unavailable`,description:x??`No story export named “${e.storyName}” exists in ${e.modulePath}; it may have been renamed or removed.`};return r.jsx("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",pointerEvents:"auto"},children:r.jsx("div",{ref:o,style:{position:"relative",flex:1,minHeight:0,overflow:"auto",display:"flex",alignItems:"center",justifyContent:"center"},children:r.jsxs("div",{style:C?{position:"absolute",inset:0}:{position:"relative",width:e.resolution.width*g,height:e.resolution.height*g,flex:"0 0 auto"},children:[r.jsx("div",{"data-testid":"story-preview-root",ref:n,style:{position:"absolute",inset:0,isolation:"isolate",contain:"layout paint",overflow:"auto",background:s.surface.inset,...C?{}:{width:e.resolution.width,height:e.resolution.height,transform:`scale(${g})`,transformOrigin:"top left"}}}),r.jsx(q,{explanation:I,testId:"story-surface-status"})]})})})}function Pe(t){const e=t.parameters.docs;if(!e||typeof e!="object")return{};const o=e.description;if(typeof o=="string")return{story:o};if(!o||typeof o!="object")return{};const n=o;return{...typeof n.component=="string"?{component:n.component}:{},...typeof n.story=="string"?{story:n.story}:{}}}function Te({documentId:t}){l.useSyncExternalStore(E,O),l.useSyncExternalStore(L,()=>_());const e=y.get(t),o=l.useRef(null),[n,i]=l.useState("unknown"),[a,p]=l.useState(null),{story:c,moduleError:v}=e?W(e.modulePath,e.storyName):{story:void 0,moduleError:void 0};if(l.useEffect(()=>{const x=o.current;if(!x||!e||!c)return;let h=!1,C=null,g;i("unknown"),p(null);const k=()=>{h||i(te(x)?"present":"empty")},I=new MutationObserver(k);return I.observe(x,{childList:!0,subtree:!0,characterData:!0}),ee(x,e.modulePath,e.storyName,c.Component).then(f=>{if(!f){h||i("empty");return}h?f.unmount():(C=f.unmount,g=setTimeout(k,0))},f=>{h||(p(f instanceof Error?f.message:String(f)),i("empty"))}),()=>{h=!0,I.disconnect(),g!==void 0&&clearTimeout(g),C?.()}},[e,c]),!e||!c)return r.jsx("div",{style:{padding:u[8],color:s.semantic.danger,fontSize:d.md},children:v??"This Storybook Docs document is no longer available."});const w=Pe(c),$=c.args,P=`${e.modulePath}#${e.storyName}`,b=a?{tone:"error",title:`Story ${P} failed`,description:a}:Z({surface:"Story",rootIds:[P],phase:n==="unknown"?"loading":"ready",content:n});return r.jsx("article",{"data-testid":"story-docs-document",className:"vgai-content-frost",style:{flex:1,minHeight:0,overflow:"auto",pointerEvents:"auto",padding:"24px clamp(18px, 5vw, 64px)"},children:r.jsxs("div",{style:{maxWidth:920,margin:"0 auto",display:"flex",flexDirection:"column",gap:22},children:[r.jsxs("header",{children:[r.jsx("div",{style:{color:s.content.dim,fontSize:d.base,marginBottom:5},children:c.title??e.modulePath}),r.jsx("h1",{style:{color:s.content.primary,fontSize:d.heading,margin:0},children:c.label}),(w.story??w.component)&&r.jsx("p",{style:{color:s.content.primary,lineHeight:1.6,maxWidth:760,whiteSpace:"pre-wrap"},children:w.story??w.component})]}),r.jsxs("section",{children:[r.jsx("h2",{style:{color:s.content.primary,fontSize:d.xl},children:"Canvas"}),r.jsxs("div",{style:{position:"relative",minHeight:180},children:[r.jsx("div",{ref:o,"data-testid":"story-docs-canvas",style:{position:"relative",isolation:"isolate",contain:"layout paint",minHeight:180,padding:18,overflow:"auto",background:s.surface.inset,border:`1px solid ${s.boundary.default}`,borderRadius:s.shape.medium}}),r.jsx(q,{explanation:b,testId:"story-docs-surface-status"})]})]}),r.jsxs("section",{children:[r.jsx("h2",{style:{color:s.content.primary,fontSize:d.xl},children:"Args"}),r.jsxs("div",{style:{border:`1px solid ${s.boundary.default}`,borderRadius:s.shape.medium,overflow:"hidden"},children:[Object.entries($).map(([x,h])=>r.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(120px, .4fr) minmax(140px, .6fr) 1fr",gap:u[6],padding:`${u[4]} ${u[5]}`,borderBottom:`1px solid ${s.boundary.default}`,fontSize:d.base},children:[r.jsx("code",{style:{color:s.accent.default},children:x}),r.jsx("span",{style:{color:s.content.muted},children:Array.isArray(h)?"array":typeof h}),r.jsx("code",{style:{color:s.content.primary,overflow:"hidden",textOverflow:"ellipsis"},children:typeof h=="function"?"function":JSON.stringify(h)})]},x)),Object.keys($).length===0&&r.jsx("div",{style:{padding:u[5],color:s.content.dim,fontSize:d.base},children:"This story declares no args."})]})]}),r.jsxs("footer",{style:{color:s.content.dim,fontSize:d.sm},children:[e.modulePath," · ",e.storyName]})]})})}function ze({documentId:t}){l.useSyncExternalStore(E,O),l.useSyncExternalStore(L,()=>_());const e=y.get(t);if(!e)return null;const{story:o}=W(e.modulePath,e.storyName),n=typeof o?.Component.play=="function",i=e.playResult;return r.jsxs("div",{"data-testid":"story-document-toolbar",style:{display:"flex",alignItems:"center",gap:u[4],padding:"3px 10px",fontSize:d.sm,color:s.content.muted,borderBottom:`1px solid ${s.boundary.default}`},children:[r.jsxs("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:[e.modulePath," —"," ",r.jsx("code",{style:{color:s.accent.default},children:e.storyName})]}),r.jsx(we,{resolution:e.resolution,scale:e.scale,onResolutionChange:a=>{e.resolution=a,m()}}),r.jsx(A,{size:"compact","data-testid":"story-open-docs",onClick:()=>Y(e.store,e.modulePath,e.storyName),style:{flexShrink:0},children:"Docs"}),n&&o&&r.jsx(A,{variant:"outline",size:"compact","data-testid":"story-run-play",onClick:async()=>{if(!e.container||!e.previewReady)return;const a=e.previewRevision,p=await be(e.modulePath,e.storyName,o.Component,e.container),c=y.get(t);c?.previewReady&&c.previewRevision===a&&(c.playResult=p,m())},disabled:!e.previewReady,style:{flexShrink:0},children:"Run play()"}),i?.ran&&!i.error&&r.jsx("span",{"data-testid":"story-play-result",style:{color:s.semantic.success,fontWeight:600},children:"play() ran"}),i?.error&&r.jsx("span",{"data-testid":"story-play-result",style:{color:s.semantic.danger},children:i.error})]})}function $e({id:t,name:e,value:o}){return r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:u[3],padding:"3px 0"},children:[r.jsx("span",{style:{width:90,flexShrink:0,fontSize:d.base,color:s.content.muted,overflow:"hidden",textOverflow:"ellipsis"},title:e,children:e}),typeof o=="boolean"?r.jsx(ye,{className:"vgai-checkbox","data-testid":`story-arg-${e}`,checked:o,onChange:n=>U(t,e,n.target.checked)}):typeof o=="number"?r.jsx(V,{type:"number",className:"vgai-input","data-testid":`story-arg-${e}`,value:o,onChange:n=>{const i=n.target.value,a=Number.parseFloat(i);U(t,e,i===""||Number.isNaN(a)?void 0:a)},style:{width:80}}):typeof o=="string"?r.jsx(V,{type:"text",className:"vgai-input","data-testid":`story-arg-${e}`,value:o,onChange:n=>U(t,e,n.target.value),style:{flex:1,minWidth:0}}):r.jsx("span",{style:{fontSize:d.base,color:s.content.dim},"data-testid":`story-arg-${e}`,children:typeof o=="function"?"fn (logged to Actions)":JSON.stringify(o)})]})}function Ie(){l.useSyncExternalStore(E,O),l.useSyncExternalStore(L,()=>_());const t=z();if(!t)return null;const{story:e}=W(t.modulePath,t.storyName),o=e?{...ne(e),...t.argOverrides}:{},n=Object.keys(o);return r.jsxs("div",{"data-testid":"inspector-story-args",style:{pointerEvents:"auto",padding:u[4],borderBottom:`1px solid ${s.boundary.default}`},children:[r.jsx("div",{style:{fontSize:d.base,color:s.content.dim,textTransform:"uppercase",marginBottom:u[2]},children:"Story Args"}),r.jsx("div",{style:{fontSize:d.base,color:s.content.primary,fontWeight:600,marginBottom:u[2]},children:t.storyName}),n.length===0&&r.jsx("div",{style:{fontSize:d.base,color:s.content.dim},children:e?"This story declares no args.":"Story source unavailable."}),n.map(i=>r.jsx($e,{id:t.id,name:i,value:o[i]},i))]})}function Ae(){l.useSyncExternalStore(E,O);const t=z();return t?r.jsxs("div",{"data-testid":"story-actions-utility",style:{flex:1,minHeight:0,overflowY:"auto",padding:u[4],fontSize:d.base},children:[r.jsx(A,{size:"compact",style:{marginBottom:u[3]},onClick:()=>ke(t.id),children:"Clear"}),t.actionLog.length===0?r.jsx("div",{style:{color:s.content.dim},children:"No actions logged — function-valued args are wrapped with logging spies; interact with the story preview to see calls here."}):t.actionLog.map((e,o)=>r.jsxs("div",{style:{padding:`${u[1]} 0`,borderBottom:`1px solid ${s.boundary.default}`},children:[r.jsx("code",{style:{color:s.accent.default},children:e.name})," ",r.jsxs("span",{style:{color:s.content.muted},children:["(",e.args.map(n=>{try{return typeof n=="object"?JSON.stringify(n)?.slice(0,80):String(n)}catch{return String(n)}}).join(", "),")"]})]},o))]}):r.jsx("div",{style:{padding:u[6],fontSize:d.md,color:s.content.dim},children:"No active story."})}function Le(){l.useSyncExternalStore(E,O);const t=z();if(!t)return r.jsx("div",{style:{padding:u[6],fontSize:d.md,color:s.content.dim},children:"No active story."});const e=t.playResult;return r.jsxs("div",{"data-testid":"story-interactions-utility",style:{flex:1,minHeight:0,overflowY:"auto",padding:u[6],fontSize:d.md},children:[!e&&r.jsx("div",{style:{color:s.content.dim},children:"No interaction run yet — use the story document's “Run play()”."}),e&&!e.ran&&r.jsx("div",{style:{color:s.content.dim},children:"This story declares no play() function."}),e?.ran&&!e.error&&r.jsx("div",{style:{color:s.semantic.success,fontWeight:600},children:"play() ran without errors."}),e?.error&&r.jsx("div",{style:{color:s.semantic.danger,whiteSpace:"pre-wrap"},children:e.error})]})}async function We(t){const e=y.get(t);if(!e?.container||!e.previewReady)return;const o=e.container,n=e.previewRevision;e.accessibility={status:"running",violations:[]},m();try{const a=await(await pe(async()=>{const{default:c}=await import("./axe-LkjAB6Lv.js").then(v=>v.a);return{default:c}},__vite__mapDeps([0,1]))).default.run(o),p=y.get(t);if(!p?.previewReady||p.previewRevision!==n||p.container!==o)return;p.accessibility={status:"complete",violations:a.violations.map(c=>({id:c.id,impact:c.impact??null,help:c.help,helpUrl:c.helpUrl,nodes:c.nodes.map(v=>({html:v.html,target:v.target.map(String)}))}))},m()}catch(i){const a=y.get(t);if(!a?.previewReady||a.previewRevision!==n||a.container!==o)return;a.accessibility={status:"error",violations:[],error:i instanceof Error?i.message:String(i)},m()}}function He(){l.useSyncExternalStore(E,O);const t=z();if(!t)return r.jsx("div",{style:{padding:u[6],fontSize:d.md,color:s.content.dim},children:"No active story."});const e=t.accessibility;return r.jsxs("div",{"data-testid":"story-accessibility-utility",style:{flex:1,minHeight:0,overflowY:"auto",padding:u[5],fontSize:d.base},children:[r.jsx(A,{variant:"outline",size:"compact",disabled:!t.container||!t.previewReady||e.status==="running",onClick:()=>void We(t.id),style:{marginBottom:u[4]},children:e.status==="running"?"Checking…":"Run accessibility check"}),e.status==="idle"&&r.jsx("div",{style:{color:s.content.dim},children:"Run axe against the mounted story preview."}),e.status==="error"&&r.jsx("div",{style:{color:s.semantic.danger},children:e.error}),e.status==="complete"&&e.violations.length===0&&r.jsx("div",{style:{color:s.semantic.success,fontWeight:600},children:"No accessibility violations found."}),e.violations.map(o=>r.jsxs("details",{style:{borderBottom:`1px solid ${s.boundary.default}`,padding:`${u[3]} 0`},children:[r.jsxs("summary",{style:{color:o.impact==="critical"||o.impact==="serious"?s.semantic.danger:s.content.primary,cursor:"pointer"},children:[o.help," · ",o.nodes.length," node",o.nodes.length===1?"":"s"]}),r.jsx("a",{href:o.helpUrl,target:"_blank",rel:"noreferrer",style:{color:s.accent.default,display:"inline-block",margin:"5px 0"},children:"How to fix"}),o.nodes.map((n,i)=>r.jsxs("pre",{style:{color:s.content.muted,fontFamily:ue,fontSize:d.sm,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:[n.target.join(" "),`
|
|
3
|
+
`,n.html]},`${o.id}:${i}`))]},o.id))]})}const Be=de();function Fe(){Be.ensure(t=>{t(ie({match:()=>K()?.descriptor.kind==="story",id:le,title:ce,icon:Re,order:ae,Section:Ie}));const e=()=>z()!==null;t(B({...F.storyActions,Content:Ae,available:e})),t(B({...F.storyInteractions,Content:Le,available:e})),t(B({...F.storyAccessibility,Content:He,available:e}))})}export{Re as S,Fe as e,Ne as p,Ee as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n}from"./jsx-runtime-DPjLkJKQ.js";import{O as H}from"./Object3DDocumentViewport-DFHqru3a.js";import{S,e as W}from"./surface-state-BAUJu6GY.js";import{S as Y}from"./standard-viewport-dressing-GUUr6GuK.js";import{eY as z,bx as G,fh as B,fi as V,e_ as F,aw as _,ax as x,ap as f,aR as J,bD as w,fj as U,fm as K,fE as L,fl as X,fF as Q,fq as Z,ay as q,az as ee,dY as te}from"./index-Ckxb31Yz.js";import{m as re}from"./mounted-story-viewport-source-CAlEmE0_.js";import{s as oe}from"./story-arg-descriptors-Ek86ExX7.js";import{mountStoryObject3D as se,disposeStoryObject3D as N}from"./story-three-preview-C9W__8Or.js";import{m as ne}from"./three-story-model-BraQFA9h.js";import{S as ie,p as ae,s as le}from"./story-documents-DQ0KORmd.js";import{r as l}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{R3fSourceAuthoringAdapter as ce}from"./r3f-source-authoring-adapter-CG9heazM.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./viewport-surface-status-BFmnWp7z.js";import"./three.module-IFn-4i31.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./crash-null-boundary-v3a0uEgw.js";import"./events-156d8d12.esm-C734MYnx.js";import"./index-bQE2NA0D.js";import"./story-mount-turn-DFRTj5hi.js";import"./ResolutionPicker-DpHVJxn5.js";import"./StoryPreviewMount-BIfxmkYh.js";import"./surface-content-Dg9Kkazf.js";import"./presentation-BPP5pXeQ.js";import"./live-gesture-lock-DJbrjOqf.js";import"./writer-BPbm4_my.js";import"./three-projection-core-kubBTx0s.js";import"./three-DSsr_Lvp.js";import"./viewport-pick-context-DkawXbEi.js";import"./inference-diagnostics-YW0yJkKx.js";import"./instance-fork-actions-D3sRzS3K.js";import"./oid-transform-BOqL6YH6.js";import"./r3f-physics-binding-C8OqNRG2.js";import"./object3d-authoring-subject-CyE4rQ2A.js";import"./user-data-CZqsJDk-.js";import"./object-marks-DwvIEBOK.js";const de="threeStory.arg.",p=new Map;let j=0;const v=new Set;function b(){j++;for(const e of v)e()}function C(e){return v.add(e),()=>{v.delete(e)}}function I(){return j}function ue(e,t){return`three-story:${e}#${t}`}function k(){const e=U();if(!e)return null;const t=p.get(e.descriptor.id);return t?{...t,id:e.descriptor.id}:null}function g(e,t,r){const s=p.get(e);if(s){if(r===void 0){const o={...s.argOverrides};delete o[t],s.argOverrides=o}else s.argOverrides={...s.argOverrides,[t]:r};b()}}function A(e,t,r=t,s={}){P(),Q(le(e,t));const o=ue(e,t);return p.has(o)||(p.set(o,{modulePath:e,storyName:t,argOverrides:{}}),b()),Z({id:o,title:r,kind:"world",workspaceRole:"authored-subject",provenance:{sourcePath:e},Content:fe,closeable:!0,presentation:()=>({kind:"story",modulePath:e,storyName:t,mode:"preview"}),persist:({title:i})=>({modulePath:e,storyName:t,title:i}),onDispose:i=>{p.delete(i)&&b()}},{activate:s.activate!==!1})}function me(e,t,r){const{story:s}=E(e,t);return!s||q({modulePath:e,regions:ee()}).medium!=="three"?!1:(A(e,t,r??s.label),!0)}K({id:L,owner:"three-story-documents",open:(e,t)=>A(t.modulePath,t.storyName,t.title??t.storyName,t.activate===void 0?{}:{activate:t.activate})});X({kind:"world",owner:"three-story-documents",prepare:ae,restore:({state:e})=>{const t=e,r=typeof t?.modulePath=="string"?t.modulePath:null,s=typeof t?.storyName=="string"?t.storyName:null;if(!r||!s)return!1;const o=typeof t?.title=="string"?t.title:void 0;return me(r,s,o)}});function E(e,t){const r=x().find(s=>s.modulePath===e);return r?r.ok?{story:r.stories.find(s=>s.name===t),moduleError:void 0}:{story:void 0,moduleError:r.error}:{story:void 0,moduleError:void 0}}function fe({documentId:e,active:t}){l.useSyncExternalStore(C,I),l.useSyncExternalStore(_,x);const r=p.get(e),[s,o]=l.useState(null),[i,u]=l.useState(null),d=l.useRef(new Set);l.useEffect(()=>{if(s)for(const a of d.current){if(a===s)break;a.dispose(),d.current.delete(a)}},[s]),l.useEffect(()=>()=>{for(const a of d.current)a.dispose();d.current.clear()},[]);const[T,$]=l.useState(t),h=r?.modulePath,O=l.useMemo(()=>h?({store:a,scene:c,hierarchyRoots:y})=>{const R=new ce(a,c,{worldId:e,entryPath:h,writeBackend:te("The Asset Editor"),hierarchyMode:"definition",...y?{hierarchyRoots:y}:{}});return{adapter:R,dispose:()=>R.dispose()}}:void 0,[e,h]);l.useEffect(()=>{t&&$(!0)},[t]);const{story:m,moduleError:D}=r?E(r.modulePath,r.storyName):{story:void 0,moduleError:void 0},M=r?JSON.stringify(r.argOverrides):"";if(l.useEffect(()=>{if(!T||!m||!r)return;let a=!1;return u(null),se(m.Component,{...r.argOverrides}).then(c=>{if(a){N(c);return}if(!ne(c.root)){N(c),u("The story mounted with no three content — its first R3F commit rendered an empty subtree. A <Suspense> boundary around three content is the usual cause: the boundary commits its fallback first, so the real children arrive on a later commit this document never sees.");return}const y=re(c);d.current.add(y),o(y)}).catch(c=>{a||u(c instanceof Error?c.message:String(c))}),()=>{a=!0}},[T,m,r,M]),!r)return n.jsx("div",{style:{padding:12,fontSize:12,color:f.content.muted},children:"This story document is no longer available."});if((!m||i)&&!s){const a=`${r.modulePath}#${r.storyName}`;return n.jsx("div",{"data-testid":"three-story-document-error",style:{position:"relative",flex:1,minHeight:0},children:n.jsx(S,{testId:"three-story-surface-status",explanation:{tone:"error",title:`Story ${a} failed`,description:i??D??"It may have been renamed or removed; close this document."}})})}return s?n.jsxs("div",{style:{position:"relative",display:"flex",flex:1,minHeight:0},children:[n.jsx(H,{documentId:e,sourcePath:r.modulePath,build:s.build,displayName:m?.label??r.storyName,active:t,assetType:"component",...O?{sourceAuthoring:O}:{},cameraDirection:Y}),(!m||i)&&n.jsx(S,{testId:"three-story-surface-status",explanation:{tone:"error",title:"Source update failed",description:i??D??"This story is unavailable. The last working view is retained."}})]}):n.jsx("div",{"data-testid":"three-story-document-loading",style:{position:"relative",flex:1,minHeight:0},children:n.jsx(S,{testId:"three-story-surface-status",explanation:W({surface:"Story",rootIds:[`${r.modulePath}#${r.storyName}`],phase:"loading",content:"unknown"})})})}function pe(){l.useSyncExternalStore(C,I),l.useSyncExternalStore(_,x);const e=k();if(!e)return null;const{story:t}=E(e.modulePath,e.storyName),r=t?{...t.args,...e.argOverrides}:{},s=oe(r,de);return n.jsxs("div",{"data-testid":"inspector-story-args-three",style:{pointerEvents:"auto",padding:8,borderBottom:`1px solid ${f.boundary.default}`},children:[n.jsx("div",{style:{fontSize:11,color:f.content.primary,fontWeight:600,marginBottom:4},children:e.storyName}),s.length===0&&n.jsx("div",{style:{fontSize:11,color:f.content.dim},children:t?"This story declares no editable args.":"Story source unavailable."}),s.map(o=>n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0"},children:[n.jsx("span",{title:o.label,style:{width:90,flexShrink:0,fontSize:11,color:f.content.muted,overflow:"hidden",textOverflow:"ellipsis"},children:o.label}),o.type==="boolean"?n.jsx(J,{className:"vgai-checkbox","data-testid":`three-story-arg-${o.label}`,checked:r[o.label]===!0,onChange:i=>g(e.id,o.label,i.target.checked)}):o.type==="number"?n.jsx(w,{type:"number",className:"vgai-input","data-testid":`three-story-arg-${o.label}`,value:r[o.label],onChange:i=>{const u=i.target.value,d=Number.parseFloat(u);g(e.id,o.label,u===""||Number.isNaN(d)?void 0:d)},style:{width:80}}):o.type==="string"?n.jsx(w,{type:"text",className:"vgai-input","data-testid":`three-story-arg-${o.label}`,value:r[o.label],onChange:i=>g(e.id,o.label,i.target.value),style:{flex:1,minWidth:0}}):n.jsx("span",{"data-testid":`three-story-arg-${o.label}`,style:{fontSize:11,color:f.content.dim},children:JSON.stringify(r[o.label])})]},o.path))]})}const ye=F();function P(){ye.ensure(e=>{e(z({match:()=>k()!==null,id:V,title:B,icon:ie,order:G,Section:pe}))})}const rt="workspace.service";function ot(){return P(),()=>{}}export{rt as point,ot as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as r}from"./story-documents-DQ0KORmd.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";import"./three.module-IFn-4i31.js";import"./ResolutionPicker-DpHVJxn5.js";import"./surface-state-BAUJu6GY.js";import"./StoryPreviewMount-BIfxmkYh.js";import"./surface-content-Dg9Kkazf.js";import"./presentation-BPP5pXeQ.js";const v="workspace.service";function w(){return r(),()=>{}}export{v as point,w as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aw as p,ax as y,ay as S,az as b,aA as v}from"./index-Ckxb31Yz.js";const f={three:!1,canvas:!1,dom:!1};let r=f,a=0;const n=new Set;let i=!1;function j(){return l(),r}function w(e){return l(),n.add(e),()=>{n.delete(e)}}function l(){i||(i=!0,p(()=>{d()}),d())}function u(e){if(!(e.three===r.three&&e.canvas===r.canvas&&e.dom===r.dom)){r=e;for(const t of n)t()}}function M(e){const t=S({modulePath:e.modulePath,regions:b()});if(t.medium)return t.medium;e.modulePath&&v(e.modulePath,t.reason)}async function d(){const e=++a,t=y().flatMap(s=>s.ok?s.stories.map(o=>({...o,modulePath:s.modulePath})):[]);if(t.length===0)return u(f),r;const c={three:!1,canvas:!1,dom:!1};for(const s of t){const o=M(s);if(o&&(c[o]=!0),e!==a)return r}const{three:m,canvas:h,dom:P}=c;return e!==a||u({three:m,canvas:h,dom:P}),r}export{j as g,w as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as v}from"./index-nmcBqr7Y.js";import{withApplicationCollector as E}from"./canvas-preview-frames-CiAx7dpV.js";import{C as M}from"./crash-null-boundary-v3a0uEgw.js";import{m as b}from"./pixi-story-model-DNkfnWUV.js";import{aE as P}from"./index-Ckxb31Yz.js";import{r as S}from"./story-mount-turn-DFRTj5hi.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-BLo2LE8C.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 w=1e4,k=12,I="position:fixed;left:-20000px;top:0;width:512px;height:512px;overflow:hidden;contain:strict;pointer-events:none;visibility:hidden;";function C(t){return S(()=>t(D))}function R(t,c={}){return C(n=>n(t,c))}function _(t){return S(async()=>t.dispose())}async function J(t,c={}){const n=await R(t,c.props??{});try{const o=c.width??128,r=c.height??96;n.app.renderer.render({container:n.stage});const a=n.stage.getBounds(),s=c.layout==="fullscreen",d=8,e=n.app.screen.clone();s||(e.x=a.x-d,e.y=a.y-d,e.width=Math.max(1,a.width+d*2),e.height=Math.max(1,a.height+d*2));const i=o/r;if(!s&&e.width/e.height<i){const l=e.height*i;e.x-=(l-e.width)/2,e.width=l}else if(!s&&e.width/e.height>i){const l=e.width/i;e.y-=(l-e.height)/2,e.height=l}const u=n.app.renderer.background,h=await n.app.renderer.extract.canvas({target:n.stage,frame:e,...s&&u.alpha>0?{clearColor:u.colorRgba}:{}}),m=document.createElement("canvas");m.width=o,m.height=r;const f=m.getContext("2d");if(!f)throw new Error("Canvas story preview could not create a 2D readback context.");const g=Math.min(o/h.width,r/h.height),y=h.width*g,x=h.height*g;return f.drawImage(h,(o-y)/2,(r-x)/2,y,x),m.toDataURL("image/png")}finally{await _(n)}}const p=()=>new Promise(t=>setTimeout(t,0));async function D(t,c={}){typeof t.load=="function"&&await t.load();const n=await P(),o=document.createElement("div");o.setAttribute("style",I),document.body.appendChild(o);let r=null;const a=()=>{r?.unmount(),r=null,o.remove()};try{return await E(async s=>{let d=null;r=n.createRoot(o),r.render(v.createElement(M,{onCaught:h=>{d??=h}},v.createElement(t,c)));for(let h=0;h<k&&!(d||o.querySelector("canvas"));h++)await p();if(d)throw T(d);if(!o.querySelector("canvas"))throw new Error("The story rendered no canvas — it does not mount Pixi content.");const e=Date.now()+w;let i;for(;Date.now()<e;){if(d)throw T(d);if(i??=s[0],i&&b(i.stage))break;await p()}if(!i)throw new Error(`The story rendered a canvas but never initialized a Pixi Application within ${w/1e3}s — it is not a canvas story, or its renderer could not be created here.`);i.stop(),i.ticker.lastTime=0;let u=!1;return{host:o,stage:i.stage,ticker:i.ticker,app:i,dispose(){u||(u=!0,a())}}})}catch(s){throw a(),s}}const O=w;async function K(t,c=Date.now){if(t.length===0)return;const n=new Set,o=t.map(r=>{const a={postrender:()=>{n.add(r)}};return r.renderer?.runners.postrender.add(a),{app:r,observer:a}});try{const r=c()+O;for(;c()<r;){if(t.every(s=>s.stage!==void 0&&b(s.stage)&&n.has(s)))return;await p()}}finally{for(const{app:r,observer:a}of o)r.renderer?.runners.postrender.remove(a)}}function T(t){return new Error(`mountStoryPixi: the story threw while rendering — it does not mount Pixi content, or its component crashed. Original error: ${t instanceof Error?t.message:String(t)}`,{cause:t})}export{K as awaitPixiStoryFrame,J as capturePixiStoryThumbnail,_ as disposeStoryPixi,R as mountStoryPixi,C as withPixiStoryMountTurn};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bi as P,bj as L,bk as j}from"./index-Ckxb31Yz.js";const M=640,R=400;function F(e,t){return`portable-${e}:${t.map(n=>encodeURIComponent(n)).join("/")}`}function N(e){const t=new Map,n=[],u=new Map,r=new Map;for(const o of e){const s=P({modulePath:o.modulePath,...o.title?{title:o.title}:{}}),h=[...s.segments,s.leaf];let a=null;for(let d=0;d<h.length;d++){const p=h.slice(0,d+1),c=d===h.length-1,i=F(c?"component":"folder",p);t.has(i)||(t.set(i,{id:i,label:p.at(-1),role:c?"component":"folder",kind:c?"component":"group",typeLabel:c?"Component":d===0?"Category":"Folder",parentId:a,childIds:[],...c?{secondaryLabel:o.modulePath}:{}}),a?t.get(a)?.childIds.push(i):n.push(i)),a=i}const l=a;t.get(l)?.childIds.push(o.id),u.set(o.id,l);const f=r.get(l);f?f.storyIds.push(o.id):r.set(l,{id:l,label:L(s),storyIds:[o.id]})}return{sections:[...r.values()],nodes:[...t.values()],rootIds:n,storyParentIds:u}}function y(e){return e&&typeof e=="object"?e:null}function v(e){if(typeof e!="string")return null;const t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:null}function S(e){const t=y(y(e.viewport)?.options),n={...j};if(!t)return n;for(const[u,r]of Object.entries(t)){const o=y(r),s=y(o?.styles);!o||!s||typeof o.name!="string"||typeof s.width!="string"||typeof s.height!="string"||(n[u]={name:o.name,styles:{width:s.width,height:s.height},...typeof o.type=="string"?{type:o.type}:{}})}return n}function T(e){const t=e.viewport;if(typeof t=="string")return{value:t||null,isRotated:!1};const n=y(t);return{value:typeof n?.value=="string"&&n.value?n.value:null,isRotated:n?.isRotated===!0}}function x(e,t,n,u){const r=e.parameters??{},o=e.globals??{},s=r.layout,h=s==="centered"||s==="fullscreen"||s==="padded"?s:"padded",a=S(r),l=Object.entries(a).flatMap(([m,b])=>{const w=v(b.styles.width),I=v(b.styles.height);return w&&I?[{id:m,label:b.name,width:w,height:I}]:[]}),f=T(o),d=n===void 0?f.value:n,p=l.find(m=>m.id===d),c=p?.width??t?.width??M,i=p?.height??t?.height??R,g=u??f.isRotated;return{layout:h,choices:l,selectedViewportId:p?.id??null,locked:e.viewportLocked===!0,rotated:g,width:g?i:c,height:g?c:i}}function G(e,t=N(e)){return{index:t,resolve:x}}export{N as c,G as s};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/react-three-rapier.esm-
|
|
2
|
-
import{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/react-three-rapier.esm-BYzLhdSV.js","assets/index-Ckxb31Yz.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/three.module-IFn-4i31.js","assets/index-B4bmKkgY.css","assets/events-156d8d12.esm-C734MYnx.js","assets/index-bQE2NA0D.js","assets/BufferGeometryUtils-CAbuTPOA.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{T as U,eo as W,ce as z,h2 as H,_ as G}from"./index-Ckxb31Yz.js";import{r as F}from"./index-nmcBqr7Y.js";import{C as $}from"./crash-null-boundary-v3a0uEgw.js";import{T as q,s as Q,r as V,cd as X}from"./three.module-IFn-4i31.js";import{e as J,c as K}from"./events-156d8d12.esm-C734MYnx.js";import{r as Y}from"./story-mount-turn-DFRTj5hi.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-bQE2NA0D.js";const Z=1/60,ee=6,te=15,N=1e-4,ne=2,re=10,oe=250,ie=4e3;function g(e){e.updateMatrixWorld(!0);const t=[];return e.traverse(n=>{const r=n.matrixWorld.elements;t.push(r[12],r[13],r[14])}),t}function D(e){let t=0;return e.traverse(()=>{t++}),t}function x(e,t){if(e.length!==t.length)return Number.NaN;let n=0;for(let r=0;r<t.length;r+=3){const o=t[r]-e[r],a=t[r+1]-e[r+1],i=t[r+2]-e[r+2],s=Math.sqrt(o*o+a*a+i*i);if(!Number.isFinite(s))return Number.NaN;s>n&&(n=s)}return n}const se=()=>new Promise(e=>setTimeout(e,0));async function ae(e,t,n){const r=n();let o=D(e),a=r,i=!1;for(;n()-r<ie;){if(n()-a>=oe){i=!0;break}await t();const s=D(e);s!==o&&(o=s,a=n())}return{buildWaitMs:n()-r,buildSettled:i}}function C(e){return{outcome:e,steps:0,lastMotion:0,buildWaitMs:0,buildSettled:!0}}function ce(e){return e.hasPhysicsSubscriber!==!1}async function ue(e,t={}){const n=t.yieldTurn??se,r=t.now??(()=>Date.now()),o=e.update?.bind(e);if(!o)return C("unsupported");if(!ce(e))return C("still");const{buildWaitMs:a,buildSettled:i}=await ae(e.scene,n,r);let s=g(e.scene),l=0,u=0,h=!1,E=0,y="still";for(let d=0;d<te;d++){for(let w=0;w<ee;w++)o(Z),l++;await n();const m=g(e.scene),f=x(s,m);if(s=m,!Number.isFinite(f)){u=0;continue}if(E=f,f>N){h=!0,u=0,y="budget";continue}if(u++,h&&u>=ne){y="rest";break}}for(let d=0;d<re;d++){await n();const m=g(e.scene),f=x(s,m);if(s=m,Number.isFinite(f)&&f<=N)break}return{outcome:y,steps:l,lastMotion:E,buildWaitMs:a,buildSettled:i}}const le={packaged:!1,createElement:F.createElement,createR3FRoot:K,extendThree:J,three:q};let R=null;async function de(){const e=await import(W);for(const t of["createElement","createR3FRoot","extendThree"])if(typeof e[t]!="function")throw new Error(`The packaged R3F preview runtime did not export ${t} as a function — see vite-plugin-module-doorways.ts.`);if(typeof e.projectThree!="object"||e.projectThree===null)throw new Error("The packaged R3F preview runtime did not export projectThree — see vite-plugin-module-doorways.ts.");return{packaged:!0,createElement:e.createElement,createR3FRoot:e.createR3FRoot,extendThree:e.extendThree,three:e.projectThree}}async function me(){return await U()?(R||(R=de()),R):le}let T=null;function Ue(){return T}const v="vgai:story-preview-root",fe=1e4;function P(e){if(typeof e=="function"){const t=e;return t.displayName||t.name||""}if(e&&typeof e=="object"){const t=e;return typeof t.displayName=="string"&&t.displayName.length>0?t.displayName:typeof t.name=="string"&&t.name.length>0?t.name:P(t.type??t.render)}return""}function pe(e){const t=e,n=t._reactInternals??t._reactInternalFiber;return n&&typeof n=="object"?n:void 0}function he(e){const t=[P(e.type),P(e.elementType)];if(!(t.includes("RigidBody")||t.includes("InstancedRigidBodies")))return{provider:t.includes("Physics"),body:!1,movingBody:!1};const r=e.memoizedProps&&typeof e.memoizedProps=="object"?e.memoizedProps:{};return{provider:t.includes("Physics"),body:!0,movingBody:r.type!=="fixed"}}function ye(e){const t=e?[e]:[],n=new Set;let r=!1,o=!1,a=!1;for(;t.length>0;){const i=t.pop();if(n.has(i))continue;n.add(i);const s=he(i);r||=s.provider,o||=s.body,a||=s.movingBody,i.child&&t.push(i.child),i.sibling&&t.push(i.sibling)}return r?!o||a:!1}class we extends F.Component{componentDidMount(){this.props.onReport(ye(pe(this)))}render(){return this.props.children??null}}function Ee(e){return e instanceof Error&&e.message.includes("is not part of the THREE namespace")}function L(e){return Ee(e)?!0:e instanceof Error?e.message.includes("Hooks can only be used within the Canvas component")||e.message.includes("useGame: no Game in context"):!1}function We(e){return L(e)}function I(e){return e instanceof Error&&e.message.includes("useRapier must be used within <Physics")}async function Te(e){try{return(e.packaged?await import("/@id/@react-three/rapier"):await G(()=>import("./react-three-rapier.esm-BYzLhdSV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))).Physics}catch{return null}}function Se(e,t,n){const r=globalThis,o=r.reportError,a=typeof o=="function"?o.bind(globalThis):i=>{console.error(i)};r.reportError=i=>{L(i)||t&&I(i)||a(i)};try{return n(e)}finally{r.reportError=o}}function be(e){return{domElement:e,xr:{enabled:!1,addEventListener(){},removeEventListener(){},setAnimationLoop(){},getSession(){return null}},shadowMap:{enabled:!1,type:X},outputColorSpace:V,toneMapping:Q,setPixelRatio(){},setSize(){},setClearColor(){},setClearAlpha(){},setViewport(){},setScissor(){},setScissorTest(){},setAnimationLoop(){},clear(){},render(){},compile(){},dispose(){},getPixelRatio(){return 1},getContext(){return null}}}let O=null;function k(e){return Y(()=>e(Pe))}function ge(e){O!==e.extendThree&&(O=e.extendThree,e.extendThree(e.three))}async function Re(e,t={}){return k(n=>n(e,t))}function ve(e){return k(async()=>e.dispose())}async function Pe(e,t={}){const n=H();T=null;const r=n?Date.now():0,o=await me(),a=n?Date.now()-r:0,i=n?Date.now():0;typeof e.load=="function"&&await e.load();const s=n?Date.now()-i:0;try{return await j(o,e,t,void 0,{timed:n,runtimeMs:a,loadMs:s})}catch(l){if(!I(l))throw l;const u=await Te(o);if(!u)throw l;return await j(o,e,t,h=>o.createElement(u,{paused:!1},h),{timed:n,runtimeMs:a,loadMs:s})}}async function j(e,t,n,r,o){ge(e);const a=document.createElement("canvas"),i=Se(a,r===void 0,e.createR3FRoot);let s;const l=new Promise(c=>{s=c});await i.configure({gl:(()=>be(a)),frameloop:"never",size:{width:128,height:96,top:0,left:0},onCreated:c=>s(c)});let u=null,h;const E=new Promise((c,b)=>{h=b}),y=c=>{u??=new Error("mountStoryObject3D: the story threw while reconciling into an R3F root — it does not render `three` content (a DOM/React story), or its component crashed. Original error: "+String(c instanceof Error?c.message:c),{cause:c}),h(u)},d=e.createElement(t,n);let m=!1;const f=c=>{m=c};i.render(e.createElement("group",{name:v},e.createElement($,{onCaught:y},e.createElement(we,{onReport:f},r?r(d):d))));const w=o?.timed?Date.now():0;let M;const p=await Promise.race([l,E,new Promise((c,b)=>{M=setTimeout(()=>b(new Error("mountStoryObject3D: onCreated did not fire within 10s — the story never reached its first R3F commit and never threw. Either it is still SUSPENDED on a slow load (a suspending loader with no <Suspense> boundary holds the first commit until its content is ready), or its render is hung.")),fe)})]).catch(c=>{throw o?.timed&&(T={runtimeMs:o.runtimeMs,loadMs:o.loadMs,fiberMs:Date.now()-w,settleMs:0}),i.unmount(),c}).finally(()=>clearTimeout(M));if(u)throw i.unmount(),u;p.clock.autoStart=!1,p.clock.stop();const S=p.scene.getObjectByName(v);if(!S)throw i.unmount(),new Error(`mountStoryObject3D: the story's wrapper group ("${v}") is not in the scene after its first commit — the story rendered nothing mountable.`);const A=o?.timed?Date.now()-w:0,B=o?.timed?Date.now():0;await ue({scene:S,update:c=>{p.advance(p.clock.elapsedTime+Math.min(c,.1),!1)},hasPhysicsSubscriber:m}),o?.timed&&(T={runtimeMs:o.runtimeMs,loadMs:o.loadMs,fiberMs:A,settleMs:Date.now()-B});let _=p.clock.elapsedTime;return{root:S,scene:p.scene,advance(c){!(c>0)||!Number.isFinite(c)||(_+=Math.min(c,.1),p.advance(_,!1))},dispose(){i.unmount()}}}async function ze(e,t={}){const n=await Re(e,t.props??{});try{const r=z(n.root,{width:t.width??128,height:t.height??96,...t.camera===void 0?{}:{camera:t.camera},...t.pose===void 0?{}:{pose:t.pose}}),o=r.views.find(a=>a.view==="perspective")??r.views[0];if(!o)throw new Error("Story preview capture returned no views.");return`data:${o.mimeType};base64,${o.base64}`}finally{await ve(n)}}function He(){return typeof WebGLRenderingContext<"u"&&typeof navigator<"u"&&!navigator.userAgent.toLowerCase().includes("jsdom")}export{v as PREVIEW_ROOT_NAME,ze as captureStoryComponentThumbnail,ve as disposeStoryObject3D,We as isStoryThreeClassificationRefusal,Ue as lastStoryMountPhaseTiming,Re as mountStoryObject3D,He as supportsThreeStoryCapture,k as withStoryMountTurn};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{setUserData as d}from"./user-data-
|
|
1
|
+
import{setUserData as d}from"./user-data-CZqsJDk-.js";import"./object-marks-DwvIEBOK.js";const m="ingest:camera",y=1<<31;function I(s){return(s.layers.mask&y)!==0}function M(s){const t=s.material;if(!t)return null;const n=Array.isArray(t)?t[0]:t;return n?.color?n:null}function A(s,t){const n=new Map;let e=0,c=0,l=0;const f=(i,r)=>{const o=`ingest:${r}:${i.type}:${i.name||""}`;n.set(o,i),e++,i.isLight?l++:i.isMesh&&c++,u(i,r)},u=(i,r)=>{let o=0;for(const a of i.children)I(a)||(f(a,r?`${r}/${o}`:`${o}`),o++)};return u(s,""),t&&(n.set(m,t),e++),{byId:n,count:e,meshes:c,lights:l}}function h(s,t){const n=A(s,t);for(const[e,c]of n.byId)d(c,"entityId",e);return n}export{m as CAMERA_ID,h as assignStructuralIds,A as collectStructuralIds,M as colorMaterialOf};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{
|
|
1
|
+
import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{eP as a}from"./index-Ckxb31Yz.js";function m({explanation:t,testId:e,style:o}){return t?s.jsx(a,{"data-testid":e,tone:t.tone,title:t.title,description:s.jsx("span",{style:{whiteSpace:"pre-wrap"},children:t.description}),style:{position:"absolute",inset:0,pointerEvents:"none",...o}}):null}function i(t){return t.map(e=>`“${e}”`).join(", ")}function d(t,e){const o=e.map(n=>n.worldId);return{tone:"error",title:o.length===1?`${t} root ${i(o)} failed`:`${o.length} ${t} roots failed`,description:`${e.map(n=>`${n.worldId} (${n.kind}, ${n.identity}): ${n.message}`).join(`
|
|
2
2
|
`)}
|
|
3
3
|
If this followed an edit, Undo (Ctrl+Z) restores the previous source and remounts.`}}function c(t,e){return{tone:"loading",title:e.length===0?`Loading ${t}`:e.length===1?`Loading ${t} root ${i(e)}`:`Loading ${e.length} ${t} roots`,description:e.length===0?"Reading the project declaration to identify the root that belongs here.":`Waiting for ${i(e)} to finish mounting.`}}function u(t,e){return e.length===0?{tone:"neutral",title:`No ${t} root`,description:"No declared root belongs to this surface."}:{tone:"neutral",title:"No renderable content",description:(e.length===1?`Root ${i(e)} mounted successfully but currently produces no renderable content.`:`Roots ${i(e)} mounted successfully but currently produce no renderable content.`)+" If this world builds its content under its game systems, press Play (▶) to run it."}}function $(t){if(t.content==="present")return null;if(t.playSuspended)return{tone:"neutral",title:"Editing paused during Play",description:`${i(t.rootIds)} is running in the Game tab. Press Stop (⏹) to edit it here.`};const e=new Set(t.rootIds),o=(t.failures??[]).filter(r=>e.has(r.worldId));if(o.length>0)return d(t.surface,o);const n=(t.readiness??[]).filter(r=>r.state==="waiting"&&e.has(r.rootId)).map(r=>r.rootId),l=n.length>0?n:t.rootIds;return t.phase==="loading"||n.length>0||t.content==="unknown"?c(t.surface,l):u(t.surface,t.rootIds)}export{m as S,$ as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cv as i}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";function M(g,h="world"){const s=new Map,r=[],l=new Map;let d=0;for(const e of i)s.set(e,[]);let u=!1;const c=new Map;for(const e of i)c.set(e,new Set);const p=new Set;function m(e,n,t){const o=l.get(e)??e.name??`anonymous-${++d}`;l.set(e,o),g?.beginSystem(h,n,o);try{e(t)}catch(f){const a=e.name?`"${e.name}"`:"(anonymous)";console.error(`[system-runner] system ${a} in phase "${n}" threw:`,f)}finally{g?.endSystem(h,n,o)}}return{add(e,n,t){const o=s.get(e);if(!o)throw new Error(`Unknown phase: ${e}. Valid phases: ${i.join(", ")}`);o.push(n),l.set(n,t?.name??n.name??`anonymous-${++d}`)},remove(e,n){const t=s.get(e);if(!t)return;const o=t.indexOf(n);o!==-1&&t.splice(o,1),c.get(e)?.delete(n)},register(e){const n=s.get(e.phase);if(!n)throw new Error(`Unknown phase: ${e.phase}. Valid phases: ${i.join(", ")}`);n.push(e.update),l.set(e.update,e.name??e.update.name??`anonymous-${++d}`),r.push(e)},unregister(e){const n=s.get(e.phase);if(n){const o=n.indexOf(e.update);o!==-1&&n.splice(o,1)}c.get(e.phase)?.delete(e.update);const t=r.indexOf(e);t!==-1&&r.splice(t,1),p.delete(e),e.dispose?.()},runInit(){const e=[...r].sort((n,t)=>i.indexOf(n.phase)-i.indexOf(t.phase));for(const n of e)n.init?.()},runDispose(){for(const e of r){const n=s.get(e.phase);if(n){const t=n.indexOf(e.update);t!==-1&&n.splice(t,1)}e.dispose?.()}r.length=0},runPhase(e,n){const t=s.get(e);if(!t)throw new Error(`Unknown phase: ${e}. Valid phases: ${i.join(", ")}`);const o=c.get(e),f=[];for(const a of t)u&&!o.has(a)?f.push(a):m(a,e,n);for(const a of f)m(a,e,n)},run(e){for(const n of i)this.runPhase(n,e)},markEngineBoundary(){for(const e of i){const n=c.get(e);for(const t of s.get(e))n.add(t)}for(const e of r)p.add(e);u=!0},removeAllNonEngine(){if(!u)return;const e=r.filter(t=>p.has(t)),n=r.filter(t=>!p.has(t));r.length=0,r.push(...e);for(const t of n)t.dispose?.();for(const t of i){const o=s.get(t),f=c.get(t),a=o.filter(w=>f.has(w));o.length=0,o.push(...a)}},count(e){if(e)return s.get(e)?.length??0;let n=0;for(const t of s.values())n+=t.length;return n}}}export{M as createSystemRunner};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ar as d,as as w,at as b,au as N}from"./index-Ckxb31Yz.js";import{r as m}from"./collaboration-presence-CSLFNT7m.js";import{e as v,h as P,k as I}from"./play-mode-DomOvQie.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";import"./drei-asset-caches-jJoHXbTj.js";import"./native-debug-module-j-MekcLS.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-B3Cnne3x.js";import"./playtest-BnFenMBW.js";import"./game-contract-seams-TCpIMmHP.js";import"./instruments-IKn-vvNb.js";import"./frame-pacing-D5acoOzO.js";import"./edit-mode-authoring-D_BiHCQj.js";import"./json-history-resource-r-9q_hxP.js";import"./binding-resolver-BWwG10zJ.js";import"./adapter-surface-Y37Nzcyw.js";import"./entry-adjudication-BYy7TXOB.js";import"./r3f-root-factory-DjGnbU4n.js";import"./register-render-vitals-BO7x64kR.js";import"./render-census-BrQX_CXv.js";import"./structural-signature-0w-i_ats.js";import"./render-vitals-BZ5HtvMi.js";import"./static-batch-advisor-DqfXWRUq.js";import"./webgl-frame-capture-CRKX73E9.js";import"./world-state-ZGDGY_Xl.js";import"./frame-selector-cache-cCeUbcjG.js";import"./dev-build-gDYrq68M.js";import"./game-input-seams-BC6xhZy3.js";import"./seeded-random-CN0scLZj.js";import"./render-seed-DF4JHy7P.js";import"./frame-delta-D2nsw_Ht.js";import"./events-156d8d12.esm-C734MYnx.js";import"./index-bQE2NA0D.js";import"./realm-services-D25JHoqD.js";import"./canvas-entry-runtime-E5YjSgre.js";import"./three-ingest-runtime-DWijtqQ8.js";import"./EffectComposer-BHDH-NLz.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-qtkA7CQ8.js";import"./CSS3DRenderer-CAS2WZZy.js";import"./relative-path-guard-GiM7Lsz8.js";import"./capability-coverage-CfUeULDN.js";import"./react-root-DGLRLr-F.js";import"./editor-presentation-activity-C7SNSmTd.js";import"./active-ingest-DEgq9JiA.js";import"./ingest-source-persistence-DH6ioCOu.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-C9M98VNM.js";import"./mounted-authoring-TIN5EnCb.js";import"./three-DSsr_Lvp.js";import"./viewport-pick-context-DkawXbEi.js";import"./logger-Dqis-7W1.js";import"./run-ticks-settled-B0cTtmhQ.js";import"./three-authoring-adapter-Yqsank46.js";import"./source-persistence-backend-_-JMEXxE.js";import"./three-projection-core-kubBTx0s.js";import"./body-marks-D8iaje6y.js";import"./user-data-CZqsJDk-.js";import"./object-marks-DwvIEBOK.js";import"./structural-ids-CblajJQK.js";import"./object3d-authoring-subject-CyE4rQ2A.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./r3f-physics-binding-C8OqNRG2.js";import"./deferred-ingest-play-7V8OrW3e.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-BMT9kLWU.js";import"./board-guides-C3usUZZk.js";import"./writer-BPbm4_my.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BRgDdtVk.js";import"./inference-diagnostics-YW0yJkKx.js";const Xt="workspace.service";function Yt(){let i=null;const p=new Set;let e=null,n=null,a=d();const l=()=>{e?.(),e=null,n?.(),n=null,a=null},y=w(u=>{const k=u.participants.find(r=>r.participantId===b)?.capabilities.includes("test")??!1,t=u.activePlaytest,s=I();if(!k||!t){i=null,l(),m({playtest:null}),s?.mode==="team"&&P(),t||p.clear();return}s?.mode==="team"&&s.id===t.id||i!==t.id&&(p.has(t.id)||(i=t.id,m({playtest:{id:t.id,play:"starting",networking:"connecting",roomName:null,problem:null}}),v(t.seed,{mode:"team",id:t.id,roomKey:t.roomKey,revision:t.revision,participantId:b}).then(()=>{if(i!==t.id)return;l();const r=()=>{const o=d(),c=o?.getConnectionState?.(),f=o?.getRoomInfo?.();m({playtest:{id:t.id,play:"ready",networking:o?c==="connected"&&f?"ready":c==="error"?"error":"connecting":"not-declared",roomName:f?.roomName??null,problem:c==="error"?"The game networking adapter reported an error.":null}})},g=()=>{const o=d();o!==a&&(e?.(),a=o,e=o?.subscribe(r)??null),r()};n=N(g),g()}).catch(r=>{i===t.id&&(i=null,p.add(t.id),m({playtest:{id:t.id,play:"error",networking:"error",roomName:null,problem:r instanceof Error?r.message:String(r)}}))})))});return()=>{l(),y()}}export{Xt as point,Yt as start};
|