@volter/game-editor 0.5.73 → 0.5.75

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 (292) hide show
  1. package/BUNDLED_NOTICES +22 -22
  2. package/catalog/entries/blender.json +3 -3
  3. package/catalog/entries/music.json +2 -2
  4. package/dist/.vite/manifest.json +2110 -2110
  5. package/dist/assets/{AssetBudgetPanel-BXtwiILa.js → AssetBudgetPanel-CE18ck0x.js} +3 -3
  6. package/dist/assets/{AudioViewer-BdHDedtf.js → AudioViewer-CcL-aNBd.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-DL6qWmRA.js → CanvasBoardDocument-uwU0bfJA.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-DeyFl0d2.js → CanvasSceneViewport-DgzPJJkc.js} +1 -1
  9. package/dist/assets/{ColorInput-C6l8ApSJ.js → ColorInput-DwLu76ZD.js} +1 -1
  10. package/dist/assets/{EntityModelDocument-gRt9IlRz.js → EntityModelDocument-DrpizTG_.js} +1 -1
  11. package/dist/assets/{EnvironmentAssetDocument-C3NAYvzk.js → EnvironmentAssetDocument-BkDbRyDk.js} +1 -1
  12. package/dist/assets/{GameplaySessionTimeline-UxmwvBqV.js → GameplaySessionTimeline-lxx-w1ya.js} +1 -1
  13. package/dist/assets/{ImageViewer-BwXUGI-l.js → ImageViewer-280O0PlP.js} +1 -1
  14. package/dist/assets/InspectorObjectPreview-BCGUkGwH.js +1 -0
  15. package/dist/assets/{JsonAssetDocument-mNtLvo-z.js → JsonAssetDocument-Fen8_TJ3.js} +1 -1
  16. package/dist/assets/{LiveModuleDocument--aP5_-cc.js → LiveModuleDocument-DcAvzW88.js} +1 -1
  17. package/dist/assets/{LutAssetDocument-3i6uhgi4.js → LutAssetDocument-BLlhFO6d.js} +1 -1
  18. package/dist/assets/{ModelAssetDocument-C0BbrEd1.js → ModelAssetDocument-Bz24yrEK.js} +1 -1
  19. package/dist/assets/{NonThreeAuthoringBootstrap-Cz3T6v7H.js → NonThreeAuthoringBootstrap-Co881phq.js} +1 -1
  20. package/dist/assets/{Object3DDocumentToolbar-CKzCeJpG.js → Object3DDocumentToolbar-xXXySp6z.js} +1 -1
  21. package/dist/assets/Object3DDocumentViewport-ChZBISII.js +2 -0
  22. package/dist/assets/{Object3DPreview-DZpmPQJz.js → Object3DPreview-DNx1_6NB.js} +1 -1
  23. package/dist/assets/{OnlineAssetDetail-BrN01rGI.js → OnlineAssetDetail-BO_qsMXe.js} +1 -1
  24. package/dist/assets/{PlayBar-CTkb3NOO.js → PlayBar-CGjjGuF8.js} +1 -1
  25. package/dist/assets/{QuarksAssetDocument-BaPvQFd9.js → QuarksAssetDocument-DzGTZwpm.js} +1 -1
  26. package/dist/assets/{ReactCanvasControls-DKPi6NMs.js → ReactCanvasControls-Bmd55pBo.js} +1 -1
  27. package/dist/assets/{RootSelectionOverlay-CuEtXTkF.js → RootSelectionOverlay-BwwoR4b9.js} +1 -1
  28. package/dist/assets/{ShaderAssetDocument-Ce8Yo5AQ.js → ShaderAssetDocument-CNe1tl7L.js} +1 -1
  29. package/dist/assets/{ShadowEditor-DCy9obUm.js → ShadowEditor-D0QiV1M7.js} +1 -1
  30. package/dist/assets/{SourceAssetViewer-DZBQofxM.js → SourceAssetViewer-CPiZgKck.js} +1 -1
  31. package/dist/assets/{StageHost-B5hgNOWi.js → StageHost-Dbo3tKK3.js} +2 -2
  32. package/dist/assets/{StoryPreviewMount-5qAGiL3j.js → StoryPreviewMount-BHsmVp-C.js} +1 -1
  33. package/dist/assets/{ThreeBoardDocument-DyRw9ccC.js → ThreeBoardDocument-D7c4KS7l.js} +2 -2
  34. package/dist/assets/{ThreeIsolationSceneContent-B-FjV522.js → ThreeIsolationSceneContent-Cg0KkL73.js} +1 -1
  35. package/dist/assets/{ToolObject3DPreview-BL2W3Zw5.js → ToolObject3DPreview-_N8jhg02.js} +1 -1
  36. package/dist/assets/{Toolbar-D5Jw2AOx.js → Toolbar-DDYWRWnH.js} +1 -1
  37. package/dist/assets/{TransientHint-CYxpG2zv.js → TransientHint-BLksXwdR.js} +1 -1
  38. package/dist/assets/{VideoViewer-DuLmYsmZ.js → VideoViewer-BYLY0WdG.js} +1 -1
  39. package/dist/assets/{ViewportShadingMenu-BGJUOZoj.js → ViewportShadingMenu-DX7Xsut9.js} +1 -1
  40. package/dist/assets/{active-ingest-idj3AkAe.js → active-ingest-CEa53vF0.js} +2 -2
  41. package/dist/assets/{animation-clock-Dz9gpPK-.js → animation-clock-Bmz7JDnw.js} +1 -1
  42. package/dist/assets/{animation-mixers.service-DAgQ92hj.js → animation-mixers.service-DomnndP0.js} +1 -1
  43. package/dist/assets/{animation-timeline.utility-CcOYDeh2.js → animation-timeline.utility-BqoUox48.js} +1 -1
  44. package/dist/assets/{asset-budget-asset.menu-C4LAIKND.js → asset-budget-asset.menu-CETgSkxJ.js} +1 -1
  45. package/dist/assets/{asset-budget.action-BB48NVB4.js → asset-budget.action-DwzCiMG2.js} +1 -1
  46. package/dist/assets/{asset-budget.document-DV7MkSRt.js → asset-budget.document-CUuV3lCl.js} +1 -1
  47. package/dist/assets/{asset-budget.menu-BUnfRz-J.js → asset-budget.menu-Cc6MA-wa.js} +1 -1
  48. package/dist/assets/{asset-editor-persistence-BL83mGez.js → asset-editor-persistence-BT0v4tAq.js} +1 -1
  49. package/dist/assets/{asset-loaders-C-qNkW6n.js → asset-loaders-5kIo3uwb.js} +1 -1
  50. package/dist/assets/{asset-preview-CNnOER4v.js → asset-preview-DrnuNAvs.js} +1 -1
  51. package/dist/assets/{audio-unlock.service-gtOc-Pcu.js → audio-unlock.service-JqPgkpU5.js} +1 -1
  52. package/dist/assets/{audio.utility-Dbty2bpX.js → audio.utility-CG29gFjH.js} +1 -1
  53. package/dist/assets/autoplay.service-CsXisBg-.js +1 -0
  54. package/dist/assets/{babylon-authoring-adapter-BMdY19Bu.js → babylon-authoring-adapter-ClTj2MC3.js} +1 -1
  55. package/dist/assets/{binding-resolver-B2hX5bHW.js → binding-resolver-CTLBEZNC.js} +2 -2
  56. package/dist/assets/{blender-node-editor.document-04y_KbDu.js → blender-node-editor.document-Cf9QRXXV.js} +1 -1
  57. package/dist/assets/{blender-properties-tab-DgVYwtk7.js → blender-properties-tab-DkDEWTru.js} +1 -1
  58. package/dist/assets/{blender-runtime-host-C7PTMb6j.js → blender-runtime-host-BrSuddiJ.js} +1 -1
  59. package/dist/assets/{blender-runtime-skin-CglxS85F.js → blender-runtime-skin-BugpRcn0.js} +1 -1
  60. package/dist/assets/{blender-runtime.document-onVLx1Zi.js → blender-runtime.document-DLWi2-0I.js} +1 -1
  61. package/dist/assets/{blender-timeline.document-Dx53vWy4.js → blender-timeline.document-DjN0BpnX.js} +1 -1
  62. package/dist/assets/{blender-uv-editor.document-DtAEbNha.js → blender-uv-editor.document-D6WYt2QC.js} +1 -1
  63. package/dist/assets/{blender-version.status-gLcGDj2u.js → blender-version.status-CJF052X7.js} +1 -1
  64. package/dist/assets/{blender.command-CWL5ZVYP.js → blender.command-BKo8PfAE.js} +1 -1
  65. package/dist/assets/{board-guides-D3JHkcyj.js → board-guides-DvGa-v8v.js} +1 -1
  66. package/dist/assets/{bridge.command-BQowLB0e.js → bridge.command-BhkhHZGM.js} +3 -3
  67. package/dist/assets/{browserAll-DOXLDeD9.js → browserAll-CPJT6e1H.js} +1 -1
  68. package/dist/assets/{build-player.document-Cn2NNXat.js → build-player.document-DmpwrRTe.js} +1 -1
  69. package/dist/assets/{build-profiles.document-Cl2vIbHP.js → build-profiles.document-DJcpRRoj.js} +1 -1
  70. package/dist/assets/{build-progress.status-xwvlMiR9.js → build-progress.status-BOGJAonH.js} +1 -1
  71. package/dist/assets/{build-session-BnTVKU3n.js → build-session-DcZvicW6.js} +1 -1
  72. package/dist/assets/{build.action-BH2XwOoM.js → build.action-CKNJFKFa.js} +1 -1
  73. package/dist/assets/{build.command-D6PVJTAM.js → build.command--0UXYA7h.js} +1 -1
  74. package/dist/assets/{build.header-B1io6kD5.js → build.header-BUUIrt6i.js} +1 -1
  75. package/dist/assets/{build.menu-C7b7dJvX.js → build.menu-CamwcePv.js} +1 -1
  76. package/dist/assets/{build.service-Dk4wyHFA.js → build.service-otobfdtq.js} +1 -1
  77. package/dist/assets/{camera-By96P8jU.js → camera-CNDzfNdN.js} +1 -1
  78. package/dist/assets/{camera-runtime.inspector-Cz2fY7LF.js → camera-runtime.inspector-C3kGIZal.js} +1 -1
  79. package/dist/assets/{canvas-design-mount-B0wJS0me.js → canvas-design-mount-Dcz3UbWk.js} +3 -3
  80. package/dist/assets/{canvas-entry-runtime-BTSoOlwm.js → canvas-entry-runtime-CB0dWiqf.js} +2 -2
  81. package/dist/assets/{canvas-preview-frames-y7XiUt6e.js → canvas-preview-frames-C_AwHp0A.js} +1 -1
  82. package/dist/assets/{canvas-story-capture.service-Bbd7D-O_.js → canvas-story-capture.service-wxtp-uMy.js} +2 -2
  83. package/dist/assets/{capability-coverage-CL0GGeIg.js → capability-coverage-BW0jhUWf.js} +1 -1
  84. package/dist/assets/{collaboration-presence-C5pPCDza.js → collaboration-presence-CGBoCEYM.js} +1 -1
  85. package/dist/assets/{collider-DIijLNo8.js → collider-D3AE4y5o.js} +1 -1
  86. package/dist/assets/{component-board.service-4blRCtj5.js → component-board.service-BsaSzxqY.js} +2 -2
  87. package/dist/assets/{component-board.service-MGtzUUbw.js → component-board.service-aRqXx_hL.js} +2 -2
  88. package/dist/assets/{component-board.service-kHtuqeOh.js → component-board.service-e3DqXFbP.js} +2 -2
  89. package/dist/assets/{component-contracts.service-BMsY9m-_.js → component-contracts.service-uvgs1KbX.js} +1 -1
  90. package/dist/assets/{component-instance-root-CNFI0IRp.js → component-instance-root-CuhMBeTq.js} +1 -1
  91. package/dist/assets/{component-verbs.command-qfwrDoVp.js → component-verbs.command-CTjRTrvO.js} +1 -1
  92. package/dist/assets/{component-verbs.service-Dg0bftBH.js → component-verbs.service-DrMc8AK6.js} +1 -1
  93. package/dist/assets/{config-kiOBMvaG.js → config-CDinmkBz.js} +2 -2
  94. package/dist/assets/{configurations-Ci7u4w12.js → configurations-B45jigJP.js} +1 -1
  95. package/dist/assets/{connection.status-D23e5kRk.js → connection.status-WWrI2jAY.js} +1 -1
  96. package/dist/assets/{constraints.inspector-BbYPQXem.js → constraints.inspector-bup7b7MV.js} +1 -1
  97. package/dist/assets/{content-bounds-BRqBJnLW.js → content-bounds-MIXkclKI.js} +1 -1
  98. package/dist/assets/{contract-system-adapters-d3KwjPWC.js → contract-system-adapters-Cgl3IHIO.js} +1 -1
  99. package/dist/assets/{coverage.service-B91Nuj64.js → coverage.service-v4iKehOw.js} +1 -1
  100. package/dist/assets/{create-runtime-B-jGpKbY.js → create-runtime-CO8JmCX7.js} +1 -1
  101. package/dist/assets/{curve-BlOrMvLA.js → curve-D17Op6q4.js} +1 -1
  102. package/dist/assets/{data-asset-CZLDAqx1.js → data-asset-DDdEHQgH.js} +1 -1
  103. package/dist/assets/{data-ref-C0AV_bsU.js → data-ref-CUYCUCMM.js} +1 -1
  104. package/dist/assets/{debug-bridge-Jy6-OFJX.js → debug-bridge-Bcgo-vKv.js} +1 -1
  105. package/dist/assets/{debug-registry-CqfOIF8b.js → debug-registry-DWXKHjIJ.js} +1 -1
  106. package/dist/assets/{deferred-ingest-play-Dum7AFKz.js → deferred-ingest-play-Ck7KAYWK.js} +2 -2
  107. package/dist/assets/{design-time-canvas-mount-DUHPdiqg.js → design-time-canvas-mount-MsbDbVsh.js} +2 -2
  108. package/dist/assets/{design-time-layers-utHBa_7o.js → design-time-layers-Be9HqnEr.js} +1 -1
  109. package/dist/assets/{design-time-mount.service-mI18AWHZ.js → design-time-mount.service-C-jPEtUV.js} +2 -2
  110. package/dist/assets/{design-time-mount.service-vZHpReNB.js → design-time-mount.service-CYWk8whR.js} +2 -2
  111. package/dist/assets/{design-time-react-mount-Dra56frK.js → design-time-react-mount-DC_O5p5I.js} +1 -1
  112. package/dist/assets/{document-preview-three-D3MPI2pG.js → document-preview-three-BojNfjbb.js} +1 -1
  113. package/dist/assets/{dom-authoring-adapter-gBQqMc0c.js → dom-authoring-adapter-_VzZnXUh.js} +1 -1
  114. package/dist/assets/{draco3d-6mRWhAay.js → draco3d-BC6NIjGw.js} +1 -1
  115. package/dist/assets/{edit-mode-audio.service-CrKprPzN.js → edit-mode-audio.service-A9fphO_d.js} +1 -1
  116. package/dist/assets/{edit-mode-authoring-D-F1_iFO.js → edit-mode-authoring-DbOPyppg.js} +1 -1
  117. package/dist/assets/{edit-mode-networking.service-yiwk42bP.js → edit-mode-networking.service-D1-i4xGa.js} +1 -1
  118. package/dist/assets/{editor-api-pnHaXAK3.js → editor-api-DGGJOWUU.js} +1 -1
  119. package/dist/assets/{editor-layers-CR1IoRwo.js → editor-layers-C-4kqPi7.js} +1 -1
  120. package/dist/assets/{editor-shell-store-C8iDtpEA.js → editor-shell-store-BqJU8Lu8.js} +1 -1
  121. package/dist/assets/{entity-object-BXXBLcj9.js → entity-object-S9jvlW_s.js} +1 -1
  122. package/dist/assets/{extend-BBSJbo8a.js → extend-Cz3c0C9r.js} +1 -1
  123. package/dist/assets/{fork-menu-CUePY3Cx.js → fork-menu-BU6hKn6d.js} +1 -1
  124. package/dist/assets/{frame-debugger-store-CYjZTL1N.js → frame-debugger-store-B7Jbgb39.js} +1 -1
  125. package/dist/assets/{game-contract-seams-NNhdUxdV.js → game-contract-seams-6S6C0ztA.js} +1 -1
  126. package/dist/assets/{game-css-scope-transform-C4GDwAtB.js → game-css-scope-transform-BOzH2ruv.js} +1 -1
  127. package/dist/assets/{game-document.service-7TUP2Y1F.js → game-document.service-mNiqtEZ5.js} +1 -1
  128. package/dist/assets/{game-eval.command-2ueAm6i3.js → game-eval.command-GZ5edKXO.js} +1 -1
  129. package/dist/assets/{game-module-access-0sEdzOSl.js → game-module-access-CpqKQme4.js} +1 -1
  130. package/dist/assets/{game-network-BYaj_RWO.js → game-network-1JI7uhYb.js} +3 -3
  131. package/dist/assets/{gameplay-export-DGvqwMBU.js → gameplay-export-Bxd_nkX7.js} +1 -1
  132. package/dist/assets/{gameplay-replay-BSZJWvVV.js → gameplay-replay-DP8qTwre.js} +1 -1
  133. package/dist/assets/{gameplay.command-DLTq9aVC.js → gameplay.command-t7Wb_wt1.js} +1 -1
  134. package/dist/assets/{generation-jobs-BWv5uf0V.js → generation-jobs-BDqluDvk.js} +1 -1
  135. package/dist/assets/{generation.service-BwFmxC3T.js → generation.service-C5VhRZs7.js} +1 -1
  136. package/dist/assets/{generations-B69q5hMp.js → generations-Oeo95nlK.js} +1 -1
  137. package/dist/assets/{generations.status-BAWa4uit.js → generations.status-BBfdbcRX.js} +1 -1
  138. package/dist/assets/{hierarchy-marks-pP0yj7BM.js → hierarchy-marks-DolK8jzJ.js} +1 -1
  139. package/dist/assets/{hosted-asset-materialization-BjrXy9K1.js → hosted-asset-materialization-B8i0ftt_.js} +1 -1
  140. package/dist/assets/{index-DXA-aMiK.js → index-BhRaFrvZ.js} +1 -1
  141. package/dist/assets/{index-CnFX-pyl.js → index-BiOfwZ_V.js} +1 -1
  142. package/dist/assets/{index-Bj1guHnQ.js → index-BlaTbgwf.js} +1 -1
  143. package/dist/assets/{index-B7-niZh1.js → index-CBmGldaZ.js} +1 -1
  144. package/dist/assets/{index-BO_gxX2t.js → index-CjZtvEN7.js} +1 -1
  145. package/dist/assets/{index-Cpk7BVO4.js → index-DDurbNnD.js} +2 -2
  146. package/dist/assets/{index-DhfMfVJj.js → index-DMsonpRx.js} +7 -7
  147. package/dist/assets/{index-aVauRiHu.js → index-DRJx_jIw.js} +1 -1
  148. package/dist/assets/{index-DNwTLKih.js → index-DmMBT64l.js} +1 -1
  149. package/dist/assets/{inference-diagnostics-CZtWDiNC.js → inference-diagnostics-CUavJjuI.js} +1 -1
  150. package/dist/assets/{ingest-boot-viewport-1vZQ2kps.js → ingest-boot-viewport-I9xll7ou.js} +1 -1
  151. package/dist/assets/{ingest-siblings-DgXpesm_.js → ingest-siblings-D3iJi2A3.js} +1 -1
  152. package/dist/assets/{ingest-source-persistence-UZGBOJaQ.js → ingest-source-persistence-B0NaYeRY.js} +1 -1
  153. package/dist/assets/{ingest.service-DuBjKI3m.js → ingest.service-BfpZUDne.js} +1 -1
  154. package/dist/assets/{inspect-BooKKY95.js → inspect-D4blh5_a.js} +1 -1
  155. package/dist/assets/instances.command-BSFguDo-.js +1 -0
  156. package/dist/assets/{json-history-resource-Cmiy217h.js → json-history-resource-BF-O43PD.js} +1 -1
  157. package/dist/assets/{layered-pick-A5arowk9.js → layered-pick-Ch1BjtVF.js} +1 -1
  158. package/dist/assets/{light-CHs-Mja8.js → light-BISMkAGI.js} +1 -1
  159. package/dist/assets/{live-project-verbs-6jy3p7nY.js → live-project-verbs-DWfBuVx7.js} +1 -1
  160. package/dist/assets/{machine.document-DHloTfpl.js → machine.document-BVuE_ug9.js} +1 -1
  161. package/dist/assets/{machines.finder-WhUcFZjA.js → machines.finder-XiuiCI4a.js} +1 -1
  162. package/dist/assets/{material-DZcoVZqX.js → material-BWQT3b7E.js} +1 -1
  163. package/dist/assets/{material-factory-BvpY-cse.js → material-factory-CtwX6ST-.js} +1 -1
  164. package/dist/assets/{mesh-CGedZWa-.js → mesh-DqW2WH9I.js} +1 -1
  165. package/dist/assets/{model-asset-sections.service-5GlUiSqi.js → model-asset-sections.service-CQJHkahR.js} +1 -1
  166. package/dist/assets/{model-inspection-B9Vo9Uw9.js → model-inspection-3opJce7d.js} +1 -1
  167. package/dist/assets/{model-thumbnail-BQAcfzU4.js → model-thumbnail-DOixylZe.js} +1 -1
  168. package/dist/assets/{models.finder-CP9CSor6.js → models.finder-CxsWV9l2.js} +1 -1
  169. package/dist/assets/{module-mode-BoxiWWBb.js → module-mode-DSM_f5Yj.js} +2 -2
  170. package/dist/assets/{mount-canvas-ingest-root-Cn5qX3H8.js → mount-canvas-ingest-root-T_0LysL3.js} +2 -2
  171. package/dist/assets/{mount-dom-ingest-root-Cbvzll3R.js → mount-dom-ingest-root-BiUuiBav.js} +2 -2
  172. package/dist/assets/{mount-ingest-root-B7U8e9wn.js → mount-ingest-root-YqfeOphI.js} +2 -2
  173. package/dist/assets/{mount-manifest-C9z4OtK6.js → mount-manifest-2gQEO6hq.js} +1 -1
  174. package/dist/assets/{mount-three-ingest-root-2Msa3BcX.js → mount-three-ingest-root-C9DspkVR.js} +1 -1
  175. package/dist/assets/{mounted-authoring-CfwaN6te.js → mounted-authoring-D8pHcD_a.js} +1 -1
  176. package/dist/assets/{mounted-story-viewport-source-GqrlvBrz.js → mounted-story-viewport-source-8HwyvYy_.js} +1 -1
  177. package/dist/assets/{native-debug-module-Bz673XZT.js → native-debug-module-BAc7TBPq.js} +1 -1
  178. package/dist/assets/{navigation-DLKPHrCx.js → navigation-eQVmzrez.js} +1 -1
  179. package/dist/assets/{navmesh.menu-Cpan00VU.js → navmesh.menu-Dox4LQK_.js} +1 -1
  180. package/dist/assets/{navmesh.service-CasaqkMR.js → navmesh.service-DmjvxUHo.js} +1 -1
  181. package/dist/assets/network-observer.service-DRvBwR_w.js +1 -0
  182. package/dist/assets/{network.utility-Bb5NG9YK.js → network.utility-CP9zYWoP.js} +1 -1
  183. package/dist/assets/{object3d-document-session-registry-DBXxQ-e2.js → object3d-document-session-registry-DLF9rgwj.js} +2 -2
  184. package/dist/assets/{oid-transform-Cmh6I5h8.js → oid-transform-DAnbWV6K.js} +1 -1
  185. package/dist/assets/{particles-IwlClixo.js → particles-OkjoBjQp.js} +1 -1
  186. package/dist/assets/{pixi-authoring-adapter-DhNMdp1o.js → pixi-authoring-adapter-DMl8lJFO.js} +1 -1
  187. package/dist/assets/{pixi-live-write-target--GCeBR8B.js → pixi-live-write-target-BHVRq1GT.js} +1 -1
  188. package/dist/assets/{play.command-BTnWT9lg.js → play.command-B7RVwcUr.js} +2 -2
  189. package/dist/assets/{presentation-DCylXFZR.js → presentation-D4z-Nsdr.js} +1 -1
  190. package/dist/assets/{product-CYfm4sPK.js → product-CfXoCObK.js} +1 -1
  191. package/dist/assets/{profiler.action-TqZoMWSL.js → profiler.action-CNgUtOxQ.js} +1 -1
  192. package/dist/assets/{profiler.menu-BJhGaCic.js → profiler.menu-jrOIDPTc.js} +1 -1
  193. package/dist/assets/{profiler.utility-DDOjJDdo.js → profiler.utility-Cggg6w6h.js} +1 -1
  194. package/dist/assets/{project-authoring-session-B5Onxn-3.js → project-authoring-session-Nq3PmtK1.js} +2 -2
  195. package/dist/assets/{properties-bone-constraints.inspector-i3rAZ6bF.js → properties-bone-constraints.inspector-D8BkuaXW.js} +1 -1
  196. package/dist/assets/{properties-bone.inspector-BfdWQq9J.js → properties-bone.inspector-DTTNuOd1.js} +1 -1
  197. package/dist/assets/{properties-collection.inspector-D36vypzH.js → properties-collection.inspector-NOoFLq1f.js} +1 -1
  198. package/dist/assets/{properties-constraints.inspector-nN7DWtPi.js → properties-constraints.inspector-DYIiaZNb.js} +1 -1
  199. package/dist/assets/{properties-data.inspector-B-y1eggi.js → properties-data.inspector-TMysZKfR.js} +1 -1
  200. package/dist/assets/{properties-material.inspector-DvuapEMy.js → properties-material.inspector-Dtqbi5V4.js} +1 -1
  201. package/dist/assets/{properties-modifiers.inspector-BGaSxWdy.js → properties-modifiers.inspector-S-GctzLY.js} +1 -1
  202. package/dist/assets/{properties-object.inspector-C5muyQoR.js → properties-object.inspector-CQ3XCQuN.js} +1 -1
  203. package/dist/assets/{properties-output.inspector-CCZDPKIC.js → properties-output.inspector-Dn2MZbl3.js} +1 -1
  204. package/dist/assets/{properties-particles.inspector-SXDA6b8y.js → properties-particles.inspector-CSA-4Kfj.js} +1 -1
  205. package/dist/assets/{properties-physics.inspector-BCUjyVmc.js → properties-physics.inspector-D4vzWubU.js} +1 -1
  206. package/dist/assets/{properties-render.inspector-CMrqCbzp.js → properties-render.inspector-Copw_ptH.js} +1 -1
  207. package/dist/assets/{properties-scene.inspector-CjhjIfdu.js → properties-scene.inspector-oanShDZ2.js} +1 -1
  208. package/dist/assets/{properties-texture.inspector-DQC-MFuS.js → properties-texture.inspector-B7GcTM9I.js} +1 -1
  209. package/dist/assets/{properties-view-layer.inspector-DVeg3182.js → properties-view-layer.inspector-BeeSv6ln.js} +1 -1
  210. package/dist/assets/{properties-world.inspector-71cmcJUs.js → properties-world.inspector-DymYbQG6.js} +1 -1
  211. package/dist/assets/{r3f-design-session-CkUa52_c.js → r3f-design-session-CrRJO5C4.js} +2 -2
  212. package/dist/assets/{r3f-physics-binding-C1t2gzF1.js → r3f-physics-binding-DrjAxMEm.js} +1 -1
  213. package/dist/assets/{r3f-source-authoring-adapter-ZlkqGRxK.js → r3f-source-authoring-adapter-DbvQNrK7.js} +1 -1
  214. package/dist/assets/{react-canvas-navigation-C_uPW5TY.js → react-canvas-navigation-C5hLe1sH.js} +1 -1
  215. package/dist/assets/{react-inspector.service-C1bIeQey.js → react-inspector.service-o6-PRw8z.js} +1 -1
  216. package/dist/assets/{react-story-board-D3lzaa3o.js → react-story-board-COo6rUfn.js} +1 -1
  217. package/dist/assets/{react-three-rapier.esm-B1MQT9gP.js → react-three-rapier.esm-Q83AB366.js} +1 -1
  218. package/dist/assets/{react-world-authoring-adapter-DGSpriYX.js → react-world-authoring-adapter-CI1sk6F6.js} +1 -1
  219. package/dist/assets/{realm-services-DD3n0-gI.js → realm-services-CoCivh2s.js} +1 -1
  220. package/dist/assets/{reflection-probe-capture.inspector-D2yJbHex.js → reflection-probe-capture.inspector-DfCsQR94.js} +1 -1
  221. package/dist/assets/{registry-Cxk2e0qq.js → registry-BXZTLQHf.js} +1 -1
  222. package/dist/assets/{relative-import-specifier-BL93f22G.js → relative-import-specifier-C6rJbXKw.js} +1 -1
  223. package/dist/assets/{render-env-BwewwLtg.js → render-env-C7ytOPzW.js} +1 -1
  224. package/dist/assets/{render-features-Ci5Tbkqq.js → render-features-1RxcHk6L.js} +1 -1
  225. package/dist/assets/{render-settings-DHswoo3P.js → render-settings-Bi_X7ET1.js} +1 -1
  226. package/dist/assets/{resolve-three-B72nbYSo.js → resolve-three-fQS0EhsO.js} +3 -3
  227. package/dist/assets/{root-seam-contract-B9KwrQLd.js → root-seam-contract-T0Os3lMG.js} +1 -1
  228. package/dist/assets/{run-selection-ByCRIyGc.js → run-selection-BQzUtW8L.js} +1 -1
  229. package/dist/assets/{scene-capture-XqwkFufj.js → scene-capture-BYhV7vRB.js} +1 -1
  230. package/dist/assets/{scene-document.service-Cj0jJK3E.js → scene-document.service-BA4Ivx3I.js} +2 -2
  231. package/dist/assets/{scene-framing-B7gPuTMy.js → scene-framing-DmIN3HFq.js} +1 -1
  232. package/dist/assets/{seeded-random-C4K99T_S.js → seeded-random-MSFUDgJ4.js} +1 -1
  233. package/dist/assets/{setup-renderer-DzY3775p.js → setup-renderer-kDlv1zGC.js} +1 -1
  234. package/dist/assets/{source-object3d-authoring-adapter-BN-4Hovl.js → source-object3d-authoring-adapter-CX-1jWDi.js} +1 -1
  235. package/dist/assets/{source-persistence-backend-CPBtrjhX.js → source-persistence-backend-cM6_hFF1.js} +1 -1
  236. package/dist/assets/{stage-keyboard-C9QxzoF9.js → stage-keyboard-q5MkxENL.js} +1 -1
  237. package/dist/assets/{stage-overlay-set-8l-rdrfd.js → stage-overlay-set-Ctlg0HA-.js} +1 -1
  238. package/dist/assets/{stage-presence-markers-Dkqob3C4.js → stage-presence-markers-CeUZ108k.js} +1 -1
  239. package/dist/assets/{stage-transform-tools-Cs2JJ3LR.js → stage-transform-tools-Do0dhEK4.js} +1 -1
  240. package/dist/assets/{standard-viewport-dressing-Bg8NSxy2.js → standard-viewport-dressing-DaUVwoH4.js} +1 -1
  241. package/dist/assets/{state-watch.action-Do9Y5Aqr.js → state-watch.action-DnO9j_lB.js} +1 -1
  242. package/dist/assets/{state-watch.menu-oj02S65b.js → state-watch.menu-DBm7nAtn.js} +1 -1
  243. package/dist/assets/{state-watch.utility-DeZkHZN3.js → state-watch.utility-CtsdHhcg.js} +1 -1
  244. package/dist/assets/{story-capture-DFH1P952.js → story-capture-BTklfaD3.js} +1 -1
  245. package/dist/assets/{story-documents-uTjkaheZ.js → story-documents-BDGEJZ0g.js} +1 -1
  246. package/dist/assets/{story-documents.service-D8kXspBi.js → story-documents.service-0i_8h_3B.js} +1 -1
  247. package/dist/assets/{story-documents.service-DedwE2II.js → story-documents.service-IuCs9FoR.js} +1 -1
  248. package/dist/assets/{story-media-presence-BHMXFsmb.js → story-media-presence-BBD2w0nO.js} +1 -1
  249. package/dist/assets/{story-pixi-preview-CUYChqBy.js → story-pixi-preview-V3jj9e_j.js} +1 -1
  250. package/dist/assets/{story-presentation-BdJZjFNv.js → story-presentation-5ksxI-cK.js} +1 -1
  251. package/dist/assets/{story-three-preview-BVDXydup.js → story-three-preview-DLneHHqJ.js} +2 -2
  252. package/dist/assets/{studio-environment-CbAVP315.js → studio-environment-DzXPzh3M.js} +1 -1
  253. package/dist/assets/{surface-state-Dc9frHdS.js → surface-state-IkyRZBV7.js} +1 -1
  254. package/dist/assets/{syntactic-prop-specs-Bf7v7vkR.js → syntactic-prop-specs-Bko1JHCr.js} +1 -1
  255. package/dist/assets/{team-playtest.service-wRiJR1XU.js → team-playtest.service-CTiYMUn7.js} +1 -1
  256. package/dist/assets/{three-DtUftGH2.js → three-CKv5ucoa.js} +1 -1
  257. package/dist/assets/{three-authoring-adapter-BlTbaEmo.js → three-authoring-adapter-C7fn0FHE.js} +1 -1
  258. package/dist/assets/three-authoring.service-cV0zOT1n.js +2 -0
  259. package/dist/assets/{three-ingest-runtime-Cl0JuTP_.js → three-ingest-runtime-Cw0ElzJG.js} +1 -1
  260. package/dist/assets/{three-integration-CSP8i2RA.js → three-integration-Qc9a7zSz.js} +2 -2
  261. package/dist/assets/three-integration.service-DvBW98ZW.js +1 -0
  262. package/dist/assets/{three-projection-core-ftoGUmFi.js → three-projection-core-D26OWHpV.js} +1 -1
  263. package/dist/assets/{three-state-BrM9-A7V.js → three-state-TqrpCspu.js} +1 -1
  264. package/dist/assets/{three-story-capture.service-Cis8uMZw.js → three-story-capture.service-CMxC0Cuu.js} +2 -2
  265. package/dist/assets/{three-story-model-CTIreBN2.js → three-story-model-DJPp75up.js} +1 -1
  266. package/dist/assets/{three-viewport-presentation-51gae0ax.js → three-viewport-presentation-D3qj3E-Q.js} +1 -1
  267. package/dist/assets/{transform-mode-request-DJIOPPHR.js → transform-mode-request-CLLg1QQA.js} +1 -1
  268. package/dist/assets/{transport-strip-C0MCDVb9.js → transport-strip-Cdx4Ln5g.js} +1 -1
  269. package/dist/assets/transport.header-D4XVOwJA.js +1 -0
  270. package/dist/assets/{tuples-DDKi5e56.js → tuples-CZHjGrdQ.js} +1 -1
  271. package/dist/assets/{ui-board-document-B_3yvVV_.js → ui-board-document-B_g7xkDJ.js} +2 -2
  272. package/dist/assets/{user-data-CRiQHvNG.js → user-data-BsgiyhZb.js} +1 -1
  273. package/dist/assets/{utility-view-state-rnZf-khZ.js → utility-view-state-Aza1mypE.js} +1 -1
  274. package/dist/assets/{viewport-door-UgyLwfRY.js → viewport-door-D7E51csI.js} +1 -1
  275. package/dist/assets/{viewport-root-presentation-B-tKDgs5.js → viewport-root-presentation-DtrhPv-6.js} +1 -1
  276. package/dist/assets/{viewport-surface-status-44lBh_Rl.js → viewport-surface-status-Cieefesr.js} +1 -1
  277. package/dist/assets/{webworkerAll-CRPuSg96.js → webworkerAll-DJ5jfNlk.js} +1 -1
  278. package/dist/assets/{workspace-arrangement-BpSjUGOP.js → workspace-arrangement-CHzaISez.js} +1 -1
  279. package/dist/assets/{world-documents-C1zfwUJ8.js → world-documents-PDNNMgyx.js} +1 -1
  280. package/dist/assets/{world-root-stage-binding-Cdd_v5Bm.js → world-root-stage-binding-C9ukgtlZ.js} +1 -1
  281. package/dist/assets/{xstate-animation-binding-iAUM3Z0P.js → xstate-animation-binding-W5-Rb-KL.js} +1 -1
  282. package/dist/assets/{xstate-animation-meta-cSgHAo1p.js → xstate-animation-meta-C5PJ3icJ.js} +1 -1
  283. package/dist-node/cli.js +19 -17
  284. package/package.json +16 -16
  285. package/dist/assets/InspectorObjectPreview-Cm28kUvH.js +0 -1
  286. package/dist/assets/Object3DDocumentViewport-CCn6nDgt.js +0 -2
  287. package/dist/assets/autoplay.service-DtHu2ShZ.js +0 -1
  288. package/dist/assets/instances.command-DvPuReaq.js +0 -1
  289. package/dist/assets/network-observer.service-McTuLNCE.js +0 -1
  290. package/dist/assets/three-authoring.service-DHWovAI9.js +0 -2
  291. package/dist/assets/three-integration.service-jjppzS8N.js +0 -1
  292. package/dist/assets/transport.header-DqzzdRt2.js +0 -1
@@ -1 +1 @@
1
- import{b as i,a as o}from"./blender-properties-tab-DgVYwtk7.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DhfMfVJj.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-C7PTMb6j.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-BRqBJnLW.js";import"./hierarchy-marks-pP0yj7BM.js";import"./workspace-arrangement-BpSjUGOP.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},P="selection.inspector",B="Render",W="properties-render",j=10,G="scene",q=o(r),A=i(r);export{A as default,W as icon,q as match,j as order,P as point,G as railGroup,B as title};
1
+ import{b as i,a as o}from"./blender-properties-tab-DkDEWTru.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DMsonpRx.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-BrSuddiJ.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-MIXkclKI.js";import"./hierarchy-marks-DolK8jzJ.js";import"./workspace-arrangement-CHzaISez.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},P="selection.inspector",B="Render",W="properties-render",j=10,G="scene",q=o(r),A=i(r);export{A as default,W as icon,q as match,j as order,P as point,G as railGroup,B as title};
@@ -1 +1 @@
1
- import{b as e,a as i}from"./blender-properties-tab-DgVYwtk7.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DhfMfVJj.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-C7PTMb6j.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-BRqBJnLW.js";import"./hierarchy-marks-pP0yj7BM.js";import"./workspace-arrangement-BpSjUGOP.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},U="selection.inspector",k="Scene",C="properties-scene",D=40,G="scene",L=i(t),V=e(t);export{V as default,C as icon,L as match,D as order,U as point,G as railGroup,k as title};
1
+ import{b as e,a as i}from"./blender-properties-tab-DkDEWTru.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DMsonpRx.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-BrSuddiJ.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-MIXkclKI.js";import"./hierarchy-marks-DolK8jzJ.js";import"./workspace-arrangement-CHzaISez.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},U="selection.inspector",k="Scene",C="properties-scene",D=40,G="scene",L=i(t),V=e(t);export{V as default,C as icon,L as match,D as order,U as point,G as railGroup,k as title};
@@ -1 +1 @@
1
- import{b as o,a as i}from"./blender-properties-tab-DgVYwtk7.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DhfMfVJj.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-C7PTMb6j.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-BRqBJnLW.js";import"./hierarchy-marks-pP0yj7BM.js";import"./workspace-arrangement-BpSjUGOP.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},E="selection.inspector",R="Texture",U="properties-texture",k=160,B="texture",G=i(t),N=o(t);export{N as default,U as icon,G as match,k as order,E as point,B as railGroup,R as title};
1
+ import{b as o,a as i}from"./blender-properties-tab-DkDEWTru.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DMsonpRx.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-BrSuddiJ.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-MIXkclKI.js";import"./hierarchy-marks-DolK8jzJ.js";import"./workspace-arrangement-CHzaISez.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},E="selection.inspector",R="Texture",U="properties-texture",k=160,B="texture",G=i(t),N=o(t);export{N as default,U as icon,G as match,k as order,E as point,B as railGroup,R as title};
@@ -1 +1 @@
1
- import{b as s,a as t}from"./blender-properties-tab-DgVYwtk7.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DhfMfVJj.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-C7PTMb6j.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-BRqBJnLW.js";import"./hierarchy-marks-pP0yj7BM.js";import"./workspace-arrangement-BpSjUGOP.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},T="selection.inspector",A="View Layer",C="properties-view-layer",O=30,P="scene",z=t(e),G=s(e);export{G as default,C as icon,z as match,O as order,T as point,P as railGroup,A as title};
1
+ import{b as s,a as t}from"./blender-properties-tab-DkDEWTru.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DMsonpRx.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-BrSuddiJ.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-MIXkclKI.js";import"./hierarchy-marks-DolK8jzJ.js";import"./workspace-arrangement-CHzaISez.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},T="selection.inspector",A="View Layer",C="properties-view-layer",O=30,P="scene",z=t(e),G=s(e);export{G as default,C as icon,z as match,O as order,T as point,P as railGroup,A as title};
@@ -1 +1 @@
1
- import{b as e,a as o}from"./blender-properties-tab-DgVYwtk7.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DhfMfVJj.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-C7PTMb6j.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-BRqBJnLW.js";import"./hierarchy-marks-pP0yj7BM.js";import"./workspace-arrangement-BpSjUGOP.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},T="selection.inspector",v="World",A="properties-world",M=50,j="scene",x=o(t),y=e(t);export{y as default,A as icon,x as match,M as order,T as point,j as railGroup,v as title};
1
+ import{b as e,a as o}from"./blender-properties-tab-DkDEWTru.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-DMsonpRx.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-BrSuddiJ.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-MIXkclKI.js";import"./hierarchy-marks-DolK8jzJ.js";import"./workspace-arrangement-CHzaISez.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},T="selection.inspector",v="World",A="properties-world",M=50,j="scene",x=o(t),y=e(t);export{y as default,A as icon,x as match,M as order,T as point,j as railGroup,v as title};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/r3f-source-authoring-adapter-ZlkqGRxK.js","assets/component-instance-root-CNFI0IRp.js","assets/user-data-CRiQHvNG.js","assets/workspace-arrangement-BpSjUGOP.js","assets/index-DhfMfVJj.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-BL93f22G.js","assets/three-projection-core-ftoGUmFi.js","assets/editor-layers-CR1IoRwo.js","assets/three-DtUftGH2.js","assets/entity-object-BXXBLcj9.js","assets/three-contract-Dkt6PmWY.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three.core-3arARmh6.js","assets/inference-diagnostics-CZtWDiNC.js","assets/instance-fork-actions-D3sRzS3K.js","assets/oid-transform-Cmh6I5h8.js","assets/writer-tw6EcuVO.js","assets/r3f-physics-binding-C1t2gzF1.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{gm as Me,aa as Ae,gV as Ce,_ as Ee,g8 as Pe,O as T,p as ce,ds as pe,jx as xe,d7 as de,jy as Fe,jz as Ie,bq as je,jA as De,jB as Be,jC as He,bp as Le,aw as Ve,bu as ue,d5 as Oe,hc as Ge}from"./index-DhfMfVJj.js";import{p as _e,B as fe,q as ye}from"./edit-mode-authoring-D-F1_iFO.js";import{F as ze,G as We,H as qe}from"./game-network-BYaj_RWO.js";import{a as Ue}from"./binding-resolver-B2hX5bHW.js";import{a as Ne}from"./realm-services-DD3n0-gI.js";import{p as Qe}from"./scene-framing-B7gPuTMy.js";import{i as Je,b as Ke,n as Xe,a as Ze}from"./native-debug-module-Bz673XZT.js";import{createAssetCache as Ye}from"./assets-BcrMQHRv.js";import{d as ke,a as et,b as tt}from"./create-runtime-B-jGpKbY.js";import{T as st}from"./three.module-BLhyNg0e.js";import{_ as me,fp as ee,el as ot}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-C4K99T_S.js";import"./debug-registry-CqfOIF8b.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-6jy3p7nY.js";import"./capability-coverage-CL0GGeIg.js";import"./game-contract-seams-NNhdUxdV.js";import"./json-history-resource-Cmiy217h.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-idj3AkAe.js";import"./ingest-source-persistence-UZGBOJaQ.js";import"./contract-system-adapters-d3KwjPWC.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-B-tKDgs5.js";import"./mounted-authoring-CfwaN6te.js";import"./entity-object-BXXBLcj9.js";import"./user-data-CRiQHvNG.js";import"./workspace-arrangement-BpSjUGOP.js";import"./three-contract-Dkt6PmWY.js";import"./three-DtUftGH2.js";import"./editor-layers-CR1IoRwo.js";import"./component-instance-root-CNFI0IRp.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./adapter-surface-Y37Nzcyw.js";import"./three-authoring-adapter-BlTbaEmo.js";import"./source-persistence-backend-CPBtrjhX.js";import"./three-projection-core-ftoGUmFi.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-C1t2gzF1.js";import"./deferred-ingest-play-Dum7AFKz.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DGSpriYX.js";import"./board-guides-D3JHkcyj.js";import"./relative-import-specifier-BL93f22G.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BooKKY95.js";import"./inference-diagnostics-CZtWDiNC.js";import"./writer-tw6EcuVO.js";import"./three-state-BrM9-A7V.js";import"./editor-shell-store-C8iDtpEA.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./viewport-door-UgyLwfRY.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-BTSoOlwm.js";import"./three-ingest-runtime-Cl0JuTP_.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-DzY3775p.js";import"./index-DHhMOs_s.js";import"./defaults-DKiBJCPN.js";import"./render-settings-DHswoo3P.js";import"./render-features-Ci5Tbkqq.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,V=0,O=0;const d=e.getViewport(new ee),h=e.getScissor(new ee);let P=e.getScissorTest(),y=!1,x=!1,F=!1;const G=(c,s,o,n,w)=>{typeof s=="number"?c.set(s,o,n,w):c.copy(s)},B=new Proxy(e.xr,{get(c,s){if(s==="enabled")return R;if(s==="setAnimationLoop"||s==="addEventListener"||s==="removeEventListener")return i;const o=Reflect.get(c,s,c);return typeof o=="function"?o.bind(c):o},set(c,s,o){return s==="enabled"?(R=o,!0):Reflect.set(c,s,o,c)}}),q=new Proxy(e.renderLists,{get(c,s){if(s==="dispose")return i;const o=Reflect.get(c,s,c);return typeof o=="function"?o.bind(c):o}});function _(c,s){const o=new Map,n={...e.shadowMap},w=e.xr.enabled,$=e.getClearColor(new me),I=e.getClearAlpha(),J=e.getRenderTarget(),K=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)o.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,V,O),y&&e.setViewport(d),x&&e.setScissor(h),F&&e.setScissorTest(P),c.apply(e,s)}finally{for(const[j,N]of o)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(J,K,W)}}const z=new Map;return new Proxy(e,{get(c,s){if(s==="domElement")return t;if(s==="shadowMap")return v;if(s==="xr")return B;if(s==="renderLists")return q;if(a.has(s))return i;if(s==="getRenderTarget")return()=>M;if(s==="getActiveCubeFace")return()=>V;if(s==="getActiveMipmapLevel")return()=>O;if(s==="setRenderTarget")return(n,w=0,$=0)=>{M=n,V=w,O=$,y=x=F=!1};if(s==="getViewport")return n=>n.copy(d);if(s==="getCurrentViewport")return n=>M&&!y?n.copy(M.viewport):(n.copy(d).multiplyScalar(e.getPixelRatio()),y?n.round():n.floor());if(s==="getScissor")return n=>n.copy(h);if(s==="getScissorTest")return()=>P;if(s==="setViewport")return(n,w,$,I)=>{G(d,n,w,$,I),y=!0};if(s==="setScissor")return(n,w,$,I)=>{G(h,n,w,$,I),x=!0};if(s==="setScissorTest")return n=>{P=n,F=!0};if(s==="getClearColor")return n=>n.copy(b);if(s==="getClearAlpha")return()=>C;if(s==="setClearColor")return(n,w=C)=>{b.set(n),C=w};if(s==="setClearAlpha")return n=>{C=n};if(u.has(s))return u.get(s);const o=Reflect.get(c,s,c);if(typeof o!="function")return o;if(!z.has(s)){const n=/^(render|compile|clear|copy|init|readRenderTarget)/.test(String(s));z.set(s,n?(...w)=>{if(!((s==="render"||String(s).startsWith("clear"))&&!M))return _(o,w)}:o.bind(c))}return z.get(s)},set(c,s,o){return s!=="domElement"&&u.set(s,o),!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 ot||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&&Be(a).then(u=>T.error(`[r3f-design] world "${t}": ${He(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}),Je(t,u?[u]:[]),Ke(t,We(t,v?[v]:[]))}function ht(t){const e=document.createElement("canvas"),i=it(e,t),a=Ye(),u=et({loop:tt({update:()=>{}}),assets:a});return{game:u,host:{three:st,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 ao(t,e,i){const a=Ve();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 V=Ee(()=>import("./r3f-source-authoring-adapter-ZlkqGRxK.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])),O=Pe();let d=!1,h=!1,P=null,y=null,x=!1,F=null,G=!1,B=!1,q,_,z,c=null,s=null;const o=b.id,n=C,w=()=>{s||!c||d||h||t.shell.playState!=="stopped"||(s=c.systemAdapters,ue(s))},$=()=>{s&&(s=null,ue(null))},I=async()=>{const r=await Ne(a.rootPath,Oe()),{designModule:p,rootModule:f}=await ft(r,o,n,b.entry??n),l=Xe(o,f),m=Ze(o,f,"three"),g=await Ue(p,o,{...M===void 0?{}:{namedExport:M},entryPath:n});if(!g)throw dt(o,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}},J=async(r,p,f)=>{const{host:l,game:m,dispose:g}=ht(i);let S;try{S=await r.mount(l)}catch(Y){throw g(),Y}if(S.kind!=="three"||!ct(S.scene))throw S.dispose(),g(),new Error(`entry adapter for world "${o}" did not mount a three scene`);return mt(m,r,S,o,p,f),{root:S,game:m,disposeHost:g}},K=r=>{P=r.root,c=r.game,_?.();const p=r.game;_=p.subscribeSystemAdapters?.(()=>{if(c!==p)return;const f=p.systemAdapters;s&&(s=f,Ge(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(o,new fe(t.shell,we(b),"R3F design session suspended by play mode — Stop restores it.")),t.shell.notifyIngestEdit()},X=r=>{const p=ut(o,r);e.replaceChild(o,new fe(t.shell,we(b),p)),t.shell.notifyIngestEdit()},j=setTimeout(()=>{T.warn(`[r3f-design] world "${o}" 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(),V,O]);if(clearTimeout(j),!r)return T.warn(`[r3f-design] world "${o}" 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 J(r.adapter,r.entryDebug,r.entrySystems);if(K(l),d||t.shell.playState!=="stopped")return W(),d?()=>{}:ne(t);y=new p(t,l.root.scene,{worldId:o,entryPath:n,writeBackend:f,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(o,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(()=>Qe(null,l.root.scene));const g=m.filter(S=>e.hierarchy.node(S)!==null);g.length>0&&t.shell.selectMultiple(g),pe(o),w(),t.shell.notifyIngestEdit(),T.log(`[r3f-design] world "${o}" 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=H,f=t.shell.projectHistory?.getSnapshot().busy===!0;let l="importing";const m=setTimeout(()=>{T.warn(`[r3f-design] world "${o}" remount is still ${l} after 20s (${n}) — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4),g=performance.now();let S=g,Y=g,ae=g;try{const D=await I();if(S=performance.now(),!D||d||h){console.info(`[r3f-design] world "${o}" remount abandoned after import (${D?d?"torn down":"suspended":"no entry"})`);return}l="mounting";const A=await J(D.adapter,D.entryDebug,D.entrySystems);Y=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&&H!==p){A.root.dispose(),A.disposeHost(),L();return}if(d||h){console.info(`[r3f-design] world "${o}" remount abandoned after mount (${d?"torn down":"suspended"})`),A.root.dispose(),A.disposeHost();return}const k=new Set(t.shell.selectedEntityIds);if(U(),W(),K(A),y)y.adoptScene(A.root.scene),e.childAdapters().find(re=>re.worldId===o)?.adapter!==y&&(e.replaceChild(o,y),T.log(`[r3f-design] world "${o}" recovered and remounted for design-time authoring (${n})`,"authoring"));else{const[{R3fSourceAuthoringAdapter:E},re]=await Promise.all([V,O]);y=new E(t,A.root.scene,{worldId:o,entryPath:n,writeBackend:re,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(o,y),T.log(`[r3f-design] world "${o}" 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(o),w(),t.shell.notifyIngestEdit(),N(o,g,S,Y,ae),Q.mounted(),clearTimeout(Z),B=!1}catch(D){X(D),!B&&!d&&!h?(B=!0,setTimeout(()=>{!d&&!h&&L()},400)):!d&&!h&&(H===p&&!f?ve(D):(B=!1,L()))}finally{clearTimeout(m),!d&&!h&&H!==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 "${o}" 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 "${o}" 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 "${o}" crash auto-undo refused by history`);return}B=!1,T.error(`Undid “${m.label}”: that edit crashed world "${o}" (${r instanceof Error?r.message:String(r)}). The previous source is restored.`,"authoring"),L()};let H=0;const Q=new lt;let Z;const L=()=>{if(d||h){console.info(`[r3f-design] world "${o}" remount skipped: ${d?"session torn down":"suspended for play"}`);return}G||(G=!0,setTimeout(()=>{G=!1,be()},80))},Re=xe(r=>{qe(r).then(()=>{H+=1,L()})});let se=de()?.revision??0;const Te=Fe(r=>{H+=1;const f=de()?.revisions.filter(m=>m.revision>se)??[];f.length!==r-se&&Q.missing(),se=r;const l=f.flatMap(m=>m.resources);Q.revision(l),!(l.length&&!Q.needsRemount())&&(clearTimeout(Z),Z=setTimeout(()=>{l.length&&!Q.needsRemount()||(H+=1,L())},2e3))});let ie=!1,oe=!1;return z=t.shell.subscribe(()=>{if(!d){if(t.shell.playState==="stopped"?w():$(),!h&&!oe&&t.shell.playState!=="stopped"){oe=!0,Ie(()=>{oe=!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 "${o}" design session torn down`),$(),Re(),Te(),clearTimeout(Z),z?.(),!h&&t.shell.playState==="stopped"&&t.shell.selectedEntityIds.size>0&&ge.remember(t,t.shell.selectedEntityIds),U(),W()}}export{ft as loadR3FDesignEntryModules,ao 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-DbvQNrK7.js","assets/component-instance-root-CuhMBeTq.js","assets/user-data-BsgiyhZb.js","assets/workspace-arrangement-CHzaISez.js","assets/index-DMsonpRx.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-C6rJbXKw.js","assets/three-projection-core-D26OWHpV.js","assets/editor-layers-C-4kqPi7.js","assets/three-CKv5ucoa.js","assets/entity-object-S9jvlW_s.js","assets/three-contract-Dkt6PmWY.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three.core-3arARmh6.js","assets/inference-diagnostics-CUavJjuI.js","assets/instance-fork-actions-D3sRzS3K.js","assets/oid-transform-DAnbWV6K.js","assets/writer-tw6EcuVO.js","assets/r3f-physics-binding-DrjAxMEm.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{gm as Me,aa as Ae,gV as Ce,_ as Ee,g8 as Pe,O as T,p as ce,ds as pe,jx as xe,d7 as de,jy as Fe,jz as Ie,bq as je,jA as De,jB as Be,jC as He,bp as Le,aw as Ve,bu as ue,d5 as Oe,hc as Ge}from"./index-DMsonpRx.js";import{p as _e,B as fe,q as ye}from"./edit-mode-authoring-DbOPyppg.js";import{F as ze,G as We,H as qe}from"./game-network-1JI7uhYb.js";import{a as Ue}from"./binding-resolver-CTLBEZNC.js";import{a as Ne}from"./realm-services-CoCivh2s.js";import{p as Qe}from"./scene-framing-DmIN3HFq.js";import{i as Je,b as Ke,n as Xe,a as Ze}from"./native-debug-module-BAc7TBPq.js";import{createAssetCache as Ye}from"./assets-BcrMQHRv.js";import{d as ke,a as et,b as tt}from"./create-runtime-CO8JmCX7.js";import{T as st}from"./three.module-BLhyNg0e.js";import{_ as me,fp as ee,el as ot}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-MSFUDgJ4.js";import"./debug-registry-DWXKHjIJ.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-DWfBuVx7.js";import"./capability-coverage-BW0jhUWf.js";import"./game-contract-seams-6S6C0ztA.js";import"./json-history-resource-BF-O43PD.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-CEa53vF0.js";import"./ingest-source-persistence-B0NaYeRY.js";import"./contract-system-adapters-Cgl3IHIO.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DtrhPv-6.js";import"./mounted-authoring-D8pHcD_a.js";import"./entity-object-S9jvlW_s.js";import"./user-data-BsgiyhZb.js";import"./workspace-arrangement-CHzaISez.js";import"./three-contract-Dkt6PmWY.js";import"./three-CKv5ucoa.js";import"./editor-layers-C-4kqPi7.js";import"./component-instance-root-CuhMBeTq.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./adapter-surface-Y37Nzcyw.js";import"./three-authoring-adapter-C7fn0FHE.js";import"./source-persistence-backend-cM6_hFF1.js";import"./three-projection-core-D26OWHpV.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-DrjAxMEm.js";import"./deferred-ingest-play-Ck7KAYWK.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CI1sk6F6.js";import"./board-guides-DvGa-v8v.js";import"./relative-import-specifier-C6rJbXKw.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-D4blh5_a.js";import"./inference-diagnostics-CUavJjuI.js";import"./writer-tw6EcuVO.js";import"./three-state-TqrpCspu.js";import"./editor-shell-store-BqJU8Lu8.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./viewport-door-D7E51csI.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-CB0dWiqf.js";import"./three-ingest-runtime-Cw0ElzJG.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-kDlv1zGC.js";import"./index-DHhMOs_s.js";import"./defaults-DKiBJCPN.js";import"./render-settings-Bi_X7ET1.js";import"./render-features-1RxcHk6L.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,V=0,O=0;const d=e.getViewport(new ee),h=e.getScissor(new ee);let P=e.getScissorTest(),y=!1,x=!1,F=!1;const G=(c,s,o,n,w)=>{typeof s=="number"?c.set(s,o,n,w):c.copy(s)},B=new Proxy(e.xr,{get(c,s){if(s==="enabled")return R;if(s==="setAnimationLoop"||s==="addEventListener"||s==="removeEventListener")return i;const o=Reflect.get(c,s,c);return typeof o=="function"?o.bind(c):o},set(c,s,o){return s==="enabled"?(R=o,!0):Reflect.set(c,s,o,c)}}),q=new Proxy(e.renderLists,{get(c,s){if(s==="dispose")return i;const o=Reflect.get(c,s,c);return typeof o=="function"?o.bind(c):o}});function _(c,s){const o=new Map,n={...e.shadowMap},w=e.xr.enabled,$=e.getClearColor(new me),I=e.getClearAlpha(),J=e.getRenderTarget(),K=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)o.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,V,O),y&&e.setViewport(d),x&&e.setScissor(h),F&&e.setScissorTest(P),c.apply(e,s)}finally{for(const[j,N]of o)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(J,K,W)}}const z=new Map;return new Proxy(e,{get(c,s){if(s==="domElement")return t;if(s==="shadowMap")return v;if(s==="xr")return B;if(s==="renderLists")return q;if(a.has(s))return i;if(s==="getRenderTarget")return()=>M;if(s==="getActiveCubeFace")return()=>V;if(s==="getActiveMipmapLevel")return()=>O;if(s==="setRenderTarget")return(n,w=0,$=0)=>{M=n,V=w,O=$,y=x=F=!1};if(s==="getViewport")return n=>n.copy(d);if(s==="getCurrentViewport")return n=>M&&!y?n.copy(M.viewport):(n.copy(d).multiplyScalar(e.getPixelRatio()),y?n.round():n.floor());if(s==="getScissor")return n=>n.copy(h);if(s==="getScissorTest")return()=>P;if(s==="setViewport")return(n,w,$,I)=>{G(d,n,w,$,I),y=!0};if(s==="setScissor")return(n,w,$,I)=>{G(h,n,w,$,I),x=!0};if(s==="setScissorTest")return n=>{P=n,F=!0};if(s==="getClearColor")return n=>n.copy(b);if(s==="getClearAlpha")return()=>C;if(s==="setClearColor")return(n,w=C)=>{b.set(n),C=w};if(s==="setClearAlpha")return n=>{C=n};if(u.has(s))return u.get(s);const o=Reflect.get(c,s,c);if(typeof o!="function")return o;if(!z.has(s)){const n=/^(render|compile|clear|copy|init|readRenderTarget)/.test(String(s));z.set(s,n?(...w)=>{if(!((s==="render"||String(s).startsWith("clear"))&&!M))return _(o,w)}:o.bind(c))}return z.get(s)},set(c,s,o){return s!=="domElement"&&u.set(s,o),!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 ot||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&&Be(a).then(u=>T.error(`[r3f-design] world "${t}": ${He(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}),Je(t,u?[u]:[]),Ke(t,We(t,v?[v]:[]))}function ht(t){const e=document.createElement("canvas"),i=it(e,t),a=Ye(),u=et({loop:tt({update:()=>{}}),assets:a});return{game:u,host:{three:st,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 ao(t,e,i){const a=Ve();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 V=Ee(()=>import("./r3f-source-authoring-adapter-DbvQNrK7.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])),O=Pe();let d=!1,h=!1,P=null,y=null,x=!1,F=null,G=!1,B=!1,q,_,z,c=null,s=null;const o=b.id,n=C,w=()=>{s||!c||d||h||t.shell.playState!=="stopped"||(s=c.systemAdapters,ue(s))},$=()=>{s&&(s=null,ue(null))},I=async()=>{const r=await Ne(a.rootPath,Oe()),{designModule:p,rootModule:f}=await ft(r,o,n,b.entry??n),l=Xe(o,f),m=Ze(o,f,"three"),g=await Ue(p,o,{...M===void 0?{}:{namedExport:M},entryPath:n});if(!g)throw dt(o,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}},J=async(r,p,f)=>{const{host:l,game:m,dispose:g}=ht(i);let S;try{S=await r.mount(l)}catch(Y){throw g(),Y}if(S.kind!=="three"||!ct(S.scene))throw S.dispose(),g(),new Error(`entry adapter for world "${o}" did not mount a three scene`);return mt(m,r,S,o,p,f),{root:S,game:m,disposeHost:g}},K=r=>{P=r.root,c=r.game,_?.();const p=r.game;_=p.subscribeSystemAdapters?.(()=>{if(c!==p)return;const f=p.systemAdapters;s&&(s=f,Ge(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(o,new fe(t.shell,we(b),"R3F design session suspended by play mode — Stop restores it.")),t.shell.notifyIngestEdit()},X=r=>{const p=ut(o,r);e.replaceChild(o,new fe(t.shell,we(b),p)),t.shell.notifyIngestEdit()},j=setTimeout(()=>{T.warn(`[r3f-design] world "${o}" 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(),V,O]);if(clearTimeout(j),!r)return T.warn(`[r3f-design] world "${o}" 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 J(r.adapter,r.entryDebug,r.entrySystems);if(K(l),d||t.shell.playState!=="stopped")return W(),d?()=>{}:ne(t);y=new p(t,l.root.scene,{worldId:o,entryPath:n,writeBackend:f,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(o,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(()=>Qe(null,l.root.scene));const g=m.filter(S=>e.hierarchy.node(S)!==null);g.length>0&&t.shell.selectMultiple(g),pe(o),w(),t.shell.notifyIngestEdit(),T.log(`[r3f-design] world "${o}" 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=H,f=t.shell.projectHistory?.getSnapshot().busy===!0;let l="importing";const m=setTimeout(()=>{T.warn(`[r3f-design] world "${o}" remount is still ${l} after 20s (${n}) — it keeps trying; reload the tab if nothing appears.`,"authoring")},2e4),g=performance.now();let S=g,Y=g,ae=g;try{const D=await I();if(S=performance.now(),!D||d||h){console.info(`[r3f-design] world "${o}" remount abandoned after import (${D?d?"torn down":"suspended":"no entry"})`);return}l="mounting";const A=await J(D.adapter,D.entryDebug,D.entrySystems);Y=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&&H!==p){A.root.dispose(),A.disposeHost(),L();return}if(d||h){console.info(`[r3f-design] world "${o}" remount abandoned after mount (${d?"torn down":"suspended"})`),A.root.dispose(),A.disposeHost();return}const k=new Set(t.shell.selectedEntityIds);if(U(),W(),K(A),y)y.adoptScene(A.root.scene),e.childAdapters().find(re=>re.worldId===o)?.adapter!==y&&(e.replaceChild(o,y),T.log(`[r3f-design] world "${o}" recovered and remounted for design-time authoring (${n})`,"authoring"));else{const[{R3fSourceAuthoringAdapter:E},re]=await Promise.all([V,O]);y=new E(t,A.root.scene,{worldId:o,entryPath:n,writeBackend:re,physics:()=>ce(c?.systemAdapters.physics)}),e.replaceChild(o,y),T.log(`[r3f-design] world "${o}" 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(o),w(),t.shell.notifyIngestEdit(),N(o,g,S,Y,ae),Q.mounted(),clearTimeout(Z),B=!1}catch(D){X(D),!B&&!d&&!h?(B=!0,setTimeout(()=>{!d&&!h&&L()},400)):!d&&!h&&(H===p&&!f?ve(D):(B=!1,L()))}finally{clearTimeout(m),!d&&!h&&H!==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 "${o}" 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 "${o}" 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 "${o}" crash auto-undo refused by history`);return}B=!1,T.error(`Undid “${m.label}”: that edit crashed world "${o}" (${r instanceof Error?r.message:String(r)}). The previous source is restored.`,"authoring"),L()};let H=0;const Q=new lt;let Z;const L=()=>{if(d||h){console.info(`[r3f-design] world "${o}" remount skipped: ${d?"session torn down":"suspended for play"}`);return}G||(G=!0,setTimeout(()=>{G=!1,be()},80))},Re=xe(r=>{qe(r).then(()=>{H+=1,L()})});let se=de()?.revision??0;const Te=Fe(r=>{H+=1;const f=de()?.revisions.filter(m=>m.revision>se)??[];f.length!==r-se&&Q.missing(),se=r;const l=f.flatMap(m=>m.resources);Q.revision(l),!(l.length&&!Q.needsRemount())&&(clearTimeout(Z),Z=setTimeout(()=>{l.length&&!Q.needsRemount()||(H+=1,L())},2e3))});let ie=!1,oe=!1;return z=t.shell.subscribe(()=>{if(!d){if(t.shell.playState==="stopped"?w():$(),!h&&!oe&&t.shell.playState!=="stopped"){oe=!0,Ie(()=>{oe=!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 "${o}" design session torn down`),$(),Re(),Te(),clearTimeout(Z),z?.(),!h&&t.shell.playState==="stopped"&&t.shell.selectedEntityIds.size>0&&ge.remember(t,t.shell.selectedEntityIds),U(),W()}}export{ft as loadR3FDesignEntryModules,ao as mountR3FDesignSession,mt as registerR3FDesignRoot,ut as reportDesignMountFailure,dt as unresolvedDesignEntryError};
@@ -1 +1 @@
1
- import{eb as a,ay as i}from"./index-DhfMfVJj.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{eb as a,ay as i}from"./index-DMsonpRx.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-CNFI0IRp.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-BL93f22G.js";import{S as Dt,C as Nt,r as Wt}from"./three-projection-core-ftoGUmFi.js";import{ec as _t,gz as Ht,kT as zt,kU as B,kV as Jt,cy as Vt,fd as Ut,bm as ie,bn as oe,d4 as j,O as Pe,hb as ke,bo as Kt}from"./index-DhfMfVJj.js";import{w as qt}from"./inference-diagnostics-CZtWDiNC.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-DtUftGH2.js";import{l as H}from"./oid-transform-Cmh6I5h8.js";import{c as sr,b as ar}from"./r3f-physics-binding-C1t2gzF1.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-CR1IoRwo.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-CRiQHvNG.js";import"./workspace-arrangement-BpSjUGOP.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-BXXBLcj9.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-CuhMBeTq.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-C6rJbXKw.js";import{S as Dt,C as Nt,r as Wt}from"./three-projection-core-D26OWHpV.js";import{ec as _t,gz as Ht,kT as zt,kU as B,kV as Jt,cy as Vt,fd as Ut,bm as ie,bn as oe,d4 as j,O as Pe,hb as ke,bo as Kt}from"./index-DMsonpRx.js";import{w as qt}from"./inference-diagnostics-CUavJjuI.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-CKv5ucoa.js";import{l as H}from"./oid-transform-DAnbWV6K.js";import{c as sr,b as ar}from"./r3f-physics-binding-DrjAxMEm.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-C-4kqPi7.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-BsgiyhZb.js";import"./workspace-arrangement-CHzaISez.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-S9jvlW_s.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{cA as L}from"./index-DhfMfVJj.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{cA as L}from"./index-DMsonpRx.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};