@volter/game-editor 0.5.67 → 0.5.69

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 (568) hide show
  1. package/BUNDLED_NOTICES +10954 -5077
  2. package/LICENSE +1 -1
  3. package/LICENSE-BLENDER +2 -2
  4. package/NOTICE +2 -2
  5. package/additions/canvas/package.json +8 -0
  6. package/additions/canvas/src/canvas-mount.ts +46 -0
  7. package/additions/canvas/src/scene2d.tsx +18 -0
  8. package/catalog/entries/bake.json +1 -1
  9. package/catalog/entries/blender.json +3 -3
  10. package/catalog/entries/music.json +6 -6
  11. package/catalog/project-source/LICENSE +1 -1
  12. package/catalog/project-source/src/contributions/bake.kind.ts +2 -2
  13. package/catalog/project-source/src/contributions/builder-document.tsx +1 -1
  14. package/catalog/project-source/src/contributions/builder-ui.tsx +3 -3
  15. package/catalog/project-source/src/contributions/module-source.ts +4 -4
  16. package/catalog/project-source/src/lib/music/music-player.ts +18 -12
  17. package/catalog/project-source/src/lib/reflections/volume-reflection-material.ts +59 -59
  18. package/catalog/project-source/src/lib/static-batch/Frozen.tsx +1 -1
  19. package/catalog/project-source/src/lib/static-batch/mutation-watch.ts +1 -1
  20. package/catalog/project-source/src/tools/bake-preview.tool.ts +9 -9
  21. package/dist/.vite/manifest.json +4106 -3965
  22. package/dist/assets/{AssetBudgetPanel-x_FNJbfZ.js → AssetBudgetPanel-BMR3AQhc.js} +10 -10
  23. package/dist/assets/AudioViewer-DESxi7pU.js +1 -0
  24. package/dist/assets/CanvasBoardDocument-Q_nrYFlB.js +1 -0
  25. package/dist/assets/CanvasSceneViewport-WZMoKy_F.js +1 -0
  26. package/dist/assets/ColorInput-C2EK-OnD.js +1 -0
  27. package/dist/assets/{EntityModelDocument-CzUHsH9E.js → EntityModelDocument-B_4ENTCq.js} +1 -1
  28. package/dist/assets/{EnvironmentAssetDocument-ByEB7_4A.js → EnvironmentAssetDocument-BZBp6OFJ.js} +1 -1
  29. package/dist/assets/{GameplaySessionTimeline-dhG-oiqd.js → GameplaySessionTimeline-1ivaucpv.js} +1 -1
  30. package/dist/assets/ImageViewer-D16OExYu.js +1 -0
  31. package/dist/assets/{InspectorCanvasPreview-CEr_Kxna.js → InspectorCanvasPreview-BrFjhoiD.js} +1 -1
  32. package/dist/assets/InspectorObjectPreview-CY5xVsPR.js +1 -0
  33. package/dist/assets/JsonAssetDocument-CvjTlcdr.js +2 -0
  34. package/dist/assets/{LiveModuleDocument-DL8QHSlk.js → LiveModuleDocument-ne1o9giX.js} +1 -1
  35. package/dist/assets/{LutAssetDocument-BImiug2M.js → LutAssetDocument-Cp0v-O7q.js} +1 -1
  36. package/dist/assets/ModelAssetDocument-Ceu7OIN9.js +1 -0
  37. package/dist/assets/{NonThreeAuthoringBootstrap-B40qmGGS.js → NonThreeAuthoringBootstrap-DiElZf-e.js} +1 -1
  38. package/dist/assets/Object3DDocumentToolbar-BLNamqii.js +1 -0
  39. package/dist/assets/Object3DDocumentViewport-D6QoHfa_.js +2 -0
  40. package/dist/assets/{Object3DPreview-ClYDoH2L.js → Object3DPreview-ZVokr044.js} +1 -1
  41. package/dist/assets/OnlineAssetDetail-Dnckd7zB.js +1 -0
  42. package/dist/assets/PlayBar-DsMitSgy.js +1 -0
  43. package/dist/assets/{QuarksAssetDocument-B-VOj-n4.js → QuarksAssetDocument-B5J8uHFM.js} +1 -1
  44. package/dist/assets/ReactCanvasControls-CmfvxJYY.js +1 -0
  45. package/dist/assets/RootSelectionOverlay-BWsNiSuM.js +1 -0
  46. package/dist/assets/{ShaderAssetDocument-Kn8IvRGV.js → ShaderAssetDocument-CT7XzsZq.js} +5 -5
  47. package/dist/assets/ShadowEditor-YO5KEfnz.js +1 -0
  48. package/dist/assets/{SourceAssetViewer-CLQ95VSD.js → SourceAssetViewer-FSLup2km.js} +1 -1
  49. package/dist/assets/StageHost-DYfGYwvq.js +2 -0
  50. package/dist/assets/{StoryPreviewMount-D2lg37et.js → StoryPreviewMount-BhvT5QlB.js} +1 -1
  51. package/dist/assets/ThreeBoardDocument-B-z2nwnH.js +2 -0
  52. package/dist/assets/{ThreeIsolationSceneContent-DbYIylZQ.js → ThreeIsolationSceneContent-B5pU4Y6k.js} +1 -1
  53. package/dist/assets/{ToolObject3DPreview-WEi6C9uU.js → ToolObject3DPreview-VtraiQ4Q.js} +1 -1
  54. package/dist/assets/Toolbar-M62Gob9T.js +1 -0
  55. package/dist/assets/{TransientHint-BpDLhRLd.js → TransientHint-Cc40mHWE.js} +1 -1
  56. package/dist/assets/VideoViewer-BxcUwXQm.js +1 -0
  57. package/dist/assets/ViewportShadingMenu-BoMPnTVh.js +1 -0
  58. package/dist/assets/active-ingest-0QjJWb7i.js +3 -0
  59. package/dist/assets/{animation-clock-Bm80XdqP.js → animation-clock-BXEwUJtz.js} +1 -1
  60. package/dist/assets/animation-mixers.service-C-Ko4KzM.js +1 -0
  61. package/dist/assets/animation-timeline.utility-Bl15-rYb.js +1 -0
  62. package/dist/assets/{asset-budget-asset.menu-CEgP0Kiw.js → asset-budget-asset.menu-BUa3g0Wy.js} +1 -1
  63. package/dist/assets/{asset-budget.action-D4R1c3wi.js → asset-budget.action-Dl5eVPIo.js} +1 -1
  64. package/dist/assets/{asset-budget.document-Syzjn1U1.js → asset-budget.document-DJylQ-0h.js} +1 -1
  65. package/dist/assets/{asset-budget.menu-BbRiqXeM.js → asset-budget.menu-BJtvNMLj.js} +1 -1
  66. package/dist/assets/asset-editor-persistence-BIbf5u0Q.js +1 -0
  67. package/dist/assets/asset-loaders-DoNflsHL.js +2 -0
  68. package/dist/assets/{asset-preview-B1tDziF1.js → asset-preview-DxlSdRZn.js} +1 -1
  69. package/dist/assets/{audio-unlock.service-ucMfCVBw.js → audio-unlock.service-CTaiyXF9.js} +1 -1
  70. package/dist/assets/audio.utility-CEmNc68t.js +1 -0
  71. package/dist/assets/autoplay.service-BZLSUyL8.js +1 -0
  72. package/dist/assets/{babylon-authoring-adapter-C8mFMXSr.js → babylon-authoring-adapter-BZvV2bz_.js} +1 -1
  73. package/dist/assets/binding-resolver-DGbk9_XR.js +2 -0
  74. package/dist/assets/blender-emscripten-engine-B7lfg-RX.js +2 -0
  75. package/dist/assets/{blender-node-editor.document-C1YmwWls.js → blender-node-editor.document-wXJobGNH.js} +1 -1
  76. package/dist/assets/{blender-properties-tab-B8lyjgj3.js → blender-properties-tab-7GFf80ev.js} +1 -1
  77. package/dist/assets/{blender-runtime-host-CyQlImSR.js → blender-runtime-host-CILxrx5T.js} +2 -2
  78. package/dist/assets/{blender-runtime-skin-BK7ShZ6z.js → blender-runtime-skin-Cd5lQYsC.js} +7 -7
  79. package/dist/assets/{blender-runtime.document-B0nVQs0P.js → blender-runtime.document-C0r_R49S.js} +7 -7
  80. package/dist/assets/{blender-timeline.document-CMcdE2CK.js → blender-timeline.document-BaISZMBc.js} +1 -1
  81. package/dist/assets/{blender-uv-editor.document-CjqNo4sZ.js → blender-uv-editor.document-CT_fsyyA.js} +1 -1
  82. package/dist/assets/blender-version.status-DzEx7u7k.js +1 -0
  83. package/dist/assets/blender-wali-engine-DOiQCBXH.js +2 -0
  84. package/dist/assets/{blender.command-C6NmRBo5.js → blender.command-DdiKd8mZ.js} +1 -1
  85. package/dist/assets/blender.keymap-BmOBRY7p.js +1 -0
  86. package/dist/assets/blender.status-BMETIbb2.js +1 -0
  87. package/dist/assets/board-guides-CjHQ9Ynm.js +1 -0
  88. package/dist/assets/body-marks-C1LxJtQb.js +1 -0
  89. package/dist/assets/bridge.command-DXUeavn5.js +3 -0
  90. package/dist/assets/{browserAll-lF_dLQVz.js → browserAll-Dg46xT22.js} +1 -1
  91. package/dist/assets/build-player.document-BHwVV3K0.js +1 -0
  92. package/dist/assets/build-profiles.document-HkpS-Kxa.js +2 -0
  93. package/dist/assets/build-progress.status-u1J0Rm1D.js +1 -0
  94. package/dist/assets/build-session-BLboUUbw.js +9 -0
  95. package/dist/assets/{build.action-DRX2IcYt.js → build.action-C00DL83N.js} +1 -1
  96. package/dist/assets/{build.command-BGvLaLG0.js → build.command-Cjk_NY75.js} +1 -1
  97. package/dist/assets/build.header-BWNmNWFT.js +1 -0
  98. package/dist/assets/{build.menu-UenrjPWS.js → build.menu-BBYtqCIq.js} +1 -1
  99. package/dist/assets/{build.service-BIUoTY6l.js → build.service-DOU15tKN.js} +1 -1
  100. package/dist/assets/{camera-DrvaM47S.js → camera-7DGyYW7Y.js} +1 -1
  101. package/dist/assets/{camera-runtime.inspector-CjJALNO8.js → camera-runtime.inspector-n-jiOR-3.js} +1 -1
  102. package/dist/assets/canvas-design-mount-CSRHU-ag.js +6 -0
  103. package/dist/assets/canvas-entry-runtime-BST8yRuK.js +2 -0
  104. package/dist/assets/{canvas-preview-frames-C0QTagA3.js → canvas-preview-frames-Cja32aW2.js} +1 -1
  105. package/dist/assets/{canvas-story-capture.service-Dgjr-rT1.js → canvas-story-capture.service-D5R5HJ8n.js} +2 -2
  106. package/dist/assets/capability-coverage-ByWftxk4.js +7 -0
  107. package/dist/assets/{collaboration-presence-BVIQuN1l.js → collaboration-presence-D6MC9xJN.js} +1 -1
  108. package/dist/assets/{collider-C7SbIYKY.js → collider-B78EcUc9.js} +1 -1
  109. package/dist/assets/{component-board.service-BEsFAw4_.js → component-board.service-BaQI5Oas.js} +2 -2
  110. package/dist/assets/component-board.service-CkjrsD8x.js +2 -0
  111. package/dist/assets/{component-board.service-CWFaGMCO.js → component-board.service-Dvjz_g-x.js} +2 -2
  112. package/dist/assets/component-contracts.service-C3-AXQp7.js +1 -0
  113. package/dist/assets/component-instance-root-DLI40MiB.js +1 -0
  114. package/dist/assets/{component-verbs.command-oNtGgzQL.js → component-verbs.command-Brr_WcaR.js} +1 -1
  115. package/dist/assets/component-verbs.service-DC2sC3j3.js +1 -0
  116. package/dist/assets/{config-_wCzzlM_.js → config-BI_7osdR.js} +3 -3
  117. package/dist/assets/{configurations-BXU4GGbV.js → configurations-XP9YLkrt.js} +1 -1
  118. package/dist/assets/connection.status-BhRwcFx0.js +1 -0
  119. package/dist/assets/{constraint-5KLYpGm7.js → constraint-Bp1l8hY-.js} +1 -1
  120. package/dist/assets/constraints.inspector-Dm1cycK3.js +1 -0
  121. package/dist/assets/{content-bounds-BeuIXKYu.js → content-bounds-DROIchTa.js} +1 -1
  122. package/dist/assets/{contract-system-adapters-Bic_7sev.js → contract-system-adapters-Cn7OW_ay.js} +1 -1
  123. package/dist/assets/coverage.service-l42ty7lr.js +3 -0
  124. package/dist/assets/create-runtime-B_uTwsmi.js +3 -0
  125. package/dist/assets/curve-THOUsg-j.js +1 -0
  126. package/dist/assets/{data-asset-DfQ2Pjse.js → data-asset-DAANayR6.js} +1 -1
  127. package/dist/assets/data-check-core-CHqar_E8.js +1 -0
  128. package/dist/assets/data-ref-CN34UeVw.js +1 -0
  129. package/dist/assets/debug-bridge-BD1XVAIB.js +1 -0
  130. package/dist/assets/debug-registry-ggQWxtu-.js +1 -0
  131. package/dist/assets/{deferred-ingest-play-BdR4qGk6.js → deferred-ingest-play-B2JUlwlT.js} +2 -2
  132. package/dist/assets/{design-time-canvas-mount-DPQeHSN2.js → design-time-canvas-mount-as9cN9I6.js} +2 -2
  133. package/dist/assets/design-time-layers-BRseeSmV.js +1 -0
  134. package/dist/assets/{design-time-mount.service-Ks-5Wkcs.js → design-time-mount.service-BTVu3yKo.js} +2 -2
  135. package/dist/assets/{design-time-mount.service-Ca-DZGFV.js → design-time-mount.service-DKvc7lVK.js} +2 -2
  136. package/dist/assets/design-time-react-mount-C7rB56QD.js +1 -0
  137. package/dist/assets/{document-preview-three-DThkjI1S.js → document-preview-three-CxmRhCcV.js} +1 -1
  138. package/dist/assets/{dom-authoring-adapter-BrLU8IJ_.js → dom-authoring-adapter-L8OzXfmE.js} +1 -1
  139. package/dist/assets/{draco3d-B2cwv46o.js → draco3d-BjNuXv66.js} +1 -1
  140. package/dist/assets/{edit-mode-audio.service-D4ITNbsm.js → edit-mode-audio.service-BwI5u845.js} +1 -1
  141. package/dist/assets/edit-mode-authoring-D5f7aHHl.js +1 -0
  142. package/dist/assets/{edit-mode-networking.service-BNv-FTRh.js → edit-mode-networking.service-DqP_4lbI.js} +1 -1
  143. package/dist/assets/editor-api-BM7H_F4G.js +1 -0
  144. package/dist/assets/{editor-layers-BDJnAAzj.js → editor-layers-D-CTUqco.js} +1 -1
  145. package/dist/assets/editor-presentation-activity-CqJH4G9t.js +1 -0
  146. package/dist/assets/{editor-shell-store-ChLcVeNB.js → editor-shell-store-DHVWS8cE.js} +1 -1
  147. package/dist/assets/{entity-object-JmYMfLsx.js → entity-object-MKYemTFM.js} +1 -1
  148. package/dist/assets/{extend-Cc-nEa_A.js → extend-BrgqZiMY.js} +1 -1
  149. package/dist/assets/fork-menu-DE2MK3Nq.js +1 -0
  150. package/dist/assets/{frame-debugger-store-DaCbAYSW.js → frame-debugger-store-BXoLKTdZ.js} +1 -1
  151. package/dist/assets/game-audio-BeCyd0Ha.js +1 -0
  152. package/dist/assets/{game-contract-seams-BnPFGLll.js → game-contract-seams-tyKDsfaP.js} +1 -1
  153. package/dist/assets/{game-css-scope-transform-D_p7cVgW.js → game-css-scope-transform-DcjrwtVc.js} +2 -2
  154. package/dist/assets/game-document.service-CTb2itHQ.js +1 -0
  155. package/dist/assets/game-eval.command-CpDKXOQU.js +2 -0
  156. package/dist/assets/game-module-access-BTInp2NG.js +1 -0
  157. package/dist/assets/game-network-DW5ARz4R.js +22 -0
  158. package/dist/assets/{gameplay-export-BzYzLZPi.js → gameplay-export-cHk3v9y-.js} +1 -1
  159. package/dist/assets/gameplay-replay-HRenPTtU.js +1 -0
  160. package/dist/assets/gameplay.command-DcY2lKKX.js +1 -0
  161. package/dist/assets/generation-CdOATubd.css +1 -0
  162. package/dist/assets/{generation-jobs-BZhOMrp-.js → generation-jobs-CJBehuUp.js} +1 -1
  163. package/dist/assets/generation.service-BMOc-C9i.js +1 -0
  164. package/dist/assets/{generations-DVDht_31.js → generations-ssgVOe_6.js} +1 -1
  165. package/dist/assets/generations.status-B_SmPReI.js +1 -0
  166. package/dist/assets/hierarchy-marks-BuCO8Ke-.js +1 -0
  167. package/dist/assets/hierarchy-marks-CsTaTkc7.js +1 -0
  168. package/dist/assets/hosted-asset-materialization-CiXZI85V.js +2 -0
  169. package/dist/assets/{ibl-override-material-CiKkaOTW.js → ibl-override-material-CMo_a49U.js} +1 -1
  170. package/dist/assets/index-B0S4fQQV.js +1 -0
  171. package/dist/assets/{index-C3Pw-9So.js → index-B9bd4k-t.js} +1 -1
  172. package/dist/assets/index-BMxv2MNV.js +1 -0
  173. package/dist/assets/{index-DUZeuA7g.js → index-Bm4_DmRO.js} +1 -1
  174. package/dist/assets/{index-cNc-iFbq.js → index-BvBlIRwM.js} +1 -1
  175. package/dist/assets/{index-Ck3JFh48.js → index-BweKDdi_.js} +1 -1
  176. package/dist/assets/{index-BRJMIUK0.js → index-C5ZAyrKq.js} +346 -345
  177. package/dist/assets/index-CPiRKiDC.css +1 -0
  178. package/dist/assets/index-CfpGZrbC.js +1 -0
  179. package/dist/assets/index-Czvj6whv.js +1 -0
  180. package/dist/assets/{index-SS9EugVg.js → index-DgPDGGSV.js} +2 -2
  181. package/dist/assets/{inference-diagnostics-xecGdohW.js → inference-diagnostics-DLt9ql9I.js} +1 -1
  182. package/dist/assets/{ingest-boot-viewport-DAt8WFSy.js → ingest-boot-viewport-BXVXjYpG.js} +1 -1
  183. package/dist/assets/ingest-siblings-DWJ7OGB_.js +1 -0
  184. package/dist/assets/ingest-source-persistence-6ShMoSCa.js +1 -0
  185. package/dist/assets/ingest.service-BBbX8ibg.js +1 -0
  186. package/dist/assets/{inspect-Dr4qvDpJ.js → inspect-Cz3Zyx_1.js} +1 -1
  187. package/dist/assets/inspection-D8fZOHCM.js +1 -0
  188. package/dist/assets/instances.command-BrdlngrL.js +1 -0
  189. package/dist/assets/{json-history-resource-DwS10tqD.js → json-history-resource-Uqrihfc8.js} +1 -1
  190. package/dist/assets/layered-pick-CAVQMPI7.js +1 -0
  191. package/dist/assets/{light-DcFqVCmv.js → light-CqzsCWeJ.js} +1 -1
  192. package/dist/assets/{live-project-verbs-C3LzprCe.js → live-project-verbs-CdFmLYOo.js} +1 -1
  193. package/dist/assets/{machine.document-BzZxubYQ.js → machine.document-DRIFOVaa.js} +1 -1
  194. package/dist/assets/{machines.finder-BR02bfVG.js → machines.finder-DPCT6few.js} +1 -1
  195. package/dist/assets/material-BVApn1V_.js +1 -0
  196. package/dist/assets/{material-factory-COz7qZhC.js → material-factory-B_75xxFD.js} +1 -1
  197. package/dist/assets/{mesh-DcmO-mWI.js → mesh-DdA3mExo.js} +1 -1
  198. package/dist/assets/model-asset-sections-D1uxOu2v.css +1 -0
  199. package/dist/assets/model-asset-sections.service-CJnSIckZ.js +1 -0
  200. package/dist/assets/{model-inspection-CXHxrafK.js → model-inspection-DvspbmJl.js} +1 -1
  201. package/dist/assets/{model-thumbnail-BEKPWg4l.js → model-thumbnail-BmQs-h6t.js} +1 -1
  202. package/dist/assets/{models.finder-c1I0tp2M.js → models.finder-Qv_Hsccy.js} +1 -1
  203. package/dist/assets/module-mode-MJ4Gbsry.js +2 -0
  204. package/dist/assets/mount-canvas-ingest-root-BxtM8OaB.js +2 -0
  205. package/dist/assets/mount-dom-ingest-root-pGatqO46.js +2 -0
  206. package/dist/assets/mount-ingest-root-C7jb-mCl.js +2 -0
  207. package/dist/assets/mount-manifest-BfoHBuzn.js +1 -0
  208. package/dist/assets/mount-readiness-DyAd17pe.js +4 -0
  209. package/dist/assets/mount-three-ingest-root-Boa5mcaF.js +1 -0
  210. package/dist/assets/{mounted-authoring-Clftxx0x.js → mounted-authoring-DxMISwvR.js} +1 -1
  211. package/dist/assets/{mounted-story-viewport-source-B4-eAYGI.js → mounted-story-viewport-source-DfnLxI1f.js} +1 -1
  212. package/dist/assets/{native-debug-module-2_HVupdg.js → native-debug-module-BlrALjM3.js} +1 -1
  213. package/dist/assets/{navigation-CH3-zr1n.js → navigation-CqG5o5AR.js} +1 -1
  214. package/dist/assets/{navmesh.menu-Dfi-Pk-8.js → navmesh.menu-D4TdVDhe.js} +1 -1
  215. package/dist/assets/{navmesh.service-Cz7QFY-M.js → navmesh.service-DWKT5ruQ.js} +1 -1
  216. package/dist/assets/network-observer.service-ZRAquNq4.js +1 -0
  217. package/dist/assets/network.utility-DjeOEvAY.js +1 -0
  218. package/dist/assets/object-marks-BnvSuCTt.js +1 -0
  219. package/dist/assets/{object3d-authoring-subject-BDrxd1GA.js → object3d-authoring-subject-XccsO0xG.js} +1 -1
  220. package/dist/assets/{object3d-document-session-registry-DJDEDM0p.js → object3d-document-session-registry-CMRJdFp6.js} +2 -2
  221. package/dist/assets/{oid-transform-D5Kxt6ij.js → oid-transform-DaA6yW6o.js} +1 -1
  222. package/dist/assets/{particles-vRp0Lf3o.js → particles-DsQRcDBY.js} +1 -1
  223. package/dist/assets/{performance-profiler-OwnXQX0M.js → performance-profiler-CMbwGBuk.js} +1 -1
  224. package/dist/assets/pixi-authoring-adapter-BoBt8bB5.js +1 -0
  225. package/dist/assets/pixi-live-write-target-CYZgvC6U.js +1 -0
  226. package/dist/assets/play.command-D9JGJP-e.js +2 -0
  227. package/dist/assets/pose-guard-CLabLSzf.js +1 -0
  228. package/dist/assets/presentation-COhHQdmR.js +1 -0
  229. package/dist/assets/{product-CxmUIxmr.js → product-CaRGoiIH.js} +1 -1
  230. package/dist/assets/{profiler.action-Dzy9DuAc.js → profiler.action-Cz7HYWjh.js} +1 -1
  231. package/dist/assets/{profiler.menu-jLDO3U6N.js → profiler.menu-D5aR_FBy.js} +1 -1
  232. package/dist/assets/profiler.utility-KwxlIPKb.js +1 -0
  233. package/dist/assets/{project-authoring-session-C3eusefK.js → project-authoring-session-DKXHVwxO.js} +2 -2
  234. package/dist/assets/project-provenance-BGnJXJwa.js +1 -0
  235. package/dist/assets/{properties-bone-constraints.inspector-B_PbSMV7.js → properties-bone-constraints.inspector-Bo-sU8eR.js} +1 -1
  236. package/dist/assets/{properties-bone.inspector-CMDEQuBd.js → properties-bone.inspector-BQiWplQv.js} +1 -1
  237. package/dist/assets/{properties-collection.inspector-D7Ay8yRj.js → properties-collection.inspector-C5BnR-GE.js} +1 -1
  238. package/dist/assets/{properties-constraints.inspector-DS1fZgXK.js → properties-constraints.inspector-CyheU12R.js} +1 -1
  239. package/dist/assets/{properties-data.inspector-k2pGN2Mp.js → properties-data.inspector-CkycARja.js} +1 -1
  240. package/dist/assets/{properties-material.inspector-Bb3yAGUx.js → properties-material.inspector-Bl_PUmY-.js} +1 -1
  241. package/dist/assets/{properties-modifiers.inspector-BcJfe-Wy.js → properties-modifiers.inspector-j7SnOxQq.js} +1 -1
  242. package/dist/assets/{properties-object.inspector-CUSfXJuq.js → properties-object.inspector-DcR3MGLK.js} +1 -1
  243. package/dist/assets/{properties-output.inspector-BTVW2kn1.js → properties-output.inspector-BLjw6K4b.js} +1 -1
  244. package/dist/assets/{properties-particles.inspector-Cw0fxx3B.js → properties-particles.inspector-BUIm2-Jf.js} +1 -1
  245. package/dist/assets/{properties-physics.inspector-C-0bD2bu.js → properties-physics.inspector-DNvRcxb6.js} +1 -1
  246. package/dist/assets/{properties-render.inspector-C8D5UpjX.js → properties-render.inspector-8FMZ-qoZ.js} +1 -1
  247. package/dist/assets/{properties-scene.inspector-HjK6QHGg.js → properties-scene.inspector-Dx7_z75k.js} +1 -1
  248. package/dist/assets/{properties-texture.inspector-CckZgUaI.js → properties-texture.inspector-WT15951-.js} +1 -1
  249. package/dist/assets/{properties-view-layer.inspector-C1ajtVSk.js → properties-view-layer.inspector-P7VNTdqr.js} +1 -1
  250. package/dist/assets/{properties-world.inspector-BiT_EdT-.js → properties-world.inspector-B3t1q8TF.js} +1 -1
  251. package/dist/assets/r3f-design-session-lsbFnoWH.js +2 -0
  252. package/dist/assets/{r3f-physics-binding-DzrbpqjM.js → r3f-physics-binding-Cx8yhuwt.js} +1 -1
  253. package/dist/assets/{r3f-source-authoring-adapter-DbbeRcvt.js → r3f-source-authoring-adapter-jH3G0TeH.js} +2 -2
  254. package/dist/assets/react-canvas-navigation-B_gOe3CI.js +1 -0
  255. package/dist/assets/react-inspector.service-CZf1vfdX.js +1 -0
  256. package/dist/assets/react-story-board-CCm2Opwn.js +1 -0
  257. package/dist/assets/{react-three-rapier.esm-U8J7g6tH.js → react-three-rapier.esm-CHXGG51p.js} +1 -1
  258. package/dist/assets/react-world-authoring-adapter-CnzxMtYz.js +1 -0
  259. package/dist/assets/{realm-services-CnY105XU.js → realm-services-Do9J6nsb.js} +1 -1
  260. package/dist/assets/reflection-probe-capture.inspector-BAjjIybz.js +1 -0
  261. package/dist/assets/{reflection-probe-BHNGwVyz.js → reflection-probe-sIto9mh0.js} +1 -1
  262. package/dist/assets/registry-Xnduk02T.js +1 -0
  263. package/dist/assets/{relative-import-specifier-BFKIWEWs.js → relative-import-specifier-CPFTrxi4.js} +1 -1
  264. package/dist/assets/{render-env-BkKZ4uMA.js → render-env-YJlI8K0i.js} +1 -1
  265. package/dist/assets/{render-features-rxbawsRb.js → render-features-DMSV2qKJ.js} +1 -1
  266. package/dist/assets/{render-settings-DS5leCed.js → render-settings-CRyDhHyz.js} +1 -1
  267. package/dist/assets/{resolve-three-CVnMRHxw.js → resolve-three-D27rMc37.js} +19 -19
  268. package/dist/assets/root-seam-contract-gjWUd5uu.js +1 -0
  269. package/dist/assets/run-selection-B0jOdyYt.js +2 -0
  270. package/dist/assets/scene-capture-Di9cM1p4.js +1 -0
  271. package/dist/assets/scene-document.service-XxGs4HHE.js +2 -0
  272. package/dist/assets/{scene-framing-BQt72ZCw.js → scene-framing-DkZKDwH3.js} +1 -1
  273. package/dist/assets/{scene-index--lRWLEmW.js → scene-index-DHeKmalD.js} +1 -1
  274. package/dist/assets/{scene-query-s1y04OVB.js → scene-query-ByZtXA2m.js} +1 -1
  275. package/dist/assets/seeded-random-BJthDRMu.js +1 -0
  276. package/dist/assets/{session-CTXsU1lK.js → session-x8E_NJk2.js} +34 -34
  277. package/dist/assets/{setup-renderer-Cwkl1Ar6.js → setup-renderer-F9mG7t6r.js} +1 -1
  278. package/dist/assets/{source-object3d-authoring-adapter-DF679Ncb.js → source-object3d-authoring-adapter-CvmFpSUj.js} +1 -1
  279. package/dist/assets/{source-persistence-backend-CwLYVPXj.js → source-persistence-backend-au3WtEn6.js} +1 -1
  280. package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js} +1 -1
  281. package/dist/assets/{stage-keyboard-B8BEW592.js → stage-keyboard-BQkndG_D.js} +1 -1
  282. package/dist/assets/stage-overlay-set-g6eWhuRv.js +1 -0
  283. package/dist/assets/stage-presence-markers-0CDfO5f4.js +1 -0
  284. package/dist/assets/stage-transform-tools-BzPl7OIo.js +1 -0
  285. package/dist/assets/standard-viewport-dressing-BW-dM_1h.js +24 -0
  286. package/dist/assets/{state-watch.action-DnR5Zjr-.js → state-watch.action-Z1nQ5awu.js} +1 -1
  287. package/dist/assets/{state-watch.menu-wYLCLsAw.js → state-watch.menu-CQHGUF3W.js} +1 -1
  288. package/dist/assets/state-watch.utility-DCIg2i79.js +1 -0
  289. package/dist/assets/{story-capture-BmnwHGDV.js → story-capture-BIrjDKeY.js} +1 -1
  290. package/dist/assets/story-documents-BvG2xeaR.js +3 -0
  291. package/dist/assets/{story-documents.service-B6v7Z-WE.js → story-documents.service-DOSEa3ja.js} +1 -1
  292. package/dist/assets/{story-documents.service-yagl1wGp.js → story-documents.service-y1m7XGMJ.js} +1 -1
  293. package/dist/assets/{story-media-presence-BqRMu572.js → story-media-presence-HLV-KaMj.js} +1 -1
  294. package/dist/assets/{story-pixi-preview-Da6afqLg.js → story-pixi-preview-CMhho2gG.js} +1 -1
  295. package/dist/assets/{story-presentation-DMSYRWaz.js → story-presentation-CYhVv8Ku.js} +1 -1
  296. package/dist/assets/story-three-preview-CgcLF5lE.js +2 -0
  297. package/dist/assets/{structural-ids-Br2zjINh.js → structural-ids-BOo2BRoY.js} +1 -1
  298. package/dist/assets/studio-environment-R9qXUUcC.js +2 -0
  299. package/dist/assets/{surface-state-1lTOi8FD.js → surface-state-D8Qnowo6.js} +1 -1
  300. package/dist/assets/{syntactic-prop-specs-eiQXwMIc.js → syntactic-prop-specs-8gkBuc5j.js} +1 -1
  301. package/dist/assets/team-playtest.service-BBMZ2iyk.js +1 -0
  302. package/dist/assets/{three-TCuY32m_.js → three-DiL6vMXq.js} +1 -1
  303. package/dist/assets/three-authoring-adapter-CkLR2zGf.js +1 -0
  304. package/dist/assets/three-authoring.service-CovhlCGx.js +2 -0
  305. package/dist/assets/{three-ingest-runtime-B7rtg3QE.js → three-ingest-runtime-CwTqAHgX.js} +1 -1
  306. package/dist/assets/{three-integration-BdN5Nhsg.js → three-integration-DXOFI88n.js} +2 -2
  307. package/dist/assets/three-integration.service-rCAqpqSp.js +1 -0
  308. package/dist/assets/three-projection-core-B7Lf8tOp.js +1 -0
  309. package/dist/assets/{three-state-DwFE3ay2.js → three-state-BCACvUtm.js} +1 -1
  310. package/dist/assets/{three-story-capture.service-CvpV3v5a.js → three-story-capture.service-rTFKNtHA.js} +2 -2
  311. package/dist/assets/{three-story-model-C2r2BuiA.js → three-story-model-BjKr7OMn.js} +1 -1
  312. package/dist/assets/three-viewport-presentation-CBzvc2v2.js +141 -0
  313. package/dist/assets/tools-DfctM216.js +1 -0
  314. package/dist/assets/transform-mode-request-DlEApNrA.js +1 -0
  315. package/dist/assets/transport-strip-xCg94CuI.js +1 -0
  316. package/dist/assets/transport.header-BRtdky0x.js +1 -0
  317. package/dist/assets/{trigger-volume-DP0G1VBe.js → trigger-volume-BLkHmfm9.js} +1 -1
  318. package/dist/assets/tuples-BDz3wbQL.js +1 -0
  319. package/dist/assets/ui-board-document-DvbK_HVN.js +2 -0
  320. package/dist/assets/{user-data-Bpj7diUS.js → user-data-C84W0V47.js} +1 -1
  321. package/dist/assets/user-data-CODoGZqA.js +1 -0
  322. package/dist/assets/{utility-view-state-CAfbFbKQ.js → utility-view-state-CDRxZSo-.js} +1 -1
  323. package/dist/assets/viewport-door-BARIpMu-.js +1 -0
  324. package/dist/assets/{viewport-root-presentation-vgxsTyj4.js → viewport-root-presentation-hRLF0BeO.js} +1 -1
  325. package/dist/assets/{viewport-surface-status-cwCiBGa7.js → viewport-surface-status-TUfhXKR9.js} +1 -1
  326. package/dist/assets/{webworkerAll-Cm3gTjWi.js → webworkerAll-PJtcQ1FD.js} +1 -1
  327. package/dist/assets/worker-BtXrsgFy.js +2 -0
  328. package/dist/assets/workspace-arrangement-DqG5sUns.js +1 -0
  329. package/dist/assets/world-documents-D69XaqUX.js +1 -0
  330. package/dist/assets/world-root-stage-binding-BgZWZEuD.js +1 -0
  331. package/dist/assets/{xstate-animation-binding-BGLxcZT_.js → xstate-animation-binding-CIyLzGHs.js} +1 -1
  332. package/dist/assets/{xstate-animation-meta-D_T441Ru.js → xstate-animation-meta-CbYWup3R.js} +1 -1
  333. package/dist/volter-shared-react.json +10 -0
  334. package/dist/volter-shared-three.json +3 -0
  335. package/dist-node/cli.js +253 -210
  336. package/dist-node/create.js +103 -82
  337. package/package.json +23 -20
  338. package/src/contributions.d.ts +1 -1
  339. package/src/index.ts +10 -10
  340. package/starter/cube.py +1 -1
  341. package/template/.agents/references/project-manual.md +17 -17
  342. package/template/.agents/skills/editor/SKILL.md +6 -6
  343. package/template/.agents/skills/editor/agents/openai.yaml +3 -3
  344. package/template/.agents/skills/editor/references/editor-control.md +62 -62
  345. package/template/{.claude/skills/vgai-3d-models → .agents/skills/volter-3d-models}/SKILL.md +3 -3
  346. package/template/{.github/skills/vgai-ingest-existing-game → .agents/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  347. package/template/.agents/skills/{vgai-music → volter-music}/SKILL.md +35 -11
  348. package/template/{.claude/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/SKILL.md +9 -9
  349. package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  350. package/template/{.github/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  351. package/template/.claude/skills/editor/SKILL.md +6 -6
  352. package/template/.claude/skills/editor/agents/openai.yaml +3 -3
  353. package/template/.claude/skills/editor/references/editor-control.md +62 -62
  354. package/template/{.agents/skills/vgai-3d-models → .claude/skills/volter-3d-models}/SKILL.md +3 -3
  355. package/template/{.agents/skills/vgai-ingest-existing-game → .claude/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  356. package/template/{.github/skills/vgai-threejs-authoring → .claude/skills/volter-threejs-authoring}/SKILL.md +9 -9
  357. package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  358. package/template/.claude/skills/{vgai-threejs-authoring → volter-threejs-authoring}/references/helper-catalog.md +1 -1
  359. package/template/.github/copilot-instructions.md +1 -1
  360. package/template/.github/skills/editor/SKILL.md +6 -6
  361. package/template/.github/skills/editor/agents/openai.yaml +3 -3
  362. package/template/.github/skills/editor/references/editor-control.md +62 -62
  363. package/template/.github/skills/{vgai-3d-models → volter-3d-models}/SKILL.md +3 -3
  364. package/template/{.claude/skills/vgai-ingest-existing-game → .github/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  365. package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/SKILL.md +9 -9
  366. package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  367. package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  368. package/template/.mcp.json +3 -3
  369. package/template/AGENTS.md +24 -23
  370. package/template/DEVLOG.md +1 -1
  371. package/template/IDIOMS.md +3 -3
  372. package/template/LICENSE +3 -3
  373. package/template/README.md +12 -12
  374. package/template/check-idioms.ts +51 -51
  375. package/template/manifest-entry-modules-plugin.ts +17 -4
  376. package/template/package.json +12 -12
  377. package/template/server/loopback.ts +1 -1
  378. package/template/server/main.ts +4 -4
  379. package/template/server/rooms/arena-room.ts +8 -8
  380. package/template/server/rooms/game-room.ts +8 -8
  381. package/template/server/rooms.ts +2 -2
  382. package/template/src/bot/QaTester.tsx +1 -1
  383. package/template/src/bot/bot-station.ts +2 -2
  384. package/template/src/bot/tester-station.ts +1 -1
  385. package/template/src/contributions/README.md +1 -1
  386. package/template/src/contributions/analytics.analytics.tsx +1 -1
  387. package/template/src/contributions/data.document.tsx +2 -2
  388. package/template/src/contributions/pages.finder.ts +1 -1
  389. package/template/src/contributions/tester.inspector.tsx +2 -2
  390. package/template/src/contributions/use-game-modules.ts +1 -1
  391. package/template/src/input.ts +2 -2
  392. package/template/src/lib/reflections/volume-reflection-material.ts +59 -59
  393. package/template/src/lib/static-batch/Frozen.tsx +1 -1
  394. package/template/src/lib/static-batch/mutation-watch.ts +1 -1
  395. package/template/src/main.ts +58 -6
  396. package/template/src/manifest-entry-modules.d.ts +12 -1
  397. package/template/src/prefabs/HeroBox.stories.tsx +1 -1
  398. package/template/src/world.tsx +1 -1
  399. package/template/tsconfig.json +1 -1
  400. package/template/validate-manifest.ts +3 -3
  401. package/template/vite.config.ts +11 -11
  402. package/template/{vgai.adapter.ts → volter.adapter.ts} +1 -1
  403. package/template/{vgai.project.json → volter.project.json} +2 -2
  404. package/template-dotfiles/gitignore +27 -27
  405. package/workbench/src/media/game-cover.css +11 -11
  406. package/workbench/src/product.contribution.ts +28 -28
  407. package/workbench/src/{vgaiGameSkew.ts → volterGameSkew.ts} +16 -16
  408. package/dist/assets/AudioViewer-BDPqHDfU.js +0 -1
  409. package/dist/assets/CanvasBoardDocument-mxL0oJ3N.js +0 -1
  410. package/dist/assets/CanvasSceneViewport-C_mapCwC.js +0 -1
  411. package/dist/assets/ColorInput-QUPS1pEB.js +0 -1
  412. package/dist/assets/ImageViewer-tlVvkdM4.js +0 -1
  413. package/dist/assets/InspectorObjectPreview-W-y079DS.js +0 -1
  414. package/dist/assets/JsonAssetDocument-CPmcWFPW.js +0 -2
  415. package/dist/assets/ModelAssetDocument-De1HKuxG.js +0 -1
  416. package/dist/assets/Object3DDocumentToolbar-Cks81kCS.js +0 -1
  417. package/dist/assets/Object3DDocumentViewport-DCwiSY3O.js +0 -2
  418. package/dist/assets/OnlineAssetDetail-CNuwSQRQ.js +0 -1
  419. package/dist/assets/PlayBar-bT8Xdrap.js +0 -1
  420. package/dist/assets/ReactCanvasControls-CnJrPj-B.js +0 -1
  421. package/dist/assets/RootSelectionOverlay-CpaGluQu.js +0 -1
  422. package/dist/assets/ShadowEditor-CVtMlALn.js +0 -1
  423. package/dist/assets/StageHost-B89HKcvd.js +0 -2
  424. package/dist/assets/ThreeBoardDocument-BAgHrbtu.js +0 -2
  425. package/dist/assets/Toolbar-DkTHnQto.js +0 -1
  426. package/dist/assets/VideoViewer-DMV8lf4P.js +0 -1
  427. package/dist/assets/ViewportShadingMenu-CXPi6fl8.js +0 -1
  428. package/dist/assets/active-ingest-DA426a81.js +0 -3
  429. package/dist/assets/adapter-runtime-bindings-4cmsRvRh.js +0 -2
  430. package/dist/assets/animation-mixers.service-DK64IuYq.js +0 -1
  431. package/dist/assets/animation-timeline.utility-D-g0zrOl.js +0 -1
  432. package/dist/assets/asset-editor-persistence-BGWIqZdk.js +0 -1
  433. package/dist/assets/asset-loaders-C0KQI5eY.js +0 -2
  434. package/dist/assets/audio.utility-BmE9WMUg.js +0 -1
  435. package/dist/assets/autoplay.service-CjPnv3QW.js +0 -1
  436. package/dist/assets/binding-resolver-dE0GnZT5.js +0 -2
  437. package/dist/assets/blender-emscripten-engine-BeWFjMn-.js +0 -2
  438. package/dist/assets/blender-version.status-OsFoc9SA.js +0 -1
  439. package/dist/assets/blender-wali-engine-da698rDf.js +0 -2
  440. package/dist/assets/blender.keymap-_rF_vRX8.js +0 -1
  441. package/dist/assets/blender.status-ujwGU6dU.js +0 -1
  442. package/dist/assets/board-guides-BEKPgD9M.js +0 -1
  443. package/dist/assets/body-marks-RKb_LTwL.js +0 -1
  444. package/dist/assets/bridge.command-BF00Iefm.js +0 -3
  445. package/dist/assets/build-profiles.document-CqNrDdh9.js +0 -2
  446. package/dist/assets/build-progress.status-Bo1ZgJcb.js +0 -1
  447. package/dist/assets/build-session-GZcSAfPN.js +0 -9
  448. package/dist/assets/build.header-Bt1kwHWl.js +0 -1
  449. package/dist/assets/canvas-design-mount-BbLW_Nci.js +0 -6
  450. package/dist/assets/canvas-entry-runtime-UNYuSfG0.js +0 -2
  451. package/dist/assets/capability-coverage-DZ-onC5j.js +0 -7
  452. package/dist/assets/component-board.service-q_TM9BCw.js +0 -2
  453. package/dist/assets/component-contracts.service-CPbfXE1h.js +0 -1
  454. package/dist/assets/component-instance-root-B0C5oNEm.js +0 -1
  455. package/dist/assets/component-verbs.service-CnA11bJq.js +0 -1
  456. package/dist/assets/connection.status-Yvt0bX0r.js +0 -1
  457. package/dist/assets/constraints.inspector-4r8jWq5a.js +0 -1
  458. package/dist/assets/coverage.service-DcpEoBuf.js +0 -3
  459. package/dist/assets/create-runtime-DBfUy0SO.js +0 -3
  460. package/dist/assets/curve-DVd18iAX.js +0 -1
  461. package/dist/assets/data-check-core-CQEjuFyt.js +0 -1
  462. package/dist/assets/data-ref-CWnkj-HX.js +0 -1
  463. package/dist/assets/debug-bridge-D3_-EgRE.js +0 -1
  464. package/dist/assets/debug-registry-P0_YQGWd.js +0 -1
  465. package/dist/assets/design-time-layers-ChswRUJt.js +0 -1
  466. package/dist/assets/design-time-react-mount-C85KfXOd.js +0 -1
  467. package/dist/assets/edit-mode-authoring-DeCxPcHM.js +0 -1
  468. package/dist/assets/editor-api-BFTIRlWa.js +0 -1
  469. package/dist/assets/editor-presentation-activity-C7SNSmTd.js +0 -1
  470. package/dist/assets/entry-adjudication-Dc18TIqT.js +0 -1
  471. package/dist/assets/fork-menu-DpKqRhF5.js +0 -1
  472. package/dist/assets/game-audio-CaGKzia4.js +0 -1
  473. package/dist/assets/game-document.service-Chmt4065.js +0 -1
  474. package/dist/assets/game-eval.command-DRSvOJ_1.js +0 -2
  475. package/dist/assets/game-module-access-o3iXZpCA.js +0 -1
  476. package/dist/assets/game-network-Ct2FQYmu.js +0 -1
  477. package/dist/assets/gameplay-replay-BwdxV4oF.js +0 -1
  478. package/dist/assets/gameplay.command-Boqv1hnc.js +0 -1
  479. package/dist/assets/generation-DhwCUHPf.css +0 -1
  480. package/dist/assets/generation.service-o9aXlsx4.js +0 -1
  481. package/dist/assets/generations.status-BvzgHlyk.js +0 -1
  482. package/dist/assets/hierarchy-marks-BLPfSIym.js +0 -1
  483. package/dist/assets/hierarchy-marks-Cc_3lxw6.js +0 -1
  484. package/dist/assets/hosted-asset-materialization-BpbnhJac.js +0 -2
  485. package/dist/assets/index-0Lm0Nf1M.css +0 -1
  486. package/dist/assets/index-BHoAKyAC.js +0 -1
  487. package/dist/assets/index-BeK4RPgj.js +0 -1
  488. package/dist/assets/index-C1c3eOmm.js +0 -1
  489. package/dist/assets/index.module-Ycad3DJq.js +0 -1
  490. package/dist/assets/ingest-siblings-BtiEXLnh.js +0 -1
  491. package/dist/assets/ingest-source-persistence-Dmdo-UBp.js +0 -1
  492. package/dist/assets/ingest.service-vbCucMz7.js +0 -1
  493. package/dist/assets/inspection-CObLhnrs.js +0 -1
  494. package/dist/assets/instances.command-BwayrqNm.js +0 -1
  495. package/dist/assets/layered-pick-kiQf53t5.js +0 -1
  496. package/dist/assets/material-B_V78pTt.js +0 -1
  497. package/dist/assets/model-asset-sections-CFvvihfx.css +0 -1
  498. package/dist/assets/model-asset-sections.service-CqSclZGY.js +0 -1
  499. package/dist/assets/module-mode-BH2R93XP.js +0 -2
  500. package/dist/assets/mount-canvas-ingest-root-D1z9i5B3.js +0 -2
  501. package/dist/assets/mount-dom-ingest-root-BAmmNxlm.js +0 -2
  502. package/dist/assets/mount-ingest-root-DYR0TMIt.js +0 -2
  503. package/dist/assets/mount-manifest-DdkFYdVA.js +0 -1
  504. package/dist/assets/mount-readiness-Ds0HvvLH.js +0 -4
  505. package/dist/assets/mount-three-ingest-root-DVbACDUy.js +0 -1
  506. package/dist/assets/network-observer.service-Ce83TdsU.js +0 -1
  507. package/dist/assets/network.utility-DFDul2Xb.js +0 -1
  508. package/dist/assets/object-marks-DwvIEBOK.js +0 -1
  509. package/dist/assets/pixi-authoring-adapter-BChknIdC.js +0 -1
  510. package/dist/assets/pixi-live-write-target-BjDsBQbp.js +0 -1
  511. package/dist/assets/play-mode-DICV4cKP.js +0 -22
  512. package/dist/assets/play.command-NHyi5rzF.js +0 -2
  513. package/dist/assets/pose-guard-DILO6gGq.js +0 -1
  514. package/dist/assets/presentation-BeNFBfKg.js +0 -1
  515. package/dist/assets/profiler.utility-Do2Bw7MY.js +0 -1
  516. package/dist/assets/project-provenance-4ldz-EOG.js +0 -1
  517. package/dist/assets/r3f-design-session-B5GsZI5M.js +0 -2
  518. package/dist/assets/react-canvas-navigation-Cp3cOHJa.js +0 -1
  519. package/dist/assets/react-inspector.service-Bm0OnanU.js +0 -1
  520. package/dist/assets/react-story-board-GaXqr03H.js +0 -1
  521. package/dist/assets/react-world-authoring-adapter-DOjv2pYm.js +0 -1
  522. package/dist/assets/reflection-probe-capture.inspector-DqSW9p1v.js +0 -1
  523. package/dist/assets/registry-CaCdF63N.js +0 -1
  524. package/dist/assets/root-seam-contract-CxLZaRio.js +0 -1
  525. package/dist/assets/run-selection-DzEkGesJ.js +0 -2
  526. package/dist/assets/scene-capture-0a-bTjT8.js +0 -1
  527. package/dist/assets/scene-document.service-CeDwVA7t.js +0 -2
  528. package/dist/assets/seeded-random-BgCwIAAU.js +0 -1
  529. package/dist/assets/stage-overlay-set-BGE03mqb.js +0 -1
  530. package/dist/assets/stage-presence-markers-DIP7YMcO.js +0 -1
  531. package/dist/assets/stage-transform-tools-BQB7EY4l.js +0 -1
  532. package/dist/assets/standard-viewport-dressing-BCA51Tum.js +0 -24
  533. package/dist/assets/state-watch.utility-CFG1Tu1m.js +0 -1
  534. package/dist/assets/story-documents-BTo90DiA.js +0 -3
  535. package/dist/assets/story-three-preview-R1JvrggS.js +0 -2
  536. package/dist/assets/studio-environment-DRxxq_QX.js +0 -2
  537. package/dist/assets/team-playtest.service-hLfjgScx.js +0 -1
  538. package/dist/assets/three-authoring-adapter-htbnVej2.js +0 -1
  539. package/dist/assets/three-authoring.service-BIQAtVdX.js +0 -2
  540. package/dist/assets/three-integration.service-CS8Nvbd2.js +0 -1
  541. package/dist/assets/three-projection-core-CG01r5Ta.js +0 -1
  542. package/dist/assets/three-viewport-presentation-B0z_cECu.js +0 -141
  543. package/dist/assets/tools-B_NJsk05.js +0 -1
  544. package/dist/assets/transform-mode-request-DzD9aUNA.js +0 -1
  545. package/dist/assets/transport-strip-CUjNltnb.js +0 -1
  546. package/dist/assets/transport.header-Bb4FpQ8J.js +0 -1
  547. package/dist/assets/tuples-DfWSY2tr.js +0 -1
  548. package/dist/assets/ui-board-document-CCiiXjX9.js +0 -2
  549. package/dist/assets/user-data-dHvLdpwM.js +0 -1
  550. package/dist/assets/viewport-door-Bj_ZIP85.js +0 -1
  551. package/dist/assets/worker-CC9Ug5Ei.js +0 -2
  552. package/dist/assets/workspace-arrangement-BdAlBwvd.js +0 -1
  553. package/dist/assets/world-documents-DBybpBq8.js +0 -1
  554. package/dist/assets/world-root-stage-binding-ZVYIgr74.js +0 -1
  555. package/dist/vgai-shared-react.json +0 -10
  556. package/dist/vgai-shared-three.json +0 -3
  557. package/template/.agents/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  558. package/template/.claude/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  559. package/template/.github/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  560. /package/dist/assets/{vgai-shared-fontawesome-CU65D4Ij.js → volter-shared-fontawesome-CU65D4Ij.js} +0 -0
  561. /package/dist/assets/{vgai-shared-jsx-dev-runtime-DFDKL7fx.js → volter-shared-jsx-dev-runtime-DFDKL7fx.js} +0 -0
  562. /package/dist/assets/{vgai-shared-jsx-runtime-DIqBpTut.js → volter-shared-jsx-runtime-DIqBpTut.js} +0 -0
  563. /package/dist/assets/{vgai-shared-react-BT7rMc2H.js → volter-shared-react-BT7rMc2H.js} +0 -0
  564. /package/dist/assets/{vgai-shared-react-dom-DFajMqMT.js → volter-shared-react-dom-DFajMqMT.js} +0 -0
  565. /package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → volter-shared-react-dom-client-S0ozfl6_.js} +0 -0
  566. /package/dist/assets/{vgai-shared-three-DH4yxKwt.js → volter-shared-three-DH4yxKwt.js} +0 -0
  567. /package/template/{.vgai → .volter}/assets.json +0 -0
  568. /package/template/{.vgai → .volter}/provenance.json +0 -0
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolObject3DPreview-WEi6C9uU.js","assets/jsx-runtime-DPjLkJKQ.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/Object3DPreview-ClYDoH2L.js","assets/index-BRJMIUK0.js","assets/index-nmcBqr7Y.js","assets/index-D_NuPfjr.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-0Lm0Nf1M.css","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/OrbitControls-B13MKuwC.js","assets/asset-preview-B1tDziF1.js","assets/editor-layers-BDJnAAzj.js","assets/workspace-arrangement-BdAlBwvd.js","assets/renderer-ownership-BovSEcLv.js","assets/hierarchy-marks-Cc_3lxw6.js","assets/studio-environment-DRxxq_QX.js","assets/user-data-Bpj7diUS.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/bitmap-label-Ct4k6ehY.js","assets/editor-presentation-activity-C7SNSmTd.js","assets/model-thumbnail-BEKPWg4l.js","assets/StageHost-B89HKcvd.js","assets/three-state-DwFE3ay2.js","assets/editor-shell-store-ChLcVeNB.js","assets/output-pass-HurwNl0G.js","assets/Pass-D1MRT672.js","assets/entity-object-JmYMfLsx.js","assets/three-contract-Dkt6PmWY.js","assets/standard-viewport-dressing-BCA51Tum.js","assets/content-bounds-BeuIXKYu.js","assets/preview-renderer-BrYNFV1p.js","assets/live-mixers-B-bwLZ7c.js","assets/live-gesture-lock-DJbrjOqf.js","assets/model-inspection-CXHxrafK.js","assets/three-viewport-presentation-B0z_cECu.js","assets/clip-planes-CnAI6DZn.js","assets/three-TCuY32m_.js","assets/component-instance-root-B0C5oNEm.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/scene-framing-BQt72ZCw.js","assets/object3d-document-session-registry-DJDEDM0p.js","assets/source-object3d-authoring-adapter-DF679Ncb.js","assets/three-projection-core-CG01r5Ta.js","assets/viewport-door-Bj_ZIP85.js","assets/transport-strip-CUjNltnb.js","assets/viewport-surface-status-cwCiBGa7.js","assets/ModelAssetDocument-De1HKuxG.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/layered-pick-kiQf53t5.js","assets/root-stacking-BEd9ZvxC.js","assets/EntityModelDocument-CzUHsH9E.js","assets/EnvironmentAssetDocument-ByEB7_4A.js","assets/asset-editor-persistence-BGWIqZdk.js","assets/LutAssetDocument-BImiug2M.js","assets/index-DHhMOs_s.js","assets/ShaderAssetDocument-Kn8IvRGV.js","assets/ColorInput-QUPS1pEB.js","assets/LiveModuleDocument-DL8QHSlk.js","assets/Object3DDocumentViewport-DCwiSY3O.js","assets/QuarksAssetDocument-B-VOj-n4.js","assets/project-provenance-4ldz-EOG.js","assets/InspectorObjectPreview-W-y079DS.js"])))=>i.map(i=>d[i]);
2
- import{az as Ie,kL as Me,kK as X,ay as Te,li as xe,fV as Re,dg as je,av as Ve,_ as y,ac as Ne,lj as Le,lk as ze,ll as Fe,lm as Be,ln as He,lo as qe,lp as Ue,lq as We,lr as Ge,hX as Qe,ls as $e,bq as Ye,lt as Je,lu as Ke,lv as he,kN as z,aF as Z,aG as Xe,w as B,cH as Ze,lw as et,q as ve,B as tt,aH as rt,lx as ot,ly as nt,lz as W,x as at,cr as st,kC as it}from"./index-BRJMIUK0.js";import{r as ct}from"./host-hierarchy-objects-BV3WqU2w.js";import{m as ge,l as ut}from"./renderer-ownership-BovSEcLv.js";import{W as we}from"./three.module-BLhyNg0e.js";import{cP as ye,ej as lt,_ as be,I as dt,fo as P,V as Se,dp as Y,cp as ft,el as pt,bh as ee,d5 as mt}from"./three.core-3arARmh6.js";import{i as ht}from"./preview-renderer-BrYNFV1p.js";import{p as vt}from"./layered-pick-kiQf53t5.js";import{g as H}from"./user-data-Bpj7diUS.js";import{a as h}from"./jsx-runtime-DPjLkJKQ.js";import{r as f}from"./index-nmcBqr7Y.js";import{r as gt}from"./model-thumbnail-BEKPWg4l.js";import{b as wt,a as Pe}from"./object3d-document-session-registry-DJDEDM0p.js";import{t as k}from"./three-state-DwFE3ay2.js";import{a as q}from"./entity-object-JmYMfLsx.js";import{i as _e,c as yt}from"./hierarchy-marks-Cc_3lxw6.js";import{a as bt}from"./component-instance-root-B0C5oNEm.js";import{a as St}from"./three-contract-Dkt6PmWY.js";import{t as D}from"./editor-shell-store-ChLcVeNB.js";import{c as Pt,a as U}from"./viewport-door-Bj_ZIP85.js";import{a as _t}from"./content-bounds-BeuIXKYu.js";import{h as Et,d as Ee,p as Ct,j as te,r as re,s as At,k as oe,A as Ot,n as kt,o as Dt,c as It,q as Mt,m as Tt,t as xt,b as Rt,C as jt,u as ne,v as Vt,w as G,x as Nt,y as Lt,z as zt,B as Ft,D as Bt,E as Ht,F as qt,e as Ut,f as Wt}from"./asset-preview-B1tDziF1.js";const Gt=1,C=[];function $(t){const e=C.indexOf(t);e>=0&&C.splice(e,1),t.renderer.dispose(),t.renderer.forceContextLoss(),t.canvas.remove()}function Qt(t,e){const r=document.createElement("canvas");r.style.width="100%",r.style.height="100%",r.style.display="block",r.width=Math.max(1,t),r.height=Math.max(1,e);const o={canvas:r,renderer:ge(new we({canvas:r,antialias:!0,alpha:!0})),leased:!0,lost:!1,onContextLost:null};return r.addEventListener("webglcontextlost",()=>{o.lost=!0,o.onContextLost?.();const n=C.indexOf(o);n>=0&&C.splice(n,1),o.leased||$(o)}),C.push(o),o}function $t(t){const{renderer:e}=t;e.setRenderTarget(null),e.setScissorTest(!1),e.setViewport(0,0,Math.max(1,t.canvas.width),Math.max(1,t.canvas.height)),e.setScissor(0,0,Math.max(1,t.canvas.width),Math.max(1,t.canvas.height)),e.autoClear=!0,e.autoClearColor=!0,e.autoClearDepth=!0,e.autoClearStencil=!0,e.sortObjects=!0,e.localClippingEnabled=!1,e.clippingPlanes=[],e.shadowMap.enabled=!1,e.shadowMap.autoUpdate=!0,e.toneMapping=ye,e.toneMappingExposure=1,e.outputColorSpace=lt,e.xr.enabled=!1,e.setAnimationLoop(null),e.setClearColor(0,0),e.clear(!0,!0,!0),e.info.reset()}function uo(t,e,r){let o=C.find(s=>!s.leased&&!s.lost);o||(o=Qt(t,e)),o.leased=!0,o.onContextLost=r??null;const n=o;let a=!1;return{canvas:n.canvas,renderer:n.renderer,release(){if(a)return;if(a=!0,n.leased=!1,n.onContextLost=null,n.canvas.remove(),n.lost){$(n);return}$t(n);const s=C.filter(c=>!c.leased&&!c.lost);for(const c of s.slice(Gt))$(c)}}}function Yt(){return{active:C.filter(t=>t.leased&&!t.lost).length,idle:C.filter(t=>!t.leased&&!t.lost).length}}function Jt(t,e){if(e!==null&&Ie(e))for(const o of t.values())o.visible=!1}const Kt=new be("#aaaaaa");function Xt(t){t.background=Kt,t.fog=null,t.environment=null,t.traverse(e=>{H(e,"envObject")&&(e.visible=!1)})}const Zt={activeAuthoring:t=>Ve(t),panelAuthoring:t=>je(t).adapter,pick:(t,e,r,o)=>vt(t,e,r,{intent:o}),toolOwner:(t,e)=>Re(t,e),toolOwnerPainted:(t,e)=>X(t)&&xe(t,e),threeSurfaceShowing:(t,e)=>X(t)&&(e instanceof Te?e.childAdapters().some(r=>r.kind==="three"):!e.rects&&typeof e.hierarchy.object3D=="function"),threeViewportRootId:t=>Me(t),applyRootHiddenVisibility:Jt,suppressRootEnvironment:Xt},er=f.lazy(async()=>({default:(await y(async()=>{const{ToolObject3DPreview:t}=await import("./ToolObject3DPreview-WEi6C9uU.js");return{ToolObject3DPreview:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))).ToolObject3DPreview})),tr=f.lazy(async()=>({default:(await y(async()=>{const{ToolObject3DAuthoring:t}=await import("./StageHost-B89HKcvd.js").then(e=>e.S);return{ToolObject3DAuthoring:t}},__vite__mapDeps([32,4,5,2,6,1,7,8,9,10,11,33,34,35,12,13,36,16,17,21,37,38,39,40,19,25,26,27,28,41,18,42,43,44,45,46,47,48,49,31,20,22,23,24,14,50,51,52,53,54,55,30,56,57,58]))).ToolObject3DAuthoring}));function rr(t){return h.jsx(f.Suspense,{fallback:h.jsx("div",{style:{minHeight:240},children:"Loading 3D preview…"}),children:h.jsx(er,{...t})})}function or(t){return f.useEffect(()=>Ne(t.documentId),[t.documentId]),h.jsx(f.Suspense,{fallback:h.jsx("div",{style:{minHeight:240},children:"Loading 3D authoring surface…"}),children:h.jsx(tr,{...t})})}const ae={model:f.lazy(async()=>{const{ModelAssetDocument:t}=await y(async()=>{const{ModelAssetDocument:e}=await import("./ModelAssetDocument-De1HKuxG.js");return{ModelAssetDocument:e}},__vite__mapDeps([59,1,2,5,6,7,8,4,9,10,11,15,16,17,18,19,20,21,22,12,13,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,14,50,51,52,53,54,55,30,56,57,58,60,61,62]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,displayName:e.displayName,active:e.active})}}),"entity-model":f.lazy(async()=>{const{EntityModelDocument:t}=await y(async()=>{const{EntityModelDocument:e}=await import("./EntityModelDocument-CzUHsH9E.js");return{EntityModelDocument:e}},__vite__mapDeps([63,1,2,34,35,12,13,36,16,17,4,5,6,7,8,9,10,11,21,37,38,42,15,18,19,20,22,23,24,25,26,27,28,29,32,33,39,40,41,43,44,45,46,47,48,49,31,14,50,51,52,53,54,55,30,56,57,58,60,61,62]));return{default:e=>h.jsx(t,{documentId:e.documentId,entityId:e.entityId??"",displayName:e.displayName,active:e.active})}}),environment:f.lazy(async()=>{const{EnvironmentAssetDocument:t}=await y(async()=>{const{EnvironmentAssetDocument:e}=await import("./EnvironmentAssetDocument-ByEB7_4A.js");return{EnvironmentAssetDocument:e}},__vite__mapDeps([64,1,2,4,5,6,7,8,9,10,11,12,13,14,27,28,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),lut:f.lazy(async()=>{const{LutAssetDocument:t}=await y(async()=>{const{LutAssetDocument:e}=await import("./LutAssetDocument-BImiug2M.js");return{LutAssetDocument:e}},__vite__mapDeps([66,1,2,4,5,6,7,8,9,10,11,67,12,13,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),shader:f.lazy(async()=>{const{ShaderAssetDocument:t}=await y(async()=>{const{ShaderAssetDocument:e}=await import("./ShaderAssetDocument-Kn8IvRGV.js");return{ShaderAssetDocument:e}},__vite__mapDeps([68,1,2,4,5,6,7,8,9,10,11,69,12,13,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),"model-preview":f.lazy(async()=>{const{Object3DPreview:t}=await y(async()=>{const{Object3DPreview:e}=await import("./Object3DPreview-ClYDoH2L.js");return{Object3DPreview:e}},__vite__mapDeps([3,4,5,2,6,1,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]));return{default:e=>h.jsx(t,{assetPath:e.assetPath,...e.materialPath?{materialPath:e.materialPath}:{},displayName:e.displayName})}}),module:f.lazy(async()=>{const{LiveModuleDocument:t}=await y(async()=>{const{LiveModuleDocument:e}=await import("./LiveModuleDocument-DL8QHSlk.js");return{LiveModuleDocument:e}},__vite__mapDeps([70,1,2,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,12,13,23,24,25,26,27,28,29,53,71,58,39,40]));return{default:e=>e.projectRoot?h.jsx(t,{documentId:e.documentId,projectRoot:e.projectRoot,modulePath:(e.assetPath.split(/[?#]/,1)[0]??e.assetPath).replace(/^\//,""),displayName:e.displayName,active:e.active,fallback:e.fallback}):e.fallback}})},nr={recognize:async(t,e)=>(await y(async()=>{const{loadNativeQuarksJsonSource:r}=await import("./QuarksAssetDocument-B-VOj-n4.js");return{loadNativeQuarksJsonSource:r}},__vite__mapDeps([72,1,2,5,6,7,8,4,9,10,11,20,21,17,22,12,13,23,24,25,26,27,28,51,73,32,33,34,35,36,16,37,38,39,40,19,41,18,42,43,44,45,46,47,48,49,31,14,50,52,53,54,55,30,56,57,58,60,61,62,15,29]))).loadNativeQuarksJsonSource(t,e),Viewer:f.lazy(async()=>{const{QuarksAssetDocument:t}=await y(async()=>{const{QuarksAssetDocument:e}=await import("./QuarksAssetDocument-B-VOj-n4.js");return{QuarksAssetDocument:e}},__vite__mapDeps([72,1,2,5,6,7,8,4,9,10,11,20,21,17,22,12,13,23,24,25,26,27,28,51,73,32,33,34,35,36,16,37,38,39,40,19,41,18,42,43,44,45,46,47,48,49,31,14,50,52,53,54,55,30,56,57,58,60,61,62,15,29]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,displayName:e.displayName,active:e.active,source:e.content})}})};function ar(){const t=[...Object.keys(ae).map(e=>Le(e,ae[e])),ze(nr)];return()=>{for(const e of t)e()}}async function se(t){const e=new Image;return e.src=t,await e.decode(),e}function sr(){return Fe((t,e)=>{const r=k();if(r&&r.viewportCanvas()===t)return(async()=>{const n=await Be(t);if(n)return n;const a=r.captureViewportImage(e);return a?se(a):null})();const o=wt().find(n=>n.renderer.domElement===t);return o?(async()=>{const n=await o.requestPresentedFrame();if(n)return n;const a=o.captureImage(e);return a?se(a):null})():null})}function ir(t){const e=yt(t);if(e||_e(t)||H(t,"authoringRoot")===!0||!bt(t))return e;const r=H(t,"authoringComponent");return typeof r=="string"&&r?r:void 0}function cr(t){if(typeof t.object3D!="function")return He;const r=new Map;return o=>{if(r.has(o))return r.get(o);const n=St(t,o),a=n?{componentRoot:ir(n),authoredEntity:H(n,"authoringRoot")===!0,builtInternal:_e(n)}:void 0;return r.set(o,a),a}}const ur=1e-4,lr="World-anchored — content is placed in world space by the game each frame; moving this container offsets future placements away from their source.";function Ce(t){if(!t)return 0;const e=t;if(e.isInstancedMesh!==!0)return 0;const r=e.count;return typeof r=="number"&&r>0?r:0}function dr(t){const e=t.elements;for(let r=0;r<16;r++){const o=r%5===0?1:0,n=e[r];if(!Number.isFinite(n)||Math.abs(n-o)>ur)return!1}return!0}const ie=new dt,ce=new P;function fr(t,e){const r=Ce(t);if(r===0)return null;const o=pr(t,e);return{units:r,detail:Ae(r),worldAnchored:o,note:o?lr:null}}function pr(t,e){if(!e||e.isEmpty()||!dr(t.matrixWorld))return!1;const r=t.geometry;return r.boundingBox===null&&r.computeBoundingBox(),r.boundingBox?(ie.copy(r.boundingBox),e.getCenter(ce),!ie.containsPoint(ce)):!1}function mr(t){const e=Ce(t);return e===0?null:Ae(e)}function Ae(t){return`${t} instanced unit${t===1?"":"s"}`}function hr(){return qe({detail:(t,e,r)=>mr(q(t,D(r).objectMap,e)),marks:t=>cr(t),structureLog:t=>{const e=D(t);return{epoch:()=>e.gizmoEpoch,parentChangesSince:r=>e.ingestObjectMapChangesSince(r)}}})}function vr(t){return Math.min(1600,Math.max(800,900+t*25))}function gr(t){return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function Oe(t,e,r=new P(0,1,0)){const o=new P().subVectors(e,t),n=o.length();if(n<1e-6)return[t.clone(),t.clone(),e.clone(),e.clone()];const a=Math.min(n*.18,6),s=new P().crossVectors(o,r);s.lengthSq()>1e-9?s.normalize().multiplyScalar(Math.min(n*.08,2.5)):s.set(0,0,0);const c=r.clone().normalize().multiplyScalar(a),u=t.clone().addScaledVector(o,.3).add(c).add(s),m=e.clone().addScaledVector(o,-.3).addScaledVector(c,.6).addScaledVector(s,.5);return[t.clone(),u,m,e.clone()]}const wr=1<<31;function yr(t){return(t.layers.mask&wr)!==0||/gizmo/i.test(t.name)}function ke(t){if(yr(t))return null;if(t.isCamera)return t;for(const e of t.children){const r=ke(e);if(r)return r}return null}function br(t,e,r){const o=new P,n=new Y;return e.getWorldPosition(o),e.getWorldQuaternion(n),{entityId:t,position:o.toArray(),quaternion:n.toArray(),fov:r}}function Sr(t){for(const[e,r]of t.objectMap){const o=ke(r);if(!o)continue;const n=o;return br(e,o,n.isPerspectiveCamera?n.fov:60)}return null}function Pr(t){t.curve=new Se(Oe(t.startPos,t.endPos))}let I=null;function _r(t){const e=U(),r=k()?.objectMap,o=r?Sr({objectMap:r}):null;if(!o||!e)return!1;const n=e.camera.position.clone(),a=new P().fromArray(o.position);return I={runtime:{startPos:n,startQuat:e.camera.quaternion.clone(),startFov:e.camera.fov,endPos:a,endQuat:new Y().fromArray(o.quaternion),endFov:o.fov,curve:new Se(Oe(n,a)),startedAt:performance.now(),durationMs:vr(n.distanceTo(a)),landed:!1},snapshot:{position:e.camera.position.clone(),target:e.orbit.target.clone(),up:e.camera.up.clone(),fov:e.camera.fov},onLanded:t,getLiveCamera:null,driving:!0},e.orbit.enabled=!1,!0}function Er(){const t=U(),e=I;if(!e||(e.driving=!1,!t))return;const r=t.camera,o=new P(0,0,-1).applyQuaternion(r.quaternion),n=Math.max(1,e.snapshot.position.distanceTo(e.snapshot.target));t.orbit.target.copy(r.position).addScaledVector(o,n),r.up.set(0,1,0).applyQuaternion(r.quaternion),t.orbit.enabled=!0}function Cr(){const t=I;if(!t)return;I=null;const e=U();if(!e)return;const r=t.snapshot;e.camera.position.copy(r.position),e.orbit.target.copy(r.target),e.camera.up.copy(r.up),e.camera.lookAt(r.target),e.camera.fov!==r.fov&&(e.camera.fov=r.fov,e.camera.updateProjectionMatrix()),e.orbit.enabled=!0,e.orbit.update()}const Q=new P,ue=new Y;Pt(Ar);function Ar(){const t=I,e=U();if(!t||!e||!t.driving)return;const r=t.runtime,o=t.getLiveCamera?.()??null,n=o?.isObject3D?o:null;if(n){n.getWorldPosition(Q),n.getWorldQuaternion(ue),Q.distanceToSquared(r.endPos)>1e-8&&(r.endPos.copy(Q),Pr(r)),r.endQuat.copy(ue);const u=n.fov;typeof u=="number"&&(r.endFov=u)}const a=e.camera;if(r.landed){a.position.copy(r.endPos),a.quaternion.copy(r.endQuat),a.fov!==r.endFov&&(a.fov=r.endFov,a.updateProjectionMatrix());return}const s=Math.min(1,(performance.now()-r.startedAt)/r.durationMs),c=gr(s);a.position.copy(r.curve.getPoint(c)),a.quaternion.slerpQuaternions(r.startQuat,r.endQuat,c),a.fov=r.startFov+(r.endFov-r.startFov)*c,a.updateProjectionMatrix(),s>=1&&(r.landed=!0,t.onLanded())}function Or(){return Ue({begin:_r,track:t=>{I&&(I.getLiveCamera=t)},settle:Er,end:Cr})}const kr=f.lazy(()=>y(()=>import("./InspectorObjectPreview-W-y079DS.js"),__vite__mapDeps([74,1,2,63,34,35,12,13,36,16,17,4,5,6,7,8,9,10,11,21,37,38,42,15,18,19,20,22,23,24,25,26,27,28,29,32,33,39,40,41,43,44,45,46,47,48,49,31,14,50,51,52,53,54,55,30,56,57,58,60,61,62])).then(t=>({default:t.InspectorObjectPreview})));function Dr(t,e){return{preview:t.isCamera?null:({displayName:r,previewKey:o,actions:n})=>a=>f.createElement(Ge,{picture:()=>f.createElement(kr,{previewKey:o,object:t,displayName:r,fill:!0}),previewKey:o,actions:n,...a?{mode:a}:{}}),instanced:fr(t,_t(t)),assetDocument:e}}function Ir(){return We((t,e)=>{const r=k();if(!r)return null;const o=q(t,r.objectMap,e);return o?Dr(o,r.objectMap.has(e)?{open:()=>Qe("asset-editor:entity",r.shell,{entityId:e,title:o.name||e})}:null):null})}const le=new WeakMap,J={activeAuthoring(t){let e=le.get(t);return e||(e=Ye(t,"No authoring adapter"),le.set(t,e)),e},panelAuthoring(t){return J.activeAuthoring(t)},pick(){return null},toolOwner:$e,toolOwnerPainted(){return!0},threeSurfaceShowing(t,e){return!e.rects&&typeof e.hierarchy.object3D=="function"},threeViewportRootId(){return null},applyRootHiddenVisibility(){},suppressRootEnvironment(){}};let F=J;function Mr(t){if(F!==t){if(F!==J)throw new Error("A viewport authoring policy is already installed.");F=t}}function lo(){return F}const de=0,Tr=16777215,fe=10;function xr(t){return Ct(t,"Compare reference GLB")}function pe(t,e){const r=It(t),o=new ee;o.rotation.y=Mt(e),o.add(r);const n=new ee;n.add(o),n.updateWorldMatrix(!0,!0);const a=Tt(n,"front"),s=[a.center.x-a.size.x/2,a.center.y-a.size.y/2,a.center.z-a.size.z/2],c=[a.center.x+a.size.x/2,a.center.y+a.size.y/2,a.center.z+a.size.z/2],u=xt(s,c);return n.scale.setScalar(u.scale),n.position.set(...u.position),n.updateWorldMatrix(!0,!0),{wrapper:n,dispose:()=>Rt(r)}}function Rr(t,e){const r=jt,o=r*e,n=new mt(-o,o,r,-r,.01,fe*4),a=t==="front"?new P(0,0,1):new P(1,0,0);return n.position.set(0,ne,0).addScaledVector(a,fe),n.up.set(0,1,0),n.lookAt(0,ne,0),n.updateProjectionMatrix(),n.updateMatrixWorld(!0),n}function jr(t,e,r={}){const o=te(r.width),n=te(r.height),a=o/n,s=[];let c=null;try{const u=pe(t,re(t));s.push(u.dispose);const m=pe(e,r.refForward??re(e));s.push(m.dispose);const O=new ft({color:Tr});s.push(()=>O.dispose());const L=p=>{const i=new pt;return i.background=new be(de),i.overrideMaterial=O,i.add(p),i},v=L(u.wrapper),b=L(m.wrapper),_=ge(new we({antialias:!1,alpha:!1,preserveDrawingBuffer:!0}));c=_,_.setPixelRatio(1),_.toneMapping=ye,_.setClearColor(de,1),_.setSize(o,n,!1);const M=document.createElement("canvas");M.width=o,M.height=n;const S=M.getContext("2d");if(!S)throw new Error("Unable to create the compare readback canvas.");const A=(p,i,R,g)=>{_.render(p,i),S.clearRect(0,0,o,n),S.drawImage(_.domElement,0,0);const j=S.getImageData(0,0,o,n).data,V=At(j,o*n);if(!V.some(K=>K!==0))throw new Error(`Compare ${g} view rendered an empty ${R} silhouette — nothing to score.`);return{image:{base64:oe(M),mimeType:"image/png"},mask:V}},w=document.createElement("canvas");w.width=o,w.height=n;const T=w.getContext("2d");if(!T)throw new Error("Unable to create the compare overlay canvas.");const x=[];for(const p of Ot){const i=Rr(p,a),R=A(v,i,"asset",p),g=A(b,i,"reference",p),j=kt(R.mask,g.mask);T.putImageData(new ImageData(Dt(R.mask,g.mask),o,n),0,0),x.push({view:p,iou:j.iou,overlay:{base64:oe(w),mimeType:"image/png"},asset:R.image,ref:g.image})}return{width:o,height:n,views:x}}finally{c?.dispose(),c?.forceContextLoss();for(const u of s.reverse())u()}}async function Vr(t,e,r={}){const o=await Et(t);try{return await De(o,e,r)}finally{Ee(o)}}async function De(t,e,r={}){const o=await xr(e);try{return jr(t,o,r)}finally{Ee(o)}}async function Nr(t,e){const r=e.assetPath,o=e.entityId,n=e.glbBase64;if(+(typeof r=="string")+ +(typeof o=="string")+ +(typeof n=="string")!==1)return{ok:!1,error:"capture-asset-preview requires exactly one of assetPath, entityId or glbBase64."};const s=e.width,c=e.height,u=e.background,m=e.shots,O=e.shotSet,L=e.forward,v=e.compare,b=e.stage,_=e.camera,M=e.pose;if(s!==void 0&&typeof s!="number"||c!==void 0&&typeof c!="number"||u!==void 0&&u!=="neutral"&&u!=="transparent"||m!==void 0&&m!=="source")return{ok:!1,error:"Invalid asset preview dimensions, background, or shots mode."};if(b!==void 0&&b!=="lab"&&b!=="scene")return{ok:!1,error:`capture-asset-preview stage must be "lab" or "scene", got ${String(b)}.`};if(O!==void 0&&m!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine a shotSet definition with a shots mode."};const S=Je("capture-asset-preview",_);if(typeof S=="string")return{ok:!1,error:S};const A=Ke("capture-asset-preview",M);if(typeof A=="string")return{ok:!1,error:A};if((S||A)&&(m!==void 0||O!==void 0||v!==void 0||b==="scene"))return{ok:!1,error:'capture-asset-preview cannot combine camera/pose with a shots mode, a shotSet definition, compare, or stage "scene" — those legs stage their own cameras and poses.'};let w;if(O!==void 0)try{w=Vt(O)}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}const T=G(L);if(m==="source"&&T===null)return{ok:!1,error:"capture-asset-preview --shots source requires a non-degenerate forward [x,y,z]."};if(v!==void 0){if(m!==void 0||w!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine compare with shots."};if(typeof v!="object"||v===null||typeof v.glbBase64!="string"||v.forward!==void 0&&G(v.forward)===null)return{ok:!1,error:"capture-asset-preview compare requires { glbBase64: string, forward?: [x, y, z] } with a non-degenerate ground-plane forward."}}if(typeof n=="string"){if(m!==void 0||v!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine glbBase64 with a named shots mode or compare."};if(b==="scene")return{ok:!1,error:'capture-asset-preview stage "scene" photographs a live scene entity — glbBase64 bytes stand nowhere in the scene.'}}const x=b==="scene"?t.scene:null;if(b==="scene"){if(typeof o!="string")return{ok:!1,error:'capture-asset-preview stage "scene" photographs a live scene entity — pass entityId, not assetPath.'};if(m!==void 0||w!==void 0||v!==void 0)return{ok:!1,error:'capture-asset-preview cannot combine stage "scene" with a shots mode, a shotSet definition or compare.'};if(!x)return{ok:!1,error:'capture-asset-preview stage "scene" requires a bound viewport scene; none is bound yet.'}}const p=typeof o=="string"?q(he(t.shell),t.objectMap,o):null;if(typeof o=="string"&&!p)return{ok:!1,error:`Entity not found: ${o}`};try{const i={...typeof s=="number"?{width:s}:{},...typeof c=="number"?{height:c}:{},...u?{background:u}:{},...S?{camera:S}:{},...A?{pose:A}:{}};if(v!==void 0){const g=v,j=G(g.forward),V={...typeof s=="number"?{width:s}:{},...typeof c=="number"?{height:c}:{},...j?{refForward:j}:{}};return{ok:!0,data:{...typeof r=="string"?await Vr(r,g.glbBase64,V):await De(p,g.glbBase64,V)}}}return w!==void 0?{ok:!0,data:{...typeof n=="string"?await Nt(n,w,i):typeof r=="string"?await Lt(r,w,i):zt(p,w,i)}}:m==="source"?{ok:!0,data:{...typeof r=="string"?await Ft(r,T,i):Bt(p,T,i)}}:x?{ok:!0,data:{...Ht(p,x,i)}}:typeof n=="string"?{ok:!0,data:{...await qt(n,i)}}:{ok:!0,data:{...typeof r=="string"?await Ut(r,i):Wt(p,i)}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}function E(){const t=B();return t?Pe(t):null}function l(t,e,r="none"){return{...e===void 0?{}:{timeoutMs:e},derivedRefresh:r,handle:o=>{const n=k();return n?t(n,o):{ok:!1,error:`${o.type} needs an editor session; none has opened yet.`}}}}const d={ok:!0},Lr={"focus-entity":l((t,e)=>(E()?.frameIds([e.id])||t.shell.focusOnEntity(e.id),d)),"frame-entity":l((t,e)=>{const r=e.id;if(typeof r!="string"||r.length===0)return{ok:!1,error:'frame-entity requires a string "id" (the entity to frame).'};const o=E();if(o)return o.frameIds([r])?d:{ok:!1,error:`Entity not found: ${r}`,data:{code:"ENTITY_NOT_FOUND"}};const n=he(t.shell);return n.hierarchy.node(r)!==null&&n.rects||q(n,t.objectMap,r)?(t.shell.focusOnEntity(r),d):{ok:!1,error:`Entity not found: ${r}`,data:{code:"ENTITY_NOT_FOUND"}}}),"focus-selection":l(t=>(E()?.frameSelection()||t.shell.focusOnSelection(),d)),"view-preset":l((t,e)=>{const r=e.preset,o=["top","front","right","perspective"];if(typeof r!="string"||!o.includes(r))return{ok:!1,error:`view-preset requires one of ${o.join(", ")}, got ${r===void 0?"nothing":JSON.stringify(r)}.`};const n=r,a=E();return a?a.setViewPreset(n==="perspective"?"isometric":n):t.shell.setViewPreset(n),d}),"set-camera":l((t,e)=>{const r=e.position,o=e.target,n=e.fov;if(!r||!o||typeof r.x!="number"||typeof r.y!="number"||typeof r.z!="number"||typeof o.x!="number"||typeof o.y!="number"||typeof o.z!="number")return{ok:!1,error:"set-camera requires numeric {x,y,z} position and target."};const a=E();return a?a.setCameraPose(r,o,n):t.shell.setCameraPose(r,o,n),d}),"document-orbit":l((t,e)=>me(e),12e4),"document-turntable":l((t,e)=>me(e),12e4),"document-frame":l((t,e)=>{const r=E();if(!r)return{ok:!1,error:"document-frame needs an Object3D document open and active. For the Scene viewport use `frame-entity`/`focus-selection`.",data:{code:"NO_ACTIVE_OBJECT3D_DOCUMENT"}};const o=e.fit;return o!==void 0&&(typeof o!="number"||!(o>=.1&&o<=10))?{ok:!1,error:'document-frame: "fit" must be a number in 0.1..10.'}:r.frame(typeof o=="number"?o:1)?{ok:!0,data:{...r.cameraPose()}}:{ok:!1,error:"Nothing to frame: the document subject has no measurable bounds.",data:{code:"EMPTY_FRAME_BOUNDS"}}}),"capture-viewport":l(async(t,e)=>{const r=et(e);if("error"in r)return{ok:!1,error:r.error};if(t.hasAdoptedScene)try{const s=await ve().documents.captureActive(r.size);return{ok:!0,data:{base64:s.base64,mimeType:s.mimeType}}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}const o=t.captureViewportImage(r.size);if(!o)return{ok:!1,error:`This door photographs the editor's own three.js Scene viewport, and nothing has bound one (no renderer/scene/camera). A canvas-surface world (a first-party canvas root, or a PixiJS/Phaser/Babylon ingest) never binds it — it draws on its own canvas in the Game document. Capture that through \`capture-active-document\` (\`editor.captureActiveDocument()\`) or the running game through \`bridge-screenshot\` (${tt("screenshot")}).`};const n=o.indexOf(",");return{ok:!0,data:{base64:n>=0?o.slice(n+1):o,mimeType:"image/png"}}},void 0,"if-content-changed"),"capture-asset-preview":l((t,e)=>Nr(t,e),3e4,"if-content-changed"),"set-grid":l((t,e)=>{const r=B();return!r||!Z(r)?{ok:!1,error:"set-grid: the active document draws no grid."}:(Ze(r,e.enabled),d)}),"set-helpers":l((t,e)=>{const r=z(t.shell);return r.showHelpers!==e.enabled&&r.toggleHelpers(),d}),"set-stats":l((t,e)=>{const r=z(t.shell);return D(r).showStats!==e.enabled&&D(r).toggleStats(),d}),"set-shading-mode":l((t,e)=>{const r=E(),o=e.mode;if(o==="preview"||o==="rendered"){const n=B(),a=n?Z(n)?.stageKind:void 0;if(!r||!a||Xe(a)?.modes?.[o]?.lighting===void 0)return{ok:!1,error:`Shading mode "${o}" is lit as a stage says, and the active document's stage says nothing for it.`}}return r?r.setMode(e.mode):t.setShadingMode(e.mode),d}),"set-helper-type":l((t,e)=>{const r=z(t.shell),o=e.helperType,n=E();return n&&o==="bounds"?(n.setBounds(e.enabled),d):n&&o==="skeletons"?(n.setSkeleton(e.enabled),d):(r.helperVisibility[o]!==e.enabled&&r.toggleHelperType(o),d)}),"set-transform-mode":l((t,e)=>(t.shell.setTransformMode(e.mode),d)),"set-transform-space":l((t,e)=>(t.shell.setTransformSpace(e.space),d)),"set-snap":l((t,e)=>(t.shell.snapEnabled!==e.enabled&&t.shell.toggleSnap(),d))};async function me(t){const e=E();if(!e)return{ok:!1,error:`${t.type} needs an Object3D document open and active (a model, a live module, an entity model). Open one with \`editor.openAsset(<path>)\` first.`,data:{code:"NO_ACTIVE_OBJECT3D_DOCUMENT"}};const r=t.type==="document-orbit"?t.duration:t.seconds;return r!==void 0&&(typeof r!="number"||!(r>=0&&r<=60))?{ok:!1,error:`${t.type}: the move's length must be a number of seconds in 0..60.`}:{ok:!0,data:{...t.type==="document-orbit"?await e.orbit({...typeof t.azimuth=="number"?{azimuth:t.azimuth}:{},...typeof t.elevation=="number"?{elevation:t.elevation}:{},...typeof r=="number"?{duration:r}:{}}):await e.turntable({...typeof r=="number"?{seconds:r}:{},...typeof t.revolutions=="number"?{revolutions:t.revolutions}:{}})}}}function zr(){return ve().session.reportFacet(()=>{const t=k();if(!t)return{};const e=z(t.shell),r=B(),o=r?Pe(r)?.presentation():void 0,n=D(e).cameraPose;return{showGrid:r?rt(r):!0,showHelpers:e.showHelpers,showStats:D(e).showStats,shadingMode:o?.mode??t.shadingMode,helperVisibility:{...e.helperVisibility,...o?{bounds:o.bounds,skeletons:o.skeleton}:{}},transformMode:e.transformMode,transformSpace:t.shell.transformSpace,snapEnabled:t.shell.snapEnabled,...n?{camera:{position:{x:n.position.x,y:n.position.y,z:n.position.z},target:{x:n.target.x,y:n.target.y,z:n.target.z},fov:n.fov}}:{}}})}const Fr={save:t=>it("view",t),saveThumbnail:st},Br=new Map;let N=null;function fo(){if(N)return N;const t=[ot({Object3DPreview:rr,Object3DAuthoring:or}),nt("three-viewport",Lr),ar(),Ir(),gt(),zr(),sr(),hr(),Or(),ct({object:e=>k()?.objectMap.get(e)??null,objects:()=>k()?.objectMap??Br}),W("hostLive",ut),W("interactive",Yt),W("inspectorPreview",ht),at(e=>D(e).attachStatePersistence(Fr))];return Mr(Zt),N=()=>{for(const e of t.reverse())e();N=null},N}export{uo as a,fr as d,fo as e,Ce as i,lo as v};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolObject3DPreview-VtraiQ4Q.js","assets/jsx-runtime-DPjLkJKQ.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/Object3DPreview-ZVokr044.js","assets/index-C5ZAyrKq.js","assets/index-nmcBqr7Y.js","assets/index-D_NuPfjr.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/OrbitControls-B13MKuwC.js","assets/asset-preview-DxlSdRZn.js","assets/editor-layers-D-CTUqco.js","assets/workspace-arrangement-DqG5sUns.js","assets/renderer-ownership-BovSEcLv.js","assets/hierarchy-marks-BuCO8Ke-.js","assets/studio-environment-R9qXUUcC.js","assets/user-data-C84W0V47.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/bitmap-label-Ct4k6ehY.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/model-thumbnail-BmQs-h6t.js","assets/StageHost-DYfGYwvq.js","assets/three-state-BCACvUtm.js","assets/editor-shell-store-DHVWS8cE.js","assets/output-pass-HurwNl0G.js","assets/Pass-D1MRT672.js","assets/entity-object-MKYemTFM.js","assets/three-contract-Dkt6PmWY.js","assets/standard-viewport-dressing-BW-dM_1h.js","assets/content-bounds-DROIchTa.js","assets/preview-renderer-BrYNFV1p.js","assets/live-mixers-B-bwLZ7c.js","assets/live-gesture-lock-DJbrjOqf.js","assets/model-inspection-DvspbmJl.js","assets/three-viewport-presentation-CBzvc2v2.js","assets/clip-planes-CnAI6DZn.js","assets/three-DiL6vMXq.js","assets/component-instance-root-DLI40MiB.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/scene-framing-DkZKDwH3.js","assets/object3d-document-session-registry-CMRJdFp6.js","assets/source-object3d-authoring-adapter-CvmFpSUj.js","assets/three-projection-core-B7Lf8tOp.js","assets/viewport-door-BARIpMu-.js","assets/transport-strip-xCg94CuI.js","assets/viewport-surface-status-TUfhXKR9.js","assets/ModelAssetDocument-Ceu7OIN9.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/layered-pick-CAVQMPI7.js","assets/root-stacking-BEd9ZvxC.js","assets/EntityModelDocument-B_4ENTCq.js","assets/EnvironmentAssetDocument-BZBp6OFJ.js","assets/asset-editor-persistence-BIbf5u0Q.js","assets/LutAssetDocument-Cp0v-O7q.js","assets/index-DHhMOs_s.js","assets/ShaderAssetDocument-CT7XzsZq.js","assets/ColorInput-C2EK-OnD.js","assets/LiveModuleDocument-ne1o9giX.js","assets/Object3DDocumentViewport-D6QoHfa_.js","assets/QuarksAssetDocument-B5J8uHFM.js","assets/project-provenance-BGnJXJwa.js","assets/InspectorObjectPreview-CY5xVsPR.js"])))=>i.map(i=>d[i]);
2
+ import{aB as De,kN as Me,kM as X,aA as Te,ll as xe,g2 as Re,d2 as je,ax as Ve,_ as y,ae as Ne,lm as Le,ln as ze,lo as Fe,lp as Be,lq as He,lr as qe,ls as Ue,lt as We,lu as Ge,hj as Qe,lv as $e,bs as Je,lw as Ye,lx as Ke,ly as he,kP as z,aH as Z,aI as Xe,x as B,dR as Ze,lz as et,r as ve,B as tt,aJ as rt,lA as ot,lB as nt,lC as W,J as at,ct as st,kE as it}from"./index-C5ZAyrKq.js";import{r as ct}from"./host-hierarchy-objects-BV3WqU2w.js";import{m as ge,l as ut}from"./renderer-ownership-BovSEcLv.js";import{W as we}from"./three.module-BLhyNg0e.js";import{cP as ye,ej as lt,_ as be,I as dt,fo as P,V as Se,dp as J,cp as ft,el as pt,bh as ee,d5 as mt}from"./three.core-3arARmh6.js";import{i as ht}from"./preview-renderer-BrYNFV1p.js";import{a as vt}from"./layered-pick-CAVQMPI7.js";import{g as H}from"./user-data-C84W0V47.js";import{a as h}from"./jsx-runtime-DPjLkJKQ.js";import{r as f}from"./index-nmcBqr7Y.js";import{r as gt}from"./model-thumbnail-BmQs-h6t.js";import{b as wt,a as Pe}from"./object3d-document-session-registry-CMRJdFp6.js";import{t as k}from"./three-state-BCACvUtm.js";import{a as q}from"./entity-object-MKYemTFM.js";import{i as _e,c as yt}from"./hierarchy-marks-BuCO8Ke-.js";import{a as bt}from"./component-instance-root-DLI40MiB.js";import{a as St}from"./three-contract-Dkt6PmWY.js";import{t as I}from"./editor-shell-store-DHVWS8cE.js";import{c as Pt,a as U}from"./viewport-door-BARIpMu-.js";import{a as _t}from"./content-bounds-DROIchTa.js";import{h as Et,d as Ee,p as Ct,j as te,r as re,s as At,k as oe,A as Ot,n as kt,o as It,c as Dt,q as Mt,m as Tt,t as xt,b as Rt,C as jt,u as ne,v as Vt,w as G,x as Nt,y as Lt,z as zt,B as Ft,D as Bt,E as Ht,F as qt,e as Ut,f as Wt}from"./asset-preview-DxlSdRZn.js";const Gt=1,C=[];function $(t){const e=C.indexOf(t);e>=0&&C.splice(e,1),t.renderer.dispose(),t.renderer.forceContextLoss(),t.canvas.remove()}function Qt(t,e){const r=document.createElement("canvas");r.style.width="100%",r.style.height="100%",r.style.display="block",r.width=Math.max(1,t),r.height=Math.max(1,e);const o={canvas:r,renderer:ge(new we({canvas:r,antialias:!0,alpha:!0})),leased:!0,lost:!1,onContextLost:null};return r.addEventListener("webglcontextlost",()=>{o.lost=!0,o.onContextLost?.();const n=C.indexOf(o);n>=0&&C.splice(n,1),o.leased||$(o)}),C.push(o),o}function $t(t){const{renderer:e}=t;e.setRenderTarget(null),e.setScissorTest(!1),e.setViewport(0,0,Math.max(1,t.canvas.width),Math.max(1,t.canvas.height)),e.setScissor(0,0,Math.max(1,t.canvas.width),Math.max(1,t.canvas.height)),e.autoClear=!0,e.autoClearColor=!0,e.autoClearDepth=!0,e.autoClearStencil=!0,e.sortObjects=!0,e.localClippingEnabled=!1,e.clippingPlanes=[],e.shadowMap.enabled=!1,e.shadowMap.autoUpdate=!0,e.toneMapping=ye,e.toneMappingExposure=1,e.outputColorSpace=lt,e.xr.enabled=!1,e.setAnimationLoop(null),e.setClearColor(0,0),e.clear(!0,!0,!0),e.info.reset()}function uo(t,e,r){let o=C.find(s=>!s.leased&&!s.lost);o||(o=Qt(t,e)),o.leased=!0,o.onContextLost=r??null;const n=o;let a=!1;return{canvas:n.canvas,renderer:n.renderer,release(){if(a)return;if(a=!0,n.leased=!1,n.onContextLost=null,n.canvas.remove(),n.lost){$(n);return}$t(n);const s=C.filter(c=>!c.leased&&!c.lost);for(const c of s.slice(Gt))$(c)}}}function Jt(){return{active:C.filter(t=>t.leased&&!t.lost).length,idle:C.filter(t=>!t.leased&&!t.lost).length}}function Yt(t,e){if(e!==null&&De(e))for(const o of t.values())o.visible=!1}const Kt=new be("#aaaaaa");function Xt(t){t.background=Kt,t.fog=null,t.environment=null,t.traverse(e=>{H(e,"envObject")&&(e.visible=!1)})}const Zt={activeAuthoring:t=>Ve(t),panelAuthoring:t=>je(t).adapter,pick:(t,e,r,o)=>vt(t,e,r,{intent:o}),toolOwner:(t,e)=>Re(t,e),toolOwnerPainted:(t,e)=>X(t)&&xe(t,e),threeSurfaceShowing:(t,e)=>X(t)&&(e instanceof Te?e.childAdapters().some(r=>r.kind==="three"):!e.rects&&typeof e.hierarchy.object3D=="function"),threeViewportRootId:t=>Me(t),applyRootHiddenVisibility:Yt,suppressRootEnvironment:Xt},er=f.lazy(async()=>({default:(await y(async()=>{const{ToolObject3DPreview:t}=await import("./ToolObject3DPreview-VtraiQ4Q.js");return{ToolObject3DPreview:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))).ToolObject3DPreview})),tr=f.lazy(async()=>({default:(await y(async()=>{const{ToolObject3DAuthoring:t}=await import("./StageHost-DYfGYwvq.js").then(e=>e.S);return{ToolObject3DAuthoring:t}},__vite__mapDeps([32,4,5,2,6,1,7,8,9,10,11,33,34,35,12,13,36,16,17,21,37,38,39,40,19,25,26,27,28,41,18,42,43,44,45,46,47,48,49,31,20,22,23,24,14,50,51,52,53,54,55,30,56,57,58]))).ToolObject3DAuthoring}));function rr(t){return h.jsx(f.Suspense,{fallback:h.jsx("div",{style:{minHeight:240},children:"Loading 3D preview…"}),children:h.jsx(er,{...t})})}function or(t){return f.useEffect(()=>Ne(t.documentId),[t.documentId]),h.jsx(f.Suspense,{fallback:h.jsx("div",{style:{minHeight:240},children:"Loading 3D authoring surface…"}),children:h.jsx(tr,{...t})})}const ae={model:f.lazy(async()=>{const{ModelAssetDocument:t}=await y(async()=>{const{ModelAssetDocument:e}=await import("./ModelAssetDocument-Ceu7OIN9.js");return{ModelAssetDocument:e}},__vite__mapDeps([59,1,2,5,6,7,8,4,9,10,11,15,16,17,18,19,20,21,22,12,13,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,14,50,51,52,53,54,55,30,56,57,58,60,61,62]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,displayName:e.displayName,active:e.active})}}),"entity-model":f.lazy(async()=>{const{EntityModelDocument:t}=await y(async()=>{const{EntityModelDocument:e}=await import("./EntityModelDocument-B_4ENTCq.js");return{EntityModelDocument:e}},__vite__mapDeps([63,1,2,34,35,12,13,36,16,17,4,5,6,7,8,9,10,11,21,37,38,42,15,18,19,20,22,23,24,25,26,27,28,29,32,33,39,40,41,43,44,45,46,47,48,49,31,14,50,51,52,53,54,55,30,56,57,58,60,61,62]));return{default:e=>h.jsx(t,{documentId:e.documentId,entityId:e.entityId??"",displayName:e.displayName,active:e.active})}}),environment:f.lazy(async()=>{const{EnvironmentAssetDocument:t}=await y(async()=>{const{EnvironmentAssetDocument:e}=await import("./EnvironmentAssetDocument-BZBp6OFJ.js");return{EnvironmentAssetDocument:e}},__vite__mapDeps([64,1,2,4,5,6,7,8,9,10,11,12,13,14,27,28,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),lut:f.lazy(async()=>{const{LutAssetDocument:t}=await y(async()=>{const{LutAssetDocument:e}=await import("./LutAssetDocument-Cp0v-O7q.js");return{LutAssetDocument:e}},__vite__mapDeps([66,1,2,4,5,6,7,8,9,10,11,67,12,13,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),shader:f.lazy(async()=>{const{ShaderAssetDocument:t}=await y(async()=>{const{ShaderAssetDocument:e}=await import("./ShaderAssetDocument-CT7XzsZq.js");return{ShaderAssetDocument:e}},__vite__mapDeps([68,1,2,4,5,6,7,8,9,10,11,69,12,13,65]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,active:e.active})}}),"model-preview":f.lazy(async()=>{const{Object3DPreview:t}=await y(async()=>{const{Object3DPreview:e}=await import("./Object3DPreview-ZVokr044.js");return{Object3DPreview:e}},__vite__mapDeps([3,4,5,2,6,1,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]));return{default:e=>h.jsx(t,{assetPath:e.assetPath,...e.materialPath?{materialPath:e.materialPath}:{},displayName:e.displayName})}}),module:f.lazy(async()=>{const{LiveModuleDocument:t}=await y(async()=>{const{LiveModuleDocument:e}=await import("./LiveModuleDocument-ne1o9giX.js");return{LiveModuleDocument:e}},__vite__mapDeps([70,1,2,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,12,13,23,24,25,26,27,28,29,53,71,58,39,40]));return{default:e=>e.projectRoot?h.jsx(t,{documentId:e.documentId,projectRoot:e.projectRoot,modulePath:(e.assetPath.split(/[?#]/,1)[0]??e.assetPath).replace(/^\//,""),displayName:e.displayName,active:e.active,fallback:e.fallback}):e.fallback}})},nr={recognize:async(t,e)=>(await y(async()=>{const{loadNativeQuarksJsonSource:r}=await import("./QuarksAssetDocument-B5J8uHFM.js");return{loadNativeQuarksJsonSource:r}},__vite__mapDeps([72,1,2,5,6,7,8,4,9,10,11,20,21,17,22,12,13,23,24,25,26,27,28,51,73,32,33,34,35,36,16,37,38,39,40,19,41,18,42,43,44,45,46,47,48,49,31,14,50,52,53,54,55,30,56,57,58,60,61,62,15,29]))).loadNativeQuarksJsonSource(t,e),Viewer:f.lazy(async()=>{const{QuarksAssetDocument:t}=await y(async()=>{const{QuarksAssetDocument:e}=await import("./QuarksAssetDocument-B5J8uHFM.js");return{QuarksAssetDocument:e}},__vite__mapDeps([72,1,2,5,6,7,8,4,9,10,11,20,21,17,22,12,13,23,24,25,26,27,28,51,73,32,33,34,35,36,16,37,38,39,40,19,41,18,42,43,44,45,46,47,48,49,31,14,50,52,53,54,55,30,56,57,58,60,61,62,15,29]));return{default:e=>h.jsx(t,{documentId:e.documentId,assetPath:e.assetPath,displayName:e.displayName,active:e.active,source:e.content})}})};function ar(){const t=[...Object.keys(ae).map(e=>Le(e,ae[e])),ze(nr)];return()=>{for(const e of t)e()}}async function se(t){const e=new Image;return e.src=t,await e.decode(),e}function sr(){return Fe((t,e)=>{const r=k();if(r&&r.viewportCanvas()===t)return(async()=>{const n=await Be(t);if(n)return n;const a=r.captureViewportImage(e);return a?se(a):null})();const o=wt().find(n=>n.renderer.domElement===t);return o?(async()=>{const n=await o.requestPresentedFrame();if(n)return n;const a=o.captureImage(e);return a?se(a):null})():null})}function ir(t){const e=yt(t);if(e||_e(t)||H(t,"authoringRoot")===!0||!bt(t))return e;const r=H(t,"authoringComponent");return typeof r=="string"&&r?r:void 0}function cr(t){if(typeof t.object3D!="function")return He;const r=new Map;return o=>{if(r.has(o))return r.get(o);const n=St(t,o),a=n?{componentRoot:ir(n),authoredEntity:H(n,"authoringRoot")===!0,builtInternal:_e(n)}:void 0;return r.set(o,a),a}}const ur=1e-4,lr="World-anchored — content is placed in world space by the game each frame; moving this container offsets future placements away from their source.";function Ce(t){if(!t)return 0;const e=t;if(e.isInstancedMesh!==!0)return 0;const r=e.count;return typeof r=="number"&&r>0?r:0}function dr(t){const e=t.elements;for(let r=0;r<16;r++){const o=r%5===0?1:0,n=e[r];if(!Number.isFinite(n)||Math.abs(n-o)>ur)return!1}return!0}const ie=new dt,ce=new P;function fr(t,e){const r=Ce(t);if(r===0)return null;const o=pr(t,e);return{units:r,detail:Ae(r),worldAnchored:o,note:o?lr:null}}function pr(t,e){if(!e||e.isEmpty()||!dr(t.matrixWorld))return!1;const r=t.geometry;return r.boundingBox===null&&r.computeBoundingBox(),r.boundingBox?(ie.copy(r.boundingBox),e.getCenter(ce),!ie.containsPoint(ce)):!1}function mr(t){const e=Ce(t);return e===0?null:Ae(e)}function Ae(t){return`${t} instanced unit${t===1?"":"s"}`}function hr(){return qe({detail:(t,e,r)=>mr(q(t,I(r).objectMap,e)),marks:t=>cr(t),structureLog:t=>{const e=I(t);return{epoch:()=>e.gizmoEpoch,parentChangesSince:r=>e.ingestObjectMapChangesSince(r)}}})}function vr(t){return Math.min(1600,Math.max(800,900+t*25))}function gr(t){return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function Oe(t,e,r=new P(0,1,0)){const o=new P().subVectors(e,t),n=o.length();if(n<1e-6)return[t.clone(),t.clone(),e.clone(),e.clone()];const a=Math.min(n*.18,6),s=new P().crossVectors(o,r);s.lengthSq()>1e-9?s.normalize().multiplyScalar(Math.min(n*.08,2.5)):s.set(0,0,0);const c=r.clone().normalize().multiplyScalar(a),u=t.clone().addScaledVector(o,.3).add(c).add(s),m=e.clone().addScaledVector(o,-.3).addScaledVector(c,.6).addScaledVector(s,.5);return[t.clone(),u,m,e.clone()]}const wr=1<<31;function yr(t){return(t.layers.mask&wr)!==0||/gizmo/i.test(t.name)}function ke(t){if(yr(t))return null;if(t.isCamera)return t;for(const e of t.children){const r=ke(e);if(r)return r}return null}function br(t,e,r){const o=new P,n=new J;return e.getWorldPosition(o),e.getWorldQuaternion(n),{entityId:t,position:o.toArray(),quaternion:n.toArray(),fov:r}}function Sr(t){for(const[e,r]of t.objectMap){const o=ke(r);if(!o)continue;const n=o;return br(e,o,n.isPerspectiveCamera?n.fov:60)}return null}function Pr(t){t.curve=new Se(Oe(t.startPos,t.endPos))}let D=null;function _r(t){const e=U(),r=k()?.objectMap,o=r?Sr({objectMap:r}):null;if(!o||!e)return!1;const n=e.camera.position.clone(),a=new P().fromArray(o.position);return D={runtime:{startPos:n,startQuat:e.camera.quaternion.clone(),startFov:e.camera.fov,endPos:a,endQuat:new J().fromArray(o.quaternion),endFov:o.fov,curve:new Se(Oe(n,a)),startedAt:performance.now(),durationMs:vr(n.distanceTo(a)),landed:!1},snapshot:{position:e.camera.position.clone(),target:e.orbit.target.clone(),up:e.camera.up.clone(),fov:e.camera.fov},onLanded:t,getLiveCamera:null,driving:!0},e.orbit.enabled=!1,!0}function Er(){const t=U(),e=D;if(!e||(e.driving=!1,!t))return;const r=t.camera,o=new P(0,0,-1).applyQuaternion(r.quaternion),n=Math.max(1,e.snapshot.position.distanceTo(e.snapshot.target));t.orbit.target.copy(r.position).addScaledVector(o,n),r.up.set(0,1,0).applyQuaternion(r.quaternion),t.orbit.enabled=!0}function Cr(){const t=D;if(!t)return;D=null;const e=U();if(!e)return;const r=t.snapshot;e.camera.position.copy(r.position),e.orbit.target.copy(r.target),e.camera.up.copy(r.up),e.camera.lookAt(r.target),e.camera.fov!==r.fov&&(e.camera.fov=r.fov,e.camera.updateProjectionMatrix()),e.orbit.enabled=!0,e.orbit.update()}const Q=new P,ue=new J;Pt(Ar);function Ar(){const t=D,e=U();if(!t||!e||!t.driving)return;const r=t.runtime,o=t.getLiveCamera?.()??null,n=o?.isObject3D?o:null;if(n){n.getWorldPosition(Q),n.getWorldQuaternion(ue),Q.distanceToSquared(r.endPos)>1e-8&&(r.endPos.copy(Q),Pr(r)),r.endQuat.copy(ue);const u=n.fov;typeof u=="number"&&(r.endFov=u)}const a=e.camera;if(r.landed){a.position.copy(r.endPos),a.quaternion.copy(r.endQuat),a.fov!==r.endFov&&(a.fov=r.endFov,a.updateProjectionMatrix());return}const s=Math.min(1,(performance.now()-r.startedAt)/r.durationMs),c=gr(s);a.position.copy(r.curve.getPoint(c)),a.quaternion.slerpQuaternions(r.startQuat,r.endQuat,c),a.fov=r.startFov+(r.endFov-r.startFov)*c,a.updateProjectionMatrix(),s>=1&&(r.landed=!0,t.onLanded())}function Or(){return Ue({begin:_r,track:t=>{D&&(D.getLiveCamera=t)},settle:Er,end:Cr})}const kr=f.lazy(()=>y(()=>import("./InspectorObjectPreview-CY5xVsPR.js"),__vite__mapDeps([74,1,2,63,34,35,12,13,36,16,17,4,5,6,7,8,9,10,11,21,37,38,42,15,18,19,20,22,23,24,25,26,27,28,29,32,33,39,40,41,43,44,45,46,47,48,49,31,14,50,51,52,53,54,55,30,56,57,58,60,61,62])).then(t=>({default:t.InspectorObjectPreview})));function Ir(t,e){return{preview:t.isCamera?null:({displayName:r,previewKey:o,actions:n})=>a=>f.createElement(Ge,{picture:()=>f.createElement(kr,{previewKey:o,object:t,displayName:r,fill:!0}),previewKey:o,actions:n,...a?{mode:a}:{}}),instanced:fr(t,_t(t)),assetDocument:e}}function Dr(){return We((t,e)=>{const r=k();if(!r)return null;const o=q(t,r.objectMap,e);return o?Ir(o,r.objectMap.has(e)?{open:()=>Qe("asset-editor:entity",r.shell,{entityId:e,title:o.name||e})}:null):null})}const le=new WeakMap,Y={activeAuthoring(t){let e=le.get(t);return e||(e=Je(t,"No authoring adapter"),le.set(t,e)),e},panelAuthoring(t){return Y.activeAuthoring(t)},pick(){return null},toolOwner:$e,toolOwnerPainted(){return!0},threeSurfaceShowing(t,e){return!e.rects&&typeof e.hierarchy.object3D=="function"},threeViewportRootId(){return null},applyRootHiddenVisibility(){},suppressRootEnvironment(){}};let F=Y;function Mr(t){if(F!==t){if(F!==Y)throw new Error("A viewport authoring policy is already installed.");F=t}}function lo(){return F}const de=0,Tr=16777215,fe=10;function xr(t){return Ct(t,"Compare reference GLB")}function pe(t,e){const r=Dt(t),o=new ee;o.rotation.y=Mt(e),o.add(r);const n=new ee;n.add(o),n.updateWorldMatrix(!0,!0);const a=Tt(n,"front"),s=[a.center.x-a.size.x/2,a.center.y-a.size.y/2,a.center.z-a.size.z/2],c=[a.center.x+a.size.x/2,a.center.y+a.size.y/2,a.center.z+a.size.z/2],u=xt(s,c);return n.scale.setScalar(u.scale),n.position.set(...u.position),n.updateWorldMatrix(!0,!0),{wrapper:n,dispose:()=>Rt(r)}}function Rr(t,e){const r=jt,o=r*e,n=new mt(-o,o,r,-r,.01,fe*4),a=t==="front"?new P(0,0,1):new P(1,0,0);return n.position.set(0,ne,0).addScaledVector(a,fe),n.up.set(0,1,0),n.lookAt(0,ne,0),n.updateProjectionMatrix(),n.updateMatrixWorld(!0),n}function jr(t,e,r={}){const o=te(r.width),n=te(r.height),a=o/n,s=[];let c=null;try{const u=pe(t,re(t));s.push(u.dispose);const m=pe(e,r.refForward??re(e));s.push(m.dispose);const O=new ft({color:Tr});s.push(()=>O.dispose());const L=p=>{const i=new pt;return i.background=new be(de),i.overrideMaterial=O,i.add(p),i},v=L(u.wrapper),b=L(m.wrapper),_=ge(new we({antialias:!1,alpha:!1,preserveDrawingBuffer:!0}));c=_,_.setPixelRatio(1),_.toneMapping=ye,_.setClearColor(de,1),_.setSize(o,n,!1);const M=document.createElement("canvas");M.width=o,M.height=n;const S=M.getContext("2d");if(!S)throw new Error("Unable to create the compare readback canvas.");const A=(p,i,R,g)=>{_.render(p,i),S.clearRect(0,0,o,n),S.drawImage(_.domElement,0,0);const j=S.getImageData(0,0,o,n).data,V=At(j,o*n);if(!V.some(K=>K!==0))throw new Error(`Compare ${g} view rendered an empty ${R} silhouette — nothing to score.`);return{image:{base64:oe(M),mimeType:"image/png"},mask:V}},w=document.createElement("canvas");w.width=o,w.height=n;const T=w.getContext("2d");if(!T)throw new Error("Unable to create the compare overlay canvas.");const x=[];for(const p of Ot){const i=Rr(p,a),R=A(v,i,"asset",p),g=A(b,i,"reference",p),j=kt(R.mask,g.mask);T.putImageData(new ImageData(It(R.mask,g.mask),o,n),0,0),x.push({view:p,iou:j.iou,overlay:{base64:oe(w),mimeType:"image/png"},asset:R.image,ref:g.image})}return{width:o,height:n,views:x}}finally{c?.dispose(),c?.forceContextLoss();for(const u of s.reverse())u()}}async function Vr(t,e,r={}){const o=await Et(t);try{return await Ie(o,e,r)}finally{Ee(o)}}async function Ie(t,e,r={}){const o=await xr(e);try{return jr(t,o,r)}finally{Ee(o)}}async function Nr(t,e){const r=e.assetPath,o=e.entityId,n=e.glbBase64;if(+(typeof r=="string")+ +(typeof o=="string")+ +(typeof n=="string")!==1)return{ok:!1,error:"capture-asset-preview requires exactly one of assetPath, entityId or glbBase64."};const s=e.width,c=e.height,u=e.background,m=e.shots,O=e.shotSet,L=e.forward,v=e.compare,b=e.stage,_=e.camera,M=e.pose;if(s!==void 0&&typeof s!="number"||c!==void 0&&typeof c!="number"||u!==void 0&&u!=="neutral"&&u!=="transparent"||m!==void 0&&m!=="source")return{ok:!1,error:"Invalid asset preview dimensions, background, or shots mode."};if(b!==void 0&&b!=="lab"&&b!=="scene")return{ok:!1,error:`capture-asset-preview stage must be "lab" or "scene", got ${String(b)}.`};if(O!==void 0&&m!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine a shotSet definition with a shots mode."};const S=Ye("capture-asset-preview",_);if(typeof S=="string")return{ok:!1,error:S};const A=Ke("capture-asset-preview",M);if(typeof A=="string")return{ok:!1,error:A};if((S||A)&&(m!==void 0||O!==void 0||v!==void 0||b==="scene"))return{ok:!1,error:'capture-asset-preview cannot combine camera/pose with a shots mode, a shotSet definition, compare, or stage "scene" — those legs stage their own cameras and poses.'};let w;if(O!==void 0)try{w=Vt(O)}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}const T=G(L);if(m==="source"&&T===null)return{ok:!1,error:"capture-asset-preview --shots source requires a non-degenerate forward [x,y,z]."};if(v!==void 0){if(m!==void 0||w!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine compare with shots."};if(typeof v!="object"||v===null||typeof v.glbBase64!="string"||v.forward!==void 0&&G(v.forward)===null)return{ok:!1,error:"capture-asset-preview compare requires { glbBase64: string, forward?: [x, y, z] } with a non-degenerate ground-plane forward."}}if(typeof n=="string"){if(m!==void 0||v!==void 0)return{ok:!1,error:"capture-asset-preview cannot combine glbBase64 with a named shots mode or compare."};if(b==="scene")return{ok:!1,error:'capture-asset-preview stage "scene" photographs a live scene entity — glbBase64 bytes stand nowhere in the scene.'}}const x=b==="scene"?t.scene:null;if(b==="scene"){if(typeof o!="string")return{ok:!1,error:'capture-asset-preview stage "scene" photographs a live scene entity — pass entityId, not assetPath.'};if(m!==void 0||w!==void 0||v!==void 0)return{ok:!1,error:'capture-asset-preview cannot combine stage "scene" with a shots mode, a shotSet definition or compare.'};if(!x)return{ok:!1,error:'capture-asset-preview stage "scene" requires a bound viewport scene; none is bound yet.'}}const p=typeof o=="string"?q(he(t.shell),t.objectMap,o):null;if(typeof o=="string"&&!p)return{ok:!1,error:`Entity not found: ${o}`};try{const i={...typeof s=="number"?{width:s}:{},...typeof c=="number"?{height:c}:{},...u?{background:u}:{},...S?{camera:S}:{},...A?{pose:A}:{}};if(v!==void 0){const g=v,j=G(g.forward),V={...typeof s=="number"?{width:s}:{},...typeof c=="number"?{height:c}:{},...j?{refForward:j}:{}};return{ok:!0,data:{...typeof r=="string"?await Vr(r,g.glbBase64,V):await Ie(p,g.glbBase64,V)}}}return w!==void 0?{ok:!0,data:{...typeof n=="string"?await Nt(n,w,i):typeof r=="string"?await Lt(r,w,i):zt(p,w,i)}}:m==="source"?{ok:!0,data:{...typeof r=="string"?await Ft(r,T,i):Bt(p,T,i)}}:x?{ok:!0,data:{...Ht(p,x,i)}}:typeof n=="string"?{ok:!0,data:{...await qt(n,i)}}:{ok:!0,data:{...typeof r=="string"?await Ut(r,i):Wt(p,i)}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}function E(){const t=B();return t?Pe(t):null}function l(t,e,r="none"){return{...e===void 0?{}:{timeoutMs:e},derivedRefresh:r,handle:o=>{const n=k();return n?t(n,o):{ok:!1,error:`${o.type} needs an editor session; none has opened yet.`}}}}const d={ok:!0},Lr={"focus-entity":l((t,e)=>(E()?.frameIds([e.id])||t.shell.focusOnEntity(e.id),d)),"frame-entity":l((t,e)=>{const r=e.id;if(typeof r!="string"||r.length===0)return{ok:!1,error:'frame-entity requires a string "id" (the entity to frame).'};const o=E();if(o)return o.frameIds([r])?d:{ok:!1,error:`Entity not found: ${r}`,data:{code:"ENTITY_NOT_FOUND"}};const n=he(t.shell);return n.hierarchy.node(r)!==null&&n.rects||q(n,t.objectMap,r)?(t.shell.focusOnEntity(r),d):{ok:!1,error:`Entity not found: ${r}`,data:{code:"ENTITY_NOT_FOUND"}}}),"focus-selection":l(t=>(E()?.frameSelection()||t.shell.focusOnSelection(),d)),"view-preset":l((t,e)=>{const r=e.preset,o=["top","front","right","perspective"];if(typeof r!="string"||!o.includes(r))return{ok:!1,error:`view-preset requires one of ${o.join(", ")}, got ${r===void 0?"nothing":JSON.stringify(r)}.`};const n=r,a=E();return a?a.setViewPreset(n==="perspective"?"isometric":n):t.shell.setViewPreset(n),d}),"set-camera":l((t,e)=>{const r=e.position,o=e.target,n=e.fov;if(!r||!o||typeof r.x!="number"||typeof r.y!="number"||typeof r.z!="number"||typeof o.x!="number"||typeof o.y!="number"||typeof o.z!="number")return{ok:!1,error:"set-camera requires numeric {x,y,z} position and target."};const a=E();return a?a.setCameraPose(r,o,n):t.shell.setCameraPose(r,o,n),d}),"document-orbit":l((t,e)=>me(e),12e4),"document-turntable":l((t,e)=>me(e),12e4),"document-frame":l((t,e)=>{const r=E();if(!r)return{ok:!1,error:"document-frame needs an Object3D document open and active. For the Scene viewport use `frame-entity`/`focus-selection`.",data:{code:"NO_ACTIVE_OBJECT3D_DOCUMENT"}};const o=e.fit;return o!==void 0&&(typeof o!="number"||!(o>=.1&&o<=10))?{ok:!1,error:'document-frame: "fit" must be a number in 0.1..10.'}:r.frame(typeof o=="number"?o:1)?{ok:!0,data:{...r.cameraPose()}}:{ok:!1,error:"Nothing to frame: the document subject has no measurable bounds.",data:{code:"EMPTY_FRAME_BOUNDS"}}}),"capture-viewport":l(async(t,e)=>{const r=et(e);if("error"in r)return{ok:!1,error:r.error};if(t.hasAdoptedScene)try{const s=await ve().documents.captureActive(r.size);return{ok:!0,data:{base64:s.base64,mimeType:s.mimeType}}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}const o=t.captureViewportImage(r.size);if(!o)return{ok:!1,error:`This door photographs the editor's own three.js Scene viewport, and nothing has bound one (no renderer/scene/camera). A canvas-surface world (a first-party canvas root, or a PixiJS/Phaser/Babylon ingest) never binds it — it draws on its own canvas in the Game document. Capture that through \`capture-active-document\` (\`editor.captureActiveDocument()\`) or the running game through \`bridge-screenshot\` (${tt("screenshot")}).`};const n=o.indexOf(",");return{ok:!0,data:{base64:n>=0?o.slice(n+1):o,mimeType:"image/png"}}},void 0,"if-content-changed"),"capture-asset-preview":l((t,e)=>Nr(t,e),3e4,"if-content-changed"),"set-grid":l((t,e)=>{const r=B();return!r||!Z(r)?{ok:!1,error:"set-grid: the active document draws no grid."}:(Ze(r,e.enabled),d)}),"set-helpers":l((t,e)=>{const r=z(t.shell);return r.showHelpers!==e.enabled&&r.toggleHelpers(),d}),"set-stats":l((t,e)=>{const r=z(t.shell);return I(r).showStats!==e.enabled&&I(r).toggleStats(),d}),"set-shading-mode":l((t,e)=>{const r=E(),o=e.mode;if(o==="preview"||o==="rendered"){const n=B(),a=n?Z(n)?.stageKind:void 0;if(!r||!a||Xe(a)?.modes?.[o]?.lighting===void 0)return{ok:!1,error:`Shading mode "${o}" is lit as a stage says, and the active document's stage says nothing for it.`}}return r?r.setMode(e.mode):t.setShadingMode(e.mode),d}),"set-helper-type":l((t,e)=>{const r=z(t.shell),o=e.helperType,n=E();return n&&o==="bounds"?(n.setBounds(e.enabled),d):n&&o==="skeletons"?(n.setSkeleton(e.enabled),d):(r.helperVisibility[o]!==e.enabled&&r.toggleHelperType(o),d)}),"set-transform-mode":l((t,e)=>(t.shell.setTransformMode(e.mode),d)),"set-transform-space":l((t,e)=>(t.shell.setTransformSpace(e.space),d)),"set-snap":l((t,e)=>(t.shell.snapEnabled!==e.enabled&&t.shell.toggleSnap(),d))};async function me(t){const e=E();if(!e)return{ok:!1,error:`${t.type} needs an Object3D document open and active (a model, a live module, an entity model). Open one with \`editor.openAsset(<path>)\` first.`,data:{code:"NO_ACTIVE_OBJECT3D_DOCUMENT"}};const r=t.type==="document-orbit"?t.duration:t.seconds;return r!==void 0&&(typeof r!="number"||!(r>=0&&r<=60))?{ok:!1,error:`${t.type}: the move's length must be a number of seconds in 0..60.`}:{ok:!0,data:{...t.type==="document-orbit"?await e.orbit({...typeof t.azimuth=="number"?{azimuth:t.azimuth}:{},...typeof t.elevation=="number"?{elevation:t.elevation}:{},...typeof r=="number"?{duration:r}:{}}):await e.turntable({...typeof r=="number"?{seconds:r}:{},...typeof t.revolutions=="number"?{revolutions:t.revolutions}:{}})}}}function zr(){return ve().session.reportFacet(()=>{const t=k();if(!t)return{};const e=z(t.shell),r=B(),o=r?Pe(r)?.presentation():void 0,n=I(e).cameraPose;return{showGrid:r?rt(r):!0,showHelpers:e.showHelpers,showStats:I(e).showStats,shadingMode:o?.mode??t.shadingMode,helperVisibility:{...e.helperVisibility,...o?{bounds:o.bounds,skeletons:o.skeleton}:{}},transformMode:e.transformMode,transformSpace:t.shell.transformSpace,snapEnabled:t.shell.snapEnabled,...n?{camera:{position:{x:n.position.x,y:n.position.y,z:n.position.z},target:{x:n.target.x,y:n.target.y,z:n.target.z},fov:n.fov}}:{}}})}const Fr={save:t=>it("view",t),saveThumbnail:st},Br=new Map;let N=null;function fo(){if(N)return N;const t=[ot({Object3DPreview:rr,Object3DAuthoring:or}),nt("three-viewport",Lr),ar(),Dr(),gt(),zr(),sr(),hr(),Or(),ct({object:e=>k()?.objectMap.get(e)??null,objects:()=>k()?.objectMap??Br}),W("hostLive",ut),W("interactive",Jt),W("inspectorPreview",ht),at(e=>I(e).attachStatePersistence(Fr))];return Mr(Zt),N=()=>{for(const e of t.reverse())e();N=null},N}export{uo as a,fr as d,fo as e,Ce as i,lo as v};
@@ -0,0 +1 @@
1
+ import{e as r}from"./three-integration-DXOFI88n.js";import"./index-C5ZAyrKq.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"./host-hierarchy-objects-BV3WqU2w.js";import"./renderer-ownership-BovSEcLv.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./layered-pick-CAVQMPI7.js";import"./root-stacking-BEd9ZvxC.js";import"./user-data-C84W0V47.js";import"./workspace-arrangement-DqG5sUns.js";import"./model-thumbnail-BmQs-h6t.js";import"./studio-environment-R9qXUUcC.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./object3d-document-session-registry-CMRJdFp6.js";import"./three-state-BCACvUtm.js";import"./editor-shell-store-DHVWS8cE.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./editor-layers-D-CTUqco.js";import"./entity-object-MKYemTFM.js";import"./three-contract-Dkt6PmWY.js";import"./hierarchy-marks-BuCO8Ke-.js";import"./component-instance-root-DLI40MiB.js";import"./viewport-door-BARIpMu-.js";import"./content-bounds-DROIchTa.js";import"./asset-preview-DxlSdRZn.js";import"./bitmap-label-Ct4k6ehY.js";const Q="workspace.service";function R(){return r()}export{Q as point,R as start};
@@ -0,0 +1 @@
1
+ import{isEditorOwnedObject as f}from"./editor-layers-D-CTUqco.js";import{o as h,n as I}from"./three-DiL6vMXq.js";import{g as n}from"./user-data-C84W0V47.js";import{fo as u,dp as O}from"./three.core-3arARmh6.js";const l=new u,p=new O,c=new u;function m(e){return e.matrixAutoUpdate===!1?(e.matrix.decompose(l,p,c),{position:l.toArray(),quaternion:p.toArray(),scale:c.toArray()}):{position:e.position.toArray(),quaternion:e.quaternion.toArray(),scale:e.scale.toArray()}}function y(e,t){return e.length===t.length&&e.every((o,s)=>o===t[s])}class v{constructor(t){this.options=t,this.selected=[...t.initial]}adopted=[];selected;current(){const t=[...this.options.store.selectedEntityIds].filter(this.options.owns);return y(t,this.adopted)||(this.adopted=t,this.selected=t,this.options.onChange?.(t)),[...this.selected]}publish(t){this.selected=[...t];const o=this.selected.filter(this.options.owns);this.adopted=o,this.options.onChange?.(o),this.options.store.selectMultiple(o)}}function q(e){if(!e)return{position:[0,0,0],rotation:[0,0,0,1],scale:[1,1,1]};const t=m(e);return{position:t.position,rotation:t.quaternion,scale:t.scale}}function a(e){return e.type==="Object3D"&&e.name===""&&h(e)===null&&e.userData.oid===void 0&&n(e,"authoringInstance")===void 0&&n(e,"authoringRoot")!==!0&&n(e,"volterComponentRoot")===void 0}class C{constructor(t){this.options=t,this.rootIdSet=new Set(t.rootIds)}rootIdSet;childObjects(t){return t.children.flatMap(o=>f(o)?[]:a(o)?this.childObjects(o):[o])}childIds(t){return this.options.projector.childIdsOf(this.childObjects(t))}rootObjects(){return this.options.rootIds.flatMap(t=>{const o=this.options.projector.objectOf(t);return o?a(o)?this.childObjects(o):[o]:[]})}rootIds(){return this.options.projector.childIdsOf(this.rootObjects())}parentId(t){const{projector:o,scene:s,documentNodeId:i}=this.options,d=o.idOf(t);if(d!==null&&this.rootIdSet.has(d))return i;let r=t.parent;for(;r&&r!==s&&a(r);)r=r.parent;return r&&r!==s?o.idOf(r)??i:i}node(t){const o=h(t);return{id:this.options.projector.idOf(t),label:o?.label||t.name||t.type||"Object3D",role:"entity",kind:I(t),...o?.typeLabel?{typeLabel:o.typeLabel}:{},parentId:this.parentId(t),childIds:this.childIds(t)}}}export{C,v as S,q as r};
@@ -1 +1 @@
1
- import{t as r}from"./editor-shell-store-ChLcVeNB.js";import{x as o,J as n,K as u}from"./index-BRJMIUK0.js";function a(t){return t===null?null:r(t)}function l(){return r(n())}function S(){return a(u())}function f(t){return o(e=>t(r(e)))}export{a,f as o,S as t,l as u};
1
+ import{t as r}from"./editor-shell-store-DHVWS8cE.js";import{J as o,K as n,L as u}from"./index-C5ZAyrKq.js";function a(t){return t===null?null:r(t)}function l(){return r(n())}function S(){return a(u())}function f(t){return o(e=>t(r(e)))}export{a,f as o,S as t,l as u};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/story-three-preview-R1JvrggS.js","assets/index-BRJMIUK0.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-0Lm0Nf1M.css","assets/asset-preview-B1tDziF1.js","assets/editor-layers-BDJnAAzj.js","assets/workspace-arrangement-BdAlBwvd.js","assets/renderer-ownership-BovSEcLv.js","assets/hierarchy-marks-Cc_3lxw6.js","assets/studio-environment-DRxxq_QX.js","assets/user-data-Bpj7diUS.js","assets/KTX2Loader-CaqVE6nY.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/bitmap-label-Ct4k6ehY.js","assets/crash-null-boundary-v3a0uEgw.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/index-bQE2NA0D.js","assets/story-mount-turn-DFRTj5hi.js"])))=>i.map(i=>d[i]);
2
- import{fx as i,_ as n,fy as a}from"./index-BRJMIUK0.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";function s(){return typeof WebGLRenderingContext<"u"&&typeof navigator<"u"&&!navigator.userAgent.toLowerCase().includes("jsdom")}function p(){return s()?i("three",async(e,o)=>{const t=await n(()=>import("./story-three-preview-R1JvrggS.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]));try{return await t.captureStoryComponentThumbnail(e,o)}catch(r){throw t.isStoryThreeClassificationRefusal(r)?new a("This story is not a three.js story."):r}}):()=>{}}const C="workspace.service";function T(){return p()}export{C as point,T as start};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/story-three-preview-CgcLF5lE.js","assets/index-C5ZAyrKq.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/asset-preview-DxlSdRZn.js","assets/editor-layers-D-CTUqco.js","assets/workspace-arrangement-DqG5sUns.js","assets/renderer-ownership-BovSEcLv.js","assets/hierarchy-marks-BuCO8Ke-.js","assets/studio-environment-R9qXUUcC.js","assets/user-data-C84W0V47.js","assets/KTX2Loader-CaqVE6nY.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/bitmap-label-Ct4k6ehY.js","assets/crash-null-boundary-v3a0uEgw.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/index-bQE2NA0D.js","assets/story-mount-turn-DFRTj5hi.js"])))=>i.map(i=>d[i]);
2
+ import{fo as i,_ as n,fp as a}from"./index-C5ZAyrKq.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";function s(){return typeof WebGLRenderingContext<"u"&&typeof navigator<"u"&&!navigator.userAgent.toLowerCase().includes("jsdom")}function p(){return s()?i("three",async(e,o)=>{const t=await n(()=>import("./story-three-preview-CgcLF5lE.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]));try{return await t.captureStoryComponentThumbnail(e,o)}catch(r){throw t.isStoryThreeClassificationRefusal(r)?new a("This story is not a three.js story."):r}}):()=>{}}const C="workspace.service";function T(){return p()}export{C as point,T as start};
@@ -1 +1 @@
1
- import{am as d,ao as a,an as m}from"./index-BRJMIUK0.js";function u(o){return o.children.length>0}function c(o){const n=m(),t=[];for(const e of o){const r=d({modulePath:e.modulePath,regions:n});if(r.medium==="dom"){t.push(e);continue}r.via==="undeclared"&&e.modulePath&&a(e.modulePath,r.reason)}return t}export{c as d,u as m};
1
+ import{ao as d,aq as a,ap as m}from"./index-C5ZAyrKq.js";function u(o){return o.children.length>0}function c(o){const n=m(),t=[];for(const e of o){const r=d({modulePath:e.modulePath,regions:n});if(r.medium==="dom"){t.push(e);continue}r.via==="undeclared"&&e.modulePath&&a(e.modulePath,r.reason)}return t}export{c as d,u as m};