@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
package/package.json
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@forgeax/view",
|
|
3
|
+
"version": "0.2.1-beta-20260924075842",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "An optional display host for ForgeaX CLI runs",
|
|
6
|
+
"bin": {
|
|
7
|
+
"forgeax-view": "./dist/modules/cli.mjs",
|
|
8
|
+
"forgeax-view-start": "./dist/modules/start-cli.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"host.pack.json",
|
|
13
|
+
"skills",
|
|
14
|
+
"README.md",
|
|
15
|
+
"CHANGELOG.md",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public",
|
|
20
|
+
"registry": "https://registry.npmjs.org/"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@forgeax/engine": "0.2.0",
|
|
24
|
+
"@forgeax/engine-host": "0.2.0",
|
|
25
|
+
"@forgeax/engine-plugin": "0.2.0",
|
|
26
|
+
"@forgeax/engine-tool-runtime": "0.2.0",
|
|
27
|
+
"dockview": "^6.6.1",
|
|
28
|
+
"lucide-react": "^0.460.0",
|
|
29
|
+
"playwright": "1.63.0",
|
|
30
|
+
"react": "^19.1.0",
|
|
31
|
+
"react-dom": "^19.1.0",
|
|
32
|
+
"ws": "^8.21.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@forgeax/view-components": "0.0.0",
|
|
36
|
+
"@forgeax/view-plugin-content-browser": "0.0.0",
|
|
37
|
+
"@forgeax/view-plugin-display": "0.0.0",
|
|
38
|
+
"@forgeax/view-plugin-inspector": "0.0.0",
|
|
39
|
+
"@forgeax/view-plugin-material": "0.0.0",
|
|
40
|
+
"@forgeax/view-plugin-mesh": "0.0.0",
|
|
41
|
+
"@forgeax/view-plugin-texture": "0.0.0",
|
|
42
|
+
"@forgeax/view-plugin-asset": "0.0.0",
|
|
43
|
+
"@forgeax/view-plugin-plugins": "0.0.0",
|
|
44
|
+
"@forgeax/view-plugin-scene": "0.0.0",
|
|
45
|
+
"@forgeax/view-plugin-scene-tree": "0.0.0",
|
|
46
|
+
"@forgeax/view-plugin-viewport": "0.0.0",
|
|
47
|
+
"@forgeax/view-viewer": "0.0.0",
|
|
48
|
+
"@forgeax/view-workspace-core": "0.0.0",
|
|
49
|
+
"@changesets/changelog-github": "0.5.2",
|
|
50
|
+
"@changesets/cli": "2.29.8",
|
|
51
|
+
"esbuild": "0.28.2",
|
|
52
|
+
"typescript": "5.9.3",
|
|
53
|
+
"vite": "8.0.10"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=22"
|
|
57
|
+
},
|
|
58
|
+
"exports": {
|
|
59
|
+
"./workspace/presentation": "./dist/modules/workspace/presentation.mjs",
|
|
60
|
+
"./pages/scene": "./dist/modules/pages/scene.mjs",
|
|
61
|
+
"./shell/frontend": "./dist/modules/shell/frontend.mjs",
|
|
62
|
+
".": "./dist/modules/index.mjs",
|
|
63
|
+
"./browser": "./dist/modules/browser.mjs",
|
|
64
|
+
"./carrier": "./dist/modules/carrier.mjs",
|
|
65
|
+
"./carrier-contract": "./dist/modules/carrier-contract.mjs",
|
|
66
|
+
"./backend": "./dist/modules/backend.mjs",
|
|
67
|
+
"./extension-bridge": "./dist/modules/extension-bridge.mjs",
|
|
68
|
+
"./cli": "./dist/modules/cli.mjs",
|
|
69
|
+
"./start": "./dist/modules/start.mjs",
|
|
70
|
+
"./page": "./dist/modules/page.mjs",
|
|
71
|
+
"./embedded": "./dist/modules/embedded.mjs",
|
|
72
|
+
"./workspace-frontend": "./dist/modules/workspace-frontend.mjs",
|
|
73
|
+
"./frontend-root": "./dist/modules/frontend-root.mjs",
|
|
74
|
+
"./commands": "./dist/modules/commands.mjs",
|
|
75
|
+
"./command-executor": "./dist/modules/command-executor.mjs",
|
|
76
|
+
"./plugin": "./dist/modules/plugin.mjs",
|
|
77
|
+
"./cli-contributions": "./dist/modules/cli-contributions.mjs",
|
|
78
|
+
"./viewer": "./dist/modules/viewer.mjs",
|
|
79
|
+
"./viewer/catalog": "./dist/modules/viewer/catalog.mjs",
|
|
80
|
+
"./viewer/catalog/shared": "./dist/modules/viewer/catalog/shared.mjs",
|
|
81
|
+
"./viewer/catalog/backend": "./dist/modules/viewer/catalog/backend.mjs",
|
|
82
|
+
"./viewer/catalog/frontend": "./dist/modules/viewer/catalog/frontend.mjs",
|
|
83
|
+
"./viewer/cli": "./dist/modules/viewer/cli.mjs",
|
|
84
|
+
"./plugins/display/identity": "./dist/modules/plugins/display/identity.mjs",
|
|
85
|
+
"./plugins/display/backend": "./dist/modules/plugins/display/backend.mjs",
|
|
86
|
+
"./plugins/display/frontend": "./dist/modules/plugins/display/frontend.mjs",
|
|
87
|
+
"./plugins/display/ui": "./dist/modules/plugins/display/ui.mjs",
|
|
88
|
+
"./plugins/display/api": "./dist/modules/plugins/display/api.mjs",
|
|
89
|
+
"./plugins/display/schema": "./dist/modules/plugins/display/schema.mjs",
|
|
90
|
+
"./plugins/content-browser/identity": "./dist/modules/plugins/content-browser/identity.mjs",
|
|
91
|
+
"./plugins/content-browser/frontend": "./dist/modules/plugins/content-browser/frontend.mjs",
|
|
92
|
+
"./plugins/content-browser/schema": "./dist/modules/plugins/content-browser/schema.mjs",
|
|
93
|
+
"./plugins/content-browser/ui": "./dist/modules/plugins/content-browser/ui.mjs",
|
|
94
|
+
"./plugins/plugins/identity": "./dist/modules/plugins/plugins/identity.mjs",
|
|
95
|
+
"./plugins/plugins/backend": "./dist/modules/plugins/plugins/backend.mjs",
|
|
96
|
+
"./plugins/plugins/frontend": "./dist/modules/plugins/plugins/frontend.mjs",
|
|
97
|
+
"./plugins/plugins/api": "./dist/modules/plugins/plugins/api.mjs",
|
|
98
|
+
"./plugins/plugins/cli": "./dist/modules/plugins/plugins/cli.mjs",
|
|
99
|
+
"./plugins/plugins/schema": "./dist/modules/plugins/plugins/schema.mjs",
|
|
100
|
+
"./plugins/plugins/ui": "./dist/modules/plugins/plugins/ui.mjs",
|
|
101
|
+
"./plugins/inspector/identity": "./dist/modules/plugins/inspector/identity.mjs",
|
|
102
|
+
"./plugins/inspector/frontend": "./dist/modules/plugins/inspector/frontend.mjs",
|
|
103
|
+
"./plugins/inspector/schema": "./dist/modules/plugins/inspector/schema.mjs",
|
|
104
|
+
"./plugins/inspector/ui": "./dist/modules/plugins/inspector/ui.mjs",
|
|
105
|
+
"./plugins/scene/identity": "./dist/modules/plugins/scene/identity.mjs",
|
|
106
|
+
"./plugins/scene/frontend": "./dist/modules/plugins/scene/frontend.mjs",
|
|
107
|
+
"./plugins/scene-tree/identity": "./dist/modules/plugins/scene-tree/identity.mjs",
|
|
108
|
+
"./plugins/scene-tree/frontend": "./dist/modules/plugins/scene-tree/frontend.mjs",
|
|
109
|
+
"./plugins/scene-tree/schema": "./dist/modules/plugins/scene-tree/schema.mjs",
|
|
110
|
+
"./plugins/scene-tree/ui": "./dist/modules/plugins/scene-tree/ui.mjs",
|
|
111
|
+
"./plugins/material/identity": "./dist/modules/plugins/material/identity.mjs",
|
|
112
|
+
"./plugins/material/frontend": "./dist/modules/plugins/material/frontend.mjs",
|
|
113
|
+
"./plugins/material/schema": "./dist/modules/plugins/material/schema.mjs",
|
|
114
|
+
"./plugins/material/ui": "./dist/modules/plugins/material/ui.mjs",
|
|
115
|
+
"./plugins/mesh/identity": "./dist/modules/plugins/mesh/identity.mjs",
|
|
116
|
+
"./plugins/mesh/frontend": "./dist/modules/plugins/mesh/frontend.mjs",
|
|
117
|
+
"./plugins/mesh/schema": "./dist/modules/plugins/mesh/schema.mjs",
|
|
118
|
+
"./plugins/mesh/ui": "./dist/modules/plugins/mesh/ui.mjs",
|
|
119
|
+
"./plugins/texture/identity": "./dist/modules/plugins/texture/identity.mjs",
|
|
120
|
+
"./plugins/texture/frontend": "./dist/modules/plugins/texture/frontend.mjs",
|
|
121
|
+
"./plugins/texture/schema": "./dist/modules/plugins/texture/schema.mjs",
|
|
122
|
+
"./plugins/texture/ui": "./dist/modules/plugins/texture/ui.mjs",
|
|
123
|
+
"./plugins/asset/identity": "./dist/modules/plugins/asset/identity.mjs",
|
|
124
|
+
"./plugins/asset/frontend": "./dist/modules/plugins/asset/frontend.mjs",
|
|
125
|
+
"./plugins/asset/schema": "./dist/modules/plugins/asset/schema.mjs",
|
|
126
|
+
"./plugins/asset/ui": "./dist/modules/plugins/asset/ui.mjs",
|
|
127
|
+
"./plugins/viewport/identity": "./dist/modules/plugins/viewport/identity.mjs",
|
|
128
|
+
"./plugins/viewport/frontend": "./dist/modules/plugins/viewport/frontend.mjs",
|
|
129
|
+
"./plugins/viewport/schema": "./dist/modules/plugins/viewport/schema.mjs",
|
|
130
|
+
"./workspace/api": "./dist/modules/workspace/api.mjs",
|
|
131
|
+
"./workspace/backend": "./dist/modules/workspace/backend.mjs",
|
|
132
|
+
"./workspace/broker": "./dist/modules/workspace/broker.mjs",
|
|
133
|
+
"./workspace/cli": "./dist/modules/workspace/cli.mjs",
|
|
134
|
+
"./workspace/client": "./dist/modules/workspace/client.mjs",
|
|
135
|
+
"./workspace/contract": "./dist/modules/workspace/contract.mjs",
|
|
136
|
+
"./workspace/engine-adapter": "./dist/modules/workspace/engine-adapter.mjs",
|
|
137
|
+
"./workspace/extension-bridge": "./dist/modules/workspace/extension-bridge.mjs",
|
|
138
|
+
"./workspace/frontend-plugin": "./dist/modules/workspace/frontend-plugin.mjs",
|
|
139
|
+
"./workspace/frontend": "./dist/modules/workspace/frontend.mjs",
|
|
140
|
+
"./workspace/id": "./dist/modules/workspace/id.mjs",
|
|
141
|
+
"./workspace/resident": "./dist/modules/workspace/resident.mjs",
|
|
142
|
+
"./workspace/resource-open": "./dist/modules/workspace/resource-open.mjs",
|
|
143
|
+
"./workspace/tool-runtime": "./dist/modules/workspace/tool-runtime.mjs",
|
|
144
|
+
"./shell/contract": "./dist/modules/shell/contract.mjs",
|
|
145
|
+
"./shell/layout-zones": "./dist/modules/shell/layout-zones.mjs",
|
|
146
|
+
"./viewer-host": "./dist/modules/viewer-host.mjs",
|
|
147
|
+
"./viewer-host/frontend": "./dist/modules/viewer-host/frontend.mjs",
|
|
148
|
+
"./viewer-host/page-registry": "./dist/modules/viewer-host/page-registry.mjs",
|
|
149
|
+
"./viewer-host/slot-registry": "./dist/modules/viewer-host/slot-registry.mjs"
|
|
150
|
+
},
|
|
151
|
+
"scripts": {
|
|
152
|
+
"build": "pnpm run build:viewer && node scripts/build-package.mjs",
|
|
153
|
+
"build:viewer": "pnpm --filter @forgeax/view-viewer build",
|
|
154
|
+
"dev": "pnpm --filter @forgeax/view-viewer dev",
|
|
155
|
+
"dev:ui": "pnpm --filter @forgeax/view-viewer dev:ui",
|
|
156
|
+
"storybook": "pnpm --filter @forgeax/view-components storybook",
|
|
157
|
+
"build:storybook": "pnpm --filter @forgeax/view-components build:storybook",
|
|
158
|
+
"check:components": "pnpm --filter @forgeax/view-components check",
|
|
159
|
+
"check:packages": "pnpm -r --if-present check",
|
|
160
|
+
"check:architecture": "node scripts/check-architecture.mjs && node --test test/source-boundaries.test.mjs test/architecture-ci.test.mjs test/no-legacy-surfaces.test.mjs",
|
|
161
|
+
"changeset": "changeset",
|
|
162
|
+
"changeset:version": "changeset version && node scripts/sync-release-version.mjs",
|
|
163
|
+
"release": "node scripts/release-npm.mjs",
|
|
164
|
+
"release:snapshot": "node scripts/release-npm.mjs snapshot",
|
|
165
|
+
"release:dry-run": "node scripts/release-npm.mjs dry-run --tag beta",
|
|
166
|
+
"release:verify": "node scripts/release-npm.mjs verify",
|
|
167
|
+
"postinstall": "node --input-type=module -e \"import{existsSync}from'node:fs';if(existsSync('.git'))await import('./scripts/sync-harness.mjs')\"",
|
|
168
|
+
"harness:sync": "node scripts/sync-harness.mjs",
|
|
169
|
+
"harness:init": "node scripts/init-harness.mjs",
|
|
170
|
+
"test": "node --test scripts/sync-harness.test.mjs scripts/release-npm.test.mjs test/*.test.mjs",
|
|
171
|
+
"test:view": "node --test test/*.test.mjs",
|
|
172
|
+
"test:package": "node --test test/package-aggregate.test.mjs"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: forgeax-view-cli
|
|
3
|
+
description: >-
|
|
4
|
+
Use the authoritative View workspace API through its CLI clients. Use when
|
|
5
|
+
inspecting or changing View project bindings, opening assets, selecting scene
|
|
6
|
+
entities, or checking whether a CLI request affects an open View page.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ForgeaX View API and CLI
|
|
10
|
+
|
|
11
|
+
> [!IMPORTANT]
|
|
12
|
+
> The resident workspace API is authoritative. The browser and CLI are clients
|
|
13
|
+
> of the same owner; the CLI does not implement project, asset, scene, or camera
|
|
14
|
+
> behavior. Engine owns project and target execution. View owns workspace
|
|
15
|
+
> bindings, selection, and presentation requests.
|
|
16
|
+
|
|
17
|
+
## Find the live contract
|
|
18
|
+
|
|
19
|
+
Read `@forgeax/view/workspace/contract` for operation names and request shape
|
|
20
|
+
(`packages/view-workspace-core/src/contract.mjs` in this repository). For
|
|
21
|
+
programmatic clients, call
|
|
22
|
+
`connectViewWorkspace(...).capabilities()` to see what the connected owner can
|
|
23
|
+
execute. The contract's operation list alone does not prove that a provider is
|
|
24
|
+
installed and callable. Use `tabs.get` for the current project, tab, and exact
|
|
25
|
+
target identities; obtain asset GUIDs from `assets.list`. Keep the returned
|
|
26
|
+
`projectId`, `targetId`, and `targetGeneration` with subsequent requests instead
|
|
27
|
+
of guessing from paths, names, or a previous target.
|
|
28
|
+
|
|
29
|
+
| Need | Owner and entry |
|
|
30
|
+
|:--|:--|
|
|
31
|
+
| Backend or optional View lifecycle | `forgeax backend ...` and `forgeax view start\|status\|stop`; use [View startup](../forgeax-view-start/SKILL.md) |
|
|
32
|
+
| Allocate an Editor project on the running View | `forgeax view project open --root <backend-root> --project <project-root> --json`; open the returned headed URL |
|
|
33
|
+
| Call one resident workspace operation through Engine CLI | `forgeax view workspace call --root <backend-root> --operation <id> --args <json> --json`; requires the selected View host Pack and running View owner |
|
|
34
|
+
| Call the resident View workspace API | `forgeax-view workspace --operation <id> --args <json>` with the issued endpoint and token |
|
|
35
|
+
| Author assets or control an independent AI run | Engine CLI; use the installed `forgeax-engine-cli` skill when available |
|
|
36
|
+
|
|
37
|
+
`forgeax help view --tree --json` discovers declarations from the running
|
|
38
|
+
backend's selected host Pack. A listed command does not prove its plugin
|
|
39
|
+
is mounted or its provider is callable. The `forgeax-view workspace --help`
|
|
40
|
+
operation list describes its client grammar; an unavailable operation fails at
|
|
41
|
+
the connected owner. The workspace CLI accepts `--endpoint` and `--token`, or
|
|
42
|
+
`FORGEAX_VIEW_WORKSPACE_ENDPOINT` and `FORGEAX_VIEW_WORKSPACE_TOKEN`. Treat
|
|
43
|
+
these credentials as connection secrets; do not paste them into reports.
|
|
44
|
+
The resident View registers `view.workspace.*` on ToolApi; the frontend
|
|
45
|
+
transport and both CLI entries reach the same View owner. The Engine CLI
|
|
46
|
+
entry uses the backend's existing authentication. Select the package host
|
|
47
|
+
with `backend start --host-pack`; a downloaded View package alone
|
|
48
|
+
does not make this command discoverable.
|
|
49
|
+
|
|
50
|
+
## Open a scene through the API
|
|
51
|
+
|
|
52
|
+
With an Editor project already open, call `tabs.get`, then `assets.list` for its
|
|
53
|
+
`projectId`. Choose the scene asset's exact GUID. The Content Browser's double
|
|
54
|
+
click and the following CLI call both submit `asset.open` with the same
|
|
55
|
+
workspace tab and project identity:
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
forgeax-view workspace --operation asset.open \
|
|
59
|
+
--args '{"projectId":"<project-id>","guid":"<scene-guid>","tabId":"forgeax-user-workspace"}'
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
After success, read `tabs.get` again and check its `openRequest` and Editor
|
|
63
|
+
target. If an already connected frontend has the scene PageType, it observes
|
|
64
|
+
the new request and focuses the Editor page. A frontend that connects later
|
|
65
|
+
baselines the retained request; the CLI response alone does not prove a page
|
|
66
|
+
is visible or that a rendered frame exists. Verify the browser and target when
|
|
67
|
+
the requested outcome is visual.
|
|
68
|
+
|
|
69
|
+
Use `scene.select`, `scene.pick`, or `scene.clear` for View selection; direct
|
|
70
|
+
Engine `target.pick` only returns query facts. Page layout, Content Browser
|
|
71
|
+
filters, and other local UI interactions are frontend policy and need not have
|
|
72
|
+
workspace CLI operations. Keep multi-call camera transactions on one client
|
|
73
|
+
connection with `--batch`; a single CLI call closes its connection after the
|
|
74
|
+
API response.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: forgeax-view-start
|
|
3
|
+
description: >-
|
|
4
|
+
Bind a local Engine checkout and compose independent ForgeaX backend, View,
|
|
5
|
+
project, browser and run operations. Use when opening a project with View, starting View, switching a project to
|
|
6
|
+
local Engine, or diagnosing a startup that stalls before the interface opens.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ForgeaX View startup
|
|
10
|
+
|
|
11
|
+
## Open a project with one script
|
|
12
|
+
|
|
13
|
+
For a local Engine checkout and known game project, run the bundled script:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
node skills/forgeax-view-start/scripts/start-view.mjs \
|
|
17
|
+
--project /absolute/path/to/game \
|
|
18
|
+
--engine /absolute/path/to/forgeax-engine
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The script checks the package link and local Engine binding, builds stale
|
|
22
|
+
Engine/View outputs, prepares the shader profile, reuses or starts a managed
|
|
23
|
+
backend with View's `host.pack.json`, and calls `view start --project`. It
|
|
24
|
+
returns one JSON result on stdout. Read `url` from an `ok: true` result and
|
|
25
|
+
open it with the available browser tool. Then verify the requested project
|
|
26
|
+
name/content and a live Engine target in the browser. The URL alone proves
|
|
27
|
+
only that View is serving the project intent. The script does not launch a
|
|
28
|
+
browser, open Play, or control an independent AI run.
|
|
29
|
+
|
|
30
|
+
Use `--view` for another View checkout, `--root` for a dedicated empty backend
|
|
31
|
+
workspace, `--restart` after a compatible host needs replacement, and
|
|
32
|
+
`--profile point-ssao` for a project that uses point shadows. `--build auto`
|
|
33
|
+
is the default; `--build always` rebuilds, and `--build never` requires fresh
|
|
34
|
+
outputs. The script refuses a conflicting package link, foreign backend, or
|
|
35
|
+
nonempty unmanaged workspace and reports the failing stage in JSON. Do not
|
|
36
|
+
silently replace those owners. Progress and command diagnostics go to stderr.
|
|
37
|
+
|
|
38
|
+
The manual composition below remains useful for a narrower service-only
|
|
39
|
+
request or diagnosis of a failed stage.
|
|
40
|
+
|
|
41
|
+
Read [Start here](../../README.md#start-here) for the current commands and Pack
|
|
42
|
+
PluginAsset root. Check the selected Engine package's public exports and CLI help
|
|
43
|
+
before using a command.
|
|
44
|
+
|
|
45
|
+
## Interpret the requested outcome
|
|
46
|
+
|
|
47
|
+
Treat "use View to start this project" as a request to open that project in
|
|
48
|
+
View for editing. Compose the necessary steps in this skill; do not require the
|
|
49
|
+
user to request each service separately. Start Play or an independent AI run
|
|
50
|
+
only when the user requests that execution mode. A request for just a service
|
|
51
|
+
or URL ends at that narrower outcome.
|
|
52
|
+
|
|
53
|
+
| Step | Owner and boundary | Completion evidence |
|
|
54
|
+
|:--|:--|:--|
|
|
55
|
+
| Backend | Explicit Engine backend command; reuse a compatible owner or start a missing one | Backend responds with the requested Engine and host composition |
|
|
56
|
+
| View | View plugin command on that backend; never implicitly starts the backend | View returns its interface URL |
|
|
57
|
+
| Browser | Agent uses an available browser tool when the request includes opening the project | Returned URL is visited; low-level CLI commands do not launch a browser |
|
|
58
|
+
| Project | Existing workspace API, reached through the project-intent URL or explicit project.open | Requested project identity, content and exact Engine target are present |
|
|
59
|
+
| Play / AI run | Explicit Engine execution operation for the requested mode | Its own target or run readiness; separate from Editor readiness |
|
|
60
|
+
|
|
61
|
+
Use a documented convenience command when the installed CLI provides one;
|
|
62
|
+
otherwise compose the independent commands here. Check which services it starts,
|
|
63
|
+
whether it opens a browser/project, its reuse policy, and its completion result.
|
|
64
|
+
Do not assume a `forgeax view open` command exists. Command discovery/help must
|
|
65
|
+
not activate services. Follow the installed package's current root and
|
|
66
|
+
PluginAsset contract; design proposals are not available commands.
|
|
67
|
+
|
|
68
|
+
Keep API calls usable independently of CLI workflows. Convenience commands may
|
|
69
|
+
compose public APIs, while each underlying CLI command retains its documented
|
|
70
|
+
single-operation behavior. Do not duplicate domain validation or state in a
|
|
71
|
+
convenience wrapper, or make a low-level API silently perform the full workflow.
|
|
72
|
+
|
|
73
|
+
For a known project, carry its canonical path through the returned URL or
|
|
74
|
+
project.open request. Prefer the URL-intent path for an ordinary browser open;
|
|
75
|
+
use explicit project.open when allocation before navigation is required. Do not
|
|
76
|
+
issue both as independent allocations. Reuse an existing matching project and
|
|
77
|
+
URL; a different open project or incompatible backend requires resolving that
|
|
78
|
+
specific conflict, not silently switching or restarting it.
|
|
79
|
+
|
|
80
|
+
If no suitable browser tool or desktop is available, return the actual URL and
|
|
81
|
+
report that browser/project readiness remains unverified. A URL or allocated
|
|
82
|
+
target alone is not completion of a request to open the project. Preserve the
|
|
83
|
+
last successful stage and original failure; retry only the failed step after
|
|
84
|
+
checking current owner state. Do not replay editing, scene-open, or Play actions.
|
|
85
|
+
|
|
86
|
+
## Resolve the requested Engine
|
|
87
|
+
|
|
88
|
+
For a local repository request, follow
|
|
89
|
+
[Use a local Engine checkout](../../README.md#use-a-local-engine-checkout).
|
|
90
|
+
Inspect the current package link and `project engine status` first. Keep a
|
|
91
|
+
matching healthy binding; do not replace it with an SDK archive or rebuild it
|
|
92
|
+
merely to start View.
|
|
93
|
+
|
|
94
|
+
The package link selects the local CLI and Node-side Pack imports. The existing
|
|
95
|
+
`project engine use-local` binding selects local workspace exports for the
|
|
96
|
+
browser host. Verify `mode: "local"`, the requested checkout, the resolved built
|
|
97
|
+
entry, and `project engine check` before reporting the binding complete. Use
|
|
98
|
+
public built exports; do not redirect package exports or Vite aliases to `src`.
|
|
99
|
+
Resolve the actual `node_modules/@forgeax/engine` link from the project and
|
|
100
|
+
compare it with the checkout in `.forgeax/engine-binding.json`. Both sides must
|
|
101
|
+
select the same Engine revision. `project engine check` proves the browser
|
|
102
|
+
binding is healthy, but a different Node-side package link can still cook Pack
|
|
103
|
+
assets with stale component fields.
|
|
104
|
+
|
|
105
|
+
Build missing or changed outputs explicitly. After building a local Engine
|
|
106
|
+
checkout, prepare the shader profile used by the target and check both
|
|
107
|
+
`packages/vite-plugin-shader/dist/engine-inputs/<profile>/manifest.json` and
|
|
108
|
+
`imports.json` before starting a rendering target. The default profile is
|
|
109
|
+
`base-ssao`; use the matching point-shadow profile when that feature is enabled.
|
|
110
|
+
Recheck after rebuilding the shader package, since its `dist` output can replace
|
|
111
|
+
the prepared profile. A missing profile makes each fresh Backend compile Engine
|
|
112
|
+
shaders from source and can keep one CPU busy for minutes; a healthy package
|
|
113
|
+
build count alone does not establish rendering readiness. Report preparation
|
|
114
|
+
separately from backend/View startup. Do not pack a candidate SDK as a
|
|
115
|
+
substitute for the requested local repository binding.
|
|
116
|
+
|
|
117
|
+
## Compose only the requested operations
|
|
118
|
+
|
|
119
|
+
Inspect `backend status` and `view status` for the chosen workspace root. Reuse
|
|
120
|
+
an existing healthy service with the requested Engine. A binding change does
|
|
121
|
+
not update running owners; apply it with an explicit backend restart, and keep
|
|
122
|
+
independent runs under their separate lifecycle. Select the installed View
|
|
123
|
+
package's `host.pack.json` with `backend start --host-pack <absolute-pack-path>`.
|
|
124
|
+
The game needs no View asset or changed `roots.host`. If it already owns a host
|
|
125
|
+
root, use a separate backend workspace root and open the game with `--project`.
|
|
126
|
+
Perform the operations needed for the user's requested outcome:
|
|
127
|
+
|
|
128
|
+
| Request | Action and completion evidence |
|
|
129
|
+
|:--|:--|
|
|
130
|
+
| Start Engine backend | `backend start --host-pack <View package>/host.pack.json`; Engine API and the selected View plugin are ready |
|
|
131
|
+
| Start View | Connect to the backend with `view start`; return the actual URL |
|
|
132
|
+
| Open the interface | Open that URL in the user's browser; verify Shell connection if browser interaction is requested |
|
|
133
|
+
| Edit a project | Return the URL with the known project intent: backend root is the default project if it contains `forge.json`; `--project /absolute/project` overrides it. Verify project identity and Engine target after opening that URL |
|
|
134
|
+
| Explicitly allocate a project | `forgeax view project open --root <backend> --project /absolute/project --json`; open `projectTarget.url`, or let an already-open empty Shell adopt it. Command success alone does not prove the headed page is ready |
|
|
135
|
+
| Play in Editor | Start Play for the open project; use its exact target for shared tools |
|
|
136
|
+
| Observe an AI run | Bind its explicit `{root, runId}`; verify a timestamped image from that run |
|
|
137
|
+
|
|
138
|
+
For a complete View startup request, start a missing backend first, then enable
|
|
139
|
+
View. Stop after the requested outcome. The browser opens the known project from
|
|
140
|
+
the returned URL; Play and independent AI runs still require separate intent.
|
|
141
|
+
Browser automation setup belongs to an explicitly requested browser workflow,
|
|
142
|
+
not to `backend start` or `view start`.
|
|
143
|
+
|
|
144
|
+
`--root` selects the existing backend workspace. `view start` creates no
|
|
145
|
+
project target. Do not ask users to retype a known project path. Verify repeated
|
|
146
|
+
refresh carries the confirmed project and old target through the resident View
|
|
147
|
+
entry, then opens a fresh Editor only after Engine validates that exact lost
|
|
148
|
+
target. Verify no manual reconnect or resource/camera/layout history replay. Never
|
|
149
|
+
resend commands to the lost target or restart Play automatically. Report
|
|
150
|
+
conflicts with another active page and require an explicit project choice.
|
|
151
|
+
During the transfer, verify the resident View entry shows restoration progress
|
|
152
|
+
without target-bound panels or stale-target command errors. Measure the time to
|
|
153
|
+
the fresh target separately from the time to reach the resident entry.
|
|
154
|
+
When startup speed matters, start the Engine backend with
|
|
155
|
+
`FORGEAX_WORKSPACE_TIMING=1` and use the Engine checkout's
|
|
156
|
+
`node scripts/workspace-timing-report.mjs <backend-root>` after repeated opens or
|
|
157
|
+
refreshes. The report groups exact targets and separates Vite config, server
|
|
158
|
+
creation/listening, Catalog wait and browser readiness. Record the browser's
|
|
159
|
+
time to reach the resident View entry separately; the Engine timer starts when
|
|
160
|
+
the replacement target opens. Check the stage distribution before changing
|
|
161
|
+
startup behavior.
|
|
162
|
+
`view project open` takes the
|
|
163
|
+
editor project directory as `--project` and opens it on the running View; it
|
|
164
|
+
never launches a browser, starts Play, or switches away from a different open
|
|
165
|
+
project. Its JSON result only proves the headed session was allocated: open
|
|
166
|
+
`projectTarget.url`, or confirm the empty shell navigated there, before
|
|
167
|
+
treating the project as open in the interface.
|
|
168
|
+
|
|
169
|
+
When the user supplied a project path and asked to open it, use the project-intent
|
|
170
|
+
URL or `view project open` with that path; do not stop at the
|
|
171
|
+
connected Shell and do not type into the path dialog. `No project`, an empty path field, or a disabled **Open
|
|
172
|
+
project** button means the project-open step is incomplete. The final project
|
|
173
|
+
screenshot must contain the requested project target. Treat scene preview and
|
|
174
|
+
Play as independent follow-up gates: a scene tree proves scene loading, while a
|
|
175
|
+
running Play target plus real pixels proves game execution. During a slow Play
|
|
176
|
+
start, retain the pending state until Engine reports readiness; do not infer
|
|
177
|
+
failure from temporarily disabled controls.
|
|
178
|
+
|
|
179
|
+
For WebGPU pixel evidence, use the repository's canonical Playwright launch
|
|
180
|
+
configuration or the browser flags required by its real integration script. A
|
|
181
|
+
browser that merely exposes `navigator.gpu` can still leave the canvas black on
|
|
182
|
+
an unsuitable backend. Wait for the Engine document's submitted-frame marker,
|
|
183
|
+
then inspect the screenshot itself; `play.ready`, a mounted iframe, and a black
|
|
184
|
+
canvas are not pixel acceptance.
|
|
185
|
+
|
|
186
|
+
Use [status and stop](../../README.md#check-status-and-stop) for cleanup. Stop
|
|
187
|
+
only owned/requested resources; View stop preserves the backend and independent
|
|
188
|
+
runs, and borrowed browser resources remain with their caller.
|
|
189
|
+
|
|
190
|
+
## Preserve the failing boundary
|
|
191
|
+
|
|
192
|
+
| Evidence | Next action |
|
|
193
|
+
|:--|:--|
|
|
194
|
+
| Command missing | Verify the selected Engine CLI version, backend `hostPack` status, built View exports, and packaged `host.pack.json` |
|
|
195
|
+
| Pack module initialization timeout | Retain the source filename and diagnostic; inspect actual resolved imports before claiming whole-Engine compilation |
|
|
196
|
+
| Terminal Pack/catalog failure | Return the producer error; repair and explicitly reopen the project instead of adding another readiness wait |
|
|
197
|
+
| Shell ready, rendering failed | Report target failure separately; inspect Engine's original renderer error while keeping View available |
|
|
198
|
+
| Missing automation browser | Report that prerequisite only for the browser task; a View URL does not require Playwright |
|
|
199
|
+
|
|
200
|
+
Return the selected Engine entry, workspace root, service/URL state and the
|
|
201
|
+
verification boundary. Keep URL readiness, DOM interaction, real pixels and CI
|
|
202
|
+
results distinct. Update this guidance with README startup contract changes.
|