@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.
- package/CHANGELOG.md +11 -0
- package/README.md +742 -0
- package/dist/modules/backend.mjs +54 -0
- package/dist/modules/backend.mjs.map +7 -0
- package/dist/modules/browser.mjs +180 -0
- package/dist/modules/browser.mjs.map +7 -0
- package/dist/modules/carrier-contract.mjs +38 -0
- package/dist/modules/carrier-contract.mjs.map +7 -0
- package/dist/modules/carrier.mjs +13 -0
- package/dist/modules/carrier.mjs.map +7 -0
- package/dist/modules/chunks/chunk-2ASWB6IX.mjs +225 -0
- package/dist/modules/chunks/chunk-2ASWB6IX.mjs.map +7 -0
- package/dist/modules/chunks/chunk-2IJKOG2F.mjs +801 -0
- package/dist/modules/chunks/chunk-2IJKOG2F.mjs.map +7 -0
- package/dist/modules/chunks/chunk-2K3BBJ5S.mjs +9 -0
- package/dist/modules/chunks/chunk-2K3BBJ5S.mjs.map +7 -0
- package/dist/modules/chunks/chunk-32GD5LL6.mjs +482 -0
- package/dist/modules/chunks/chunk-32GD5LL6.mjs.map +7 -0
- package/dist/modules/chunks/chunk-3B4KFAEC.mjs +10 -0
- package/dist/modules/chunks/chunk-3B4KFAEC.mjs.map +7 -0
- package/dist/modules/chunks/chunk-46O5WX43.mjs +25 -0
- package/dist/modules/chunks/chunk-46O5WX43.mjs.map +7 -0
- package/dist/modules/chunks/chunk-47J5JXAB.mjs +237 -0
- package/dist/modules/chunks/chunk-47J5JXAB.mjs.map +7 -0
- package/dist/modules/chunks/chunk-4BXQOUDQ.mjs +17 -0
- package/dist/modules/chunks/chunk-4BXQOUDQ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-4GQWYU2V.mjs +126 -0
- package/dist/modules/chunks/chunk-4GQWYU2V.mjs.map +7 -0
- package/dist/modules/chunks/chunk-4N5X2PRQ.mjs +48 -0
- package/dist/modules/chunks/chunk-4N5X2PRQ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-4WXD2KYX.mjs +56 -0
- package/dist/modules/chunks/chunk-4WXD2KYX.mjs.map +7 -0
- package/dist/modules/chunks/chunk-6ZWWVAZK.mjs +468 -0
- package/dist/modules/chunks/chunk-6ZWWVAZK.mjs.map +7 -0
- package/dist/modules/chunks/chunk-73UZNRHN.mjs +296 -0
- package/dist/modules/chunks/chunk-73UZNRHN.mjs.map +7 -0
- package/dist/modules/chunks/chunk-7ITLCRND.mjs +10 -0
- package/dist/modules/chunks/chunk-7ITLCRND.mjs.map +7 -0
- package/dist/modules/chunks/chunk-7TGVWKH7.mjs +59 -0
- package/dist/modules/chunks/chunk-7TGVWKH7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-7URFF53W.mjs +42 -0
- package/dist/modules/chunks/chunk-7URFF53W.mjs.map +7 -0
- package/dist/modules/chunks/chunk-7YSDRIFN.mjs +14 -0
- package/dist/modules/chunks/chunk-7YSDRIFN.mjs.map +7 -0
- package/dist/modules/chunks/chunk-AAFVCQPK.mjs +52 -0
- package/dist/modules/chunks/chunk-AAFVCQPK.mjs.map +7 -0
- package/dist/modules/chunks/chunk-AEK7ZESQ.mjs +18 -0
- package/dist/modules/chunks/chunk-AEK7ZESQ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-AL6ZWIEU.mjs +42 -0
- package/dist/modules/chunks/chunk-AL6ZWIEU.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ALT7XVMQ.mjs +73 -0
- package/dist/modules/chunks/chunk-ALT7XVMQ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ASI2HBE6.mjs +116 -0
- package/dist/modules/chunks/chunk-ASI2HBE6.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ATWGCH7I.mjs +174 -0
- package/dist/modules/chunks/chunk-ATWGCH7I.mjs.map +7 -0
- package/dist/modules/chunks/chunk-C45U6IIY.mjs +692 -0
- package/dist/modules/chunks/chunk-C45U6IIY.mjs.map +7 -0
- package/dist/modules/chunks/chunk-C7R3YRA7.mjs +98 -0
- package/dist/modules/chunks/chunk-C7R3YRA7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-CRMICXKN.mjs +87 -0
- package/dist/modules/chunks/chunk-CRMICXKN.mjs.map +7 -0
- package/dist/modules/chunks/chunk-CUH2G6UF.mjs +81 -0
- package/dist/modules/chunks/chunk-CUH2G6UF.mjs.map +7 -0
- package/dist/modules/chunks/chunk-D7GWRZLL.mjs +77 -0
- package/dist/modules/chunks/chunk-D7GWRZLL.mjs.map +7 -0
- package/dist/modules/chunks/chunk-DBWUIBE3.mjs +10 -0
- package/dist/modules/chunks/chunk-DBWUIBE3.mjs.map +7 -0
- package/dist/modules/chunks/chunk-DQWVWWUU.mjs +77 -0
- package/dist/modules/chunks/chunk-DQWVWWUU.mjs.map +7 -0
- package/dist/modules/chunks/chunk-DZZ2WFEU.mjs +122 -0
- package/dist/modules/chunks/chunk-DZZ2WFEU.mjs.map +7 -0
- package/dist/modules/chunks/chunk-E4UIAN26.mjs +58 -0
- package/dist/modules/chunks/chunk-E4UIAN26.mjs.map +7 -0
- package/dist/modules/chunks/chunk-EJGBVKFE.mjs +77 -0
- package/dist/modules/chunks/chunk-EJGBVKFE.mjs.map +7 -0
- package/dist/modules/chunks/chunk-EPSTTHWV.mjs +173 -0
- package/dist/modules/chunks/chunk-EPSTTHWV.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ER7T6QJ3.mjs +64 -0
- package/dist/modules/chunks/chunk-ER7T6QJ3.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FD4BAJ6K.mjs +389 -0
- package/dist/modules/chunks/chunk-FD4BAJ6K.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FJM6WWIY.mjs +80 -0
- package/dist/modules/chunks/chunk-FJM6WWIY.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FKCQYDLX.mjs +162 -0
- package/dist/modules/chunks/chunk-FKCQYDLX.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FLGC65SR.mjs +10 -0
- package/dist/modules/chunks/chunk-FLGC65SR.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FMCACPX5.mjs +289 -0
- package/dist/modules/chunks/chunk-FMCACPX5.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FOBRLUQV.mjs +51 -0
- package/dist/modules/chunks/chunk-FOBRLUQV.mjs.map +7 -0
- package/dist/modules/chunks/chunk-FV3DSKZB.mjs +33 -0
- package/dist/modules/chunks/chunk-FV3DSKZB.mjs.map +7 -0
- package/dist/modules/chunks/chunk-G7BAFAGO.mjs +98 -0
- package/dist/modules/chunks/chunk-G7BAFAGO.mjs.map +7 -0
- package/dist/modules/chunks/chunk-GQBZMCTK.mjs +145 -0
- package/dist/modules/chunks/chunk-GQBZMCTK.mjs.map +7 -0
- package/dist/modules/chunks/chunk-GYWIY7AL.mjs +131 -0
- package/dist/modules/chunks/chunk-GYWIY7AL.mjs.map +7 -0
- package/dist/modules/chunks/chunk-H3KNBALD.mjs +256 -0
- package/dist/modules/chunks/chunk-H3KNBALD.mjs.map +7 -0
- package/dist/modules/chunks/chunk-H3M22JDL.mjs +144 -0
- package/dist/modules/chunks/chunk-H3M22JDL.mjs.map +7 -0
- package/dist/modules/chunks/chunk-HES3DNTM.mjs +40 -0
- package/dist/modules/chunks/chunk-HES3DNTM.mjs.map +7 -0
- package/dist/modules/chunks/chunk-I5BFP7SS.mjs +2392 -0
- package/dist/modules/chunks/chunk-I5BFP7SS.mjs.map +7 -0
- package/dist/modules/chunks/chunk-IGRMZYRD.mjs +15 -0
- package/dist/modules/chunks/chunk-IGRMZYRD.mjs.map +7 -0
- package/dist/modules/chunks/chunk-IKNGC766.mjs +321 -0
- package/dist/modules/chunks/chunk-IKNGC766.mjs.map +7 -0
- package/dist/modules/chunks/chunk-IVHNYKZB.mjs +35 -0
- package/dist/modules/chunks/chunk-IVHNYKZB.mjs.map +7 -0
- package/dist/modules/chunks/chunk-JHOURMYW.mjs +101 -0
- package/dist/modules/chunks/chunk-JHOURMYW.mjs.map +7 -0
- package/dist/modules/chunks/chunk-JURXMRFA.mjs +282 -0
- package/dist/modules/chunks/chunk-JURXMRFA.mjs.map +7 -0
- package/dist/modules/chunks/chunk-JWZIREC3.mjs +18 -0
- package/dist/modules/chunks/chunk-JWZIREC3.mjs.map +7 -0
- package/dist/modules/chunks/chunk-KHRTIZ56.mjs +1400 -0
- package/dist/modules/chunks/chunk-KHRTIZ56.mjs.map +7 -0
- package/dist/modules/chunks/chunk-KLJZZ23J.mjs +102 -0
- package/dist/modules/chunks/chunk-KLJZZ23J.mjs.map +7 -0
- package/dist/modules/chunks/chunk-KNBAYU5I.mjs +49 -0
- package/dist/modules/chunks/chunk-KNBAYU5I.mjs.map +7 -0
- package/dist/modules/chunks/chunk-KSZNCFU4.mjs +125 -0
- package/dist/modules/chunks/chunk-KSZNCFU4.mjs.map +7 -0
- package/dist/modules/chunks/chunk-L45W6KM6.mjs +158 -0
- package/dist/modules/chunks/chunk-L45W6KM6.mjs.map +7 -0
- package/dist/modules/chunks/chunk-LERMYZRC.mjs +239 -0
- package/dist/modules/chunks/chunk-LERMYZRC.mjs.map +7 -0
- package/dist/modules/chunks/chunk-LKJCXYSJ.mjs +91 -0
- package/dist/modules/chunks/chunk-LKJCXYSJ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-MBS3EICT.mjs +25 -0
- package/dist/modules/chunks/chunk-MBS3EICT.mjs.map +7 -0
- package/dist/modules/chunks/chunk-MUOQZPVH.mjs +609 -0
- package/dist/modules/chunks/chunk-MUOQZPVH.mjs.map +7 -0
- package/dist/modules/chunks/chunk-MVEPGFSB.mjs +1 -0
- package/dist/modules/chunks/chunk-MVEPGFSB.mjs.map +7 -0
- package/dist/modules/chunks/chunk-NBJKLWJ5.mjs +42 -0
- package/dist/modules/chunks/chunk-NBJKLWJ5.mjs.map +7 -0
- package/dist/modules/chunks/chunk-NBLGKTEM.mjs +86 -0
- package/dist/modules/chunks/chunk-NBLGKTEM.mjs.map +7 -0
- package/dist/modules/chunks/chunk-NI7CS3I2.mjs +110 -0
- package/dist/modules/chunks/chunk-NI7CS3I2.mjs.map +7 -0
- package/dist/modules/chunks/chunk-NJH2OJFC.mjs +2113 -0
- package/dist/modules/chunks/chunk-NJH2OJFC.mjs.map +7 -0
- package/dist/modules/chunks/chunk-OBK4LIJB.mjs +20 -0
- package/dist/modules/chunks/chunk-OBK4LIJB.mjs.map +7 -0
- package/dist/modules/chunks/chunk-PEUT3FW7.mjs +1 -0
- package/dist/modules/chunks/chunk-PEUT3FW7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-PRZOWPDN.mjs +66 -0
- package/dist/modules/chunks/chunk-PRZOWPDN.mjs.map +7 -0
- package/dist/modules/chunks/chunk-Q4RXBGQS.mjs +55 -0
- package/dist/modules/chunks/chunk-Q4RXBGQS.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QBHBKOIL.mjs +55 -0
- package/dist/modules/chunks/chunk-QBHBKOIL.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QD6CCRMG.mjs +20 -0
- package/dist/modules/chunks/chunk-QD6CCRMG.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QF4V23GW.mjs +39 -0
- package/dist/modules/chunks/chunk-QF4V23GW.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QK6W7MJO.mjs +42 -0
- package/dist/modules/chunks/chunk-QK6W7MJO.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QL7V6DK7.mjs +34 -0
- package/dist/modules/chunks/chunk-QL7V6DK7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QLBQQKRI.mjs +25 -0
- package/dist/modules/chunks/chunk-QLBQQKRI.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QLZQGZDC.mjs +418 -0
- package/dist/modules/chunks/chunk-QLZQGZDC.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QSKQZGK7.mjs +1625 -0
- package/dist/modules/chunks/chunk-QSKQZGK7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-QURKBAG4.mjs +25 -0
- package/dist/modules/chunks/chunk-QURKBAG4.mjs.map +7 -0
- package/dist/modules/chunks/chunk-R274XBEH.mjs +53 -0
- package/dist/modules/chunks/chunk-R274XBEH.mjs.map +7 -0
- package/dist/modules/chunks/chunk-R4I4JEY5.mjs +77 -0
- package/dist/modules/chunks/chunk-R4I4JEY5.mjs.map +7 -0
- package/dist/modules/chunks/chunk-RR6L6VVR.mjs +9 -0
- package/dist/modules/chunks/chunk-RR6L6VVR.mjs.map +7 -0
- package/dist/modules/chunks/chunk-RXF7SBBZ.mjs +125 -0
- package/dist/modules/chunks/chunk-RXF7SBBZ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-SR66S6EJ.mjs +138 -0
- package/dist/modules/chunks/chunk-SR66S6EJ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-SSQMQJ52.mjs +27 -0
- package/dist/modules/chunks/chunk-SSQMQJ52.mjs.map +7 -0
- package/dist/modules/chunks/chunk-TP26TASL.mjs +20 -0
- package/dist/modules/chunks/chunk-TP26TASL.mjs.map +7 -0
- package/dist/modules/chunks/chunk-TSAEK5P3.mjs +50 -0
- package/dist/modules/chunks/chunk-TSAEK5P3.mjs.map +7 -0
- package/dist/modules/chunks/chunk-UAY27HT3.mjs +68 -0
- package/dist/modules/chunks/chunk-UAY27HT3.mjs.map +7 -0
- package/dist/modules/chunks/chunk-UDLIWGWS.mjs +103 -0
- package/dist/modules/chunks/chunk-UDLIWGWS.mjs.map +7 -0
- package/dist/modules/chunks/chunk-UDVQHPWV.mjs +89 -0
- package/dist/modules/chunks/chunk-UDVQHPWV.mjs.map +7 -0
- package/dist/modules/chunks/chunk-UM23W3G7.mjs +237 -0
- package/dist/modules/chunks/chunk-UM23W3G7.mjs.map +7 -0
- package/dist/modules/chunks/chunk-VDZJWEAA.mjs +214 -0
- package/dist/modules/chunks/chunk-VDZJWEAA.mjs.map +7 -0
- package/dist/modules/chunks/chunk-VIGOJWSO.mjs +42 -0
- package/dist/modules/chunks/chunk-VIGOJWSO.mjs.map +7 -0
- package/dist/modules/chunks/chunk-VY3S5BWI.mjs +284 -0
- package/dist/modules/chunks/chunk-VY3S5BWI.mjs.map +7 -0
- package/dist/modules/chunks/chunk-VZXGRZYU.mjs +47 -0
- package/dist/modules/chunks/chunk-VZXGRZYU.mjs.map +7 -0
- package/dist/modules/chunks/chunk-W5DMQZB5.mjs +42 -0
- package/dist/modules/chunks/chunk-W5DMQZB5.mjs.map +7 -0
- package/dist/modules/chunks/chunk-WOMHSTVZ.mjs +918 -0
- package/dist/modules/chunks/chunk-WOMHSTVZ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-XFQT7XCG.mjs +42 -0
- package/dist/modules/chunks/chunk-XFQT7XCG.mjs.map +7 -0
- package/dist/modules/chunks/chunk-XJZEVRYX.mjs +98 -0
- package/dist/modules/chunks/chunk-XJZEVRYX.mjs.map +7 -0
- package/dist/modules/chunks/chunk-XUYFV23R.mjs +317 -0
- package/dist/modules/chunks/chunk-XUYFV23R.mjs.map +7 -0
- package/dist/modules/chunks/chunk-Y5HXCPPQ.mjs +58 -0
- package/dist/modules/chunks/chunk-Y5HXCPPQ.mjs.map +7 -0
- package/dist/modules/chunks/chunk-YTHGRKGI.mjs +147 -0
- package/dist/modules/chunks/chunk-YTHGRKGI.mjs.map +7 -0
- package/dist/modules/chunks/chunk-YVQSDKAO.mjs +341 -0
- package/dist/modules/chunks/chunk-YVQSDKAO.mjs.map +7 -0
- package/dist/modules/chunks/chunk-YYXQDUVT.mjs +123 -0
- package/dist/modules/chunks/chunk-YYXQDUVT.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ZFXZ2NUI.mjs +142 -0
- package/dist/modules/chunks/chunk-ZFXZ2NUI.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ZLNWF4ET.mjs +9 -0
- package/dist/modules/chunks/chunk-ZLNWF4ET.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ZLU5QW2O.mjs +9 -0
- package/dist/modules/chunks/chunk-ZLU5QW2O.mjs.map +7 -0
- package/dist/modules/chunks/chunk-ZNZPYE2V.mjs +28 -0
- package/dist/modules/chunks/chunk-ZNZPYE2V.mjs.map +7 -0
- package/dist/modules/chunks/core-564N45MO.mjs +7480 -0
- package/dist/modules/chunks/core-564N45MO.mjs.map +7 -0
- package/dist/modules/chunks/css-BKH4SVJG.mjs +8 -0
- package/dist/modules/chunks/css-BKH4SVJG.mjs.map +7 -0
- package/dist/modules/chunks/engine-javascript-PDVIGNGR.mjs +3241 -0
- package/dist/modules/chunks/engine-javascript-PDVIGNGR.mjs.map +7 -0
- package/dist/modules/chunks/github-dark-default-6HVTHEWF.mjs +8 -0
- package/dist/modules/chunks/github-dark-default-6HVTHEWF.mjs.map +7 -0
- package/dist/modules/chunks/github-light-default-LAXRA6XL.mjs +8 -0
- package/dist/modules/chunks/github-light-default-LAXRA6XL.mjs.map +7 -0
- package/dist/modules/chunks/glsl-UC3YWUD2.mjs +18 -0
- package/dist/modules/chunks/glsl-UC3YWUD2.mjs.map +7 -0
- package/dist/modules/chunks/html-FRVIUV63.mjs +19 -0
- package/dist/modules/chunks/html-FRVIUV63.mjs.map +7 -0
- package/dist/modules/chunks/javascript-LN3OC7S2.mjs +8 -0
- package/dist/modules/chunks/javascript-LN3OC7S2.mjs.map +7 -0
- package/dist/modules/chunks/json-5CUGWTOP.mjs +11 -0
- package/dist/modules/chunks/json-5CUGWTOP.mjs.map +7 -0
- package/dist/modules/chunks/json5-YZQI5VNO.mjs +11 -0
- package/dist/modules/chunks/json5-YZQI5VNO.mjs.map +7 -0
- package/dist/modules/chunks/jsonc-SWID6VOZ.mjs +11 -0
- package/dist/modules/chunks/jsonc-SWID6VOZ.mjs.map +7 -0
- package/dist/modules/chunks/jsx-A7RDCLJO.mjs +11 -0
- package/dist/modules/chunks/jsx-A7RDCLJO.mjs.map +7 -0
- package/dist/modules/chunks/markdown-QTCU5KP5.mjs +11 -0
- package/dist/modules/chunks/markdown-QTCU5KP5.mjs.map +7 -0
- package/dist/modules/chunks/python-LAZONBIB.mjs +11 -0
- package/dist/modules/chunks/python-LAZONBIB.mjs.map +7 -0
- package/dist/modules/chunks/rust-XWTPJFJO.mjs +11 -0
- package/dist/modules/chunks/rust-XWTPJFJO.mjs.map +7 -0
- package/dist/modules/chunks/scss-CFXRHUUW.mjs +15 -0
- package/dist/modules/chunks/scss-CFXRHUUW.mjs.map +7 -0
- package/dist/modules/chunks/shellscript-OHO3LCVU.mjs +11 -0
- package/dist/modules/chunks/shellscript-OHO3LCVU.mjs.map +7 -0
- package/dist/modules/chunks/toml-IOHFZJ5B.mjs +11 -0
- package/dist/modules/chunks/toml-IOHFZJ5B.mjs.map +7 -0
- package/dist/modules/chunks/tsx-2E6WNX2E.mjs +11 -0
- package/dist/modules/chunks/tsx-2E6WNX2E.mjs.map +7 -0
- package/dist/modules/chunks/typescript-PBKAS54P.mjs +11 -0
- package/dist/modules/chunks/typescript-PBKAS54P.mjs.map +7 -0
- package/dist/modules/chunks/wgsl-PS6QPRLZ.mjs +11 -0
- package/dist/modules/chunks/wgsl-PS6QPRLZ.mjs.map +7 -0
- package/dist/modules/chunks/xml-JECR2ACB.mjs +18 -0
- package/dist/modules/chunks/xml-JECR2ACB.mjs.map +7 -0
- package/dist/modules/chunks/yaml-P2SV4LOE.mjs +11 -0
- package/dist/modules/chunks/yaml-P2SV4LOE.mjs.map +7 -0
- package/dist/modules/cli-contributions.mjs +32 -0
- package/dist/modules/cli-contributions.mjs.map +7 -0
- package/dist/modules/cli.mjs +14 -0
- package/dist/modules/cli.mjs.map +7 -0
- package/dist/modules/command-executor.mjs +65 -0
- package/dist/modules/command-executor.mjs.map +7 -0
- package/dist/modules/commands.mjs +10 -0
- package/dist/modules/commands.mjs.map +7 -0
- package/dist/modules/embedded.mjs +18608 -0
- package/dist/modules/embedded.mjs.map +7 -0
- package/dist/modules/extension-bridge.mjs +18 -0
- package/dist/modules/extension-bridge.mjs.map +7 -0
- package/dist/modules/frontend-root.mjs +61 -0
- package/dist/modules/frontend-root.mjs.map +7 -0
- package/dist/modules/index.mjs +784 -0
- package/dist/modules/index.mjs.map +7 -0
- package/dist/modules/page.mjs +45 -0
- package/dist/modules/page.mjs.map +7 -0
- package/dist/modules/pages/scene.mjs +18 -0
- package/dist/modules/pages/scene.mjs.map +7 -0
- package/dist/modules/plugin.mjs +56 -0
- package/dist/modules/plugin.mjs.map +7 -0
- package/dist/modules/plugins/asset/frontend.mjs +23 -0
- package/dist/modules/plugins/asset/frontend.mjs.map +7 -0
- package/dist/modules/plugins/asset/i18n.mjs +15 -0
- package/dist/modules/plugins/asset/i18n.mjs.map +7 -0
- package/dist/modules/plugins/asset/identity.mjs +42 -0
- package/dist/modules/plugins/asset/identity.mjs.map +7 -0
- package/dist/modules/plugins/asset/schema.mjs +10 -0
- package/dist/modules/plugins/asset/schema.mjs.map +7 -0
- package/dist/modules/plugins/asset/ui.mjs +16 -0
- package/dist/modules/plugins/asset/ui.mjs.map +7 -0
- package/dist/modules/plugins/content-browser/frontend.mjs +17 -0
- package/dist/modules/plugins/content-browser/frontend.mjs.map +7 -0
- package/dist/modules/plugins/content-browser/i18n.mjs +15 -0
- package/dist/modules/plugins/content-browser/i18n.mjs.map +7 -0
- package/dist/modules/plugins/content-browser/identity.mjs +22 -0
- package/dist/modules/plugins/content-browser/identity.mjs.map +7 -0
- package/dist/modules/plugins/content-browser/schema.mjs +12 -0
- package/dist/modules/plugins/content-browser/schema.mjs.map +7 -0
- package/dist/modules/plugins/content-browser/ui.mjs +15 -0
- package/dist/modules/plugins/content-browser/ui.mjs.map +7 -0
- package/dist/modules/plugins/display/api.mjs +10 -0
- package/dist/modules/plugins/display/api.mjs.map +7 -0
- package/dist/modules/plugins/display/backend.mjs +16 -0
- package/dist/modules/plugins/display/backend.mjs.map +7 -0
- package/dist/modules/plugins/display/carrier-contract.mjs +38 -0
- package/dist/modules/plugins/display/carrier-contract.mjs.map +7 -0
- package/dist/modules/plugins/display/carrier.mjs +13 -0
- package/dist/modules/plugins/display/carrier.mjs.map +7 -0
- package/dist/modules/plugins/display/effects.mjs +8 -0
- package/dist/modules/plugins/display/effects.mjs.map +7 -0
- package/dist/modules/plugins/display/frontend.mjs +14 -0
- package/dist/modules/plugins/display/frontend.mjs.map +7 -0
- package/dist/modules/plugins/display/i18n.mjs +58 -0
- package/dist/modules/plugins/display/i18n.mjs.map +7 -0
- package/dist/modules/plugins/display/identity.mjs +30 -0
- package/dist/modules/plugins/display/identity.mjs.map +7 -0
- package/dist/modules/plugins/display/page-broker.mjs +12 -0
- package/dist/modules/plugins/display/page-broker.mjs.map +7 -0
- package/dist/modules/plugins/display/schema.mjs +40 -0
- package/dist/modules/plugins/display/schema.mjs.map +7 -0
- package/dist/modules/plugins/display/ui.mjs +9 -0
- package/dist/modules/plugins/display/ui.mjs.map +7 -0
- package/dist/modules/plugins/inspector/frontend.mjs +17 -0
- package/dist/modules/plugins/inspector/frontend.mjs.map +7 -0
- package/dist/modules/plugins/inspector/i18n.mjs +15 -0
- package/dist/modules/plugins/inspector/i18n.mjs.map +7 -0
- package/dist/modules/plugins/inspector/identity.mjs +22 -0
- package/dist/modules/plugins/inspector/identity.mjs.map +7 -0
- package/dist/modules/plugins/inspector/schema.mjs +12 -0
- package/dist/modules/plugins/inspector/schema.mjs.map +7 -0
- package/dist/modules/plugins/inspector/ui.mjs +16 -0
- package/dist/modules/plugins/inspector/ui.mjs.map +7 -0
- package/dist/modules/plugins/material/frontend.mjs +25 -0
- package/dist/modules/plugins/material/frontend.mjs.map +7 -0
- package/dist/modules/plugins/material/i18n.mjs +15 -0
- package/dist/modules/plugins/material/i18n.mjs.map +7 -0
- package/dist/modules/plugins/material/identity.mjs +60 -0
- package/dist/modules/plugins/material/identity.mjs.map +7 -0
- package/dist/modules/plugins/material/schema.mjs +47 -0
- package/dist/modules/plugins/material/schema.mjs.map +7 -0
- package/dist/modules/plugins/material/ui.mjs +28 -0
- package/dist/modules/plugins/material/ui.mjs.map +7 -0
- package/dist/modules/plugins/mesh/frontend.mjs +23 -0
- package/dist/modules/plugins/mesh/frontend.mjs.map +7 -0
- package/dist/modules/plugins/mesh/i18n.mjs +15 -0
- package/dist/modules/plugins/mesh/i18n.mjs.map +7 -0
- package/dist/modules/plugins/mesh/identity.mjs +54 -0
- package/dist/modules/plugins/mesh/identity.mjs.map +7 -0
- package/dist/modules/plugins/mesh/schema.mjs +10 -0
- package/dist/modules/plugins/mesh/schema.mjs.map +7 -0
- package/dist/modules/plugins/mesh/ui.mjs +26 -0
- package/dist/modules/plugins/mesh/ui.mjs.map +7 -0
- package/dist/modules/plugins/plugins/api.mjs +11 -0
- package/dist/modules/plugins/plugins/api.mjs.map +7 -0
- package/dist/modules/plugins/plugins/backend.mjs +21 -0
- package/dist/modules/plugins/plugins/backend.mjs.map +7 -0
- package/dist/modules/plugins/plugins/cli.mjs +12 -0
- package/dist/modules/plugins/plugins/cli.mjs.map +7 -0
- package/dist/modules/plugins/plugins/frontend.mjs +17 -0
- package/dist/modules/plugins/plugins/frontend.mjs.map +7 -0
- package/dist/modules/plugins/plugins/i18n.mjs +15 -0
- package/dist/modules/plugins/plugins/i18n.mjs.map +7 -0
- package/dist/modules/plugins/plugins/identity.mjs +26 -0
- package/dist/modules/plugins/plugins/identity.mjs.map +7 -0
- package/dist/modules/plugins/plugins/runtime.mjs +50 -0
- package/dist/modules/plugins/plugins/runtime.mjs.map +7 -0
- package/dist/modules/plugins/plugins/schema.mjs +12 -0
- package/dist/modules/plugins/plugins/schema.mjs.map +7 -0
- package/dist/modules/plugins/plugins/ui/panel.mjs +14 -0
- package/dist/modules/plugins/plugins/ui/panel.mjs.map +7 -0
- package/dist/modules/plugins/plugins/ui.mjs +15 -0
- package/dist/modules/plugins/plugins/ui.mjs.map +7 -0
- package/dist/modules/plugins/scene/frontend.mjs +18 -0
- package/dist/modules/plugins/scene/frontend.mjs.map +7 -0
- package/dist/modules/plugins/scene/identity.mjs +14 -0
- package/dist/modules/plugins/scene/identity.mjs.map +7 -0
- package/dist/modules/plugins/scene-tree/frontend.mjs +17 -0
- package/dist/modules/plugins/scene-tree/frontend.mjs.map +7 -0
- package/dist/modules/plugins/scene-tree/i18n.mjs +15 -0
- package/dist/modules/plugins/scene-tree/i18n.mjs.map +7 -0
- package/dist/modules/plugins/scene-tree/identity.mjs +22 -0
- package/dist/modules/plugins/scene-tree/identity.mjs.map +7 -0
- package/dist/modules/plugins/scene-tree/schema.mjs +12 -0
- package/dist/modules/plugins/scene-tree/schema.mjs.map +7 -0
- package/dist/modules/plugins/scene-tree/ui.mjs +16 -0
- package/dist/modules/plugins/scene-tree/ui.mjs.map +7 -0
- package/dist/modules/plugins/texture/frontend.mjs +23 -0
- package/dist/modules/plugins/texture/frontend.mjs.map +7 -0
- package/dist/modules/plugins/texture/i18n.mjs +15 -0
- package/dist/modules/plugins/texture/i18n.mjs.map +7 -0
- package/dist/modules/plugins/texture/identity.mjs +54 -0
- package/dist/modules/plugins/texture/identity.mjs.map +7 -0
- package/dist/modules/plugins/texture/schema.mjs +10 -0
- package/dist/modules/plugins/texture/schema.mjs.map +7 -0
- package/dist/modules/plugins/texture/ui.mjs +26 -0
- package/dist/modules/plugins/texture/ui.mjs.map +7 -0
- package/dist/modules/plugins/viewport/frontend.mjs +27 -0
- package/dist/modules/plugins/viewport/frontend.mjs.map +7 -0
- package/dist/modules/plugins/viewport/identity.mjs +28 -0
- package/dist/modules/plugins/viewport/identity.mjs.map +7 -0
- package/dist/modules/plugins/viewport/presentation-identity.mjs +10 -0
- package/dist/modules/plugins/viewport/presentation-identity.mjs.map +7 -0
- package/dist/modules/plugins/viewport/presentation.mjs +18 -0
- package/dist/modules/plugins/viewport/presentation.mjs.map +7 -0
- package/dist/modules/plugins/viewport/schema.mjs +18 -0
- package/dist/modules/plugins/viewport/schema.mjs.map +7 -0
- package/dist/modules/plugins/viewport/workspace-shell.mjs +29 -0
- package/dist/modules/plugins/viewport/workspace-shell.mjs.map +7 -0
- package/dist/modules/shell/contract.mjs +10 -0
- package/dist/modules/shell/contract.mjs.map +7 -0
- package/dist/modules/shell/frontend.mjs +14 -0
- package/dist/modules/shell/frontend.mjs.map +7 -0
- package/dist/modules/shell/layout-zones.mjs +20 -0
- package/dist/modules/shell/layout-zones.mjs.map +7 -0
- package/dist/modules/start-cli.mjs +57 -0
- package/dist/modules/start-cli.mjs.map +7 -0
- package/dist/modules/start.mjs +18 -0
- package/dist/modules/start.mjs.map +7 -0
- package/dist/modules/viewer/catalog/backend.mjs +47 -0
- package/dist/modules/viewer/catalog/backend.mjs.map +7 -0
- package/dist/modules/viewer/catalog/frontend.mjs +55 -0
- package/dist/modules/viewer/catalog/frontend.mjs.map +7 -0
- package/dist/modules/viewer/catalog/shared.mjs +43 -0
- package/dist/modules/viewer/catalog/shared.mjs.map +7 -0
- package/dist/modules/viewer/catalog.mjs +85 -0
- package/dist/modules/viewer/catalog.mjs.map +7 -0
- package/dist/modules/viewer/cli.mjs +23 -0
- package/dist/modules/viewer/cli.mjs.map +7 -0
- package/dist/modules/viewer-host/frontend.mjs +65 -0
- package/dist/modules/viewer-host/frontend.mjs.map +7 -0
- package/dist/modules/viewer-host/page-registry.mjs +27 -0
- package/dist/modules/viewer-host/page-registry.mjs.map +7 -0
- package/dist/modules/viewer-host/slot-registry.mjs +8 -0
- package/dist/modules/viewer-host/slot-registry.mjs.map +7 -0
- package/dist/modules/viewer-host.mjs +43 -0
- package/dist/modules/viewer-host.mjs.map +7 -0
- package/dist/modules/viewer.mjs +85 -0
- package/dist/modules/viewer.mjs.map +7 -0
- package/dist/modules/workspace/adopt-surface.mjs +16 -0
- package/dist/modules/workspace/adopt-surface.mjs.map +7 -0
- package/dist/modules/workspace/api.mjs +8 -0
- package/dist/modules/workspace/api.mjs.map +7 -0
- package/dist/modules/workspace/backend.mjs +23 -0
- package/dist/modules/workspace/backend.mjs.map +7 -0
- package/dist/modules/workspace/broker.mjs +16 -0
- package/dist/modules/workspace/broker.mjs.map +7 -0
- package/dist/modules/workspace/cli.mjs +9 -0
- package/dist/modules/workspace/cli.mjs.map +7 -0
- package/dist/modules/workspace/client.mjs +15 -0
- package/dist/modules/workspace/client.mjs.map +7 -0
- package/dist/modules/workspace/command-error.mjs +16 -0
- package/dist/modules/workspace/command-error.mjs.map +7 -0
- package/dist/modules/workspace/contract.mjs +71 -0
- package/dist/modules/workspace/contract.mjs.map +7 -0
- package/dist/modules/workspace/demo-client.mjs +127 -0
- package/dist/modules/workspace/demo-client.mjs.map +7 -0
- package/dist/modules/workspace/engine-adapter.mjs +16 -0
- package/dist/modules/workspace/engine-adapter.mjs.map +7 -0
- package/dist/modules/workspace/engine-presentation.mjs +10 -0
- package/dist/modules/workspace/engine-presentation.mjs.map +7 -0
- package/dist/modules/workspace/extension-bridge.mjs +18 -0
- package/dist/modules/workspace/extension-bridge.mjs.map +7 -0
- package/dist/modules/workspace/frontend-plugin.mjs +18 -0
- package/dist/modules/workspace/frontend-plugin.mjs.map +7 -0
- package/dist/modules/workspace/frontend.mjs +29 -0
- package/dist/modules/workspace/frontend.mjs.map +7 -0
- package/dist/modules/workspace/id.mjs +8 -0
- package/dist/modules/workspace/id.mjs.map +7 -0
- package/dist/modules/workspace/inspection-presentation.mjs +12 -0
- package/dist/modules/workspace/inspection-presentation.mjs.map +7 -0
- package/dist/modules/workspace/locale-bridge.mjs +14 -0
- package/dist/modules/workspace/locale-bridge.mjs.map +7 -0
- package/dist/modules/workspace/page-title.mjs +13 -0
- package/dist/modules/workspace/page-title.mjs.map +7 -0
- package/dist/modules/workspace/presentation.mjs +18 -0
- package/dist/modules/workspace/presentation.mjs.map +7 -0
- package/dist/modules/workspace/preview-surface.mjs +17 -0
- package/dist/modules/workspace/preview-surface.mjs.map +7 -0
- package/dist/modules/workspace/project-session.mjs +18 -0
- package/dist/modules/workspace/project-session.mjs.map +7 -0
- package/dist/modules/workspace/render-resize-sync.mjs +12 -0
- package/dist/modules/workspace/render-resize-sync.mjs.map +7 -0
- package/dist/modules/workspace/resident.mjs +16 -0
- package/dist/modules/workspace/resident.mjs.map +7 -0
- package/dist/modules/workspace/resource-open.mjs +34 -0
- package/dist/modules/workspace/resource-open.mjs.map +7 -0
- package/dist/modules/workspace/resource-page.mjs +27 -0
- package/dist/modules/workspace/resource-page.mjs.map +7 -0
- package/dist/modules/workspace/tool-runtime.mjs +14 -0
- package/dist/modules/workspace/tool-runtime.mjs.map +7 -0
- package/dist/modules/workspace/view-trace.mjs +60 -0
- package/dist/modules/workspace/view-trace.mjs.map +7 -0
- package/dist/modules/workspace/workspace-client-connection.mjs +22 -0
- package/dist/modules/workspace/workspace-client-connection.mjs.map +7 -0
- package/dist/modules/workspace/workspace-recovery.mjs +35 -0
- package/dist/modules/workspace/workspace-recovery.mjs.map +7 -0
- package/dist/modules/workspace/workspace-state.mjs +12 -0
- package/dist/modules/workspace/workspace-state.mjs.map +7 -0
- package/dist/modules/workspace-frontend.mjs +17 -0
- package/dist/modules/workspace-frontend.mjs.map +7 -0
- package/dist/viewer/assets/chunk-CilyBKbf.js +1 -0
- package/dist/viewer/assets/core-DSQma37-.js +13 -0
- package/dist/viewer/assets/core-DSQma37-.js.map +1 -0
- package/dist/viewer/assets/css-Bq1BXecw.js +2 -0
- package/dist/viewer/assets/css-Bq1BXecw.js.map +1 -0
- package/dist/viewer/assets/css-CWQWazmX.js +1 -0
- package/dist/viewer/assets/embedded-D4ZDx--W.js +2 -0
- package/dist/viewer/assets/embedded-D4ZDx--W.js.map +1 -0
- package/dist/viewer/assets/engine-javascript-BvokIV9O.js +142 -0
- package/dist/viewer/assets/engine-javascript-BvokIV9O.js.map +1 -0
- package/dist/viewer/assets/github-dark-default-DaDlj-WZ.js +2 -0
- package/dist/viewer/assets/github-dark-default-DaDlj-WZ.js.map +1 -0
- package/dist/viewer/assets/github-light-default-BqhWxAZd.js +2 -0
- package/dist/viewer/assets/github-light-default-BqhWxAZd.js.map +1 -0
- package/dist/viewer/assets/glsl-BJgVnv11.js +2 -0
- package/dist/viewer/assets/glsl-BJgVnv11.js.map +1 -0
- package/dist/viewer/assets/html-AaaHGGyt.js +2 -0
- package/dist/viewer/assets/html-AaaHGGyt.js.map +1 -0
- package/dist/viewer/assets/javascript-BX9W64FE.js +1 -0
- package/dist/viewer/assets/javascript-DQODvD07.js +2 -0
- package/dist/viewer/assets/javascript-DQODvD07.js.map +1 -0
- package/dist/viewer/assets/json-CpcIDpT7.js +2 -0
- package/dist/viewer/assets/json-CpcIDpT7.js.map +1 -0
- package/dist/viewer/assets/json5-Czq4A7dk.js +2 -0
- package/dist/viewer/assets/json5-Czq4A7dk.js.map +1 -0
- package/dist/viewer/assets/jsonc-BXDfCMmu.js +2 -0
- package/dist/viewer/assets/jsonc-BXDfCMmu.js.map +1 -0
- package/dist/viewer/assets/jsx-DAWscEnf.js +2 -0
- package/dist/viewer/assets/jsx-DAWscEnf.js.map +1 -0
- package/dist/viewer/assets/main-C-2CHTN_.js +15 -0
- package/dist/viewer/assets/main-C-2CHTN_.js.map +1 -0
- package/dist/viewer/assets/markdown-Cx1FMNw-.js +2 -0
- package/dist/viewer/assets/markdown-Cx1FMNw-.js.map +1 -0
- package/dist/viewer/assets/panels-entry-Ddhfjgf0.js +46 -0
- package/dist/viewer/assets/panels-entry-Ddhfjgf0.js.map +1 -0
- package/dist/viewer/assets/python-CYPKjWV9.js +2 -0
- package/dist/viewer/assets/python-CYPKjWV9.js.map +1 -0
- package/dist/viewer/assets/rust-0e5cNx_V.js +2 -0
- package/dist/viewer/assets/rust-0e5cNx_V.js.map +1 -0
- package/dist/viewer/assets/scss-B-aKzLbT.js +2 -0
- package/dist/viewer/assets/scss-B-aKzLbT.js.map +1 -0
- package/dist/viewer/assets/shellscript-CpXD-pSm.js +2 -0
- package/dist/viewer/assets/shellscript-CpXD-pSm.js.map +1 -0
- package/dist/viewer/assets/style-ClttNKZk.css +2 -0
- package/dist/viewer/assets/styles-BXozhwiU.js +11 -0
- package/dist/viewer/assets/styles-BXozhwiU.js.map +1 -0
- package/dist/viewer/assets/toml-GmchYTXa.js +2 -0
- package/dist/viewer/assets/toml-GmchYTXa.js.map +1 -0
- package/dist/viewer/assets/tsx-Crj1Bi53.js +2 -0
- package/dist/viewer/assets/tsx-Crj1Bi53.js.map +1 -0
- package/dist/viewer/assets/typescript-xi0cSHCO.js +2 -0
- package/dist/viewer/assets/typescript-xi0cSHCO.js.map +1 -0
- package/dist/viewer/assets/wgsl-BoEPRo9U.js +2 -0
- package/dist/viewer/assets/wgsl-BoEPRo9U.js.map +1 -0
- package/dist/viewer/assets/xml-B8JqQrMD.js +2 -0
- package/dist/viewer/assets/xml-B8JqQrMD.js.map +1 -0
- package/dist/viewer/assets/yaml-DsIB85X9.js +2 -0
- package/dist/viewer/assets/yaml-DsIB85X9.js.map +1 -0
- package/dist/viewer/index.html +15 -0
- package/dist/viewer/panels.js +1 -0
- package/host.pack.json +13 -0
- package/package.json +174 -0
- package/skills/forgeax-view-cli/SKILL.md +74 -0
- package/skills/forgeax-view-start/SKILL.md +202 -0
- 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
|
+
}
|