@forgeax/view 0.5.0-dev.13604.c415409c3b9d → 0.5.0-dev.13619.c20ebf66cef4

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 (275) hide show
  1. package/README.md +50 -6
  2. package/dist/build-revision.json +1 -1
  3. package/dist/modules/backend.mjs +34 -34
  4. package/dist/modules/browser.mjs +55 -49
  5. package/dist/modules/chunks/{chunk-B6QUJ33G.mjs → chunk-25PFC2DY.mjs} +3 -3
  6. package/dist/modules/chunks/{chunk-6KM24NH6.mjs → chunk-3Y5WN22T.mjs} +3 -3
  7. package/dist/modules/chunks/chunk-3Y5WN22T.mjs.map +7 -0
  8. package/dist/modules/chunks/{chunk-D2RCKG7Q.mjs → chunk-43L37UYV.mjs} +6 -6
  9. package/dist/modules/chunks/{chunk-FNRGLCZW.mjs → chunk-4RTL3LS3.mjs} +36 -10
  10. package/dist/modules/chunks/chunk-4RTL3LS3.mjs.map +7 -0
  11. package/dist/modules/chunks/{chunk-WVU3CQ62.mjs → chunk-4ZI5DFBR.mjs} +3 -3
  12. package/dist/modules/chunks/{chunk-47RJSHLM.mjs → chunk-5HJ336VM.mjs} +3 -3
  13. package/dist/modules/chunks/{chunk-PVP5YBNR.mjs → chunk-5N5FDO5Y.mjs} +2 -2
  14. package/dist/modules/chunks/{chunk-APD2EWSZ.mjs → chunk-5PZL6W3F.mjs} +2 -2
  15. package/dist/modules/chunks/{chunk-LZ57Y73Z.mjs → chunk-5SHQXSSM.mjs} +9 -7
  16. package/dist/modules/chunks/chunk-5SHQXSSM.mjs.map +7 -0
  17. package/dist/modules/chunks/{chunk-KI4WGTWL.mjs → chunk-5WVRCLHN.mjs} +2 -2
  18. package/dist/modules/chunks/{chunk-YNHEYXDG.mjs → chunk-7MQIGD6Q.mjs} +3 -3
  19. package/dist/modules/chunks/{chunk-F5RLQAPN.mjs → chunk-7YWMB7HV.mjs} +3 -3
  20. package/dist/modules/chunks/{chunk-FICPCJKR.mjs → chunk-A22PJUZM.mjs} +3 -3
  21. package/dist/modules/chunks/{chunk-P5XMFZY4.mjs → chunk-A7HXBQUG.mjs} +2 -2
  22. package/dist/modules/chunks/{chunk-TTRUYO7Q.mjs → chunk-AOD6XLJC.mjs} +3 -3
  23. package/dist/modules/chunks/{chunk-TTRUYO7Q.mjs.map → chunk-AOD6XLJC.mjs.map} +2 -2
  24. package/dist/modules/chunks/{chunk-HRKW766Y.mjs → chunk-AZHCKPUL.mjs} +2 -2
  25. package/dist/modules/chunks/chunk-BJTFQQQR.mjs +13 -0
  26. package/dist/modules/chunks/chunk-BJTFQQQR.mjs.map +7 -0
  27. package/dist/modules/chunks/{chunk-6I7RY73G.mjs → chunk-CEB76QBE.mjs} +4 -4
  28. package/dist/modules/chunks/{chunk-VKNIYV2W.mjs → chunk-CRPXFJ6K.mjs} +202 -35
  29. package/dist/modules/chunks/chunk-CRPXFJ6K.mjs.map +7 -0
  30. package/dist/modules/chunks/{chunk-U64FRQKP.mjs → chunk-CVIF6DYH.mjs} +3 -3
  31. package/dist/modules/chunks/{chunk-DWT3TA6M.mjs → chunk-CYQ7BITZ.mjs} +9 -8
  32. package/dist/modules/chunks/chunk-CYQ7BITZ.mjs.map +7 -0
  33. package/dist/modules/chunks/{chunk-OQXDADAS.mjs → chunk-D3GX7HWI.mjs} +6 -6
  34. package/dist/modules/chunks/chunk-D3GX7HWI.mjs.map +7 -0
  35. package/dist/modules/chunks/{chunk-XQYF2P6M.mjs → chunk-D3ISMGT6.mjs} +7 -7
  36. package/dist/modules/chunks/{chunk-OKQ5RBKO.mjs → chunk-DC3PU6SO.mjs} +2 -2
  37. package/dist/modules/chunks/{chunk-4T3D67CS.mjs → chunk-DJKXBCZH.mjs} +7 -7
  38. package/dist/modules/chunks/{chunk-E3PJGTLI.mjs → chunk-DX4M6LZH.mjs} +5 -5
  39. package/dist/modules/chunks/{chunk-IZAHIOFU.mjs → chunk-EOW4JGVV.mjs} +6 -6
  40. package/dist/modules/chunks/{chunk-U5R6MVM4.mjs → chunk-EQRDY5CQ.mjs} +2 -2
  41. package/dist/modules/chunks/{chunk-7IGFAI5H.mjs → chunk-EW7VMNZA.mjs} +5 -5
  42. package/dist/modules/chunks/{chunk-FMCHH5R4.mjs → chunk-FSSKCXPL.mjs} +3 -3
  43. package/dist/modules/chunks/{chunk-357UOBAS.mjs → chunk-FSYQ3LBQ.mjs} +2 -2
  44. package/dist/modules/chunks/{chunk-D25SR5FS.mjs → chunk-FVSDKOXR.mjs} +3 -3
  45. package/dist/modules/chunks/{chunk-XMP4THLF.mjs → chunk-J7QRK3FU.mjs} +4 -4
  46. package/dist/modules/chunks/{chunk-D57DDEV2.mjs → chunk-JE4N575J.mjs} +5 -5
  47. package/dist/modules/chunks/{chunk-ZIDEETK4.mjs → chunk-JKDBKS7P.mjs} +3 -3
  48. package/dist/modules/chunks/{chunk-U5J7OTEB.mjs → chunk-K4C5WOTT.mjs} +3 -3
  49. package/dist/modules/chunks/{chunk-QUFVUMSY.mjs → chunk-KOBAWLZL.mjs} +2 -2
  50. package/dist/modules/chunks/{chunk-CX5WREJC.mjs → chunk-KY2AWNDR.mjs} +2 -2
  51. package/dist/modules/chunks/{chunk-RJVOH7G2.mjs → chunk-L24HPIQP.mjs} +27 -27
  52. package/dist/modules/chunks/{chunk-27XASYEH.mjs → chunk-LCVL3V5U.mjs} +17 -11
  53. package/dist/modules/chunks/chunk-LCVL3V5U.mjs.map +7 -0
  54. package/dist/modules/chunks/{chunk-PJFFCRRD.mjs → chunk-LOVO3P2Q.mjs} +2 -2
  55. package/dist/modules/chunks/{chunk-X4NNZ5X6.mjs → chunk-M66NDY35.mjs} +3 -3
  56. package/dist/modules/chunks/{chunk-EZSGDSCC.mjs → chunk-M7XSCLYV.mjs} +18 -4
  57. package/dist/modules/chunks/chunk-M7XSCLYV.mjs.map +7 -0
  58. package/dist/modules/chunks/{chunk-YLCJNKIW.mjs → chunk-MFEFV3YF.mjs} +70 -30
  59. package/dist/modules/chunks/chunk-MFEFV3YF.mjs.map +7 -0
  60. package/dist/modules/chunks/{chunk-55F55BQY.mjs → chunk-MUBV2LNK.mjs} +3 -3
  61. package/dist/modules/chunks/{chunk-M6S5YA6X.mjs → chunk-NHNPQ3ZS.mjs} +3 -3
  62. package/dist/modules/chunks/{chunk-STQPRNEO.mjs → chunk-NSPN5OQ5.mjs} +2 -2
  63. package/dist/modules/chunks/{chunk-XE6ITXHT.mjs → chunk-NZ4N7AVG.mjs} +2 -2
  64. package/dist/modules/chunks/{chunk-KAGFU64Y.mjs → chunk-OGFZB75B.mjs} +2 -2
  65. package/dist/modules/chunks/{chunk-EWSCJF77.mjs → chunk-OS7BK3FO.mjs} +2 -2
  66. package/dist/modules/chunks/{chunk-HWZCLROY.mjs → chunk-P27F2TZN.mjs} +248 -42
  67. package/dist/modules/chunks/chunk-P27F2TZN.mjs.map +7 -0
  68. package/dist/modules/chunks/{chunk-5W7SC5D4.mjs → chunk-P2Y73QJJ.mjs} +11 -1
  69. package/dist/modules/chunks/{chunk-5W7SC5D4.mjs.map → chunk-P2Y73QJJ.mjs.map} +2 -2
  70. package/dist/modules/chunks/{chunk-U6UMATPV.mjs → chunk-P3ZW2T37.mjs} +3 -3
  71. package/dist/modules/chunks/{chunk-INTTYJVW.mjs → chunk-PHCUCHVL.mjs} +2 -2
  72. package/dist/modules/chunks/{chunk-JK7K7RG3.mjs → chunk-QNJL265P.mjs} +4 -4
  73. package/dist/modules/chunks/{chunk-ZGOGO7SS.mjs → chunk-QNSUBUZF.mjs} +1 -1
  74. package/dist/modules/chunks/{chunk-5YTMN435.mjs → chunk-QNUBIFAY.mjs} +13 -3
  75. package/dist/modules/chunks/chunk-QNUBIFAY.mjs.map +7 -0
  76. package/dist/modules/chunks/{chunk-TXLD7JI5.mjs → chunk-QQP7ZGQD.mjs} +2 -2
  77. package/dist/modules/chunks/{chunk-E3Z7GLFU.mjs → chunk-QYJZ3SOV.mjs} +12 -1
  78. package/dist/modules/chunks/chunk-QYJZ3SOV.mjs.map +7 -0
  79. package/dist/modules/chunks/{chunk-PZIAKZJC.mjs → chunk-R6MT6F3T.mjs} +3 -3
  80. package/dist/modules/chunks/{chunk-P4UPH74B.mjs → chunk-RGM4S2BE.mjs} +3 -3
  81. package/dist/modules/chunks/{chunk-AGVLPYVE.mjs → chunk-SKZC6VTV.mjs} +2 -2
  82. package/dist/modules/chunks/{chunk-4D3Q7K44.mjs → chunk-SSVRSFTX.mjs} +2 -2
  83. package/dist/modules/chunks/{chunk-2Z5KEV6L.mjs → chunk-TFBSEYKW.mjs} +3 -3
  84. package/dist/modules/chunks/{chunk-K2QZRFLE.mjs → chunk-TPLT4PBX.mjs} +4 -4
  85. package/dist/modules/chunks/{chunk-5PHAXNFO.mjs → chunk-U5LBMAG3.mjs} +3 -3
  86. package/dist/modules/chunks/{chunk-46UEGAXY.mjs → chunk-V4SOFUJI.mjs} +6 -6
  87. package/dist/modules/chunks/{chunk-IJPWKKIU.mjs → chunk-VD3C4DYT.mjs} +14 -13
  88. package/dist/modules/chunks/chunk-VD3C4DYT.mjs.map +7 -0
  89. package/dist/modules/chunks/{chunk-YFQGSDK3.mjs → chunk-VD4QU7KY.mjs} +2 -2
  90. package/dist/modules/chunks/{chunk-KX2WU5Z6.mjs → chunk-WC6NGMGI.mjs} +3 -3
  91. package/dist/modules/chunks/{chunk-H256DQT6.mjs → chunk-XOZ5EMNY.mjs} +2 -2
  92. package/dist/modules/chunks/{chunk-ZHO2G4JR.mjs → chunk-XXJ32F5P.mjs} +3 -3
  93. package/dist/modules/chunks/{chunk-VW2ZF3P4.mjs → chunk-Y4SFATAM.mjs} +6 -6
  94. package/dist/modules/chunks/{chunk-SRYQLFBV.mjs → chunk-ZKFH7EMU.mjs} +2 -2
  95. package/dist/modules/chunks/{chunk-CKYXAT7H.mjs → chunk-ZRG7LDCA.mjs} +2 -2
  96. package/dist/modules/chunks/{chunk-PW5CE2Y6.mjs → chunk-ZW7LLDOL.mjs} +2 -2
  97. package/dist/modules/cli-contributions.mjs +14 -14
  98. package/dist/modules/cli.mjs +5 -5
  99. package/dist/modules/command-executor.mjs +3 -3
  100. package/dist/modules/embedded.mjs +82 -42
  101. package/dist/modules/embedded.mjs.map +2 -2
  102. package/dist/modules/extension-bridge.mjs +4 -4
  103. package/dist/modules/frontend-root.mjs +46 -46
  104. package/dist/modules/index.mjs +71 -65
  105. package/dist/modules/index.mjs.map +1 -1
  106. package/dist/modules/pages/scene.mjs +5 -5
  107. package/dist/modules/plugin.mjs +35 -35
  108. package/dist/modules/plugins/asset/frontend.mjs +10 -10
  109. package/dist/modules/plugins/asset/identity.mjs +9 -9
  110. package/dist/modules/plugins/asset/ui.mjs +3 -3
  111. package/dist/modules/plugins/content-browser/frontend.mjs +3 -3
  112. package/dist/modules/plugins/content-browser/identity.mjs +2 -2
  113. package/dist/modules/plugins/content-browser/ui.mjs +3 -3
  114. package/dist/modules/plugins/display/api.mjs +1 -1
  115. package/dist/modules/plugins/display/backend.mjs +4 -4
  116. package/dist/modules/plugins/display/frontend.mjs +5 -5
  117. package/dist/modules/plugins/display/identity.mjs +2 -2
  118. package/dist/modules/plugins/display/ui.mjs +3 -3
  119. package/dist/modules/plugins/inspector/frontend.mjs +3 -3
  120. package/dist/modules/plugins/inspector/identity.mjs +2 -2
  121. package/dist/modules/plugins/inspector/ui.mjs +3 -3
  122. package/dist/modules/plugins/material/frontend.mjs +10 -10
  123. package/dist/modules/plugins/material/identity.mjs +9 -9
  124. package/dist/modules/plugins/material/ui.mjs +10 -10
  125. package/dist/modules/plugins/mesh/frontend.mjs +10 -10
  126. package/dist/modules/plugins/mesh/identity.mjs +9 -9
  127. package/dist/modules/plugins/mesh/ui.mjs +10 -10
  128. package/dist/modules/plugins/plugins/api.mjs +4 -4
  129. package/dist/modules/plugins/plugins/backend.mjs +7 -7
  130. package/dist/modules/plugins/plugins/cli.mjs +5 -5
  131. package/dist/modules/plugins/plugins/frontend.mjs +3 -3
  132. package/dist/modules/plugins/plugins/identity.mjs +2 -2
  133. package/dist/modules/plugins/plugins/runtime.mjs +6 -6
  134. package/dist/modules/plugins/plugins/ui/panel.mjs +3 -3
  135. package/dist/modules/plugins/plugins/ui.mjs +4 -4
  136. package/dist/modules/plugins/scene/frontend.mjs +5 -5
  137. package/dist/modules/plugins/scene/identity.mjs +2 -2
  138. package/dist/modules/plugins/scene-tree/frontend.mjs +3 -3
  139. package/dist/modules/plugins/scene-tree/identity.mjs +2 -2
  140. package/dist/modules/plugins/scene-tree/ui.mjs +3 -3
  141. package/dist/modules/plugins/texture/frontend.mjs +10 -10
  142. package/dist/modules/plugins/texture/identity.mjs +9 -9
  143. package/dist/modules/plugins/texture/ui.mjs +10 -10
  144. package/dist/modules/plugins/viewport/frontend.mjs +12 -12
  145. package/dist/modules/plugins/viewport/identity.mjs +2 -2
  146. package/dist/modules/plugins/viewport/presentation.mjs +4 -4
  147. package/dist/modules/plugins/viewport/schema.mjs +2 -2
  148. package/dist/modules/plugins/viewport/workspace-shell.mjs +9 -9
  149. package/dist/modules/product.mjs +35 -35
  150. package/dist/modules/shell/frontend.mjs +1 -1
  151. package/dist/modules/viewer/catalog/backend.mjs +31 -31
  152. package/dist/modules/viewer/catalog/frontend.mjs +42 -42
  153. package/dist/modules/viewer/catalog/shared.mjs +20 -20
  154. package/dist/modules/viewer/catalog.mjs +51 -51
  155. package/dist/modules/viewer/cli.mjs +10 -10
  156. package/dist/modules/viewer-host/frontend.mjs +48 -48
  157. package/dist/modules/viewer-host/page-registry.mjs +6 -6
  158. package/dist/modules/viewer-host.mjs +7 -7
  159. package/dist/modules/viewer.mjs +51 -51
  160. package/dist/modules/workspace/api.mjs +1 -1
  161. package/dist/modules/workspace/backend.mjs +10 -10
  162. package/dist/modules/workspace/broker.mjs +9 -9
  163. package/dist/modules/workspace/cli.mjs +2 -2
  164. package/dist/modules/workspace/client.mjs +3 -3
  165. package/dist/modules/workspace/command-error.mjs +2 -2
  166. package/dist/modules/workspace/contract.mjs +7 -1
  167. package/dist/modules/workspace/engine-adapter.mjs +3 -3
  168. package/dist/modules/workspace/extension-bridge.mjs +4 -4
  169. package/dist/modules/workspace/frontend-plugin.mjs +8 -8
  170. package/dist/modules/workspace/frontend.mjs +9 -9
  171. package/dist/modules/workspace/page-title.mjs +3 -3
  172. package/dist/modules/workspace/presentation.mjs +4 -4
  173. package/dist/modules/workspace/preview-surface.mjs +7 -7
  174. package/dist/modules/workspace/project-session.mjs +2 -2
  175. package/dist/modules/workspace/render-resize-sync.mjs +2 -2
  176. package/dist/modules/workspace/resident.mjs +4 -4
  177. package/dist/modules/workspace/resource-open.mjs +5 -5
  178. package/dist/modules/workspace/resource-page.mjs +8 -8
  179. package/dist/modules/workspace/tool-runtime.mjs +7 -5
  180. package/dist/modules/workspace/view-trace.mjs +3 -3
  181. package/dist/modules/workspace/workspace-recovery.mjs +4 -4
  182. package/dist/modules/workspace/workspace-state.mjs +2 -2
  183. package/dist/modules/workspace-frontend.mjs +8 -8
  184. package/dist/viewer/assets/{embedded-DXSSFAyM.js → embedded-BZSPh0if.js} +2 -2
  185. package/dist/viewer/assets/{embedded-DXSSFAyM.js.map → embedded-BZSPh0if.js.map} +1 -1
  186. package/dist/viewer/assets/main-CmJEE-8D.js +22 -0
  187. package/dist/viewer/assets/main-CmJEE-8D.js.map +1 -0
  188. package/dist/viewer/assets/panels-ui-Cm3As_jE.js +12 -0
  189. package/dist/viewer/assets/panels-ui-Cm3As_jE.js.map +1 -0
  190. package/dist/viewer/assets/style-CcYzhsIZ.css +2 -0
  191. package/dist/viewer/index.html +3 -3
  192. package/dist/viewer/panels.js +1 -1
  193. package/package.json +2 -2
  194. package/scripts/verify-runtime-content-engine.mjs +7 -4
  195. package/skills/forgeax-view-cli/SKILL.md +4 -0
  196. package/dist/modules/chunks/chunk-27XASYEH.mjs.map +0 -7
  197. package/dist/modules/chunks/chunk-5YTMN435.mjs.map +0 -7
  198. package/dist/modules/chunks/chunk-6KM24NH6.mjs.map +0 -7
  199. package/dist/modules/chunks/chunk-DWT3TA6M.mjs.map +0 -7
  200. package/dist/modules/chunks/chunk-E3Z7GLFU.mjs.map +0 -7
  201. package/dist/modules/chunks/chunk-EZSGDSCC.mjs.map +0 -7
  202. package/dist/modules/chunks/chunk-FNRGLCZW.mjs.map +0 -7
  203. package/dist/modules/chunks/chunk-HWZCLROY.mjs.map +0 -7
  204. package/dist/modules/chunks/chunk-IJPWKKIU.mjs.map +0 -7
  205. package/dist/modules/chunks/chunk-LZ57Y73Z.mjs.map +0 -7
  206. package/dist/modules/chunks/chunk-OQXDADAS.mjs.map +0 -7
  207. package/dist/modules/chunks/chunk-QELNKFSI.mjs +0 -10
  208. package/dist/modules/chunks/chunk-QELNKFSI.mjs.map +0 -7
  209. package/dist/modules/chunks/chunk-VKNIYV2W.mjs.map +0 -7
  210. package/dist/modules/chunks/chunk-YLCJNKIW.mjs.map +0 -7
  211. package/dist/viewer/assets/main-CI6ZQziX.js +0 -22
  212. package/dist/viewer/assets/main-CI6ZQziX.js.map +0 -1
  213. package/dist/viewer/assets/panels-ui-CfUtl68h.js +0 -12
  214. package/dist/viewer/assets/panels-ui-CfUtl68h.js.map +0 -1
  215. package/dist/viewer/assets/style-gOtSMZif.css +0 -2
  216. /package/dist/modules/chunks/{chunk-B6QUJ33G.mjs.map → chunk-25PFC2DY.mjs.map} +0 -0
  217. /package/dist/modules/chunks/{chunk-D2RCKG7Q.mjs.map → chunk-43L37UYV.mjs.map} +0 -0
  218. /package/dist/modules/chunks/{chunk-WVU3CQ62.mjs.map → chunk-4ZI5DFBR.mjs.map} +0 -0
  219. /package/dist/modules/chunks/{chunk-47RJSHLM.mjs.map → chunk-5HJ336VM.mjs.map} +0 -0
  220. /package/dist/modules/chunks/{chunk-PVP5YBNR.mjs.map → chunk-5N5FDO5Y.mjs.map} +0 -0
  221. /package/dist/modules/chunks/{chunk-APD2EWSZ.mjs.map → chunk-5PZL6W3F.mjs.map} +0 -0
  222. /package/dist/modules/chunks/{chunk-KI4WGTWL.mjs.map → chunk-5WVRCLHN.mjs.map} +0 -0
  223. /package/dist/modules/chunks/{chunk-YNHEYXDG.mjs.map → chunk-7MQIGD6Q.mjs.map} +0 -0
  224. /package/dist/modules/chunks/{chunk-F5RLQAPN.mjs.map → chunk-7YWMB7HV.mjs.map} +0 -0
  225. /package/dist/modules/chunks/{chunk-FICPCJKR.mjs.map → chunk-A22PJUZM.mjs.map} +0 -0
  226. /package/dist/modules/chunks/{chunk-P5XMFZY4.mjs.map → chunk-A7HXBQUG.mjs.map} +0 -0
  227. /package/dist/modules/chunks/{chunk-HRKW766Y.mjs.map → chunk-AZHCKPUL.mjs.map} +0 -0
  228. /package/dist/modules/chunks/{chunk-6I7RY73G.mjs.map → chunk-CEB76QBE.mjs.map} +0 -0
  229. /package/dist/modules/chunks/{chunk-U64FRQKP.mjs.map → chunk-CVIF6DYH.mjs.map} +0 -0
  230. /package/dist/modules/chunks/{chunk-XQYF2P6M.mjs.map → chunk-D3ISMGT6.mjs.map} +0 -0
  231. /package/dist/modules/chunks/{chunk-OKQ5RBKO.mjs.map → chunk-DC3PU6SO.mjs.map} +0 -0
  232. /package/dist/modules/chunks/{chunk-4T3D67CS.mjs.map → chunk-DJKXBCZH.mjs.map} +0 -0
  233. /package/dist/modules/chunks/{chunk-E3PJGTLI.mjs.map → chunk-DX4M6LZH.mjs.map} +0 -0
  234. /package/dist/modules/chunks/{chunk-IZAHIOFU.mjs.map → chunk-EOW4JGVV.mjs.map} +0 -0
  235. /package/dist/modules/chunks/{chunk-U5R6MVM4.mjs.map → chunk-EQRDY5CQ.mjs.map} +0 -0
  236. /package/dist/modules/chunks/{chunk-7IGFAI5H.mjs.map → chunk-EW7VMNZA.mjs.map} +0 -0
  237. /package/dist/modules/chunks/{chunk-FMCHH5R4.mjs.map → chunk-FSSKCXPL.mjs.map} +0 -0
  238. /package/dist/modules/chunks/{chunk-357UOBAS.mjs.map → chunk-FSYQ3LBQ.mjs.map} +0 -0
  239. /package/dist/modules/chunks/{chunk-D25SR5FS.mjs.map → chunk-FVSDKOXR.mjs.map} +0 -0
  240. /package/dist/modules/chunks/{chunk-XMP4THLF.mjs.map → chunk-J7QRK3FU.mjs.map} +0 -0
  241. /package/dist/modules/chunks/{chunk-D57DDEV2.mjs.map → chunk-JE4N575J.mjs.map} +0 -0
  242. /package/dist/modules/chunks/{chunk-ZIDEETK4.mjs.map → chunk-JKDBKS7P.mjs.map} +0 -0
  243. /package/dist/modules/chunks/{chunk-U5J7OTEB.mjs.map → chunk-K4C5WOTT.mjs.map} +0 -0
  244. /package/dist/modules/chunks/{chunk-QUFVUMSY.mjs.map → chunk-KOBAWLZL.mjs.map} +0 -0
  245. /package/dist/modules/chunks/{chunk-CX5WREJC.mjs.map → chunk-KY2AWNDR.mjs.map} +0 -0
  246. /package/dist/modules/chunks/{chunk-RJVOH7G2.mjs.map → chunk-L24HPIQP.mjs.map} +0 -0
  247. /package/dist/modules/chunks/{chunk-PJFFCRRD.mjs.map → chunk-LOVO3P2Q.mjs.map} +0 -0
  248. /package/dist/modules/chunks/{chunk-X4NNZ5X6.mjs.map → chunk-M66NDY35.mjs.map} +0 -0
  249. /package/dist/modules/chunks/{chunk-55F55BQY.mjs.map → chunk-MUBV2LNK.mjs.map} +0 -0
  250. /package/dist/modules/chunks/{chunk-M6S5YA6X.mjs.map → chunk-NHNPQ3ZS.mjs.map} +0 -0
  251. /package/dist/modules/chunks/{chunk-STQPRNEO.mjs.map → chunk-NSPN5OQ5.mjs.map} +0 -0
  252. /package/dist/modules/chunks/{chunk-XE6ITXHT.mjs.map → chunk-NZ4N7AVG.mjs.map} +0 -0
  253. /package/dist/modules/chunks/{chunk-KAGFU64Y.mjs.map → chunk-OGFZB75B.mjs.map} +0 -0
  254. /package/dist/modules/chunks/{chunk-EWSCJF77.mjs.map → chunk-OS7BK3FO.mjs.map} +0 -0
  255. /package/dist/modules/chunks/{chunk-U6UMATPV.mjs.map → chunk-P3ZW2T37.mjs.map} +0 -0
  256. /package/dist/modules/chunks/{chunk-INTTYJVW.mjs.map → chunk-PHCUCHVL.mjs.map} +0 -0
  257. /package/dist/modules/chunks/{chunk-JK7K7RG3.mjs.map → chunk-QNJL265P.mjs.map} +0 -0
  258. /package/dist/modules/chunks/{chunk-ZGOGO7SS.mjs.map → chunk-QNSUBUZF.mjs.map} +0 -0
  259. /package/dist/modules/chunks/{chunk-TXLD7JI5.mjs.map → chunk-QQP7ZGQD.mjs.map} +0 -0
  260. /package/dist/modules/chunks/{chunk-PZIAKZJC.mjs.map → chunk-R6MT6F3T.mjs.map} +0 -0
  261. /package/dist/modules/chunks/{chunk-P4UPH74B.mjs.map → chunk-RGM4S2BE.mjs.map} +0 -0
  262. /package/dist/modules/chunks/{chunk-AGVLPYVE.mjs.map → chunk-SKZC6VTV.mjs.map} +0 -0
  263. /package/dist/modules/chunks/{chunk-4D3Q7K44.mjs.map → chunk-SSVRSFTX.mjs.map} +0 -0
  264. /package/dist/modules/chunks/{chunk-2Z5KEV6L.mjs.map → chunk-TFBSEYKW.mjs.map} +0 -0
  265. /package/dist/modules/chunks/{chunk-K2QZRFLE.mjs.map → chunk-TPLT4PBX.mjs.map} +0 -0
  266. /package/dist/modules/chunks/{chunk-5PHAXNFO.mjs.map → chunk-U5LBMAG3.mjs.map} +0 -0
  267. /package/dist/modules/chunks/{chunk-46UEGAXY.mjs.map → chunk-V4SOFUJI.mjs.map} +0 -0
  268. /package/dist/modules/chunks/{chunk-YFQGSDK3.mjs.map → chunk-VD4QU7KY.mjs.map} +0 -0
  269. /package/dist/modules/chunks/{chunk-KX2WU5Z6.mjs.map → chunk-WC6NGMGI.mjs.map} +0 -0
  270. /package/dist/modules/chunks/{chunk-H256DQT6.mjs.map → chunk-XOZ5EMNY.mjs.map} +0 -0
  271. /package/dist/modules/chunks/{chunk-ZHO2G4JR.mjs.map → chunk-XXJ32F5P.mjs.map} +0 -0
  272. /package/dist/modules/chunks/{chunk-VW2ZF3P4.mjs.map → chunk-Y4SFATAM.mjs.map} +0 -0
  273. /package/dist/modules/chunks/{chunk-SRYQLFBV.mjs.map → chunk-ZKFH7EMU.mjs.map} +0 -0
  274. /package/dist/modules/chunks/{chunk-CKYXAT7H.mjs.map → chunk-ZRG7LDCA.mjs.map} +0 -0
  275. /package/dist/modules/chunks/{chunk-PW5CE2Y6.mjs.map → chunk-ZW7LLDOL.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  logResourceOpen,
3
3
  summarizeResourceAsset
4
- } from "./chunk-ZIDEETK4.mjs";
4
+ } from "./chunk-JKDBKS7P.mjs";
5
5
 
6
6
  // packages/viewer/src/host/page-registry.ts
7
7
  var PAGE_TYPE_FIELDS = /* @__PURE__ */ new Set([
@@ -341,4 +341,4 @@ export {
341
341
  createViewPageHost,
342
342
  listOpenablePageTypes
343
343
  };
344
- //# sourceMappingURL=chunk-PVP5YBNR.mjs.map
344
+ //# sourceMappingURL=chunk-5N5FDO5Y.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  viewPlayPresentationPlugin
3
- } from "./chunk-357UOBAS.mjs";
3
+ } from "./chunk-FSYQ3LBQ.mjs";
4
4
  import {
5
5
  PRESENTATION_PLUGIN_ID
6
6
  } from "./chunk-J5B4LX5H.mjs";
@@ -14,4 +14,4 @@ var presentation_default = {
14
14
  export {
15
15
  presentation_default
16
16
  };
17
- //# sourceMappingURL=chunk-APD2EWSZ.mjs.map
17
+ //# sourceMappingURL=chunk-5PZL6W3F.mjs.map
@@ -1,23 +1,24 @@
1
1
  import {
2
2
  VIEW_PRODUCT_BACKEND_CATALOG
3
- } from "./chunk-XQYF2P6M.mjs";
3
+ } from "./chunk-D3ISMGT6.mjs";
4
4
  import {
5
5
  startViewHostServer
6
- } from "./chunk-U5J7OTEB.mjs";
6
+ } from "./chunk-K4C5WOTT.mjs";
7
7
  import {
8
8
  VIEW_FRONTEND_MODULE,
9
9
  createViewProductPlan,
10
10
  viewFrontendRoot
11
- } from "./chunk-IJPWKKIU.mjs";
11
+ } from "./chunk-VD3C4DYT.mjs";
12
12
  import {
13
13
  workspaceDiagnosticRecord
14
- } from "./chunk-U5R6MVM4.mjs";
14
+ } from "./chunk-EQRDY5CQ.mjs";
15
15
 
16
16
  // src/plugins/backend.ts
17
17
  import { randomUUID } from "node:crypto";
18
18
  import { startNativePlugin } from "@forgeax/engine/plugin";
19
19
  import { createBackendHost } from "@forgeax/engine/host/backend";
20
20
  import { createHostAssembly } from "@forgeax/engine/host/protocol";
21
+ import { listPackSources } from "@forgeax/engine/pack/build";
21
22
  function createViewPlatformBinding(platform) {
22
23
  if (!platform || typeof platform.createPage !== "function") {
23
24
  throw new TypeError("View platform binding requires platform.createPage");
@@ -83,7 +84,8 @@ async function createViewBackend({ platform, capabilities, frontendConfig, disab
83
84
  capabilities: capabilities ?? platform?.getCapabilities?.(),
84
85
  workspaceEngine,
85
86
  workspaceAccessToken: token,
86
- workspaceAuthorize
87
+ workspaceAuthorize,
88
+ packSources: listPackSources
87
89
  },
88
90
  frontendConfig: config,
89
91
  disabledPages
@@ -130,7 +132,7 @@ async function createViewBackend({ platform, capabilities, frontendConfig, disab
130
132
  port: workspacePort,
131
133
  onClientConnect: (caller) => {
132
134
  if (engineHost) engineHost.bindProjection(caller, { assembly: frontendAssembly });
133
- workspaceCore.resetPageSession();
135
+ workspaceCore.attachPageSession(caller, backendHost.transport);
134
136
  },
135
137
  onClientDisconnect: (caller) => workspaceCore.revokeConnection(caller.connectionId),
136
138
  ...workspacePath === void 0 ? {} : { path: workspacePath },
@@ -171,4 +173,4 @@ export {
171
173
  createViewHostBinding,
172
174
  createViewBackend
173
175
  };
174
- //# sourceMappingURL=chunk-LZ57Y73Z.mjs.map
176
+ //# sourceMappingURL=chunk-5SHQXSSM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugins/backend.ts"],
4
+ "sourcesContent": ["import type { Fiber, Plugin } from '@forgeax/engine-plugin';\nimport type { BackendHost, BackendHostOptions } from '@forgeax/engine-host/backend';\nimport type { HostAssembly } from '@forgeax/engine-host/protocol';\nimport type { DevKitWorkspacePluginOptions } from '@forgeax/engine/devkit';\nimport type { ViewBackendProductConfig } from '@forgeax/view-viewer/catalog/shared';\nimport type { ViewFrontendConfig } from '@forgeax/view-viewer/config';\nimport type { ViewPlatform } from '@forgeax/view-plugin-display/carrier-contract';\nimport { workspaceDiagnosticRecord } from '@forgeax/view-workspace-core/command-error';\nexport type ViewBackendOptions = ViewBackendProductConfig & {\n platform?: ViewPlatform & { start?: () => void | Promise<void> };\n frontendConfig?: ViewFrontendConfig; disabledPages?: readonly string[];\n engineHost?: BackendHost; workspacePlugin?: Plugin<DevKitWorkspacePluginOptions>;\n workspaceOptions?: Omit<DevKitWorkspacePluginOptions, 'hostBinding' | 'provider'>;\n onActivationReport?: BackendHostOptions['onActivationReport'];\n workspaceServer?: boolean; workspaceHost?: string; workspacePort?: number;\n workspacePath?: string; staticRoot?: string | URL;\n};\nimport { randomUUID } from 'node:crypto';\nimport { startNativePlugin } from '@forgeax/engine-plugin';\nimport { createBackendHost } from '@forgeax/engine-host/backend';\nimport { createHostAssembly } from '@forgeax/engine-host/protocol';\nimport { createViewProductPlan, viewFrontendRoot, VIEW_FRONTEND_MODULE } from '@forgeax/view-viewer/catalog/shared';\nimport { listPackSources } from '@forgeax/engine-pack/build';\nimport { VIEW_PRODUCT_BACKEND_CATALOG } from '@forgeax/view-viewer/catalog/backend';\nimport { startViewHostServer } from '@forgeax/view-workspace-core/resident';\n\nexport function createViewPlatformBinding(platform: ViewPlatform) {\n if (!platform || typeof platform.createPage !== 'function') {\n throw new TypeError('View platform binding requires platform.createPage');\n }\n let disposal: Promise<void> | undefined;\n return {\n createPage: platform.createPage.bind(platform),\n ...(typeof platform.getCapabilities === 'function'\n ? { getCapabilities: platform.getCapabilities.bind(platform) }\n : {}),\n ...(typeof platform.dispose === 'function' ? { dispose: () => disposal ??= Promise.resolve().then(() => platform.dispose?.()) } : {}),\n };\n}\n\nexport function createViewHostBinding({ backendHost, frontendAssembly }: { backendHost?: BackendHost; frontendAssembly?: HostAssembly } = {}) {\n if (!backendHost || !frontendAssembly) {\n throw new TypeError('View Host binding requires a backend Host and a frontend root assembly');\n }\n return Object.freeze({\n backend: backendHost,\n frontendAssembly,\n frontendModule: VIEW_FRONTEND_MODULE,\n });\n}\n\n/** The embedding helper owns View Fibers; a supplied BackendHost remains borrowed. */\nexport async function createViewBackend({ platform, capabilities, frontendConfig, disabledPages, workspaceEngine, workspaceAccessToken, workspaceAuthorize, engineHost, workspacePlugin, workspaceOptions, onActivationReport, workspaceServer = true, workspaceHost = '127.0.0.1', workspacePort = 0, workspacePath, staticRoot }: ViewBackendOptions = {}) {\n const platformBinding = platform ? createViewPlatformBinding(platform) : undefined;\n let platformStarted = false;\n let backendHost: BackendHost | undefined;\n let workspaceFiber: Fiber | undefined;\n let resident: Awaited<ReturnType<typeof startViewHostServer>> | undefined;\n const fibers: Fiber[] = [];\n let disposal: Promise<void> | undefined;\n const dispose = () => disposal ??= (async () => {\n const failures: unknown[] = [];\n for (const release of [\n () => resident?.close(), ...fibers.toReversed().map(fiber => () => fiber.dispose()),\n () => workspaceFiber?.dispose(), () => !engineHost && backendHost?.dispose(),\n () => platformStarted && platformBinding?.dispose?.(),\n ]) {\n try { await release(); } catch (error) { failures.push(error); }\n }\n if (failures.length) throw new AggregateError(failures, 'View cleanup failed');\n })();\n try {\n platformStarted = platform !== undefined;\n await platform?.start?.();\n const token = workspaceAccessToken ?? randomUUID();\n const config = {\n ...(frontendConfig ?? {}),\n displayCarrier: platform !== undefined,\n workspace: {\n ...(frontendConfig?.workspace ?? {}),\n clientId: frontendConfig?.workspace?.clientId ?? 'view-frontend',\n token,\n },\n };\n const plan = createViewProductPlan({\n backendConfig: {\n ...(platform ? { platform: platformBinding } : {}),\n capabilities: capabilities ?? platform?.getCapabilities?.(),\n workspaceEngine,\n workspaceAccessToken: token,\n workspaceAuthorize,\n packSources: listPackSources,\n },\n frontendConfig: config,\n disabledPages,\n });\n const frontendAssembly = createHostAssembly({\n root: viewFrontendRoot(config, plan.disabledPages),\n });\n const selectedWorkspacePlugin = workspacePlugin ??\n (workspaceEngine ? (await import('@forgeax/engine/devkit')).devKitWorkspacePlugin : undefined);\n backendHost = engineHost ?? await createBackendHost({\n assembly: frontendAssembly,\n onActivationReport,\n });\n if (selectedWorkspacePlugin) {\n if (engineHost) throw new TypeError('Install the workspace plugin on the owner before borrowing a Host');\n const started = await startNativePlugin(backendHost.context, selectedWorkspacePlugin, {\n ...workspaceOptions,\n ...(workspaceAuthorize === undefined ? {} : { authorize: ({ operation, args, caller, signal }: Parameters<NonNullable<DevKitWorkspacePluginOptions['authorize']>>[0]) => {\n const id = operation.replace(/^engine\\./, '');\n const clientId = caller?.sourceId ?? (typeof workspaceDiagnosticRecord(args).clientId === 'string' ? String(workspaceDiagnosticRecord(args).clientId) : 'view-owner');\n return workspaceAuthorize({ operation: id, clientId, caller, signal, request: { operation: id, args: workspaceDiagnosticRecord(args), clientId } });\n } }),\n ...(workspaceEngine === undefined ? {} : { provider: workspaceEngine }),\n runAccess: 'observe',\n hostBinding: createViewHostBinding({ backendHost, frontendAssembly }),\n });\n if (!started.ok) throw started.error;\n workspaceFiber = started.value;\n }\n for (const component of plan.backend) {\n const record = VIEW_PRODUCT_BACKEND_CATALOG.get(component.module);\n if (!record) throw new Error(`View backend program is missing: ${component.module}`);\n const { default: plugin } = await record.load();\n const started = await startNativePlugin(backendHost.context, plugin, component.config);\n if (!started.ok) throw started.error;\n fibers.push(started.value);\n }\n const workspaceCore = backendHost.context.get('viewWorkspaceCore');\n if (!workspaceCore) throw new Error('View backend did not activate workspace core');\n if (workspaceServer) {\n resident = await startViewHostServer({\n backendHost,\n accessToken: backendHost.context.get('viewWorkspaceAccessToken'),\n host: workspaceHost,\n port: workspacePort,\n onClientConnect: (caller) => {\n if (engineHost) engineHost.bindProjection(caller, { assembly: frontendAssembly });\n workspaceCore.attachPageSession(caller, backendHost!.transport);\n },\n onClientDisconnect: (caller) => workspaceCore.revokeConnection(caller.connectionId),\n ...(workspacePath === undefined ? {} : { path: workspacePath }),\n ...(staticRoot === undefined ? {} : { staticRoot }),\n ...(config.layout === undefined ? {} : { frontendConfig: { layout: config.layout } }),\n });\n }\n return Object.freeze({\n backendHost,\n broker: backendHost.context.get('viewBroker', false),\n carrier: backendHost.context.get('viewCarrier', false),\n workspaceCore,\n workspaceAccessToken: backendHost.context.get('viewWorkspaceAccessToken'),\n ...(resident === undefined ? {} : {\n workspaceServer: resident,\n workspaceEndpoint: resident.endpoint,\n workspaceUrl: resident.url,\n workspaceFrontendEndpoint: resident.frontendEndpoint,\n workspaceFrontendUrl: resident.frontendUrl,\n workspaceFrontendTicket: resident.frontendTicket,\n }),\n assembly: backendHost.assembly,\n hostBinding: createViewHostBinding({ backendHost, frontendAssembly }),\n dispose,\n });\n } catch (error) {\n try { await dispose(); }\n catch (cleanup) { throw new AggregateError([error, cleanup], 'View startup and cleanup failed'); }\n throw error;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PLUGINS_OPERATION_DESCRIPTIONS
3
- } from "./chunk-OKQ5RBKO.mjs";
3
+ } from "./chunk-DC3PU6SO.mjs";
4
4
 
5
5
  // packages/view-plugin-plugins/src/cli.ts
6
6
  var cliContributions = Object.freeze(
@@ -15,4 +15,4 @@ var cliContributions = Object.freeze(
15
15
  export {
16
16
  cliContributions
17
17
  };
18
- //# sourceMappingURL=chunk-KI4WGTWL.mjs.map
18
+ //# sourceMappingURL=chunk-5WVRCLHN.mjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  FRONTEND_PLUGIN_ID,
3
3
  identity_exports
4
- } from "./chunk-D25SR5FS.mjs";
4
+ } from "./chunk-FVSDKOXR.mjs";
5
5
  import {
6
6
  applyResourcePagePlugin
7
- } from "./chunk-KX2WU5Z6.mjs";
7
+ } from "./chunk-WC6NGMGI.mjs";
8
8
 
9
9
  // packages/view-plugin-asset/src/frontend.ts
10
10
  var VIEW_ASSET_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;
@@ -22,4 +22,4 @@ export {
22
22
  viewAssetFrontendPlugin,
23
23
  frontend_default
24
24
  };
25
- //# sourceMappingURL=chunk-YNHEYXDG.mjs.map
25
+ //# sourceMappingURL=chunk-7MQIGD6Q.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  mountRunObserver
3
- } from "./chunk-INTTYJVW.mjs";
3
+ } from "./chunk-PHCUCHVL.mjs";
4
4
  import {
5
5
  DISPLAY_SURFACE_ID,
6
6
  DISPLAY_TARGET_ROLE,
@@ -9,7 +9,7 @@ import {
9
9
  PAGE_TYPE,
10
10
  VIEW_STATUS_SERVICE,
11
11
  VIEW_STATUS_TOPIC
12
- } from "./chunk-AGVLPYVE.mjs";
12
+ } from "./chunk-SKZC6VTV.mjs";
13
13
 
14
14
  // packages/view-plugin-display/src/status.ts
15
15
  var ViewDisplayStatus = class {
@@ -146,4 +146,4 @@ export {
146
146
  ViewDisplayStatus,
147
147
  frontend_default
148
148
  };
149
- //# sourceMappingURL=chunk-F5RLQAPN.mjs.map
149
+ //# sourceMappingURL=chunk-7YWMB7HV.mjs.map
@@ -21,11 +21,11 @@ import {
21
21
  import {
22
22
  createWorkspaceObservation,
23
23
  createWorkspaceStateReader
24
- } from "./chunk-TXLD7JI5.mjs";
24
+ } from "./chunk-QQP7ZGQD.mjs";
25
25
  import {
26
26
  VIEW_WORKSPACE_TAB_ID,
27
27
  jsonUnchanged
28
- } from "./chunk-E3Z7GLFU.mjs";
28
+ } from "./chunk-QYJZ3SOV.mjs";
29
29
 
30
30
  // packages/view-plugin-scene-tree/src/ui/mount.tsx
31
31
  import { createRoot } from "react-dom/client";
@@ -919,4 +919,4 @@ async function mountSceneTreePanel(props) {
919
919
  export {
920
920
  mountSceneTreePanel
921
921
  };
922
- //# sourceMappingURL=chunk-FICPCJKR.mjs.map
922
+ //# sourceMappingURL=chunk-A22PJUZM.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VIEW_PAGE_TYPES
3
- } from "./chunk-E3Z7GLFU.mjs";
3
+ } from "./chunk-QYJZ3SOV.mjs";
4
4
  import {
5
5
  __export
6
6
  } from "./chunk-FLGC65SR.mjs";
@@ -22,4 +22,4 @@ export {
22
22
  PAGE_TYPE,
23
23
  identity_exports
24
24
  };
25
- //# sourceMappingURL=chunk-P5XMFZY4.mjs.map
25
+ //# sourceMappingURL=chunk-A7HXBQUG.mjs.map
@@ -5,7 +5,7 @@ import {
5
5
  PANEL_LAYOUT,
6
6
  SLOT,
7
7
  TITLE_I18N_KEY
8
- } from "./chunk-HRKW766Y.mjs";
8
+ } from "./chunk-AZHCKPUL.mjs";
9
9
 
10
10
  // packages/view-plugin-content-browser/src/frontend.ts
11
11
  var VIEW_CONTENT_BROWSER_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;
@@ -42,7 +42,7 @@ var viewContentBrowserFrontendPlugin = {
42
42
  disposePanel = await panelHost.mountPanelInto({
43
43
  element: reactMount,
44
44
  panel: "ContentBrowser",
45
- props: { client: workspaceClient }
45
+ props: { client: workspaceClient, revealPanel: () => panelHost.reveal?.(SLOT) ?? Promise.resolve(false) }
46
46
  });
47
47
  } catch (error) {
48
48
  await disposePanel?.();
@@ -65,4 +65,4 @@ export {
65
65
  viewContentBrowserFrontendPlugin,
66
66
  frontend_default
67
67
  };
68
- //# sourceMappingURL=chunk-TTRUYO7Q.mjs.map
68
+ //# sourceMappingURL=chunk-AOD6XLJC.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/view-plugin-content-browser/src/frontend.ts"],
4
- "sourcesContent": ["import type { Context } from '@forgeax/engine-plugin';\nimport type { FrontendConfig } from '@forgeax/view-workspace-core/frontend-contract';\nimport { FRONTEND_PLUGIN_ID, FRONTEND_MODULE, PAGE_TYPE, PANEL_LAYOUT, SLOT, TITLE_I18N_KEY } from './identity.ts';\n\nexport const VIEW_CONTENT_BROWSER_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;\nexport const VIEW_CONTENT_BROWSER_FRONTEND_MODULE = FRONTEND_MODULE;\n\nconst viewContentBrowserFrontendPlugin = {\n name: VIEW_CONTENT_BROWSER_FRONTEND_PLUGIN_ID,\n inject: ['viewOperationClient', 'viewScenePage'],\n async apply(ctx: Context, config: FrontendConfig = {}) {\n const document = config.document ?? globalThis.document;\n const workspaceClient = ctx.get('viewOperationClient');\n const panelHost = config.panelHost ?? ctx.get('panelHost');\n if (!document?.createElement) return;\n if (!panelHost || typeof panelHost.claim !== 'function') {\n throw new TypeError('View content-browser Frontend Plugin requires panelHost');\n }\n const wrapper = document.createElement('div');\n wrapper.className = 'fx-view-content-browser-host';\n wrapper.dataset.forgeaxView = 'content-browser-root';\n const reactMount = document.createElement('div');\n reactMount.className = 'fx-view-content-browser-ui';\n wrapper.append(reactMount);\n const unclaim = panelHost.claim({\n id: SLOT,\n pageType: PAGE_TYPE,\n titleKey: TITLE_I18N_KEY,\n activity: { labelKey: TITLE_I18N_KEY, icon: 'boxes' },\n layout: PANEL_LAYOUT,\n });\n let unmountSlot;\n let disposePanel;\n try {\n await panelHost.waitForSlot(SLOT);\n unmountSlot = panelHost.mount(SLOT, wrapper);\n disposePanel = await panelHost.mountPanelInto({\n element: reactMount,\n panel: 'ContentBrowser',\n props: { client: workspaceClient },\n });\n } catch (error) {\n await disposePanel?.();\n unmountSlot?.();\n unclaim();\n throw error;\n }\n ctx.effect(() => async () => {\n await disposePanel?.();\n unmountSlot?.();\n unclaim();\n });\n },\n};\n\nexport { viewContentBrowserFrontendPlugin };\nexport default viewContentBrowserFrontendPlugin;\n"],
5
- "mappings": ";;;;;;;;;;AAIO,IAAM,0CAA0C;AAChD,IAAM,uCAAuC;AAEpD,IAAM,mCAAmC;AAAA,EACvC,MAAM;AAAA,EACN,QAAQ,CAAC,uBAAuB,eAAe;AAAA,EAC/C,MAAM,MAAM,KAAc,SAAyB,CAAC,GAAG;AACrD,UAAM,WAAW,OAAO,YAAY,WAAW;AAC/C,UAAM,kBAAkB,IAAI,IAAI,qBAAqB;AACrD,UAAM,YAAY,OAAO,aAAa,IAAI,IAAI,WAAW;AACzD,QAAI,CAAC,UAAU,cAAe;AAC9B,QAAI,CAAC,aAAa,OAAO,UAAU,UAAU,YAAY;AACvD,YAAM,IAAI,UAAU,yDAAyD;AAAA,IAC/E;AACA,UAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY;AACpB,YAAQ,QAAQ,cAAc;AAC9B,UAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,YAAY;AACvB,YAAQ,OAAO,UAAU;AACzB,UAAM,UAAU,UAAU,MAAM;AAAA,MAC9B,IAAI;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU,EAAE,UAAU,gBAAgB,MAAM,QAAQ;AAAA,MACpD,QAAQ;AAAA,IACV,CAAC;AACD,QAAI;AACJ,QAAI;AACJ,QAAI;AACF,YAAM,UAAU,YAAY,IAAI;AAChC,oBAAc,UAAU,MAAM,MAAM,OAAO;AAC3C,qBAAe,MAAM,UAAU,eAAe;AAAA,QAC5C,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO,EAAE,QAAQ,gBAAgB;AAAA,MACnC,CAAC;AAAA,IACH,SAAS,OAAO;AACd,YAAM,eAAe;AACrB,oBAAc;AACd,cAAQ;AACR,YAAM;AAAA,IACR;AACA,QAAI,OAAO,MAAM,YAAY;AAC3B,YAAM,eAAe;AACrB,oBAAc;AACd,cAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACF;AAGA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import type { Context } from '@forgeax/engine-plugin';\nimport type { FrontendConfig } from '@forgeax/view-workspace-core/frontend-contract';\nimport { FRONTEND_PLUGIN_ID, FRONTEND_MODULE, PAGE_TYPE, PANEL_LAYOUT, SLOT, TITLE_I18N_KEY } from './identity.ts';\n\nexport const VIEW_CONTENT_BROWSER_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;\nexport const VIEW_CONTENT_BROWSER_FRONTEND_MODULE = FRONTEND_MODULE;\n\nconst viewContentBrowserFrontendPlugin = {\n name: VIEW_CONTENT_BROWSER_FRONTEND_PLUGIN_ID,\n inject: ['viewOperationClient', 'viewScenePage'],\n async apply(ctx: Context, config: FrontendConfig = {}) {\n const document = config.document ?? globalThis.document;\n const workspaceClient = ctx.get('viewOperationClient');\n const panelHost = config.panelHost ?? ctx.get('panelHost');\n if (!document?.createElement) return;\n if (!panelHost || typeof panelHost.claim !== 'function') {\n throw new TypeError('View content-browser Frontend Plugin requires panelHost');\n }\n const wrapper = document.createElement('div');\n wrapper.className = 'fx-view-content-browser-host';\n wrapper.dataset.forgeaxView = 'content-browser-root';\n const reactMount = document.createElement('div');\n reactMount.className = 'fx-view-content-browser-ui';\n wrapper.append(reactMount);\n const unclaim = panelHost.claim({\n id: SLOT,\n pageType: PAGE_TYPE,\n titleKey: TITLE_I18N_KEY,\n activity: { labelKey: TITLE_I18N_KEY, icon: 'boxes' },\n layout: PANEL_LAYOUT,\n });\n let unmountSlot;\n let disposePanel;\n try {\n await panelHost.waitForSlot(SLOT);\n unmountSlot = panelHost.mount(SLOT, wrapper);\n disposePanel = await panelHost.mountPanelInto({\n element: reactMount,\n panel: 'ContentBrowser',\n props: { client: workspaceClient, revealPanel: () => panelHost.reveal?.(SLOT) ?? Promise.resolve(false) },\n });\n } catch (error) {\n await disposePanel?.();\n unmountSlot?.();\n unclaim();\n throw error;\n }\n ctx.effect(() => async () => {\n await disposePanel?.();\n unmountSlot?.();\n unclaim();\n });\n },\n};\n\nexport { viewContentBrowserFrontendPlugin };\nexport default viewContentBrowserFrontendPlugin;\n"],
5
+ "mappings": ";;;;;;;;;;AAIO,IAAM,0CAA0C;AAChD,IAAM,uCAAuC;AAEpD,IAAM,mCAAmC;AAAA,EACvC,MAAM;AAAA,EACN,QAAQ,CAAC,uBAAuB,eAAe;AAAA,EAC/C,MAAM,MAAM,KAAc,SAAyB,CAAC,GAAG;AACrD,UAAM,WAAW,OAAO,YAAY,WAAW;AAC/C,UAAM,kBAAkB,IAAI,IAAI,qBAAqB;AACrD,UAAM,YAAY,OAAO,aAAa,IAAI,IAAI,WAAW;AACzD,QAAI,CAAC,UAAU,cAAe;AAC9B,QAAI,CAAC,aAAa,OAAO,UAAU,UAAU,YAAY;AACvD,YAAM,IAAI,UAAU,yDAAyD;AAAA,IAC/E;AACA,UAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY;AACpB,YAAQ,QAAQ,cAAc;AAC9B,UAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,YAAY;AACvB,YAAQ,OAAO,UAAU;AACzB,UAAM,UAAU,UAAU,MAAM;AAAA,MAC9B,IAAI;AAAA,MACJ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU,EAAE,UAAU,gBAAgB,MAAM,QAAQ;AAAA,MACpD,QAAQ;AAAA,IACV,CAAC;AACD,QAAI;AACJ,QAAI;AACJ,QAAI;AACF,YAAM,UAAU,YAAY,IAAI;AAChC,oBAAc,UAAU,MAAM,MAAM,OAAO;AAC3C,qBAAe,MAAM,UAAU,eAAe;AAAA,QAC5C,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO,EAAE,QAAQ,iBAAiB,aAAa,MAAM,UAAU,SAAS,IAAI,KAAK,QAAQ,QAAQ,KAAK,EAAE;AAAA,MAC1G,CAAC;AAAA,IACH,SAAS,OAAO;AACd,YAAM,eAAe;AACrB,oBAAc;AACd,cAAQ;AACR,YAAM;AAAA,IACR;AACA,QAAI,OAAO,MAAM,YAAY;AAC3B,YAAM,eAAe;AACrB,oBAAc;AACd,cAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACF;AAGA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VIEW_PAGE_TYPES
3
- } from "./chunk-E3Z7GLFU.mjs";
3
+ } from "./chunk-QYJZ3SOV.mjs";
4
4
  import {
5
5
  __export
6
6
  } from "./chunk-FLGC65SR.mjs";
@@ -39,4 +39,4 @@ export {
39
39
  TITLE_I18N_KEY,
40
40
  identity_exports
41
41
  };
42
- //# sourceMappingURL=chunk-HRKW766Y.mjs.map
42
+ //# sourceMappingURL=chunk-AZHCKPUL.mjs.map
@@ -0,0 +1,13 @@
1
+ // packages/view-workspace-core/src/api.ts
2
+ var VIEW_WORKSPACE_CORE_OPERATION_DESCRIPTIONS = Object.freeze([
3
+ { id: "workspace.summary", path: ["workspace", "summary"], summary: "Read bounded project, phase and target identities." },
4
+ { id: "pages.list", path: ["pages", "list"], summary: "Read bounded identities and target summaries for connected View pages." },
5
+ { id: "pack.reveal", path: ["pack", "reveal"], summary: "Reveal one exact Pack revision in one connected View page and wait for a visible receipt." },
6
+ { id: "tabs.get", path: ["tabs", "get"], summary: "Read View bindings and Engine target identities." },
7
+ { id: "tabs.select", path: ["tabs", "select"], summary: "Select a View page." }
8
+ ]);
9
+
10
+ export {
11
+ VIEW_WORKSPACE_CORE_OPERATION_DESCRIPTIONS
12
+ };
13
+ //# sourceMappingURL=chunk-BJTFQQQR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-workspace-core/src/api.ts"],
4
+ "sourcesContent": ["export const VIEW_WORKSPACE_CORE_OPERATION_DESCRIPTIONS = Object.freeze([\n { id: 'workspace.summary', path: ['workspace', 'summary'], summary: 'Read bounded project, phase and target identities.' },\n { id: 'pages.list', path: ['pages', 'list'], summary: 'Read bounded identities and target summaries for connected View pages.' },\n { id: 'pack.reveal', path: ['pack', 'reveal'], summary: 'Reveal one exact Pack revision in one connected View page and wait for a visible receipt.' },\n { id: 'tabs.get', path: ['tabs', 'get'], summary: 'Read View bindings and Engine target identities.' },\n { id: 'tabs.select', path: ['tabs', 'select'], summary: 'Select a View page.' },\n]);\n"],
5
+ "mappings": ";AAAO,IAAM,6CAA6C,OAAO,OAAO;AAAA,EACtE,EAAE,IAAI,qBAAqB,MAAM,CAAC,aAAa,SAAS,GAAG,SAAS,qDAAqD;AAAA,EACzH,EAAE,IAAI,cAAc,MAAM,CAAC,SAAS,MAAM,GAAG,SAAS,yEAAyE;AAAA,EAC/H,EAAE,IAAI,eAAe,MAAM,CAAC,QAAQ,QAAQ,GAAG,SAAS,4FAA4F;AAAA,EACpJ,EAAE,IAAI,YAAY,MAAM,CAAC,QAAQ,KAAK,GAAG,SAAS,mDAAmD;AAAA,EACrG,EAAE,IAAI,eAAe,MAAM,CAAC,QAAQ,QAAQ,GAAG,SAAS,sBAAsB;AAChF,CAAC;",
6
+ "names": []
7
+ }
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  workspaceCoreCliContributions
3
- } from "./chunk-SRYQLFBV.mjs";
3
+ } from "./chunk-ZKFH7EMU.mjs";
4
4
  import {
5
5
  createViewCliContributions
6
- } from "./chunk-D57DDEV2.mjs";
6
+ } from "./chunk-JE4N575J.mjs";
7
7
  import {
8
8
  contract
9
9
  } from "./chunk-OVJ3UJJB.mjs";
10
10
  import {
11
11
  runViewProjectOpen
12
- } from "./chunk-XE6ITXHT.mjs";
12
+ } from "./chunk-NZ4N7AVG.mjs";
13
13
  import {
14
14
  runViewStartInteractive,
15
15
  runViewStatus,
@@ -52,4 +52,4 @@ export {
52
52
  createViewHostCliContributions,
53
53
  createViewCliContributions2 as createViewCliContributions
54
54
  };
55
- //# sourceMappingURL=chunk-6I7RY73G.mjs.map
55
+ //# sourceMappingURL=chunk-CEB76QBE.mjs.map