@volter/game-editor 0.5.138 → 0.5.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/BUNDLED_NOTICES +22 -22
  2. package/catalog/entries/blender.json +2 -2
  3. package/catalog/entries/music.json +2 -2
  4. package/dist/.vite/manifest.json +2181 -2181
  5. package/dist/assets/{AssetBudgetPanel-BHIwMy_1.js → AssetBudgetPanel-CjuDQvXh.js} +3 -3
  6. package/dist/assets/{AudioViewer-CuLR_cTm.js → AudioViewer-CNqYeRNi.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-CwW6iT46.js → CanvasBoardDocument-CmNuR9ae.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-DEtjbzl1.js → CanvasSceneViewport-DvTkPUgn.js} +1 -1
  9. package/dist/assets/{ColorInput-EJqds8Dg.js → ColorInput-BwQW6U_s.js} +1 -1
  10. package/dist/assets/{ColorPicker-1j5n_93h.js → ColorPicker-BW6cWcGu.js} +1 -1
  11. package/dist/assets/{EntityModelDocument-B-a4Bg0P.js → EntityModelDocument-B45uREqB.js} +1 -1
  12. package/dist/assets/{EnvironmentAssetDocument-btLkZ1qY.js → EnvironmentAssetDocument-8F0JNdiM.js} +1 -1
  13. package/dist/assets/{GameplaySessionTimeline-CItKX4Kr.js → GameplaySessionTimeline-fGpjyiDW.js} +1 -1
  14. package/dist/assets/{ImageViewer-DJk9xi-D.js → ImageViewer-lE0hupl1.js} +1 -1
  15. package/dist/assets/InspectorObjectPreview-DE5nmrtn.js +1 -0
  16. package/dist/assets/{JsonAssetDocument-K5bEMcqx.js → JsonAssetDocument-BzW0mX2D.js} +1 -1
  17. package/dist/assets/{LiveModuleDocument-DFrSDCEK.js → LiveModuleDocument-C4KOPaQ2.js} +1 -1
  18. package/dist/assets/{LutAssetDocument-BCbtxOKD.js → LutAssetDocument-DM8eFFMW.js} +1 -1
  19. package/dist/assets/{ModelAssetDocument-DXC1RtoM.js → ModelAssetDocument-B66Nc9mt.js} +1 -1
  20. package/dist/assets/{NonThreeAuthoringBootstrap-CZWc7G5S.js → NonThreeAuthoringBootstrap-BNAfKZfR.js} +1 -1
  21. package/dist/assets/{Object3DDocumentToolbar-iTP9Eu_I.js → Object3DDocumentToolbar-CPWckRgr.js} +1 -1
  22. package/dist/assets/Object3DDocumentViewport-BMrvQ5Kf.js +2 -0
  23. package/dist/assets/{Object3DPreview-CzCajTGg.js → Object3DPreview-36lk0UIE.js} +1 -1
  24. package/dist/assets/{OnlineAssetDetail-IB4NHnh1.js → OnlineAssetDetail-B9BScq83.js} +1 -1
  25. package/dist/assets/{PlayBar-D7_p0d8C.js → PlayBar-DEZQZ-nr.js} +1 -1
  26. package/dist/assets/{QuarksAssetDocument-B6HoQ0uQ.js → QuarksAssetDocument-BLOfOnE3.js} +1 -1
  27. package/dist/assets/{ReactCanvasControls-D6ZjGG05.js → ReactCanvasControls-B1FLc-mq.js} +1 -1
  28. package/dist/assets/{RootSelectionOverlay-B3miWoWq.js → RootSelectionOverlay-DM1Rf518.js} +1 -1
  29. package/dist/assets/{ShaderAssetDocument-Cc_sxNhw.js → ShaderAssetDocument-BXbdllfL.js} +1 -1
  30. package/dist/assets/{ShadowEditor-DfEsZMPh.js → ShadowEditor-_VQupFN-.js} +1 -1
  31. package/dist/assets/{SourceAssetViewer-DdDB6rVv.js → SourceAssetViewer-DMgNpg0D.js} +1 -1
  32. package/dist/assets/{StageHost-rrAaudhd.js → StageHost-ludQj81x.js} +2 -2
  33. package/dist/assets/{StoryPreviewMount-LkxAF-dZ.js → StoryPreviewMount-DUnK9kFG.js} +1 -1
  34. package/dist/assets/{ThreeBoardDocument-pMsZlPCw.js → ThreeBoardDocument-CE4_ot0k.js} +2 -2
  35. package/dist/assets/{ThreeIsolationSceneContent-DqRMTGCX.js → ThreeIsolationSceneContent-BOLqBhuv.js} +1 -1
  36. package/dist/assets/{ToolObject3DPreview-Dmj0VEKI.js → ToolObject3DPreview-CFpKP0XW.js} +1 -1
  37. package/dist/assets/{Toolbar-DL2yJN91.js → Toolbar-Bp9rS6kO.js} +1 -1
  38. package/dist/assets/{TransientHint-DKn1rO3Z.js → TransientHint-DBoWuJlJ.js} +1 -1
  39. package/dist/assets/{VideoViewer-CHodGfb7.js → VideoViewer-CFyD9Kgi.js} +1 -1
  40. package/dist/assets/{ViewportShadingMenu-B7ajCUNW.js → ViewportShadingMenu-BkqTtt1s.js} +1 -1
  41. package/dist/assets/{active-ingest-Dv_OdTlX.js → active-ingest-UClxAck1.js} +2 -2
  42. package/dist/assets/{animation-clock-BZq_g9Tm.js → animation-clock-DL7eB0yc.js} +1 -1
  43. package/dist/assets/{animation-mixers.service-CNGY-DZD.js → animation-mixers.service-53pK8xiS.js} +1 -1
  44. package/dist/assets/{animation-timeline.utility-BRYd6DOo.js → animation-timeline.utility-7M6hGJn-.js} +1 -1
  45. package/dist/assets/{asset-budget-asset.menu-DnLhREKe.js → asset-budget-asset.menu-DS7nTJj-.js} +1 -1
  46. package/dist/assets/{asset-budget.action-DNnZBGA_.js → asset-budget.action-CLLlqLpV.js} +1 -1
  47. package/dist/assets/{asset-budget.document-Dtqevh6E.js → asset-budget.document-CBj__W_j.js} +1 -1
  48. package/dist/assets/{asset-budget.menu-BeAUf2fa.js → asset-budget.menu-Dpit56eW.js} +1 -1
  49. package/dist/assets/{asset-editor-persistence-Kup62rrY.js → asset-editor-persistence-Bug7RRIw.js} +1 -1
  50. package/dist/assets/{asset-loaders-Ct_J9rzC.js → asset-loaders-D6nZhO7W.js} +1 -1
  51. package/dist/assets/{asset-preview-JYD38Zp4.js → asset-preview-DuK7on8l.js} +1 -1
  52. package/dist/assets/{audio-unlock.service-Cj4u44gK.js → audio-unlock.service-B4S6nX06.js} +1 -1
  53. package/dist/assets/{audio.utility-BH33ZS9l.js → audio.utility-BpuEWRtk.js} +1 -1
  54. package/dist/assets/autoplay.service-QRbYvo5H.js +1 -0
  55. package/dist/assets/{babylon-authoring-adapter-DBDJMWVk.js → babylon-authoring-adapter-DUiLnYTl.js} +1 -1
  56. package/dist/assets/{binding-resolver-BJmpG_Yc.js → binding-resolver-D9Q2MV2d.js} +2 -2
  57. package/dist/assets/{blender-node-editor.document-BIdVY2G-.js → blender-node-editor.document-CM46THXO.js} +1 -1
  58. package/dist/assets/{blender-properties-tab-CgBl9_ef.js → blender-properties-tab-DsmyRjvf.js} +1 -1
  59. package/dist/assets/{blender-runtime-host-BWzMRxSe.js → blender-runtime-host-CzU1tMpu.js} +3 -3
  60. package/dist/assets/{blender-runtime-skin-Uyz-hCLU.js → blender-runtime-skin-Cym5LZv7.js} +14 -14
  61. package/dist/assets/blender-runtime.document-BALwDLT4.js +13 -0
  62. package/dist/assets/{blender-screenshot.menu-DYPDHOLq.js → blender-screenshot.menu-DFKYLZFA.js} +1 -1
  63. package/dist/assets/{blender-timeline.document-Cb1mEzKv.js → blender-timeline.document-jaXu4ErX.js} +1 -1
  64. package/dist/assets/{blender-uv-editor.document-BXXhwMHP.js → blender-uv-editor.document-CR8chOjw.js} +1 -1
  65. package/dist/assets/{blender-version.status-CsdeHlCG.js → blender-version.status-BMvh4Fb7.js} +1 -1
  66. package/dist/assets/{blender.command-B74rl9y7.js → blender.command-2ZCwq83N.js} +1 -1
  67. package/dist/assets/{board-guides-DCZVS9SH.js → board-guides-B9_M1_yw.js} +1 -1
  68. package/dist/assets/{bridge.command-CUP2L2Fi.js → bridge.command-CY4biuRb.js} +3 -3
  69. package/dist/assets/{browserAll-Dg2ntR5k.js → browserAll-BJ6HgrrM.js} +1 -1
  70. package/dist/assets/{build-player.document-Ck9k0fvm.js → build-player.document-yfN6ppi_.js} +1 -1
  71. package/dist/assets/{build-profiles.document-COpGLAdK.js → build-profiles.document-C78x96wQ.js} +1 -1
  72. package/dist/assets/{build-progress.status-BxQ6kGlS.js → build-progress.status-CRH236cv.js} +1 -1
  73. package/dist/assets/{build-session-DEcdvDa_.js → build-session-B-jVkhsK.js} +1 -1
  74. package/dist/assets/{build.action-BNdIMwYu.js → build.action-CaOwQVWx.js} +1 -1
  75. package/dist/assets/{build.command-775MrR2D.js → build.command-TZ1XDxzG.js} +1 -1
  76. package/dist/assets/{build.header-CyAzV_8B.js → build.header-uSfplnt6.js} +1 -1
  77. package/dist/assets/{build.menu-BfJfKu1c.js → build.menu-BaFMcWMc.js} +1 -1
  78. package/dist/assets/{build.service-ze-yHQ_3.js → build.service-Cev-zNra.js} +1 -1
  79. package/dist/assets/{camera-CMNsR2sN.js → camera-Bno1KyTP.js} +1 -1
  80. package/dist/assets/{camera-runtime.inspector-1aOipNlB.js → camera-runtime.inspector-D86JI7ys.js} +1 -1
  81. package/dist/assets/{canvas-design-mount-BRIUOTHL.js → canvas-design-mount-C2Taz437.js} +3 -3
  82. package/dist/assets/{canvas-entry-runtime-BSfyLrCN.js → canvas-entry-runtime-Bfp_EKOs.js} +2 -2
  83. package/dist/assets/{canvas-preview-frames-DBeCiVxG.js → canvas-preview-frames-CzoYoSt0.js} +1 -1
  84. package/dist/assets/{canvas-story-capture.service-B_KVdQHq.js → canvas-story-capture.service-B_8qdRMx.js} +2 -2
  85. package/dist/assets/{capability-coverage-B3dpc4Vr.js → capability-coverage-DzW3P6PB.js} +1 -1
  86. package/dist/assets/{collaboration-presence-C6_5pE_F.js → collaboration-presence-D56QA1uu.js} +1 -1
  87. package/dist/assets/{collider-qdfzXiWh.js → collider-2ycsuTVp.js} +1 -1
  88. package/dist/assets/{component-board.service-BriDxYSH.js → component-board.service-CMSPFS7M.js} +2 -2
  89. package/dist/assets/{component-board.service-CJpeoHhL.js → component-board.service-Cgr3rV5m.js} +2 -2
  90. package/dist/assets/{component-board.service-BMyUzF63.js → component-board.service-qLwbD7ZX.js} +2 -2
  91. package/dist/assets/{component-contracts.service-CZfEDaoy.js → component-contracts.service-DaycBgEy.js} +1 -1
  92. package/dist/assets/{component-instance-root-L097uFNh.js → component-instance-root-BtcOmix2.js} +1 -1
  93. package/dist/assets/{component-verbs.command-DBa9Sapc.js → component-verbs.command-CgASCZ_i.js} +1 -1
  94. package/dist/assets/{component-verbs.service-adeyYjAC.js → component-verbs.service-MYm0Fubr.js} +1 -1
  95. package/dist/assets/{config-pmlId-XO.js → config-DAHx_OTe.js} +2 -2
  96. package/dist/assets/{configurations-Bh18GHAL.js → configurations-B_3y0ROf.js} +1 -1
  97. package/dist/assets/{connection.status-_r5e7IHq.js → connection.status-DdvXX0nH.js} +1 -1
  98. package/dist/assets/{constraints.inspector-GruG63LN.js → constraints.inspector-BEYExuvJ.js} +1 -1
  99. package/dist/assets/{content-bounds-gCMH0ZWN.js → content-bounds-uy3hDTXw.js} +1 -1
  100. package/dist/assets/{contract-system-adapters-BSVvCjkf.js → contract-system-adapters-DbOhqD2p.js} +1 -1
  101. package/dist/assets/{coverage.service-eT8_TDMQ.js → coverage.service-3wf81o3O.js} +1 -1
  102. package/dist/assets/{create-runtime-DrD9USBs.js → create-runtime-B_RHkiy2.js} +1 -1
  103. package/dist/assets/{curve-gysShrCJ.js → curve-Cbvp5PDK.js} +1 -1
  104. package/dist/assets/{data-asset-Cv5efoD3.js → data-asset-S-DmCs5W.js} +1 -1
  105. package/dist/assets/{data-ref-CC5xGtfi.js → data-ref-Bkfs_TKL.js} +1 -1
  106. package/dist/assets/{debug-bridge-CTZe2WbV.js → debug-bridge-Dw_lsP-r.js} +1 -1
  107. package/dist/assets/{debug-registry-By-N2Qt3.js → debug-registry-BhFgg7r8.js} +1 -1
  108. package/dist/assets/{deferred-ingest-play-Bbj_Xo7m.js → deferred-ingest-play-BV2x0R2h.js} +2 -2
  109. package/dist/assets/{design-time-canvas-mount-De7pe1uW.js → design-time-canvas-mount-Dt2zC5Ld.js} +2 -2
  110. package/dist/assets/{design-time-layers-Duu-wSgO.js → design-time-layers-Bx9HWC84.js} +1 -1
  111. package/dist/assets/{design-time-mount.service-BnApZYmC.js → design-time-mount.service-DRCUW2Mi.js} +2 -2
  112. package/dist/assets/{design-time-mount.service-C_rsJzXl.js → design-time-mount.service-bOSnO2Tq.js} +2 -2
  113. package/dist/assets/{design-time-react-mount-dst1xSiF.js → design-time-react-mount-B5uOG0H7.js} +1 -1
  114. package/dist/assets/{document-preview-three-DA2AAo-_.js → document-preview-three-BfnCwrpV.js} +1 -1
  115. package/dist/assets/{dom-authoring-adapter-srFRABzp.js → dom-authoring-adapter-BSC2MYSr.js} +1 -1
  116. package/dist/assets/{draco3d-C5WLoJCV.js → draco3d-Dyoe3IcD.js} +1 -1
  117. package/dist/assets/{edit-mode-audio.service-BMklAAG1.js → edit-mode-audio.service-CoCle552.js} +1 -1
  118. package/dist/assets/{edit-mode-authoring-DygJkh1f.js → edit-mode-authoring-B2Kesn9N.js} +1 -1
  119. package/dist/assets/{edit-mode-networking.service-Cm-vAD9j.js → edit-mode-networking.service-DtyT4MnP.js} +1 -1
  120. package/dist/assets/{editor-api-Du05tL35.js → editor-api-D2w0Wuf7.js} +1 -1
  121. package/dist/assets/{editor-layers-D-_AuXmZ.js → editor-layers-dgmb9OkA.js} +1 -1
  122. package/dist/assets/{editor-shell-store-DAlfX1aI.js → editor-shell-store-OpESIM4a.js} +1 -1
  123. package/dist/assets/{entity-object-DI8C17HY.js → entity-object-B79hRIdx.js} +1 -1
  124. package/dist/assets/{extend-w_ilWOUC.js → extend-DCwSMDqN.js} +1 -1
  125. package/dist/assets/{fork-menu-Oa5VTcwj.js → fork-menu-VNthv9S2.js} +1 -1
  126. package/dist/assets/{frame-debugger-store-DNZOm_Si.js → frame-debugger-store-Ljo9g747.js} +1 -1
  127. package/dist/assets/{game-contract-seams-_r-6Gjsb.js → game-contract-seams-DUJgCAbE.js} +1 -1
  128. package/dist/assets/{game-css-scope-transform-CfITus_d.js → game-css-scope-transform-CuwV1R3U.js} +1 -1
  129. package/dist/assets/{game-document.service-oqdzJgb5.js → game-document.service-CgOMkodb.js} +1 -1
  130. package/dist/assets/{game-eval.command-C94P_EJC.js → game-eval.command-DqFJazUI.js} +1 -1
  131. package/dist/assets/{game-module-access-spcEw9oX.js → game-module-access-DLq6IxVQ.js} +1 -1
  132. package/dist/assets/{game-network-DniciiFm.js → game-network-rngD8A9s.js} +3 -3
  133. package/dist/assets/{gameplay-export-CVpKJDFb.js → gameplay-export-yv4RxuAP.js} +1 -1
  134. package/dist/assets/{gameplay-replay-CAOWnrZ_.js → gameplay-replay-DXNRtWAq.js} +1 -1
  135. package/dist/assets/{gameplay.command-KQkOgMi1.js → gameplay.command-B9l-Zd_e.js} +1 -1
  136. package/dist/assets/{generation-jobs-Dn89ggtS.js → generation-jobs-DjMjddEZ.js} +1 -1
  137. package/dist/assets/{generation.service-CQdVUg62.js → generation.service-B65RZ3Xj.js} +1 -1
  138. package/dist/assets/{generations-Dvg4A8qW.js → generations-BogXUq8R.js} +1 -1
  139. package/dist/assets/{generations.status-B2uzxDGf.js → generations.status-DQ-cKRbO.js} +1 -1
  140. package/dist/assets/{hierarchy-marks-CrjPi0wR.js → hierarchy-marks--hCaQPWK.js} +1 -1
  141. package/dist/assets/{hosted-asset-materialization-44EdbMuh.js → hosted-asset-materialization-E4oslMed.js} +1 -1
  142. package/dist/assets/{index-CXxG_n76.js → index-8Wua2fLA.js} +1 -1
  143. package/dist/assets/{index-M0s8PQyx.js → index-B1cMcOkR.js} +1 -1
  144. package/dist/assets/{index-_K_il-3e.js → index-BU5Wa6YB.js} +1 -1
  145. package/dist/assets/{index-Bq2dTWiW.js → index-BY6LqkgI.js} +1 -1
  146. package/dist/assets/{index-CPzTYyBe.js → index-BYv-VrM5.js} +1 -1
  147. package/dist/assets/{index-B_kfqokr.js → index-COR1kS33.js} +2 -2
  148. package/dist/assets/{index-jJyzinl6.js → index-CQ2mBTB3.js} +7 -7
  149. package/dist/assets/{index-CL5reJEA.js → index-DB3OomiZ.js} +1 -1
  150. package/dist/assets/{index-Bmsups4o.js → index-sMqw9o3s.js} +1 -1
  151. package/dist/assets/{inference-diagnostics-DxBo7WDw.js → inference-diagnostics-H8BhQPo1.js} +1 -1
  152. package/dist/assets/{ingest-boot-viewport-BwKxL4xX.js → ingest-boot-viewport-7rPgtMec.js} +1 -1
  153. package/dist/assets/{ingest-siblings-CVAH3Hu_.js → ingest-siblings-jS7uWpHB.js} +1 -1
  154. package/dist/assets/{ingest-source-persistence-CVljy1iW.js → ingest-source-persistence-DAeIROgB.js} +1 -1
  155. package/dist/assets/{ingest.service-CUBzToex.js → ingest.service-slwcN_Zt.js} +1 -1
  156. package/dist/assets/{inspect-CT9c1MHO.js → inspect-C5cLskKr.js} +1 -1
  157. package/dist/assets/instances.command-DXvKf1k6.js +1 -0
  158. package/dist/assets/{json-history-resource-DnU0FBDZ.js → json-history-resource-Bm80nf1w.js} +1 -1
  159. package/dist/assets/{layered-pick-C3nuefTC.js → layered-pick-BN_u4vpH.js} +1 -1
  160. package/dist/assets/{light-jcwM0PKm.js → light-BPAKY7kG.js} +1 -1
  161. package/dist/assets/{live-project-verbs-DPmz6pMS.js → live-project-verbs-BCv08_fa.js} +1 -1
  162. package/dist/assets/{machine.document-FCngPRuE.js → machine.document-CEnp_rCc.js} +1 -1
  163. package/dist/assets/{machines.finder-ChDhu2Qe.js → machines.finder-BER4T2lc.js} +1 -1
  164. package/dist/assets/{material-DKBuqT4w.js → material-3JMiH9rk.js} +1 -1
  165. package/dist/assets/{material-factory-fVKO9QOn.js → material-factory-Du7WUqib.js} +1 -1
  166. package/dist/assets/{mesh-CZAcYO1_.js → mesh-DMH0PrCb.js} +1 -1
  167. package/dist/assets/{model-asset-sections.service-uYP3RhFU.js → model-asset-sections.service-CrwDT75X.js} +1 -1
  168. package/dist/assets/{model-inspection-CttU5qku.js → model-inspection-RazLBT4Q.js} +1 -1
  169. package/dist/assets/{model-thumbnail-CT6QIUlc.js → model-thumbnail-DlJcpPzi.js} +1 -1
  170. package/dist/assets/{models.finder-DFJqax4P.js → models.finder-DIFXBoQE.js} +1 -1
  171. package/dist/assets/{module-mode-BR94HESo.js → module-mode-BSqPULWZ.js} +2 -2
  172. package/dist/assets/{mount-canvas-ingest-root-BA9-8GR4.js → mount-canvas-ingest-root-DcHtUiIX.js} +2 -2
  173. package/dist/assets/{mount-dom-ingest-root-DVJ5Ae_A.js → mount-dom-ingest-root-BT-SneoF.js} +2 -2
  174. package/dist/assets/{mount-ingest-root-BY863v4N.js → mount-ingest-root-BWqm1g8h.js} +2 -2
  175. package/dist/assets/{mount-manifest-pmwLLraN.js → mount-manifest-Dk2kIP9S.js} +1 -1
  176. package/dist/assets/{mount-three-ingest-root-A4ixbU-c.js → mount-three-ingest-root-DC7XVSNu.js} +1 -1
  177. package/dist/assets/{mounted-authoring-VQMCawDe.js → mounted-authoring-42mbkzQk.js} +1 -1
  178. package/dist/assets/{mounted-story-viewport-source-Cn0YUl2d.js → mounted-story-viewport-source-DNALyUeR.js} +1 -1
  179. package/dist/assets/{native-debug-module-B9i2evat.js → native-debug-module-2WtZMm25.js} +1 -1
  180. package/dist/assets/{navigation-DxwQfC-b.js → navigation-BiKzso-N.js} +1 -1
  181. package/dist/assets/{navmesh.menu-BISOVogR.js → navmesh.menu-CRpN60zw.js} +1 -1
  182. package/dist/assets/{navmesh.service-DatopdaF.js → navmesh.service-DrEBUXWK.js} +1 -1
  183. package/dist/assets/network-observer.service-B8KW6Gxu.js +1 -0
  184. package/dist/assets/{network.utility-tbSigi0u.js → network.utility-Don7G5oX.js} +1 -1
  185. package/dist/assets/{object3d-document-session-registry-D6X_XC3g.js → object3d-document-session-registry-BhLWtMoZ.js} +2 -2
  186. package/dist/assets/{oid-transform-Cs6QIDn-.js → oid-transform-B_w-y892.js} +1 -1
  187. package/dist/assets/{particles-BSIwmP84.js → particles-Bcxa0rSB.js} +1 -1
  188. package/dist/assets/{pixi-authoring-adapter-BBRLTeD0.js → pixi-authoring-adapter-DNLOjEpY.js} +1 -1
  189. package/dist/assets/{pixi-live-write-target-C2HcS5j5.js → pixi-live-write-target-BfoISjV8.js} +1 -1
  190. package/dist/assets/{play.command-Cq585oqN.js → play.command-C75rc-GE.js} +2 -2
  191. package/dist/assets/{presentation-CgbanT6d.js → presentation-BJiNf5OD.js} +1 -1
  192. package/dist/assets/{product-YaVJAuWv.js → product-lR88S-ss.js} +1 -1
  193. package/dist/assets/{profiler.action-D4weLnOX.js → profiler.action-Bb0chqRo.js} +1 -1
  194. package/dist/assets/{profiler.menu-DM06JPhJ.js → profiler.menu-BSEfnsIH.js} +1 -1
  195. package/dist/assets/{profiler.utility--d5DAmrx.js → profiler.utility-BHTVOPh5.js} +1 -1
  196. package/dist/assets/{project-authoring-session-r3MZmwZy.js → project-authoring-session-Cmgm10J-.js} +2 -2
  197. package/dist/assets/{properties-bone-constraints.inspector-BbRP_hVC.js → properties-bone-constraints.inspector-DzkkZoCm.js} +1 -1
  198. package/dist/assets/{properties-bone.inspector-0xkD1-Nl.js → properties-bone.inspector-KyF4U4m5.js} +1 -1
  199. package/dist/assets/{properties-collection.inspector-dSsRIihH.js → properties-collection.inspector-PVgsrACR.js} +1 -1
  200. package/dist/assets/{properties-constraints.inspector-Dj24cURl.js → properties-constraints.inspector-CaVHavgQ.js} +1 -1
  201. package/dist/assets/{properties-data.inspector-Chle8El4.js → properties-data.inspector-7KR8NYvm.js} +1 -1
  202. package/dist/assets/{properties-material.inspector-DWHWFt5c.js → properties-material.inspector-Dxzt8Xcs.js} +1 -1
  203. package/dist/assets/{properties-modifiers.inspector-UAW9fDDK.js → properties-modifiers.inspector-esK_INJG.js} +1 -1
  204. package/dist/assets/{properties-object.inspector-DKmvJAUm.js → properties-object.inspector-Twn0WNsN.js} +1 -1
  205. package/dist/assets/{properties-output.inspector-jDgETnN3.js → properties-output.inspector-BpZE-DAu.js} +1 -1
  206. package/dist/assets/{properties-particles.inspector-DAHYKYH4.js → properties-particles.inspector-DFMWK_pm.js} +1 -1
  207. package/dist/assets/{properties-physics.inspector-Dw4dmPBe.js → properties-physics.inspector-ldvafNIb.js} +1 -1
  208. package/dist/assets/{properties-render.inspector-DmcUt39z.js → properties-render.inspector-Bul6aacN.js} +1 -1
  209. package/dist/assets/{properties-scene.inspector-m75tF0Y8.js → properties-scene.inspector-HVMqQVke.js} +1 -1
  210. package/dist/assets/{properties-texture.inspector-il7vLSQC.js → properties-texture.inspector-DVqbNfLB.js} +1 -1
  211. package/dist/assets/{properties-view-layer.inspector-CJLq6Plq.js → properties-view-layer.inspector-CWXcsbp9.js} +1 -1
  212. package/dist/assets/{properties-world.inspector-7Mgl3KCi.js → properties-world.inspector-rIgkn5hU.js} +1 -1
  213. package/dist/assets/{r3f-design-session-g3K8SA7_.js → r3f-design-session-NIeKhBOo.js} +2 -2
  214. package/dist/assets/{r3f-physics-binding-0Z-Q7TAs.js → r3f-physics-binding-Bnz_0MBc.js} +1 -1
  215. package/dist/assets/{r3f-source-authoring-adapter-BUkL26ZV.js → r3f-source-authoring-adapter-CmYnK9fs.js} +1 -1
  216. package/dist/assets/{react-canvas-navigation-Bl-C3u5d.js → react-canvas-navigation-DgfbnHxA.js} +1 -1
  217. package/dist/assets/{react-inspector.service-BNqCWQss.js → react-inspector.service-DIEnbFP5.js} +1 -1
  218. package/dist/assets/{react-story-board-Dfa-xkXN.js → react-story-board-ChhZ3xMR.js} +1 -1
  219. package/dist/assets/{react-three-rapier.esm-CpqSvopE.js → react-three-rapier.esm-CBGmsKYj.js} +1 -1
  220. package/dist/assets/{react-world-authoring-adapter-DI3eOEo4.js → react-world-authoring-adapter-CbLvc5Xf.js} +1 -1
  221. package/dist/assets/{realm-services-tDPiRCPb.js → realm-services-Hkd3KXxA.js} +1 -1
  222. package/dist/assets/{reflection-probe-capture.inspector-C2CVNZrp.js → reflection-probe-capture.inspector-BmLhQ6Rt.js} +1 -1
  223. package/dist/assets/{registry-ySka_qLr.js → registry-f7eUI3vB.js} +1 -1
  224. package/dist/assets/{relative-import-specifier-BRERqZAW.js → relative-import-specifier-N1r5PU5l.js} +1 -1
  225. package/dist/assets/{render-env-D45z89Rv.js → render-env-BmsPMzMD.js} +1 -1
  226. package/dist/assets/{render-features-C7cSRZN3.js → render-features-8WptNlDn.js} +1 -1
  227. package/dist/assets/{render-settings-DR5QBOKs.js → render-settings-k4Hd5jrC.js} +1 -1
  228. package/dist/assets/{resolve-three-C8S71ght.js → resolve-three-B6AVoQHZ.js} +3 -3
  229. package/dist/assets/{root-seam-contract-C9h43-BR.js → root-seam-contract-8hLS1SBd.js} +1 -1
  230. package/dist/assets/{run-selection-CLJcMxnx.js → run-selection-BelqeQ8J.js} +1 -1
  231. package/dist/assets/{scene-capture-C6fhSnrF.js → scene-capture-CNkinvGl.js} +1 -1
  232. package/dist/assets/{scene-document.service-d3mKJ6Jk.js → scene-document.service-BZNMZjtI.js} +2 -2
  233. package/dist/assets/{scene-framing-CBoB2huQ.js → scene-framing-BxR6xAtj.js} +1 -1
  234. package/dist/assets/{seeded-random-L-zxMJEn.js → seeded-random-BTfLEYmi.js} +1 -1
  235. package/dist/assets/{setup-renderer-DdAahdeK.js → setup-renderer-Hy8DUu6u.js} +1 -1
  236. package/dist/assets/{source-object3d-authoring-adapter-TyL6ep4h.js → source-object3d-authoring-adapter-CabVbvF1.js} +1 -1
  237. package/dist/assets/{source-persistence-backend-5r7ZgVcg.js → source-persistence-backend-DfO7BsJw.js} +1 -1
  238. package/dist/assets/{stage-keyboard-DC91cAwr.js → stage-keyboard-Cch0eYUh.js} +1 -1
  239. package/dist/assets/{stage-overlay-set-Cgk76ZzW.js → stage-overlay-set-DFAZ4FXc.js} +1 -1
  240. package/dist/assets/{stage-presence-markers-Dk46moW6.js → stage-presence-markers-CMEeirt8.js} +1 -1
  241. package/dist/assets/{stage-transform-tools-B8Kvrs95.js → stage-transform-tools-Czje_10c.js} +1 -1
  242. package/dist/assets/{standard-viewport-dressing-DOOhsVb3.js → standard-viewport-dressing-DTn1Fpqc.js} +1 -1
  243. package/dist/assets/{state-watch.action-DwFC99SK.js → state-watch.action-DXMjTYPm.js} +1 -1
  244. package/dist/assets/{state-watch.menu-UmYaSwVm.js → state-watch.menu-mvWgMuJs.js} +1 -1
  245. package/dist/assets/{state-watch.utility-USYESLNF.js → state-watch.utility-huAfMHMT.js} +1 -1
  246. package/dist/assets/{story-capture-D1Wz32iJ.js → story-capture-BfudQb8A.js} +1 -1
  247. package/dist/assets/{story-documents-DSeKExWG.js → story-documents-Bb4raAKr.js} +1 -1
  248. package/dist/assets/{story-documents.service-iZz78esz.js → story-documents.service-DhtikHPg.js} +1 -1
  249. package/dist/assets/{story-documents.service-BZCK67uk.js → story-documents.service-DjMSTc_l.js} +1 -1
  250. package/dist/assets/{story-media-presence-DqK7tIb-.js → story-media-presence-Dw2XtQ1w.js} +1 -1
  251. package/dist/assets/{story-pixi-preview-qioYZRuo.js → story-pixi-preview-CNosFkIF.js} +1 -1
  252. package/dist/assets/{story-presentation-BHabgaRo.js → story-presentation-BqyC-AzE.js} +1 -1
  253. package/dist/assets/{story-three-preview-D9C1V1jL.js → story-three-preview-DqncZLn4.js} +2 -2
  254. package/dist/assets/{studio-environment-5zHk3LgJ.js → studio-environment-CR1cIDh0.js} +1 -1
  255. package/dist/assets/{surface-state-UWlyGOeO.js → surface-state-CG7Ou_Jh.js} +1 -1
  256. package/dist/assets/{syntactic-prop-specs-D9Ns_3Sv.js → syntactic-prop-specs-aeB8_VU3.js} +1 -1
  257. package/dist/assets/{team-playtest.service-DIMS_U0z.js → team-playtest.service-pb1LDXeP.js} +1 -1
  258. package/dist/assets/{three-B770IJ5T.js → three-D94Cuk32.js} +1 -1
  259. package/dist/assets/{three-authoring-adapter-DBZVysyV.js → three-authoring-adapter-BUj0tjgD.js} +1 -1
  260. package/dist/assets/three-authoring.service-p9it1aT8.js +2 -0
  261. package/dist/assets/{three-ingest-runtime-BDJKnfM6.js → three-ingest-runtime-DxmN_s10.js} +1 -1
  262. package/dist/assets/{three-integration-v8HFwk_-.js → three-integration-BiI_lkIf.js} +2 -2
  263. package/dist/assets/three-integration.service-D3CYzRfO.js +1 -0
  264. package/dist/assets/{three-projection-core-CL3f2zFU.js → three-projection-core-C7CgCiKg.js} +1 -1
  265. package/dist/assets/{three-state-Cn8djDVD.js → three-state-CXVRdni_.js} +1 -1
  266. package/dist/assets/{three-story-capture.service-BIQEIr7q.js → three-story-capture.service-CsTBiEBK.js} +2 -2
  267. package/dist/assets/{three-story-model-CsjeOqvj.js → three-story-model-AMTDnnn-.js} +1 -1
  268. package/dist/assets/{three-viewport-presentation-DmNPG_uN.js → three-viewport-presentation-DbG0uCGP.js} +1 -1
  269. package/dist/assets/{transform-mode-request-Z6z1PjWr.js → transform-mode-request-LePIz6b6.js} +1 -1
  270. package/dist/assets/{transport-strip-Dc537gpa.js → transport-strip-DnuulxI4.js} +1 -1
  271. package/dist/assets/transport.header-CwcmYZNa.js +1 -0
  272. package/dist/assets/{tuples-ViUF6EQ5.js → tuples-CNWCQlPR.js} +1 -1
  273. package/dist/assets/{ui-board-document-oD7Nd8Sp.js → ui-board-document-BBrzbh95.js} +2 -2
  274. package/dist/assets/{user-data-M952sdEx.js → user-data-Bs7aRC-I.js} +1 -1
  275. package/dist/assets/{utility-view-state-CS4SRaKQ.js → utility-view-state-96_iVt4c.js} +1 -1
  276. package/dist/assets/{viewport-door-WO4YhuvC.js → viewport-door-d0NZ7oI-.js} +1 -1
  277. package/dist/assets/{viewport-root-presentation-rUMkCfQc.js → viewport-root-presentation-Bqr2fF0N.js} +1 -1
  278. package/dist/assets/{viewport-surface-status-ANAus83L.js → viewport-surface-status-Baan57-I.js} +1 -1
  279. package/dist/assets/{webworkerAll-CqA0j4Hi.js → webworkerAll-C5Q6lZd-.js} +1 -1
  280. package/dist/assets/{workspace-arrangement-BbI2Bg0l.js → workspace-arrangement-rUj27SGX.js} +1 -1
  281. package/dist/assets/{world-documents-DM0fZTkd.js → world-documents-D7UiOblt.js} +1 -1
  282. package/dist/assets/{world-root-stage-binding-BN8R3cm2.js → world-root-stage-binding-Bn462UiR.js} +1 -1
  283. package/dist/assets/{xstate-animation-binding-ByxPB4zT.js → xstate-animation-binding-jpldSq-l.js} +1 -1
  284. package/dist/assets/{xstate-animation-meta-DJ4PCMt-.js → xstate-animation-meta-B2NNMu30.js} +1 -1
  285. package/dist-node/cli.js +16 -16
  286. package/package.json +16 -16
  287. package/dist/assets/InspectorObjectPreview-B8LA0-Oq.js +0 -1
  288. package/dist/assets/Object3DDocumentViewport-CORiL1nJ.js +0 -2
  289. package/dist/assets/autoplay.service-DRaQhfiu.js +0 -1
  290. package/dist/assets/blender-runtime.document-BySU9w2T.js +0 -13
  291. package/dist/assets/instances.command-F9j8CuNc.js +0 -1
  292. package/dist/assets/network-observer.service-3W-Q-z6i.js +0 -1
  293. package/dist/assets/three-authoring.service-BySEsRQS.js +0 -2
  294. package/dist/assets/three-integration.service-Cw5JibT0.js +0 -1
  295. package/dist/assets/transport.header-DGUCeqJm.js +0 -1
@@ -1 +1 @@
1
- import{b as i,a as o}from"./blender-properties-tab-CgBl9_ef.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-jJyzinl6.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"./blender-runtime-host-BWzMRxSe.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-gCMH0ZWN.js";import"./hierarchy-marks-CrjPi0wR.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./ColorPicker-1j5n_93h.js";const e=["BLENDER_EEVEE"],t=["BLENDER_WORKBENCH"],s=[{title:"Render Engine",properties:["engine"]},{title:"Sampling",engine:e,from:"EEVEE",properties:[],sub:[{title:"Viewport",from:"EEVEE",properties:["taa_samples","use_taa_reprojection","use_shadow_jitter_viewport"]},{title:"Render",from:"EEVEE",properties:["taa_render_samples"]},{title:"Shadows",closed:!0,from:"EEVEE",properties:["use_shadows","shadow_ray_count","shadow_step_count","use_volumetric_shadows","volumetric_shadow_samples","shadow_resolution_scale"]},{title:"Advanced",closed:!0,from:"EEVEE",properties:["light_threshold"]}]},{title:"Light Paths",closed:!0,engine:e,from:"EEVEE",properties:[],sub:[{title:"Clamping",from:"EEVEE",properties:[],sub:[{title:"Surface",from:"EEVEE",properties:["clamp_surface_direct","clamp_surface_indirect"]},{title:"Volume",from:"EEVEE",properties:["clamp_volume_direct","clamp_volume_indirect"]}]},{title:"Intensity",from:"EEVEE",properties:["direct_light_intensity","indirect_light_intensity"]}]},{title:"Raytracing",closed:!0,engine:e,from:"EEVEE",properties:["use_raytracing","ray_tracing_method",{from:"Raytracing",property:"resolution_scale"}],sub:[{title:"Screen Tracing",closed:!0,from:"Raytracing",properties:["screen_trace_quality","screen_trace_thickness","use_backface_hit","backface_radiance_scale"]},{title:"Denoising",closed:!0,from:"Raytracing",properties:["use_denoise","denoise_spatial","denoise_temporal","denoise_bilateral"]},{title:"Fast GI Approximation",closed:!0,from:"EEVEE",properties:["use_fast_gi",{from:"Raytracing",property:"trace_max_roughness"},"fast_gi_method","fast_gi_resolution","fast_gi_ray_count","fast_gi_step_count","fast_gi_quality","fast_gi_distance","fast_gi_thickness_near","fast_gi_bias"]}]},{title:"Volumes",closed:!0,engine:e,from:"EEVEE",properties:["volumetric_tile_size","volumetric_samples","volumetric_sample_distribution","volumetric_ray_depth"],sub:[{title:"Custom Range",closed:!0,from:"EEVEE",properties:["use_volume_custom_range","volumetric_start","volumetric_end"]}]},{title:"Depth of Field",closed:!0,engine:e,from:"EEVEE",properties:["bokeh_max_size","bokeh_threshold","bokeh_neighbor_max","use_bokeh_jittered","bokeh_overblur"]},{title:"Motion Blur",closed:!0,engine:e,properties:["use_motion_blur","motion_blur_position","motion_blur_shutter",{from:"EEVEE",property:"motion_blur_depth_scale"},{from:"EEVEE",property:"motion_blur_max"},{from:"EEVEE",property:"motion_blur_steps"}]},{title:"Film",closed:!0,engine:e,properties:["filter_size","film_transparent",{from:"EEVEE",property:"use_overscan"},{from:"EEVEE",property:"overscan_size"}]},{title:"Performance",closed:!0,engine:e,properties:["use_high_quality_normals","anisotropic_filter"],sub:[{title:"Compositor",closed:!0,properties:["compositor_device","compositor_precision"],sub:[{title:"Denoise Nodes",closed:!0,properties:["compositor_denoise_device","compositor_denoise_preview_quality","compositor_denoise_final_quality"]}]},{title:"Memory",closed:!0,from:"EEVEE",properties:["shadow_pool_size","gi_irradiance_pool_size"]},{title:"Viewport",closed:!0,properties:["preview_pixel_size"]}]},{title:"Sampling",engine:t,from:"Workbench",properties:["render_aa","viewport_aa"]},{title:"Lighting",engine:t,from:"Workbench Shading",properties:["light","studio_light","use_world_space_lighting","studiolight_rotate_z"]},{title:"Object Color",engine:t,from:"Workbench Shading",properties:["color_type","single_color"]},{title:"Options",engine:t,from:"Workbench Shading",properties:["show_backface_culling","show_object_outline","object_outline_color","show_specular_highlight","show_xray","xray_alpha","show_shadows","shadow_intensity","use_dof","show_cavity","cavity_type","cavity_ridge_factor","cavity_valley_factor","curvature_ridge_factor","curvature_valley_factor"]},{title:"Film",closed:!0,engine:t,properties:["film_transparent"]},{title:"Grease Pencil",closed:!0,from:"Grease Pencil",properties:[],sub:[{title:"Viewport",closed:!0,from:"Grease Pencil",properties:["antialias_threshold"]},{title:"Render",closed:!0,from:"Grease Pencil",properties:["antialias_threshold_render","aa_samples","motion_blur_steps"]}]},{title:"Simplify",closed:!0,properties:["use_simplify"],sub:[{title:"Viewport",properties:["simplify_subdivision","simplify_child_particles","simplify_volumes","use_simplify_normals"]},{title:"Render",properties:["simplify_subdivision_render","simplify_child_particles_render"]}]},{title:"Color Management",closed:!0,from:"View Settings",properties:[{from:"Display Device",property:"display_device"},"view_transform","look","exposure","gamma"],sub:[{title:"White Balance",closed:!0,from:"View Settings",properties:["use_white_balance","white_balance_temperature","white_balance_tint"]},{title:"Curves",closed:!0,from:"View Settings",properties:["use_curve_mapping","curve_mapping"]},{title:"Advanced",closed:!0,from:"Display Device",properties:["emulation"]}]}],r={id:"render",standing:"any",curated:s},B="selection.inspector",W="Render",j="properties-render",G=10,q="scene",A=o(r),N=i(r);export{N as default,j as icon,A as match,G as order,B as point,q as railGroup,W as title};
1
+ import{b as i,a as o}from"./blender-properties-tab-DsmyRjvf.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CQ2mBTB3.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"./blender-runtime-host-CzU1tMpu.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-uy3hDTXw.js";import"./hierarchy-marks--hCaQPWK.js";import"./workspace-arrangement-rUj27SGX.js";import"./ColorPicker-BW6cWcGu.js";const e=["BLENDER_EEVEE"],t=["BLENDER_WORKBENCH"],s=[{title:"Render Engine",properties:["engine"]},{title:"Sampling",engine:e,from:"EEVEE",properties:[],sub:[{title:"Viewport",from:"EEVEE",properties:["taa_samples","use_taa_reprojection","use_shadow_jitter_viewport"]},{title:"Render",from:"EEVEE",properties:["taa_render_samples"]},{title:"Shadows",closed:!0,from:"EEVEE",properties:["use_shadows","shadow_ray_count","shadow_step_count","use_volumetric_shadows","volumetric_shadow_samples","shadow_resolution_scale"]},{title:"Advanced",closed:!0,from:"EEVEE",properties:["light_threshold"]}]},{title:"Light Paths",closed:!0,engine:e,from:"EEVEE",properties:[],sub:[{title:"Clamping",from:"EEVEE",properties:[],sub:[{title:"Surface",from:"EEVEE",properties:["clamp_surface_direct","clamp_surface_indirect"]},{title:"Volume",from:"EEVEE",properties:["clamp_volume_direct","clamp_volume_indirect"]}]},{title:"Intensity",from:"EEVEE",properties:["direct_light_intensity","indirect_light_intensity"]}]},{title:"Raytracing",closed:!0,engine:e,from:"EEVEE",properties:["use_raytracing","ray_tracing_method",{from:"Raytracing",property:"resolution_scale"}],sub:[{title:"Screen Tracing",closed:!0,from:"Raytracing",properties:["screen_trace_quality","screen_trace_thickness","use_backface_hit","backface_radiance_scale"]},{title:"Denoising",closed:!0,from:"Raytracing",properties:["use_denoise","denoise_spatial","denoise_temporal","denoise_bilateral"]},{title:"Fast GI Approximation",closed:!0,from:"EEVEE",properties:["use_fast_gi",{from:"Raytracing",property:"trace_max_roughness"},"fast_gi_method","fast_gi_resolution","fast_gi_ray_count","fast_gi_step_count","fast_gi_quality","fast_gi_distance","fast_gi_thickness_near","fast_gi_bias"]}]},{title:"Volumes",closed:!0,engine:e,from:"EEVEE",properties:["volumetric_tile_size","volumetric_samples","volumetric_sample_distribution","volumetric_ray_depth"],sub:[{title:"Custom Range",closed:!0,from:"EEVEE",properties:["use_volume_custom_range","volumetric_start","volumetric_end"]}]},{title:"Depth of Field",closed:!0,engine:e,from:"EEVEE",properties:["bokeh_max_size","bokeh_threshold","bokeh_neighbor_max","use_bokeh_jittered","bokeh_overblur"]},{title:"Motion Blur",closed:!0,engine:e,properties:["use_motion_blur","motion_blur_position","motion_blur_shutter",{from:"EEVEE",property:"motion_blur_depth_scale"},{from:"EEVEE",property:"motion_blur_max"},{from:"EEVEE",property:"motion_blur_steps"}]},{title:"Film",closed:!0,engine:e,properties:["filter_size","film_transparent",{from:"EEVEE",property:"use_overscan"},{from:"EEVEE",property:"overscan_size"}]},{title:"Performance",closed:!0,engine:e,properties:["use_high_quality_normals","anisotropic_filter"],sub:[{title:"Compositor",closed:!0,properties:["compositor_device","compositor_precision"],sub:[{title:"Denoise Nodes",closed:!0,properties:["compositor_denoise_device","compositor_denoise_preview_quality","compositor_denoise_final_quality"]}]},{title:"Memory",closed:!0,from:"EEVEE",properties:["shadow_pool_size","gi_irradiance_pool_size"]},{title:"Viewport",closed:!0,properties:["preview_pixel_size"]}]},{title:"Sampling",engine:t,from:"Workbench",properties:["render_aa","viewport_aa"]},{title:"Lighting",engine:t,from:"Workbench Shading",properties:["light","studio_light","use_world_space_lighting","studiolight_rotate_z"]},{title:"Object Color",engine:t,from:"Workbench Shading",properties:["color_type","single_color"]},{title:"Options",engine:t,from:"Workbench Shading",properties:["show_backface_culling","show_object_outline","object_outline_color","show_specular_highlight","show_xray","xray_alpha","show_shadows","shadow_intensity","use_dof","show_cavity","cavity_type","cavity_ridge_factor","cavity_valley_factor","curvature_ridge_factor","curvature_valley_factor"]},{title:"Film",closed:!0,engine:t,properties:["film_transparent"]},{title:"Grease Pencil",closed:!0,from:"Grease Pencil",properties:[],sub:[{title:"Viewport",closed:!0,from:"Grease Pencil",properties:["antialias_threshold"]},{title:"Render",closed:!0,from:"Grease Pencil",properties:["antialias_threshold_render","aa_samples","motion_blur_steps"]}]},{title:"Simplify",closed:!0,properties:["use_simplify"],sub:[{title:"Viewport",properties:["simplify_subdivision","simplify_child_particles","simplify_volumes","use_simplify_normals"]},{title:"Render",properties:["simplify_subdivision_render","simplify_child_particles_render"]}]},{title:"Color Management",closed:!0,from:"View Settings",properties:[{from:"Display Device",property:"display_device"},"view_transform","look","exposure","gamma"],sub:[{title:"White Balance",closed:!0,from:"View Settings",properties:["use_white_balance","white_balance_temperature","white_balance_tint"]},{title:"Curves",closed:!0,from:"View Settings",properties:["use_curve_mapping","curve_mapping"]},{title:"Advanced",closed:!0,from:"Display Device",properties:["emulation"]}]}],r={id:"render",standing:"any",curated:s},B="selection.inspector",W="Render",j="properties-render",G=10,q="scene",A=o(r),N=i(r);export{N as default,j as icon,A as match,G as order,B as point,q as railGroup,W as title};
@@ -1 +1 @@
1
- import{b as e,a as i}from"./blender-properties-tab-CgBl9_ef.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-jJyzinl6.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"./blender-runtime-host-BWzMRxSe.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-gCMH0ZWN.js";import"./hierarchy-marks-CrjPi0wR.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./ColorPicker-1j5n_93h.js";const o=[{title:"Scene",properties:["camera","background_set","active_clip"]},{title:"Units",closed:!0,from:"Units",properties:["system","scale_length","use_separate","system_rotation","length_unit","mass_unit","time_unit","temperature_unit"]},{title:"Gravity",closed:!0,properties:["use_gravity","gravity"]},{title:"Simulation",closed:!0,properties:["use_custom_simulation_range","simulation_frame_start","simulation_frame_end"]},{title:"Keying Sets",closed:!0,properties:["keying_sets"]},{title:"Audio",closed:!0,properties:["audio_volume","audio_distance_model","audio_doppler_speed","audio_doppler_factor"]},{title:"Rigid Body World",closed:!0,from:"Rigid Body World",properties:["enabled"],sub:[{title:"Settings",from:"Rigid Body World",properties:["collection","constraints","time_scale","use_split_impulse","substeps_per_frame","solver_iterations"]},{title:"Cache",closed:!0,from:"Rigid Body World",properties:["point_cache"]},{title:"Field Weights",closed:!0,from:"Rigid Body World",properties:["effector_weights"]}]},{title:"Light Probes",closed:!0,from:"EEVEE",engine:["BLENDER_EEVEE"],properties:["gi_cubemap_resolution"]},{title:"Animation",closed:!0,properties:["animation_data"]}],t={id:"scene",standing:"any",curated:o},k="selection.inspector",C="Scene",D="properties-scene",G=40,L="scene",V=i(t),w=e(t);export{w as default,D as icon,V as match,G as order,k as point,L as railGroup,C as title};
1
+ import{b as e,a as i}from"./blender-properties-tab-DsmyRjvf.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CQ2mBTB3.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"./blender-runtime-host-CzU1tMpu.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-uy3hDTXw.js";import"./hierarchy-marks--hCaQPWK.js";import"./workspace-arrangement-rUj27SGX.js";import"./ColorPicker-BW6cWcGu.js";const o=[{title:"Scene",properties:["camera","background_set","active_clip"]},{title:"Units",closed:!0,from:"Units",properties:["system","scale_length","use_separate","system_rotation","length_unit","mass_unit","time_unit","temperature_unit"]},{title:"Gravity",closed:!0,properties:["use_gravity","gravity"]},{title:"Simulation",closed:!0,properties:["use_custom_simulation_range","simulation_frame_start","simulation_frame_end"]},{title:"Keying Sets",closed:!0,properties:["keying_sets"]},{title:"Audio",closed:!0,properties:["audio_volume","audio_distance_model","audio_doppler_speed","audio_doppler_factor"]},{title:"Rigid Body World",closed:!0,from:"Rigid Body World",properties:["enabled"],sub:[{title:"Settings",from:"Rigid Body World",properties:["collection","constraints","time_scale","use_split_impulse","substeps_per_frame","solver_iterations"]},{title:"Cache",closed:!0,from:"Rigid Body World",properties:["point_cache"]},{title:"Field Weights",closed:!0,from:"Rigid Body World",properties:["effector_weights"]}]},{title:"Light Probes",closed:!0,from:"EEVEE",engine:["BLENDER_EEVEE"],properties:["gi_cubemap_resolution"]},{title:"Animation",closed:!0,properties:["animation_data"]}],t={id:"scene",standing:"any",curated:o},k="selection.inspector",C="Scene",D="properties-scene",G=40,L="scene",V=i(t),w=e(t);export{w as default,D as icon,V as match,G as order,k as point,L as railGroup,C as title};
@@ -1 +1 @@
1
- import{b as o,a as i}from"./blender-properties-tab-CgBl9_ef.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-jJyzinl6.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"./blender-runtime-host-BWzMRxSe.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-gCMH0ZWN.js";import"./hierarchy-marks-CrjPi0wR.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./ColorPicker-1j5n_93h.js";const e=r=>[{from:"Texture",property:"type",is:[r]},{from:"Texture",property:"use_nodes",is:[!1]}],s=[{title:"Texture",from:"Texture",properties:["type","use_nodes","node_tree"]},{title:"Clouds",from:"Texture",when:e("CLOUDS"),properties:["noise_basis","noise_type","cloud_type","noise_scale","noise_depth","nabla"]},{title:"Wood",from:"Texture",when:e("WOOD"),properties:["noise_basis","wood_type","noise_basis_2","noise_type","noise_scale","turbulence","nabla"]},{title:"Marble",from:"Texture",when:e("MARBLE"),properties:["noise_basis","marble_type","noise_basis_2","noise_type","noise_scale","noise_depth","turbulence","nabla"]},{title:"Magic",from:"Texture",when:e("MAGIC"),properties:["noise_depth","turbulence"]},{title:"Blend",from:"Texture",when:e("BLEND"),properties:["progression","use_flip_axis"]},{title:"Stucci",from:"Texture",when:e("STUCCI"),properties:["noise_basis","stucci_type","noise_type","noise_scale","turbulence"]},{title:"Image",from:"Texture",when:e("IMAGE"),properties:["image","image_user"],sub:[{title:"Alpha",closed:!0,from:"Texture",properties:["use_alpha","use_calculate_alpha","invert_alpha"]},{title:"Sampling",closed:!0,from:"Texture",properties:["use_interpolation","filter_size"]},{title:"Mapping",closed:!0,from:"Texture",properties:["use_flip_axis","extension","repeat_x","repeat_y","use_mirror_x","use_mirror_y","checker_distance","use_checker_even","use_checker_odd"],sub:[{title:"Crop",closed:!0,from:"Texture",properties:["crop_min_x","crop_min_y","crop_max_x","crop_max_y"]}]}]},{title:"Musgrave",from:"Texture",when:e("MUSGRAVE"),properties:["noise_basis","musgrave_type","noise_scale","nabla","dimension_max","lacunarity","octaves","offset","noise_intensity","gain"]},{title:"Voronoi",from:"Texture",when:e("VORONOI"),properties:["distance_metric","minkovsky_exponent","color_mode","noise_intensity","noise_scale","nabla"],sub:[{title:"Feature Weights",from:"Texture",properties:["weight_1","weight_2","weight_3","weight_4"]}]},{title:"Distorted Noise",from:"Texture",when:e("DISTORTED_NOISE"),properties:["noise_basis","noise_distortion","distortion","noise_scale","nabla"]},{title:"Mapping",from:"User",properties:["texture_coords","object","uv_layer","mapping","mapping_x","mapping_y","mapping_z","offset","scale"]},{title:"Influence",closed:!0,from:"User",properties:["blend_type","color"]},{title:"Colors",closed:!0,from:"Texture",properties:["use_clamp","factor_red","factor_green","factor_blue","intensity","contrast","saturation"],sub:[{title:"Color Ramp",closed:!0,from:"Texture",properties:["use_color_ramp","color_ramp"]}]},{title:"Animation",closed:!0,from:"Texture",properties:["animation_data"]}],t={id:"texture",curated:s},R="selection.inspector",U="Texture",k="properties-texture",B=160,G="texture",N=i(t),L=o(t);export{L as default,k as icon,N as match,B as order,R as point,G as railGroup,U as title};
1
+ import{b as o,a as i}from"./blender-properties-tab-DsmyRjvf.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CQ2mBTB3.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"./blender-runtime-host-CzU1tMpu.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-uy3hDTXw.js";import"./hierarchy-marks--hCaQPWK.js";import"./workspace-arrangement-rUj27SGX.js";import"./ColorPicker-BW6cWcGu.js";const e=r=>[{from:"Texture",property:"type",is:[r]},{from:"Texture",property:"use_nodes",is:[!1]}],s=[{title:"Texture",from:"Texture",properties:["type","use_nodes","node_tree"]},{title:"Clouds",from:"Texture",when:e("CLOUDS"),properties:["noise_basis","noise_type","cloud_type","noise_scale","noise_depth","nabla"]},{title:"Wood",from:"Texture",when:e("WOOD"),properties:["noise_basis","wood_type","noise_basis_2","noise_type","noise_scale","turbulence","nabla"]},{title:"Marble",from:"Texture",when:e("MARBLE"),properties:["noise_basis","marble_type","noise_basis_2","noise_type","noise_scale","noise_depth","turbulence","nabla"]},{title:"Magic",from:"Texture",when:e("MAGIC"),properties:["noise_depth","turbulence"]},{title:"Blend",from:"Texture",when:e("BLEND"),properties:["progression","use_flip_axis"]},{title:"Stucci",from:"Texture",when:e("STUCCI"),properties:["noise_basis","stucci_type","noise_type","noise_scale","turbulence"]},{title:"Image",from:"Texture",when:e("IMAGE"),properties:["image","image_user"],sub:[{title:"Alpha",closed:!0,from:"Texture",properties:["use_alpha","use_calculate_alpha","invert_alpha"]},{title:"Sampling",closed:!0,from:"Texture",properties:["use_interpolation","filter_size"]},{title:"Mapping",closed:!0,from:"Texture",properties:["use_flip_axis","extension","repeat_x","repeat_y","use_mirror_x","use_mirror_y","checker_distance","use_checker_even","use_checker_odd"],sub:[{title:"Crop",closed:!0,from:"Texture",properties:["crop_min_x","crop_min_y","crop_max_x","crop_max_y"]}]}]},{title:"Musgrave",from:"Texture",when:e("MUSGRAVE"),properties:["noise_basis","musgrave_type","noise_scale","nabla","dimension_max","lacunarity","octaves","offset","noise_intensity","gain"]},{title:"Voronoi",from:"Texture",when:e("VORONOI"),properties:["distance_metric","minkovsky_exponent","color_mode","noise_intensity","noise_scale","nabla"],sub:[{title:"Feature Weights",from:"Texture",properties:["weight_1","weight_2","weight_3","weight_4"]}]},{title:"Distorted Noise",from:"Texture",when:e("DISTORTED_NOISE"),properties:["noise_basis","noise_distortion","distortion","noise_scale","nabla"]},{title:"Mapping",from:"User",properties:["texture_coords","object","uv_layer","mapping","mapping_x","mapping_y","mapping_z","offset","scale"]},{title:"Influence",closed:!0,from:"User",properties:["blend_type","color"]},{title:"Colors",closed:!0,from:"Texture",properties:["use_clamp","factor_red","factor_green","factor_blue","intensity","contrast","saturation"],sub:[{title:"Color Ramp",closed:!0,from:"Texture",properties:["use_color_ramp","color_ramp"]}]},{title:"Animation",closed:!0,from:"Texture",properties:["animation_data"]}],t={id:"texture",curated:s},R="selection.inspector",U="Texture",k="properties-texture",B=160,G="texture",N=i(t),L=o(t);export{L as default,k as icon,N as match,B as order,R as point,G as railGroup,U as title};
@@ -1 +1 @@
1
- import{b as s,a as t}from"./blender-properties-tab-CgBl9_ef.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-jJyzinl6.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"./blender-runtime-host-BWzMRxSe.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-gCMH0ZWN.js";import"./hierarchy-marks-CrjPi0wR.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./ColorPicker-1j5n_93h.js";const r=[{title:"View Layer",properties:["use",{from:"Render",property:"use_single_layer"}]},{title:"Passes",properties:[],sub:[{title:"Data",engine:["BLENDER_EEVEE"],properties:["use_pass_combined","use_pass_z","use_pass_mist","use_pass_normal","use_pass_position","use_pass_vector","use_pass_grease_pencil"]},{title:"Data",engine:["BLENDER_WORKBENCH"],properties:["use_pass_combined","use_pass_z","use_pass_grease_pencil"]},{title:"Light",engine:["BLENDER_EEVEE"],properties:["use_pass_diffuse_direct","use_pass_diffuse_color","use_pass_glossy_direct","use_pass_glossy_color",{from:"EEVEE",property:"use_pass_volume_direct"},"use_pass_emit","use_pass_environment","use_pass_shadow","use_pass_ambient_occlusion",{from:"EEVEE",property:"use_pass_transparent"},{from:"EEVEE",property:"ambient_occlusion_distance"}]},{title:"Cryptomatte",closed:!0,properties:["use_pass_cryptomatte_object","use_pass_cryptomatte_material","use_pass_cryptomatte_asset","pass_cryptomatte_depth"]},{title:"Shader AOV",closed:!0,properties:["aovs"]},{title:"Light Groups",closed:!0,properties:["lightgroups"]}]},{title:"Filter",closed:!0,properties:["use_sky","use_solid","use_strand","use_volumes","use_grease_pencil","use_motion_blur"]},{title:"Override",closed:!0,properties:["material_override","world_override","samples"]}],e={id:"view_layer",standing:"any",curated:r},A="selection.inspector",C="View Layer",O="properties-view-layer",P=30,z="scene",G=t(e),S=s(e);export{S as default,O as icon,G as match,P as order,A as point,z as railGroup,C as title};
1
+ import{b as s,a as t}from"./blender-properties-tab-DsmyRjvf.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CQ2mBTB3.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"./blender-runtime-host-CzU1tMpu.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-uy3hDTXw.js";import"./hierarchy-marks--hCaQPWK.js";import"./workspace-arrangement-rUj27SGX.js";import"./ColorPicker-BW6cWcGu.js";const r=[{title:"View Layer",properties:["use",{from:"Render",property:"use_single_layer"}]},{title:"Passes",properties:[],sub:[{title:"Data",engine:["BLENDER_EEVEE"],properties:["use_pass_combined","use_pass_z","use_pass_mist","use_pass_normal","use_pass_position","use_pass_vector","use_pass_grease_pencil"]},{title:"Data",engine:["BLENDER_WORKBENCH"],properties:["use_pass_combined","use_pass_z","use_pass_grease_pencil"]},{title:"Light",engine:["BLENDER_EEVEE"],properties:["use_pass_diffuse_direct","use_pass_diffuse_color","use_pass_glossy_direct","use_pass_glossy_color",{from:"EEVEE",property:"use_pass_volume_direct"},"use_pass_emit","use_pass_environment","use_pass_shadow","use_pass_ambient_occlusion",{from:"EEVEE",property:"use_pass_transparent"},{from:"EEVEE",property:"ambient_occlusion_distance"}]},{title:"Cryptomatte",closed:!0,properties:["use_pass_cryptomatte_object","use_pass_cryptomatte_material","use_pass_cryptomatte_asset","pass_cryptomatte_depth"]},{title:"Shader AOV",closed:!0,properties:["aovs"]},{title:"Light Groups",closed:!0,properties:["lightgroups"]}]},{title:"Filter",closed:!0,properties:["use_sky","use_solid","use_strand","use_volumes","use_grease_pencil","use_motion_blur"]},{title:"Override",closed:!0,properties:["material_override","world_override","samples"]}],e={id:"view_layer",standing:"any",curated:r},A="selection.inspector",C="View Layer",O="properties-view-layer",P=30,z="scene",G=t(e),S=s(e);export{S as default,O as icon,G as match,P as order,A as point,z as railGroup,C as title};
@@ -1 +1 @@
1
- import{b as e,a as o}from"./blender-properties-tab-CgBl9_ef.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-jJyzinl6.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"./blender-runtime-host-BWzMRxSe.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-gCMH0ZWN.js";import"./hierarchy-marks-CrjPi0wR.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./ColorPicker-1j5n_93h.js";const r=[{title:"Surface",engine:["BLENDER_EEVEE"],properties:["use_nodes","node_tree"]},{title:"Volume",closed:!0,engine:["BLENDER_EEVEE"],properties:["use_eevee_finite_volume"]},{title:"Mist Pass",closed:!0,from:"Mist",engine:["BLENDER_EEVEE"],properties:["start","depth","falloff"]},{title:"Settings",closed:!0,engine:["BLENDER_EEVEE"],properties:[],sub:[{title:"Light Probe",properties:["probe_resolution"]},{title:"Sun",properties:["sun_threshold","sun_angle"],sub:[{title:"Shadow",closed:!0,properties:["use_sun_shadow","use_sun_shadow_jitter","sun_shadow_jitter_overblur","sun_shadow_filter_radius","sun_shadow_maximum_resolution"]}]}]},{title:"Viewport Display",closed:!0,properties:["color"]},{title:"Animation",closed:!0,properties:["animation_data"]}],t={id:"world",standing:"any",curated:r},v="selection.inspector",A="World",M="properties-world",j=50,x="scene",y=o(t),W=e(t);export{W as default,M as icon,y as match,j as order,v as point,x as railGroup,A as title};
1
+ import{b as e,a as o}from"./blender-properties-tab-DsmyRjvf.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CQ2mBTB3.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"./blender-runtime-host-CzU1tMpu.js";import"./preview-renderer-BrYNFV1p.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-uy3hDTXw.js";import"./hierarchy-marks--hCaQPWK.js";import"./workspace-arrangement-rUj27SGX.js";import"./ColorPicker-BW6cWcGu.js";const r=[{title:"Surface",engine:["BLENDER_EEVEE"],properties:["use_nodes","node_tree"]},{title:"Volume",closed:!0,engine:["BLENDER_EEVEE"],properties:["use_eevee_finite_volume"]},{title:"Mist Pass",closed:!0,from:"Mist",engine:["BLENDER_EEVEE"],properties:["start","depth","falloff"]},{title:"Settings",closed:!0,engine:["BLENDER_EEVEE"],properties:[],sub:[{title:"Light Probe",properties:["probe_resolution"]},{title:"Sun",properties:["sun_threshold","sun_angle"],sub:[{title:"Shadow",closed:!0,properties:["use_sun_shadow","use_sun_shadow_jitter","sun_shadow_jitter_overblur","sun_shadow_filter_radius","sun_shadow_maximum_resolution"]}]}]},{title:"Viewport Display",closed:!0,properties:["color"]},{title:"Animation",closed:!0,properties:["animation_data"]}],t={id:"world",standing:"any",curated:r},v="selection.inspector",A="World",M="properties-world",j=50,x="scene",y=o(t),W=e(t);export{W as default,M as icon,y as match,j as order,v as point,x as railGroup,A as title};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/r3f-source-authoring-adapter-BUkL26ZV.js","assets/component-instance-root-L097uFNh.js","assets/user-data-M952sdEx.js","assets/workspace-arrangement-BbI2Bg0l.js","assets/index-jJyzinl6.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/live-gesture-lock-DJbrjOqf.js","assets/relative-import-specifier-BRERqZAW.js","assets/three-projection-core-CL3f2zFU.js","assets/editor-layers-D-_AuXmZ.js","assets/three-B770IJ5T.js","assets/entity-object-DI8C17HY.js","assets/three-contract-Dkt6PmWY.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three.core-3arARmh6.js","assets/inference-diagnostics-DxBo7WDw.js","assets/instance-fork-actions-D3sRzS3K.js","assets/oid-transform-Cs6QIDn-.js","assets/writer-tw6EcuVO.js","assets/r3f-physics-binding-0Z-Q7TAs.js","assets/object3d-authoring-subject-XccsO0xG.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/three.module-BLhyNg0e.js"])))=>i.map(i=>d[i]);
2
- import{gp as Me,ag as Ae,gY as Ce,_ as Ee,ge as Pe,Z as T,p as ce,dP as pe,jF as xe,dy as de,jG as Fe,jH as Ie,bY as je,jI as De,jJ as He,jK as Be,bX as Le,aC as Ge,c0 as ue,dw as Ve,hf as Oe}from"./index-jJyzinl6.js";import{p as _e,B as fe,q as ye}from"./edit-mode-authoring-DygJkh1f.js";import{F as ze,G as We,H as qe}from"./game-network-DniciiFm.js";import{a as Ue}from"./binding-resolver-BJmpG_Yc.js";import{a as Ne}from"./realm-services-tDPiRCPb.js";import{p as Je}from"./scene-framing-CBoB2huQ.js";import{i as Ke,b as Qe,n as Xe,a as Ye}from"./native-debug-module-B9i2evat.js";import{createAssetCache as Ze}from"./assets-BcrMQHRv.js";import{d as ke,a as et,b as tt}from"./create-runtime-DrD9USBs.js";import{T as ot}from"./three.module-BLhyNg0e.js";import{_ as me,fp as ee,el as st}from"./three.core-3arARmh6.js";import{w as rt,l as nt}from"./live-gesture-lock-DJbrjOqf.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./seeded-random-L-zxMJEn.js";import"./debug-registry-By-N2Qt3.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-DmeaOP4r.js";import"./index-DzuOGwVB.js";import"./live-project-verbs-DPmz6pMS.js";import"./capability-coverage-B3dpc4Vr.js";import"./game-contract-seams-_r-6Gjsb.js";import"./json-history-resource-DnU0FBDZ.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-Dv_OdTlX.js";import"./ingest-source-persistence-CVljy1iW.js";import"./contract-system-adapters-BSVvCjkf.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-rUMkCfQc.js";import"./mounted-authoring-VQMCawDe.js";import"./entity-object-DI8C17HY.js";import"./user-data-M952sdEx.js";import"./workspace-arrangement-BbI2Bg0l.js";import"./three-contract-Dkt6PmWY.js";import"./three-B770IJ5T.js";import"./editor-layers-D-_AuXmZ.js";import"./component-instance-root-L097uFNh.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./adapter-surface-Y37Nzcyw.js";import"./three-authoring-adapter-DBZVysyV.js";import"./source-persistence-backend-5r7ZgVcg.js";import"./three-projection-core-CL3f2zFU.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-0Z-Q7TAs.js";import"./deferred-ingest-play-Bbj_Xo7m.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DI3eOEo4.js";import"./board-guides-DCZVS9SH.js";import"./relative-import-specifier-BRERqZAW.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CT9c1MHO.js";import"./inference-diagnostics-DxBo7WDw.js";import"./writer-tw6EcuVO.js";import"./three-state-Cn8djDVD.js";import"./editor-shell-store-DAlfX1aI.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./viewport-door-WO4YhuvC.js";import"./game-surface-defaults-D8S4cRxi.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./canvas-entry-runtime-BSfyLrCN.js";import"./three-ingest-runtime-BDJKnfM6.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./CSS3DRenderer-BsAqfavI.js";import"./native-entry-surface-BE8LJNdu.js";import"./loader-BTUKnX5Q.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./binding-Bmxqznjk.js";import"./root-stacking-BEd9ZvxC.js";import"./setup-renderer-DdAahdeK.js";import"./index-DHhMOs_s.js";import"./defaults-DKiBJCPN.js";import"./render-settings-DR5QBOKs.js";import"./render-features-C7cSRZN3.js";import"./loop-gate-report-N52EWFGD.js";import"./system-slot-E2mEdiih.js";import"./performance-profiler-CMbwGBuk.js";function it(t,e){const i=()=>{},a=new Set(["dispose","forceContextLoss","forceContextRestore","setAnimationLoop","setSize","setPixelRatio","setDrawingBufferSize"]),u=new Map,v={...e.shadowMap};let R=e.xr.enabled;const b=e.getClearColor(new me);let C=e.getClearAlpha(),M=null,G=0,V=0;const d=e.getViewport(new ee),h=e.getScissor(new ee);let P=e.getScissorTest(),y=!1,x=!1,F=!1;const O=(c,o,s,n,w)=>{typeof o=="number"?c.set(o,s,n,w):c.copy(o)},H=new Proxy(e.xr,{get(c,o){if(o==="enabled")return R;if(o==="setAnimationLoop"||o==="addEventListener"||o==="removeEventListener")return i;const s=Reflect.get(c,o,c);return typeof s=="function"?s.bind(c):s},set(c,o,s){return o==="enabled"?(R=s,!0):Reflect.set(c,o,s,c)}}),q=new Proxy(e.renderLists,{get(c,o){if(o==="dispose")return i;const s=Reflect.get(c,o,c);return typeof s=="function"?s.bind(c):s}});function _(c,o){const s=new Map,n={...e.shadowMap},w=e.xr.enabled,$=e.getClearColor(new me),I=e.getClearAlpha(),K=e.getRenderTarget(),Q=e.getActiveCubeFace(),W=e.getActiveMipmapLevel(),U=e.getViewport(new ee),te=e.getScissor(new ee),X=e.getScissorTest();try{for(const[j,N]of u)s.set(j,Reflect.get(e,j)),Reflect.set(e,j,N);return Object.assign(e.shadowMap,v),e.xr.enabled=R,e.setClearColor(b,C),e.setViewport(d),e.setScissor(h),e.setScissorTest(P),e.setRenderTarget(M,G,V),y&&e.setViewport(d),x&&e.setScissor(h),F&&e.setScissorTest(P),c.apply(e,o)}finally{for(const[j,N]of s)Reflect.set(e,j,N);Object.assign(e.shadowMap,n),e.xr.enabled=w,e.setClearColor($,I),e.setViewport(U),e.setScissor(te),e.setScissorTest(X),e.setRenderTarget(K,Q,W)}}const z=new Map;return new Proxy(e,{get(c,o){if(o==="domElement")return t;if(o==="shadowMap")return v;if(o==="xr")return H;if(o==="renderLists")return q;if(a.has(o))return i;if(o==="getRenderTarget")return()=>M;if(o==="getActiveCubeFace")return()=>G;if(o==="getActiveMipmapLevel")return()=>V;if(o==="setRenderTarget")return(n,w=0,$=0)=>{M=n,G=w,V=$,y=x=F=!1};if(o==="getViewport")return n=>n.copy(d);if(o==="getCurrentViewport")return n=>M&&!y?n.copy(M.viewport):(n.copy(d).multiplyScalar(e.getPixelRatio()),y?n.round():n.floor());if(o==="getScissor")return n=>n.copy(h);if(o==="getScissorTest")return()=>P;if(o==="setViewport")return(n,w,$,I)=>{O(d,n,w,$,I),y=!0};if(o==="setScissor")return(n,w,$,I)=>{O(h,n,w,$,I),x=!0};if(o==="setScissorTest")return n=>{P=n,F=!0};if(o==="getClearColor")return n=>n.copy(b);if(o==="getClearAlpha")return()=>C;if(o==="setClearColor")return(n,w=C)=>{b.set(n),C=w};if(o==="setClearAlpha")return n=>{C=n};if(u.has(o))return u.get(o);const s=Reflect.get(c,o,c);if(typeof s!="function")return s;if(!z.has(o)){const n=/^(render|compile|clear|copy|init|readRenderTarget)/.test(String(o));z.set(o,n?(...w)=>{if(!((o==="render"||String(o).startsWith("clear"))&&!M))return _(s,w)}:s.bind(c))}return z.get(o)},set(c,o,s){return o!=="domElement"&&u.set(o,s),!0}})}class at{pending=new WeakMap;remember(e,i){const a=[...i];a.length===0?this.pending.delete(e):this.pending.set(e,a)}take(e,i){const a=[...i],u=this.pending.get(e)??[];return this.pending.delete(e),a.length>0?a:u}}function he(t){return decodeURIComponent(t.split("?")[0]).replace(/^\/@fs\/(?=[A-Za-z]:\/)/,"").replace(/^\/@fs/,"")}class lt{sources=new Map;applied=new Map;expected=new Map;missingRevision=!1;source(e){this.sources.set(e.file,e)}complete(e){for(const[i,a]of this.sources){const u=e.filter(R=>a.timestamp===R.timestamp);(a.boundaries?a.boundaries.every(R=>u.some(b=>b.acceptedPath===R)):u.some(R=>he(R.acceptedPath)===i))&&(this.applied.set(a.path,a.sha),this.sources.delete(i))}}matches(e){const i=he(e.acceptedPath);return[...this.sources.values()].some(a=>a.timestamp===e.timestamp&&(a.boundaries?a.boundaries.includes(e.acceptedPath):a.file===i))}revision(e){for(const i of e)this.expected.set(i.path,i.sha),i.sha===null&&this.applied.delete(i.path)}needsRemount(){if(this.missingRevision)return!0;for(const[e,i]of this.expected)if(i===null||this.applied.get(e)!==i)return!0;return!1}missing(){this.missingRevision=!0}mounted(){this.expected.clear(),this.applied.clear(),this.sources.clear(),this.missingRevision=!1}}function ct(t){return t instanceof st||t!==null&&typeof t=="object"&&t.isScene===!0}function pt(t){return t.find(e=>e.surface==="three")?.id??null}const ge=new at;function dt(t,e,i){return new Error(`three root "${t}" failed to mount: ${e} did not export a RootAdapter or a default React component (exports: ${i.join(", ")||"(nothing)"}).`)}function ut(t,e){const i=je(e);T.error(`[r3f-design] world "${t}" failed to mount: ${i}`,"authoring");const a=De(i);return a&&He(a).then(u=>T.error(`[r3f-design] world "${t}": ${Be(u)}`,"authoring")),Le({worldId:t,kind:"three",identity:"default-three",message:i}),i}async function ft(t,e,i,a){const u=await t.loadEntryModule(i,e,"three"),v=a===i?u:await t.loadEntryModule(a,e,"three");return{designModule:u,rootModule:v}}function mt(t,e,i,a,u,v){ke(t,e,i,{id:a}),Ke(t,u?[u]:[]),Qe(t,We(t,v?[v]:[]))}function ht(t){const e=document.createElement("canvas"),i=it(e,t),a=Ze(),u=et({loop:tt({update:()=>{}}),assets:a});return{game:u,host:{three:ot,surface:{canvas:e,width:1280,height:720},renderer:i,assets:a,headless:!1,game:u},dispose:()=>u.dispose()}}function we(t){return{id:t.id,kind:t.surface,adapter:t.adapter,entryOrScenePath:t.entry??t.scene,zOrder:t.zOrder??0,pausable:t.pausable??!0}}function ne(t){let e=!1,i=!1;const a=()=>{e||i||t.shell.playState!=="stopped"||(i=!0,ye())},u=t.shell.subscribe(a);return a(),()=>{e=!0,u()}}async function ls(t,e,i){const a=Ge();if(!a)return()=>{};const u=await Me();if(t.shell.playState!=="stopped")return ne(t);const v=_e(u);if(!v)return()=>{};const R=pt(Ae(v)),b=R?Ce(v,R):void 0;if(!b)return()=>{};const C=b.world?.entry??b.entry,M=b.world?.export;if(!C||!/\.(tsx|jsx)$/.test(C))return()=>{};const G=Ee(()=>import("./r3f-source-authoring-adapter-BUkL26ZV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),V=Pe();let d=!1,h=!1,P=null,y=null,x=!1,F=null,O=!1,H=!1,q,_,z,c=null,o=null;const s=b.id,n=C,w=()=>{o||!c||d||h||t.shell.playState!=="stopped"||(o=c.systemAdapters,ue(o))},$=()=>{o&&(o=null,ue(null))},I=async()=>{const r=await Ne(a.rootPath,Ve()),{designModule:p,rootModule:f}=await ft(r,s,n,b.entry??n),l=Xe(s,f),m=Ye(s,f,"three"),g=await Ue(p,s,{...M===void 0?{}:{namedExport:M},entryPath:n});if(!g)throw dt(s,n,Object.keys(p));return M!==void 0?{adapter:g,entryDebug:l,entrySystems:m}:{adapter:g,entryDebug:l,entrySystems:m,components:p.components??p.behaviors}},K=async(r,p,f)=>{const{host:l,game:m,dispose:g}=ht(i);let S;try{S=await r.mount(l)}catch(Z){throw g(),Z}if(S.kind!=="three"||!ct(S.scene))throw S.dispose(),g(),new Error(`entry adapter for world "${s}" did not mount a three scene`);return mt(m,r,S,s,p,f),{root:S,game:m,disposeHost:g}},Q=r=>{P=r.root,c=r.game,_?.();const p=r.game;_=p.subscribeSystemAdapters?.(()=>{if(c!==p)return;const f=p.systemAdapters;o&&(o=f,Oe(f)),t.shell.notifyIngestEdit()}),q=r.disposeHost},W=()=>{$(),_?.(),_=void 0,c=null;try{P?.dispose()}catch(r){T.error(`[r3f-design] dispose failed: ${r}`,"authoring")}P=null;try{q?.()}catch(r){T.error(`[r3f-design] design host dispose failed: ${r}`,"authoring")}q=void 0},U=()=>{if(!x)return;x=!1;const r=F;F=null,r?t.releaseAdoptedScene(r):t.exitPlayScene()},te=()=>{h=!0,U(),W(),e.replaceChild(s,new fe(t.shell,we(b),"R3F design session suspended by play mode — Stop restores it.")),t.shell.notifyIngestEdit()},X=r=>{const p=ut(s,r);e.replaceChild(s,new fe(t.shell,we(b),p)),t.shell.notifyIngestEdit()},j=setTimeout(()=>{T.warn(`[r3f-design] world "${s}" is still importing after 20s (${n}). The in-browser compiler or a module download may be stalled on a slow connection — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4);try{const[r,{R3fSourceAuthoringAdapter:p},f]=await Promise.all([I(),G,V]);if(clearTimeout(j),!r)return T.warn(`[r3f-design] world "${s}" produced no design entry (${n}) — the scene stays empty. This is a bug worth reporting; reload the tab to retry.`,"authoring"),()=>{};if(d)return()=>{};if(t.shell.playState!=="stopped")return ne(t);const l=await K(r.adapter,r.entryDebug,r.entrySystems);if(Q(l),d||t.shell.playState!=="stopped")return W(),d?()=>{}:ne(t);y=new p(t,l.root.scene,{worldId:s,entryPath:n,writeBackend:f,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(s,y),ze(l.root.scene).then(S=>{S&&!d&&t.shell.notifyIngestEdit()});const m=ge.take(t,t.shell.selectedEntityIds);t.enterPlayScene(l.root.scene,l.root.rendererConfig),x=!0,F=l.root.scene,t.focusOnScene(()=>Je(null,l.root.scene));const g=m.filter(S=>e.hierarchy.node(S)!==null);g.length>0&&t.shell.selectMultiple(g),pe(s),w(),t.shell.notifyIngestEdit(),T.log(`[r3f-design] world "${s}" mounted for design-time authoring (${n})`,"authoring")}catch(r){clearTimeout(j),X(r)}const N=(r,p,f,l,m)=>{const g=performance.now()-p;g<400||console.info(`[r3f-design] world "${r}" remounted in ${g.toFixed(0)}ms (import ${(f-p).toFixed(0)}ms, mount ${(l-f).toFixed(0)}ms, settle ${(m-l).toFixed(0)}ms, adopt ${(performance.now()-m).toFixed(0)}ms)`)},be=async()=>{if(d||h)return;const r=[...t.shell.selectedEntityIds],p=B,f=t.shell.projectHistory?.getSnapshot().busy===!0;let l="importing";const m=setTimeout(()=>{T.warn(`[r3f-design] world "${s}" remount is still ${l} after 20s (${n}) — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4),g=performance.now();let S=g,Z=g,ae=g;try{const D=await I();if(S=performance.now(),!D||d||h){console.info(`[r3f-design] world "${s}" remount abandoned after import (${D?d?"torn down":"suspended":"no entry"})`);return}l="mounting";const A=await K(D.adapter,D.entryDebug,D.entrySystems);Z=performance.now();for(let E=0;E<50&&(await rt(),await Se(),!(!nt()&&t.shell.projectHistory?.getSnapshot().busy!==!0));E+=1);if(ae=performance.now(),!d&&!h&&B!==p){A.root.dispose(),A.disposeHost(),L();return}if(d||h){console.info(`[r3f-design] world "${s}" remount abandoned after mount (${d?"torn down":"suspended"})`),A.root.dispose(),A.disposeHost();return}const k=new Set(t.shell.selectedEntityIds);if(U(),W(),Q(A),y)y.adoptScene(A.root.scene),e.childAdapters().find(re=>re.worldId===s)?.adapter!==y&&(e.replaceChild(s,y),T.log(`[r3f-design] world "${s}" recovered and remounted for design-time authoring (${n})`,"authoring"));else{const[{R3fSourceAuthoringAdapter:E},re]=await Promise.all([G,V]);y=new E(t,A.root.scene,{worldId:s,entryPath:n,writeBackend:re,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(s,y),T.log(`[r3f-design] world "${s}" recovered and mounted for design-time authoring (${n})`,"authoring")}const $e=k.size>0&&(k.size!==r.length||r.some(E=>!k.has(E)));t.enterPlayScene(A.root.scene,A.root.rendererConfig),x=!0,F=A.root.scene;const le=($e?[...k]:r).filter(E=>y?.hierarchy.node(E)!==null);le.length>0&&t.shell.selectMultiple(le),pe(s),w(),t.shell.notifyIngestEdit(),N(s,g,S,Z,ae),J.mounted(),clearTimeout(Y),H=!1}catch(D){X(D),!H&&!d&&!h?(H=!0,setTimeout(()=>{!d&&!h&&L()},400)):!d&&!h&&(B===p&&!f?ve(D):(H=!1,L()))}finally{clearTimeout(m),!d&&!h&&B!==p&&L()}},Se=async()=>{const r=t.shell.projectHistory;if(!r)return;const p=Date.now()+1e4;for(;r.getSnapshot().busy&&Date.now()<p;)await new Promise(f=>{const l=setTimeout(f,250),m=r.subscribe(()=>{clearTimeout(l),m(),f()})})},ve=async r=>{const p=r instanceof Error?r.message:String(r);if(!p.includes("fiber crashed"))return;if(/Could not load |Failed to fetch|Unexpected token '<'|not valid JSON/.test(p)){T.error(`World "${s}" failed to load a project asset (${p}). The edit is kept; the world remounts once the asset can be served.`,"authoring");return}const f=t.shell.projectHistory;if(!f)return;const l=f.getSnapshot(),m=l.canUndo?l.transactions[l.cursor-1]:void 0;if(!m||Date.now()-m.timestamp>15e3){console.info(`[r3f-design] world "${s}" crash auto-undo skipped (${m?"last edit too old":l.canUndo?"no entry":`cannot undo: busy=${l.busy} blocked=${l.blocked}`})`);return}if(!await f.undo().catch(()=>!1)){console.info(`[r3f-design] world "${s}" crash auto-undo refused by history`);return}H=!1,T.error(`Undid “${m.label}”: that edit crashed world "${s}" (${r instanceof Error?r.message:String(r)}). The previous source is restored.`,"authoring"),L()};let B=0;const J=new lt;let Y;const L=()=>{if(d||h){console.info(`[r3f-design] world "${s}" remount skipped: ${d?"session torn down":"suspended for play"}`);return}O||(O=!0,setTimeout(()=>{O=!1,be()},80))},Re=xe(r=>{qe(r).then(()=>{B+=1,L()})});let oe=de()?.revision??0;const Te=Fe(r=>{B+=1;const f=de()?.revisions.filter(m=>m.revision>oe)??[];f.length!==r-oe&&J.missing(),oe=r;const l=f.flatMap(m=>m.resources);J.revision(l),!(l.length&&!J.needsRemount())&&(clearTimeout(Y),Y=setTimeout(()=>{l.length&&!J.needsRemount()||(B+=1,L())},2e3))});let ie=!1,se=!1;return z=t.shell.subscribe(()=>{if(!d){if(t.shell.playState==="stopped"?w():$(),!h&&!se&&t.shell.playState!=="stopped"){se=!0,Ie(()=>{se=!1,!(d||h||t.shell.playState==="stopped")&&te()});return}h&&!ie&&t.shell.playState==="stopped"&&(ie=!0,ye())}}),()=>{d=!0,console.info(`[r3f-design] world "${s}" design session torn down`),$(),Re(),Te(),clearTimeout(Y),z?.(),!h&&t.shell.playState==="stopped"&&t.shell.selectedEntityIds.size>0&&ge.remember(t,t.shell.selectedEntityIds),U(),W()}}export{ft as loadR3FDesignEntryModules,ls as mountR3FDesignSession,mt as registerR3FDesignRoot,ut as reportDesignMountFailure,dt as unresolvedDesignEntryError};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/r3f-source-authoring-adapter-CmYnK9fs.js","assets/component-instance-root-BtcOmix2.js","assets/user-data-Bs7aRC-I.js","assets/workspace-arrangement-rUj27SGX.js","assets/index-CQ2mBTB3.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/live-gesture-lock-DJbrjOqf.js","assets/relative-import-specifier-N1r5PU5l.js","assets/three-projection-core-C7CgCiKg.js","assets/editor-layers-dgmb9OkA.js","assets/three-D94Cuk32.js","assets/entity-object-B79hRIdx.js","assets/three-contract-Dkt6PmWY.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three.core-3arARmh6.js","assets/inference-diagnostics-H8BhQPo1.js","assets/instance-fork-actions-D3sRzS3K.js","assets/oid-transform-B_w-y892.js","assets/writer-tw6EcuVO.js","assets/r3f-physics-binding-Bnz_0MBc.js","assets/object3d-authoring-subject-XccsO0xG.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/three.module-BLhyNg0e.js"])))=>i.map(i=>d[i]);
2
+ import{gp as Me,ag as Ae,gY as Ce,_ as Ee,ge as Pe,Z as T,p as ce,dP as pe,jF as xe,dy as de,jG as Fe,jH as Ie,bY as je,jI as De,jJ as He,jK as Be,bX as Le,aC as Ge,c0 as ue,dw as Ve,hf as Oe}from"./index-CQ2mBTB3.js";import{p as _e,B as fe,q as ye}from"./edit-mode-authoring-B2Kesn9N.js";import{F as ze,G as We,H as qe}from"./game-network-rngD8A9s.js";import{a as Ue}from"./binding-resolver-D9Q2MV2d.js";import{a as Ne}from"./realm-services-Hkd3KXxA.js";import{p as Je}from"./scene-framing-BxR6xAtj.js";import{i as Ke,b as Qe,n as Xe,a as Ye}from"./native-debug-module-2WtZMm25.js";import{createAssetCache as Ze}from"./assets-BcrMQHRv.js";import{d as ke,a as et,b as tt}from"./create-runtime-B_RHkiy2.js";import{T as ot}from"./three.module-BLhyNg0e.js";import{_ as me,fp as ee,el as st}from"./three.core-3arARmh6.js";import{w as rt,l as nt}from"./live-gesture-lock-DJbrjOqf.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./seeded-random-BTfLEYmi.js";import"./debug-registry-BhFgg7r8.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-DmeaOP4r.js";import"./index-DzuOGwVB.js";import"./live-project-verbs-BCv08_fa.js";import"./capability-coverage-DzW3P6PB.js";import"./game-contract-seams-DUJgCAbE.js";import"./json-history-resource-Bm80nf1w.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-UClxAck1.js";import"./ingest-source-persistence-DAeIROgB.js";import"./contract-system-adapters-DbOhqD2p.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-Bqr2fF0N.js";import"./mounted-authoring-42mbkzQk.js";import"./entity-object-B79hRIdx.js";import"./user-data-Bs7aRC-I.js";import"./workspace-arrangement-rUj27SGX.js";import"./three-contract-Dkt6PmWY.js";import"./three-D94Cuk32.js";import"./editor-layers-dgmb9OkA.js";import"./component-instance-root-BtcOmix2.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./adapter-surface-Y37Nzcyw.js";import"./three-authoring-adapter-BUj0tjgD.js";import"./source-persistence-backend-DfO7BsJw.js";import"./three-projection-core-C7CgCiKg.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-Bnz_0MBc.js";import"./deferred-ingest-play-BV2x0R2h.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CbLvc5Xf.js";import"./board-guides-B9_M1_yw.js";import"./relative-import-specifier-N1r5PU5l.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-C5cLskKr.js";import"./inference-diagnostics-H8BhQPo1.js";import"./writer-tw6EcuVO.js";import"./three-state-CXVRdni_.js";import"./editor-shell-store-OpESIM4a.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./viewport-door-d0NZ7oI-.js";import"./game-surface-defaults-D8S4cRxi.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./canvas-entry-runtime-Bfp_EKOs.js";import"./three-ingest-runtime-DxmN_s10.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./CSS3DRenderer-BsAqfavI.js";import"./native-entry-surface-BE8LJNdu.js";import"./loader-BTUKnX5Q.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./binding-Bmxqznjk.js";import"./root-stacking-BEd9ZvxC.js";import"./setup-renderer-Hy8DUu6u.js";import"./index-DHhMOs_s.js";import"./defaults-DKiBJCPN.js";import"./render-settings-k4Hd5jrC.js";import"./render-features-8WptNlDn.js";import"./loop-gate-report-N52EWFGD.js";import"./system-slot-E2mEdiih.js";import"./performance-profiler-CMbwGBuk.js";function it(t,e){const i=()=>{},a=new Set(["dispose","forceContextLoss","forceContextRestore","setAnimationLoop","setSize","setPixelRatio","setDrawingBufferSize"]),u=new Map,v={...e.shadowMap};let R=e.xr.enabled;const b=e.getClearColor(new me);let C=e.getClearAlpha(),M=null,G=0,V=0;const d=e.getViewport(new ee),h=e.getScissor(new ee);let P=e.getScissorTest(),y=!1,x=!1,F=!1;const O=(c,o,s,n,w)=>{typeof o=="number"?c.set(o,s,n,w):c.copy(o)},H=new Proxy(e.xr,{get(c,o){if(o==="enabled")return R;if(o==="setAnimationLoop"||o==="addEventListener"||o==="removeEventListener")return i;const s=Reflect.get(c,o,c);return typeof s=="function"?s.bind(c):s},set(c,o,s){return o==="enabled"?(R=s,!0):Reflect.set(c,o,s,c)}}),q=new Proxy(e.renderLists,{get(c,o){if(o==="dispose")return i;const s=Reflect.get(c,o,c);return typeof s=="function"?s.bind(c):s}});function _(c,o){const s=new Map,n={...e.shadowMap},w=e.xr.enabled,$=e.getClearColor(new me),I=e.getClearAlpha(),K=e.getRenderTarget(),Q=e.getActiveCubeFace(),W=e.getActiveMipmapLevel(),U=e.getViewport(new ee),te=e.getScissor(new ee),X=e.getScissorTest();try{for(const[j,N]of u)s.set(j,Reflect.get(e,j)),Reflect.set(e,j,N);return Object.assign(e.shadowMap,v),e.xr.enabled=R,e.setClearColor(b,C),e.setViewport(d),e.setScissor(h),e.setScissorTest(P),e.setRenderTarget(M,G,V),y&&e.setViewport(d),x&&e.setScissor(h),F&&e.setScissorTest(P),c.apply(e,o)}finally{for(const[j,N]of s)Reflect.set(e,j,N);Object.assign(e.shadowMap,n),e.xr.enabled=w,e.setClearColor($,I),e.setViewport(U),e.setScissor(te),e.setScissorTest(X),e.setRenderTarget(K,Q,W)}}const z=new Map;return new Proxy(e,{get(c,o){if(o==="domElement")return t;if(o==="shadowMap")return v;if(o==="xr")return H;if(o==="renderLists")return q;if(a.has(o))return i;if(o==="getRenderTarget")return()=>M;if(o==="getActiveCubeFace")return()=>G;if(o==="getActiveMipmapLevel")return()=>V;if(o==="setRenderTarget")return(n,w=0,$=0)=>{M=n,G=w,V=$,y=x=F=!1};if(o==="getViewport")return n=>n.copy(d);if(o==="getCurrentViewport")return n=>M&&!y?n.copy(M.viewport):(n.copy(d).multiplyScalar(e.getPixelRatio()),y?n.round():n.floor());if(o==="getScissor")return n=>n.copy(h);if(o==="getScissorTest")return()=>P;if(o==="setViewport")return(n,w,$,I)=>{O(d,n,w,$,I),y=!0};if(o==="setScissor")return(n,w,$,I)=>{O(h,n,w,$,I),x=!0};if(o==="setScissorTest")return n=>{P=n,F=!0};if(o==="getClearColor")return n=>n.copy(b);if(o==="getClearAlpha")return()=>C;if(o==="setClearColor")return(n,w=C)=>{b.set(n),C=w};if(o==="setClearAlpha")return n=>{C=n};if(u.has(o))return u.get(o);const s=Reflect.get(c,o,c);if(typeof s!="function")return s;if(!z.has(o)){const n=/^(render|compile|clear|copy|init|readRenderTarget)/.test(String(o));z.set(o,n?(...w)=>{if(!((o==="render"||String(o).startsWith("clear"))&&!M))return _(s,w)}:s.bind(c))}return z.get(o)},set(c,o,s){return o!=="domElement"&&u.set(o,s),!0}})}class at{pending=new WeakMap;remember(e,i){const a=[...i];a.length===0?this.pending.delete(e):this.pending.set(e,a)}take(e,i){const a=[...i],u=this.pending.get(e)??[];return this.pending.delete(e),a.length>0?a:u}}function he(t){return decodeURIComponent(t.split("?")[0]).replace(/^\/@fs\/(?=[A-Za-z]:\/)/,"").replace(/^\/@fs/,"")}class lt{sources=new Map;applied=new Map;expected=new Map;missingRevision=!1;source(e){this.sources.set(e.file,e)}complete(e){for(const[i,a]of this.sources){const u=e.filter(R=>a.timestamp===R.timestamp);(a.boundaries?a.boundaries.every(R=>u.some(b=>b.acceptedPath===R)):u.some(R=>he(R.acceptedPath)===i))&&(this.applied.set(a.path,a.sha),this.sources.delete(i))}}matches(e){const i=he(e.acceptedPath);return[...this.sources.values()].some(a=>a.timestamp===e.timestamp&&(a.boundaries?a.boundaries.includes(e.acceptedPath):a.file===i))}revision(e){for(const i of e)this.expected.set(i.path,i.sha),i.sha===null&&this.applied.delete(i.path)}needsRemount(){if(this.missingRevision)return!0;for(const[e,i]of this.expected)if(i===null||this.applied.get(e)!==i)return!0;return!1}missing(){this.missingRevision=!0}mounted(){this.expected.clear(),this.applied.clear(),this.sources.clear(),this.missingRevision=!1}}function ct(t){return t instanceof st||t!==null&&typeof t=="object"&&t.isScene===!0}function pt(t){return t.find(e=>e.surface==="three")?.id??null}const ge=new at;function dt(t,e,i){return new Error(`three root "${t}" failed to mount: ${e} did not export a RootAdapter or a default React component (exports: ${i.join(", ")||"(nothing)"}).`)}function ut(t,e){const i=je(e);T.error(`[r3f-design] world "${t}" failed to mount: ${i}`,"authoring");const a=De(i);return a&&He(a).then(u=>T.error(`[r3f-design] world "${t}": ${Be(u)}`,"authoring")),Le({worldId:t,kind:"three",identity:"default-three",message:i}),i}async function ft(t,e,i,a){const u=await t.loadEntryModule(i,e,"three"),v=a===i?u:await t.loadEntryModule(a,e,"three");return{designModule:u,rootModule:v}}function mt(t,e,i,a,u,v){ke(t,e,i,{id:a}),Ke(t,u?[u]:[]),Qe(t,We(t,v?[v]:[]))}function ht(t){const e=document.createElement("canvas"),i=it(e,t),a=Ze(),u=et({loop:tt({update:()=>{}}),assets:a});return{game:u,host:{three:ot,surface:{canvas:e,width:1280,height:720},renderer:i,assets:a,headless:!1,game:u},dispose:()=>u.dispose()}}function we(t){return{id:t.id,kind:t.surface,adapter:t.adapter,entryOrScenePath:t.entry??t.scene,zOrder:t.zOrder??0,pausable:t.pausable??!0}}function ne(t){let e=!1,i=!1;const a=()=>{e||i||t.shell.playState!=="stopped"||(i=!0,ye())},u=t.shell.subscribe(a);return a(),()=>{e=!0,u()}}async function ls(t,e,i){const a=Ge();if(!a)return()=>{};const u=await Me();if(t.shell.playState!=="stopped")return ne(t);const v=_e(u);if(!v)return()=>{};const R=pt(Ae(v)),b=R?Ce(v,R):void 0;if(!b)return()=>{};const C=b.world?.entry??b.entry,M=b.world?.export;if(!C||!/\.(tsx|jsx)$/.test(C))return()=>{};const G=Ee(()=>import("./r3f-source-authoring-adapter-CmYnK9fs.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),V=Pe();let d=!1,h=!1,P=null,y=null,x=!1,F=null,O=!1,H=!1,q,_,z,c=null,o=null;const s=b.id,n=C,w=()=>{o||!c||d||h||t.shell.playState!=="stopped"||(o=c.systemAdapters,ue(o))},$=()=>{o&&(o=null,ue(null))},I=async()=>{const r=await Ne(a.rootPath,Ve()),{designModule:p,rootModule:f}=await ft(r,s,n,b.entry??n),l=Xe(s,f),m=Ye(s,f,"three"),g=await Ue(p,s,{...M===void 0?{}:{namedExport:M},entryPath:n});if(!g)throw dt(s,n,Object.keys(p));return M!==void 0?{adapter:g,entryDebug:l,entrySystems:m}:{adapter:g,entryDebug:l,entrySystems:m,components:p.components??p.behaviors}},K=async(r,p,f)=>{const{host:l,game:m,dispose:g}=ht(i);let S;try{S=await r.mount(l)}catch(Z){throw g(),Z}if(S.kind!=="three"||!ct(S.scene))throw S.dispose(),g(),new Error(`entry adapter for world "${s}" did not mount a three scene`);return mt(m,r,S,s,p,f),{root:S,game:m,disposeHost:g}},Q=r=>{P=r.root,c=r.game,_?.();const p=r.game;_=p.subscribeSystemAdapters?.(()=>{if(c!==p)return;const f=p.systemAdapters;o&&(o=f,Oe(f)),t.shell.notifyIngestEdit()}),q=r.disposeHost},W=()=>{$(),_?.(),_=void 0,c=null;try{P?.dispose()}catch(r){T.error(`[r3f-design] dispose failed: ${r}`,"authoring")}P=null;try{q?.()}catch(r){T.error(`[r3f-design] design host dispose failed: ${r}`,"authoring")}q=void 0},U=()=>{if(!x)return;x=!1;const r=F;F=null,r?t.releaseAdoptedScene(r):t.exitPlayScene()},te=()=>{h=!0,U(),W(),e.replaceChild(s,new fe(t.shell,we(b),"R3F design session suspended by play mode — Stop restores it.")),t.shell.notifyIngestEdit()},X=r=>{const p=ut(s,r);e.replaceChild(s,new fe(t.shell,we(b),p)),t.shell.notifyIngestEdit()},j=setTimeout(()=>{T.warn(`[r3f-design] world "${s}" is still importing after 20s (${n}). The in-browser compiler or a module download may be stalled on a slow connection — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4);try{const[r,{R3fSourceAuthoringAdapter:p},f]=await Promise.all([I(),G,V]);if(clearTimeout(j),!r)return T.warn(`[r3f-design] world "${s}" produced no design entry (${n}) — the scene stays empty. This is a bug worth reporting; reload the tab to retry.`,"authoring"),()=>{};if(d)return()=>{};if(t.shell.playState!=="stopped")return ne(t);const l=await K(r.adapter,r.entryDebug,r.entrySystems);if(Q(l),d||t.shell.playState!=="stopped")return W(),d?()=>{}:ne(t);y=new p(t,l.root.scene,{worldId:s,entryPath:n,writeBackend:f,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(s,y),ze(l.root.scene).then(S=>{S&&!d&&t.shell.notifyIngestEdit()});const m=ge.take(t,t.shell.selectedEntityIds);t.enterPlayScene(l.root.scene,l.root.rendererConfig),x=!0,F=l.root.scene,t.focusOnScene(()=>Je(null,l.root.scene));const g=m.filter(S=>e.hierarchy.node(S)!==null);g.length>0&&t.shell.selectMultiple(g),pe(s),w(),t.shell.notifyIngestEdit(),T.log(`[r3f-design] world "${s}" mounted for design-time authoring (${n})`,"authoring")}catch(r){clearTimeout(j),X(r)}const N=(r,p,f,l,m)=>{const g=performance.now()-p;g<400||console.info(`[r3f-design] world "${r}" remounted in ${g.toFixed(0)}ms (import ${(f-p).toFixed(0)}ms, mount ${(l-f).toFixed(0)}ms, settle ${(m-l).toFixed(0)}ms, adopt ${(performance.now()-m).toFixed(0)}ms)`)},be=async()=>{if(d||h)return;const r=[...t.shell.selectedEntityIds],p=B,f=t.shell.projectHistory?.getSnapshot().busy===!0;let l="importing";const m=setTimeout(()=>{T.warn(`[r3f-design] world "${s}" remount is still ${l} after 20s (${n}) — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4),g=performance.now();let S=g,Z=g,ae=g;try{const D=await I();if(S=performance.now(),!D||d||h){console.info(`[r3f-design] world "${s}" remount abandoned after import (${D?d?"torn down":"suspended":"no entry"})`);return}l="mounting";const A=await K(D.adapter,D.entryDebug,D.entrySystems);Z=performance.now();for(let E=0;E<50&&(await rt(),await Se(),!(!nt()&&t.shell.projectHistory?.getSnapshot().busy!==!0));E+=1);if(ae=performance.now(),!d&&!h&&B!==p){A.root.dispose(),A.disposeHost(),L();return}if(d||h){console.info(`[r3f-design] world "${s}" remount abandoned after mount (${d?"torn down":"suspended"})`),A.root.dispose(),A.disposeHost();return}const k=new Set(t.shell.selectedEntityIds);if(U(),W(),Q(A),y)y.adoptScene(A.root.scene),e.childAdapters().find(re=>re.worldId===s)?.adapter!==y&&(e.replaceChild(s,y),T.log(`[r3f-design] world "${s}" recovered and remounted for design-time authoring (${n})`,"authoring"));else{const[{R3fSourceAuthoringAdapter:E},re]=await Promise.all([G,V]);y=new E(t,A.root.scene,{worldId:s,entryPath:n,writeBackend:re,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(s,y),T.log(`[r3f-design] world "${s}" recovered and mounted for design-time authoring (${n})`,"authoring")}const $e=k.size>0&&(k.size!==r.length||r.some(E=>!k.has(E)));t.enterPlayScene(A.root.scene,A.root.rendererConfig),x=!0,F=A.root.scene;const le=($e?[...k]:r).filter(E=>y?.hierarchy.node(E)!==null);le.length>0&&t.shell.selectMultiple(le),pe(s),w(),t.shell.notifyIngestEdit(),N(s,g,S,Z,ae),J.mounted(),clearTimeout(Y),H=!1}catch(D){X(D),!H&&!d&&!h?(H=!0,setTimeout(()=>{!d&&!h&&L()},400)):!d&&!h&&(B===p&&!f?ve(D):(H=!1,L()))}finally{clearTimeout(m),!d&&!h&&B!==p&&L()}},Se=async()=>{const r=t.shell.projectHistory;if(!r)return;const p=Date.now()+1e4;for(;r.getSnapshot().busy&&Date.now()<p;)await new Promise(f=>{const l=setTimeout(f,250),m=r.subscribe(()=>{clearTimeout(l),m(),f()})})},ve=async r=>{const p=r instanceof Error?r.message:String(r);if(!p.includes("fiber crashed"))return;if(/Could not load |Failed to fetch|Unexpected token '<'|not valid JSON/.test(p)){T.error(`World "${s}" failed to load a project asset (${p}). The edit is kept; the world remounts once the asset can be served.`,"authoring");return}const f=t.shell.projectHistory;if(!f)return;const l=f.getSnapshot(),m=l.canUndo?l.transactions[l.cursor-1]:void 0;if(!m||Date.now()-m.timestamp>15e3){console.info(`[r3f-design] world "${s}" crash auto-undo skipped (${m?"last edit too old":l.canUndo?"no entry":`cannot undo: busy=${l.busy} blocked=${l.blocked}`})`);return}if(!await f.undo().catch(()=>!1)){console.info(`[r3f-design] world "${s}" crash auto-undo refused by history`);return}H=!1,T.error(`Undid “${m.label}”: that edit crashed world "${s}" (${r instanceof Error?r.message:String(r)}). The previous source is restored.`,"authoring"),L()};let B=0;const J=new lt;let Y;const L=()=>{if(d||h){console.info(`[r3f-design] world "${s}" remount skipped: ${d?"session torn down":"suspended for play"}`);return}O||(O=!0,setTimeout(()=>{O=!1,be()},80))},Re=xe(r=>{qe(r).then(()=>{B+=1,L()})});let oe=de()?.revision??0;const Te=Fe(r=>{B+=1;const f=de()?.revisions.filter(m=>m.revision>oe)??[];f.length!==r-oe&&J.missing(),oe=r;const l=f.flatMap(m=>m.resources);J.revision(l),!(l.length&&!J.needsRemount())&&(clearTimeout(Y),Y=setTimeout(()=>{l.length&&!J.needsRemount()||(B+=1,L())},2e3))});let ie=!1,se=!1;return z=t.shell.subscribe(()=>{if(!d){if(t.shell.playState==="stopped"?w():$(),!h&&!se&&t.shell.playState!=="stopped"){se=!0,Ie(()=>{se=!1,!(d||h||t.shell.playState==="stopped")&&te()});return}h&&!ie&&t.shell.playState==="stopped"&&(ie=!0,ye())}}),()=>{d=!0,console.info(`[r3f-design] world "${s}" design session torn down`),$(),Re(),Te(),clearTimeout(Y),z?.(),!h&&t.shell.playState==="stopped"&&t.shell.selectedEntityIds.size>0&&ge.remember(t,t.shell.selectedEntityIds),U(),W()}}export{ft as loadR3FDesignEntryModules,ls as mountR3FDesignSession,mt as registerR3FDesignRoot,ut as reportDesignMountFailure,dt as unresolvedDesignEntryError};
@@ -1 +1 @@
1
- import{ef as a,aE as i}from"./index-jJyzinl6.js";const h=new Map;function C(t,e){const n=h.get(t);if(n&&n.code===e)return n.sourceFile;const r=a.createSourceFile(t,e,a.ScriptTarget.Latest,!0,a.ScriptKind.TSX);return h.set(t,{code:e,sourceFile:r}),r}function v(){h.clear()}function O(t,e){return a.canHaveModifiers(t)?(a.getModifiers(t)??[]).some(n=>n.kind===e):!1}function m(t){let e=t.parent;for(;e;){if(a.isArrowFunction(e)||a.isFunctionExpression(e)||a.isFunctionDeclaration(e)||a.isMethodDeclaration(e))return e;e=e.parent}return null}function B(t){if(a.isNumericLiteral(t))return Number(t.text);if(a.isPrefixUnaryExpression(t)&&(t.operator===a.SyntaxKind.MinusToken||t.operator===a.SyntaxKind.PlusToken)&&a.isNumericLiteral(t.operand)){const e=Number(t.operand.text);return t.operator===a.SyntaxKind.MinusToken?-e:e}}function S(t,e){return t.attributes.properties.find(n=>a.isJsxAttribute(n)&&n.name.getText()===e)}function E(t){const n=S(t,"ref")?.initializer;return!n||!a.isJsxExpression(n)||!n.expression?null:a.isIdentifier(n.expression)?n.expression.text:null}const H=Object.freeze(Object.defineProperty({__proto__:null,clearAuthoringParseCache:v,enclosingScope:m,hasModifier:O,jsxAttribute:S,numericLiteral:B,parseAuthoringTsx:C,refIdentifier:E},Symbol.toStringTag,{value:"Module"}));function R(t,e){return e!=="position"&&e!=="rotation"&&e!=="scale"?!1:t?.physicsBinding?!0:t?.r3fAuthoring?.bodyForwarded?.includes(e)===!0}function J(t,e){const n=t?.physicsBinding;if(!n||e!=="position"&&e!=="rotation"&&e!=="scale")return null;const r=`${t.file.split("/").pop()??t.file}:${n.line}`,s=`${e} is owned by ${n.hook} at ${r}`;return n.forwarded.includes(e)?`${s}, which reads this component's own ${e} prop — write it where the instance is placed, not on this element`:n.literal.includes(e)?`${s} — the body spawns from that hook's own argument, and a hook argument has no write anchor`:`${s} — this node is placed by the simulation, so a ${e} written here is overwritten on the next frame`}const I=new Set(["useBox","useCompoundBody","useConvexPolyhedron","useCylinder","useHeightfield","useParticle","usePlane","useRaycastVehicle","useSphere","useTrimesh"]),N=new Set(["@react-three/cannon"]);function k(t){const e=new Map;for(const n of t.statements){if(!i.isImportDeclaration(n)||!i.isStringLiteral(n.moduleSpecifier)||!N.has(n.moduleSpecifier.text))continue;const r=n.importClause?.namedBindings;if(!(!r||!i.isNamedImports(r)))for(const s of r.elements){const u=s.propertyName?.text??s.name.text;I.has(u)&&e.set(s.name.text,u)}}return e}function $(t){const e=new Set,n=new Set,r=t?.[0];if(!r)return{whole:e,named:n};if(i.isIdentifier(r.name))return e.add(r.name.text),{whole:e,named:n};if(!i.isObjectBindingPattern(r.name))return{whole:e,named:n};for(const s of r.name.elements)i.isIdentifier(s.name)&&(s.dotDotDotToken?e.add(s.name.text):n.add(s.name.text));return{whole:e,named:n}}function y(t){return t==="position"||t==="rotation"||t==="scale"}function L(t){const e=t.arguments[0];if(!e)return;if(i.isObjectLiteralExpression(e))return e;if(!i.isArrowFunction(e)&&!i.isFunctionExpression(e))return;const n=e.body;if(i.isParenthesizedExpression(n)&&i.isObjectLiteralExpression(n.expression))return n.expression;if(i.isObjectLiteralExpression(n))return n;if(i.isBlock(n)){for(const r of n.statements)if(i.isReturnStatement(r)&&r.expression&&i.isObjectLiteralExpression(r.expression))return r.expression}}function M(t){return!i.isArrayLiteralExpression(t)||t.elements.length!==3?!1:t.elements.every(e=>{const n=i.isPrefixUnaryExpression(e)?e.operand:e;return i.isNumericLiteral(n)})}function F(t,e,n){return i.isIdentifier(t)?e.named.has(t.text):i.isPropertyAccessExpression(t)&&i.isIdentifier(t.expression)&&e.whole.has(t.expression.text)&&t.name.text===n}function T(t,e){if(i.isSpreadAssignment(t))return i.isIdentifier(t.expression)&&e.whole.has(t.expression.text)?[["position","forwarded"],["rotation","forwarded"]]:[];if(i.isShorthandPropertyAssignment(t)){const r=t.name.text;return y(r)?[[r,e.named.has(r)?"forwarded":"expression"]]:[]}if(!i.isPropertyAssignment(t)||!i.isIdentifier(t.name))return[];const n=t.name.text;return y(n)?M(t.initializer)?[[n,"literal"]]:[[n,F(t.initializer,e,n)?"forwarded":"expression"]]:[]}function j(t,e){const n=new Map;for(const s of t.properties)for(const[u,f]of T(s,e))n.set(u,f);const r=s=>[...n.entries()].filter(([,u])=>u===s).map(([u])=>u);return{forwarded:r("forwarded"),literal:r("literal")}}function D(t){const e=t.parent;if(!i.isVariableDeclaration(e)||!i.isArrayBindingPattern(e.name))return null;const n=e.name.elements[1];return n&&i.isBindingElement(n)&&i.isIdentifier(n.name)?n.name.text:null}function z(t,e,n){if(!t)return[];const r=new Set,s=new RegExp(`\\b${n.replace(/[$]/g,"\\$&")}\\.(position|rotation|scale)\\.(?:set|copy)\\s*\\(`,"g"),u=f=>{if(i.isCallExpression(f)&&/(^|\.)useFrame$/.test(f.expression.getText(e)))for(const p of f.getText(e).matchAll(s))r.add(p[1]);i.forEachChild(f,u)};return u(t),[...r]}function _(t){const e=t.parent;if(i.isVariableDeclaration(e)&&i.isArrayBindingPattern(e.name)){const r=e.name.elements[0];if(r&&i.isBindingElement(r)&&i.isIdentifier(r.name))return r.name.text}const n=t.arguments[1];return n&&i.isIdentifier(n)?n.text:null}function V(t){const e=k(t),n=new Map;if(e.size===0)return n;const r=new Map,s=(o,c)=>{const d=_(o);if(!d)return;const l=m(o),x=L(o),P=x?j(x,$(l?.parameters)):{forwarded:[],literal:[]},{line:A}=t.getLineAndCharacterOfPosition(o.getStart(t)),g=D(o),w=g?z(l,t,g):[],b=r.get(l)??new Map;b.set(d,{hook:c,line:A+1,...P,...w.length>0?{apiDriven:w}:{}}),r.set(l,b)},u=o=>{if(i.isCallExpression(o)&&i.isIdentifier(o.expression)){const c=e.get(o.expression.text);c&&s(o,c)}i.forEachChild(o,u)};if(u(t),r.size===0)return n;const f=o=>{const c=E(o);if(!c)return;let d=m(o);for(;;){const l=r.get(d)?.get(c);if(l)return l;if(d===null)return;d=m(d)}},p=o=>{if(i.isJsxOpeningElement(o)||i.isJsxSelfClosingElement(o)){const c=f(o);c&&n.set(o,c)}i.forEachChild(o,p)};return p(t),n}export{V as a,J as b,R as c,C as p,E as r,H as t};
1
+ import{ef as a,aE as i}from"./index-CQ2mBTB3.js";const h=new Map;function C(t,e){const n=h.get(t);if(n&&n.code===e)return n.sourceFile;const r=a.createSourceFile(t,e,a.ScriptTarget.Latest,!0,a.ScriptKind.TSX);return h.set(t,{code:e,sourceFile:r}),r}function v(){h.clear()}function O(t,e){return a.canHaveModifiers(t)?(a.getModifiers(t)??[]).some(n=>n.kind===e):!1}function m(t){let e=t.parent;for(;e;){if(a.isArrowFunction(e)||a.isFunctionExpression(e)||a.isFunctionDeclaration(e)||a.isMethodDeclaration(e))return e;e=e.parent}return null}function B(t){if(a.isNumericLiteral(t))return Number(t.text);if(a.isPrefixUnaryExpression(t)&&(t.operator===a.SyntaxKind.MinusToken||t.operator===a.SyntaxKind.PlusToken)&&a.isNumericLiteral(t.operand)){const e=Number(t.operand.text);return t.operator===a.SyntaxKind.MinusToken?-e:e}}function S(t,e){return t.attributes.properties.find(n=>a.isJsxAttribute(n)&&n.name.getText()===e)}function E(t){const n=S(t,"ref")?.initializer;return!n||!a.isJsxExpression(n)||!n.expression?null:a.isIdentifier(n.expression)?n.expression.text:null}const H=Object.freeze(Object.defineProperty({__proto__:null,clearAuthoringParseCache:v,enclosingScope:m,hasModifier:O,jsxAttribute:S,numericLiteral:B,parseAuthoringTsx:C,refIdentifier:E},Symbol.toStringTag,{value:"Module"}));function R(t,e){return e!=="position"&&e!=="rotation"&&e!=="scale"?!1:t?.physicsBinding?!0:t?.r3fAuthoring?.bodyForwarded?.includes(e)===!0}function J(t,e){const n=t?.physicsBinding;if(!n||e!=="position"&&e!=="rotation"&&e!=="scale")return null;const r=`${t.file.split("/").pop()??t.file}:${n.line}`,s=`${e} is owned by ${n.hook} at ${r}`;return n.forwarded.includes(e)?`${s}, which reads this component's own ${e} prop — write it where the instance is placed, not on this element`:n.literal.includes(e)?`${s} — the body spawns from that hook's own argument, and a hook argument has no write anchor`:`${s} — this node is placed by the simulation, so a ${e} written here is overwritten on the next frame`}const I=new Set(["useBox","useCompoundBody","useConvexPolyhedron","useCylinder","useHeightfield","useParticle","usePlane","useRaycastVehicle","useSphere","useTrimesh"]),N=new Set(["@react-three/cannon"]);function k(t){const e=new Map;for(const n of t.statements){if(!i.isImportDeclaration(n)||!i.isStringLiteral(n.moduleSpecifier)||!N.has(n.moduleSpecifier.text))continue;const r=n.importClause?.namedBindings;if(!(!r||!i.isNamedImports(r)))for(const s of r.elements){const u=s.propertyName?.text??s.name.text;I.has(u)&&e.set(s.name.text,u)}}return e}function $(t){const e=new Set,n=new Set,r=t?.[0];if(!r)return{whole:e,named:n};if(i.isIdentifier(r.name))return e.add(r.name.text),{whole:e,named:n};if(!i.isObjectBindingPattern(r.name))return{whole:e,named:n};for(const s of r.name.elements)i.isIdentifier(s.name)&&(s.dotDotDotToken?e.add(s.name.text):n.add(s.name.text));return{whole:e,named:n}}function y(t){return t==="position"||t==="rotation"||t==="scale"}function L(t){const e=t.arguments[0];if(!e)return;if(i.isObjectLiteralExpression(e))return e;if(!i.isArrowFunction(e)&&!i.isFunctionExpression(e))return;const n=e.body;if(i.isParenthesizedExpression(n)&&i.isObjectLiteralExpression(n.expression))return n.expression;if(i.isObjectLiteralExpression(n))return n;if(i.isBlock(n)){for(const r of n.statements)if(i.isReturnStatement(r)&&r.expression&&i.isObjectLiteralExpression(r.expression))return r.expression}}function M(t){return!i.isArrayLiteralExpression(t)||t.elements.length!==3?!1:t.elements.every(e=>{const n=i.isPrefixUnaryExpression(e)?e.operand:e;return i.isNumericLiteral(n)})}function F(t,e,n){return i.isIdentifier(t)?e.named.has(t.text):i.isPropertyAccessExpression(t)&&i.isIdentifier(t.expression)&&e.whole.has(t.expression.text)&&t.name.text===n}function T(t,e){if(i.isSpreadAssignment(t))return i.isIdentifier(t.expression)&&e.whole.has(t.expression.text)?[["position","forwarded"],["rotation","forwarded"]]:[];if(i.isShorthandPropertyAssignment(t)){const r=t.name.text;return y(r)?[[r,e.named.has(r)?"forwarded":"expression"]]:[]}if(!i.isPropertyAssignment(t)||!i.isIdentifier(t.name))return[];const n=t.name.text;return y(n)?M(t.initializer)?[[n,"literal"]]:[[n,F(t.initializer,e,n)?"forwarded":"expression"]]:[]}function j(t,e){const n=new Map;for(const s of t.properties)for(const[u,f]of T(s,e))n.set(u,f);const r=s=>[...n.entries()].filter(([,u])=>u===s).map(([u])=>u);return{forwarded:r("forwarded"),literal:r("literal")}}function D(t){const e=t.parent;if(!i.isVariableDeclaration(e)||!i.isArrayBindingPattern(e.name))return null;const n=e.name.elements[1];return n&&i.isBindingElement(n)&&i.isIdentifier(n.name)?n.name.text:null}function z(t,e,n){if(!t)return[];const r=new Set,s=new RegExp(`\\b${n.replace(/[$]/g,"\\$&")}\\.(position|rotation|scale)\\.(?:set|copy)\\s*\\(`,"g"),u=f=>{if(i.isCallExpression(f)&&/(^|\.)useFrame$/.test(f.expression.getText(e)))for(const p of f.getText(e).matchAll(s))r.add(p[1]);i.forEachChild(f,u)};return u(t),[...r]}function _(t){const e=t.parent;if(i.isVariableDeclaration(e)&&i.isArrayBindingPattern(e.name)){const r=e.name.elements[0];if(r&&i.isBindingElement(r)&&i.isIdentifier(r.name))return r.name.text}const n=t.arguments[1];return n&&i.isIdentifier(n)?n.text:null}function V(t){const e=k(t),n=new Map;if(e.size===0)return n;const r=new Map,s=(o,c)=>{const d=_(o);if(!d)return;const l=m(o),x=L(o),P=x?j(x,$(l?.parameters)):{forwarded:[],literal:[]},{line:A}=t.getLineAndCharacterOfPosition(o.getStart(t)),g=D(o),w=g?z(l,t,g):[],b=r.get(l)??new Map;b.set(d,{hook:c,line:A+1,...P,...w.length>0?{apiDriven:w}:{}}),r.set(l,b)},u=o=>{if(i.isCallExpression(o)&&i.isIdentifier(o.expression)){const c=e.get(o.expression.text);c&&s(o,c)}i.forEachChild(o,u)};if(u(t),r.size===0)return n;const f=o=>{const c=E(o);if(!c)return;let d=m(o);for(;;){const l=r.get(d)?.get(c);if(l)return l;if(d===null)return;d=m(d)}},p=o=>{if(i.isJsxOpeningElement(o)||i.isJsxSelfClosingElement(o)){const c=f(o);c&&n.set(o,c)}i.forEachChild(o,p)};return p(t),n}export{V as a,J as b,R as c,C as p,E as r,H as t};
@@ -1,4 +1,4 @@
1
- import{d as Mt,b as _,r as Lt,o as M,a as re,i as ne}from"./component-instance-root-L097uFNh.js";import{e as Ie,b as Ft}from"./live-gesture-lock-DJbrjOqf.js";import{r as Bt,c as jt}from"./relative-import-specifier-BRERqZAW.js";import{S as Dt,C as Nt,r as Wt}from"./three-projection-core-CL3f2zFU.js";import{eg as _t,gC as Ht,k$ as zt,l0 as B,l1 as Jt,d4 as Vt,fg as Ut,bU as ie,bV as oe,dv as j,Z as Pe,he as ke,bW as Kt}from"./index-jJyzinl6.js";import{w as qt}from"./inference-diagnostics-DxBo7WDw.js";import{f as Gt,d as Xt,e as Ae,g as Zt,h as Qt,j as Yt,k as er,l as Ee,m as tr,n as rr}from"./instance-fork-actions-D3sRzS3K.js";import{c as nr,T as ir,n as or}from"./three-B770IJ5T.js";import{l as H}from"./oid-transform-Cs6QIDn-.js";import{c as sr,b as ar}from"./r3f-physics-binding-0Z-Q7TAs.js";import{f as fe,a as Te,i as xe,b as cr,o as lr}from"./writer-tw6EcuVO.js";import{isEditorOwnedObject as me}from"./editor-layers-D-_AuXmZ.js";import{object3DAuthoringSubjectOf as Ce}from"./object3d-authoring-subject-XccsO0xG.js";import{getUserData as ye}from"./user-data-CODoGZqA.js";import"./three.module-BLhyNg0e.js";import{cj as C,fo as m,eX as ur,ej as dr,cO as hr,dp as Y,I as Me}from"./three.core-3arARmh6.js";import"./user-data-M952sdEx.js";import"./workspace-arrangement-BbI2Bg0l.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"./entity-object-DI8C17HY.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./object-marks-BnvSuCTt.js";function pr(o){return`${o.code}|${o.file}|${o.line}|${o.col}`}function fr(...o){const e=new Set,t=[];for(const r of o)for(const n of r?.diagnostics??[]){const i=pr(n);e.has(i)||(e.add(i),t.push(n))}return t}const Le=["#7dd3fc","#60a5fa","#818cf8","#a78bfa","#c084fc"],Fe=1e3;function ft(o){return o.lod.updateWorldMatrix(!0,!1),o.lod.getWorldPosition(new m)}function Be(o){return Le[o%Le.length]}function mr(o){const e=ft(o),t=[],r=[];return o.lod.levels.forEach((n,i)=>{!Number.isFinite(n.distance)||n.distance<=0||(t.push({kind:"sphere",center:[e.x,e.y,e.z],radius:n.distance,color:Be(i),opacity:.56}),r.push({id:`lod:${encodeURIComponent(o.key)}:${i}`,label:`LOD ${i} distance`,position:[e.x+n.distance,e.y,e.z],color:Be(i),writable:o.writableDistances.has(i)}))}),{id:`lod:${o.key}`,category:"lod",guides:t,handles:r}}function yr(o){return Math.round(o*Fe)/Fe}function mt(o,e,t){const r=o.lod.levels[e-1]?.distance,n=o.lod.levels[e+1]?.distance,i=r===void 0?0:r+.01,s=n===void 0?Number.POSITIVE_INFINITY:Math.max(i,n-.01);return yr(C.clamp(t,i,s))}function je(o,e,t){const r=/^lod:([^:]+):(\d+)$/.exec(e);if(!r)return null;const n=decodeURIComponent(r[1]),i=Number(r[2]),s=o.find(c=>c.key===n);if(!s||!s.writableDistances.has(i))return null;const a=new m(...t).distanceTo(ft(s));return{binding:s,level:i,value:mt(s,i,a)}}function yt(o){const e=o.binding.lod.levels[o.level];e&&(e.distance=o.value)}const gt="#ff9f43",gr="#ffd166",De=1e3;function wr(o){const e=o.system?.emitterShape;return e&&typeof e.type=="string"?e:null}function $e(o){return encodeURIComponent(o.sourceOid)}function wt(o){return[o.x,o.y,o.z]}function br(o,e){return o.emitter.updateWorldMatrix(!0,!1),wt(e.clone().applyMatrix4(o.emitter.matrixWorld))}function b(o,e,t=.72){o.emitter.updateWorldMatrix(!0,!1);const r=o.emitter.matrixWorld;return{kind:"line",points:e.map(n=>wt(n.clone().applyMatrix4(r))),color:gt,opacity:t}}function k(o,e="xy",t=48,r=Math.PI*2){const n=[];for(let i=0;i<=t;i+=1){const s=i/t*r,a=Math.cos(s)*o,c=Math.sin(s)*o;n.push(e==="xy"?new m(a,c,0):e==="xz"?new m(a,0,c):new m(0,a,c))}return n}function Ne(o,e){return o.map(t=>t.clone().applyAxisAngle(new m(0,0,1),e))}function We(o,e,t=24){const r=[];for(let n=0;n<=t;n+=1){const i=n/t*Math.PI,s=Math.cos(i)*o,a=Math.sin(i)*o;r.push(new m(s,0,a))}return r}function P(o,e,t){const r=o[e];return typeof r=="number"&&Number.isFinite(r)?r:t}function vr(o){const e=o.shape,t=P(e,"radius",10),r=C.clamp(P(e,"arc",Math.PI*2),0,Math.PI*2),n=Math.abs(r-Math.PI*2)<.001;switch(e.type){case"point":return[b(o,[new m(-.2,0,0),new m(.2,0,0)]),b(o,[new m(0,-.2,0),new m(0,.2,0)]),b(o,[new m(0,0,-.2),new m(0,0,.2)])];case"sphere":return[b(o,k(t,"xy",48,r)),b(o,k(t,"xz"),.5),b(o,Ne(k(t,"xz"),n?Math.PI/2:r),.5)];case"hemisphere":return[b(o,k(t,"xy",48,r)),b(o,We(t),.55),b(o,Ne(We(t),n?Math.PI/2:r),.55)];case"cone":{const i=P(e,"angle",Math.PI/6),s=Math.max(t,1),a=[b(o,k(t,"xy",48,r))],c=n?[0,Math.PI/2,Math.PI,3*Math.PI/2]:[0,r/3,r*2/3,r];for(const l of c){const u=new m(Math.cos(l)*t,Math.sin(l)*t,0),d=u.clone().add(new m(Math.cos(l)*Math.sin(i),Math.sin(l)*Math.sin(i),Math.cos(i)).multiplyScalar(s));a.push(b(o,[u,d],.58))}return a}case"circle":return[b(o,k(t,"xy",48,r))];case"donut":{const i=P(e,"donutRadius",t*.2);return[b(o,k(Math.max(0,t-i),"xy",48,r),.45),b(o,k(t,"xy",48,r)),b(o,k(t+i,"xy",48,r),.45),b(o,k(i,"xz").map(s=>s.add(new m(t,0,0))),.45)]}case"rectangle":case"grid":{const i=P(e,"width",e.type==="grid"?1:10),s=P(e,"height",e.type==="grid"?1:10),a=i/2,c=s/2,l=[b(o,[new m(-a,-c,0),new m(a,-c,0),new m(a,c,0),new m(-a,c,0),new m(-a,-c,0)])];if(e.type==="grid"){const u=Math.min(16,Math.max(1,Math.round(P(e,"column",10)))),d=Math.min(16,Math.max(1,Math.round(P(e,"row",10))));for(let h=1;h<u;h+=1){const p=-a+h/u*i;l.push(b(o,[new m(p,-c,0),new m(p,c,0)],.24))}for(let h=1;h<d;h+=1){const p=-c+h/d*s;l.push(b(o,[new m(-a,p,0),new m(a,p,0)],.24))}}return l}}}function z(o,e,t,r){return{id:`particle:${$e(o)}:${e}`,label:t,position:br(o,r),color:e==="angle"?gr:gt,writable:o.writableFields.has(e)}}function Or(o){const e=o.shape,t=P(e,"radius",10),r=[];if(["sphere","hemisphere","cone","circle","donut"].includes(e.type)&&r.push(z(o,"radius","Emitter radius",new m(t,0,0))),e.type==="cone"){const n=P(e,"angle",Math.PI/6),i=Math.max(t,1);r.push(z(o,"angle","Cone angle",new m(t+Math.sin(n)*i,0,Math.cos(n)*i)))}return e.type==="donut"&&r.push(z(o,"donutRadius","Donut tube radius",new m(t,0,P(e,"donutRadius",t*.2)))),(e.type==="rectangle"||e.type==="grid")&&r.push(z(o,"width","Emitter width",new m(P(e,"width",1)/2,0,0)),z(o,"height","Emitter height",new m(0,P(e,"height",1)/2,0))),{id:`particle:${$e(o)}`,category:"particles",guides:vr(o),handles:r}}function se(o){return Math.round(o*De)/De}function bt(o,e){return o==="angle"?se(C.clamp(e,.01,Math.PI/2-.01)):o==="arc"?se(C.clamp(e,0,Math.PI*2)):o==="thickness"?se(C.clamp(e,0,1)):o==="column"||o==="row"?Math.max(1,Math.round(e)):se(Math.max(.01,e))}function Sr(o,e){return bt(o,e)}function _e(o,e,t){const r=/^particle:([^:]+):(radius|angle|donutRadius|width|height)$/.exec(e),n=r?o.find(l=>$e(l)===r[1]):void 0,i=r?.[2];if(!n||!i||!n.writableFields.has(i))return null;n.emitter.updateWorldMatrix(!0,!1);const s=n.emitter.worldToLocal(new m(...t)),a=P(n.shape,"radius",10);let c;return i==="radius"?c=n.shape.type==="sphere"||n.shape.type==="hemisphere"?s.length():Math.hypot(s.x,s.y):i==="angle"?c=Math.atan2(Math.max(0,Math.hypot(s.x,s.y)-a),Math.abs(s.z)||.001):i==="donutRadius"?c=Math.abs(s.z):i==="width"?c=Math.abs(s.x)*2:c=Math.abs(s.y)*2,{binding:n,field:i,value:bt(i,c)}}function vt(o){o.binding.shape[o.field]=o.value}const Ot={Light:"light",Material:"material",Camera:"camera",Audio:"audio"};function y(o,e,t,r,n,i=`${Ot[o]}.${t}`,s){return{prop:t,label:r,type:n,group:o,target:e,path:i,...s?{options:s}:{}}}function D(o,e,t){return{prop:o,label:e,type:"asset",group:"Material",target:"material",path:`${Ot.Material}.${o}`,colorSpace:t}}const Pr=[D("map","Base Color Map","srgb"),D("normalMap","Normal Map","linear"),D("roughnessMap","Roughness Map","linear"),D("metalnessMap","Metalness Map","linear"),D("emissiveMap","Emissive Map","srgb"),D("aoMap","Ambient Occlusion Map","linear")];function xr(o){const e=o;return e&&e.isColor?`#${e.getHexString()}`:void 0}const St="volterAssetPath",He=new WeakSet,$r=new ur;function Pt(o){const e=o;if(!e||!e.isTexture)return"";const t=e.userData?.[St];if(typeof t=="string"&&t)return t;if(e.name)return e.name;const r=e.image?.src;return typeof r=="string"?r:""}function Rr(o){return/^(?:[a-z]+:|\/)/i.test(o)?o:`/${o}`}function Ir(o,e,t){if(!o)return null;const r=o,n=r[e.prop],i=t==null?"":String(t);if(n&&He.has(n)&&Pt(n)!==i&&n.dispose(),!i)return r[e.prop]=null,o.needsUpdate=!0,"";const s=$r.load(Rr(i));return s.colorSpace=e.colorSpace==="srgb"?dr:hr,s.userData[St]=i,s.name=i,He.add(s),r[e.prop]=s,o.needsUpdate=!0,i}function kr(o){const e=o,t=[y("Light","self","color","Color","color"),y("Light","self","intensity","Intensity","number")];return(e.isPointLight||e.isSpotLight)&&t.push(y("Light","self","distance","Distance","number"),y("Light","self","decay","Decay","number")),e.isSpotLight&&t.push(y("Light","self","angle","Angle","number"),y("Light","self","penumbra","Penumbra","number")),t}function xt(o){const e=o;return e.isDirectionalLight||e.isPointLight||e.isSpotLight?y("Light","self","castShadow","Cast Shadow","boolean","shadow.cast"):void 0}function Ar(o){const e=o,t=[];e.color?.isColor&&t.push(y("Material","material","color","Color","color")),typeof e.roughness=="number"&&t.push(y("Material","material","roughness","Roughness","number")),typeof e.metalness=="number"&&t.push(y("Material","material","metalness","Metalness","number")),e.emissive?.isColor&&t.push(y("Material","material","emissive","Emissive","color")),t.push(y("Material","material","opacity","Opacity","number"),y("Material","material","transparent","Transparent","boolean")),typeof e.wireframe=="boolean"&&t.push(y("Material","material","wireframe","Wireframe","boolean"));const r=o;for(const n of Pr)n.prop in r&&t.push(n);return t}function Er(o){const e=o;return e.isPerspectiveCamera?[y("Camera","self","fov","FOV","number"),y("Camera","self","near","Near","number"),y("Camera","self","far","Far","number"),y("Camera","self","zoom","Zoom","number")]:e.isOrthographicCamera?[y("Camera","self","zoom","Zoom","number"),y("Camera","self","near","Near","number"),y("Camera","self","far","Far","number"),y("Camera","self","left","Left","number"),y("Camera","self","right","Right","number"),y("Camera","self","top","Top","number"),y("Camera","self","bottom","Bottom","number")]:[]}function ee(o){const e=o;return typeof e.getRefDistance=="function"&&typeof e.setRefDistance=="function"&&!!e.panner}function Tr(o="PositionalAudio"){return[y("Audio","self",o==="PositionalAudio"?"distance":"panner-refDistance","Reference Distance","number","audio.refDistance"),y("Audio","self","panner-distanceModel","Distance Model","enum","audio.distanceModel",["inverse","linear","exponential"]),y("Audio","self","panner-rolloffFactor","Rolloff","number","audio.rolloffFactor"),y("Audio","self","panner-maxDistance","Maximum Distance","number","audio.maxDistance"),y("Audio","self","panner-coneInnerAngle","Inner Cone","number","audio.coneInnerAngle"),y("Audio","self","panner-coneOuterAngle","Outer Cone","number","audio.coneOuterAngle"),y("Audio","self","panner-coneOuterGain","Outside Gain","number","audio.coneOuterGain")]}function $t(o,e,t){const r=o,n=[];return r.isLight&&n.push(...kr(o)),r.isCamera&&n.push(...Er(o)),ee(o)&&n.push(...Tr(t)),e&&n.push(...Ar(e)),n}function Q(o,e,t,r){const n=xt(o);return $t(o,e,r).find(i=>i.path===t)??(n?.path===t?n:void 0)}function Rt(o,e,t){return t.target==="material"?e:o}function J(o,e,t){if(t.group==="Audio"&&ee(o)){const i=o.panner;switch(t.path){case"audio.refDistance":return o.getRefDistance();case"audio.distanceModel":return o.getDistanceModel();case"audio.rolloffFactor":return o.getRolloffFactor();case"audio.maxDistance":return o.getMaxDistance();case"audio.coneInnerAngle":return i.coneInnerAngle;case"audio.coneOuterAngle":return i.coneOuterAngle;case"audio.coneOuterGain":return i.coneOuterGain}}const r=Rt(o,e,t);if(!r)return;const n=r[t.prop];return t.type==="color"?xr(n):t.type==="asset"?Pt(n):n}function Cr(o,e,t){if(e.path==="audio.distanceModel"){const n=String(t);return n!=="inverse"&&n!=="linear"&&n!=="exponential"?null:(o.setDistanceModel(n),n)}const r=Number(t);if(!Number.isFinite(r))return null;switch(e.path){case"audio.refDistance":return o.setRefDistance(Math.max(.01,r)),Math.max(.01,r);case"audio.rolloffFactor":return o.setRolloffFactor(Math.max(0,r)),Math.max(0,r);case"audio.maxDistance":return o.setMaxDistance(Math.max(o.getRefDistance()+.01,r)),Math.max(o.getRefDistance()+.01,r);case"audio.coneInnerAngle":{const n=Math.max(0,Math.min(o.panner.coneOuterAngle,r));return o.setDirectionalCone(n,o.panner.coneOuterAngle,o.panner.coneOuterGain),n}case"audio.coneOuterAngle":{const n=Math.max(o.panner.coneInnerAngle,Math.min(360,r));return o.setDirectionalCone(o.panner.coneInnerAngle,n,o.panner.coneOuterGain),n}case"audio.coneOuterGain":{const n=Math.max(0,Math.min(1,r));return o.setDirectionalCone(o.panner.coneInnerAngle,o.panner.coneOuterAngle,n),n}default:return null}}function T(o,e,t,r){if(t.group==="Audio"&&ee(o))return Cr(o,t,r);if(t.type==="asset")return Ir(e,t,r);const n=Rt(o,e,t);if(!n)return null;if(t.type==="color"){const s=String(r);return n[t.prop]?.set(s),s}if(t.type==="boolean"){const s=!!r;return n[t.prop]=s,ze(o,e,t),s}const i=Number(r);return Number.isFinite(i)?(n[t.prop]=i,ze(o,e,t),i):null}function ze(o,e,t){t.group==="Camera"&&o.updateProjectionMatrix?.(),t.target==="material"&&e&&(t.prop==="transparent"||t.prop==="wireframe")&&(e.needsUpdate=!0)}const Je="#42c8ff",Ve="#287fb8",Ue="#ffd166",Ke="#ff9f43",qe=100;function A(o){return[o.x,o.y,o.z]}function It(o){o.updateWorldMatrix(!0,!1);const e=o.getWorldPosition(new m),t=o.getWorldQuaternion(new Y);return{origin:e,forward:new m(0,0,1).applyQuaternion(t).normalize(),right:new m(1,0,0).applyQuaternion(t).normalize()}}function Ge(o,e,t,r,n){const i=C.degToRad(n/2);return o.clone().addScaledVector(e,Math.cos(i)*r).addScaledVector(t,Math.sin(i)*r)}function Mr(o,e){if(!ee(o))return null;const{origin:t,forward:r,right:n}=It(o),i=o.getRefDistance(),s=o.getMaxDistance(),a=o.getDistanceModel(),c=o.panner.coneInnerAngle,l=o.panner.coneOuterAngle,u=l<359.5,d=Math.max(1,Math.min(8,i*2.5)),h=[{kind:"sphere",center:A(t),radius:i,color:Je,opacity:.75}],p=[{id:"audio-ref-distance",label:"Reference distance",position:A(t.clone().addScaledVector(n,i)),color:Je,writable:e("audio.refDistance")}];return a==="linear"&&(h.push({kind:"sphere",center:A(t),radius:s,color:Ve,opacity:.42,dashed:!0}),p.push({id:"audio-max-distance",label:"Maximum distance",position:A(t.clone().addScaledVector(n,s)),color:Ve,writable:e("audio.maxDistance")})),u&&(h.push({kind:"cone",origin:A(t),direction:A(r),length:d,angle:l,color:Ke,opacity:.72}),p.push({id:"audio-outer-cone",label:"Outer cone angle",position:A(Ge(t,r,n,d,l)),color:Ke,writable:e("audio.coneOuterAngle")}),c<359.5&&(h.push({kind:"cone",origin:A(t),direction:A(r),length:d,angle:c,color:Ue,opacity:.58,dashed:!0}),p.push({id:"audio-inner-cone",label:"Inner cone angle",position:A(Ge(t,r,n,d,c)),color:Ue,writable:e("audio.coneInnerAngle")}))),{id:"positional-audio",category:"audio",guides:h,handles:p}}function ge(o){return Math.round(o*qe)/qe}function Lr(o,e,t,r){if(!ee(o))return null;const{origin:n,forward:i}=It(o),a=new m(...r).sub(n);let c,l;switch(t){case"audio-ref-distance":c="audio.refDistance",l=Math.max(.01,ge(a.length()));break;case"audio-max-distance":c="audio.maxDistance",l=Math.max(o.getRefDistance()+.01,ge(a.length()));break;case"audio-inner-cone":case"audio-outer-cone":{c=t==="audio-inner-cone"?"audio.coneInnerAngle":"audio.coneOuterAngle";const d=a.dot(i),h=Math.sqrt(Math.max(0,a.lengthSq()-d*d));l=ge(C.radToDeg(Math.atan2(h,d))*2);break}default:return null}const u=Q(o,null,c,e);return u?{field:u,value:l}:null}function Fr(o,e){T(o,null,e.field,e.value)}const Br="#00e58a",jr="#c77dff",ae=.01,Xe=1e3;function E(o){return Math.round(o*Xe)/Xe}function Dr(o){return[o.x,o.y,o.z]}function kt(o){return{center:new m(...o.position),rotation:new Y(...o.rotation)}}function ce(o,e){const{center:t,rotation:r}=kt(o);return Dr(new m(...e).applyQuaternion(r).add(t))}function le(o,e){return`collider:${encodeURIComponent(o.sourceOid)}:${e}`}function Nr(o){const{snapshot:e}=o,t=e.sensor?jr:Br,r={color:t,writable:o.writable},n=[],i=[];switch(e.shape.type){case"cuboid":{const s=e.shape.halfExtents;n.push({kind:"box",center:e.position,rotation:e.rotation,halfExtents:s,color:t,opacity:.78});for(const[a,c]of[[0,"X"],[1,"Y"],[2,"Z"]])for(const l of[-1,1]){const u=[0,0,0];u[a]=s[a]*l,i.push({id:le(o,`${a}:${l}`),label:`${c} ${l>0?"positive":"negative"} half extent`,position:ce(e,u),...r})}break}case"ball":n.push({kind:"sphere",center:e.position,radius:e.shape.radius,color:t,opacity:.78}),i.push({id:le(o,"radius"),label:"Collider radius",position:ce(e,[e.shape.radius,0,0]),...r});break;case"capsule":n.push({kind:"capsule",center:e.position,rotation:e.rotation,radius:e.shape.radius,halfHeight:e.shape.halfHeight,color:t,opacity:.78}),i.push({id:le(o,"radius"),label:"Collider radius",position:ce(e,[e.shape.radius,0,0]),...r},{id:le(o,"half-height"),label:"Collider half height",position:ce(e,[0,e.shape.halfHeight+e.shape.radius,0]),...r});break}return{id:`collider:${o.sourceOid}`,category:"colliders",guides:n,handles:i}}function Wr(o){if(!o.startsWith("collider:"))return null;const e=o.slice(9),t=e.indexOf(":");if(t<1)return null;try{return{oid:decodeURIComponent(e.slice(0,t)),part:e.slice(t+1)}}catch{return null}}function _r(o){return o>1e-8?o:1}function Ze(o,e,t){const r=Wr(e),n=r?o.find(u=>u.sourceOid===r.oid):null;if(!n||!r||!n.writable)return null;const{center:i,rotation:s}=kt(n.snapshot),a=new m(...t).sub(i).applyQuaternion(s.clone().invert()),c=n.snapshot.shape,l=n.snapshot.scale.map(_r);if(c.type==="cuboid"&&/^[012]:(?:-1|1)$/.test(r.part)){const u=Number(r.part[0]),d=[...c.halfExtents];return d[u]=Math.max(ae,E(Math.abs(a.getComponent(u)))),{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{type:"cuboid",halfExtents:d},args:d.map((h,p)=>E(h/l[p]))}}if(c.type==="ball"&&r.part==="radius"){const u=Math.max(ae,E(a.length()));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{type:"ball",radius:u},args:[E(u/l[0])]}}if(c.type==="capsule"){if(r.part==="radius"){const u=Math.max(ae,E(Math.hypot(a.x,a.z)));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{...c,radius:u},args:[E(c.halfHeight/l[0]),E(u/l[1])]}}if(r.part==="half-height"){const u=Math.max(ae,E(Math.abs(a.y)-c.radius));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{...c,halfHeight:u},args:[E(u/l[0]),E(c.radius/l[1])]}}}return null}const we="#ffb020",Qe=1e3;function Re(o){return`${o.source.line}:${o.source.col}`}function Ye(o,e){return`joint:${Re(o)}:${e}`}function Hr(o){const e=o.snapshot,t=[{kind:"line",points:[e.worldAnchor1,e.worldAnchor2],color:we,opacity:.9}];if(e.worldAxis){const r=new m(...e.worldAnchor1),n=new m(...e.worldAxis).normalize();t.push({kind:"line",points:[[r.x-n.x,r.y-n.y,r.z-n.z],[r.x+n.x,r.y+n.y,r.z+n.z]],color:"#ffd166",opacity:.82,dashed:!0})}return{id:`joint:${Re(o)}`,category:"joints",guides:t,handles:[{id:Ye(o,0),label:"Joint anchor A",position:e.worldAnchor1,color:we,writable:o.writable},{id:Ye(o,1),label:"Joint anchor B",position:e.worldAnchor2,color:we,writable:o.writable}]}}function be(o){return Math.round(o*Qe)/Qe}function zr(o){const e=/^joint:(\d+:\d+):([01])$/.exec(o);return e?{key:e[1],endpoint:Number(e[2])}:null}function Jr(o,e){return o.source.hook==="useFixedJoint"&&e===1?2:e}function et(o,e,t){const r=zr(e),n=r?o.find(d=>Re(d)===r.key):void 0;if(!n||!r||!n.writable||!n.source.params)return null;const i=n.snapshot,s=r.endpoint===0?i.body1Position:i.body2Position,a=r.endpoint===0?i.body1Rotation:i.body2Rotation,c=new m(...t).sub(new m(...s)).applyQuaternion(new Y(...a).invert()),l=[be(c.x),be(c.y),be(c.z)],u=n.source.params.map(d=>Array.isArray(d)?[...d]:d);return u[Jr(n,r.endpoint)]=l,{binding:n,endpoint:r.endpoint,anchor:l,params:u}}const tt="#ffd166",rt="#ff9f43",nt=1e3;function V(o){return[o.x,o.y,o.z]}function it(o){return Math.round(o*nt)/nt}function At(o){o.updateWorldMatrix(!0,!1);const e=o.getWorldQuaternion(new Y);return{origin:o.getWorldPosition(new m),rangeAxis:new m(1,0,0).applyQuaternion(e).normalize()}}function Et(o){o.updateWorldMatrix(!0,!1),o.target.updateWorldMatrix(!0,!1);const e=o.getWorldPosition(new m),r=o.target.getWorldPosition(new m).sub(e).normalize();r.lengthSq()<1e-8&&r.set(0,0,-1).applyQuaternion(o.getWorldQuaternion(new Y));const n=Math.abs(r.y)>.98?new m(1,0,0):new m(0,1,0),i=new m().crossVectors(r,n).normalize();return{origin:e,direction:r,radial:i}}function Vr(o,e,t,r,n){return o.clone().addScaledVector(e,Math.cos(n)*r).addScaledVector(t,Math.sin(n)*r)}function Ur(o,e){const t=o;if(!t.isPointLight&&!t.isSpotLight)return null;const{origin:r,rangeAxis:n}=At(o),i=typeof t.distance=="number"?t.distance:0,s=[],a=[];if(i>0&&(s.push({kind:"sphere",center:V(r),radius:i,color:tt,opacity:.62}),a.push({id:"light-range",label:"Light range",position:V(r.clone().addScaledVector(n,i)),color:tt,writable:e("light.distance")})),t.isSpotLight){const c=o,{direction:l,radial:u}=Et(c),d=r.distanceTo(c.target.getWorldPosition(new m)),h=i>0?i:Math.max(1,d),p=C.radToDeg(c.angle*2);s.push({kind:"cone",origin:V(r),direction:V(l),length:h,angle:p,color:rt,opacity:.75}),a.push({id:"light-angle",label:"Spot angle",position:V(Vr(r,l,u,h,c.angle)),color:rt,writable:e("light.angle")})}return s.length>0||a.length>0?{id:"light",category:"lights",guides:s,handles:a}:null}function Kr(o,e,t,r){const n=o,i=new m(...r);let s,a;if(t==="light-range"&&(n.isPointLight||n.isSpotLight))s="light.distance",a=Math.max(.01,it(i.distanceTo(At(o).origin)));else if(t==="light-angle"&&n.isSpotLight){s="light.angle";const{origin:l,direction:u}=Et(o),d=i.sub(l),h=d.dot(u),p=Math.sqrt(Math.max(0,d.lengthSq()-h*h));a=it(Math.max(.01,Math.min(Math.PI/2,Math.atan2(p,h))))}else return null;const c=Q(o,null,s,e);return c?{field:c,value:a}:null}function qr(o,e){T(o,null,e.field,e.value)}function Gr(o){const e=(t,r,n)=>{const i=o.object(t);if(!i)return null;const s=o.sourceTag(t),a=Kr(i,s,r,n);if(a)return{field:a.field,value:a.value,preview:()=>qr(i,a)};const c=Lr(i,s,r,n);return c?{field:c.field,value:c.value,preview:()=>Fr(i,c)}:null};return{layers:t=>{const r=o.object(t);if(!r)return[];const n=i=>o.writable(t,i);return[...o.colliderBindings(t).map(Nr),...o.jointBindings(t).map(Hr),...o.particleBindings(t).map(Or),...o.lodBindings(t).map(mr),Ur(r,n),Mr(r,n)].filter(i=>i!==null)},preview:(t,r,n)=>{const i=Ze(o.colliderBindings(t),r,n);if(i){o.previewCollider(i.colliderId,i.shape);return}const s=et(o.jointBindings(t),r,n);if(s){o.previewJointAnchor(s.binding.snapshot.id,s.endpoint,s.anchor);return}const a=_e(o.particleBindings(t),r,n);if(a){vt(a);return}const c=je(o.lodBindings(t),r,n);if(c){yt(c);return}e(t,r,n)?.preview()},commit:(t,r,n)=>{const i=Ze(o.colliderBindings(t),r,n);if(i)return o.commitCollider(t,i.sourceOid,i.args);const s=et(o.jointBindings(t),r,n);if(s)return o.commitJoint(s.binding,s.params);const a=_e(o.particleBindings(t),r,n);if(a)return o.commitParticle(a.binding,a.field,a.value);const c=je(o.lodBindings(t),r,n);if(c)return o.commitLodDistance(c.binding,c.level,c.value);const l=e(t,r,n);if(!(!l||!o.writable(t,l.field.path)))return o.commit(t,l.field.path,l.value)}}}const Z=/^-?\d+(\.\d+)?$/,Xr=/^#[0-9a-fA-F]{3,8}$/,U=1e-6;function $(o){const e=o.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z])([A-Z][a-z])/g,"$1 $2").trim();return e?e[0].toUpperCase()+e.slice(1):o}const Zr=new Set(["key","ref","data-oid","userData-oid","children"]),Qr=o=>Zr.has(o)||/^on[A-Z]/.test(o)||o.startsWith("userData-")||o.startsWith("__volter"),Yr=new Set(["position","rotation","scale","name","visible"]),en=new Set;function ue(o){return o instanceof Error?o.message:String(o)}function F(o){const e=Math.round(o*1e4)/1e4;return Object.is(e,-0)?"0":String(e)}function K(o){return`[${o.map(F).join(", ")}]`}function ve(o){return o.replace(/^\.?\//,"")}function ot(o){return o.replace(/["\\]/g,"")}function tn(o){return(o.split("/").pop()??o).replace(Ct,"")||"Model"}function rn(o){if(!xe(o))return!1;const e=o.trim().slice(1,-1).split(",").map(t=>t.trim()).filter(t=>t!=="");return e.length===3&&e.every(t=>Z.test(t))}function Oe(o){return o.isCamera===!0&&_(o)!==void 0}function R(o){const e=o.material;return Array.isArray(e)?e[0]??null:e??null}const de="this session has no source-write backend",O="jsx.",he="wrap.",N="collider.",st="joint.",at="particle.",Se="lod.",I="scene.background.",W="scene.environment.",S="scene.fog.",ct={CuboidCollider:"cuboid",BallCollider:"ball",CapsuleCollider:"capsule"},nn={useFixedJoint:"fixed",useSphericalJoint:"spherical",useRevoluteJoint:"revolute",usePrismaticJoint:"prismatic",useRopeJoint:"rope",useSpringJoint:"spring"};function q(o){return!!o&&o.isColor===!0}function on(o){return!!o&&o.isTexture===!0}function L(o){return!!o&&o.isFog===!0}function G(o){return!!o&&o.isFogExp2===!0}function lt(o){return o&&typeof o=="object"?o:null}function sn(o){const e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(o.trim());if(!e)return null;const t=e[1].toLowerCase();return t.length===3?t.split("").map(r=>`${r}${r}`).join(""):t}function an(o){return Array.isArray(o)}function Tt(o,e,t,r,n){const i=Array.isArray(e),s=Array.isArray(t),a=an(r);if(i||s||a)return!i||!s||!a||e.length!==t.length||e.length!==r.length?!1:e.every((l,u)=>Tt(o,l,t[u],r[u],n));if(e===t)return!0;const c=o.slice(r.start,r.end);return(typeof e=="number"?Number(c)!==e:c!==String(e))?!1:(n.push({start:r.start,end:r.end,text:typeof t=="number"?F(t):t?"true":"false"}),!0)}function cn(o,e){const t=o.source.params?.[e];if(t!==void 0)return t;const r=o.source.hook,n=o.snapshot;if(e===0)return n.anchor1;if(e===(r==="useFixedJoint"?2:1))return n.anchor2;if(e===2&&(r==="useRevoluteJoint"||r==="usePrismaticJoint"))return n.axis;if(e===3&&n.limits)return[n.limits.min,n.limits.max]}function ln(o,e){return e===void 0?o:Array.isArray(o)?o[e]:void 0}const ut={group:`<group>
1
+ import{d as Mt,b as _,r as Lt,o as M,a as re,i as ne}from"./component-instance-root-BtcOmix2.js";import{e as Ie,b as Ft}from"./live-gesture-lock-DJbrjOqf.js";import{r as Bt,c as jt}from"./relative-import-specifier-N1r5PU5l.js";import{S as Dt,C as Nt,r as Wt}from"./three-projection-core-C7CgCiKg.js";import{eg as _t,gC as Ht,k$ as zt,l0 as B,l1 as Jt,d4 as Vt,fg as Ut,bU as ie,bV as oe,dv as j,Z as Pe,he as ke,bW as Kt}from"./index-CQ2mBTB3.js";import{w as qt}from"./inference-diagnostics-H8BhQPo1.js";import{f as Gt,d as Xt,e as Ae,g as Zt,h as Qt,j as Yt,k as er,l as Ee,m as tr,n as rr}from"./instance-fork-actions-D3sRzS3K.js";import{c as nr,T as ir,n as or}from"./three-D94Cuk32.js";import{l as H}from"./oid-transform-B_w-y892.js";import{c as sr,b as ar}from"./r3f-physics-binding-Bnz_0MBc.js";import{f as fe,a as Te,i as xe,b as cr,o as lr}from"./writer-tw6EcuVO.js";import{isEditorOwnedObject as me}from"./editor-layers-dgmb9OkA.js";import{object3DAuthoringSubjectOf as Ce}from"./object3d-authoring-subject-XccsO0xG.js";import{getUserData as ye}from"./user-data-CODoGZqA.js";import"./three.module-BLhyNg0e.js";import{cj as C,fo as m,eX as ur,ej as dr,cO as hr,dp as Y,I as Me}from"./three.core-3arARmh6.js";import"./user-data-Bs7aRC-I.js";import"./workspace-arrangement-rUj27SGX.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"./entity-object-B79hRIdx.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./object-marks-BnvSuCTt.js";function pr(o){return`${o.code}|${o.file}|${o.line}|${o.col}`}function fr(...o){const e=new Set,t=[];for(const r of o)for(const n of r?.diagnostics??[]){const i=pr(n);e.has(i)||(e.add(i),t.push(n))}return t}const Le=["#7dd3fc","#60a5fa","#818cf8","#a78bfa","#c084fc"],Fe=1e3;function ft(o){return o.lod.updateWorldMatrix(!0,!1),o.lod.getWorldPosition(new m)}function Be(o){return Le[o%Le.length]}function mr(o){const e=ft(o),t=[],r=[];return o.lod.levels.forEach((n,i)=>{!Number.isFinite(n.distance)||n.distance<=0||(t.push({kind:"sphere",center:[e.x,e.y,e.z],radius:n.distance,color:Be(i),opacity:.56}),r.push({id:`lod:${encodeURIComponent(o.key)}:${i}`,label:`LOD ${i} distance`,position:[e.x+n.distance,e.y,e.z],color:Be(i),writable:o.writableDistances.has(i)}))}),{id:`lod:${o.key}`,category:"lod",guides:t,handles:r}}function yr(o){return Math.round(o*Fe)/Fe}function mt(o,e,t){const r=o.lod.levels[e-1]?.distance,n=o.lod.levels[e+1]?.distance,i=r===void 0?0:r+.01,s=n===void 0?Number.POSITIVE_INFINITY:Math.max(i,n-.01);return yr(C.clamp(t,i,s))}function je(o,e,t){const r=/^lod:([^:]+):(\d+)$/.exec(e);if(!r)return null;const n=decodeURIComponent(r[1]),i=Number(r[2]),s=o.find(c=>c.key===n);if(!s||!s.writableDistances.has(i))return null;const a=new m(...t).distanceTo(ft(s));return{binding:s,level:i,value:mt(s,i,a)}}function yt(o){const e=o.binding.lod.levels[o.level];e&&(e.distance=o.value)}const gt="#ff9f43",gr="#ffd166",De=1e3;function wr(o){const e=o.system?.emitterShape;return e&&typeof e.type=="string"?e:null}function $e(o){return encodeURIComponent(o.sourceOid)}function wt(o){return[o.x,o.y,o.z]}function br(o,e){return o.emitter.updateWorldMatrix(!0,!1),wt(e.clone().applyMatrix4(o.emitter.matrixWorld))}function b(o,e,t=.72){o.emitter.updateWorldMatrix(!0,!1);const r=o.emitter.matrixWorld;return{kind:"line",points:e.map(n=>wt(n.clone().applyMatrix4(r))),color:gt,opacity:t}}function k(o,e="xy",t=48,r=Math.PI*2){const n=[];for(let i=0;i<=t;i+=1){const s=i/t*r,a=Math.cos(s)*o,c=Math.sin(s)*o;n.push(e==="xy"?new m(a,c,0):e==="xz"?new m(a,0,c):new m(0,a,c))}return n}function Ne(o,e){return o.map(t=>t.clone().applyAxisAngle(new m(0,0,1),e))}function We(o,e,t=24){const r=[];for(let n=0;n<=t;n+=1){const i=n/t*Math.PI,s=Math.cos(i)*o,a=Math.sin(i)*o;r.push(new m(s,0,a))}return r}function P(o,e,t){const r=o[e];return typeof r=="number"&&Number.isFinite(r)?r:t}function vr(o){const e=o.shape,t=P(e,"radius",10),r=C.clamp(P(e,"arc",Math.PI*2),0,Math.PI*2),n=Math.abs(r-Math.PI*2)<.001;switch(e.type){case"point":return[b(o,[new m(-.2,0,0),new m(.2,0,0)]),b(o,[new m(0,-.2,0),new m(0,.2,0)]),b(o,[new m(0,0,-.2),new m(0,0,.2)])];case"sphere":return[b(o,k(t,"xy",48,r)),b(o,k(t,"xz"),.5),b(o,Ne(k(t,"xz"),n?Math.PI/2:r),.5)];case"hemisphere":return[b(o,k(t,"xy",48,r)),b(o,We(t),.55),b(o,Ne(We(t),n?Math.PI/2:r),.55)];case"cone":{const i=P(e,"angle",Math.PI/6),s=Math.max(t,1),a=[b(o,k(t,"xy",48,r))],c=n?[0,Math.PI/2,Math.PI,3*Math.PI/2]:[0,r/3,r*2/3,r];for(const l of c){const u=new m(Math.cos(l)*t,Math.sin(l)*t,0),d=u.clone().add(new m(Math.cos(l)*Math.sin(i),Math.sin(l)*Math.sin(i),Math.cos(i)).multiplyScalar(s));a.push(b(o,[u,d],.58))}return a}case"circle":return[b(o,k(t,"xy",48,r))];case"donut":{const i=P(e,"donutRadius",t*.2);return[b(o,k(Math.max(0,t-i),"xy",48,r),.45),b(o,k(t,"xy",48,r)),b(o,k(t+i,"xy",48,r),.45),b(o,k(i,"xz").map(s=>s.add(new m(t,0,0))),.45)]}case"rectangle":case"grid":{const i=P(e,"width",e.type==="grid"?1:10),s=P(e,"height",e.type==="grid"?1:10),a=i/2,c=s/2,l=[b(o,[new m(-a,-c,0),new m(a,-c,0),new m(a,c,0),new m(-a,c,0),new m(-a,-c,0)])];if(e.type==="grid"){const u=Math.min(16,Math.max(1,Math.round(P(e,"column",10)))),d=Math.min(16,Math.max(1,Math.round(P(e,"row",10))));for(let h=1;h<u;h+=1){const p=-a+h/u*i;l.push(b(o,[new m(p,-c,0),new m(p,c,0)],.24))}for(let h=1;h<d;h+=1){const p=-c+h/d*s;l.push(b(o,[new m(-a,p,0),new m(a,p,0)],.24))}}return l}}}function z(o,e,t,r){return{id:`particle:${$e(o)}:${e}`,label:t,position:br(o,r),color:e==="angle"?gr:gt,writable:o.writableFields.has(e)}}function Or(o){const e=o.shape,t=P(e,"radius",10),r=[];if(["sphere","hemisphere","cone","circle","donut"].includes(e.type)&&r.push(z(o,"radius","Emitter radius",new m(t,0,0))),e.type==="cone"){const n=P(e,"angle",Math.PI/6),i=Math.max(t,1);r.push(z(o,"angle","Cone angle",new m(t+Math.sin(n)*i,0,Math.cos(n)*i)))}return e.type==="donut"&&r.push(z(o,"donutRadius","Donut tube radius",new m(t,0,P(e,"donutRadius",t*.2)))),(e.type==="rectangle"||e.type==="grid")&&r.push(z(o,"width","Emitter width",new m(P(e,"width",1)/2,0,0)),z(o,"height","Emitter height",new m(0,P(e,"height",1)/2,0))),{id:`particle:${$e(o)}`,category:"particles",guides:vr(o),handles:r}}function se(o){return Math.round(o*De)/De}function bt(o,e){return o==="angle"?se(C.clamp(e,.01,Math.PI/2-.01)):o==="arc"?se(C.clamp(e,0,Math.PI*2)):o==="thickness"?se(C.clamp(e,0,1)):o==="column"||o==="row"?Math.max(1,Math.round(e)):se(Math.max(.01,e))}function Sr(o,e){return bt(o,e)}function _e(o,e,t){const r=/^particle:([^:]+):(radius|angle|donutRadius|width|height)$/.exec(e),n=r?o.find(l=>$e(l)===r[1]):void 0,i=r?.[2];if(!n||!i||!n.writableFields.has(i))return null;n.emitter.updateWorldMatrix(!0,!1);const s=n.emitter.worldToLocal(new m(...t)),a=P(n.shape,"radius",10);let c;return i==="radius"?c=n.shape.type==="sphere"||n.shape.type==="hemisphere"?s.length():Math.hypot(s.x,s.y):i==="angle"?c=Math.atan2(Math.max(0,Math.hypot(s.x,s.y)-a),Math.abs(s.z)||.001):i==="donutRadius"?c=Math.abs(s.z):i==="width"?c=Math.abs(s.x)*2:c=Math.abs(s.y)*2,{binding:n,field:i,value:bt(i,c)}}function vt(o){o.binding.shape[o.field]=o.value}const Ot={Light:"light",Material:"material",Camera:"camera",Audio:"audio"};function y(o,e,t,r,n,i=`${Ot[o]}.${t}`,s){return{prop:t,label:r,type:n,group:o,target:e,path:i,...s?{options:s}:{}}}function D(o,e,t){return{prop:o,label:e,type:"asset",group:"Material",target:"material",path:`${Ot.Material}.${o}`,colorSpace:t}}const Pr=[D("map","Base Color Map","srgb"),D("normalMap","Normal Map","linear"),D("roughnessMap","Roughness Map","linear"),D("metalnessMap","Metalness Map","linear"),D("emissiveMap","Emissive Map","srgb"),D("aoMap","Ambient Occlusion Map","linear")];function xr(o){const e=o;return e&&e.isColor?`#${e.getHexString()}`:void 0}const St="volterAssetPath",He=new WeakSet,$r=new ur;function Pt(o){const e=o;if(!e||!e.isTexture)return"";const t=e.userData?.[St];if(typeof t=="string"&&t)return t;if(e.name)return e.name;const r=e.image?.src;return typeof r=="string"?r:""}function Rr(o){return/^(?:[a-z]+:|\/)/i.test(o)?o:`/${o}`}function Ir(o,e,t){if(!o)return null;const r=o,n=r[e.prop],i=t==null?"":String(t);if(n&&He.has(n)&&Pt(n)!==i&&n.dispose(),!i)return r[e.prop]=null,o.needsUpdate=!0,"";const s=$r.load(Rr(i));return s.colorSpace=e.colorSpace==="srgb"?dr:hr,s.userData[St]=i,s.name=i,He.add(s),r[e.prop]=s,o.needsUpdate=!0,i}function kr(o){const e=o,t=[y("Light","self","color","Color","color"),y("Light","self","intensity","Intensity","number")];return(e.isPointLight||e.isSpotLight)&&t.push(y("Light","self","distance","Distance","number"),y("Light","self","decay","Decay","number")),e.isSpotLight&&t.push(y("Light","self","angle","Angle","number"),y("Light","self","penumbra","Penumbra","number")),t}function xt(o){const e=o;return e.isDirectionalLight||e.isPointLight||e.isSpotLight?y("Light","self","castShadow","Cast Shadow","boolean","shadow.cast"):void 0}function Ar(o){const e=o,t=[];e.color?.isColor&&t.push(y("Material","material","color","Color","color")),typeof e.roughness=="number"&&t.push(y("Material","material","roughness","Roughness","number")),typeof e.metalness=="number"&&t.push(y("Material","material","metalness","Metalness","number")),e.emissive?.isColor&&t.push(y("Material","material","emissive","Emissive","color")),t.push(y("Material","material","opacity","Opacity","number"),y("Material","material","transparent","Transparent","boolean")),typeof e.wireframe=="boolean"&&t.push(y("Material","material","wireframe","Wireframe","boolean"));const r=o;for(const n of Pr)n.prop in r&&t.push(n);return t}function Er(o){const e=o;return e.isPerspectiveCamera?[y("Camera","self","fov","FOV","number"),y("Camera","self","near","Near","number"),y("Camera","self","far","Far","number"),y("Camera","self","zoom","Zoom","number")]:e.isOrthographicCamera?[y("Camera","self","zoom","Zoom","number"),y("Camera","self","near","Near","number"),y("Camera","self","far","Far","number"),y("Camera","self","left","Left","number"),y("Camera","self","right","Right","number"),y("Camera","self","top","Top","number"),y("Camera","self","bottom","Bottom","number")]:[]}function ee(o){const e=o;return typeof e.getRefDistance=="function"&&typeof e.setRefDistance=="function"&&!!e.panner}function Tr(o="PositionalAudio"){return[y("Audio","self",o==="PositionalAudio"?"distance":"panner-refDistance","Reference Distance","number","audio.refDistance"),y("Audio","self","panner-distanceModel","Distance Model","enum","audio.distanceModel",["inverse","linear","exponential"]),y("Audio","self","panner-rolloffFactor","Rolloff","number","audio.rolloffFactor"),y("Audio","self","panner-maxDistance","Maximum Distance","number","audio.maxDistance"),y("Audio","self","panner-coneInnerAngle","Inner Cone","number","audio.coneInnerAngle"),y("Audio","self","panner-coneOuterAngle","Outer Cone","number","audio.coneOuterAngle"),y("Audio","self","panner-coneOuterGain","Outside Gain","number","audio.coneOuterGain")]}function $t(o,e,t){const r=o,n=[];return r.isLight&&n.push(...kr(o)),r.isCamera&&n.push(...Er(o)),ee(o)&&n.push(...Tr(t)),e&&n.push(...Ar(e)),n}function Q(o,e,t,r){const n=xt(o);return $t(o,e,r).find(i=>i.path===t)??(n?.path===t?n:void 0)}function Rt(o,e,t){return t.target==="material"?e:o}function J(o,e,t){if(t.group==="Audio"&&ee(o)){const i=o.panner;switch(t.path){case"audio.refDistance":return o.getRefDistance();case"audio.distanceModel":return o.getDistanceModel();case"audio.rolloffFactor":return o.getRolloffFactor();case"audio.maxDistance":return o.getMaxDistance();case"audio.coneInnerAngle":return i.coneInnerAngle;case"audio.coneOuterAngle":return i.coneOuterAngle;case"audio.coneOuterGain":return i.coneOuterGain}}const r=Rt(o,e,t);if(!r)return;const n=r[t.prop];return t.type==="color"?xr(n):t.type==="asset"?Pt(n):n}function Cr(o,e,t){if(e.path==="audio.distanceModel"){const n=String(t);return n!=="inverse"&&n!=="linear"&&n!=="exponential"?null:(o.setDistanceModel(n),n)}const r=Number(t);if(!Number.isFinite(r))return null;switch(e.path){case"audio.refDistance":return o.setRefDistance(Math.max(.01,r)),Math.max(.01,r);case"audio.rolloffFactor":return o.setRolloffFactor(Math.max(0,r)),Math.max(0,r);case"audio.maxDistance":return o.setMaxDistance(Math.max(o.getRefDistance()+.01,r)),Math.max(o.getRefDistance()+.01,r);case"audio.coneInnerAngle":{const n=Math.max(0,Math.min(o.panner.coneOuterAngle,r));return o.setDirectionalCone(n,o.panner.coneOuterAngle,o.panner.coneOuterGain),n}case"audio.coneOuterAngle":{const n=Math.max(o.panner.coneInnerAngle,Math.min(360,r));return o.setDirectionalCone(o.panner.coneInnerAngle,n,o.panner.coneOuterGain),n}case"audio.coneOuterGain":{const n=Math.max(0,Math.min(1,r));return o.setDirectionalCone(o.panner.coneInnerAngle,o.panner.coneOuterAngle,n),n}default:return null}}function T(o,e,t,r){if(t.group==="Audio"&&ee(o))return Cr(o,t,r);if(t.type==="asset")return Ir(e,t,r);const n=Rt(o,e,t);if(!n)return null;if(t.type==="color"){const s=String(r);return n[t.prop]?.set(s),s}if(t.type==="boolean"){const s=!!r;return n[t.prop]=s,ze(o,e,t),s}const i=Number(r);return Number.isFinite(i)?(n[t.prop]=i,ze(o,e,t),i):null}function ze(o,e,t){t.group==="Camera"&&o.updateProjectionMatrix?.(),t.target==="material"&&e&&(t.prop==="transparent"||t.prop==="wireframe")&&(e.needsUpdate=!0)}const Je="#42c8ff",Ve="#287fb8",Ue="#ffd166",Ke="#ff9f43",qe=100;function A(o){return[o.x,o.y,o.z]}function It(o){o.updateWorldMatrix(!0,!1);const e=o.getWorldPosition(new m),t=o.getWorldQuaternion(new Y);return{origin:e,forward:new m(0,0,1).applyQuaternion(t).normalize(),right:new m(1,0,0).applyQuaternion(t).normalize()}}function Ge(o,e,t,r,n){const i=C.degToRad(n/2);return o.clone().addScaledVector(e,Math.cos(i)*r).addScaledVector(t,Math.sin(i)*r)}function Mr(o,e){if(!ee(o))return null;const{origin:t,forward:r,right:n}=It(o),i=o.getRefDistance(),s=o.getMaxDistance(),a=o.getDistanceModel(),c=o.panner.coneInnerAngle,l=o.panner.coneOuterAngle,u=l<359.5,d=Math.max(1,Math.min(8,i*2.5)),h=[{kind:"sphere",center:A(t),radius:i,color:Je,opacity:.75}],p=[{id:"audio-ref-distance",label:"Reference distance",position:A(t.clone().addScaledVector(n,i)),color:Je,writable:e("audio.refDistance")}];return a==="linear"&&(h.push({kind:"sphere",center:A(t),radius:s,color:Ve,opacity:.42,dashed:!0}),p.push({id:"audio-max-distance",label:"Maximum distance",position:A(t.clone().addScaledVector(n,s)),color:Ve,writable:e("audio.maxDistance")})),u&&(h.push({kind:"cone",origin:A(t),direction:A(r),length:d,angle:l,color:Ke,opacity:.72}),p.push({id:"audio-outer-cone",label:"Outer cone angle",position:A(Ge(t,r,n,d,l)),color:Ke,writable:e("audio.coneOuterAngle")}),c<359.5&&(h.push({kind:"cone",origin:A(t),direction:A(r),length:d,angle:c,color:Ue,opacity:.58,dashed:!0}),p.push({id:"audio-inner-cone",label:"Inner cone angle",position:A(Ge(t,r,n,d,c)),color:Ue,writable:e("audio.coneInnerAngle")}))),{id:"positional-audio",category:"audio",guides:h,handles:p}}function ge(o){return Math.round(o*qe)/qe}function Lr(o,e,t,r){if(!ee(o))return null;const{origin:n,forward:i}=It(o),a=new m(...r).sub(n);let c,l;switch(t){case"audio-ref-distance":c="audio.refDistance",l=Math.max(.01,ge(a.length()));break;case"audio-max-distance":c="audio.maxDistance",l=Math.max(o.getRefDistance()+.01,ge(a.length()));break;case"audio-inner-cone":case"audio-outer-cone":{c=t==="audio-inner-cone"?"audio.coneInnerAngle":"audio.coneOuterAngle";const d=a.dot(i),h=Math.sqrt(Math.max(0,a.lengthSq()-d*d));l=ge(C.radToDeg(Math.atan2(h,d))*2);break}default:return null}const u=Q(o,null,c,e);return u?{field:u,value:l}:null}function Fr(o,e){T(o,null,e.field,e.value)}const Br="#00e58a",jr="#c77dff",ae=.01,Xe=1e3;function E(o){return Math.round(o*Xe)/Xe}function Dr(o){return[o.x,o.y,o.z]}function kt(o){return{center:new m(...o.position),rotation:new Y(...o.rotation)}}function ce(o,e){const{center:t,rotation:r}=kt(o);return Dr(new m(...e).applyQuaternion(r).add(t))}function le(o,e){return`collider:${encodeURIComponent(o.sourceOid)}:${e}`}function Nr(o){const{snapshot:e}=o,t=e.sensor?jr:Br,r={color:t,writable:o.writable},n=[],i=[];switch(e.shape.type){case"cuboid":{const s=e.shape.halfExtents;n.push({kind:"box",center:e.position,rotation:e.rotation,halfExtents:s,color:t,opacity:.78});for(const[a,c]of[[0,"X"],[1,"Y"],[2,"Z"]])for(const l of[-1,1]){const u=[0,0,0];u[a]=s[a]*l,i.push({id:le(o,`${a}:${l}`),label:`${c} ${l>0?"positive":"negative"} half extent`,position:ce(e,u),...r})}break}case"ball":n.push({kind:"sphere",center:e.position,radius:e.shape.radius,color:t,opacity:.78}),i.push({id:le(o,"radius"),label:"Collider radius",position:ce(e,[e.shape.radius,0,0]),...r});break;case"capsule":n.push({kind:"capsule",center:e.position,rotation:e.rotation,radius:e.shape.radius,halfHeight:e.shape.halfHeight,color:t,opacity:.78}),i.push({id:le(o,"radius"),label:"Collider radius",position:ce(e,[e.shape.radius,0,0]),...r},{id:le(o,"half-height"),label:"Collider half height",position:ce(e,[0,e.shape.halfHeight+e.shape.radius,0]),...r});break}return{id:`collider:${o.sourceOid}`,category:"colliders",guides:n,handles:i}}function Wr(o){if(!o.startsWith("collider:"))return null;const e=o.slice(9),t=e.indexOf(":");if(t<1)return null;try{return{oid:decodeURIComponent(e.slice(0,t)),part:e.slice(t+1)}}catch{return null}}function _r(o){return o>1e-8?o:1}function Ze(o,e,t){const r=Wr(e),n=r?o.find(u=>u.sourceOid===r.oid):null;if(!n||!r||!n.writable)return null;const{center:i,rotation:s}=kt(n.snapshot),a=new m(...t).sub(i).applyQuaternion(s.clone().invert()),c=n.snapshot.shape,l=n.snapshot.scale.map(_r);if(c.type==="cuboid"&&/^[012]:(?:-1|1)$/.test(r.part)){const u=Number(r.part[0]),d=[...c.halfExtents];return d[u]=Math.max(ae,E(Math.abs(a.getComponent(u)))),{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{type:"cuboid",halfExtents:d},args:d.map((h,p)=>E(h/l[p]))}}if(c.type==="ball"&&r.part==="radius"){const u=Math.max(ae,E(a.length()));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{type:"ball",radius:u},args:[E(u/l[0])]}}if(c.type==="capsule"){if(r.part==="radius"){const u=Math.max(ae,E(Math.hypot(a.x,a.z)));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{...c,radius:u},args:[E(c.halfHeight/l[0]),E(u/l[1])]}}if(r.part==="half-height"){const u=Math.max(ae,E(Math.abs(a.y)-c.radius));return{sourceOid:n.sourceOid,colliderId:n.snapshot.id,shape:{...c,halfHeight:u},args:[E(u/l[0]),E(c.radius/l[1])]}}}return null}const we="#ffb020",Qe=1e3;function Re(o){return`${o.source.line}:${o.source.col}`}function Ye(o,e){return`joint:${Re(o)}:${e}`}function Hr(o){const e=o.snapshot,t=[{kind:"line",points:[e.worldAnchor1,e.worldAnchor2],color:we,opacity:.9}];if(e.worldAxis){const r=new m(...e.worldAnchor1),n=new m(...e.worldAxis).normalize();t.push({kind:"line",points:[[r.x-n.x,r.y-n.y,r.z-n.z],[r.x+n.x,r.y+n.y,r.z+n.z]],color:"#ffd166",opacity:.82,dashed:!0})}return{id:`joint:${Re(o)}`,category:"joints",guides:t,handles:[{id:Ye(o,0),label:"Joint anchor A",position:e.worldAnchor1,color:we,writable:o.writable},{id:Ye(o,1),label:"Joint anchor B",position:e.worldAnchor2,color:we,writable:o.writable}]}}function be(o){return Math.round(o*Qe)/Qe}function zr(o){const e=/^joint:(\d+:\d+):([01])$/.exec(o);return e?{key:e[1],endpoint:Number(e[2])}:null}function Jr(o,e){return o.source.hook==="useFixedJoint"&&e===1?2:e}function et(o,e,t){const r=zr(e),n=r?o.find(d=>Re(d)===r.key):void 0;if(!n||!r||!n.writable||!n.source.params)return null;const i=n.snapshot,s=r.endpoint===0?i.body1Position:i.body2Position,a=r.endpoint===0?i.body1Rotation:i.body2Rotation,c=new m(...t).sub(new m(...s)).applyQuaternion(new Y(...a).invert()),l=[be(c.x),be(c.y),be(c.z)],u=n.source.params.map(d=>Array.isArray(d)?[...d]:d);return u[Jr(n,r.endpoint)]=l,{binding:n,endpoint:r.endpoint,anchor:l,params:u}}const tt="#ffd166",rt="#ff9f43",nt=1e3;function V(o){return[o.x,o.y,o.z]}function it(o){return Math.round(o*nt)/nt}function At(o){o.updateWorldMatrix(!0,!1);const e=o.getWorldQuaternion(new Y);return{origin:o.getWorldPosition(new m),rangeAxis:new m(1,0,0).applyQuaternion(e).normalize()}}function Et(o){o.updateWorldMatrix(!0,!1),o.target.updateWorldMatrix(!0,!1);const e=o.getWorldPosition(new m),r=o.target.getWorldPosition(new m).sub(e).normalize();r.lengthSq()<1e-8&&r.set(0,0,-1).applyQuaternion(o.getWorldQuaternion(new Y));const n=Math.abs(r.y)>.98?new m(1,0,0):new m(0,1,0),i=new m().crossVectors(r,n).normalize();return{origin:e,direction:r,radial:i}}function Vr(o,e,t,r,n){return o.clone().addScaledVector(e,Math.cos(n)*r).addScaledVector(t,Math.sin(n)*r)}function Ur(o,e){const t=o;if(!t.isPointLight&&!t.isSpotLight)return null;const{origin:r,rangeAxis:n}=At(o),i=typeof t.distance=="number"?t.distance:0,s=[],a=[];if(i>0&&(s.push({kind:"sphere",center:V(r),radius:i,color:tt,opacity:.62}),a.push({id:"light-range",label:"Light range",position:V(r.clone().addScaledVector(n,i)),color:tt,writable:e("light.distance")})),t.isSpotLight){const c=o,{direction:l,radial:u}=Et(c),d=r.distanceTo(c.target.getWorldPosition(new m)),h=i>0?i:Math.max(1,d),p=C.radToDeg(c.angle*2);s.push({kind:"cone",origin:V(r),direction:V(l),length:h,angle:p,color:rt,opacity:.75}),a.push({id:"light-angle",label:"Spot angle",position:V(Vr(r,l,u,h,c.angle)),color:rt,writable:e("light.angle")})}return s.length>0||a.length>0?{id:"light",category:"lights",guides:s,handles:a}:null}function Kr(o,e,t,r){const n=o,i=new m(...r);let s,a;if(t==="light-range"&&(n.isPointLight||n.isSpotLight))s="light.distance",a=Math.max(.01,it(i.distanceTo(At(o).origin)));else if(t==="light-angle"&&n.isSpotLight){s="light.angle";const{origin:l,direction:u}=Et(o),d=i.sub(l),h=d.dot(u),p=Math.sqrt(Math.max(0,d.lengthSq()-h*h));a=it(Math.max(.01,Math.min(Math.PI/2,Math.atan2(p,h))))}else return null;const c=Q(o,null,s,e);return c?{field:c,value:a}:null}function qr(o,e){T(o,null,e.field,e.value)}function Gr(o){const e=(t,r,n)=>{const i=o.object(t);if(!i)return null;const s=o.sourceTag(t),a=Kr(i,s,r,n);if(a)return{field:a.field,value:a.value,preview:()=>qr(i,a)};const c=Lr(i,s,r,n);return c?{field:c.field,value:c.value,preview:()=>Fr(i,c)}:null};return{layers:t=>{const r=o.object(t);if(!r)return[];const n=i=>o.writable(t,i);return[...o.colliderBindings(t).map(Nr),...o.jointBindings(t).map(Hr),...o.particleBindings(t).map(Or),...o.lodBindings(t).map(mr),Ur(r,n),Mr(r,n)].filter(i=>i!==null)},preview:(t,r,n)=>{const i=Ze(o.colliderBindings(t),r,n);if(i){o.previewCollider(i.colliderId,i.shape);return}const s=et(o.jointBindings(t),r,n);if(s){o.previewJointAnchor(s.binding.snapshot.id,s.endpoint,s.anchor);return}const a=_e(o.particleBindings(t),r,n);if(a){vt(a);return}const c=je(o.lodBindings(t),r,n);if(c){yt(c);return}e(t,r,n)?.preview()},commit:(t,r,n)=>{const i=Ze(o.colliderBindings(t),r,n);if(i)return o.commitCollider(t,i.sourceOid,i.args);const s=et(o.jointBindings(t),r,n);if(s)return o.commitJoint(s.binding,s.params);const a=_e(o.particleBindings(t),r,n);if(a)return o.commitParticle(a.binding,a.field,a.value);const c=je(o.lodBindings(t),r,n);if(c)return o.commitLodDistance(c.binding,c.level,c.value);const l=e(t,r,n);if(!(!l||!o.writable(t,l.field.path)))return o.commit(t,l.field.path,l.value)}}}const Z=/^-?\d+(\.\d+)?$/,Xr=/^#[0-9a-fA-F]{3,8}$/,U=1e-6;function $(o){const e=o.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z])([A-Z][a-z])/g,"$1 $2").trim();return e?e[0].toUpperCase()+e.slice(1):o}const Zr=new Set(["key","ref","data-oid","userData-oid","children"]),Qr=o=>Zr.has(o)||/^on[A-Z]/.test(o)||o.startsWith("userData-")||o.startsWith("__volter"),Yr=new Set(["position","rotation","scale","name","visible"]),en=new Set;function ue(o){return o instanceof Error?o.message:String(o)}function F(o){const e=Math.round(o*1e4)/1e4;return Object.is(e,-0)?"0":String(e)}function K(o){return`[${o.map(F).join(", ")}]`}function ve(o){return o.replace(/^\.?\//,"")}function ot(o){return o.replace(/["\\]/g,"")}function tn(o){return(o.split("/").pop()??o).replace(Ct,"")||"Model"}function rn(o){if(!xe(o))return!1;const e=o.trim().slice(1,-1).split(",").map(t=>t.trim()).filter(t=>t!=="");return e.length===3&&e.every(t=>Z.test(t))}function Oe(o){return o.isCamera===!0&&_(o)!==void 0}function R(o){const e=o.material;return Array.isArray(e)?e[0]??null:e??null}const de="this session has no source-write backend",O="jsx.",he="wrap.",N="collider.",st="joint.",at="particle.",Se="lod.",I="scene.background.",W="scene.environment.",S="scene.fog.",ct={CuboidCollider:"cuboid",BallCollider:"ball",CapsuleCollider:"capsule"},nn={useFixedJoint:"fixed",useSphericalJoint:"spherical",useRevoluteJoint:"revolute",usePrismaticJoint:"prismatic",useRopeJoint:"rope",useSpringJoint:"spring"};function q(o){return!!o&&o.isColor===!0}function on(o){return!!o&&o.isTexture===!0}function L(o){return!!o&&o.isFog===!0}function G(o){return!!o&&o.isFogExp2===!0}function lt(o){return o&&typeof o=="object"?o:null}function sn(o){const e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(o.trim());if(!e)return null;const t=e[1].toLowerCase();return t.length===3?t.split("").map(r=>`${r}${r}`).join(""):t}function an(o){return Array.isArray(o)}function Tt(o,e,t,r,n){const i=Array.isArray(e),s=Array.isArray(t),a=an(r);if(i||s||a)return!i||!s||!a||e.length!==t.length||e.length!==r.length?!1:e.every((l,u)=>Tt(o,l,t[u],r[u],n));if(e===t)return!0;const c=o.slice(r.start,r.end);return(typeof e=="number"?Number(c)!==e:c!==String(e))?!1:(n.push({start:r.start,end:r.end,text:typeof t=="number"?F(t):t?"true":"false"}),!0)}function cn(o,e){const t=o.source.params?.[e];if(t!==void 0)return t;const r=o.source.hook,n=o.snapshot;if(e===0)return n.anchor1;if(e===(r==="useFixedJoint"?2:1))return n.anchor2;if(e===2&&(r==="useRevoluteJoint"||r==="usePrismaticJoint"))return n.axis;if(e===3&&n.limits)return[n.limits.min,n.limits.max]}function ln(o,e){return e===void 0?o:Array.isArray(o)?o[e]:void 0}const ut={group:`<group>
2
2
  </group>`,mesh:`<mesh position={[0, 0, 0]}>
3
3
  <boxGeometry />
4
4
  <meshStandardMaterial color="#8888ff" />
@@ -1 +1 @@
1
- import{d6 as L}from"./index-jJyzinl6.js";const Y=.1,w=4,x=.02,X=32,b=.002,P=4;function g(t,o,i){return o===1?t*16:o===2?t*i:t}function D(t,o){let i=g(o.deltaX,o.deltaMode,o.bounds.width),s=g(o.deltaY,o.deltaMode,o.bounds.height);if(o.ctrlKey||o.metaKey){const n=Math.min(w,Math.max(Y,t.zoom*Math.exp(-s*b))),a=o.clientX-o.bounds.left,d=o.clientY-o.bounds.top,c=(a-t.x)/t.zoom,u=(d-t.y)/t.zoom;return{x:a-c*n,y:d-u*n,zoom:n}}return o.shiftKey&&i===0&&(i=s,s=0),{x:t.x-i,y:t.y-s,zoom:t.zoom}}function I(t,o){const i=g(o.deltaY,o.deltaMode,o.bounds.height),s=Math.min(X,Math.max(x,t.zoom*Math.exp(-i*b))),n=o.clientX-o.bounds.left,a=o.clientY-o.bounds.top,d=(n-t.x)/t.zoom,c=(a-t.y)/t.zoom;return{x:n-d*s,y:a-c*s,zoom:s}}function p(t){return t instanceof Element&&t.closest('[data-volter-canvas-navigation-ignore="true"]')!==null}function C(t,o,i,s={}){let n=null,a=!1,d="";const c=()=>t.querySelector('[data-testid="world-selection-overlay-interaction"]'),u=e=>{t.dataset.canvasPanning=e?"true":"false",t.style.cursor=e?"grabbing":"";const r=c();r&&(e?(d=r.style.cursor,r.style.cursor="grabbing"):r.style.cursor=d)},m=e=>{if(!n||e.pointerId!==n.pointerId)return;const r=n.button===1?4:2;if((e.buttons&r)===0){l(e);return}const f=e.clientX-n.startClientX,v=e.clientY-n.startClientY;if(!n.moved){if(Math.hypot(f,v)<=P)return;n.moved=!0,u(!0)}o.setPan(n.startPan.x+f,n.startPan.y+v)},l=e=>{if(!n||e.pointerId!==n.pointerId)return;const r=n.pointerId;n.button===2&&n.moved&&(a=!0),n=null,u(!1),t.hasPointerCapture?.(r)&&t.releasePointerCapture(r),window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)},h=e=>{const r=e.button===1,f=s.rightDragPans===!0&&e.button===2;!r&&!f||p(e.target)||(f&&(a=!1),e.preventDefault(),r&&e.stopPropagation(),n={pointerId:e.pointerId,button:e.button,startClientX:e.clientX,startClientY:e.clientY,startPan:o.get(),moved:r},t.setPointerCapture?.(e.pointerId),u(r),window.addEventListener("pointermove",m),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l))},E=e=>{e.button===1&&!p(e.target)&&e.preventDefault()},M=e=>{s.rightDragPans!==!0||!(n?.button===2&&n.moved)&&!a||(a=!1,e.preventDefault(),e.stopPropagation())},y=e=>{if(p(e.target))return;e.preventDefault(),e.stopPropagation();const r=i(o.get(),{clientX:e.clientX,clientY:e.clientY,deltaX:e.deltaX,deltaY:e.deltaY,deltaMode:e.deltaMode,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,bounds:t.getBoundingClientRect()});o.setView(r.x,r.y,r.zoom)};return t.addEventListener("pointerdown",h,!0),t.addEventListener("lostpointercapture",l,!0),t.addEventListener("mousedown",E,!0),t.addEventListener("contextmenu",M,!0),t.addEventListener("wheel",y,{capture:!0,passive:!1}),()=>{n=null,u(!1),t.removeEventListener("pointerdown",h,!0),t.removeEventListener("lostpointercapture",l,!0),t.removeEventListener("mousedown",E,!0),t.removeEventListener("contextmenu",M,!0),t.removeEventListener("wheel",y,!0),window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}}function z(t,o=L){return C(t,o,D)}function N(t,o){return C(t,o,I,{rightDragPans:!0})}export{X as S,x as a,N as b,z as i};
1
+ import{d6 as L}from"./index-CQ2mBTB3.js";const Y=.1,w=4,x=.02,X=32,b=.002,P=4;function g(t,o,i){return o===1?t*16:o===2?t*i:t}function D(t,o){let i=g(o.deltaX,o.deltaMode,o.bounds.width),s=g(o.deltaY,o.deltaMode,o.bounds.height);if(o.ctrlKey||o.metaKey){const n=Math.min(w,Math.max(Y,t.zoom*Math.exp(-s*b))),a=o.clientX-o.bounds.left,d=o.clientY-o.bounds.top,c=(a-t.x)/t.zoom,u=(d-t.y)/t.zoom;return{x:a-c*n,y:d-u*n,zoom:n}}return o.shiftKey&&i===0&&(i=s,s=0),{x:t.x-i,y:t.y-s,zoom:t.zoom}}function I(t,o){const i=g(o.deltaY,o.deltaMode,o.bounds.height),s=Math.min(X,Math.max(x,t.zoom*Math.exp(-i*b))),n=o.clientX-o.bounds.left,a=o.clientY-o.bounds.top,d=(n-t.x)/t.zoom,c=(a-t.y)/t.zoom;return{x:n-d*s,y:a-c*s,zoom:s}}function p(t){return t instanceof Element&&t.closest('[data-volter-canvas-navigation-ignore="true"]')!==null}function C(t,o,i,s={}){let n=null,a=!1,d="";const c=()=>t.querySelector('[data-testid="world-selection-overlay-interaction"]'),u=e=>{t.dataset.canvasPanning=e?"true":"false",t.style.cursor=e?"grabbing":"";const r=c();r&&(e?(d=r.style.cursor,r.style.cursor="grabbing"):r.style.cursor=d)},m=e=>{if(!n||e.pointerId!==n.pointerId)return;const r=n.button===1?4:2;if((e.buttons&r)===0){l(e);return}const f=e.clientX-n.startClientX,v=e.clientY-n.startClientY;if(!n.moved){if(Math.hypot(f,v)<=P)return;n.moved=!0,u(!0)}o.setPan(n.startPan.x+f,n.startPan.y+v)},l=e=>{if(!n||e.pointerId!==n.pointerId)return;const r=n.pointerId;n.button===2&&n.moved&&(a=!0),n=null,u(!1),t.hasPointerCapture?.(r)&&t.releasePointerCapture(r),window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)},h=e=>{const r=e.button===1,f=s.rightDragPans===!0&&e.button===2;!r&&!f||p(e.target)||(f&&(a=!1),e.preventDefault(),r&&e.stopPropagation(),n={pointerId:e.pointerId,button:e.button,startClientX:e.clientX,startClientY:e.clientY,startPan:o.get(),moved:r},t.setPointerCapture?.(e.pointerId),u(r),window.addEventListener("pointermove",m),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l))},E=e=>{e.button===1&&!p(e.target)&&e.preventDefault()},M=e=>{s.rightDragPans!==!0||!(n?.button===2&&n.moved)&&!a||(a=!1,e.preventDefault(),e.stopPropagation())},y=e=>{if(p(e.target))return;e.preventDefault(),e.stopPropagation();const r=i(o.get(),{clientX:e.clientX,clientY:e.clientY,deltaX:e.deltaX,deltaY:e.deltaY,deltaMode:e.deltaMode,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,bounds:t.getBoundingClientRect()});o.setView(r.x,r.y,r.zoom)};return t.addEventListener("pointerdown",h,!0),t.addEventListener("lostpointercapture",l,!0),t.addEventListener("mousedown",E,!0),t.addEventListener("contextmenu",M,!0),t.addEventListener("wheel",y,{capture:!0,passive:!1}),()=>{n=null,u(!1),t.removeEventListener("pointerdown",h,!0),t.removeEventListener("lostpointercapture",l,!0),t.removeEventListener("mousedown",E,!0),t.removeEventListener("contextmenu",M,!0),t.removeEventListener("wheel",y,!0),window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}}function z(t,o=L){return C(t,o,D)}function N(t,o){return C(t,o,I,{rightDragPans:!0})}export{X as S,x as a,N as b,z as i};