@forgeax/view 0.5.0-dev.13604.c415409c3b9d → 0.5.0-dev.13713.d28c4863d779

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 (280) hide show
  1. package/README.md +67 -9
  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-EWSCJF77.mjs → chunk-2CMCY54A.mjs} +2 -2
  6. package/dist/modules/chunks/{chunk-M6S5YA6X.mjs → chunk-2RUKPDIE.mjs} +4 -4
  7. package/dist/modules/chunks/{chunk-M6S5YA6X.mjs.map → chunk-2RUKPDIE.mjs.map} +1 -1
  8. package/dist/modules/chunks/{chunk-DWT3TA6M.mjs → chunk-3FBX3P3H.mjs} +9 -8
  9. package/dist/modules/chunks/chunk-3FBX3P3H.mjs.map +7 -0
  10. package/dist/modules/chunks/{chunk-6KM24NH6.mjs → chunk-3Y5WN22T.mjs} +3 -3
  11. package/dist/modules/chunks/chunk-3Y5WN22T.mjs.map +7 -0
  12. package/dist/modules/chunks/{chunk-YFQGSDK3.mjs → chunk-45WL24XN.mjs} +2 -2
  13. package/dist/modules/chunks/{chunk-FMCHH5R4.mjs → chunk-4FYKRL46.mjs} +3 -3
  14. package/dist/modules/chunks/{chunk-VW2ZF3P4.mjs → chunk-4MJHVZMB.mjs} +6 -6
  15. package/dist/modules/chunks/{chunk-XQYF2P6M.mjs → chunk-5HVXQEO3.mjs} +7 -7
  16. package/dist/modules/chunks/{chunk-XMP4THLF.mjs → chunk-66LM6NO6.mjs} +4 -4
  17. package/dist/modules/chunks/{chunk-P4UPH74B.mjs → chunk-6C4OCCYB.mjs} +12 -12
  18. package/dist/modules/chunks/{chunk-P4UPH74B.mjs.map → chunk-6C4OCCYB.mjs.map} +1 -1
  19. package/dist/modules/chunks/{chunk-ZGOGO7SS.mjs → chunk-6J27SWMY.mjs} +1 -1
  20. package/dist/modules/chunks/{chunk-JK7K7RG3.mjs → chunk-6VK7HB4X.mjs} +4 -4
  21. package/dist/modules/chunks/{chunk-HRKW766Y.mjs → chunk-6WZZ7TIC.mjs} +2 -2
  22. package/dist/modules/chunks/{chunk-FICPCJKR.mjs → chunk-7DFCIN3T.mjs} +3 -3
  23. package/dist/modules/chunks/{chunk-FICPCJKR.mjs.map → chunk-7DFCIN3T.mjs.map} +1 -1
  24. package/dist/modules/chunks/{chunk-U64FRQKP.mjs → chunk-7MWZK7HS.mjs} +3 -3
  25. package/dist/modules/chunks/{chunk-F5RLQAPN.mjs → chunk-A7OGXJAV.mjs} +3 -3
  26. package/dist/modules/chunks/{chunk-QUFVUMSY.mjs → chunk-AUINYWZP.mjs} +2 -2
  27. package/dist/modules/chunks/{chunk-PZIAKZJC.mjs → chunk-B24VYGHV.mjs} +3 -3
  28. package/dist/modules/chunks/{chunk-SRYQLFBV.mjs → chunk-BIUWJROZ.mjs} +3 -3
  29. package/dist/modules/chunks/{chunk-SRYQLFBV.mjs.map → chunk-BIUWJROZ.mjs.map} +2 -2
  30. package/dist/modules/chunks/{chunk-X4NNZ5X6.mjs → chunk-C2AMOM7H.mjs} +3 -3
  31. package/dist/modules/chunks/{chunk-IZAHIOFU.mjs → chunk-C3WVSJZF.mjs} +6 -6
  32. package/dist/modules/chunks/{chunk-2Z5KEV6L.mjs → chunk-CAXCOZ7Y.mjs} +3 -3
  33. package/dist/modules/chunks/{chunk-HWZCLROY.mjs → chunk-CN6YN4HP.mjs} +251 -45
  34. package/dist/modules/chunks/chunk-CN6YN4HP.mjs.map +7 -0
  35. package/dist/modules/chunks/{chunk-B6QUJ33G.mjs → chunk-CXFQME65.mjs} +3 -3
  36. package/dist/modules/chunks/{chunk-IJPWKKIU.mjs → chunk-CYOLEAAY.mjs} +14 -13
  37. package/dist/modules/chunks/chunk-CYOLEAAY.mjs.map +7 -0
  38. package/dist/modules/chunks/{chunk-U6UMATPV.mjs → chunk-CYU3WWN6.mjs} +3 -3
  39. package/dist/modules/chunks/{chunk-AGVLPYVE.mjs → chunk-D2LZIQE2.mjs} +2 -2
  40. package/dist/modules/chunks/{chunk-5YTMN435.mjs → chunk-DC5JP46Y.mjs} +13 -3
  41. package/dist/modules/chunks/chunk-DC5JP46Y.mjs.map +7 -0
  42. package/dist/modules/chunks/{chunk-YNHEYXDG.mjs → chunk-DOU4MNMQ.mjs} +3 -3
  43. package/dist/modules/chunks/{chunk-ZIDEETK4.mjs → chunk-E4G4HDOC.mjs} +3 -3
  44. package/dist/modules/chunks/{chunk-ZHO2G4JR.mjs → chunk-EZAJ66NW.mjs} +3 -3
  45. package/dist/modules/chunks/{chunk-APD2EWSZ.mjs → chunk-FIWL6TQS.mjs} +2 -2
  46. package/dist/modules/chunks/{chunk-U5J7OTEB.mjs → chunk-FSSARTVM.mjs} +3 -3
  47. package/dist/modules/chunks/{chunk-47RJSHLM.mjs → chunk-FXXPWAXM.mjs} +3 -3
  48. package/dist/modules/chunks/{chunk-D2RCKG7Q.mjs → chunk-G2QCXN56.mjs} +6 -6
  49. package/dist/modules/chunks/{chunk-4T3D67CS.mjs → chunk-GRDCA6LD.mjs} +8 -8
  50. package/dist/modules/chunks/{chunk-4T3D67CS.mjs.map → chunk-GRDCA6LD.mjs.map} +1 -1
  51. package/dist/modules/chunks/{chunk-WVU3CQ62.mjs → chunk-GUVUL6D2.mjs} +3 -3
  52. package/dist/modules/chunks/{chunk-YLCJNKIW.mjs → chunk-I32EONBF.mjs} +70 -30
  53. package/dist/modules/chunks/chunk-I32EONBF.mjs.map +7 -0
  54. package/dist/modules/chunks/{chunk-E3PJGTLI.mjs → chunk-IGIELQZ2.mjs} +5 -5
  55. package/dist/modules/chunks/{chunk-5PHAXNFO.mjs → chunk-IMDR26Y3.mjs} +3 -3
  56. package/dist/modules/chunks/{chunk-55F55BQY.mjs → chunk-JVOHFCI4.mjs} +3 -3
  57. package/dist/modules/chunks/{chunk-6I7RY73G.mjs → chunk-KCM7ZCQ3.mjs} +5 -5
  58. package/dist/modules/chunks/chunk-KCM7ZCQ3.mjs.map +7 -0
  59. package/dist/modules/chunks/{chunk-K2QZRFLE.mjs → chunk-KJTMDFFX.mjs} +4 -4
  60. package/dist/modules/chunks/{chunk-KX2WU5Z6.mjs → chunk-KPLESRQY.mjs} +3 -3
  61. package/dist/modules/chunks/{chunk-PW5CE2Y6.mjs → chunk-KUOWDTI6.mjs} +2 -2
  62. package/dist/modules/chunks/chunk-L6IHUN7X.mjs +13 -0
  63. package/dist/modules/chunks/chunk-L6IHUN7X.mjs.map +7 -0
  64. package/dist/modules/chunks/{chunk-INTTYJVW.mjs → chunk-LBQ6DFMP.mjs} +2 -2
  65. package/dist/modules/chunks/{chunk-OKQ5RBKO.mjs → chunk-LVWHM3UN.mjs} +2 -2
  66. package/dist/modules/chunks/{chunk-D57DDEV2.mjs → chunk-MDQMARAN.mjs} +6 -6
  67. package/dist/modules/chunks/{chunk-D57DDEV2.mjs.map → chunk-MDQMARAN.mjs.map} +2 -2
  68. package/dist/modules/chunks/{chunk-STQPRNEO.mjs → chunk-MLXRIWJA.mjs} +2 -2
  69. package/dist/modules/chunks/{chunk-D25SR5FS.mjs → chunk-N2SH3JGI.mjs} +3 -3
  70. package/dist/modules/chunks/{chunk-KI4WGTWL.mjs → chunk-N7NXZ6R3.mjs} +4 -4
  71. package/dist/modules/chunks/{chunk-KI4WGTWL.mjs.map → chunk-N7NXZ6R3.mjs.map} +2 -2
  72. package/dist/modules/chunks/{chunk-7IGFAI5H.mjs → chunk-O5QX6H3U.mjs} +5 -5
  73. package/dist/modules/chunks/{chunk-5W7SC5D4.mjs → chunk-P2Y73QJJ.mjs} +11 -1
  74. package/dist/modules/chunks/{chunk-5W7SC5D4.mjs.map → chunk-P2Y73QJJ.mjs.map} +2 -2
  75. package/dist/modules/chunks/{chunk-FNRGLCZW.mjs → chunk-PCQNUFDL.mjs} +39 -13
  76. package/dist/modules/chunks/chunk-PCQNUFDL.mjs.map +7 -0
  77. package/dist/modules/chunks/{chunk-46UEGAXY.mjs → chunk-Q7M7VUOZ.mjs} +6 -6
  78. package/dist/modules/chunks/{chunk-XE6ITXHT.mjs → chunk-QB33CMEU.mjs} +2 -2
  79. package/dist/modules/chunks/{chunk-E3Z7GLFU.mjs → chunk-QJHQN6OD.mjs} +15 -4
  80. package/dist/modules/chunks/chunk-QJHQN6OD.mjs.map +7 -0
  81. package/dist/modules/chunks/{chunk-KAGFU64Y.mjs → chunk-QW2VT3XB.mjs} +2 -2
  82. package/dist/modules/chunks/{chunk-U5R6MVM4.mjs → chunk-RFTLGEB5.mjs} +2 -2
  83. package/dist/modules/chunks/{chunk-VKNIYV2W.mjs → chunk-RYYKMDNI.mjs} +202 -35
  84. package/dist/modules/chunks/chunk-RYYKMDNI.mjs.map +7 -0
  85. package/dist/modules/chunks/{chunk-P5XMFZY4.mjs → chunk-SFB5BDTB.mjs} +2 -2
  86. package/dist/modules/chunks/{chunk-4D3Q7K44.mjs → chunk-SNICHQJP.mjs} +2 -2
  87. package/dist/modules/chunks/{chunk-CX5WREJC.mjs → chunk-SPGFO2TA.mjs} +2 -2
  88. package/dist/modules/chunks/{chunk-H256DQT6.mjs → chunk-TMPTVIAP.mjs} +2 -2
  89. package/dist/modules/chunks/{chunk-OQXDADAS.mjs → chunk-UWJYROKS.mjs} +6 -6
  90. package/dist/modules/chunks/chunk-UWJYROKS.mjs.map +7 -0
  91. package/dist/modules/chunks/{chunk-TTRUYO7Q.mjs → chunk-UZH2664E.mjs} +3 -3
  92. package/dist/modules/chunks/{chunk-TTRUYO7Q.mjs.map → chunk-UZH2664E.mjs.map} +2 -2
  93. package/dist/modules/chunks/{chunk-CKYXAT7H.mjs → chunk-VC4OEPDH.mjs} +2 -2
  94. package/dist/modules/chunks/{chunk-RJVOH7G2.mjs → chunk-VKWEA6NG.mjs} +27 -27
  95. package/dist/modules/chunks/{chunk-LZ57Y73Z.mjs → chunk-VSJOW7J4.mjs} +9 -7
  96. package/dist/modules/chunks/chunk-VSJOW7J4.mjs.map +7 -0
  97. package/dist/modules/chunks/{chunk-PVP5YBNR.mjs → chunk-WFM434WJ.mjs} +2 -2
  98. package/dist/modules/chunks/{chunk-TXLD7JI5.mjs → chunk-WJNASQF2.mjs} +2 -2
  99. package/dist/modules/chunks/{chunk-357UOBAS.mjs → chunk-XUNDH3E7.mjs} +2 -2
  100. package/dist/modules/chunks/{chunk-PJFFCRRD.mjs → chunk-YDARD4EP.mjs} +2 -2
  101. package/dist/modules/chunks/{chunk-27XASYEH.mjs → chunk-YU3HRQX7.mjs} +17 -11
  102. package/dist/modules/chunks/chunk-YU3HRQX7.mjs.map +7 -0
  103. package/dist/modules/chunks/{chunk-EZSGDSCC.mjs → chunk-ZRE7BDDB.mjs} +30 -5
  104. package/dist/modules/chunks/chunk-ZRE7BDDB.mjs.map +7 -0
  105. package/dist/modules/cli-contributions.mjs +14 -14
  106. package/dist/modules/cli.mjs +5 -5
  107. package/dist/modules/command-executor.mjs +3 -3
  108. package/dist/modules/embedded.mjs +82 -42
  109. package/dist/modules/embedded.mjs.map +2 -2
  110. package/dist/modules/extension-bridge.mjs +4 -4
  111. package/dist/modules/frontend-root.mjs +46 -46
  112. package/dist/modules/index.mjs +71 -65
  113. package/dist/modules/index.mjs.map +1 -1
  114. package/dist/modules/pages/scene.mjs +5 -5
  115. package/dist/modules/plugin.mjs +35 -35
  116. package/dist/modules/plugins/asset/frontend.mjs +10 -10
  117. package/dist/modules/plugins/asset/identity.mjs +9 -9
  118. package/dist/modules/plugins/asset/ui.mjs +3 -3
  119. package/dist/modules/plugins/content-browser/frontend.mjs +3 -3
  120. package/dist/modules/plugins/content-browser/identity.mjs +2 -2
  121. package/dist/modules/plugins/content-browser/ui.mjs +3 -3
  122. package/dist/modules/plugins/display/api.mjs +1 -1
  123. package/dist/modules/plugins/display/backend.mjs +4 -4
  124. package/dist/modules/plugins/display/frontend.mjs +5 -5
  125. package/dist/modules/plugins/display/identity.mjs +2 -2
  126. package/dist/modules/plugins/display/ui.mjs +3 -3
  127. package/dist/modules/plugins/inspector/frontend.mjs +3 -3
  128. package/dist/modules/plugins/inspector/identity.mjs +2 -2
  129. package/dist/modules/plugins/inspector/ui.mjs +3 -3
  130. package/dist/modules/plugins/material/frontend.mjs +10 -10
  131. package/dist/modules/plugins/material/identity.mjs +9 -9
  132. package/dist/modules/plugins/material/ui.mjs +10 -10
  133. package/dist/modules/plugins/mesh/frontend.mjs +10 -10
  134. package/dist/modules/plugins/mesh/identity.mjs +9 -9
  135. package/dist/modules/plugins/mesh/ui.mjs +10 -10
  136. package/dist/modules/plugins/plugins/api.mjs +4 -4
  137. package/dist/modules/plugins/plugins/backend.mjs +7 -7
  138. package/dist/modules/plugins/plugins/cli.mjs +5 -5
  139. package/dist/modules/plugins/plugins/frontend.mjs +3 -3
  140. package/dist/modules/plugins/plugins/identity.mjs +2 -2
  141. package/dist/modules/plugins/plugins/runtime.mjs +6 -6
  142. package/dist/modules/plugins/plugins/ui/panel.mjs +3 -3
  143. package/dist/modules/plugins/plugins/ui.mjs +4 -4
  144. package/dist/modules/plugins/scene/frontend.mjs +5 -5
  145. package/dist/modules/plugins/scene/identity.mjs +2 -2
  146. package/dist/modules/plugins/scene-tree/frontend.mjs +3 -3
  147. package/dist/modules/plugins/scene-tree/identity.mjs +2 -2
  148. package/dist/modules/plugins/scene-tree/ui.mjs +3 -3
  149. package/dist/modules/plugins/texture/frontend.mjs +10 -10
  150. package/dist/modules/plugins/texture/identity.mjs +9 -9
  151. package/dist/modules/plugins/texture/ui.mjs +10 -10
  152. package/dist/modules/plugins/viewport/frontend.mjs +12 -12
  153. package/dist/modules/plugins/viewport/identity.mjs +2 -2
  154. package/dist/modules/plugins/viewport/presentation.mjs +4 -4
  155. package/dist/modules/plugins/viewport/schema.mjs +2 -2
  156. package/dist/modules/plugins/viewport/workspace-shell.mjs +9 -9
  157. package/dist/modules/product.mjs +35 -35
  158. package/dist/modules/shell/frontend.mjs +1 -1
  159. package/dist/modules/viewer/catalog/backend.mjs +31 -31
  160. package/dist/modules/viewer/catalog/frontend.mjs +42 -42
  161. package/dist/modules/viewer/catalog/shared.mjs +20 -20
  162. package/dist/modules/viewer/catalog.mjs +51 -51
  163. package/dist/modules/viewer/cli.mjs +10 -10
  164. package/dist/modules/viewer-host/frontend.mjs +48 -48
  165. package/dist/modules/viewer-host/page-registry.mjs +6 -6
  166. package/dist/modules/viewer-host.mjs +7 -7
  167. package/dist/modules/viewer.mjs +51 -51
  168. package/dist/modules/workspace/api.mjs +1 -1
  169. package/dist/modules/workspace/backend.mjs +10 -10
  170. package/dist/modules/workspace/broker.mjs +9 -9
  171. package/dist/modules/workspace/cli.mjs +2 -2
  172. package/dist/modules/workspace/client.mjs +3 -3
  173. package/dist/modules/workspace/command-error.mjs +2 -2
  174. package/dist/modules/workspace/contract.mjs +7 -1
  175. package/dist/modules/workspace/engine-adapter.mjs +3 -3
  176. package/dist/modules/workspace/extension-bridge.mjs +4 -4
  177. package/dist/modules/workspace/frontend-plugin.mjs +8 -8
  178. package/dist/modules/workspace/frontend.mjs +9 -9
  179. package/dist/modules/workspace/page-title.mjs +3 -3
  180. package/dist/modules/workspace/presentation.mjs +4 -4
  181. package/dist/modules/workspace/preview-surface.mjs +7 -7
  182. package/dist/modules/workspace/project-session.mjs +2 -2
  183. package/dist/modules/workspace/render-resize-sync.mjs +2 -2
  184. package/dist/modules/workspace/resident.mjs +4 -4
  185. package/dist/modules/workspace/resource-open.mjs +5 -5
  186. package/dist/modules/workspace/resource-page.mjs +8 -8
  187. package/dist/modules/workspace/tool-runtime.mjs +7 -5
  188. package/dist/modules/workspace/view-trace.mjs +3 -3
  189. package/dist/modules/workspace/workspace-recovery.mjs +4 -4
  190. package/dist/modules/workspace/workspace-state.mjs +2 -2
  191. package/dist/modules/workspace-frontend.mjs +8 -8
  192. package/dist/viewer/assets/{embedded-DXSSFAyM.js → embedded-BKEAtUD6.js} +2 -2
  193. package/dist/viewer/assets/{embedded-DXSSFAyM.js.map → embedded-BKEAtUD6.js.map} +1 -1
  194. package/dist/viewer/assets/main-BQrn6wsa.js +22 -0
  195. package/dist/viewer/assets/main-BQrn6wsa.js.map +1 -0
  196. package/dist/viewer/assets/{panels-lazy-DqCwhGd9.js → panels-lazy-C_Cs-76A.js} +2 -2
  197. package/dist/viewer/assets/{panels-lazy-DqCwhGd9.js.map → panels-lazy-C_Cs-76A.js.map} +1 -1
  198. package/dist/viewer/assets/panels-ui-DEDHJLuE.js +12 -0
  199. package/dist/viewer/assets/panels-ui-DEDHJLuE.js.map +1 -0
  200. package/dist/viewer/assets/style-CcYzhsIZ.css +2 -0
  201. package/dist/viewer/assets/{wgpu_wasm--oeqTwVY.js → wgpu_wasm-cNR5izZM.js} +126 -0
  202. package/dist/viewer/assets/{wgpu_wasm_bg-WoZ1YI1I.wasm → wgpu_wasm_bg-Dps0jNcQ.wasm} +0 -0
  203. package/dist/viewer/index.html +4 -4
  204. package/dist/viewer/panels.js +1 -1
  205. package/package.json +2 -2
  206. package/scripts/verify-runtime-content-engine.mjs +7 -4
  207. package/skills/forgeax-view-cli/SKILL.md +11 -0
  208. package/dist/modules/chunks/chunk-27XASYEH.mjs.map +0 -7
  209. package/dist/modules/chunks/chunk-5YTMN435.mjs.map +0 -7
  210. package/dist/modules/chunks/chunk-6I7RY73G.mjs.map +0 -7
  211. package/dist/modules/chunks/chunk-6KM24NH6.mjs.map +0 -7
  212. package/dist/modules/chunks/chunk-DWT3TA6M.mjs.map +0 -7
  213. package/dist/modules/chunks/chunk-E3Z7GLFU.mjs.map +0 -7
  214. package/dist/modules/chunks/chunk-EZSGDSCC.mjs.map +0 -7
  215. package/dist/modules/chunks/chunk-FNRGLCZW.mjs.map +0 -7
  216. package/dist/modules/chunks/chunk-HWZCLROY.mjs.map +0 -7
  217. package/dist/modules/chunks/chunk-IJPWKKIU.mjs.map +0 -7
  218. package/dist/modules/chunks/chunk-LZ57Y73Z.mjs.map +0 -7
  219. package/dist/modules/chunks/chunk-OQXDADAS.mjs.map +0 -7
  220. package/dist/modules/chunks/chunk-QELNKFSI.mjs +0 -10
  221. package/dist/modules/chunks/chunk-QELNKFSI.mjs.map +0 -7
  222. package/dist/modules/chunks/chunk-VKNIYV2W.mjs.map +0 -7
  223. package/dist/modules/chunks/chunk-YLCJNKIW.mjs.map +0 -7
  224. package/dist/viewer/assets/main-CI6ZQziX.js +0 -22
  225. package/dist/viewer/assets/main-CI6ZQziX.js.map +0 -1
  226. package/dist/viewer/assets/panels-ui-CfUtl68h.js +0 -12
  227. package/dist/viewer/assets/panels-ui-CfUtl68h.js.map +0 -1
  228. package/dist/viewer/assets/style-gOtSMZif.css +0 -2
  229. /package/dist/modules/chunks/{chunk-EWSCJF77.mjs.map → chunk-2CMCY54A.mjs.map} +0 -0
  230. /package/dist/modules/chunks/{chunk-YFQGSDK3.mjs.map → chunk-45WL24XN.mjs.map} +0 -0
  231. /package/dist/modules/chunks/{chunk-FMCHH5R4.mjs.map → chunk-4FYKRL46.mjs.map} +0 -0
  232. /package/dist/modules/chunks/{chunk-VW2ZF3P4.mjs.map → chunk-4MJHVZMB.mjs.map} +0 -0
  233. /package/dist/modules/chunks/{chunk-XQYF2P6M.mjs.map → chunk-5HVXQEO3.mjs.map} +0 -0
  234. /package/dist/modules/chunks/{chunk-XMP4THLF.mjs.map → chunk-66LM6NO6.mjs.map} +0 -0
  235. /package/dist/modules/chunks/{chunk-ZGOGO7SS.mjs.map → chunk-6J27SWMY.mjs.map} +0 -0
  236. /package/dist/modules/chunks/{chunk-JK7K7RG3.mjs.map → chunk-6VK7HB4X.mjs.map} +0 -0
  237. /package/dist/modules/chunks/{chunk-HRKW766Y.mjs.map → chunk-6WZZ7TIC.mjs.map} +0 -0
  238. /package/dist/modules/chunks/{chunk-U64FRQKP.mjs.map → chunk-7MWZK7HS.mjs.map} +0 -0
  239. /package/dist/modules/chunks/{chunk-F5RLQAPN.mjs.map → chunk-A7OGXJAV.mjs.map} +0 -0
  240. /package/dist/modules/chunks/{chunk-QUFVUMSY.mjs.map → chunk-AUINYWZP.mjs.map} +0 -0
  241. /package/dist/modules/chunks/{chunk-PZIAKZJC.mjs.map → chunk-B24VYGHV.mjs.map} +0 -0
  242. /package/dist/modules/chunks/{chunk-X4NNZ5X6.mjs.map → chunk-C2AMOM7H.mjs.map} +0 -0
  243. /package/dist/modules/chunks/{chunk-IZAHIOFU.mjs.map → chunk-C3WVSJZF.mjs.map} +0 -0
  244. /package/dist/modules/chunks/{chunk-2Z5KEV6L.mjs.map → chunk-CAXCOZ7Y.mjs.map} +0 -0
  245. /package/dist/modules/chunks/{chunk-B6QUJ33G.mjs.map → chunk-CXFQME65.mjs.map} +0 -0
  246. /package/dist/modules/chunks/{chunk-U6UMATPV.mjs.map → chunk-CYU3WWN6.mjs.map} +0 -0
  247. /package/dist/modules/chunks/{chunk-AGVLPYVE.mjs.map → chunk-D2LZIQE2.mjs.map} +0 -0
  248. /package/dist/modules/chunks/{chunk-YNHEYXDG.mjs.map → chunk-DOU4MNMQ.mjs.map} +0 -0
  249. /package/dist/modules/chunks/{chunk-ZIDEETK4.mjs.map → chunk-E4G4HDOC.mjs.map} +0 -0
  250. /package/dist/modules/chunks/{chunk-ZHO2G4JR.mjs.map → chunk-EZAJ66NW.mjs.map} +0 -0
  251. /package/dist/modules/chunks/{chunk-APD2EWSZ.mjs.map → chunk-FIWL6TQS.mjs.map} +0 -0
  252. /package/dist/modules/chunks/{chunk-U5J7OTEB.mjs.map → chunk-FSSARTVM.mjs.map} +0 -0
  253. /package/dist/modules/chunks/{chunk-47RJSHLM.mjs.map → chunk-FXXPWAXM.mjs.map} +0 -0
  254. /package/dist/modules/chunks/{chunk-D2RCKG7Q.mjs.map → chunk-G2QCXN56.mjs.map} +0 -0
  255. /package/dist/modules/chunks/{chunk-WVU3CQ62.mjs.map → chunk-GUVUL6D2.mjs.map} +0 -0
  256. /package/dist/modules/chunks/{chunk-E3PJGTLI.mjs.map → chunk-IGIELQZ2.mjs.map} +0 -0
  257. /package/dist/modules/chunks/{chunk-5PHAXNFO.mjs.map → chunk-IMDR26Y3.mjs.map} +0 -0
  258. /package/dist/modules/chunks/{chunk-55F55BQY.mjs.map → chunk-JVOHFCI4.mjs.map} +0 -0
  259. /package/dist/modules/chunks/{chunk-K2QZRFLE.mjs.map → chunk-KJTMDFFX.mjs.map} +0 -0
  260. /package/dist/modules/chunks/{chunk-KX2WU5Z6.mjs.map → chunk-KPLESRQY.mjs.map} +0 -0
  261. /package/dist/modules/chunks/{chunk-PW5CE2Y6.mjs.map → chunk-KUOWDTI6.mjs.map} +0 -0
  262. /package/dist/modules/chunks/{chunk-INTTYJVW.mjs.map → chunk-LBQ6DFMP.mjs.map} +0 -0
  263. /package/dist/modules/chunks/{chunk-OKQ5RBKO.mjs.map → chunk-LVWHM3UN.mjs.map} +0 -0
  264. /package/dist/modules/chunks/{chunk-STQPRNEO.mjs.map → chunk-MLXRIWJA.mjs.map} +0 -0
  265. /package/dist/modules/chunks/{chunk-D25SR5FS.mjs.map → chunk-N2SH3JGI.mjs.map} +0 -0
  266. /package/dist/modules/chunks/{chunk-7IGFAI5H.mjs.map → chunk-O5QX6H3U.mjs.map} +0 -0
  267. /package/dist/modules/chunks/{chunk-46UEGAXY.mjs.map → chunk-Q7M7VUOZ.mjs.map} +0 -0
  268. /package/dist/modules/chunks/{chunk-XE6ITXHT.mjs.map → chunk-QB33CMEU.mjs.map} +0 -0
  269. /package/dist/modules/chunks/{chunk-KAGFU64Y.mjs.map → chunk-QW2VT3XB.mjs.map} +0 -0
  270. /package/dist/modules/chunks/{chunk-U5R6MVM4.mjs.map → chunk-RFTLGEB5.mjs.map} +0 -0
  271. /package/dist/modules/chunks/{chunk-P5XMFZY4.mjs.map → chunk-SFB5BDTB.mjs.map} +0 -0
  272. /package/dist/modules/chunks/{chunk-4D3Q7K44.mjs.map → chunk-SNICHQJP.mjs.map} +0 -0
  273. /package/dist/modules/chunks/{chunk-CX5WREJC.mjs.map → chunk-SPGFO2TA.mjs.map} +0 -0
  274. /package/dist/modules/chunks/{chunk-H256DQT6.mjs.map → chunk-TMPTVIAP.mjs.map} +0 -0
  275. /package/dist/modules/chunks/{chunk-CKYXAT7H.mjs.map → chunk-VC4OEPDH.mjs.map} +0 -0
  276. /package/dist/modules/chunks/{chunk-RJVOH7G2.mjs.map → chunk-VKWEA6NG.mjs.map} +0 -0
  277. /package/dist/modules/chunks/{chunk-PVP5YBNR.mjs.map → chunk-WFM434WJ.mjs.map} +0 -0
  278. /package/dist/modules/chunks/{chunk-TXLD7JI5.mjs.map → chunk-WJNASQF2.mjs.map} +0 -0
  279. /package/dist/modules/chunks/{chunk-357UOBAS.mjs.map → chunk-XUNDH3E7.mjs.map} +0 -0
  280. /package/dist/modules/chunks/{chunk-PJFFCRRD.mjs.map → chunk-YDARD4EP.mjs.map} +0 -0
@@ -11,11 +11,11 @@ import {
11
11
  selectWorkspaceResourcePreview,
12
12
  selectWorkspaceResourceSubject,
13
13
  summarizeResourceAsset
14
- } from "../chunks/chunk-ZIDEETK4.mjs";
15
- import "../chunks/chunk-KAGFU64Y.mjs";
16
- import "../chunks/chunk-U5R6MVM4.mjs";
17
- import "../chunks/chunk-TXLD7JI5.mjs";
18
- import "../chunks/chunk-E3Z7GLFU.mjs";
14
+ } from "../chunks/chunk-E4G4HDOC.mjs";
15
+ import "../chunks/chunk-QW2VT3XB.mjs";
16
+ import "../chunks/chunk-RFTLGEB5.mjs";
17
+ import "../chunks/chunk-WJNASQF2.mjs";
18
+ import "../chunks/chunk-QJHQN6OD.mjs";
19
19
  import "../chunks/chunk-4XEXLHX4.mjs";
20
20
  import "../chunks/chunk-FLGC65SR.mjs";
21
21
  export {
@@ -5,16 +5,16 @@ import {
5
5
  applyResourcePagePlugin,
6
6
  createResourcePageTypeContribution,
7
7
  createResourcePanelClaims
8
- } from "../chunks/chunk-KX2WU5Z6.mjs";
9
- import "../chunks/chunk-B6QUJ33G.mjs";
10
- import "../chunks/chunk-PJFFCRRD.mjs";
8
+ } from "../chunks/chunk-KPLESRQY.mjs";
9
+ import "../chunks/chunk-CXFQME65.mjs";
10
+ import "../chunks/chunk-YDARD4EP.mjs";
11
11
  import "../chunks/chunk-IM3H4F4X.mjs";
12
12
  import "../chunks/chunk-QW3ZY2AD.mjs";
13
- import "../chunks/chunk-ZIDEETK4.mjs";
14
- import "../chunks/chunk-KAGFU64Y.mjs";
15
- import "../chunks/chunk-U5R6MVM4.mjs";
16
- import "../chunks/chunk-TXLD7JI5.mjs";
17
- import "../chunks/chunk-E3Z7GLFU.mjs";
13
+ import "../chunks/chunk-E4G4HDOC.mjs";
14
+ import "../chunks/chunk-QW2VT3XB.mjs";
15
+ import "../chunks/chunk-RFTLGEB5.mjs";
16
+ import "../chunks/chunk-WJNASQF2.mjs";
17
+ import "../chunks/chunk-QJHQN6OD.mjs";
18
18
  import "../chunks/chunk-4XEXLHX4.mjs";
19
19
  import "../chunks/chunk-FLGC65SR.mjs";
20
20
  export {
@@ -1,15 +1,17 @@
1
1
  import {
2
2
  createWorkspaceToolContributions,
3
3
  defineWorkspaceOperations,
4
- runWorkspaceToolApi
5
- } from "../chunks/chunk-EZSGDSCC.mjs";
6
- import "../chunks/chunk-U5R6MVM4.mjs";
7
- import "../chunks/chunk-E3Z7GLFU.mjs";
4
+ runWorkspaceToolApi,
5
+ workspaceToolValue
6
+ } from "../chunks/chunk-ZRE7BDDB.mjs";
7
+ import "../chunks/chunk-RFTLGEB5.mjs";
8
+ import "../chunks/chunk-QJHQN6OD.mjs";
8
9
  import "../chunks/chunk-4XEXLHX4.mjs";
9
10
  import "../chunks/chunk-FLGC65SR.mjs";
10
11
  export {
11
12
  createWorkspaceToolContributions,
12
13
  defineWorkspaceOperations,
13
- runWorkspaceToolApi
14
+ runWorkspaceToolApi,
15
+ workspaceToolValue
14
16
  };
15
17
  //# sourceMappingURL=tool-runtime.mjs.map
@@ -26,9 +26,9 @@ import {
26
26
  traceView,
27
27
  traceViewRpc,
28
28
  wrapViewWorkspaceClient
29
- } from "../chunks/chunk-KAGFU64Y.mjs";
30
- import "../chunks/chunk-U5R6MVM4.mjs";
31
- import "../chunks/chunk-E3Z7GLFU.mjs";
29
+ } from "../chunks/chunk-QW2VT3XB.mjs";
30
+ import "../chunks/chunk-RFTLGEB5.mjs";
31
+ import "../chunks/chunk-QJHQN6OD.mjs";
32
32
  import "../chunks/chunk-4XEXLHX4.mjs";
33
33
  import "../chunks/chunk-FLGC65SR.mjs";
34
34
  export {
@@ -12,10 +12,10 @@ import {
12
12
  shouldAdoptRemoteWorkspaceProject,
13
13
  shouldOfferWorkspaceRecovery,
14
14
  workspaceProjectTargetUrl
15
- } from "../chunks/chunk-K2QZRFLE.mjs";
16
- import "../chunks/chunk-5YTMN435.mjs";
17
- import "../chunks/chunk-U5R6MVM4.mjs";
18
- import "../chunks/chunk-E3Z7GLFU.mjs";
15
+ } from "../chunks/chunk-KJTMDFFX.mjs";
16
+ import "../chunks/chunk-DC5JP46Y.mjs";
17
+ import "../chunks/chunk-RFTLGEB5.mjs";
18
+ import "../chunks/chunk-QJHQN6OD.mjs";
19
19
  import "../chunks/chunk-4XEXLHX4.mjs";
20
20
  import "../chunks/chunk-FLGC65SR.mjs";
21
21
  export {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createWorkspaceObservation,
3
3
  createWorkspaceStateReader
4
- } from "../chunks/chunk-TXLD7JI5.mjs";
5
- import "../chunks/chunk-E3Z7GLFU.mjs";
4
+ } from "../chunks/chunk-WJNASQF2.mjs";
5
+ import "../chunks/chunk-QJHQN6OD.mjs";
6
6
  import "../chunks/chunk-4XEXLHX4.mjs";
7
7
  import "../chunks/chunk-FLGC65SR.mjs";
8
8
  export {
@@ -1,14 +1,14 @@
1
1
  import "./chunks/chunk-Q2NO32WU.mjs";
2
2
  import {
3
3
  frontend_plugin_default
4
- } from "./chunks/chunk-OQXDADAS.mjs";
5
- import "./chunks/chunk-FNRGLCZW.mjs";
6
- import "./chunks/chunk-5YTMN435.mjs";
7
- import "./chunks/chunk-ZIDEETK4.mjs";
8
- import "./chunks/chunk-KAGFU64Y.mjs";
9
- import "./chunks/chunk-U5R6MVM4.mjs";
10
- import "./chunks/chunk-TXLD7JI5.mjs";
11
- import "./chunks/chunk-E3Z7GLFU.mjs";
4
+ } from "./chunks/chunk-UWJYROKS.mjs";
5
+ import "./chunks/chunk-PCQNUFDL.mjs";
6
+ import "./chunks/chunk-DC5JP46Y.mjs";
7
+ import "./chunks/chunk-E4G4HDOC.mjs";
8
+ import "./chunks/chunk-QW2VT3XB.mjs";
9
+ import "./chunks/chunk-RFTLGEB5.mjs";
10
+ import "./chunks/chunk-WJNASQF2.mjs";
11
+ import "./chunks/chunk-QJHQN6OD.mjs";
12
12
  import "./chunks/chunk-4XEXLHX4.mjs";
13
13
  import "./chunks/chunk-FLGC65SR.mjs";
14
14
  export {
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{B as t,L as n,lt as r,ut as i}from"./panels-lazy-DqCwhGd9.js";import{Mt as a,Nt as o,St as s,ft as c,st as l}from"./panels-ui-CfUtl68h.js";import{a as u,c as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./main-CI6ZQziX.js";import{t as v}from"../panels.js";var y=e(i(),1),b=s();function x(e,t){return t({connected:e.connected}),e.onDisconnect(e=>{t({connected:!1,detail:e?.message})})}function S(e,t={}){let[n,r]=(0,y.useState)(()=>e?.connected===!0),[i,a]=(0,y.useState)(),o=(0,y.useRef)(e?.connected===!0);return(0,y.useEffect)(()=>{if(!e){r(!1),a(void 0),o.current=!1;return}return x(e,e=>{if(e.connected){o.current=!0,r(!0),a(void 0);return}r(!1),a(e.detail)})},[e]),e?n?{phase:`connected`,onReconnect:t.onReconnect}:o.current?{phase:`disconnected`,detail:i,onReconnect:t.onReconnect}:{phase:`unconfigured`,detail:i}:{phase:`unconfigured`}}var C=r(),w={name:`forgeax.view.shell.workspace.mount`,provide:[`panelHost`,`viewSlotRegistry`,`pageHost`],apply(e,r={}){u(),p();let i=globalThis,s=i.__forgeaxViewPanelsPromise;i.__forgeaxViewPanelsPromise=Promise.resolve(v);let x=f(document),w=g(),T=m({registry:w}),E=document.createElement(`div`),D=d({registry:x,overlayRoot:E});E.id=`forgeax-view-root`,E.style.cssText=`position:absolute;inset:0`,document.body.append(E);let O=(0,b.createRoot)(E);O.render((0,C.jsx)(a,{defaultTheme:o(`light`),className:`fx-view-root`,children:(0,C.jsx)(n,{title:h(`view.projectOpen.busy`)})})),e.effect(()=>()=>{O.unmount(),E.remove(),i.__forgeaxViewPanelsPromise=s,delete i.__forgeaxViewReady});let k=e.get?.(`hostTransport`,!1);e.plugin({name:`forgeax.view.shell.workspace.render`,inject:[`viewOperationClient`],apply(e){let n=e.get(`viewOperationClient`);function s(){(0,y.useEffect)(()=>{i.__forgeaxViewReady={mounted:!0}},[]);let[e,s]=(0,y.useState)(c),u=S(k===!1?void 0:k,{onReconnect:()=>{n.projectSession?.reconnectHost?.()}});return(0,y.useEffect)(()=>{if(typeof n?.subscribe==`function`)return n.subscribe(e=>{e.selectedTabId&&s(e.selectedTabId)})},[n]),(0,C.jsx)(t,{root:E,children:(0,C.jsx)(a,{defaultTheme:o(`light`),persist:!0,applyToDocument:!0,className:`fx-view-root`,children:(0,C.jsx)(_,{slotRegistry:x,pageRegistry:w,pageHost:T,responsiveAutoTuck:r.layout?.responsiveAutoTuck,hostConnection:u,workspaceClient:n,selectedPageType:e===`forgeax-cli-display`?`display`:`editor`,onSelectPageType:e=>{(e===`display`||e===`editor`)&&n.selectTab(e===`display`?l:c).catch(e=>{i.__forgeaxViewReady={mounted:!1,error:String(e)}})}})})})}O.render((0,C.jsx)(s,{}))}}),e.provide(`viewSlotRegistry`,x),e.provide(`panelHost`,D),e.provide(`pageHost`,T)}};export{w as default};
2
- //# sourceMappingURL=embedded-DXSSFAyM.js.map
1
+ import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{B as t,L as n,lt as r,ut as i}from"./panels-lazy-C_Cs-76A.js";import{Mt as a,Nt as o,St as s,ft as c,st as l}from"./panels-ui-DEDHJLuE.js";import{a as u,c as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./main-BQrn6wsa.js";import{t as v}from"../panels.js";var y=e(i(),1),b=s();function x(e,t){return t({connected:e.connected}),e.onDisconnect(e=>{t({connected:!1,detail:e?.message})})}function S(e,t={}){let[n,r]=(0,y.useState)(()=>e?.connected===!0),[i,a]=(0,y.useState)(),o=(0,y.useRef)(e?.connected===!0);return(0,y.useEffect)(()=>{if(!e){r(!1),a(void 0),o.current=!1;return}return x(e,e=>{if(e.connected){o.current=!0,r(!0),a(void 0);return}r(!1),a(e.detail)})},[e]),e?n?{phase:`connected`,onReconnect:t.onReconnect}:o.current?{phase:`disconnected`,detail:i,onReconnect:t.onReconnect}:{phase:`unconfigured`,detail:i}:{phase:`unconfigured`}}var C=r(),w={name:`forgeax.view.shell.workspace.mount`,provide:[`panelHost`,`viewSlotRegistry`,`pageHost`],apply(e,r={}){u(),p();let i=globalThis,s=i.__forgeaxViewPanelsPromise;i.__forgeaxViewPanelsPromise=Promise.resolve(v);let x=f(document),w=g(),T=m({registry:w}),E=document.createElement(`div`),D=d({registry:x,overlayRoot:E});E.id=`forgeax-view-root`,E.style.cssText=`position:absolute;inset:0`,document.body.append(E);let O=(0,b.createRoot)(E);O.render((0,C.jsx)(a,{defaultTheme:o(`light`),className:`fx-view-root`,children:(0,C.jsx)(n,{title:h(`view.projectOpen.busy`)})})),e.effect(()=>()=>{O.unmount(),E.remove(),i.__forgeaxViewPanelsPromise=s,delete i.__forgeaxViewReady});let k=e.get?.(`hostTransport`,!1);e.plugin({name:`forgeax.view.shell.workspace.render`,inject:[`viewOperationClient`],apply(e){let n=e.get(`viewOperationClient`);function s(){(0,y.useEffect)(()=>{i.__forgeaxViewReady={mounted:!0}},[]);let[e,s]=(0,y.useState)(c),u=S(k===!1?void 0:k,{onReconnect:()=>{n.projectSession?.reconnectHost?.()}});return(0,y.useEffect)(()=>{if(typeof n?.subscribe==`function`)return n.subscribe(e=>{e.selectedTabId&&s(e.selectedTabId)})},[n]),(0,C.jsx)(t,{root:E,children:(0,C.jsx)(a,{defaultTheme:o(`light`),persist:!0,applyToDocument:!0,className:`fx-view-root`,children:(0,C.jsx)(_,{slotRegistry:x,pageRegistry:w,pageHost:T,panelHost:D,responsiveAutoTuck:r.layout?.responsiveAutoTuck,hostConnection:u,workspaceClient:n,selectedPageType:e===`forgeax-cli-display`?`display`:`editor`,onSelectPageType:e=>{(e===`display`||e===`editor`)&&n.selectTab(e===`display`?l:c).catch(e=>{i.__forgeaxViewReady={mounted:!1,error:String(e)}})}})})})}O.render((0,C.jsx)(s,{}))}}),e.provide(`viewSlotRegistry`,x),e.provide(`panelHost`,D),e.provide(`pageHost`,T)}};export{w as default};
2
+ //# sourceMappingURL=embedded-BKEAtUD6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-DXSSFAyM.js","names":[],"sources":["../../../packages/viewer/src/shell/host-ws-transport.ts","../../../packages/viewer/src/shell/use-host-ws-connection.ts","../../../packages/viewer/src/shell/embedded.tsx"],"sourcesContent":["export type HostWsTransport = {\n readonly connected: boolean;\n onDisconnect(listener: (error: { message?: string }) => void): () => void;\n};\n\nexport function attachHostWsTransport(\n transport: HostWsTransport,\n onChange: (state: { connected: boolean; detail?: string }) => void,\n): () => void {\n onChange({ connected: transport.connected });\n return transport.onDisconnect((error) => {\n onChange({ connected: false, detail: error?.message });\n });\n}\n","import { useEffect, useRef, useState } from 'react';\n\nimport type { HostConnection } from './HostConnectionIndicator';\nimport { attachHostWsTransport } from './host-ws-transport';\n\nexport function useHostWsConnection(\n transport: HostWsTransport | null | undefined,\n options: { onReconnect?: () => void } = {},\n): HostConnection {\n const [connected, setConnected] = useState(() => transport?.connected === true);\n const [detail, setDetail] = useState<string | undefined>();\n const hadConnectedRef = useRef(transport?.connected === true);\n\n useEffect(() => {\n if (!transport) {\n setConnected(false);\n setDetail(undefined);\n hadConnectedRef.current = false;\n return;\n }\n return attachHostWsTransport(transport, (state) => {\n if (state.connected) {\n hadConnectedRef.current = true;\n setConnected(true);\n setDetail(undefined);\n return;\n }\n setConnected(false);\n setDetail(state.detail);\n });\n }, [transport]);\n\n if (!transport) {\n return { phase: 'unconfigured' };\n }\n if (connected) {\n return { phase: 'connected', onReconnect: options.onReconnect };\n }\n if (hadConnectedRef.current) {\n return {\n phase: 'disconnected',\n detail,\n onReconnect: options.onReconnect,\n };\n }\n return { phase: 'unconfigured', detail };\n}\n\ntype HostWsTransport = import('./host-ws-transport').HostWsTransport;\n","import { useEffect, useState } from 'react';\nimport { LoadingState, OverlayRootProvider } from '@forgeax/view-components';\nimport { VIEW_DISPLAY_TAB_ID, VIEW_WORKSPACE_TAB_ID } from '@forgeax/view-workspace-core/contract';\nimport { restoreProjectPreferences } from '@forgeax/view-workspace-core/project-session';\nimport { createRoot } from 'react-dom/client';\nimport { ThemeProvider, initializeTheme } from '@forgeax/view-components/theme';\nimport type { Plugin } from '@forgeax/engine/plugin';\nimport type { ViewFrontendConfig } from '../config.ts';\nimport { createViewPanelHost } from '../host/panel-bridge.ts';\nimport { createViewPageHost, createViewPageTypeRegistry } from '../host/page-registry.ts';\nimport { createViewSlotRegistry } from '../host/slot-registry.ts';\nimport { initI18n, t } from '../i18n';\nimport { ViewerShell } from './ViewerShell';\nimport { useHostWsConnection } from './use-host-ws-connection';\nimport * as panels from '../panels-entry';\nimport '@forgeax/view-components/styles.css';\nimport '../styles.css';\n\n/** Same-document UI plugin. Engine supplies only its exact live surface. */\nconst embeddedShell: Plugin = {\n name: 'forgeax.view.shell.workspace.mount',\n provide: ['panelHost', 'viewSlotRegistry', 'pageHost'],\n apply(ctx, config: ViewFrontendConfig = {}) {\n restoreProjectPreferences();\n initI18n();\n const state = globalThis;\n const previousPanels = state.__forgeaxViewPanelsPromise;\n state.__forgeaxViewPanelsPromise = Promise.resolve(panels);\n const registry = createViewSlotRegistry(document);\n const pageRegistry = createViewPageTypeRegistry();\n const pageHost = createViewPageHost({ registry: pageRegistry });\n const element = document.createElement('div');\n const panelHost = createViewPanelHost({ registry, overlayRoot: element });\n element.id = 'forgeax-view-root';\n // Do not trap every UI overlay in a stacking context below the borrowed\n // Engine surface. Panels, surfaces and portaled overlays share one stack.\n element.style.cssText = 'position:absolute;inset:0';\n document.body.append(element);\n const root = createRoot(element);\n root.render(<ThemeProvider defaultTheme={initializeTheme('light')} className=\"fx-view-root\">\n <LoadingState title={t('view.projectOpen.busy')} />\n </ThemeProvider>);\n ctx.effect(() => () => {\n root.unmount();\n element.remove();\n state.__forgeaxViewPanelsPromise = previousPanels;\n delete state.__forgeaxViewReady;\n });\n const hostTransport = ctx.get?.('hostTransport', false) as\n | import('./host-ws-transport').HostWsTransport\n | false;\n\n void ctx.plugin({\n name: 'forgeax.view.shell.workspace.render',\n inject: ['viewOperationClient'],\n apply(renderContext) {\n const client = renderContext.get('viewOperationClient')!;\n function ConnectedShell() {\n useEffect(() => { state.__forgeaxViewReady = { mounted: true }; }, []);\n const [selectedTabId, setSelectedTabId] = useState(VIEW_WORKSPACE_TAB_ID);\n const hostConnection = useHostWsConnection(\n hostTransport === false ? undefined : hostTransport,\n { onReconnect: () => { void client.projectSession?.reconnectHost?.(); } },\n );\n useEffect(() => {\n if (typeof client?.subscribe !== 'function') return undefined;\n return client.subscribe(state => {\n if (state.selectedTabId) setSelectedTabId(state.selectedTabId);\n });\n }, [client]);\n return <OverlayRootProvider root={element}><ThemeProvider defaultTheme={initializeTheme('light')} persist applyToDocument className=\"fx-view-root\">\n <ViewerShell slotRegistry={registry} pageRegistry={pageRegistry} pageHost={pageHost}\n responsiveAutoTuck={config.layout?.responsiveAutoTuck}\n hostConnection={hostConnection}\n workspaceClient={client}\n selectedPageType={selectedTabId === VIEW_DISPLAY_TAB_ID ? 'display' : 'editor'}\n onSelectPageType={typeId => {\n if (typeId === 'display' || typeId === 'editor') {\n void client.selectTab(typeId === 'display' ? VIEW_DISPLAY_TAB_ID : VIEW_WORKSPACE_TAB_ID).catch(error => {\n state.__forgeaxViewReady = { mounted: false, error: String(error) };\n });\n }\n }} />\n </ThemeProvider></OverlayRootProvider>;\n }\n root.render(<ConnectedShell />);\n },\n });\n ctx.provide('viewSlotRegistry', registry);\n ctx.provide('panelHost', panelHost);\n ctx.provide('pageHost', pageHost);\n },\n};\nexport default embeddedShell;\n"],"mappings":"mVAKA,SAAA,EAAA,EAAA,EAAA,CAKE,OADA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,CACA,EAAA,aAAA,GAAA,CACE,EAAA,oCCNJ,SAAgB,EACd,EACA,EAAwC,EAAE,CAC1B,CAChB,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,cAA+B,GAAW,YAAc,GAAK,CACzE,CAAC,EAAQ,IAAA,EAAA,EAAA,WAA2C,CACpD,GAAA,EAAA,EAAA,QAAyB,GAAW,YAAc,GAAK,CAkC7D,OAhCA,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAW,CACd,EAAa,GAAM,CACnB,EAAU,IAAA,GAAU,CACpB,EAAgB,QAAU,GAC1B,OAEF,OAAO,EAAsB,EAAY,GAAU,CACjD,GAAI,EAAM,UAAW,CACnB,EAAgB,QAAU,GAC1B,EAAa,GAAK,CAClB,EAAU,IAAA,GAAU,CACpB,OAEF,EAAa,GAAM,CACnB,EAAU,EAAM,OAAO,EACvB,EACD,CAAC,EAAU,CAAC,CAEV,EAGD,EACK,CAAE,MAAO,YAAa,YAAa,EAAQ,YAAa,CAE7D,EAAgB,QACX,CACL,MAAO,eACP,SACA,YAAa,EAAQ,YACtB,CAEI,CAAE,MAAO,eAAgB,SAAQ,CAZ/B,CAAE,MAAO,eAAgB,WCd9B,EAAwB,CAC5B,KAAM,qCACN,QAAS,CAAC,YAAa,mBAAoB,WAAW,CACtD,MAAM,EAAK,EAA6B,EAAE,CAAE,CAC1C,GAA2B,CAC3B,GAAU,CACV,IAAM,EAAQ,WACR,EAAiB,EAAM,2BAC7B,EAAM,2BAA6B,QAAQ,QAAQ,EAAO,CAC1D,IAAM,EAAW,EAAuB,SAAS,CAC3C,EAAe,GAA4B,CAC3C,EAAW,EAAmB,CAAE,SAAU,EAAc,CAAC,CACzD,EAAU,SAAS,cAAc,MAAM,CACvC,EAAY,EAAoB,CAAE,WAAU,YAAa,EAAS,CAAC,CACzE,EAAQ,GAAK,oBAGb,EAAQ,MAAM,QAAU,4BACxB,SAAS,KAAK,OAAO,EAAQ,CAC7B,IAAM,GAAA,EAAA,EAAA,YAAkB,EAAQ,CAChC,EAAK,QAAO,EAAA,EAAA,KAAC,EAAD,CAAe,aAAc,EAAgB,QAAQ,CAAE,UAAU,yBAC3E,EAAA,EAAA,KAAC,EAAD,CAAc,MAAO,EAAE,wBAAwB,CAAI,CAAA,CACrC,CAAA,CAAC,CACjB,EAAI,eAAmB,CACrB,EAAK,SAAS,CACd,EAAQ,QAAQ,CAChB,EAAM,2BAA6B,EACnC,OAAO,EAAM,oBACb,CACF,IAAM,EAAgB,EAAI,MAAM,gBAAiB,GAAM,CAIlD,EAAI,OAAO,CACd,KAAM,sCACN,OAAQ,CAAC,sBAAsB,CAC/B,MAAM,EAAe,CACnB,IAAM,EAAS,EAAc,IAAI,sBAAsB,CACvD,SAAS,GAAiB,EACxB,EAAA,EAAA,eAAgB,CAAE,EAAM,mBAAqB,CAAE,QAAS,GAAM,EAAK,EAAE,CAAC,CACtE,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,EAAsB,CACnE,EAAiB,EACrB,IAAkB,GAAQ,IAAA,GAAY,EACtC,CAAE,gBAAmB,CAAO,EAAO,gBAAgB,iBAAiB,EAAK,CAC1E,CAOD,OANA,EAAA,EAAA,eAAgB,CACV,UAAO,GAAQ,WAAc,WACjC,OAAO,EAAO,UAAU,GAAS,CAC3B,EAAM,eAAe,EAAiB,EAAM,cAAc,EAC9D,EACD,CAAC,EAAO,CAAC,EACL,EAAA,EAAA,KAAC,EAAD,CAAqB,KAAM,YAAS,EAAA,EAAA,KAAC,EAAD,CAAe,aAAc,EAAgB,QAAQ,CAAE,QAAA,GAAQ,gBAAA,GAAgB,UAAU,yBAClI,EAAA,EAAA,KAAC,EAAD,CAAa,aAAc,EAAwB,eAAwB,WACzE,mBAAoB,EAAO,QAAQ,mBACnB,iBAChB,gBAAiB,EACjB,iBAAkB,IAAA,sBAAwC,UAAY,SACtE,iBAAkB,GAAU,EACtB,IAAW,WAAa,IAAW,WAChC,EAAO,UAAU,IAAW,UAAY,EAAsB,EAAsB,CAAC,MAAM,GAAS,CACvG,EAAM,mBAAqB,CAAE,QAAS,GAAO,MAAO,OAAO,EAAM,CAAE,EACnE,EAED,CAAA,CACO,CAAA,CAAsB,CAAA,CAExC,EAAK,QAAO,EAAA,EAAA,KAAC,EAAD,EAAkB,CAAA,CAAC,EAElC,CAAC,CACF,EAAI,QAAQ,mBAAoB,EAAS,CACzC,EAAI,QAAQ,YAAa,EAAU,CACnC,EAAI,QAAQ,WAAY,EAAS,EAEpC"}
1
+ {"version":3,"file":"embedded-BKEAtUD6.js","names":[],"sources":["../../../packages/viewer/src/shell/host-ws-transport.ts","../../../packages/viewer/src/shell/use-host-ws-connection.ts","../../../packages/viewer/src/shell/embedded.tsx"],"sourcesContent":["export type HostWsTransport = {\n readonly connected: boolean;\n onDisconnect(listener: (error: { message?: string }) => void): () => void;\n};\n\nexport function attachHostWsTransport(\n transport: HostWsTransport,\n onChange: (state: { connected: boolean; detail?: string }) => void,\n): () => void {\n onChange({ connected: transport.connected });\n return transport.onDisconnect((error) => {\n onChange({ connected: false, detail: error?.message });\n });\n}\n","import { useEffect, useRef, useState } from 'react';\n\nimport type { HostConnection } from './HostConnectionIndicator';\nimport { attachHostWsTransport } from './host-ws-transport';\n\nexport function useHostWsConnection(\n transport: HostWsTransport | null | undefined,\n options: { onReconnect?: () => void } = {},\n): HostConnection {\n const [connected, setConnected] = useState(() => transport?.connected === true);\n const [detail, setDetail] = useState<string | undefined>();\n const hadConnectedRef = useRef(transport?.connected === true);\n\n useEffect(() => {\n if (!transport) {\n setConnected(false);\n setDetail(undefined);\n hadConnectedRef.current = false;\n return;\n }\n return attachHostWsTransport(transport, (state) => {\n if (state.connected) {\n hadConnectedRef.current = true;\n setConnected(true);\n setDetail(undefined);\n return;\n }\n setConnected(false);\n setDetail(state.detail);\n });\n }, [transport]);\n\n if (!transport) {\n return { phase: 'unconfigured' };\n }\n if (connected) {\n return { phase: 'connected', onReconnect: options.onReconnect };\n }\n if (hadConnectedRef.current) {\n return {\n phase: 'disconnected',\n detail,\n onReconnect: options.onReconnect,\n };\n }\n return { phase: 'unconfigured', detail };\n}\n\ntype HostWsTransport = import('./host-ws-transport').HostWsTransport;\n","import { useEffect, useState } from 'react';\nimport { LoadingState, OverlayRootProvider } from '@forgeax/view-components';\nimport { VIEW_DISPLAY_TAB_ID, VIEW_WORKSPACE_TAB_ID } from '@forgeax/view-workspace-core/contract';\nimport { restoreProjectPreferences } from '@forgeax/view-workspace-core/project-session';\nimport { createRoot } from 'react-dom/client';\nimport { ThemeProvider, initializeTheme } from '@forgeax/view-components/theme';\nimport type { Plugin } from '@forgeax/engine/plugin';\nimport type { ViewFrontendConfig } from '../config.ts';\nimport { createViewPanelHost } from '../host/panel-bridge.ts';\nimport { createViewPageHost, createViewPageTypeRegistry } from '../host/page-registry.ts';\nimport { createViewSlotRegistry } from '../host/slot-registry.ts';\nimport { initI18n, t } from '../i18n';\nimport { ViewerShell } from './ViewerShell';\nimport { useHostWsConnection } from './use-host-ws-connection';\nimport * as panels from '../panels-entry';\nimport '@forgeax/view-components/styles.css';\nimport '../styles.css';\n\n/** Same-document UI plugin. Engine supplies only its exact live surface. */\nconst embeddedShell: Plugin = {\n name: 'forgeax.view.shell.workspace.mount',\n provide: ['panelHost', 'viewSlotRegistry', 'pageHost'],\n apply(ctx, config: ViewFrontendConfig = {}) {\n restoreProjectPreferences();\n initI18n();\n const state = globalThis;\n const previousPanels = state.__forgeaxViewPanelsPromise;\n state.__forgeaxViewPanelsPromise = Promise.resolve(panels);\n const registry = createViewSlotRegistry(document);\n const pageRegistry = createViewPageTypeRegistry();\n const pageHost = createViewPageHost({ registry: pageRegistry });\n const element = document.createElement('div');\n const panelHost = createViewPanelHost({ registry, overlayRoot: element });\n element.id = 'forgeax-view-root';\n // Do not trap every UI overlay in a stacking context below the borrowed\n // Engine surface. Panels, surfaces and portaled overlays share one stack.\n element.style.cssText = 'position:absolute;inset:0';\n document.body.append(element);\n const root = createRoot(element);\n root.render(<ThemeProvider defaultTheme={initializeTheme('light')} className=\"fx-view-root\">\n <LoadingState title={t('view.projectOpen.busy')} />\n </ThemeProvider>);\n ctx.effect(() => () => {\n root.unmount();\n element.remove();\n state.__forgeaxViewPanelsPromise = previousPanels;\n delete state.__forgeaxViewReady;\n });\n const hostTransport = ctx.get?.('hostTransport', false) as\n | import('./host-ws-transport').HostWsTransport\n | false;\n\n void ctx.plugin({\n name: 'forgeax.view.shell.workspace.render',\n inject: ['viewOperationClient'],\n apply(renderContext) {\n const client = renderContext.get('viewOperationClient')!;\n function ConnectedShell() {\n useEffect(() => { state.__forgeaxViewReady = { mounted: true }; }, []);\n const [selectedTabId, setSelectedTabId] = useState(VIEW_WORKSPACE_TAB_ID);\n const hostConnection = useHostWsConnection(\n hostTransport === false ? undefined : hostTransport,\n { onReconnect: () => { void client.projectSession?.reconnectHost?.(); } },\n );\n useEffect(() => {\n if (typeof client?.subscribe !== 'function') return undefined;\n return client.subscribe(state => {\n if (state.selectedTabId) setSelectedTabId(state.selectedTabId);\n });\n }, [client]);\n return <OverlayRootProvider root={element}><ThemeProvider defaultTheme={initializeTheme('light')} persist applyToDocument className=\"fx-view-root\">\n <ViewerShell slotRegistry={registry} pageRegistry={pageRegistry} pageHost={pageHost} panelHost={panelHost}\n responsiveAutoTuck={config.layout?.responsiveAutoTuck}\n hostConnection={hostConnection}\n workspaceClient={client}\n selectedPageType={selectedTabId === VIEW_DISPLAY_TAB_ID ? 'display' : 'editor'}\n onSelectPageType={typeId => {\n if (typeId === 'display' || typeId === 'editor') {\n void client.selectTab(typeId === 'display' ? VIEW_DISPLAY_TAB_ID : VIEW_WORKSPACE_TAB_ID).catch(error => {\n state.__forgeaxViewReady = { mounted: false, error: String(error) };\n });\n }\n }} />\n </ThemeProvider></OverlayRootProvider>;\n }\n root.render(<ConnectedShell />);\n },\n });\n ctx.provide('viewSlotRegistry', registry);\n ctx.provide('panelHost', panelHost);\n ctx.provide('pageHost', pageHost);\n },\n};\nexport default embeddedShell;\n"],"mappings":"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"}