@forgeax/view 0.2.1-beta-20260924075842

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 (585) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +742 -0
  3. package/dist/modules/backend.mjs +54 -0
  4. package/dist/modules/backend.mjs.map +7 -0
  5. package/dist/modules/browser.mjs +180 -0
  6. package/dist/modules/browser.mjs.map +7 -0
  7. package/dist/modules/carrier-contract.mjs +38 -0
  8. package/dist/modules/carrier-contract.mjs.map +7 -0
  9. package/dist/modules/carrier.mjs +13 -0
  10. package/dist/modules/carrier.mjs.map +7 -0
  11. package/dist/modules/chunks/chunk-2ASWB6IX.mjs +225 -0
  12. package/dist/modules/chunks/chunk-2ASWB6IX.mjs.map +7 -0
  13. package/dist/modules/chunks/chunk-2IJKOG2F.mjs +801 -0
  14. package/dist/modules/chunks/chunk-2IJKOG2F.mjs.map +7 -0
  15. package/dist/modules/chunks/chunk-2K3BBJ5S.mjs +9 -0
  16. package/dist/modules/chunks/chunk-2K3BBJ5S.mjs.map +7 -0
  17. package/dist/modules/chunks/chunk-32GD5LL6.mjs +482 -0
  18. package/dist/modules/chunks/chunk-32GD5LL6.mjs.map +7 -0
  19. package/dist/modules/chunks/chunk-3B4KFAEC.mjs +10 -0
  20. package/dist/modules/chunks/chunk-3B4KFAEC.mjs.map +7 -0
  21. package/dist/modules/chunks/chunk-46O5WX43.mjs +25 -0
  22. package/dist/modules/chunks/chunk-46O5WX43.mjs.map +7 -0
  23. package/dist/modules/chunks/chunk-47J5JXAB.mjs +237 -0
  24. package/dist/modules/chunks/chunk-47J5JXAB.mjs.map +7 -0
  25. package/dist/modules/chunks/chunk-4BXQOUDQ.mjs +17 -0
  26. package/dist/modules/chunks/chunk-4BXQOUDQ.mjs.map +7 -0
  27. package/dist/modules/chunks/chunk-4GQWYU2V.mjs +126 -0
  28. package/dist/modules/chunks/chunk-4GQWYU2V.mjs.map +7 -0
  29. package/dist/modules/chunks/chunk-4N5X2PRQ.mjs +48 -0
  30. package/dist/modules/chunks/chunk-4N5X2PRQ.mjs.map +7 -0
  31. package/dist/modules/chunks/chunk-4WXD2KYX.mjs +56 -0
  32. package/dist/modules/chunks/chunk-4WXD2KYX.mjs.map +7 -0
  33. package/dist/modules/chunks/chunk-6ZWWVAZK.mjs +468 -0
  34. package/dist/modules/chunks/chunk-6ZWWVAZK.mjs.map +7 -0
  35. package/dist/modules/chunks/chunk-73UZNRHN.mjs +296 -0
  36. package/dist/modules/chunks/chunk-73UZNRHN.mjs.map +7 -0
  37. package/dist/modules/chunks/chunk-7ITLCRND.mjs +10 -0
  38. package/dist/modules/chunks/chunk-7ITLCRND.mjs.map +7 -0
  39. package/dist/modules/chunks/chunk-7TGVWKH7.mjs +59 -0
  40. package/dist/modules/chunks/chunk-7TGVWKH7.mjs.map +7 -0
  41. package/dist/modules/chunks/chunk-7URFF53W.mjs +42 -0
  42. package/dist/modules/chunks/chunk-7URFF53W.mjs.map +7 -0
  43. package/dist/modules/chunks/chunk-7YSDRIFN.mjs +14 -0
  44. package/dist/modules/chunks/chunk-7YSDRIFN.mjs.map +7 -0
  45. package/dist/modules/chunks/chunk-AAFVCQPK.mjs +52 -0
  46. package/dist/modules/chunks/chunk-AAFVCQPK.mjs.map +7 -0
  47. package/dist/modules/chunks/chunk-AEK7ZESQ.mjs +18 -0
  48. package/dist/modules/chunks/chunk-AEK7ZESQ.mjs.map +7 -0
  49. package/dist/modules/chunks/chunk-AL6ZWIEU.mjs +42 -0
  50. package/dist/modules/chunks/chunk-AL6ZWIEU.mjs.map +7 -0
  51. package/dist/modules/chunks/chunk-ALT7XVMQ.mjs +73 -0
  52. package/dist/modules/chunks/chunk-ALT7XVMQ.mjs.map +7 -0
  53. package/dist/modules/chunks/chunk-ASI2HBE6.mjs +116 -0
  54. package/dist/modules/chunks/chunk-ASI2HBE6.mjs.map +7 -0
  55. package/dist/modules/chunks/chunk-ATWGCH7I.mjs +174 -0
  56. package/dist/modules/chunks/chunk-ATWGCH7I.mjs.map +7 -0
  57. package/dist/modules/chunks/chunk-C45U6IIY.mjs +692 -0
  58. package/dist/modules/chunks/chunk-C45U6IIY.mjs.map +7 -0
  59. package/dist/modules/chunks/chunk-C7R3YRA7.mjs +98 -0
  60. package/dist/modules/chunks/chunk-C7R3YRA7.mjs.map +7 -0
  61. package/dist/modules/chunks/chunk-CRMICXKN.mjs +87 -0
  62. package/dist/modules/chunks/chunk-CRMICXKN.mjs.map +7 -0
  63. package/dist/modules/chunks/chunk-CUH2G6UF.mjs +81 -0
  64. package/dist/modules/chunks/chunk-CUH2G6UF.mjs.map +7 -0
  65. package/dist/modules/chunks/chunk-D7GWRZLL.mjs +77 -0
  66. package/dist/modules/chunks/chunk-D7GWRZLL.mjs.map +7 -0
  67. package/dist/modules/chunks/chunk-DBWUIBE3.mjs +10 -0
  68. package/dist/modules/chunks/chunk-DBWUIBE3.mjs.map +7 -0
  69. package/dist/modules/chunks/chunk-DQWVWWUU.mjs +77 -0
  70. package/dist/modules/chunks/chunk-DQWVWWUU.mjs.map +7 -0
  71. package/dist/modules/chunks/chunk-DZZ2WFEU.mjs +122 -0
  72. package/dist/modules/chunks/chunk-DZZ2WFEU.mjs.map +7 -0
  73. package/dist/modules/chunks/chunk-E4UIAN26.mjs +58 -0
  74. package/dist/modules/chunks/chunk-E4UIAN26.mjs.map +7 -0
  75. package/dist/modules/chunks/chunk-EJGBVKFE.mjs +77 -0
  76. package/dist/modules/chunks/chunk-EJGBVKFE.mjs.map +7 -0
  77. package/dist/modules/chunks/chunk-EPSTTHWV.mjs +173 -0
  78. package/dist/modules/chunks/chunk-EPSTTHWV.mjs.map +7 -0
  79. package/dist/modules/chunks/chunk-ER7T6QJ3.mjs +64 -0
  80. package/dist/modules/chunks/chunk-ER7T6QJ3.mjs.map +7 -0
  81. package/dist/modules/chunks/chunk-FD4BAJ6K.mjs +389 -0
  82. package/dist/modules/chunks/chunk-FD4BAJ6K.mjs.map +7 -0
  83. package/dist/modules/chunks/chunk-FJM6WWIY.mjs +80 -0
  84. package/dist/modules/chunks/chunk-FJM6WWIY.mjs.map +7 -0
  85. package/dist/modules/chunks/chunk-FKCQYDLX.mjs +162 -0
  86. package/dist/modules/chunks/chunk-FKCQYDLX.mjs.map +7 -0
  87. package/dist/modules/chunks/chunk-FLGC65SR.mjs +10 -0
  88. package/dist/modules/chunks/chunk-FLGC65SR.mjs.map +7 -0
  89. package/dist/modules/chunks/chunk-FMCACPX5.mjs +289 -0
  90. package/dist/modules/chunks/chunk-FMCACPX5.mjs.map +7 -0
  91. package/dist/modules/chunks/chunk-FOBRLUQV.mjs +51 -0
  92. package/dist/modules/chunks/chunk-FOBRLUQV.mjs.map +7 -0
  93. package/dist/modules/chunks/chunk-FV3DSKZB.mjs +33 -0
  94. package/dist/modules/chunks/chunk-FV3DSKZB.mjs.map +7 -0
  95. package/dist/modules/chunks/chunk-G7BAFAGO.mjs +98 -0
  96. package/dist/modules/chunks/chunk-G7BAFAGO.mjs.map +7 -0
  97. package/dist/modules/chunks/chunk-GQBZMCTK.mjs +145 -0
  98. package/dist/modules/chunks/chunk-GQBZMCTK.mjs.map +7 -0
  99. package/dist/modules/chunks/chunk-GYWIY7AL.mjs +131 -0
  100. package/dist/modules/chunks/chunk-GYWIY7AL.mjs.map +7 -0
  101. package/dist/modules/chunks/chunk-H3KNBALD.mjs +256 -0
  102. package/dist/modules/chunks/chunk-H3KNBALD.mjs.map +7 -0
  103. package/dist/modules/chunks/chunk-H3M22JDL.mjs +144 -0
  104. package/dist/modules/chunks/chunk-H3M22JDL.mjs.map +7 -0
  105. package/dist/modules/chunks/chunk-HES3DNTM.mjs +40 -0
  106. package/dist/modules/chunks/chunk-HES3DNTM.mjs.map +7 -0
  107. package/dist/modules/chunks/chunk-I5BFP7SS.mjs +2392 -0
  108. package/dist/modules/chunks/chunk-I5BFP7SS.mjs.map +7 -0
  109. package/dist/modules/chunks/chunk-IGRMZYRD.mjs +15 -0
  110. package/dist/modules/chunks/chunk-IGRMZYRD.mjs.map +7 -0
  111. package/dist/modules/chunks/chunk-IKNGC766.mjs +321 -0
  112. package/dist/modules/chunks/chunk-IKNGC766.mjs.map +7 -0
  113. package/dist/modules/chunks/chunk-IVHNYKZB.mjs +35 -0
  114. package/dist/modules/chunks/chunk-IVHNYKZB.mjs.map +7 -0
  115. package/dist/modules/chunks/chunk-JHOURMYW.mjs +101 -0
  116. package/dist/modules/chunks/chunk-JHOURMYW.mjs.map +7 -0
  117. package/dist/modules/chunks/chunk-JURXMRFA.mjs +282 -0
  118. package/dist/modules/chunks/chunk-JURXMRFA.mjs.map +7 -0
  119. package/dist/modules/chunks/chunk-JWZIREC3.mjs +18 -0
  120. package/dist/modules/chunks/chunk-JWZIREC3.mjs.map +7 -0
  121. package/dist/modules/chunks/chunk-KHRTIZ56.mjs +1400 -0
  122. package/dist/modules/chunks/chunk-KHRTIZ56.mjs.map +7 -0
  123. package/dist/modules/chunks/chunk-KLJZZ23J.mjs +102 -0
  124. package/dist/modules/chunks/chunk-KLJZZ23J.mjs.map +7 -0
  125. package/dist/modules/chunks/chunk-KNBAYU5I.mjs +49 -0
  126. package/dist/modules/chunks/chunk-KNBAYU5I.mjs.map +7 -0
  127. package/dist/modules/chunks/chunk-KSZNCFU4.mjs +125 -0
  128. package/dist/modules/chunks/chunk-KSZNCFU4.mjs.map +7 -0
  129. package/dist/modules/chunks/chunk-L45W6KM6.mjs +158 -0
  130. package/dist/modules/chunks/chunk-L45W6KM6.mjs.map +7 -0
  131. package/dist/modules/chunks/chunk-LERMYZRC.mjs +239 -0
  132. package/dist/modules/chunks/chunk-LERMYZRC.mjs.map +7 -0
  133. package/dist/modules/chunks/chunk-LKJCXYSJ.mjs +91 -0
  134. package/dist/modules/chunks/chunk-LKJCXYSJ.mjs.map +7 -0
  135. package/dist/modules/chunks/chunk-MBS3EICT.mjs +25 -0
  136. package/dist/modules/chunks/chunk-MBS3EICT.mjs.map +7 -0
  137. package/dist/modules/chunks/chunk-MUOQZPVH.mjs +609 -0
  138. package/dist/modules/chunks/chunk-MUOQZPVH.mjs.map +7 -0
  139. package/dist/modules/chunks/chunk-MVEPGFSB.mjs +1 -0
  140. package/dist/modules/chunks/chunk-MVEPGFSB.mjs.map +7 -0
  141. package/dist/modules/chunks/chunk-NBJKLWJ5.mjs +42 -0
  142. package/dist/modules/chunks/chunk-NBJKLWJ5.mjs.map +7 -0
  143. package/dist/modules/chunks/chunk-NBLGKTEM.mjs +86 -0
  144. package/dist/modules/chunks/chunk-NBLGKTEM.mjs.map +7 -0
  145. package/dist/modules/chunks/chunk-NI7CS3I2.mjs +110 -0
  146. package/dist/modules/chunks/chunk-NI7CS3I2.mjs.map +7 -0
  147. package/dist/modules/chunks/chunk-NJH2OJFC.mjs +2113 -0
  148. package/dist/modules/chunks/chunk-NJH2OJFC.mjs.map +7 -0
  149. package/dist/modules/chunks/chunk-OBK4LIJB.mjs +20 -0
  150. package/dist/modules/chunks/chunk-OBK4LIJB.mjs.map +7 -0
  151. package/dist/modules/chunks/chunk-PEUT3FW7.mjs +1 -0
  152. package/dist/modules/chunks/chunk-PEUT3FW7.mjs.map +7 -0
  153. package/dist/modules/chunks/chunk-PRZOWPDN.mjs +66 -0
  154. package/dist/modules/chunks/chunk-PRZOWPDN.mjs.map +7 -0
  155. package/dist/modules/chunks/chunk-Q4RXBGQS.mjs +55 -0
  156. package/dist/modules/chunks/chunk-Q4RXBGQS.mjs.map +7 -0
  157. package/dist/modules/chunks/chunk-QBHBKOIL.mjs +55 -0
  158. package/dist/modules/chunks/chunk-QBHBKOIL.mjs.map +7 -0
  159. package/dist/modules/chunks/chunk-QD6CCRMG.mjs +20 -0
  160. package/dist/modules/chunks/chunk-QD6CCRMG.mjs.map +7 -0
  161. package/dist/modules/chunks/chunk-QF4V23GW.mjs +39 -0
  162. package/dist/modules/chunks/chunk-QF4V23GW.mjs.map +7 -0
  163. package/dist/modules/chunks/chunk-QK6W7MJO.mjs +42 -0
  164. package/dist/modules/chunks/chunk-QK6W7MJO.mjs.map +7 -0
  165. package/dist/modules/chunks/chunk-QL7V6DK7.mjs +34 -0
  166. package/dist/modules/chunks/chunk-QL7V6DK7.mjs.map +7 -0
  167. package/dist/modules/chunks/chunk-QLBQQKRI.mjs +25 -0
  168. package/dist/modules/chunks/chunk-QLBQQKRI.mjs.map +7 -0
  169. package/dist/modules/chunks/chunk-QLZQGZDC.mjs +418 -0
  170. package/dist/modules/chunks/chunk-QLZQGZDC.mjs.map +7 -0
  171. package/dist/modules/chunks/chunk-QSKQZGK7.mjs +1625 -0
  172. package/dist/modules/chunks/chunk-QSKQZGK7.mjs.map +7 -0
  173. package/dist/modules/chunks/chunk-QURKBAG4.mjs +25 -0
  174. package/dist/modules/chunks/chunk-QURKBAG4.mjs.map +7 -0
  175. package/dist/modules/chunks/chunk-R274XBEH.mjs +53 -0
  176. package/dist/modules/chunks/chunk-R274XBEH.mjs.map +7 -0
  177. package/dist/modules/chunks/chunk-R4I4JEY5.mjs +77 -0
  178. package/dist/modules/chunks/chunk-R4I4JEY5.mjs.map +7 -0
  179. package/dist/modules/chunks/chunk-RR6L6VVR.mjs +9 -0
  180. package/dist/modules/chunks/chunk-RR6L6VVR.mjs.map +7 -0
  181. package/dist/modules/chunks/chunk-RXF7SBBZ.mjs +125 -0
  182. package/dist/modules/chunks/chunk-RXF7SBBZ.mjs.map +7 -0
  183. package/dist/modules/chunks/chunk-SR66S6EJ.mjs +138 -0
  184. package/dist/modules/chunks/chunk-SR66S6EJ.mjs.map +7 -0
  185. package/dist/modules/chunks/chunk-SSQMQJ52.mjs +27 -0
  186. package/dist/modules/chunks/chunk-SSQMQJ52.mjs.map +7 -0
  187. package/dist/modules/chunks/chunk-TP26TASL.mjs +20 -0
  188. package/dist/modules/chunks/chunk-TP26TASL.mjs.map +7 -0
  189. package/dist/modules/chunks/chunk-TSAEK5P3.mjs +50 -0
  190. package/dist/modules/chunks/chunk-TSAEK5P3.mjs.map +7 -0
  191. package/dist/modules/chunks/chunk-UAY27HT3.mjs +68 -0
  192. package/dist/modules/chunks/chunk-UAY27HT3.mjs.map +7 -0
  193. package/dist/modules/chunks/chunk-UDLIWGWS.mjs +103 -0
  194. package/dist/modules/chunks/chunk-UDLIWGWS.mjs.map +7 -0
  195. package/dist/modules/chunks/chunk-UDVQHPWV.mjs +89 -0
  196. package/dist/modules/chunks/chunk-UDVQHPWV.mjs.map +7 -0
  197. package/dist/modules/chunks/chunk-UM23W3G7.mjs +237 -0
  198. package/dist/modules/chunks/chunk-UM23W3G7.mjs.map +7 -0
  199. package/dist/modules/chunks/chunk-VDZJWEAA.mjs +214 -0
  200. package/dist/modules/chunks/chunk-VDZJWEAA.mjs.map +7 -0
  201. package/dist/modules/chunks/chunk-VIGOJWSO.mjs +42 -0
  202. package/dist/modules/chunks/chunk-VIGOJWSO.mjs.map +7 -0
  203. package/dist/modules/chunks/chunk-VY3S5BWI.mjs +284 -0
  204. package/dist/modules/chunks/chunk-VY3S5BWI.mjs.map +7 -0
  205. package/dist/modules/chunks/chunk-VZXGRZYU.mjs +47 -0
  206. package/dist/modules/chunks/chunk-VZXGRZYU.mjs.map +7 -0
  207. package/dist/modules/chunks/chunk-W5DMQZB5.mjs +42 -0
  208. package/dist/modules/chunks/chunk-W5DMQZB5.mjs.map +7 -0
  209. package/dist/modules/chunks/chunk-WOMHSTVZ.mjs +918 -0
  210. package/dist/modules/chunks/chunk-WOMHSTVZ.mjs.map +7 -0
  211. package/dist/modules/chunks/chunk-XFQT7XCG.mjs +42 -0
  212. package/dist/modules/chunks/chunk-XFQT7XCG.mjs.map +7 -0
  213. package/dist/modules/chunks/chunk-XJZEVRYX.mjs +98 -0
  214. package/dist/modules/chunks/chunk-XJZEVRYX.mjs.map +7 -0
  215. package/dist/modules/chunks/chunk-XUYFV23R.mjs +317 -0
  216. package/dist/modules/chunks/chunk-XUYFV23R.mjs.map +7 -0
  217. package/dist/modules/chunks/chunk-Y5HXCPPQ.mjs +58 -0
  218. package/dist/modules/chunks/chunk-Y5HXCPPQ.mjs.map +7 -0
  219. package/dist/modules/chunks/chunk-YTHGRKGI.mjs +147 -0
  220. package/dist/modules/chunks/chunk-YTHGRKGI.mjs.map +7 -0
  221. package/dist/modules/chunks/chunk-YVQSDKAO.mjs +341 -0
  222. package/dist/modules/chunks/chunk-YVQSDKAO.mjs.map +7 -0
  223. package/dist/modules/chunks/chunk-YYXQDUVT.mjs +123 -0
  224. package/dist/modules/chunks/chunk-YYXQDUVT.mjs.map +7 -0
  225. package/dist/modules/chunks/chunk-ZFXZ2NUI.mjs +142 -0
  226. package/dist/modules/chunks/chunk-ZFXZ2NUI.mjs.map +7 -0
  227. package/dist/modules/chunks/chunk-ZLNWF4ET.mjs +9 -0
  228. package/dist/modules/chunks/chunk-ZLNWF4ET.mjs.map +7 -0
  229. package/dist/modules/chunks/chunk-ZLU5QW2O.mjs +9 -0
  230. package/dist/modules/chunks/chunk-ZLU5QW2O.mjs.map +7 -0
  231. package/dist/modules/chunks/chunk-ZNZPYE2V.mjs +28 -0
  232. package/dist/modules/chunks/chunk-ZNZPYE2V.mjs.map +7 -0
  233. package/dist/modules/chunks/core-564N45MO.mjs +7480 -0
  234. package/dist/modules/chunks/core-564N45MO.mjs.map +7 -0
  235. package/dist/modules/chunks/css-BKH4SVJG.mjs +8 -0
  236. package/dist/modules/chunks/css-BKH4SVJG.mjs.map +7 -0
  237. package/dist/modules/chunks/engine-javascript-PDVIGNGR.mjs +3241 -0
  238. package/dist/modules/chunks/engine-javascript-PDVIGNGR.mjs.map +7 -0
  239. package/dist/modules/chunks/github-dark-default-6HVTHEWF.mjs +8 -0
  240. package/dist/modules/chunks/github-dark-default-6HVTHEWF.mjs.map +7 -0
  241. package/dist/modules/chunks/github-light-default-LAXRA6XL.mjs +8 -0
  242. package/dist/modules/chunks/github-light-default-LAXRA6XL.mjs.map +7 -0
  243. package/dist/modules/chunks/glsl-UC3YWUD2.mjs +18 -0
  244. package/dist/modules/chunks/glsl-UC3YWUD2.mjs.map +7 -0
  245. package/dist/modules/chunks/html-FRVIUV63.mjs +19 -0
  246. package/dist/modules/chunks/html-FRVIUV63.mjs.map +7 -0
  247. package/dist/modules/chunks/javascript-LN3OC7S2.mjs +8 -0
  248. package/dist/modules/chunks/javascript-LN3OC7S2.mjs.map +7 -0
  249. package/dist/modules/chunks/json-5CUGWTOP.mjs +11 -0
  250. package/dist/modules/chunks/json-5CUGWTOP.mjs.map +7 -0
  251. package/dist/modules/chunks/json5-YZQI5VNO.mjs +11 -0
  252. package/dist/modules/chunks/json5-YZQI5VNO.mjs.map +7 -0
  253. package/dist/modules/chunks/jsonc-SWID6VOZ.mjs +11 -0
  254. package/dist/modules/chunks/jsonc-SWID6VOZ.mjs.map +7 -0
  255. package/dist/modules/chunks/jsx-A7RDCLJO.mjs +11 -0
  256. package/dist/modules/chunks/jsx-A7RDCLJO.mjs.map +7 -0
  257. package/dist/modules/chunks/markdown-QTCU5KP5.mjs +11 -0
  258. package/dist/modules/chunks/markdown-QTCU5KP5.mjs.map +7 -0
  259. package/dist/modules/chunks/python-LAZONBIB.mjs +11 -0
  260. package/dist/modules/chunks/python-LAZONBIB.mjs.map +7 -0
  261. package/dist/modules/chunks/rust-XWTPJFJO.mjs +11 -0
  262. package/dist/modules/chunks/rust-XWTPJFJO.mjs.map +7 -0
  263. package/dist/modules/chunks/scss-CFXRHUUW.mjs +15 -0
  264. package/dist/modules/chunks/scss-CFXRHUUW.mjs.map +7 -0
  265. package/dist/modules/chunks/shellscript-OHO3LCVU.mjs +11 -0
  266. package/dist/modules/chunks/shellscript-OHO3LCVU.mjs.map +7 -0
  267. package/dist/modules/chunks/toml-IOHFZJ5B.mjs +11 -0
  268. package/dist/modules/chunks/toml-IOHFZJ5B.mjs.map +7 -0
  269. package/dist/modules/chunks/tsx-2E6WNX2E.mjs +11 -0
  270. package/dist/modules/chunks/tsx-2E6WNX2E.mjs.map +7 -0
  271. package/dist/modules/chunks/typescript-PBKAS54P.mjs +11 -0
  272. package/dist/modules/chunks/typescript-PBKAS54P.mjs.map +7 -0
  273. package/dist/modules/chunks/wgsl-PS6QPRLZ.mjs +11 -0
  274. package/dist/modules/chunks/wgsl-PS6QPRLZ.mjs.map +7 -0
  275. package/dist/modules/chunks/xml-JECR2ACB.mjs +18 -0
  276. package/dist/modules/chunks/xml-JECR2ACB.mjs.map +7 -0
  277. package/dist/modules/chunks/yaml-P2SV4LOE.mjs +11 -0
  278. package/dist/modules/chunks/yaml-P2SV4LOE.mjs.map +7 -0
  279. package/dist/modules/cli-contributions.mjs +32 -0
  280. package/dist/modules/cli-contributions.mjs.map +7 -0
  281. package/dist/modules/cli.mjs +14 -0
  282. package/dist/modules/cli.mjs.map +7 -0
  283. package/dist/modules/command-executor.mjs +65 -0
  284. package/dist/modules/command-executor.mjs.map +7 -0
  285. package/dist/modules/commands.mjs +10 -0
  286. package/dist/modules/commands.mjs.map +7 -0
  287. package/dist/modules/embedded.mjs +18608 -0
  288. package/dist/modules/embedded.mjs.map +7 -0
  289. package/dist/modules/extension-bridge.mjs +18 -0
  290. package/dist/modules/extension-bridge.mjs.map +7 -0
  291. package/dist/modules/frontend-root.mjs +61 -0
  292. package/dist/modules/frontend-root.mjs.map +7 -0
  293. package/dist/modules/index.mjs +784 -0
  294. package/dist/modules/index.mjs.map +7 -0
  295. package/dist/modules/page.mjs +45 -0
  296. package/dist/modules/page.mjs.map +7 -0
  297. package/dist/modules/pages/scene.mjs +18 -0
  298. package/dist/modules/pages/scene.mjs.map +7 -0
  299. package/dist/modules/plugin.mjs +56 -0
  300. package/dist/modules/plugin.mjs.map +7 -0
  301. package/dist/modules/plugins/asset/frontend.mjs +23 -0
  302. package/dist/modules/plugins/asset/frontend.mjs.map +7 -0
  303. package/dist/modules/plugins/asset/i18n.mjs +15 -0
  304. package/dist/modules/plugins/asset/i18n.mjs.map +7 -0
  305. package/dist/modules/plugins/asset/identity.mjs +42 -0
  306. package/dist/modules/plugins/asset/identity.mjs.map +7 -0
  307. package/dist/modules/plugins/asset/schema.mjs +10 -0
  308. package/dist/modules/plugins/asset/schema.mjs.map +7 -0
  309. package/dist/modules/plugins/asset/ui.mjs +16 -0
  310. package/dist/modules/plugins/asset/ui.mjs.map +7 -0
  311. package/dist/modules/plugins/content-browser/frontend.mjs +17 -0
  312. package/dist/modules/plugins/content-browser/frontend.mjs.map +7 -0
  313. package/dist/modules/plugins/content-browser/i18n.mjs +15 -0
  314. package/dist/modules/plugins/content-browser/i18n.mjs.map +7 -0
  315. package/dist/modules/plugins/content-browser/identity.mjs +22 -0
  316. package/dist/modules/plugins/content-browser/identity.mjs.map +7 -0
  317. package/dist/modules/plugins/content-browser/schema.mjs +12 -0
  318. package/dist/modules/plugins/content-browser/schema.mjs.map +7 -0
  319. package/dist/modules/plugins/content-browser/ui.mjs +15 -0
  320. package/dist/modules/plugins/content-browser/ui.mjs.map +7 -0
  321. package/dist/modules/plugins/display/api.mjs +10 -0
  322. package/dist/modules/plugins/display/api.mjs.map +7 -0
  323. package/dist/modules/plugins/display/backend.mjs +16 -0
  324. package/dist/modules/plugins/display/backend.mjs.map +7 -0
  325. package/dist/modules/plugins/display/carrier-contract.mjs +38 -0
  326. package/dist/modules/plugins/display/carrier-contract.mjs.map +7 -0
  327. package/dist/modules/plugins/display/carrier.mjs +13 -0
  328. package/dist/modules/plugins/display/carrier.mjs.map +7 -0
  329. package/dist/modules/plugins/display/effects.mjs +8 -0
  330. package/dist/modules/plugins/display/effects.mjs.map +7 -0
  331. package/dist/modules/plugins/display/frontend.mjs +14 -0
  332. package/dist/modules/plugins/display/frontend.mjs.map +7 -0
  333. package/dist/modules/plugins/display/i18n.mjs +58 -0
  334. package/dist/modules/plugins/display/i18n.mjs.map +7 -0
  335. package/dist/modules/plugins/display/identity.mjs +30 -0
  336. package/dist/modules/plugins/display/identity.mjs.map +7 -0
  337. package/dist/modules/plugins/display/page-broker.mjs +12 -0
  338. package/dist/modules/plugins/display/page-broker.mjs.map +7 -0
  339. package/dist/modules/plugins/display/schema.mjs +40 -0
  340. package/dist/modules/plugins/display/schema.mjs.map +7 -0
  341. package/dist/modules/plugins/display/ui.mjs +9 -0
  342. package/dist/modules/plugins/display/ui.mjs.map +7 -0
  343. package/dist/modules/plugins/inspector/frontend.mjs +17 -0
  344. package/dist/modules/plugins/inspector/frontend.mjs.map +7 -0
  345. package/dist/modules/plugins/inspector/i18n.mjs +15 -0
  346. package/dist/modules/plugins/inspector/i18n.mjs.map +7 -0
  347. package/dist/modules/plugins/inspector/identity.mjs +22 -0
  348. package/dist/modules/plugins/inspector/identity.mjs.map +7 -0
  349. package/dist/modules/plugins/inspector/schema.mjs +12 -0
  350. package/dist/modules/plugins/inspector/schema.mjs.map +7 -0
  351. package/dist/modules/plugins/inspector/ui.mjs +16 -0
  352. package/dist/modules/plugins/inspector/ui.mjs.map +7 -0
  353. package/dist/modules/plugins/material/frontend.mjs +25 -0
  354. package/dist/modules/plugins/material/frontend.mjs.map +7 -0
  355. package/dist/modules/plugins/material/i18n.mjs +15 -0
  356. package/dist/modules/plugins/material/i18n.mjs.map +7 -0
  357. package/dist/modules/plugins/material/identity.mjs +60 -0
  358. package/dist/modules/plugins/material/identity.mjs.map +7 -0
  359. package/dist/modules/plugins/material/schema.mjs +47 -0
  360. package/dist/modules/plugins/material/schema.mjs.map +7 -0
  361. package/dist/modules/plugins/material/ui.mjs +28 -0
  362. package/dist/modules/plugins/material/ui.mjs.map +7 -0
  363. package/dist/modules/plugins/mesh/frontend.mjs +23 -0
  364. package/dist/modules/plugins/mesh/frontend.mjs.map +7 -0
  365. package/dist/modules/plugins/mesh/i18n.mjs +15 -0
  366. package/dist/modules/plugins/mesh/i18n.mjs.map +7 -0
  367. package/dist/modules/plugins/mesh/identity.mjs +54 -0
  368. package/dist/modules/plugins/mesh/identity.mjs.map +7 -0
  369. package/dist/modules/plugins/mesh/schema.mjs +10 -0
  370. package/dist/modules/plugins/mesh/schema.mjs.map +7 -0
  371. package/dist/modules/plugins/mesh/ui.mjs +26 -0
  372. package/dist/modules/plugins/mesh/ui.mjs.map +7 -0
  373. package/dist/modules/plugins/plugins/api.mjs +11 -0
  374. package/dist/modules/plugins/plugins/api.mjs.map +7 -0
  375. package/dist/modules/plugins/plugins/backend.mjs +21 -0
  376. package/dist/modules/plugins/plugins/backend.mjs.map +7 -0
  377. package/dist/modules/plugins/plugins/cli.mjs +12 -0
  378. package/dist/modules/plugins/plugins/cli.mjs.map +7 -0
  379. package/dist/modules/plugins/plugins/frontend.mjs +17 -0
  380. package/dist/modules/plugins/plugins/frontend.mjs.map +7 -0
  381. package/dist/modules/plugins/plugins/i18n.mjs +15 -0
  382. package/dist/modules/plugins/plugins/i18n.mjs.map +7 -0
  383. package/dist/modules/plugins/plugins/identity.mjs +26 -0
  384. package/dist/modules/plugins/plugins/identity.mjs.map +7 -0
  385. package/dist/modules/plugins/plugins/runtime.mjs +50 -0
  386. package/dist/modules/plugins/plugins/runtime.mjs.map +7 -0
  387. package/dist/modules/plugins/plugins/schema.mjs +12 -0
  388. package/dist/modules/plugins/plugins/schema.mjs.map +7 -0
  389. package/dist/modules/plugins/plugins/ui/panel.mjs +14 -0
  390. package/dist/modules/plugins/plugins/ui/panel.mjs.map +7 -0
  391. package/dist/modules/plugins/plugins/ui.mjs +15 -0
  392. package/dist/modules/plugins/plugins/ui.mjs.map +7 -0
  393. package/dist/modules/plugins/scene/frontend.mjs +18 -0
  394. package/dist/modules/plugins/scene/frontend.mjs.map +7 -0
  395. package/dist/modules/plugins/scene/identity.mjs +14 -0
  396. package/dist/modules/plugins/scene/identity.mjs.map +7 -0
  397. package/dist/modules/plugins/scene-tree/frontend.mjs +17 -0
  398. package/dist/modules/plugins/scene-tree/frontend.mjs.map +7 -0
  399. package/dist/modules/plugins/scene-tree/i18n.mjs +15 -0
  400. package/dist/modules/plugins/scene-tree/i18n.mjs.map +7 -0
  401. package/dist/modules/plugins/scene-tree/identity.mjs +22 -0
  402. package/dist/modules/plugins/scene-tree/identity.mjs.map +7 -0
  403. package/dist/modules/plugins/scene-tree/schema.mjs +12 -0
  404. package/dist/modules/plugins/scene-tree/schema.mjs.map +7 -0
  405. package/dist/modules/plugins/scene-tree/ui.mjs +16 -0
  406. package/dist/modules/plugins/scene-tree/ui.mjs.map +7 -0
  407. package/dist/modules/plugins/texture/frontend.mjs +23 -0
  408. package/dist/modules/plugins/texture/frontend.mjs.map +7 -0
  409. package/dist/modules/plugins/texture/i18n.mjs +15 -0
  410. package/dist/modules/plugins/texture/i18n.mjs.map +7 -0
  411. package/dist/modules/plugins/texture/identity.mjs +54 -0
  412. package/dist/modules/plugins/texture/identity.mjs.map +7 -0
  413. package/dist/modules/plugins/texture/schema.mjs +10 -0
  414. package/dist/modules/plugins/texture/schema.mjs.map +7 -0
  415. package/dist/modules/plugins/texture/ui.mjs +26 -0
  416. package/dist/modules/plugins/texture/ui.mjs.map +7 -0
  417. package/dist/modules/plugins/viewport/frontend.mjs +27 -0
  418. package/dist/modules/plugins/viewport/frontend.mjs.map +7 -0
  419. package/dist/modules/plugins/viewport/identity.mjs +28 -0
  420. package/dist/modules/plugins/viewport/identity.mjs.map +7 -0
  421. package/dist/modules/plugins/viewport/presentation-identity.mjs +10 -0
  422. package/dist/modules/plugins/viewport/presentation-identity.mjs.map +7 -0
  423. package/dist/modules/plugins/viewport/presentation.mjs +18 -0
  424. package/dist/modules/plugins/viewport/presentation.mjs.map +7 -0
  425. package/dist/modules/plugins/viewport/schema.mjs +18 -0
  426. package/dist/modules/plugins/viewport/schema.mjs.map +7 -0
  427. package/dist/modules/plugins/viewport/workspace-shell.mjs +29 -0
  428. package/dist/modules/plugins/viewport/workspace-shell.mjs.map +7 -0
  429. package/dist/modules/shell/contract.mjs +10 -0
  430. package/dist/modules/shell/contract.mjs.map +7 -0
  431. package/dist/modules/shell/frontend.mjs +14 -0
  432. package/dist/modules/shell/frontend.mjs.map +7 -0
  433. package/dist/modules/shell/layout-zones.mjs +20 -0
  434. package/dist/modules/shell/layout-zones.mjs.map +7 -0
  435. package/dist/modules/start-cli.mjs +57 -0
  436. package/dist/modules/start-cli.mjs.map +7 -0
  437. package/dist/modules/start.mjs +18 -0
  438. package/dist/modules/start.mjs.map +7 -0
  439. package/dist/modules/viewer/catalog/backend.mjs +47 -0
  440. package/dist/modules/viewer/catalog/backend.mjs.map +7 -0
  441. package/dist/modules/viewer/catalog/frontend.mjs +55 -0
  442. package/dist/modules/viewer/catalog/frontend.mjs.map +7 -0
  443. package/dist/modules/viewer/catalog/shared.mjs +43 -0
  444. package/dist/modules/viewer/catalog/shared.mjs.map +7 -0
  445. package/dist/modules/viewer/catalog.mjs +85 -0
  446. package/dist/modules/viewer/catalog.mjs.map +7 -0
  447. package/dist/modules/viewer/cli.mjs +23 -0
  448. package/dist/modules/viewer/cli.mjs.map +7 -0
  449. package/dist/modules/viewer-host/frontend.mjs +65 -0
  450. package/dist/modules/viewer-host/frontend.mjs.map +7 -0
  451. package/dist/modules/viewer-host/page-registry.mjs +27 -0
  452. package/dist/modules/viewer-host/page-registry.mjs.map +7 -0
  453. package/dist/modules/viewer-host/slot-registry.mjs +8 -0
  454. package/dist/modules/viewer-host/slot-registry.mjs.map +7 -0
  455. package/dist/modules/viewer-host.mjs +43 -0
  456. package/dist/modules/viewer-host.mjs.map +7 -0
  457. package/dist/modules/viewer.mjs +85 -0
  458. package/dist/modules/viewer.mjs.map +7 -0
  459. package/dist/modules/workspace/adopt-surface.mjs +16 -0
  460. package/dist/modules/workspace/adopt-surface.mjs.map +7 -0
  461. package/dist/modules/workspace/api.mjs +8 -0
  462. package/dist/modules/workspace/api.mjs.map +7 -0
  463. package/dist/modules/workspace/backend.mjs +23 -0
  464. package/dist/modules/workspace/backend.mjs.map +7 -0
  465. package/dist/modules/workspace/broker.mjs +16 -0
  466. package/dist/modules/workspace/broker.mjs.map +7 -0
  467. package/dist/modules/workspace/cli.mjs +9 -0
  468. package/dist/modules/workspace/cli.mjs.map +7 -0
  469. package/dist/modules/workspace/client.mjs +15 -0
  470. package/dist/modules/workspace/client.mjs.map +7 -0
  471. package/dist/modules/workspace/command-error.mjs +16 -0
  472. package/dist/modules/workspace/command-error.mjs.map +7 -0
  473. package/dist/modules/workspace/contract.mjs +71 -0
  474. package/dist/modules/workspace/contract.mjs.map +7 -0
  475. package/dist/modules/workspace/demo-client.mjs +127 -0
  476. package/dist/modules/workspace/demo-client.mjs.map +7 -0
  477. package/dist/modules/workspace/engine-adapter.mjs +16 -0
  478. package/dist/modules/workspace/engine-adapter.mjs.map +7 -0
  479. package/dist/modules/workspace/engine-presentation.mjs +10 -0
  480. package/dist/modules/workspace/engine-presentation.mjs.map +7 -0
  481. package/dist/modules/workspace/extension-bridge.mjs +18 -0
  482. package/dist/modules/workspace/extension-bridge.mjs.map +7 -0
  483. package/dist/modules/workspace/frontend-plugin.mjs +18 -0
  484. package/dist/modules/workspace/frontend-plugin.mjs.map +7 -0
  485. package/dist/modules/workspace/frontend.mjs +29 -0
  486. package/dist/modules/workspace/frontend.mjs.map +7 -0
  487. package/dist/modules/workspace/id.mjs +8 -0
  488. package/dist/modules/workspace/id.mjs.map +7 -0
  489. package/dist/modules/workspace/inspection-presentation.mjs +12 -0
  490. package/dist/modules/workspace/inspection-presentation.mjs.map +7 -0
  491. package/dist/modules/workspace/locale-bridge.mjs +14 -0
  492. package/dist/modules/workspace/locale-bridge.mjs.map +7 -0
  493. package/dist/modules/workspace/page-title.mjs +13 -0
  494. package/dist/modules/workspace/page-title.mjs.map +7 -0
  495. package/dist/modules/workspace/presentation.mjs +18 -0
  496. package/dist/modules/workspace/presentation.mjs.map +7 -0
  497. package/dist/modules/workspace/preview-surface.mjs +17 -0
  498. package/dist/modules/workspace/preview-surface.mjs.map +7 -0
  499. package/dist/modules/workspace/project-session.mjs +18 -0
  500. package/dist/modules/workspace/project-session.mjs.map +7 -0
  501. package/dist/modules/workspace/render-resize-sync.mjs +12 -0
  502. package/dist/modules/workspace/render-resize-sync.mjs.map +7 -0
  503. package/dist/modules/workspace/resident.mjs +16 -0
  504. package/dist/modules/workspace/resident.mjs.map +7 -0
  505. package/dist/modules/workspace/resource-open.mjs +34 -0
  506. package/dist/modules/workspace/resource-open.mjs.map +7 -0
  507. package/dist/modules/workspace/resource-page.mjs +27 -0
  508. package/dist/modules/workspace/resource-page.mjs.map +7 -0
  509. package/dist/modules/workspace/tool-runtime.mjs +14 -0
  510. package/dist/modules/workspace/tool-runtime.mjs.map +7 -0
  511. package/dist/modules/workspace/view-trace.mjs +60 -0
  512. package/dist/modules/workspace/view-trace.mjs.map +7 -0
  513. package/dist/modules/workspace/workspace-client-connection.mjs +22 -0
  514. package/dist/modules/workspace/workspace-client-connection.mjs.map +7 -0
  515. package/dist/modules/workspace/workspace-recovery.mjs +35 -0
  516. package/dist/modules/workspace/workspace-recovery.mjs.map +7 -0
  517. package/dist/modules/workspace/workspace-state.mjs +12 -0
  518. package/dist/modules/workspace/workspace-state.mjs.map +7 -0
  519. package/dist/modules/workspace-frontend.mjs +17 -0
  520. package/dist/modules/workspace-frontend.mjs.map +7 -0
  521. package/dist/viewer/assets/chunk-CilyBKbf.js +1 -0
  522. package/dist/viewer/assets/core-DSQma37-.js +13 -0
  523. package/dist/viewer/assets/core-DSQma37-.js.map +1 -0
  524. package/dist/viewer/assets/css-Bq1BXecw.js +2 -0
  525. package/dist/viewer/assets/css-Bq1BXecw.js.map +1 -0
  526. package/dist/viewer/assets/css-CWQWazmX.js +1 -0
  527. package/dist/viewer/assets/embedded-D4ZDx--W.js +2 -0
  528. package/dist/viewer/assets/embedded-D4ZDx--W.js.map +1 -0
  529. package/dist/viewer/assets/engine-javascript-BvokIV9O.js +142 -0
  530. package/dist/viewer/assets/engine-javascript-BvokIV9O.js.map +1 -0
  531. package/dist/viewer/assets/github-dark-default-DaDlj-WZ.js +2 -0
  532. package/dist/viewer/assets/github-dark-default-DaDlj-WZ.js.map +1 -0
  533. package/dist/viewer/assets/github-light-default-BqhWxAZd.js +2 -0
  534. package/dist/viewer/assets/github-light-default-BqhWxAZd.js.map +1 -0
  535. package/dist/viewer/assets/glsl-BJgVnv11.js +2 -0
  536. package/dist/viewer/assets/glsl-BJgVnv11.js.map +1 -0
  537. package/dist/viewer/assets/html-AaaHGGyt.js +2 -0
  538. package/dist/viewer/assets/html-AaaHGGyt.js.map +1 -0
  539. package/dist/viewer/assets/javascript-BX9W64FE.js +1 -0
  540. package/dist/viewer/assets/javascript-DQODvD07.js +2 -0
  541. package/dist/viewer/assets/javascript-DQODvD07.js.map +1 -0
  542. package/dist/viewer/assets/json-CpcIDpT7.js +2 -0
  543. package/dist/viewer/assets/json-CpcIDpT7.js.map +1 -0
  544. package/dist/viewer/assets/json5-Czq4A7dk.js +2 -0
  545. package/dist/viewer/assets/json5-Czq4A7dk.js.map +1 -0
  546. package/dist/viewer/assets/jsonc-BXDfCMmu.js +2 -0
  547. package/dist/viewer/assets/jsonc-BXDfCMmu.js.map +1 -0
  548. package/dist/viewer/assets/jsx-DAWscEnf.js +2 -0
  549. package/dist/viewer/assets/jsx-DAWscEnf.js.map +1 -0
  550. package/dist/viewer/assets/main-C-2CHTN_.js +15 -0
  551. package/dist/viewer/assets/main-C-2CHTN_.js.map +1 -0
  552. package/dist/viewer/assets/markdown-Cx1FMNw-.js +2 -0
  553. package/dist/viewer/assets/markdown-Cx1FMNw-.js.map +1 -0
  554. package/dist/viewer/assets/panels-entry-Ddhfjgf0.js +46 -0
  555. package/dist/viewer/assets/panels-entry-Ddhfjgf0.js.map +1 -0
  556. package/dist/viewer/assets/python-CYPKjWV9.js +2 -0
  557. package/dist/viewer/assets/python-CYPKjWV9.js.map +1 -0
  558. package/dist/viewer/assets/rust-0e5cNx_V.js +2 -0
  559. package/dist/viewer/assets/rust-0e5cNx_V.js.map +1 -0
  560. package/dist/viewer/assets/scss-B-aKzLbT.js +2 -0
  561. package/dist/viewer/assets/scss-B-aKzLbT.js.map +1 -0
  562. package/dist/viewer/assets/shellscript-CpXD-pSm.js +2 -0
  563. package/dist/viewer/assets/shellscript-CpXD-pSm.js.map +1 -0
  564. package/dist/viewer/assets/style-ClttNKZk.css +2 -0
  565. package/dist/viewer/assets/styles-BXozhwiU.js +11 -0
  566. package/dist/viewer/assets/styles-BXozhwiU.js.map +1 -0
  567. package/dist/viewer/assets/toml-GmchYTXa.js +2 -0
  568. package/dist/viewer/assets/toml-GmchYTXa.js.map +1 -0
  569. package/dist/viewer/assets/tsx-Crj1Bi53.js +2 -0
  570. package/dist/viewer/assets/tsx-Crj1Bi53.js.map +1 -0
  571. package/dist/viewer/assets/typescript-xi0cSHCO.js +2 -0
  572. package/dist/viewer/assets/typescript-xi0cSHCO.js.map +1 -0
  573. package/dist/viewer/assets/wgsl-BoEPRo9U.js +2 -0
  574. package/dist/viewer/assets/wgsl-BoEPRo9U.js.map +1 -0
  575. package/dist/viewer/assets/xml-B8JqQrMD.js +2 -0
  576. package/dist/viewer/assets/xml-B8JqQrMD.js.map +1 -0
  577. package/dist/viewer/assets/yaml-DsIB85X9.js +2 -0
  578. package/dist/viewer/assets/yaml-DsIB85X9.js.map +1 -0
  579. package/dist/viewer/index.html +15 -0
  580. package/dist/viewer/panels.js +1 -0
  581. package/host.pack.json +13 -0
  582. package/package.json +174 -0
  583. package/skills/forgeax-view-cli/SKILL.md +74 -0
  584. package/skills/forgeax-view-start/SKILL.md +202 -0
  585. package/skills/forgeax-view-start/scripts/start-view.mjs +202 -0
@@ -0,0 +1,25 @@
1
+ import {
2
+ VIEW_PAGE_TYPES
3
+ } from "./chunk-32GD5LL6.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-FLGC65SR.mjs";
7
+
8
+ // packages/view-plugin-scene/src/identity.mjs
9
+ var identity_exports = {};
10
+ __export(identity_exports, {
11
+ FRONTEND_MODULE: () => FRONTEND_MODULE,
12
+ FRONTEND_PLUGIN_ID: () => FRONTEND_PLUGIN_ID,
13
+ PAGE_TYPE: () => PAGE_TYPE
14
+ });
15
+ var FRONTEND_PLUGIN_ID = "forgeax.view.page.scene.frontend";
16
+ var FRONTEND_MODULE = "@forgeax/view/pages/scene";
17
+ var PAGE_TYPE = VIEW_PAGE_TYPES.editor;
18
+
19
+ export {
20
+ FRONTEND_PLUGIN_ID,
21
+ FRONTEND_MODULE,
22
+ PAGE_TYPE,
23
+ identity_exports
24
+ };
25
+ //# sourceMappingURL=chunk-46O5WX43.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-plugin-scene/src/identity.mjs"],
4
+ "sourcesContent": ["import { VIEW_PAGE_TYPES } from '@forgeax/view-workspace-core/contract';\n\nexport const FRONTEND_PLUGIN_ID = 'forgeax.view.page.scene.frontend';\nexport const FRONTEND_MODULE = '@forgeax/view/pages/scene';\nexport const PAGE_TYPE = VIEW_PAGE_TYPES.editor;\n"],
5
+ "mappings": ";;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,YAAY,gBAAgB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,237 @@
1
+ import {
2
+ getLocale,
3
+ subscribeLocale,
4
+ t
5
+ } from "./chunk-ER7T6QJ3.mjs";
6
+ import {
7
+ EmptyState,
8
+ InspectorForm,
9
+ OverlayRootProvider,
10
+ PanelHeader
11
+ } from "./chunk-NJH2OJFC.mjs";
12
+ import {
13
+ unwrapWorkspaceInspection
14
+ } from "./chunk-4N5X2PRQ.mjs";
15
+ import {
16
+ RESOURCE_KINDS
17
+ } from "./chunk-D7GWRZLL.mjs";
18
+ import {
19
+ bindWorkspacePreviewSurface
20
+ } from "./chunk-LERMYZRC.mjs";
21
+ import {
22
+ selectWorkspaceResourcePreview,
23
+ selectWorkspaceResourceSubject
24
+ } from "./chunk-FKCQYDLX.mjs";
25
+ import {
26
+ createWorkspaceStateReader
27
+ } from "./chunk-FJM6WWIY.mjs";
28
+ import {
29
+ VIEW_WORKSPACE_TAB_ID
30
+ } from "./chunk-32GD5LL6.mjs";
31
+
32
+ // packages/view-plugin-texture/src/ui/mount.tsx
33
+ import { createRoot } from "react-dom/client";
34
+
35
+ // packages/view-plugin-texture/src/ui/TexturePreviewPanel.tsx
36
+ import { useEffect, useMemo, useRef, useState, useSyncExternalStore as useSyncExternalStore2 } from "react";
37
+
38
+ // packages/view-plugin-texture/src/i18n/useTranslation.ts
39
+ import { useCallback, useSyncExternalStore } from "react";
40
+ function useTranslation() {
41
+ const locale = useSyncExternalStore(subscribeLocale, getLocale, getLocale);
42
+ const t2 = useCallback(
43
+ (key, vars) => t(key, vars),
44
+ [locale]
45
+ );
46
+ return { t: t2, locale };
47
+ }
48
+
49
+ // packages/view-plugin-texture/src/ui/texture.css
50
+ var css = "/* packages/view-plugin-texture/src/ui/texture.css */\n.fx-asset-editor {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--fx-color-surface-canvas);\n color: var(--fx-color-text-primary);\n}\n.fx-asset-preview {\n overflow: hidden;\n}\n.fx-asset-preview-surface {\n display: flex;\n flex: 1 1 auto;\n align-items: stretch;\n justify-content: stretch;\n width: 100%;\n height: 100%;\n min-height: 0;\n min-width: 0;\n position: relative;\n overflow: hidden;\n}\n";
51
+ if (typeof document !== "undefined" && !document.querySelector('style[data-forgeax-css="L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi10ZXh0dXJlL3NyYy91aS90ZXh0dXJlLmNzcw"]')) {
52
+ const style = document.createElement("style");
53
+ style.dataset.forgeaxCss = "L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi10ZXh0dXJlL3NyYy91aS90ZXh0dXJlLmNzcw";
54
+ style.textContent = css;
55
+ document.head.append(style);
56
+ }
57
+
58
+ // packages/view-plugin-texture/src/ui/TexturePreviewPanel.tsx
59
+ import { jsx, jsxs } from "react/jsx-runtime";
60
+ function TexturePreviewPanel({
61
+ client,
62
+ presentation,
63
+ owner,
64
+ demo = false
65
+ }) {
66
+ const { t: t2 } = useTranslation();
67
+ if (demo || !client) {
68
+ return /* @__PURE__ */ jsx(PreviewEmpty, { title: t2("texture.previewEmpty"), description: t2("texture.previewUnavailable") });
69
+ }
70
+ return /* @__PURE__ */ jsx(LivePreview, { client, presentation, owner });
71
+ }
72
+ function PreviewEmpty({ title, description }) {
73
+ return /* @__PURE__ */ jsx("div", { className: "fx-asset-editor fx-asset-preview fx-ui", "data-testid": "panel-texture-preview", children: /* @__PURE__ */ jsx(EmptyState, { title, description }) });
74
+ }
75
+ function LivePreview({
76
+ client,
77
+ presentation,
78
+ owner
79
+ }) {
80
+ const { t: t2 } = useTranslation();
81
+ const reader = useMemo(() => createWorkspaceStateReader(client), [client]);
82
+ const workspace = useSyncExternalStore2(
83
+ reader.subscribe,
84
+ () => reader.getSnapshot(),
85
+ () => reader.getSnapshot()
86
+ );
87
+ const subject = selectWorkspaceResourceSubject(workspace, RESOURCE_KINDS);
88
+ const preview = selectWorkspaceResourcePreview(workspace, subject?.guid);
89
+ const containerRef = useRef(null);
90
+ const [failure, setFailure] = useState();
91
+ useEffect(() => {
92
+ const container = containerRef.current;
93
+ if (!container || !preview?.target) return void 0;
94
+ const bound = bindWorkspacePreviewSurface({
95
+ presentation,
96
+ target: preview.target,
97
+ container,
98
+ owner,
99
+ api: client,
100
+ editorTargetId: workspace?.editorPreview?.target?.targetId
101
+ });
102
+ if (!bound.ok) {
103
+ setFailure(bound.error);
104
+ return void 0;
105
+ }
106
+ setFailure(void 0);
107
+ return () => {
108
+ void bound.dispose?.();
109
+ };
110
+ }, [
111
+ presentation,
112
+ owner,
113
+ preview?.target,
114
+ preview?.target?.targetId,
115
+ preview?.target?.generation,
116
+ preview?.target?.surfaceId,
117
+ workspace?.editorPreview?.target?.targetId,
118
+ client
119
+ ]);
120
+ if (!subject) return /* @__PURE__ */ jsx(PreviewEmpty, { title: t2("texture.previewEmpty"), description: t2("texture.empty") });
121
+ if (!preview?.target) {
122
+ return /* @__PURE__ */ jsx(
123
+ PreviewEmpty,
124
+ {
125
+ title: t2("texture.previewUnavailable"),
126
+ description: t2("texture.previewCapabilityMissing")
127
+ }
128
+ );
129
+ }
130
+ return /* @__PURE__ */ jsxs("div", { className: "fx-asset-editor fx-asset-preview fx-ui", "data-testid": "panel-texture-preview", children: [
131
+ /* @__PURE__ */ jsx(
132
+ "div",
133
+ {
134
+ ref: containerRef,
135
+ className: "fx-asset-preview-surface",
136
+ "data-forgeax-asset-preview": preview.target.targetId,
137
+ hidden: Boolean(failure)
138
+ }
139
+ ),
140
+ failure ? /* @__PURE__ */ jsx(
141
+ EmptyState,
142
+ {
143
+ title: t2("texture.previewUnavailable"),
144
+ description: failure.hint ?? failure.expected ?? t2("texture.previewCapabilityMissing")
145
+ }
146
+ ) : null
147
+ ] });
148
+ }
149
+
150
+ // packages/view-plugin-texture/src/ui/TexturePropertiesPanel.tsx
151
+ import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2, useSyncExternalStore as useSyncExternalStore3 } from "react";
152
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
153
+ function TexturePropertiesPanel({
154
+ client,
155
+ demo = false
156
+ }) {
157
+ const { t: t2 } = useTranslation();
158
+ if (demo || !client) {
159
+ return /* @__PURE__ */ jsx2("div", { className: "fx-asset-editor fx-ui", "data-testid": "panel-texture-properties", children: /* @__PURE__ */ jsx2(EmptyState, { title: t2("texture.unavailable"), description: t2("texture.empty") }) });
160
+ }
161
+ return /* @__PURE__ */ jsx2(LiveProperties, { client });
162
+ }
163
+ function LiveProperties({ client }) {
164
+ const { t: t2 } = useTranslation();
165
+ const reader = useMemo2(() => createWorkspaceStateReader(client), [client]);
166
+ const workspace = useSyncExternalStore3(
167
+ reader.subscribe,
168
+ () => reader.getSnapshot(),
169
+ () => reader.getSnapshot()
170
+ );
171
+ const subject = selectWorkspaceResourceSubject(workspace, RESOURCE_KINDS);
172
+ const projectId = workspace?.project?.id;
173
+ const [inspection, setInspection] = useState2(null);
174
+ const [failed, setFailed] = useState2(false);
175
+ useEffect2(() => {
176
+ if (!subject?.guid || !projectId) {
177
+ setInspection(null);
178
+ setFailed(false);
179
+ return void 0;
180
+ }
181
+ const controller = new AbortController();
182
+ void client.inspectAsset(subject.guid, {
183
+ projectId,
184
+ tabId: VIEW_WORKSPACE_TAB_ID,
185
+ signal: controller.signal
186
+ }).then((result) => {
187
+ if (controller.signal.aborted) return;
188
+ setInspection(unwrapWorkspaceInspection(result));
189
+ setFailed(false);
190
+ }).catch(() => {
191
+ if (!controller.signal.aborted) {
192
+ setInspection(null);
193
+ setFailed(true);
194
+ }
195
+ });
196
+ return () => controller.abort();
197
+ }, [client, subject?.guid, projectId]);
198
+ if (!subject) {
199
+ return /* @__PURE__ */ jsx2("div", { className: "fx-asset-editor fx-ui", "data-testid": "panel-texture-properties", children: /* @__PURE__ */ jsx2(EmptyState, { title: t2("texture.empty"), description: t2("texture.unavailable") }) });
200
+ }
201
+ if (failed) {
202
+ return /* @__PURE__ */ jsx2("div", { className: "fx-asset-editor fx-ui", "data-testid": "panel-texture-properties", children: /* @__PURE__ */ jsx2(EmptyState, { title: t2("texture.unavailable"), description: t2("texture.inspectFailed") }) });
203
+ }
204
+ return /* @__PURE__ */ jsxs2("div", { className: "fx-asset-editor fx-ui", "data-testid": "panel-texture-properties", "data-view-readonly": "true", children: [
205
+ /* @__PURE__ */ jsx2(PanelHeader, { start: /* @__PURE__ */ jsx2("span", { children: /* @__PURE__ */ jsx2("strong", { children: String(subject.name ?? subject.guid) }) }) }),
206
+ /* @__PURE__ */ jsx2(InspectorForm, { inspection: inspection ?? { guid: subject.guid, asset: subject }, identityTitle: t2("texture.facts") })
207
+ ] });
208
+ }
209
+
210
+ // packages/view-plugin-texture/src/ui/mount.tsx
211
+ import { jsx as jsx3 } from "react/jsx-runtime";
212
+ function mountPanel(node, props) {
213
+ if (!props.mountElement) throw new TypeError("texture panel mount requires mountElement");
214
+ const root = createRoot(props.mountElement);
215
+ root.render(
216
+ /* @__PURE__ */ jsx3(OverlayRootProvider, { root: props.overlayRoot ?? props.mountElement, children: node })
217
+ );
218
+ return async () => root.unmount();
219
+ }
220
+ async function mountTexturePreviewPanel(props) {
221
+ return mountPanel(
222
+ /* @__PURE__ */ jsx3(TexturePreviewPanel, { demo: props.demo, client: props.client, presentation: props.presentation, owner: props.owner }),
223
+ props
224
+ );
225
+ }
226
+ async function mountTexturePropertiesPanel(props) {
227
+ return mountPanel(
228
+ /* @__PURE__ */ jsx3(TexturePropertiesPanel, { demo: props.demo, client: props.client }),
229
+ props
230
+ );
231
+ }
232
+
233
+ export {
234
+ mountTexturePreviewPanel,
235
+ mountTexturePropertiesPanel
236
+ };
237
+ //# sourceMappingURL=chunk-47J5JXAB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-plugin-texture/src/ui/mount.tsx", "../../../packages/view-plugin-texture/src/ui/TexturePreviewPanel.tsx", "../../../packages/view-plugin-texture/src/i18n/useTranslation.ts", "../../../packages/view-plugin-texture/src/ui/texture.css", "../../../packages/view-plugin-texture/src/ui/TexturePropertiesPanel.tsx"],
4
+ "sourcesContent": ["import '@forgeax/view-components/styles.css';\nimport { OverlayRootProvider } from '@forgeax/view-components';\nimport '../i18n/index.mjs';\nimport { createRoot } from 'react-dom/client';\nimport { TexturePreviewPanel } from './TexturePreviewPanel';\nimport { TexturePropertiesPanel } from './TexturePropertiesPanel';\nimport './texture.css';\n\ntype MountProps = {\n client?: unknown;\n presentation?: unknown;\n owner?: unknown;\n demo?: boolean;\n mountElement: HTMLElement;\n overlayRoot?: HTMLElement;\n};\n\nfunction mountPanel(node: Parameters<ReturnType<typeof createRoot>['render']>[0], props: MountProps) {\n if (!props.mountElement) throw new TypeError('texture panel mount requires mountElement');\n const root = createRoot(props.mountElement);\n root.render(\n <OverlayRootProvider root={props.overlayRoot ?? props.mountElement}>\n {node}\n </OverlayRootProvider>,\n );\n return async () => root.unmount();\n}\n\nexport async function mountTexturePreviewPanel(props: MountProps) {\n return mountPanel(\n <TexturePreviewPanel demo={props.demo} client={props.client as never} presentation={props.presentation as never} owner={props.owner as never} />,\n props,\n );\n}\n\nexport async function mountTexturePropertiesPanel(props: MountProps) {\n return mountPanel(\n <TexturePropertiesPanel demo={props.demo} client={props.client as never} />,\n props,\n );\n}\n", "import { EmptyState } from '@forgeax/view-components';\nimport { useEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';\nimport { bindWorkspacePreviewSurface } from '@forgeax/view-workspace-core/preview-surface';\nimport {\n selectWorkspaceResourcePreview,\n selectWorkspaceResourceSubject,\n} from '@forgeax/view-workspace-core/resource-open';\nimport type { ViewWorkspaceClient } from '@forgeax/view-workspace-core/client';\nimport { createWorkspaceStateReader } from '@forgeax/view-workspace-core/workspace-state';\nimport { RESOURCE_KINDS } from '../identity.mjs';\nimport { useTranslation } from '../i18n/useTranslation';\nimport './texture.css';\n\ntype PreviewOwner = { panelId?: string; pageType?: string };\ntype PreviewTarget = { targetId: string; generation?: number; surfaceId?: string };\ntype PreviewPresentation = {\n surfacePlacement?: string;\n owner?: PreviewOwner;\n createSurface?: (input: {\n target: PreviewTarget;\n document?: Document;\n }) => HTMLElement | null | undefined;\n attach?: (input: {\n target: PreviewTarget;\n element: HTMLElement;\n owner?: PreviewOwner;\n }) => void | (() => void) | Promise<void | (() => void)>;\n};\n\nexport function TexturePreviewPanel({\n client,\n presentation,\n owner,\n demo = false,\n}: {\n client?: ViewWorkspaceClient;\n presentation?: PreviewPresentation;\n owner?: PreviewOwner;\n demo?: boolean;\n}) {\n const { t } = useTranslation();\n if (demo || !client) {\n return <PreviewEmpty title={t('texture.previewEmpty')} description={t('texture.previewUnavailable')} />;\n }\n return <LivePreview client={client} presentation={presentation} owner={owner} />;\n}\n\nfunction PreviewEmpty({ title, description }: { title: string; description: string }) {\n return (\n <div className=\"fx-asset-editor fx-asset-preview fx-ui\" data-testid=\"panel-texture-preview\">\n <EmptyState title={title} description={description} />\n </div>\n );\n}\n\nfunction LivePreview({\n client,\n presentation,\n owner,\n}: {\n client: ViewWorkspaceClient;\n presentation?: PreviewPresentation;\n owner?: PreviewOwner;\n}) {\n const { t } = useTranslation();\n const reader = useMemo(() => createWorkspaceStateReader(client), [client]);\n const workspace = useSyncExternalStore(\n reader.subscribe,\n () => reader.getSnapshot(),\n () => reader.getSnapshot(),\n );\n const subject = selectWorkspaceResourceSubject(workspace, RESOURCE_KINDS);\n const preview = selectWorkspaceResourcePreview(workspace, subject?.guid);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [failure, setFailure] = useState<{ hint?: string; expected?: string }>();\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container || !preview?.target) return undefined;\n const bound = bindWorkspacePreviewSurface({\n presentation,\n target: preview.target,\n container,\n owner,\n api: client,\n editorTargetId: workspace?.editorPreview?.target?.targetId,\n });\n if (!bound.ok) {\n setFailure(bound.error);\n return undefined;\n }\n setFailure(undefined);\n return () => { void bound.dispose?.(); };\n }, [\n presentation,\n owner,\n preview?.target,\n preview?.target?.targetId,\n preview?.target?.generation,\n preview?.target?.surfaceId,\n workspace?.editorPreview?.target?.targetId,\n client,\n ]);\n\n if (!subject) return <PreviewEmpty title={t('texture.previewEmpty')} description={t('texture.empty')} />;\n if (!preview?.target) {\n return (\n <PreviewEmpty\n title={t('texture.previewUnavailable')}\n description={t('texture.previewCapabilityMissing')}\n />\n );\n }\n return (\n <div className=\"fx-asset-editor fx-asset-preview fx-ui\" data-testid=\"panel-texture-preview\">\n <div\n ref={containerRef}\n className=\"fx-asset-preview-surface\"\n data-forgeax-asset-preview={preview.target.targetId}\n hidden={Boolean(failure)}\n />\n {failure ? (\n <EmptyState\n title={t('texture.previewUnavailable')}\n description={failure.hint ?? failure.expected ?? t('texture.previewCapabilityMissing')}\n />\n ) : null}\n </div>\n );\n}\n", "import { useCallback, useSyncExternalStore } from 'react';\n\nimport { getLocale, subscribeLocale, t as translate } from './index.mjs';\n\nexport function useTranslation() {\n const locale = useSyncExternalStore(subscribeLocale, getLocale, getLocale);\n const t = useCallback(\n (key: string, vars?: Record<string, string | number>) => translate(key, vars),\n [locale],\n );\n return { t, locale };\n}\n", "\n const css = \"/* packages/view-plugin-texture/src/ui/texture.css */\\n.fx-asset-editor {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n min-height: 0;\\n overflow: hidden;\\n background: var(--fx-color-surface-canvas);\\n color: var(--fx-color-text-primary);\\n}\\n.fx-asset-preview {\\n overflow: hidden;\\n}\\n.fx-asset-preview-surface {\\n display: flex;\\n flex: 1 1 auto;\\n align-items: stretch;\\n justify-content: stretch;\\n width: 100%;\\n height: 100%;\\n min-height: 0;\\n min-width: 0;\\n position: relative;\\n overflow: hidden;\\n}\\n\";\n if (typeof document !== 'undefined' && !document.querySelector('style[data-forgeax-css=\"L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi10ZXh0dXJlL3NyYy91aS90ZXh0dXJlLmNzcw\"]')) {\n const style = document.createElement('style');\n style.dataset.forgeaxCss = \"L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi10ZXh0dXJlL3NyYy91aS90ZXh0dXJlLmNzcw\";\n style.textContent = css;\n document.head.append(style);\n }\n export default css;\n ", "import { EmptyState, InspectorForm, PanelHeader } from '@forgeax/view-components';\nimport { useEffect, useMemo, useState, useSyncExternalStore } from 'react';\nimport type { ViewWorkspaceClient } from '@forgeax/view-workspace-core/client';\nimport { VIEW_WORKSPACE_TAB_ID } from '@forgeax/view-workspace-core/contract';\nimport { unwrapWorkspaceInspection } from '@forgeax/view-workspace-core/inspection-presentation';\nimport { selectWorkspaceResourceSubject } from '@forgeax/view-workspace-core/resource-open';\nimport { createWorkspaceStateReader } from '@forgeax/view-workspace-core/workspace-state';\nimport { RESOURCE_KINDS } from '../identity.mjs';\nimport { useTranslation } from '../i18n/useTranslation';\nimport './texture.css';\n\nexport function TexturePropertiesPanel({\n client,\n demo = false,\n}: {\n client?: ViewWorkspaceClient;\n demo?: boolean;\n}) {\n const { t } = useTranslation();\n if (demo || !client) {\n return (\n <div className=\"fx-asset-editor fx-ui\" data-testid=\"panel-texture-properties\">\n <EmptyState title={t('texture.unavailable')} description={t('texture.empty')} />\n </div>\n );\n }\n return <LiveProperties client={client} />;\n}\n\nfunction LiveProperties({ client }: { client: ViewWorkspaceClient }) {\n const { t } = useTranslation();\n const reader = useMemo(() => createWorkspaceStateReader(client), [client]);\n const workspace = useSyncExternalStore(\n reader.subscribe,\n () => reader.getSnapshot(),\n () => reader.getSnapshot(),\n );\n const subject = selectWorkspaceResourceSubject(workspace, RESOURCE_KINDS);\n const projectId = workspace?.project?.id;\n const [inspection, setInspection] = useState<Record<string, unknown> | null>(null);\n const [failed, setFailed] = useState(false);\n\n useEffect(() => {\n if (!subject?.guid || !projectId) {\n setInspection(null);\n setFailed(false);\n return undefined;\n }\n const controller = new AbortController();\n void client.inspectAsset(subject.guid, {\n projectId,\n tabId: VIEW_WORKSPACE_TAB_ID,\n signal: controller.signal,\n }).then((result: unknown) => {\n if (controller.signal.aborted) return;\n setInspection(unwrapWorkspaceInspection(result));\n setFailed(false);\n }).catch(() => {\n if (!controller.signal.aborted) {\n setInspection(null);\n setFailed(true);\n }\n });\n return () => controller.abort();\n }, [client, subject?.guid, projectId]);\n\n if (!subject) {\n return (\n <div className=\"fx-asset-editor fx-ui\" data-testid=\"panel-texture-properties\">\n <EmptyState title={t('texture.empty')} description={t('texture.unavailable')} />\n </div>\n );\n }\n if (failed) {\n return (\n <div className=\"fx-asset-editor fx-ui\" data-testid=\"panel-texture-properties\">\n <EmptyState title={t('texture.unavailable')} description={t('texture.inspectFailed')} />\n </div>\n );\n }\n return (\n <div className=\"fx-asset-editor fx-ui\" data-testid=\"panel-texture-properties\" data-view-readonly=\"true\">\n <PanelHeader start={<span><strong>{String(subject.name ?? subject.guid)}</strong></span>} />\n <InspectorForm inspection={inspection ?? { guid: subject.guid, asset: subject }} identityTitle={t('texture.facts')} />\n </div>\n );\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["useSyncExternalStore", "t", "t", "useSyncExternalStore", "useEffect", "useMemo", "useState", "useSyncExternalStore", "jsx", "jsxs", "t", "useMemo", "useSyncExternalStore", "useState", "useEffect", "jsx"]
7
+ }
@@ -0,0 +1,17 @@
1
+ import {
2
+ viewPlayPresentationPlugin
3
+ } from "./chunk-G7BAFAGO.mjs";
4
+ import {
5
+ PRESENTATION_PLUGIN_ID
6
+ } from "./chunk-RR6L6VVR.mjs";
7
+
8
+ // packages/view-plugin-viewport/src/presentation.mjs
9
+ var presentation_default = {
10
+ ...viewPlayPresentationPlugin,
11
+ name: PRESENTATION_PLUGIN_ID
12
+ };
13
+
14
+ export {
15
+ presentation_default
16
+ };
17
+ //# sourceMappingURL=chunk-4BXQOUDQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-plugin-viewport/src/presentation.mjs"],
4
+ "sourcesContent": ["import { viewPlayPresentationPlugin } from './play-presentation.mjs';\nimport { PRESENTATION_PLUGIN_ID } from './presentation-identity.mjs';\nexport { PRESENTATION_PLUGIN_ID, PRESENTATION_MODULE } from './presentation-identity.mjs';\n\n/** The connection owns Play resources; page panels only borrow their placement. */\nexport default {\n ...viewPlayPresentationPlugin,\n name: PRESENTATION_PLUGIN_ID,\n};\n"],
5
+ "mappings": ";;;;;;;;AAKA,IAAO,uBAAQ;AAAA,EACb,GAAG;AAAA,EACH,MAAM;AACR;",
6
+ "names": []
7
+ }
@@ -0,0 +1,126 @@
1
+ import {
2
+ registerViewLocaleSink
3
+ } from "./chunk-FOBRLUQV.mjs";
4
+
5
+ // packages/view-plugin-plugins/src/i18n/locales/en.json
6
+ var en_default = {
7
+ plugins: {
8
+ loading: "Loading",
9
+ observed: "Host entries",
10
+ partial: "Partial inventory",
11
+ hosts: "Hosts",
12
+ allHosts: "All hosts",
13
+ thisFrontend: "This frontend",
14
+ tags: "Tags",
15
+ reset: "Reset filters",
16
+ resultCount: "Entries {{count}} / {{total}}",
17
+ sourceAssetGuid: "Source asset GUID",
18
+ unnamed: "Unnamed plugin",
19
+ sourceAssetGuidHelp: "The PluginAsset that supplied this Fiber. Child plugins can share this GUID; native plugins have no source asset GUID.",
20
+ filterHelp: "Match all selected tags. API / CLI describe tool and command contributions, not separate processes.",
21
+ gameUnavailable: "No game plugin entries have been reported by the connected sources. This does not mean no game is running.",
22
+ tag: { backend: "Backend", frontend: "Frontend", game: "Game", asset: "Asset", api: "API", cli: "CLI" },
23
+ tagHelp: {
24
+ backend: "Entries observed on a backend Host",
25
+ frontend: "Entries observed on a frontend Host",
26
+ game: "Reported game sources or engine entries with World / GameHost dependencies",
27
+ asset: "Native Fiber mounted from a Pack plugin asset",
28
+ api: "Providers with observed Tool API contributions",
29
+ cli: "Entries with a command contract or Tool API command paths"
30
+ },
31
+ title: "Plugins",
32
+ filter: "Filter plugins, modules, entries, or services",
33
+ filterLabel: "Filter plugins",
34
+ filterPlaceholder: "Filter plugins\u2026",
35
+ toolbar: "Plugin toolbar",
36
+ refresh: "Refresh",
37
+ loadedCount: "Entries {{count}}",
38
+ hostHealthy: "Host healthy",
39
+ emptyTitle: "No matching plugins",
40
+ emptyDescription: "Adjust the Host, tags or search keywords, or reset all filters.",
41
+ loadErrorTitle: "Could not load plugins",
42
+ retry: "Retry",
43
+ stateAll: "All states",
44
+ empty: "No plugin sources",
45
+ unavailable: "Plugin inspection unavailable"
46
+ }
47
+ };
48
+
49
+ // packages/view-plugin-plugins/src/i18n/locales/zh.json
50
+ var zh_default = {
51
+ plugins: {
52
+ loading: "Loading",
53
+ observed: "Host entries",
54
+ partial: "Partial inventory",
55
+ hosts: "Hosts",
56
+ allHosts: "All hosts",
57
+ thisFrontend: "This frontend",
58
+ tags: "Tags",
59
+ reset: "Reset filters",
60
+ resultCount: "Entries {{count}} / {{total}}",
61
+ sourceAssetGuid: "\u6765\u6E90\u8D44\u4EA7 GUID",
62
+ unnamed: "\u672A\u547D\u540D\u63D2\u4EF6",
63
+ sourceAssetGuidHelp: "\u63D0\u4F9B\u6B64 Fiber \u7684\u63D2\u4EF6\u8D44\u4EA7\uFF1B\u5B50\u63D2\u4EF6\u53EF\u80FD\u5171\u7528\u8BE5 GUID\uFF0C\u539F\u751F\u63D2\u4EF6\u6CA1\u6709\u6765\u6E90\u8D44\u4EA7 GUID\u3002",
64
+ filterHelp: "Match all selected tags. API / CLI describe tool and command contributions, not separate processes.",
65
+ gameUnavailable: "No game plugin entries have been reported by the connected sources. This does not mean no game is running.",
66
+ tag: { backend: "Backend", frontend: "Frontend", game: "Game", asset: "\u8D44\u4EA7", api: "API", cli: "CLI" },
67
+ tagHelp: {
68
+ backend: "Entries observed on a backend Host",
69
+ frontend: "Entries observed on a frontend Host",
70
+ game: "Reported game sources or engine entries with World / GameHost dependencies",
71
+ asset: "\u4ECE Pack \u63D2\u4EF6\u8D44\u4EA7\u6302\u8F7D\u7684\u539F\u751F Fiber",
72
+ api: "Providers with observed Tool API contributions",
73
+ cli: "Entries with a command contract or Tool API command paths"
74
+ },
75
+ title: "\u63D2\u4EF6",
76
+ filter: "\u7B5B\u9009\u63D2\u4EF6\u3001\u6A21\u5757\u3001\u6761\u76EE\u6216\u670D\u52A1",
77
+ filterLabel: "\u7B5B\u9009\u63D2\u4EF6",
78
+ filterPlaceholder: "\u7B5B\u9009\u63D2\u4EF6\u2026",
79
+ toolbar: "\u63D2\u4EF6\u5DE5\u5177\u680F",
80
+ refresh: "\u5237\u65B0",
81
+ loadedCount: "\u6761\u76EE {{count}}",
82
+ hostHealthy: "Host \u6B63\u5E38",
83
+ emptyTitle: "\u6CA1\u6709\u5339\u914D\u7684\u63D2\u4EF6",
84
+ emptyDescription: "\u8BF7\u8C03\u6574\u641C\u7D22\u5173\u952E\u8BCD\u540E\u91CD\u8BD5\u3002",
85
+ loadErrorTitle: "\u65E0\u6CD5\u8F7D\u5165\u63D2\u4EF6",
86
+ retry: "\u91CD\u8BD5",
87
+ stateAll: "\u5168\u90E8\u72B6\u6001",
88
+ empty: "\u65E0\u63D2\u4EF6\u6765\u6E90",
89
+ unavailable: "\u63D2\u4EF6\u68C0\u67E5\u4E0D\u53EF\u7528"
90
+ }
91
+ };
92
+
93
+ // packages/view-plugin-plugins/src/i18n/index.mjs
94
+ function createPluginI18n(catalogs) {
95
+ let current = "zh";
96
+ const listeners = /* @__PURE__ */ new Set();
97
+ const lookup = (catalog, key) => key.split(".").reduce((value, part) => value?.[part], catalog);
98
+ const t2 = (key, vars) => {
99
+ const message = lookup(catalogs[current], key) ?? lookup(catalogs.en, key) ?? key;
100
+ return vars ? message.replace(/\{\{(\w+)\}\}/g, (_, name) => String(vars[name] ?? "")) : message;
101
+ };
102
+ const subscribe = (listener) => {
103
+ listeners.add(listener);
104
+ return () => listeners.delete(listener);
105
+ };
106
+ const setLocale2 = (next) => {
107
+ if (next !== "en" && next !== "zh") return;
108
+ current = next;
109
+ for (const listener of listeners) listener();
110
+ };
111
+ return { t: t2, subscribe, getLocale: () => current, setLocale: setLocale2 };
112
+ }
113
+ var i18n = createPluginI18n({ en: en_default, zh: zh_default });
114
+ var t = i18n.t;
115
+ var subscribeLocale = i18n.subscribe;
116
+ var getLocale = i18n.getLocale;
117
+ var setLocale = i18n.setLocale;
118
+ registerViewLocaleSink(i18n.setLocale);
119
+
120
+ export {
121
+ t,
122
+ subscribeLocale,
123
+ getLocale,
124
+ setLocale
125
+ };
126
+ //# sourceMappingURL=chunk-4GQWYU2V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-plugin-plugins/src/i18n/locales/en.json", "../../../packages/view-plugin-plugins/src/i18n/locales/zh.json", "../../../packages/view-plugin-plugins/src/i18n/index.mjs"],
4
+ "sourcesContent": ["{\n \"plugins\": {\n \"loading\": \"Loading\",\n \"observed\": \"Host entries\",\n \"partial\": \"Partial inventory\",\n \"hosts\": \"Hosts\",\n \"allHosts\": \"All hosts\",\n \"thisFrontend\": \"This frontend\",\n \"tags\": \"Tags\",\n \"reset\": \"Reset filters\",\n \"resultCount\": \"Entries {{count}} / {{total}}\",\n \"sourceAssetGuid\": \"Source asset GUID\",\n \"unnamed\": \"Unnamed plugin\",\n \"sourceAssetGuidHelp\": \"The PluginAsset that supplied this Fiber. Child plugins can share this GUID; native plugins have no source asset GUID.\",\n \"filterHelp\": \"Match all selected tags. API / CLI describe tool and command contributions, not separate processes.\",\n \"gameUnavailable\": \"No game plugin entries have been reported by the connected sources. This does not mean no game is running.\",\n \"tag\": { \"backend\": \"Backend\", \"frontend\": \"Frontend\", \"game\": \"Game\", \"asset\": \"Asset\", \"api\": \"API\", \"cli\": \"CLI\" },\n \"tagHelp\": {\n \"backend\": \"Entries observed on a backend Host\",\n \"frontend\": \"Entries observed on a frontend Host\",\n \"game\": \"Reported game sources or engine entries with World / GameHost dependencies\",\n \"asset\": \"Native Fiber mounted from a Pack plugin asset\",\n \"api\": \"Providers with observed Tool API contributions\",\n \"cli\": \"Entries with a command contract or Tool API command paths\"\n },\n \"title\": \"Plugins\",\n \"filter\": \"Filter plugins, modules, entries, or services\",\n \"filterLabel\": \"Filter plugins\",\n \"filterPlaceholder\": \"Filter plugins\u2026\",\n \"toolbar\": \"Plugin toolbar\",\n \"refresh\": \"Refresh\",\n \"loadedCount\": \"Entries {{count}}\",\n \"hostHealthy\": \"Host healthy\",\n \"emptyTitle\": \"No matching plugins\",\n \"emptyDescription\": \"Adjust the Host, tags or search keywords, or reset all filters.\",\n \"loadErrorTitle\": \"Could not load plugins\",\n \"retry\": \"Retry\",\n \"stateAll\": \"All states\",\n \"empty\": \"No plugin sources\",\n \"unavailable\": \"Plugin inspection unavailable\"\n }\n}\n", "{\n \"plugins\": {\n \"loading\": \"Loading\",\n \"observed\": \"Host entries\",\n \"partial\": \"Partial inventory\",\n \"hosts\": \"Hosts\",\n \"allHosts\": \"All hosts\",\n \"thisFrontend\": \"This frontend\",\n \"tags\": \"Tags\",\n \"reset\": \"Reset filters\",\n \"resultCount\": \"Entries {{count}} / {{total}}\",\n \"sourceAssetGuid\": \"\u6765\u6E90\u8D44\u4EA7 GUID\",\n \"unnamed\": \"\u672A\u547D\u540D\u63D2\u4EF6\",\n \"sourceAssetGuidHelp\": \"\u63D0\u4F9B\u6B64 Fiber \u7684\u63D2\u4EF6\u8D44\u4EA7\uFF1B\u5B50\u63D2\u4EF6\u53EF\u80FD\u5171\u7528\u8BE5 GUID\uFF0C\u539F\u751F\u63D2\u4EF6\u6CA1\u6709\u6765\u6E90\u8D44\u4EA7 GUID\u3002\",\n \"filterHelp\": \"Match all selected tags. API / CLI describe tool and command contributions, not separate processes.\",\n \"gameUnavailable\": \"No game plugin entries have been reported by the connected sources. This does not mean no game is running.\",\n \"tag\": { \"backend\": \"Backend\", \"frontend\": \"Frontend\", \"game\": \"Game\", \"asset\": \"\u8D44\u4EA7\", \"api\": \"API\", \"cli\": \"CLI\" },\n \"tagHelp\": {\n \"backend\": \"Entries observed on a backend Host\",\n \"frontend\": \"Entries observed on a frontend Host\",\n \"game\": \"Reported game sources or engine entries with World / GameHost dependencies\",\n \"asset\": \"\u4ECE Pack \u63D2\u4EF6\u8D44\u4EA7\u6302\u8F7D\u7684\u539F\u751F Fiber\",\n \"api\": \"Providers with observed Tool API contributions\",\n \"cli\": \"Entries with a command contract or Tool API command paths\"\n },\n \"title\": \"\u63D2\u4EF6\",\n \"filter\": \"\u7B5B\u9009\u63D2\u4EF6\u3001\u6A21\u5757\u3001\u6761\u76EE\u6216\u670D\u52A1\",\n \"filterLabel\": \"\u7B5B\u9009\u63D2\u4EF6\",\n \"filterPlaceholder\": \"\u7B5B\u9009\u63D2\u4EF6\u2026\",\n \"toolbar\": \"\u63D2\u4EF6\u5DE5\u5177\u680F\",\n \"refresh\": \"\u5237\u65B0\",\n \"loadedCount\": \"\u6761\u76EE {{count}}\",\n \"hostHealthy\": \"Host \u6B63\u5E38\",\n \"emptyTitle\": \"\u6CA1\u6709\u5339\u914D\u7684\u63D2\u4EF6\",\n \"emptyDescription\": \"\u8BF7\u8C03\u6574\u641C\u7D22\u5173\u952E\u8BCD\u540E\u91CD\u8BD5\u3002\",\n \"loadErrorTitle\": \"\u65E0\u6CD5\u8F7D\u5165\u63D2\u4EF6\",\n \"retry\": \"\u91CD\u8BD5\",\n \"stateAll\": \"\u5168\u90E8\u72B6\u6001\",\n \"empty\": \"\u65E0\u63D2\u4EF6\u6765\u6E90\",\n \"unavailable\": \"\u63D2\u4EF6\u68C0\u67E5\u4E0D\u53EF\u7528\"\n }\n}\n", "import { registerViewLocaleSink } from '@forgeax/view-workspace-core/locale-bridge';\nimport en from './locales/en.json' with { type: 'json' };\nimport zh from './locales/zh.json' with { type: 'json' };\n\nfunction createPluginI18n(catalogs) {\n let current = 'zh';\n const listeners = new Set();\n const lookup = (catalog, key) =>\n key.split('.').reduce((value, part) => value?.[part], catalog);\n const t = (key, vars) => {\n const message = lookup(catalogs[current], key) ?? lookup(catalogs.en, key) ?? key;\n return vars\n ? message.replace(/\\{\\{(\\w+)\\}\\}/g, (_, name) => String(vars[name] ?? ''))\n : message;\n };\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const setLocale = (next) => {\n if (next !== 'en' && next !== 'zh') return;\n current = next;\n for (const listener of listeners) listener();\n };\n return { t, subscribe, getLocale: () => current, setLocale };\n}\n\nconst i18n = createPluginI18n({ en, zh });\n\nexport const t = i18n.t;\nexport const subscribeLocale = i18n.subscribe;\nexport const getLocale = i18n.getLocale;\nexport const setLocale = i18n.setLocale;\n\nregisterViewLocaleSink(i18n.setLocale);\n"],
5
+ "mappings": "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",
6
+ "names": ["t", "setLocale"]
7
+ }
@@ -0,0 +1,48 @@
1
+ // packages/view-workspace-core/src/inspection-presentation.mjs
2
+ function displayInspectionValue(value) {
3
+ if (value === void 0 || value === null) return void 0;
4
+ if (typeof value === "string" && value.trim() === "") return void 0;
5
+ return typeof value === "object" ? JSON.stringify(value) : String(value);
6
+ }
7
+ function addInspectionRow(rows, label, value) {
8
+ const displayed = displayInspectionValue(value);
9
+ if (displayed === void 0) return;
10
+ rows.push(Object.freeze({ label, value: displayed }));
11
+ }
12
+ function workspaceInspectionFactRows(inspection) {
13
+ if (!inspection || typeof inspection !== "object" || Array.isArray(inspection)) {
14
+ return Object.freeze([]);
15
+ }
16
+ const asset = inspection.asset && typeof inspection.asset === "object" ? inspection.asset : {};
17
+ const rows = [];
18
+ addInspectionRow(rows, "GUID", inspection.guid ?? asset.guid);
19
+ addInspectionRow(rows, "Kind", asset.kind);
20
+ addInspectionRow(rows, "Name", asset.name);
21
+ addInspectionRow(rows, "Path", asset.path);
22
+ addInspectionRow(rows, "Source", inspection.source?.path ?? asset.sourcePath);
23
+ addInspectionRow(rows, "Revision", inspection.revision ?? asset.revision ?? inspection.source?.revision);
24
+ addInspectionRow(rows, "Package", asset.packageId ?? asset.packageUrl);
25
+ if (inspection.ddc?.state) addInspectionRow(rows, "DDC", inspection.ddc.state);
26
+ return Object.freeze(rows);
27
+ }
28
+ function workspaceInspectionMetaRows(inspection, keys) {
29
+ const meta = inspection?.meta;
30
+ if (!meta || typeof meta !== "object" || Array.isArray(meta)) return Object.freeze([]);
31
+ const rows = [];
32
+ for (const key of keys ?? []) {
33
+ addInspectionRow(rows, key, meta[key]);
34
+ }
35
+ return Object.freeze(rows);
36
+ }
37
+ function unwrapWorkspaceInspection(result) {
38
+ if (!result || typeof result !== "object") return null;
39
+ const payload = "inspection" in result && result.inspection !== void 0 ? result.inspection : result;
40
+ return payload && typeof payload === "object" && !Array.isArray(payload) ? payload : null;
41
+ }
42
+
43
+ export {
44
+ workspaceInspectionFactRows,
45
+ workspaceInspectionMetaRows,
46
+ unwrapWorkspaceInspection
47
+ };
48
+ //# sourceMappingURL=chunk-4N5X2PRQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/view-workspace-core/src/inspection-presentation.mjs"],
4
+ "sourcesContent": ["function displayInspectionValue(value) {\n if (value === undefined || value === null) return undefined;\n if (typeof value === 'string' && value.trim() === '') return undefined;\n return typeof value === 'object' ? JSON.stringify(value) : String(value);\n}\n\nfunction addInspectionRow(rows, label, value) {\n const displayed = displayInspectionValue(value);\n if (displayed === undefined) return;\n rows.push(Object.freeze({ label, value: displayed }));\n}\n\n/** Identity rows for a serialized inspection. Kind-specific facts use meta projections. */\nexport function workspaceInspectionFactRows(inspection) {\n if (!inspection || typeof inspection !== 'object' || Array.isArray(inspection)) {\n return Object.freeze([]);\n }\n const asset = inspection.asset && typeof inspection.asset === 'object' ? inspection.asset : {};\n const rows = [];\n addInspectionRow(rows, 'GUID', inspection.guid ?? asset.guid);\n addInspectionRow(rows, 'Kind', asset.kind);\n addInspectionRow(rows, 'Name', asset.name);\n addInspectionRow(rows, 'Path', asset.path);\n addInspectionRow(rows, 'Source', inspection.source?.path ?? asset.sourcePath);\n addInspectionRow(rows, 'Revision', inspection.revision ?? asset.revision ?? inspection.source?.revision);\n addInspectionRow(rows, 'Package', asset.packageId ?? asset.packageUrl);\n if (inspection.ddc?.state) addInspectionRow(rows, 'DDC', inspection.ddc.state);\n return Object.freeze(rows);\n}\n\nexport function workspaceInspectionMetaRows(inspection, keys) {\n const meta = inspection?.meta;\n if (!meta || typeof meta !== 'object' || Array.isArray(meta)) return Object.freeze([]);\n const rows = [];\n for (const key of keys ?? []) {\n addInspectionRow(rows, key, meta[key]);\n }\n return Object.freeze(rows);\n}\n\nexport function unwrapWorkspaceInspection(result) {\n if (!result || typeof result !== 'object') return null;\n const payload = 'inspection' in result && result.inspection !== undefined ? result.inspection : result;\n return payload && typeof payload === 'object' && !Array.isArray(payload) ? payload : null;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,uBAAuB,OAAO;AACrC,MAAI,UAAU,UAAa,UAAU,KAAM,QAAO;AAClD,MAAI,OAAO,UAAU,YAAY,MAAM,KAAK,MAAM,GAAI,QAAO;AAC7D,SAAO,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAI,OAAO,KAAK;AACzE;AAEA,SAAS,iBAAiB,MAAM,OAAO,OAAO;AAC5C,QAAM,YAAY,uBAAuB,KAAK;AAC9C,MAAI,cAAc,OAAW;AAC7B,OAAK,KAAK,OAAO,OAAO,EAAE,OAAO,OAAO,UAAU,CAAC,CAAC;AACtD;AAGO,SAAS,4BAA4B,YAAY;AACtD,MAAI,CAAC,cAAc,OAAO,eAAe,YAAY,MAAM,QAAQ,UAAU,GAAG;AAC9E,WAAO,OAAO,OAAO,CAAC,CAAC;AAAA,EACzB;AACA,QAAM,QAAQ,WAAW,SAAS,OAAO,WAAW,UAAU,WAAW,WAAW,QAAQ,CAAC;AAC7F,QAAM,OAAO,CAAC;AACd,mBAAiB,MAAM,QAAQ,WAAW,QAAQ,MAAM,IAAI;AAC5D,mBAAiB,MAAM,QAAQ,MAAM,IAAI;AACzC,mBAAiB,MAAM,QAAQ,MAAM,IAAI;AACzC,mBAAiB,MAAM,QAAQ,MAAM,IAAI;AACzC,mBAAiB,MAAM,UAAU,WAAW,QAAQ,QAAQ,MAAM,UAAU;AAC5E,mBAAiB,MAAM,YAAY,WAAW,YAAY,MAAM,YAAY,WAAW,QAAQ,QAAQ;AACvG,mBAAiB,MAAM,WAAW,MAAM,aAAa,MAAM,UAAU;AACrE,MAAI,WAAW,KAAK,MAAO,kBAAiB,MAAM,OAAO,WAAW,IAAI,KAAK;AAC7E,SAAO,OAAO,OAAO,IAAI;AAC3B;AAEO,SAAS,4BAA4B,YAAY,MAAM;AAC5D,QAAM,OAAO,YAAY;AACzB,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,MAAM,QAAQ,IAAI,EAAG,QAAO,OAAO,OAAO,CAAC,CAAC;AACrF,QAAM,OAAO,CAAC;AACd,aAAW,OAAO,QAAQ,CAAC,GAAG;AAC5B,qBAAiB,MAAM,KAAK,KAAK,GAAG,CAAC;AAAA,EACvC;AACA,SAAO,OAAO,OAAO,IAAI;AAC3B;AAEO,SAAS,0BAA0B,QAAQ;AAChD,MAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO;AAClD,QAAM,UAAU,gBAAgB,UAAU,OAAO,eAAe,SAAY,OAAO,aAAa;AAChG,SAAO,WAAW,OAAO,YAAY,YAAY,CAAC,MAAM,QAAQ,OAAO,IAAI,UAAU;AACvF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
1
+ import {
2
+ VIEW_PRODUCT_FRONTEND_CATALOG
3
+ } from "./chunk-GYWIY7AL.mjs";
4
+ import {
5
+ VIEW_FRONTEND_ROOT_PROGRAM,
6
+ createViewProductPlan
7
+ } from "./chunk-RXF7SBBZ.mjs";
8
+
9
+ // packages/viewer/src/frontend-root.mjs
10
+ function createViewFrontendRoot(browserConfig = {}) {
11
+ return {
12
+ name: VIEW_FRONTEND_ROOT_PROGRAM,
13
+ async apply(ctx, config = {}) {
14
+ const plan = createViewProductPlan({ disabledPages: config.disabledPages });
15
+ const shared = {
16
+ ...config.frontendConfig ?? {},
17
+ ...browserConfig,
18
+ workspace: {
19
+ ...config.frontendConfig?.workspace ?? {},
20
+ ...browserConfig.workspace ?? {}
21
+ }
22
+ };
23
+ const deferred = [];
24
+ for (const component of plan.frontend) {
25
+ const record = VIEW_PRODUCT_FRONTEND_CATALOG.get(component.module);
26
+ if (!record) throw new Error(`View frontend program is missing: ${component.module}`);
27
+ const { default: plugin } = await record.load();
28
+ if (shared.embedded && record.requiresWorkspacePresentation) {
29
+ deferred.push(plugin);
30
+ continue;
31
+ }
32
+ const fiber = ctx.plugin(plugin, shared);
33
+ if (component === plan.frontend[0]) await fiber.await();
34
+ }
35
+ if (deferred.length) {
36
+ let started = false;
37
+ const startPresentationPages = () => {
38
+ if (started || !ctx.get("engineWorkspacePresentation", false)) return;
39
+ started = true;
40
+ for (const plugin of deferred) ctx.plugin(plugin, shared);
41
+ };
42
+ ctx.on("internal/service", (name) => {
43
+ if (name === "engineWorkspacePresentation") startPresentationPages();
44
+ });
45
+ startPresentationPages();
46
+ }
47
+ }
48
+ };
49
+ }
50
+ var frontend_root_default = createViewFrontendRoot();
51
+
52
+ export {
53
+ createViewFrontendRoot,
54
+ frontend_root_default
55
+ };
56
+ //# sourceMappingURL=chunk-4WXD2KYX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/viewer/src/frontend-root.mjs"],
4
+ "sourcesContent": ["import { createViewProductPlan, VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.mjs';\nimport { VIEW_PRODUCT_FRONTEND_CATALOG } from './frontend-catalog.mjs';\nexport { VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.mjs';\n\n/** One native root for the optional View surface. The Host resolves only this program. */\nexport function createViewFrontendRoot(browserConfig = {}) {\n return {\n name: VIEW_FRONTEND_ROOT_PROGRAM,\n async apply(ctx, config = {}) {\n const plan = createViewProductPlan({ disabledPages: config.disabledPages });\n const shared = {\n ...(config.frontendConfig ?? {}),\n ...browserConfig,\n workspace: {\n ...(config.frontendConfig?.workspace ?? {}),\n ...(browserConfig.workspace ?? {}),\n },\n };\n const deferred = [];\n for (const component of plan.frontend) {\n const record = VIEW_PRODUCT_FRONTEND_CATALOG.get(component.module);\n if (!record) throw new Error(`View frontend program is missing: ${component.module}`);\n const { default: plugin } = await record.load();\n if (shared.embedded && record.requiresWorkspacePresentation) {\n deferred.push(plugin);\n continue;\n }\n // Cordis fibers are thenable. Starting the page plugins must not await\n // their injection of Engine's presentation, which is supplied only\n // after the frontend root activates and the App bootstrap begins.\n const fiber = ctx.plugin(plugin, shared);\n if (component === plan.frontend[0]) await fiber.await();\n }\n if (deferred.length) {\n let started = false;\n const startPresentationPages = () => {\n if (started || !ctx.get('engineWorkspacePresentation', false)) return;\n started = true;\n for (const plugin of deferred) ctx.plugin(plugin, shared);\n };\n ctx.on('internal/service', (name) => {\n if (name === 'engineWorkspacePresentation') startPresentationPages();\n });\n startPresentationPages();\n }\n },\n };\n}\n\nexport default createViewFrontendRoot();\n"],
5
+ "mappings": ";;;;;;;;;AAKO,SAAS,uBAAuB,gBAAgB,CAAC,GAAG;AACzD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,MAAM,KAAK,SAAS,CAAC,GAAG;AAC5B,YAAM,OAAO,sBAAsB,EAAE,eAAe,OAAO,cAAc,CAAC;AAC1E,YAAM,SAAS;AAAA,QACb,GAAI,OAAO,kBAAkB,CAAC;AAAA,QAC9B,GAAG;AAAA,QACH,WAAW;AAAA,UACT,GAAI,OAAO,gBAAgB,aAAa,CAAC;AAAA,UACzC,GAAI,cAAc,aAAa,CAAC;AAAA,QAClC;AAAA,MACF;AACA,YAAM,WAAW,CAAC;AAClB,iBAAW,aAAa,KAAK,UAAU;AACrC,cAAM,SAAS,8BAA8B,IAAI,UAAU,MAAM;AACjE,YAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,qCAAqC,UAAU,MAAM,EAAE;AACpF,cAAM,EAAE,SAAS,OAAO,IAAI,MAAM,OAAO,KAAK;AAC9C,YAAI,OAAO,YAAY,OAAO,+BAA+B;AAC3D,mBAAS,KAAK,MAAM;AACpB;AAAA,QACF;AAIA,cAAM,QAAQ,IAAI,OAAO,QAAQ,MAAM;AACvC,YAAI,cAAc,KAAK,SAAS,CAAC,EAAG,OAAM,MAAM,MAAM;AAAA,MACxD;AACA,UAAI,SAAS,QAAQ;AACnB,YAAI,UAAU;AACd,cAAM,yBAAyB,MAAM;AACnC,cAAI,WAAW,CAAC,IAAI,IAAI,+BAA+B,KAAK,EAAG;AAC/D,oBAAU;AACV,qBAAW,UAAU,SAAU,KAAI,OAAO,QAAQ,MAAM;AAAA,QAC1D;AACA,YAAI,GAAG,oBAAoB,CAAC,SAAS;AACnC,cAAI,SAAS,8BAA+B,wBAAuB;AAAA,QACrE,CAAC;AACD,+BAAuB;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,wBAAQ,uBAAuB;",
6
+ "names": []
7
+ }