@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,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/view-workspace-core/src/view-trace.mjs"],
|
|
4
|
+
"sourcesContent": ["/**\n * View viewport / camera interaction trace.\n *\n * Enable: localStorage.setItem('forgeax.view.trace', '1'); location.reload();\n * Export: copy(__forgeaxViewTrace.dump())\n *\n * Capture phase (canvas click \u2192 ESC / pointer up): see report.captureSessions[]\n */\n\nconst TRACE_KEY = 'forgeax.view.trace';\nconst TRACE_URL_PARAM = 'forgeaxViewTrace';\nconst LOG_PREFIX = '[forgeax.view.trace]';\nconst MAX_EVENTS = 6000;\nconst LATENCY_SAMPLE_CAP = 1024;\nconst MAX_SESSION_EVENTS = 20000;\n\nlet enabled = false;\nlet owned = false;\nlet installedApi;\nlet longTaskObserver;\nlet sessionId = '';\nlet bootAt = 0;\nconst events = [];\nconst counters = new Map();\nconst rpcLatencies = new Map();\nlet rafId = 0;\nlet lastRaf = 0;\nlet longFrameCount = 0;\nlet maxFrameGap = 0;\nlet sessionLongFrameCount = 0;\n\nlet activeCaptureSession = null;\nconst captureSessions = [];\nlet domRoot = null;\nlet domMutationObserver = null;\nlet layoutObserver = null;\nlet paintObserver = null;\n\nfunction now() {\n return typeof performance !== 'undefined' && typeof performance.now === 'function'\n ? performance.now()\n : Date.now();\n}\n\nfunction relT() {\n return Math.round((now() - bootAt) * 100) / 100;\n}\n\nfunction readEnabledFromEnvironment() {\n try {\n if (typeof globalThis.location?.search === 'string') {\n const params = new URLSearchParams(globalThis.location.search);\n if (params.get(TRACE_URL_PARAM) === '1' || params.get(TRACE_URL_PARAM) === 'true') return true;\n }\n } catch {\n // ignore\n }\n try {\n const stored = globalThis.localStorage?.getItem(TRACE_KEY);\n if (stored === '1' || stored === 'true') return true;\n } catch {\n // ignore\n }\n return false;\n}\n\nfunction bump(name, delta = 1) {\n counters.set(name, (counters.get(name) ?? 0) + delta);\n}\n\nfunction sessionBump(name, delta = 1) {\n if (!activeCaptureSession) return;\n const map = activeCaptureSession.counters;\n map.set(name, (map.get(name) ?? 0) + delta);\n}\n\nfunction recordRpcLatency(operation, ms, targetMap = rpcLatencies) {\n let bucket = targetMap.get(operation);\n if (!bucket) {\n bucket = [];\n targetMap.set(operation, bucket);\n }\n if (bucket.length >= LATENCY_SAMPLE_CAP) bucket.shift();\n bucket.push(ms);\n}\n\nfunction percentile(sorted, p) {\n if (sorted.length === 0) return 0;\n const index = Math.min(sorted.length - 1, Math.max(0, Math.floor((p / 100) * sorted.length)));\n return sorted[index];\n}\n\nfunction summarizeLatencies(samples) {\n if (!samples?.length) return null;\n const sorted = [...samples].sort((a, b) => a - b);\n const sum = sorted.reduce((acc, value) => acc + value, 0);\n return {\n n: sorted.length,\n avg: Math.round((sum / sorted.length) * 100) / 100,\n p50: Math.round(percentile(sorted, 50) * 100) / 100,\n p95: Math.round(percentile(sorted, 95) * 100) / 100,\n max: Math.round(sorted[sorted.length - 1] * 100) / 100,\n sum: Math.round(sum * 100) / 100,\n };\n}\n\nfunction summarizeRenderDurations(samples) {\n const stats = summarizeLatencies(samples);\n if (!stats) return null;\n return stats;\n}\n\nfunction pushEvent(entry, { sessionOnly = false } = {}) {\n if (!enabled) return;\n if (activeCaptureSession) {\n activeCaptureSession.events.push(entry);\n if (activeCaptureSession.events.length > MAX_SESSION_EVENTS) {\n activeCaptureSession.events.splice(0, activeCaptureSession.events.length - MAX_SESSION_EVENTS);\n sessionBump('session.events-truncated');\n }\n }\n if (!sessionOnly) {\n events.push(entry);\n if (events.length > MAX_EVENTS) events.splice(0, events.length - MAX_EVENTS);\n }\n}\n\nexport function isViewTraceEnabled() {\n return enabled;\n}\n\nexport function isCaptureSessionActive() {\n return activeCaptureSession !== null;\n}\n\nexport function traceView(phase, event, data = {}) {\n if (!enabled) return;\n const entry = { t: relT(), phase, event, ...data };\n bump(`${phase}.${event}`);\n sessionBump(`${phase}.${event}`);\n pushEvent(entry);\n const verbose = activeCaptureSession || phase === 'session' || phase === 'boot';\n if (verbose && typeof console !== 'undefined' && typeof console.debug === 'function') {\n console.debug(LOG_PREFIX, phase, event, data);\n }\n}\n\nexport function traceViewRpc(operation, durationMs, extra = {}) {\n if (!enabled) return;\n recordRpcLatency(operation, durationMs, rpcLatencies);\n if (activeCaptureSession) {\n recordRpcLatency(operation, durationMs, activeCaptureSession.rpcLatencies);\n if (durationMs > (activeCaptureSession.maxRpcMs ?? 0)) activeCaptureSession.maxRpcMs = durationMs;\n if (extra.inputType === 'pointer-move') {\n sessionBump('input.rpc-pointer-move');\n const q = activeCaptureSession.pendingRpc ?? 0;\n if (q > (activeCaptureSession.maxRpcQueue ?? 0)) activeCaptureSession.maxRpcQueue = q;\n }\n }\n bump(`rpc.${operation}`);\n sessionBump(`rpc.${operation}`);\n if (durationMs > 32) {\n bump(`rpc.slow.${operation}`);\n sessionBump(`rpc.slow.${operation}`);\n }\n pushEvent({\n t: relT(),\n phase: 'rpc',\n event: operation,\n ms: Math.round(durationMs * 100) / 100,\n ...extra,\n });\n}\n\nfunction describeElement(element) {\n if (!element || typeof element !== 'object') return null;\n const tag = element.tagName?.toLowerCase?.() ?? String(element);\n const dataset = element.dataset ? { ...element.dataset } : {};\n return {\n tag,\n id: element.id ?? undefined,\n className: typeof element.className === 'string' ? element.className : undefined,\n dataset,\n tabIndex: element.tabIndex,\n pointerLock: typeof element.requestPointerLock === 'function',\n };\n}\n\nfunction attachDomObservers() {\n if (!activeCaptureSession || !domRoot || domMutationObserver) return;\n if (typeof globalThis.MutationObserver === 'function') {\n domMutationObserver = new MutationObserver((records) => {\n if (!activeCaptureSession) return;\n for (const record of records) {\n sessionBump('dom.mutation');\n activeCaptureSession.mutationRecords += 1;\n if (record.type === 'childList') {\n sessionBump('dom.childList');\n activeCaptureSession.childListMutations += record.addedNodes.length + record.removedNodes.length;\n }\n if (record.type === 'attributes') sessionBump('dom.attributes');\n }\n if (activeCaptureSession.mutationRecords % 50 === 0) {\n pushEvent({\n t: relT(),\n phase: 'dom',\n event: 'mutation-burst',\n records: activeCaptureSession.mutationRecords,\n childListNodes: activeCaptureSession.childListMutations,\n });\n }\n });\n domMutationObserver.observe(domRoot, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['style', 'class', 'hidden', 'data-forgeax-view-selected'],\n });\n }\n if (typeof globalThis.PerformanceObserver === 'function') {\n try {\n layoutObserver = new PerformanceObserver((list) => {\n if (!activeCaptureSession) return;\n for (const entry of list.getEntries()) {\n sessionBump('dom.layout');\n const ms = entry.duration;\n activeCaptureSession.layoutDurations.push(ms);\n if (ms > 8) {\n sessionBump('dom.layout-slow');\n pushEvent({\n t: relT(),\n phase: 'dom',\n event: 'layout',\n durationMs: Math.round(ms * 100) / 100,\n name: entry.name,\n });\n }\n }\n });\n layoutObserver.observe({ type: 'layout', buffered: true });\n } catch {\n // layout entry type unsupported\n }\n try {\n paintObserver = new PerformanceObserver((list) => {\n if (!activeCaptureSession) return;\n for (const entry of list.getEntries()) {\n sessionBump('dom.paint');\n if (entry.duration > 8) {\n sessionBump('dom.paint-slow');\n pushEvent({\n t: relT(),\n phase: 'dom',\n event: 'paint',\n durationMs: Math.round(entry.duration * 100) / 100,\n });\n }\n }\n });\n paintObserver.observe({ type: 'paint', buffered: true });\n } catch {\n // paint entry type unsupported\n }\n }\n}\n\nfunction detachDomObservers() {\n domMutationObserver?.disconnect();\n domMutationObserver = null;\n layoutObserver?.disconnect();\n layoutObserver = null;\n paintObserver?.disconnect();\n paintObserver = null;\n}\n\nfunction buildSessionHints(summary) {\n const hints = [];\n const durationSec = (summary.durationMs ?? 0) / 1000;\n if (durationSec <= 0) return hints;\n const move = summary.counters['input.pointer-move'] ?? 0;\n const render = summary.counters['shell.render'] ?? 0;\n const push = summary.counters['shell.state-push'] ?? 0;\n const cameraRpc = summary.counters['rpc.camera.update'] ?? 0;\n const mutations = summary.counters['dom.mutation'] ?? 0;\n\n if (render > 0 && move > 0 && Math.abs(render - push) < render * 0.2 && render / move > 0.5) {\n hints.push('Almost every workspace update triggers shell.render; subscription updates may cause excessive DOM work.');\n }\n if (cameraRpc > 0 && Math.abs(cameraRpc - move) < cameraRpc * 0.15) {\n hints.push('Pointer moves and camera updates are nearly one-to-one; consider coalescing input samples before submission.');\n }\n if (mutations > render * 30 && render > 10) {\n hints.push('Many DOM mutations occur per render; check whole-tree replacement and repeated mounting.');\n }\n const renderStats = summary.render;\n if (renderStats?.p95 > 8 && render > 20) {\n hints.push('Rendering is slow during capture, including child replacement and target surface synchronization.');\n }\n const layoutSlow = summary.counters['dom.layout-slow'] ?? 0;\n if (layoutSlow > 5) {\n hints.push('The browser reports repeated slow layouts during capture; check forced layout and large DOM changes.');\n }\n return hints;\n}\n\nfunction finalizeCaptureSession(reason, extra = {}) {\n if (!activeCaptureSession) return null;\n const session = activeCaptureSession;\n activeCaptureSession = null;\n detachDomObservers();\n\n const durationMs = Math.round((now() - session.startedAtPerf) * 100) / 100;\n const counterObj = Object.fromEntries([...session.counters.entries()].sort(([a], [b]) => a.localeCompare(b)));\n const rpc = {};\n for (const [operation, samples] of session.rpcLatencies.entries()) {\n rpc[operation] = summarizeLatencies(samples);\n }\n const summary = {\n id: session.id,\n reason,\n durationMs,\n startedAtT: session.startedAtT,\n endedAtT: relT(),\n meta: { ...session.meta, ...extra },\n counters: counterObj,\n rpc,\n render: summarizeRenderDurations(session.renderDurations),\n dom: {\n mutationRecords: session.mutationRecords,\n childListNodeChanges: session.childListMutations,\n layoutSamples: session.layoutDurations.length,\n syncTargetSurfaces: session.syncTargetSurfaces,\n targetSurfaceRemovals: session.targetSurfaceRemovals,\n targetSurfaceReorders: session.targetSurfaceReorders,\n },\n input: {\n maxUpdatesInFlight: session.maxInFlight,\n maxRpcMs: Math.round((session.maxRpcMs ?? 0) * 100) / 100,\n },\n subscription: {\n statePush: counterObj['shell.state-push'] ?? 0,\n stateUpdate: counterObj['shell.state-update'] ?? 0,\n },\n hints: [],\n };\n summary.hints = buildSessionHints(summary);\n\n const record = {\n ...summary,\n events: session.events,\n };\n captureSessions.push(record);\n\n traceView('session', 'capture-end', {\n id: session.id,\n reason,\n durationMs,\n counters: counterObj,\n rpc,\n render: summary.render,\n dom: summary.dom,\n subscription: summary.subscription,\n hints: summary.hints,\n });\n\n if (typeof console !== 'undefined' && typeof console.info === 'function') {\n console.info(`${LOG_PREFIX} capture session ended (${reason})`, summary);\n }\n return record;\n}\n\nexport function beginCaptureSession(meta = {}) {\n if (!enabled) return;\n if (activeCaptureSession) finalizeCaptureSession('superseded');\n const id = `cap-${Math.random().toString(36).slice(2, 10)}`;\n activeCaptureSession = {\n id,\n startedAtPerf: now(),\n startedAtT: relT(),\n meta,\n counters: new Map(),\n rpcLatencies: new Map(),\n events: [],\n renderDurations: [],\n layoutDurations: [],\n mutationRecords: 0,\n childListMutations: 0,\n syncTargetSurfaces: 0,\n targetSurfaceRemovals: 0,\n targetSurfaceReorders: 0,\n maxInFlight: 0,\n maxRpcMs: 0,\n maxRpcQueue: 0,\n };\n sessionLongFrameCount = 0;\n attachDomObservers();\n traceView('session', 'capture-begin', { id, ...meta });\n}\n\nexport function endCaptureSession(reason, extra = {}) {\n if (!enabled || !activeCaptureSession) return null;\n return finalizeCaptureSession(reason, extra);\n}\n\nexport function traceShellRegisterDomRoot(rootElement) {\n if (!enabled || !rootElement) return;\n domRoot = rootElement;\n traceView('shell', 'dom-root', { element: describeElement(rootElement) });\n}\n\nexport function traceShellStatePush(state) {\n if (!enabled) return;\n bump('shell.state-push');\n sessionBump('shell.state-push');\n const payload = {\n selectedTabId: state?.selectedTabId,\n cameraVersion: state?.preview?.cameraVersion,\n hasInteraction: Boolean(state?.preview?.interaction),\n };\n pushEvent({ t: relT(), phase: 'shell', event: 'state-push', ...payload });\n}\n\nexport function wrapViewWorkspaceClient(client) {\n if (!client || client.__forgeaxViewTraceWrapped) return client;\n const originalCall = client.call?.bind(client);\n if (typeof originalCall !== 'function') return client;\n client.__forgeaxViewTraceWrapped = true;\n client.call = (operation, args = {}, options = {}) => {\n if (!enabled) return originalCall(operation, args, options);\n if (activeCaptureSession && operation === 'camera.update') {\n activeCaptureSession.pendingRpc = (activeCaptureSession.pendingRpc ?? 0) + 1;\n }\n const started = now();\n const result = originalCall(operation, args, options);\n return Promise.resolve(result)\n .then((value) => {\n if (activeCaptureSession && operation === 'camera.update') {\n activeCaptureSession.pendingRpc = Math.max(0, (activeCaptureSession.pendingRpc ?? 1) - 1);\n }\n traceViewRpc(operation, now() - started, {\n ok: true,\n interactionId: args?.interactionId,\n inputType: args?.input?.type,\n });\n return value;\n })\n .catch((error) => {\n if (activeCaptureSession && operation === 'camera.update') {\n activeCaptureSession.pendingRpc = Math.max(0, (activeCaptureSession.pendingRpc ?? 1) - 1);\n }\n traceViewRpc(operation, now() - started, {\n ok: false,\n message: error?.message ?? String(error),\n interactionId: args?.interactionId,\n inputType: args?.input?.type,\n });\n throw error;\n });\n };\n if (typeof client.subscribe === 'function') {\n const originalSubscribe = client.subscribe.bind(client);\n client.subscribe = (listener) =>\n originalSubscribe((state) => {\n traceShellStatePush(state);\n return listener(state);\n });\n }\n return client;\n}\n\nfunction startRafMonitor() {\n if (rafId || typeof globalThis.requestAnimationFrame !== 'function') return;\n lastRaf = now();\n const tick = () => {\n if (!enabled) {\n rafId = 0;\n return;\n }\n const t = now();\n const gap = t - lastRaf;\n lastRaf = t;\n if (gap > maxFrameGap) maxFrameGap = gap;\n if (gap > 32) {\n longFrameCount += 1;\n if (activeCaptureSession) {\n sessionLongFrameCount += 1;\n sessionBump('perf.long-frame');\n pushEvent({\n t: relT(),\n phase: 'perf',\n event: 'long-frame',\n gapMs: Math.round(gap * 100) / 100,\n capture: true,\n });\n } else if (gap > 50) {\n pushEvent({ t: relT(), phase: 'perf', event: 'long-frame', gapMs: Math.round(gap * 100) / 100 });\n }\n }\n rafId = globalThis.requestAnimationFrame(tick);\n };\n rafId = globalThis.requestAnimationFrame(tick);\n}\n\nfunction startLongTaskObserver() {\n if (typeof globalThis.PerformanceObserver !== 'function') return;\n try {\n const observer = new PerformanceObserver((list) => {\n for (const entry of list.getEntries()) {\n if (entry.duration < 50) continue;\n bump('perf.long-task');\n sessionBump('perf.long-task');\n pushEvent({\n t: relT(),\n phase: 'perf',\n event: 'long-task',\n name: entry.name,\n durationMs: Math.round(entry.duration * 100) / 100,\n capture: Boolean(activeCaptureSession),\n });\n }\n });\n observer.observe({ entryTypes: ['longtask'] });\n longTaskObserver = observer;\n } catch {\n // unsupported\n }\n}\n\nfunction buildSummary(elapsedSec) {\n const counterObj = Object.fromEntries([...counters.entries()].sort(([a], [b]) => a.localeCompare(b)));\n const rpc = {};\n for (const [operation, samples] of rpcLatencies.entries()) {\n rpc[operation] = summarizeLatencies(samples);\n }\n const hints = [];\n const last = captureSessions[captureSessions.length - 1];\n if (last?.hints?.length) {\n hints.push(`Last capture (${last.reason}, ${last.durationMs} ms): ${last.hints.join(' ')}`);\n }\n return {\n sessionId,\n elapsedSec: Math.round(elapsedSec * 100) / 100,\n counters: counterObj,\n rpc,\n perf: {\n longFramesOver32ms: longFrameCount,\n maxFrameGapMs: Math.round(maxFrameGap * 100) / 100,\n },\n captureSessionCount: captureSessions.length,\n hints,\n };\n}\n\nexport function getViewTraceReport() {\n const elapsedSec = bootAt ? (now() - bootAt) / 1000 : 0;\n return {\n kind: 'forgeax.view.trace/report',\n version: 2,\n generatedAt: new Date().toISOString(),\n summary: buildSummary(elapsedSec),\n captureSessions: captureSessions.map(({ events: _e, ...rest }) => rest),\n captureSessionsFull: captureSessions,\n events,\n };\n}\n\nexport function dumpViewTraceText() {\n return JSON.stringify(getViewTraceReport(), null, 2);\n}\n\nexport function installViewTraceGlobal() {\n if (!owned || !enabled) return false;\n if (installedApi) return true;\n sessionId = `vt-${Math.random().toString(36).slice(2, 10)}`;\n bootAt = now();\n traceView('boot', 'enabled', {\n page: globalThis.location ? `${globalThis.location.origin}${globalThis.location.pathname}` : undefined,\n userAgent: globalThis.navigator?.userAgent,\n });\n startRafMonitor();\n startLongTaskObserver();\n const api = {\n enabled: () => enabled,\n enable: enableViewTrace,\n dump: dumpViewTraceText,\n download: downloadViewTraceTxtFile,\n report: getViewTraceReport,\n event: traceView,\n describeElement,\n activeCapture: () => activeCaptureSession?.id ?? null,\n lastCaptureSession: () => captureSessions[captureSessions.length - 1] ?? null,\n captureSessions: () => captureSessions,\n };\n globalThis.__forgeaxViewTrace = api;\n installedApi = api;\n if (typeof console !== 'undefined' && typeof console.info === 'function') {\n console.info(\n `${LOG_PREFIX} active \u2014 click canvas, drag, press ESC, then: copy(__forgeaxViewTrace.dump())`,\n );\n }\n return true;\n}\n\nexport function initViewTraceFromEnvironment() {\n if (typeof globalThis.document !== 'object') return () => {};\n if (owned) throw new Error('The workspace plugin already owns View tracing in this document');\n owned = true;\n enabled = readEnabledFromEnvironment();\n installViewTraceGlobal();\n let disposed = false;\n return () => {\n if (disposed) return;\n disposed = true;\n owned = false;\n enabled = false;\n if (rafId) globalThis.cancelAnimationFrame?.(rafId);\n rafId = 0;\n longTaskObserver?.disconnect();\n longTaskObserver = undefined;\n detachDomObservers();\n domRoot = null;\n activeCaptureSession = null;\n events.length = 0;\n captureSessions.length = 0;\n counters.clear();\n rpcLatencies.clear();\n lastRaf = longFrameCount = maxFrameGap = sessionLongFrameCount = bootAt = 0;\n sessionId = '';\n if (globalThis.__forgeaxViewTrace === installedApi) delete globalThis.__forgeaxViewTrace;\n installedApi = undefined;\n };\n}\n\n/** Turn on in-process tracing without reload (used by the View header export control). */\nexport function enableViewTrace({ persist = false } = {}) {\n if (!owned) return false;\n if (persist) {\n try {\n globalThis.localStorage?.setItem(TRACE_KEY, '1');\n } catch {\n // ignore\n }\n }\n if (enabled && globalThis.__forgeaxViewTrace) return true;\n enabled = true;\n return installViewTraceGlobal();\n}\n\nfunction traceExportFilename() {\n const stamp = new Date().toISOString().replace(/[:.]/g, '-');\n return `forgeax-view-trace-${stamp}.txt`;\n}\n\n/** Returns the report text and downloads it as a plain-text file when `document` exists. */\nexport function downloadViewTraceTxtFile() {\n enableViewTrace();\n const text = dumpViewTraceText();\n traceView('export', 'download', {\n bytes: text.length,\n captureSessions: captureSessions.length,\n });\n const doc = globalThis.document;\n if (doc?.createElement) {\n const blob = new Blob([text], { type: 'text/plain;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n const anchor = doc.createElement('a');\n anchor.href = url;\n anchor.download = traceExportFilename();\n anchor.rel = 'noopener';\n anchor.click();\n URL.revokeObjectURL(url);\n }\n return text;\n}\n\nexport function traceInputAttach(element, { targetId, tabId } = {}) {\n if (!enabled) return;\n traceView('input', 'attach', {\n targetId,\n tabId,\n element: describeElement(element),\n pointerLockElement: describeElement(globalThis.document?.pointerLockElement),\n });\n const canvas =\n element?.tagName?.toLowerCase?.() === 'canvas'\n ? element\n : element?.querySelector?.('canvas');\n if (!canvas || canvas.__forgeaxViewTraceCanvas) return;\n canvas.__forgeaxViewTraceCanvas = true;\n traceView('canvas', 'found', {\n width: canvas.width,\n height: canvas.height,\n clientWidth: canvas.clientWidth,\n clientHeight: canvas.clientHeight,\n });\n if (typeof globalThis.ResizeObserver === 'function') {\n const observer = new ResizeObserver(() => {\n const payload = {\n width: canvas.width,\n height: canvas.height,\n clientWidth: canvas.clientWidth,\n clientHeight: canvas.clientHeight,\n capture: Boolean(activeCaptureSession),\n };\n bump('canvas.resize');\n sessionBump('canvas.resize');\n pushEvent({ t: relT(), phase: 'canvas', event: 'resize', ...payload });\n });\n observer.observe(canvas);\n }\n}\n\nexport function traceInputPointerDown(event, { accepted, element }) {\n if (!enabled) return;\n traceView('input', 'pointerdown', {\n accepted,\n button: event?.button,\n pointerId: event?.pointerId,\n pointerType: event?.pointerType,\n buttons: event?.buttons,\n target: describeElement(event?.target),\n inputSurface: describeElement(element),\n pointerLockBefore: describeElement(globalThis.document?.pointerLockElement),\n });\n if (accepted) {\n beginCaptureSession({\n trigger: 'pointerdown',\n target: describeElement(event?.target),\n inputSurface: describeElement(element),\n });\n }\n}\n\nexport function traceInputPointerUp(event, { element } = {}) {\n if (!enabled) return;\n traceView('input', 'pointerup', {\n pointerId: event?.pointerId,\n inputSurface: describeElement(element),\n });\n endCaptureSession('pointerup');\n}\n\nexport function traceInputPointerLockExit({ locked, element }) {\n if (!enabled) return;\n traceView('input', 'pointerlock-exit', {\n locked,\n element: describeElement(element),\n });\n if (!locked) endCaptureSession('pointerlock-exit');\n}\n\nexport function traceInputCaptureAbort(reason) {\n if (!enabled) return;\n traceView('input', 'abort', { reason });\n if (activeCaptureSession) endCaptureSession('abort', { abortReason: reason });\n}\n\nexport function traceInputEscape() {\n if (!enabled) return;\n traceView('input', 'escape-key');\n endCaptureSession('escape-key');\n}\n\nexport function traceInputPointerMove(event, { queueDepth, inFlight }) {\n if (!enabled) return;\n bump('input.pointer-move');\n sessionBump('input.pointer-move');\n if (inFlight > (activeCaptureSession?.maxInFlight ?? 0)) {\n if (activeCaptureSession) activeCaptureSession.maxInFlight = inFlight;\n }\n const payload = {\n movementX: event?.movementX,\n movementY: event?.movementY,\n queueDepth,\n inFlight,\n };\n if (activeCaptureSession) {\n pushEvent({ t: relT(), phase: 'input', event: 'pointer-move', ...payload });\n } else if ((counters.get('input.pointer-move') ?? 0) % 30 === 1) {\n pushEvent({ t: relT(), phase: 'input', event: 'pointer-move-sample', ...payload });\n }\n}\n\nexport function traceInputEnqueueUpdate(input, { queueDepth, inFlight }) {\n if (!enabled) return;\n sessionBump('input.enqueue-update');\n bump('input.enqueue-update');\n if (activeCaptureSession) {\n pushEvent({\n t: relT(),\n phase: 'input',\n event: 'enqueue-update',\n type: input?.type,\n queueDepth,\n inFlight,\n });\n }\n}\n\nexport function traceShellRender(meta = {}) {\n if (!enabled) return;\n bump('shell.render');\n sessionBump('shell.render');\n if (activeCaptureSession && typeof meta.durationMs === 'number') {\n activeCaptureSession.renderDurations.push(meta.durationMs);\n }\n if (activeCaptureSession) {\n pushEvent({ t: relT(), phase: 'shell', event: 'render', ...meta });\n } else if ((counters.get('shell.render') ?? 0) % 25 === 1) {\n pushEvent({ t: relT(), phase: 'shell', event: 'render-sample', ...meta });\n }\n}\n\nexport function traceShellUpdate(meta = {}) {\n if (!enabled) return;\n bump('shell.state-update');\n sessionBump('shell.state-update');\n if (activeCaptureSession) {\n pushEvent({ t: relT(), phase: 'shell', event: 'state-update', ...meta });\n }\n}\n\nexport function tracePresentationAttach(tabId, targetId, surface) {\n if (!enabled) return;\n sessionBump('shell.presentation-attach');\n bump('shell.presentation-attach');\n traceView('shell', 'presentation-attach', {\n tabId,\n targetId,\n surface: describeElement(surface),\n });\n}\n\nexport function traceSyncTargetSurfaces(stats = {}) {\n if (!enabled) return;\n bump('shell.sync-target-surfaces');\n sessionBump('shell.sync-target-surfaces');\n if (activeCaptureSession) {\n activeCaptureSession.syncTargetSurfaces += 1;\n activeCaptureSession.targetSurfaceRemovals += stats.removed ?? 0;\n activeCaptureSession.targetSurfaceReorders += stats.reordered ?? 0;\n }\n if (activeCaptureSession) {\n pushEvent({ t: relT(), phase: 'shell', event: 'sync-target-surfaces', ...stats });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// packages/view-plugin-display/src/ui/display.css
|
|
2
|
+
var css = "/* packages/view-plugin-display/src/ui/display.css */\n.fx-view-run-observer {\n height: 100%;\n overflow: auto;\n padding: var(--fx-ref-space-8);\n}\n.fx-view-run-observer img {\n display: block;\n max-width: 100%;\n height: auto;\n pointer-events: none;\n}\n.fx-view-run-observer img[hidden] {\n display: none;\n}\n.fx-view-run-observer pre {\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.fx-view-run-observer form {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fx-ref-space-8);\n max-width: 70rem;\n}\n.fx-view-run-observer form .fx-input {\n flex: 1 1 16rem;\n}\n";
|
|
3
|
+
if (typeof document !== "undefined" && !document.querySelector('style[data-forgeax-css="L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi1kaXNwbGF5L3NyYy91aS9kaXNwbGF5LmNzcw"]')) {
|
|
4
|
+
const style = document.createElement("style");
|
|
5
|
+
style.dataset.forgeaxCss = "L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi1kaXNwbGF5L3NyYy91aS9kaXNwbGF5LmNzcw";
|
|
6
|
+
style.textContent = css;
|
|
7
|
+
document.head.append(style);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=chunk-2K3BBJ5S.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/view-plugin-display/src/ui/display.css"],
|
|
4
|
+
"sourcesContent": ["\n const css = \"/* packages/view-plugin-display/src/ui/display.css */\\n.fx-view-run-observer {\\n height: 100%;\\n overflow: auto;\\n padding: var(--fx-ref-space-8);\\n}\\n.fx-view-run-observer img {\\n display: block;\\n max-width: 100%;\\n height: auto;\\n pointer-events: none;\\n}\\n.fx-view-run-observer img[hidden] {\\n display: none;\\n}\\n.fx-view-run-observer pre {\\n white-space: pre-wrap;\\n overflow-wrap: anywhere;\\n}\\n.fx-view-run-observer form {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n gap: var(--fx-ref-space-8);\\n max-width: 70rem;\\n}\\n.fx-view-run-observer form .fx-input {\\n flex: 1 1 16rem;\\n}\\n\";\n if (typeof document !== 'undefined' && !document.querySelector('style[data-forgeax-css=\"L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi1kaXNwbGF5L3NyYy91aS9kaXNwbGF5LmNzcw\"]')) {\n const style = document.createElement('style');\n style.dataset.forgeaxCss = \"L2RhdGEvaG9tZS9nYWhvdWxpYW8vYWN0aW9ucy1ydW5uZXIvX3dvcmsvZm9yZ2VheC12aWV3L2ZvcmdlYXgtdmlldy9wYWNrYWdlcy92aWV3LXBsdWdpbi1kaXNwbGF5L3NyYy91aS9kaXNwbGF5LmNzcw\";\n style.textContent = css;\n document.head.append(style);\n }\n export default css;\n "],
|
|
5
|
+
"mappings": ";AACU,IAAM,MAAM;AACZ,IAAI,OAAO,aAAa,eAAe,CAAC,SAAS,cAAc,sLAAsL,GAAG;AACtP,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,QAAQ,aAAa;AAC3B,QAAM,cAAc;AACpB,WAAS,KAAK,OAAO,KAAK;AAC5B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createWorkspaceId
|
|
3
|
+
} from "./chunk-TP26TASL.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/view-workspace-core/src/scene-selection.mjs
|
|
6
|
+
function serializeWorkspaceSceneSelection(sceneSelection) {
|
|
7
|
+
if (!sceneSelection?.primary) return null;
|
|
8
|
+
const entityId = requireWorkspaceString(
|
|
9
|
+
sceneSelection.primary.entityId,
|
|
10
|
+
"sceneSelection.primary.entityId"
|
|
11
|
+
);
|
|
12
|
+
return {
|
|
13
|
+
...sceneSelection.targetId === void 0 ? {} : { targetId: sceneSelection.targetId, targetGeneration: sceneSelection.targetGeneration },
|
|
14
|
+
primary: {
|
|
15
|
+
entityId,
|
|
16
|
+
...sceneSelection.primary.label === void 0 ? {} : { label: String(sceneSelection.primary.label) }
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function createEmptySceneSelection() {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// packages/view-workspace-core/src/contract.mjs
|
|
25
|
+
var VIEW_WORKSPACE_API_VERSION = "forgeax.view.workspace/1";
|
|
26
|
+
var VIEW_WORKSPACE_SERVICES = Object.freeze({
|
|
27
|
+
capabilities: "forgeax.view.workspace.capabilities",
|
|
28
|
+
call: "forgeax.view.workspace.call"
|
|
29
|
+
});
|
|
30
|
+
var VIEW_FILE_GET_SERVICE = "forgeax.view.file.get";
|
|
31
|
+
var VIEW_WORKSPACE_STATE_TOPIC = "forgeax.view.workspace.state";
|
|
32
|
+
var VIEW_PAGE_TYPES = Object.freeze({
|
|
33
|
+
editor: "editor",
|
|
34
|
+
display: "display",
|
|
35
|
+
plugins: "plugins",
|
|
36
|
+
material: "material",
|
|
37
|
+
mesh: "mesh",
|
|
38
|
+
texture: "texture",
|
|
39
|
+
asset: "asset"
|
|
40
|
+
});
|
|
41
|
+
var VIEW_WORKSPACE_COOK_MODES = Object.freeze(["rebuild", "cold-cook"]);
|
|
42
|
+
var VIEW_WORKSPACE_CORE_OPERATIONS = Object.freeze([
|
|
43
|
+
"tabs.get",
|
|
44
|
+
"tabs.select",
|
|
45
|
+
"scene.select",
|
|
46
|
+
"scene.pick",
|
|
47
|
+
"scene.clear",
|
|
48
|
+
"project.open",
|
|
49
|
+
"project.close",
|
|
50
|
+
"project.reopen"
|
|
51
|
+
]);
|
|
52
|
+
var VIEW_WORKSPACE_DOMAIN_OPERATIONS = Object.freeze([
|
|
53
|
+
...VIEW_WORKSPACE_CORE_OPERATIONS,
|
|
54
|
+
"display.bind",
|
|
55
|
+
"display.status",
|
|
56
|
+
"assets.list",
|
|
57
|
+
"asset.inspect",
|
|
58
|
+
"asset-source.rebuild",
|
|
59
|
+
"asset-source.cold-cook",
|
|
60
|
+
"asset.open",
|
|
61
|
+
"play.start",
|
|
62
|
+
"play.ready",
|
|
63
|
+
"play.stop",
|
|
64
|
+
"target.control",
|
|
65
|
+
"target.select",
|
|
66
|
+
"target.pick",
|
|
67
|
+
"entity.highlight",
|
|
68
|
+
"preview.close",
|
|
69
|
+
"preview.capture",
|
|
70
|
+
"preview.resize",
|
|
71
|
+
"camera.get",
|
|
72
|
+
"camera.begin",
|
|
73
|
+
"camera.update",
|
|
74
|
+
"camera.commit",
|
|
75
|
+
"camera.abort",
|
|
76
|
+
"scene-tree.get",
|
|
77
|
+
"entity.inspect",
|
|
78
|
+
"entity.focus",
|
|
79
|
+
"run.start",
|
|
80
|
+
"run.status",
|
|
81
|
+
"run.reload",
|
|
82
|
+
"run.stop",
|
|
83
|
+
"run.capture",
|
|
84
|
+
"run.eval",
|
|
85
|
+
"run.find",
|
|
86
|
+
"run.focus",
|
|
87
|
+
"run.camera.get",
|
|
88
|
+
"run.camera.set",
|
|
89
|
+
"run.camera.release"
|
|
90
|
+
]);
|
|
91
|
+
var VIEW_WORKSPACE_OPERATIONS = Object.freeze([
|
|
92
|
+
...VIEW_WORKSPACE_DOMAIN_OPERATIONS,
|
|
93
|
+
"plugins.sources",
|
|
94
|
+
"plugins.inspect",
|
|
95
|
+
"plugins.watch"
|
|
96
|
+
]);
|
|
97
|
+
var VIEW_DISPLAY_TAB_ID = "forgeax-cli-display";
|
|
98
|
+
var VIEW_WORKSPACE_TAB_ID = "forgeax-user-workspace";
|
|
99
|
+
var OPERATION_SET = new Set(VIEW_WORKSPACE_OPERATIONS);
|
|
100
|
+
var OPAQUE_WORKSPACE_DIAGNOSTICS = /* @__PURE__ */ new Set([
|
|
101
|
+
"the contribution executor to return a result",
|
|
102
|
+
"the producer operation to succeed",
|
|
103
|
+
"the workspace command to complete",
|
|
104
|
+
"Inspect the resident View workspace and retry.",
|
|
105
|
+
"Inspect the provider snapshot and retry.",
|
|
106
|
+
"Inspect detail and repair the owning producer before retrying.",
|
|
107
|
+
"Inspect the browser page failure details.",
|
|
108
|
+
"Inspect the Engine command or tool result.",
|
|
109
|
+
"Refresh the inspector source and retry.",
|
|
110
|
+
"the View workspace provider to complete the operation",
|
|
111
|
+
"the View API provider to complete the operation"
|
|
112
|
+
]);
|
|
113
|
+
function isOpaqueWorkspaceDiagnostic(value) {
|
|
114
|
+
if (typeof value !== "string") return true;
|
|
115
|
+
const text = value.trim();
|
|
116
|
+
if (text === "") return true;
|
|
117
|
+
if (OPAQUE_WORKSPACE_DIAGNOSTICS.has(text)) return true;
|
|
118
|
+
if (/^the browser workspace operation \S+ to complete$/.test(text)) return true;
|
|
119
|
+
if (/^(?:workspace|inspector) operation \S+ to complete$/.test(text)) return true;
|
|
120
|
+
if (/^Engine .+ to succeed$/.test(text)) return true;
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
function workspaceErrorMessage(code, expected, hint) {
|
|
124
|
+
const parts = [];
|
|
125
|
+
for (const value of [expected, hint]) {
|
|
126
|
+
if (typeof value !== "string") continue;
|
|
127
|
+
const text = value.trim();
|
|
128
|
+
if (!text || parts.includes(text)) continue;
|
|
129
|
+
parts.push(text);
|
|
130
|
+
}
|
|
131
|
+
const real = parts.filter((text) => !isOpaqueWorkspaceDiagnostic(text));
|
|
132
|
+
const chosen = real.length > 0 ? real : parts;
|
|
133
|
+
return chosen.length > 0 ? `${code}: ${chosen.join(" \u2014 ")}` : String(code ?? "view-workspace-error");
|
|
134
|
+
}
|
|
135
|
+
var ViewWorkspaceError = class extends Error {
|
|
136
|
+
constructor(code, expected, hint, detail = {}) {
|
|
137
|
+
super(workspaceErrorMessage(code, expected, hint));
|
|
138
|
+
this.name = "ViewWorkspaceError";
|
|
139
|
+
this.code = code;
|
|
140
|
+
this.expected = expected;
|
|
141
|
+
this.hint = hint;
|
|
142
|
+
this.detail = detail;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
function workspaceError(code, expected, hint, detail = {}) {
|
|
146
|
+
return new ViewWorkspaceError(code, expected, hint, detail);
|
|
147
|
+
}
|
|
148
|
+
function requireWorkspaceString(value, field) {
|
|
149
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
150
|
+
throw workspaceError(
|
|
151
|
+
"view-workspace-invalid-args",
|
|
152
|
+
`${field} to be a non-empty string`,
|
|
153
|
+
`Provide a non-empty ${field}.`,
|
|
154
|
+
{ field }
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
return value;
|
|
158
|
+
}
|
|
159
|
+
function requireWorkspaceObject(value, field) {
|
|
160
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
161
|
+
throw workspaceError(
|
|
162
|
+
"view-workspace-invalid-args",
|
|
163
|
+
`${field} to be an object`,
|
|
164
|
+
`Provide an object for ${field}.`,
|
|
165
|
+
{ field }
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
return value;
|
|
169
|
+
}
|
|
170
|
+
function requireWorkspaceInteger(value, field, { min = 0 } = {}) {
|
|
171
|
+
if (!Number.isSafeInteger(value) || value < min) {
|
|
172
|
+
throw workspaceError(
|
|
173
|
+
"view-workspace-invalid-args",
|
|
174
|
+
`${field} to be an integer >= ${min}`,
|
|
175
|
+
`Provide a valid ${field}.`,
|
|
176
|
+
{ field, min }
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
return value;
|
|
180
|
+
}
|
|
181
|
+
function cloneWorkspaceValue(value) {
|
|
182
|
+
if (value === void 0) return void 0;
|
|
183
|
+
return JSON.parse(JSON.stringify(value));
|
|
184
|
+
}
|
|
185
|
+
function jsonUnchanged(left, right) {
|
|
186
|
+
if (left === right) return true;
|
|
187
|
+
if (left == null || right == null) return left === right;
|
|
188
|
+
return JSON.stringify(left) === JSON.stringify(right);
|
|
189
|
+
}
|
|
190
|
+
function omitUiTelemetry(value) {
|
|
191
|
+
if (Array.isArray(value)) return value.map(omitUiTelemetry);
|
|
192
|
+
if (!value || typeof value !== "object") return value;
|
|
193
|
+
const next = {};
|
|
194
|
+
for (const [key, nested] of Object.entries(value)) {
|
|
195
|
+
if (key === "frameId" || key === "cameraVersion" || key === "interaction" || key === "inputVersion") continue;
|
|
196
|
+
if (key === "camera" && nested && typeof nested === "object" && !Array.isArray(nested)) {
|
|
197
|
+
if (nested.control !== void 0) next.camera = { control: nested.control };
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
next[key] = omitUiTelemetry(nested);
|
|
201
|
+
}
|
|
202
|
+
return next;
|
|
203
|
+
}
|
|
204
|
+
function workspaceUiFingerprint(state) {
|
|
205
|
+
if (!state) return "";
|
|
206
|
+
const { revision: _revision, ...rest } = state;
|
|
207
|
+
return JSON.stringify(omitUiTelemetry(rest));
|
|
208
|
+
}
|
|
209
|
+
function createWorkspaceRequest(operation, args = {}, { clientId, token, requestId } = {}) {
|
|
210
|
+
if (!OPERATION_SET.has(operation)) {
|
|
211
|
+
throw workspaceError(
|
|
212
|
+
"view-workspace-operation-unknown",
|
|
213
|
+
"operation to be present in the View workspace API",
|
|
214
|
+
"Refresh the workspace API capabilities and use a supported operation.",
|
|
215
|
+
{ operation }
|
|
216
|
+
);
|
|
217
|
+
}
|
|
218
|
+
const request = {
|
|
219
|
+
apiVersion: VIEW_WORKSPACE_API_VERSION,
|
|
220
|
+
operation,
|
|
221
|
+
clientId: requireWorkspaceString(clientId, "clientId"),
|
|
222
|
+
requestId: requestId === void 0 ? createWorkspaceId("request") : requireWorkspaceString(requestId, "requestId"),
|
|
223
|
+
args: requireWorkspaceObject(args, "args")
|
|
224
|
+
};
|
|
225
|
+
if (token !== void 0) request.token = requireWorkspaceString(token, "token");
|
|
226
|
+
return Object.freeze(request);
|
|
227
|
+
}
|
|
228
|
+
function assertWorkspaceRequest(value) {
|
|
229
|
+
const request = requireWorkspaceObject(value, "request");
|
|
230
|
+
if (request.apiVersion !== VIEW_WORKSPACE_API_VERSION) {
|
|
231
|
+
throw workspaceError(
|
|
232
|
+
"view-workspace-version-mismatch",
|
|
233
|
+
`API version ${VIEW_WORKSPACE_API_VERSION}`,
|
|
234
|
+
"Install a matching View workspace client.",
|
|
235
|
+
{ actual: request.apiVersion, expected: VIEW_WORKSPACE_API_VERSION }
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
if (!OPERATION_SET.has(request.operation)) {
|
|
239
|
+
throw workspaceError(
|
|
240
|
+
"view-workspace-operation-unknown",
|
|
241
|
+
"operation to be present in the View workspace API",
|
|
242
|
+
"Refresh the workspace API capabilities and use a supported operation.",
|
|
243
|
+
{ operation: request.operation }
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
requireWorkspaceString(request.clientId, "clientId");
|
|
247
|
+
requireWorkspaceString(request.requestId, "requestId");
|
|
248
|
+
requireWorkspaceObject(request.args, "args");
|
|
249
|
+
return request;
|
|
250
|
+
}
|
|
251
|
+
function workspaceCapabilities({
|
|
252
|
+
ready = true,
|
|
253
|
+
headed = ready,
|
|
254
|
+
reason,
|
|
255
|
+
code,
|
|
256
|
+
operations = VIEW_WORKSPACE_OPERATIONS
|
|
257
|
+
} = {}) {
|
|
258
|
+
return {
|
|
259
|
+
apiVersion: VIEW_WORKSPACE_API_VERSION,
|
|
260
|
+
ready: Boolean(ready),
|
|
261
|
+
headed: Boolean(headed),
|
|
262
|
+
operations: [...operations],
|
|
263
|
+
...reason === void 0 ? {} : { reason: String(reason) },
|
|
264
|
+
...code === void 0 ? {} : { code: String(code) }
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function serializeWorkspaceTarget(target) {
|
|
268
|
+
if (!target) return null;
|
|
269
|
+
requireWorkspaceString(target.targetId, "target.targetId");
|
|
270
|
+
return {
|
|
271
|
+
targetId: target.targetId,
|
|
272
|
+
...target.generation === void 0 ? {} : { generation: target.generation },
|
|
273
|
+
...target.sessionId === void 0 ? {} : { sessionId: String(target.sessionId) },
|
|
274
|
+
...target.worldId === void 0 ? {} : { worldId: String(target.worldId) },
|
|
275
|
+
headed: target.headed === true,
|
|
276
|
+
...target.frameId === void 0 ? {} : { frameId: target.frameId },
|
|
277
|
+
...target.width === void 0 ? {} : { width: target.width },
|
|
278
|
+
...target.height === void 0 ? {} : { height: target.height },
|
|
279
|
+
...target.url === void 0 ? {} : { url: String(target.url) },
|
|
280
|
+
...target.surface === void 0 || typeof target.surface !== "string" ? {} : { surface: target.surface }
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
function serializeWorkspaceProject(project) {
|
|
284
|
+
if (!project) return null;
|
|
285
|
+
requireWorkspaceString(project.id, "project.id");
|
|
286
|
+
requireWorkspaceString(project.root, "project.root");
|
|
287
|
+
return {
|
|
288
|
+
id: project.id,
|
|
289
|
+
root: project.root,
|
|
290
|
+
...project.name === void 0 ? {} : { name: String(project.name) },
|
|
291
|
+
...project.revision === void 0 ? {} : { revision: String(project.revision) }
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
function serializeWorkspaceAsset(asset) {
|
|
295
|
+
requireWorkspaceString(asset.guid, "asset.guid");
|
|
296
|
+
requireWorkspaceString(asset.kind, "asset.kind");
|
|
297
|
+
return {
|
|
298
|
+
guid: asset.guid,
|
|
299
|
+
kind: asset.kind,
|
|
300
|
+
...asset.name === void 0 ? {} : { name: String(asset.name) },
|
|
301
|
+
...asset.sourceKey === void 0 ? {} : { sourceKey: String(asset.sourceKey) },
|
|
302
|
+
...asset.path === void 0 ? {} : { path: String(asset.path) },
|
|
303
|
+
...asset.sourcePath === void 0 ? {} : { sourcePath: String(asset.sourcePath) },
|
|
304
|
+
...asset.sourceKind === void 0 ? {} : { sourceKind: String(asset.sourceKind) },
|
|
305
|
+
...asset.packageId === void 0 ? {} : { packageId: String(asset.packageId) },
|
|
306
|
+
...asset.packageUrl === void 0 ? {} : { packageUrl: String(asset.packageUrl) },
|
|
307
|
+
...asset.cookReceiptUrl === void 0 ? {} : { cookReceiptUrl: String(asset.cookReceiptUrl) },
|
|
308
|
+
...asset.label === void 0 ? {} : { label: String(asset.label) },
|
|
309
|
+
...asset.revision === void 0 ? {} : { revision: String(asset.revision) },
|
|
310
|
+
...asset.previewable === void 0 ? {} : { previewable: Boolean(asset.previewable) },
|
|
311
|
+
...serializeWorkspaceDdc(asset.ddc) === void 0 ? {} : { ddc: serializeWorkspaceDdc(asset.ddc) }
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
function serializeWorkspaceDdc(ddc) {
|
|
315
|
+
if (!ddc || typeof ddc !== "object" || Array.isArray(ddc)) return void 0;
|
|
316
|
+
const state = ddc.state === void 0 ? void 0 : String(ddc.state);
|
|
317
|
+
return cloneWorkspaceValue({
|
|
318
|
+
...state === void 0 ? {} : { state },
|
|
319
|
+
...ddc.guid === void 0 ? {} : { guid: String(ddc.guid) },
|
|
320
|
+
...ddc.desiredKey === void 0 ? {} : { desiredKey: String(ddc.desiredKey) },
|
|
321
|
+
...ddc.receiptUrl === void 0 ? {} : { receiptUrl: String(ddc.receiptUrl) },
|
|
322
|
+
...ddc.hint === void 0 ? {} : { hint: String(ddc.hint) }
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
function serializeWorkspaceOpenRequest(request) {
|
|
326
|
+
if (!request) return null;
|
|
327
|
+
requireWorkspaceString(request.requestId, "openRequest.requestId");
|
|
328
|
+
requireWorkspaceInteger(request.sequence, "openRequest.sequence", { min: 1 });
|
|
329
|
+
const asset = serializeWorkspaceAsset(request.asset);
|
|
330
|
+
const previewTarget = request.preview?.target ?? request.target;
|
|
331
|
+
const previewAsset = request.preview?.asset ?? (previewTarget ? asset : void 0);
|
|
332
|
+
return {
|
|
333
|
+
requestId: request.requestId,
|
|
334
|
+
sequence: request.sequence,
|
|
335
|
+
asset,
|
|
336
|
+
...previewTarget ? {
|
|
337
|
+
preview: {
|
|
338
|
+
asset: previewAsset ? serializeWorkspaceAsset(previewAsset) : asset,
|
|
339
|
+
target: serializeWorkspaceTarget(previewTarget)
|
|
340
|
+
}
|
|
341
|
+
} : {},
|
|
342
|
+
...request.inspection ? { inspection: serializeWorkspaceInspection(request.inspection) } : {}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
function serializeWorkspaceResourceOpens(opens) {
|
|
346
|
+
if (!opens || typeof opens !== "object") return void 0;
|
|
347
|
+
const entries = opens instanceof Map ? [...opens.entries()] : Object.entries(opens);
|
|
348
|
+
const serialized = {};
|
|
349
|
+
for (const [kind, entry] of entries) {
|
|
350
|
+
if (typeof kind !== "string" || !entry?.asset) continue;
|
|
351
|
+
const asset = serializeWorkspaceAsset(entry.asset);
|
|
352
|
+
const previewTarget = entry.preview?.target;
|
|
353
|
+
serialized[kind] = {
|
|
354
|
+
asset,
|
|
355
|
+
...previewTarget ? {
|
|
356
|
+
preview: {
|
|
357
|
+
asset: serializeWorkspaceAsset(entry.preview.asset ?? asset),
|
|
358
|
+
target: serializeWorkspaceTarget(previewTarget)
|
|
359
|
+
}
|
|
360
|
+
} : {}
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
return serialized;
|
|
364
|
+
}
|
|
365
|
+
function workspaceInspectionFactRows(inspection) {
|
|
366
|
+
if (!inspection || typeof inspection !== "object" || Array.isArray(inspection)) {
|
|
367
|
+
return Object.freeze([]);
|
|
368
|
+
}
|
|
369
|
+
const asset = inspection.asset && typeof inspection.asset === "object" ? inspection.asset : {};
|
|
370
|
+
const rows = [];
|
|
371
|
+
const add = (label, value) => {
|
|
372
|
+
if (value === void 0 || value === null) return;
|
|
373
|
+
if (typeof value === "string" && value.trim() === "") return;
|
|
374
|
+
rows.push(
|
|
375
|
+
Object.freeze({
|
|
376
|
+
label,
|
|
377
|
+
value: typeof value === "object" ? JSON.stringify(value) : String(value)
|
|
378
|
+
})
|
|
379
|
+
);
|
|
380
|
+
};
|
|
381
|
+
add("GUID", inspection.guid ?? asset.guid);
|
|
382
|
+
add("Kind", asset.kind);
|
|
383
|
+
add("Name", asset.name);
|
|
384
|
+
add("Path", asset.path);
|
|
385
|
+
add("Source", inspection.source?.path ?? asset.sourcePath);
|
|
386
|
+
add("Revision", inspection.revision ?? asset.revision ?? inspection.source?.revision);
|
|
387
|
+
add("Package", asset.packageId ?? asset.packageUrl);
|
|
388
|
+
if (inspection.ddc?.state) add("DDC", inspection.ddc.state);
|
|
389
|
+
const meta = inspection.meta;
|
|
390
|
+
if (meta && typeof meta === "object" && !Array.isArray(meta)) {
|
|
391
|
+
for (const [key, value] of Object.entries(meta)) add(key, value);
|
|
392
|
+
}
|
|
393
|
+
return Object.freeze(rows);
|
|
394
|
+
}
|
|
395
|
+
function serializeWorkspaceInspection(inspection) {
|
|
396
|
+
if (!inspection) return null;
|
|
397
|
+
const guid = requireWorkspaceString(inspection.guid ?? inspection.asset?.guid, "inspection.guid");
|
|
398
|
+
const asset = serializeWorkspaceAsset({
|
|
399
|
+
...inspection.asset,
|
|
400
|
+
guid,
|
|
401
|
+
kind: inspection.asset?.kind ?? inspection.kind
|
|
402
|
+
});
|
|
403
|
+
const source = inspection.source;
|
|
404
|
+
return {
|
|
405
|
+
guid,
|
|
406
|
+
asset,
|
|
407
|
+
...source === void 0 || source === null ? {} : {
|
|
408
|
+
source: {
|
|
409
|
+
...source.path === void 0 ? {} : { path: String(source.path) },
|
|
410
|
+
...source.kind === void 0 ? {} : { kind: String(source.kind) },
|
|
411
|
+
...source.revision === void 0 ? {} : { revision: String(source.revision) }
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
...inspection.meta !== null && typeof inspection.meta === "object" && !Array.isArray(inspection.meta) ? { meta: cloneWorkspaceValue(inspection.meta) } : {},
|
|
415
|
+
...serializeWorkspaceDdc(inspection.ddc) === void 0 ? {} : { ddc: serializeWorkspaceDdc(inspection.ddc) },
|
|
416
|
+
...inspection.revision === void 0 ? {} : { revision: String(inspection.revision) }
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
function serializeWorkspaceState(state) {
|
|
420
|
+
return cloneWorkspaceValue({
|
|
421
|
+
apiVersion: VIEW_WORKSPACE_API_VERSION,
|
|
422
|
+
revision: state.revision,
|
|
423
|
+
selectedTabId: state.selectedTabId,
|
|
424
|
+
tabs: state.tabs,
|
|
425
|
+
project: serializeWorkspaceProject(state.project),
|
|
426
|
+
projectTarget: serializeWorkspaceTarget(state.projectTarget),
|
|
427
|
+
assets: Array.isArray(state.assets) ? state.assets.map((asset) => serializeWorkspaceAsset(asset)) : null,
|
|
428
|
+
preview: state.preview ? {
|
|
429
|
+
asset: state.preview.asset ? serializeWorkspaceAsset(state.preview.asset) : null,
|
|
430
|
+
target: serializeWorkspaceTarget(state.preview.target),
|
|
431
|
+
camera: state.preview.camera,
|
|
432
|
+
cameraVersion: state.preview.cameraVersion,
|
|
433
|
+
interaction: state.preview.interaction ? { interactionId: state.preview.interaction.interactionId } : null
|
|
434
|
+
} : null,
|
|
435
|
+
previews: (state.previews ?? []).map((preview) => ({ target: serializeWorkspaceTarget(preview.target), asset: preview.asset ? serializeWorkspaceAsset(preview.asset) : null })),
|
|
436
|
+
editorPreview: state.editorPreview ? { target: serializeWorkspaceTarget(state.editorPreview.target), asset: state.editorPreview.asset ? serializeWorkspaceAsset(state.editorPreview.asset) : null } : null,
|
|
437
|
+
play: state.play ? { target: serializeWorkspaceTarget(state.play.target), phase: state.play.phase } : null,
|
|
438
|
+
targetBinding: state.targetBinding ?? "editor",
|
|
439
|
+
inspection: serializeWorkspaceInspection(state.inspection),
|
|
440
|
+
openRequest: serializeWorkspaceOpenRequest(state.openRequest),
|
|
441
|
+
resourceOpens: serializeWorkspaceResourceOpens(state.resourceOpens),
|
|
442
|
+
sceneSelection: serializeWorkspaceSceneSelection(state.sceneSelection),
|
|
443
|
+
workspaceTargetLost: state.workspaceTargetLost === true
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
export {
|
|
448
|
+
createEmptySceneSelection,
|
|
449
|
+
VIEW_WORKSPACE_API_VERSION,
|
|
450
|
+
VIEW_WORKSPACE_SERVICES,
|
|
451
|
+
VIEW_FILE_GET_SERVICE,
|
|
452
|
+
VIEW_WORKSPACE_STATE_TOPIC,
|
|
453
|
+
VIEW_PAGE_TYPES,
|
|
454
|
+
VIEW_WORKSPACE_COOK_MODES,
|
|
455
|
+
VIEW_WORKSPACE_CORE_OPERATIONS,
|
|
456
|
+
VIEW_WORKSPACE_DOMAIN_OPERATIONS,
|
|
457
|
+
VIEW_WORKSPACE_OPERATIONS,
|
|
458
|
+
VIEW_DISPLAY_TAB_ID,
|
|
459
|
+
VIEW_WORKSPACE_TAB_ID,
|
|
460
|
+
isOpaqueWorkspaceDiagnostic,
|
|
461
|
+
ViewWorkspaceError,
|
|
462
|
+
workspaceError,
|
|
463
|
+
requireWorkspaceString,
|
|
464
|
+
requireWorkspaceObject,
|
|
465
|
+
requireWorkspaceInteger,
|
|
466
|
+
cloneWorkspaceValue,
|
|
467
|
+
jsonUnchanged,
|
|
468
|
+
workspaceUiFingerprint,
|
|
469
|
+
createWorkspaceRequest,
|
|
470
|
+
assertWorkspaceRequest,
|
|
471
|
+
workspaceCapabilities,
|
|
472
|
+
serializeWorkspaceTarget,
|
|
473
|
+
serializeWorkspaceProject,
|
|
474
|
+
serializeWorkspaceAsset,
|
|
475
|
+
serializeWorkspaceDdc,
|
|
476
|
+
serializeWorkspaceOpenRequest,
|
|
477
|
+
serializeWorkspaceResourceOpens,
|
|
478
|
+
workspaceInspectionFactRows,
|
|
479
|
+
serializeWorkspaceInspection,
|
|
480
|
+
serializeWorkspaceState
|
|
481
|
+
};
|
|
482
|
+
//# sourceMappingURL=chunk-32GD5LL6.mjs.map
|