@forgeax/view 0.5.0-dev.13472.92dbf4b81984 → 0.5.0-dev.13601.16969c83ee09

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +25 -7
  2. package/dist/build-revision.json +1 -1
  3. package/dist/modules/backend.mjs +12 -12
  4. package/dist/modules/browser.mjs +16 -16
  5. package/dist/modules/chunks/{App-E3M52XTQ.mjs → App-4XQ5SNNT.mjs} +2 -2
  6. package/dist/modules/chunks/{chunk-3GIGTM7E.mjs → chunk-27XASYEH.mjs} +2 -2
  7. package/dist/modules/chunks/{chunk-UAGQZPAB.mjs → chunk-2Z5KEV6L.mjs} +2 -2
  8. package/dist/modules/chunks/{chunk-4NGODRIE.mjs → chunk-46UEGAXY.mjs} +4 -4
  9. package/dist/modules/chunks/{chunk-UZHTLAIZ.mjs → chunk-47RJSHLM.mjs} +2 -2
  10. package/dist/modules/chunks/{chunk-ACOMGSSB.mjs → chunk-5PHAXNFO.mjs} +2 -2
  11. package/dist/modules/chunks/{chunk-IXPBGENY.mjs → chunk-6I7RY73G.mjs} +3 -3
  12. package/dist/modules/chunks/{chunk-45ZU2HHR.mjs → chunk-B6QUJ33G.mjs} +27 -23
  13. package/dist/modules/chunks/chunk-B6QUJ33G.mjs.map +7 -0
  14. package/dist/modules/chunks/{chunk-FKLYSAVN.mjs → chunk-CXOD7FW6.mjs} +7 -4
  15. package/dist/modules/chunks/chunk-CXOD7FW6.mjs.map +7 -0
  16. package/dist/modules/chunks/{chunk-CRNEX7YH.mjs → chunk-D25SR5FS.mjs} +2 -2
  17. package/dist/modules/chunks/{chunk-CDO6LELS.mjs → chunk-D2RCKG7Q.mjs} +3 -3
  18. package/dist/modules/chunks/{chunk-L5EV6NEE.mjs → chunk-DWT3TA6M.mjs} +6 -6
  19. package/dist/modules/chunks/{chunk-MHE5EBU4.mjs → chunk-E3PJGTLI.mjs} +22 -14
  20. package/dist/modules/chunks/chunk-E3PJGTLI.mjs.map +7 -0
  21. package/dist/modules/chunks/{chunk-3Q26HNFS.mjs → chunk-FICPCJKR.mjs} +2 -2
  22. package/dist/modules/chunks/{chunk-CWNB67UF.mjs → chunk-FMCHH5R4.mjs} +2 -2
  23. package/dist/modules/chunks/{chunk-MO5LILCP.mjs → chunk-HWZCLROY.mjs} +6 -2
  24. package/dist/modules/chunks/chunk-HWZCLROY.mjs.map +7 -0
  25. package/dist/modules/chunks/{chunk-TTFLJHQZ.mjs → chunk-IJPWKKIU.mjs} +6 -6
  26. package/dist/modules/chunks/{chunk-TTFLJHQZ.mjs.map → chunk-IJPWKKIU.mjs.map} +1 -1
  27. package/dist/modules/chunks/{chunk-2VJPRNYB.mjs → chunk-IZAHIOFU.mjs} +4 -4
  28. package/dist/modules/chunks/{chunk-IBNFKPW4.mjs → chunk-JK7K7RG3.mjs} +2 -2
  29. package/dist/modules/chunks/{chunk-BGK4ZEQ5.mjs → chunk-KX2WU5Z6.mjs} +2 -2
  30. package/dist/modules/chunks/{chunk-TBZZ37VI.mjs → chunk-LZ57Y73Z.mjs} +4 -4
  31. package/dist/modules/chunks/{chunk-M5X56JWH.mjs → chunk-PW5CE2Y6.mjs} +3 -3
  32. package/dist/modules/chunks/{chunk-OHVTNEQ2.mjs → chunk-PZIAKZJC.mjs} +2 -2
  33. package/dist/modules/chunks/{chunk-PG4AJFDC.mjs → chunk-RJVOH7G2.mjs} +12 -12
  34. package/dist/modules/chunks/{chunk-N2GEQFFK.mjs → chunk-U5J7OTEB.mjs} +2 -2
  35. package/dist/modules/chunks/{chunk-N2GEQFFK.mjs.map → chunk-U5J7OTEB.mjs.map} +2 -2
  36. package/dist/modules/chunks/{chunk-JZ3V27HQ.mjs → chunk-U64FRQKP.mjs} +3 -3
  37. package/dist/modules/chunks/{chunk-W46L4HSP.mjs → chunk-U6UMATPV.mjs} +3 -3
  38. package/dist/modules/chunks/{chunk-7ICJKZYO.mjs → chunk-VKNIYV2W.mjs} +26 -21
  39. package/dist/modules/chunks/chunk-VKNIYV2W.mjs.map +7 -0
  40. package/dist/modules/chunks/{chunk-7R6CGQDU.mjs → chunk-VW2ZF3P4.mjs} +4 -4
  41. package/dist/modules/chunks/{chunk-AIIYGGGC.mjs → chunk-X4NNZ5X6.mjs} +2 -2
  42. package/dist/modules/chunks/{chunk-5AKXNYKX.mjs → chunk-XE6ITXHT.mjs} +2 -2
  43. package/dist/modules/chunks/{chunk-WHVPE2P6.mjs → chunk-XMP4THLF.mjs} +4 -4
  44. package/dist/modules/chunks/{chunk-WHVPE2P6.mjs.map → chunk-XMP4THLF.mjs.map} +1 -1
  45. package/dist/modules/chunks/{chunk-BCTPTLA6.mjs → chunk-XQYF2P6M.mjs} +3 -3
  46. package/dist/modules/chunks/{chunk-KSF2EQTE.mjs → chunk-YCMZAYBM.mjs} +2 -2
  47. package/dist/modules/chunks/chunk-YCMZAYBM.mjs.map +7 -0
  48. package/dist/modules/chunks/{chunk-6WCG6WPC.mjs → chunk-YNHEYXDG.mjs} +3 -3
  49. package/dist/modules/chunks/{chunk-7MJUWNVI.mjs → chunk-ZGOGO7SS.mjs} +1 -1
  50. package/dist/modules/chunks/{chunk-VXSD4FK5.mjs → chunk-ZHO2G4JR.mjs} +3 -3
  51. package/dist/modules/cli-contributions.mjs +3 -3
  52. package/dist/modules/cli.mjs +2 -2
  53. package/dist/modules/command-executor.mjs +2 -2
  54. package/dist/modules/embedded.mjs +100 -21
  55. package/dist/modules/embedded.mjs.map +3 -3
  56. package/dist/modules/frontend-root.mjs +15 -15
  57. package/dist/modules/index.mjs +26 -26
  58. package/dist/modules/plugin.mjs +14 -14
  59. package/dist/modules/plugins/asset/frontend.mjs +4 -4
  60. package/dist/modules/plugins/asset/identity.mjs +3 -3
  61. package/dist/modules/plugins/asset/ui.mjs +2 -2
  62. package/dist/modules/plugins/content-browser/ui.mjs +2 -2
  63. package/dist/modules/plugins/inspector/ui.mjs +2 -2
  64. package/dist/modules/plugins/material/frontend.mjs +4 -4
  65. package/dist/modules/plugins/material/identity.mjs +3 -3
  66. package/dist/modules/plugins/material/ui.mjs +5 -5
  67. package/dist/modules/plugins/mesh/frontend.mjs +4 -4
  68. package/dist/modules/plugins/mesh/identity.mjs +3 -3
  69. package/dist/modules/plugins/mesh/ui.mjs +5 -5
  70. package/dist/modules/plugins/plugins/ui/panel.mjs +2 -2
  71. package/dist/modules/plugins/plugins/ui.mjs +3 -3
  72. package/dist/modules/plugins/scene-tree/ui.mjs +2 -2
  73. package/dist/modules/plugins/texture/frontend.mjs +4 -4
  74. package/dist/modules/plugins/texture/identity.mjs +3 -3
  75. package/dist/modules/plugins/texture/ui.mjs +5 -5
  76. package/dist/modules/plugins/viewport/frontend.mjs +1 -1
  77. package/dist/modules/product.mjs +14 -14
  78. package/dist/modules/shell/frontend.mjs +1 -1
  79. package/dist/modules/start-cli.mjs +1 -1
  80. package/dist/modules/start.mjs +1 -1
  81. package/dist/modules/viewer/catalog/backend.mjs +10 -10
  82. package/dist/modules/viewer/catalog/frontend.mjs +14 -14
  83. package/dist/modules/viewer/catalog/shared.mjs +7 -7
  84. package/dist/modules/viewer/catalog.mjs +17 -17
  85. package/dist/modules/viewer-host/frontend.mjs +16 -16
  86. package/dist/modules/viewer.mjs +17 -17
  87. package/dist/modules/workspace/backend.mjs +2 -2
  88. package/dist/modules/workspace/broker.mjs +1 -1
  89. package/dist/modules/workspace/preview-surface.mjs +1 -1
  90. package/dist/modules/workspace/resident.mjs +1 -1
  91. package/dist/modules/workspace/resource-page.mjs +2 -2
  92. package/dist/viewer/assets/{embedded-Dv06jc6s.js → embedded-Ch4NawY-.js} +2 -2
  93. package/dist/viewer/assets/{embedded-Dv06jc6s.js.map → embedded-Ch4NawY-.js.map} +1 -1
  94. package/dist/viewer/assets/main-DUQJ1NlR.js +22 -0
  95. package/dist/viewer/assets/main-DUQJ1NlR.js.map +1 -0
  96. package/dist/viewer/assets/{panels-lazy-DjINjNT-.js → panels-lazy-DbOAvYN1.js} +3 -3
  97. package/dist/viewer/assets/panels-lazy-DbOAvYN1.js.map +1 -0
  98. package/dist/viewer/assets/panels-ui-DICIsCag.js +12 -0
  99. package/dist/viewer/assets/panels-ui-DICIsCag.js.map +1 -0
  100. package/dist/viewer/assets/style-gOtSMZif.css +2 -0
  101. package/dist/viewer/index.html +4 -4
  102. package/dist/viewer/panels.js +1 -1
  103. package/package.json +3 -4
  104. package/scripts/browser-proof-workload.mjs +0 -1
  105. package/scripts/verify-runtime-content-engine.mjs +12 -6
  106. package/dist/modules/chunks/chunk-45ZU2HHR.mjs.map +0 -7
  107. package/dist/modules/chunks/chunk-7ICJKZYO.mjs.map +0 -7
  108. package/dist/modules/chunks/chunk-FKLYSAVN.mjs.map +0 -7
  109. package/dist/modules/chunks/chunk-KSF2EQTE.mjs.map +0 -7
  110. package/dist/modules/chunks/chunk-MHE5EBU4.mjs.map +0 -7
  111. package/dist/modules/chunks/chunk-MO5LILCP.mjs.map +0 -7
  112. package/dist/viewer/assets/main-De95aP3K.js +0 -22
  113. package/dist/viewer/assets/main-De95aP3K.js.map +0 -1
  114. package/dist/viewer/assets/panels-lazy-DjINjNT-.js.map +0 -1
  115. package/dist/viewer/assets/panels-ui-DEJVGEKx.js +0 -12
  116. package/dist/viewer/assets/panels-ui-DEJVGEKx.js.map +0 -1
  117. package/dist/viewer/assets/style-BM0losky.css +0 -2
  118. package/scripts/verify-game3d-workspace.mjs +0 -318
  119. /package/dist/modules/chunks/{App-E3M52XTQ.mjs.map → App-4XQ5SNNT.mjs.map} +0 -0
  120. /package/dist/modules/chunks/{chunk-3GIGTM7E.mjs.map → chunk-27XASYEH.mjs.map} +0 -0
  121. /package/dist/modules/chunks/{chunk-UAGQZPAB.mjs.map → chunk-2Z5KEV6L.mjs.map} +0 -0
  122. /package/dist/modules/chunks/{chunk-4NGODRIE.mjs.map → chunk-46UEGAXY.mjs.map} +0 -0
  123. /package/dist/modules/chunks/{chunk-UZHTLAIZ.mjs.map → chunk-47RJSHLM.mjs.map} +0 -0
  124. /package/dist/modules/chunks/{chunk-ACOMGSSB.mjs.map → chunk-5PHAXNFO.mjs.map} +0 -0
  125. /package/dist/modules/chunks/{chunk-IXPBGENY.mjs.map → chunk-6I7RY73G.mjs.map} +0 -0
  126. /package/dist/modules/chunks/{chunk-CRNEX7YH.mjs.map → chunk-D25SR5FS.mjs.map} +0 -0
  127. /package/dist/modules/chunks/{chunk-CDO6LELS.mjs.map → chunk-D2RCKG7Q.mjs.map} +0 -0
  128. /package/dist/modules/chunks/{chunk-L5EV6NEE.mjs.map → chunk-DWT3TA6M.mjs.map} +0 -0
  129. /package/dist/modules/chunks/{chunk-3Q26HNFS.mjs.map → chunk-FICPCJKR.mjs.map} +0 -0
  130. /package/dist/modules/chunks/{chunk-CWNB67UF.mjs.map → chunk-FMCHH5R4.mjs.map} +0 -0
  131. /package/dist/modules/chunks/{chunk-2VJPRNYB.mjs.map → chunk-IZAHIOFU.mjs.map} +0 -0
  132. /package/dist/modules/chunks/{chunk-IBNFKPW4.mjs.map → chunk-JK7K7RG3.mjs.map} +0 -0
  133. /package/dist/modules/chunks/{chunk-BGK4ZEQ5.mjs.map → chunk-KX2WU5Z6.mjs.map} +0 -0
  134. /package/dist/modules/chunks/{chunk-TBZZ37VI.mjs.map → chunk-LZ57Y73Z.mjs.map} +0 -0
  135. /package/dist/modules/chunks/{chunk-M5X56JWH.mjs.map → chunk-PW5CE2Y6.mjs.map} +0 -0
  136. /package/dist/modules/chunks/{chunk-OHVTNEQ2.mjs.map → chunk-PZIAKZJC.mjs.map} +0 -0
  137. /package/dist/modules/chunks/{chunk-PG4AJFDC.mjs.map → chunk-RJVOH7G2.mjs.map} +0 -0
  138. /package/dist/modules/chunks/{chunk-JZ3V27HQ.mjs.map → chunk-U64FRQKP.mjs.map} +0 -0
  139. /package/dist/modules/chunks/{chunk-W46L4HSP.mjs.map → chunk-U6UMATPV.mjs.map} +0 -0
  140. /package/dist/modules/chunks/{chunk-7R6CGQDU.mjs.map → chunk-VW2ZF3P4.mjs.map} +0 -0
  141. /package/dist/modules/chunks/{chunk-AIIYGGGC.mjs.map → chunk-X4NNZ5X6.mjs.map} +0 -0
  142. /package/dist/modules/chunks/{chunk-5AKXNYKX.mjs.map → chunk-XE6ITXHT.mjs.map} +0 -0
  143. /package/dist/modules/chunks/{chunk-BCTPTLA6.mjs.map → chunk-XQYF2P6M.mjs.map} +0 -0
  144. /package/dist/modules/chunks/{chunk-6WCG6WPC.mjs.map → chunk-YNHEYXDG.mjs.map} +0 -0
  145. /package/dist/modules/chunks/{chunk-7MJUWNVI.mjs.map → chunk-ZGOGO7SS.mjs.map} +0 -0
  146. /package/dist/modules/chunks/{chunk-VXSD4FK5.mjs.map → chunk-ZHO2G4JR.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RESOURCE_PREVIEW_LAYOUT,
3
3
  RESOURCE_PROPERTIES_LAYOUT
4
- } from "./chunk-BGK4ZEQ5.mjs";
4
+ } from "./chunk-KX2WU5Z6.mjs";
5
5
  import {
6
6
  VIEW_PAGE_TYPES
7
7
  } from "./chunk-E3Z7GLFU.mjs";
@@ -74,4 +74,4 @@ export {
74
74
  PROPERTIES_TITLE_I18N_KEY,
75
75
  identity_exports
76
76
  };
77
- //# sourceMappingURL=chunk-AIIYGGGC.mjs.map
77
+ //# sourceMappingURL=chunk-X4NNZ5X6.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectRoot
3
- } from "./chunk-KSF2EQTE.mjs";
3
+ } from "./chunk-YCMZAYBM.mjs";
4
4
  import {
5
5
  VIEW_WORKSPACE_TAB_ID
6
6
  } from "./chunk-E3Z7GLFU.mjs";
@@ -116,4 +116,4 @@ export {
116
116
  openViewProject,
117
117
  runViewProjectOpen
118
118
  };
119
- //# sourceMappingURL=chunk-5AKXNYKX.mjs.map
119
+ //# sourceMappingURL=chunk-XE6ITXHT.mjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VIEW_PRODUCT_FRONTEND_CATALOG
3
- } from "./chunk-PG4AJFDC.mjs";
3
+ } from "./chunk-RJVOH7G2.mjs";
4
4
  import {
5
5
  VIEW_FRONTEND_ROOT_PROGRAM,
6
6
  createViewProductPlan
7
- } from "./chunk-TTFLJHQZ.mjs";
7
+ } from "./chunk-IJPWKKIU.mjs";
8
8
  import {
9
9
  viewInspectorFrontendPlugin
10
10
  } from "./chunk-7IGFAI5H.mjs";
@@ -25,7 +25,7 @@ var frontend_default = {
25
25
  typeId: "rhi-debug",
26
26
  context: "artifact",
27
27
  title: "RHI Debug",
28
- order: -10,
28
+ order: 40,
29
29
  closable: true,
30
30
  singleton: true,
31
31
  initial: true,
@@ -150,4 +150,4 @@ export {
150
150
  createViewFrontendRoot,
151
151
  frontend_root_default
152
152
  };
153
- //# sourceMappingURL=chunk-WHVPE2P6.mjs.map
153
+ //# sourceMappingURL=chunk-XMP4THLF.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/viewer/src/frontend-root.ts", "../../../../view-plugins/rhi-debug/frontend.ts", "../../../../view-plugins/profiler/frontend.ts", "../../../../view-plugins/integration/frontend-plugins.ts"],
4
- "sourcesContent": ["import { Inject } from '@forgeax/engine-plugin';\nimport type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { ViewFrontendConfig } from './config.ts';\nimport additionalPlugins from './frontend-plugins.ts';\nimport { viewInspectorFrontendPlugin } from '@forgeax/view-plugin-plugins/runtime';\nimport { createViewProductPlan, VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.ts';\nimport { VIEW_PRODUCT_FRONTEND_CATALOG } from './frontend-catalog.ts';\nexport { VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.ts';\n\n/** One native root for the optional View surface. The Host resolves only this program. */\nexport function createViewFrontendRoot(browserConfig: ViewFrontendConfig = {}) {\n return {\n name: VIEW_FRONTEND_ROOT_PROGRAM,\n async apply(ctx: Context, config: { disabledPages?: readonly string[]; frontendConfig?: ViewFrontendConfig } = {}) {\n const plan = createViewProductPlan({ disabledPages: config.disabledPages });\n const shared = {\n ...(config.frontendConfig ?? {}),\n ...browserConfig,\n workspace: {\n ...(config.frontendConfig?.workspace ?? {}),\n ...(browserConfig.workspace ?? {}),\n },\n };\n const deferred: Plugin.Object<ViewFrontendConfig>[] = [];\n for (const component of plan.frontend) {\n const record = VIEW_PRODUCT_FRONTEND_CATALOG.get(component.module);\n if (!record) throw new Error(`View frontend program is missing: ${component.module}`);\n const { default: plugin } = await record.load();\n if (ctx.fiber.uid === null) return;\n if (shared.embedded && !shared.presentation && !shared.targetPresentation && record.requiresWorkspacePresentation) {\n deferred.push(plugin);\n continue;\n }\n // Cordis fibers are thenable. Starting the page plugins must not await\n // their injection of Engine's presentation, which is supplied only\n // after the frontend root activates and the App bootstrap begins.\n const fiber = ctx.plugin(plugin, shared);\n if (component === plan.frontend[0]) await fiber.await();\n }\n if (ctx.fiber.uid === null) return;\n ctx.plugin(viewInspectorFrontendPlugin, shared);\n for (const plugin of additionalPlugins) ctx.plugin(plugin, shared);\n if (deferred.length) {\n let started = false;\n const startPresentationPages = () => {\n if (started || !ctx.get('engineWorkspacePresentation')) return;\n started = true;\n for (const plugin of deferred) ctx.plugin({\n ...plugin,\n inject: { ...Inject.resolve(plugin.inject), engineWorkspacePresentation: null },\n }, shared);\n };\n ctx.on('internal/service', (name) => {\n if (name === 'engineWorkspacePresentation') startPresentationPages();\n });\n startPresentationPages();\n }\n },\n };\n}\n\nexport default createViewFrontendRoot();\n", "import type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { Dispose } from '@forgeax/view-workspace-core/frontend-contract';\n/** Domain operations remain in the existing RHI viewer and RHI Debug packages. */\nexport default {\n name: 'forgeax.engine.view.rhi-debug',\n inject: ['pageHost', 'panelHost'],\n async apply(ctx: Context) {\n const page = ctx.pageHost;\n const node = document.createElement('section');\n node.dataset.forgeaxDiagnostic = 'rhi-debug';\n node.style.cssText = 'height:100%;min-height:0;overflow:auto';\n const unregister = page.registerType({ typeId: 'rhi-debug', context: 'artifact', title: 'RHI Debug', order: -10,\n closable: true, singleton: true, initial: true, openable: true, layout: 'surface', showPanelRail: false, hideWhenInactive: true });\n const unmount = page.mount('rhi-debug', node);\n let dispose: Dispose | undefined;\n let live = true;\n ctx.effect(() => async () => { live = false; await dispose?.(); unmount(); unregister(); });\n const mounted = await ctx.panelHost.mountPanelInto({ element: node, panel: 'RhiDebug' });\n if (live) dispose = mounted; else await mounted?.();\n },\n} satisfies Plugin.Object;\n", "import type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { Dispose } from '@forgeax/view-workspace-core/frontend-contract';\nimport { buildProfileModel, validateProfileCapture } from '@forgeax/engine-profiler';\nexport default {\n name: 'forgeax.engine.view.profiler',\n inject: ['pageHost', 'panelHost'],\n async apply(ctx: Context) {\n const page = ctx.pageHost;\n const node = document.createElement('section');\n node.dataset.forgeaxDiagnostic = 'profiler';\n node.style.cssText = 'height:100%;min-height:0;overflow:auto';\n const unregister = page.registerType({ typeId: 'profiler', context: 'artifact', title: 'CPU Profiler', order: 30,\n closable: true, singleton: true, initial: true, openable: true, layout: 'surface', showPanelRail: false, hideWhenInactive: true });\n const unmount = page.mount('profiler', node);\n let dispose: Dispose | undefined;\n let live = true;\n ctx.effect(() => async () => { live = false; await dispose?.(); unmount(); unregister(); });\n const mounted = await ctx.panelHost.mountPanelInto({ element: node, panel: 'Profiler', props: {\n readCapture(bytes: string) {\n const capture = JSON.parse(bytes);\n const result = validateProfileCapture(capture);\n return result.ok ? buildProfileModel(result.value) : result;\n },\n } });\n if (live) dispose = mounted; else await mounted?.();\n },\n} satisfies Plugin.Object;\n", "import type { Plugin } from '@forgeax/engine-plugin';\nimport rhiDebug from '../rhi-debug/frontend.ts';\nimport profiler from '../profiler/frontend.ts';\nexport default [rhiDebug, profiler] satisfies readonly Plugin.Object[];\n"],
4
+ "sourcesContent": ["import { Inject } from '@forgeax/engine-plugin';\nimport type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { ViewFrontendConfig } from './config.ts';\nimport additionalPlugins from './frontend-plugins.ts';\nimport { viewInspectorFrontendPlugin } from '@forgeax/view-plugin-plugins/runtime';\nimport { createViewProductPlan, VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.ts';\nimport { VIEW_PRODUCT_FRONTEND_CATALOG } from './frontend-catalog.ts';\nexport { VIEW_FRONTEND_ROOT_PROGRAM } from './catalog-shared.ts';\n\n/** One native root for the optional View surface. The Host resolves only this program. */\nexport function createViewFrontendRoot(browserConfig: ViewFrontendConfig = {}) {\n return {\n name: VIEW_FRONTEND_ROOT_PROGRAM,\n async apply(ctx: Context, config: { disabledPages?: readonly string[]; frontendConfig?: ViewFrontendConfig } = {}) {\n const plan = createViewProductPlan({ disabledPages: config.disabledPages });\n const shared = {\n ...(config.frontendConfig ?? {}),\n ...browserConfig,\n workspace: {\n ...(config.frontendConfig?.workspace ?? {}),\n ...(browserConfig.workspace ?? {}),\n },\n };\n const deferred: Plugin.Object<ViewFrontendConfig>[] = [];\n for (const component of plan.frontend) {\n const record = VIEW_PRODUCT_FRONTEND_CATALOG.get(component.module);\n if (!record) throw new Error(`View frontend program is missing: ${component.module}`);\n const { default: plugin } = await record.load();\n if (ctx.fiber.uid === null) return;\n if (shared.embedded && !shared.presentation && !shared.targetPresentation && record.requiresWorkspacePresentation) {\n deferred.push(plugin);\n continue;\n }\n // Cordis fibers are thenable. Starting the page plugins must not await\n // their injection of Engine's presentation, which is supplied only\n // after the frontend root activates and the App bootstrap begins.\n const fiber = ctx.plugin(plugin, shared);\n if (component === plan.frontend[0]) await fiber.await();\n }\n if (ctx.fiber.uid === null) return;\n ctx.plugin(viewInspectorFrontendPlugin, shared);\n for (const plugin of additionalPlugins) ctx.plugin(plugin, shared);\n if (deferred.length) {\n let started = false;\n const startPresentationPages = () => {\n if (started || !ctx.get('engineWorkspacePresentation')) return;\n started = true;\n for (const plugin of deferred) ctx.plugin({\n ...plugin,\n inject: { ...Inject.resolve(plugin.inject), engineWorkspacePresentation: null },\n }, shared);\n };\n ctx.on('internal/service', (name) => {\n if (name === 'engineWorkspacePresentation') startPresentationPages();\n });\n startPresentationPages();\n }\n },\n };\n}\n\nexport default createViewFrontendRoot();\n", "import type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { Dispose } from '@forgeax/view-workspace-core/frontend-contract';\n/** Domain operations remain in the existing RHI viewer and RHI Debug packages. */\nexport default {\n name: 'forgeax.engine.view.rhi-debug',\n inject: ['pageHost', 'panelHost'],\n async apply(ctx: Context) {\n const page = ctx.pageHost;\n const node = document.createElement('section');\n node.dataset.forgeaxDiagnostic = 'rhi-debug';\n node.style.cssText = 'height:100%;min-height:0;overflow:auto';\n const unregister = page.registerType({ typeId: 'rhi-debug', context: 'artifact', title: 'RHI Debug', order: 40,\n closable: true, singleton: true, initial: true, openable: true, layout: 'surface', showPanelRail: false, hideWhenInactive: true });\n const unmount = page.mount('rhi-debug', node);\n let dispose: Dispose | undefined;\n let live = true;\n ctx.effect(() => async () => { live = false; await dispose?.(); unmount(); unregister(); });\n const mounted = await ctx.panelHost.mountPanelInto({ element: node, panel: 'RhiDebug' });\n if (live) dispose = mounted; else await mounted?.();\n },\n} satisfies Plugin.Object;\n", "import type { Context, Plugin } from '@forgeax/engine-plugin';\nimport type { Dispose } from '@forgeax/view-workspace-core/frontend-contract';\nimport { buildProfileModel, validateProfileCapture } from '@forgeax/engine-profiler';\nexport default {\n name: 'forgeax.engine.view.profiler',\n inject: ['pageHost', 'panelHost'],\n async apply(ctx: Context) {\n const page = ctx.pageHost;\n const node = document.createElement('section');\n node.dataset.forgeaxDiagnostic = 'profiler';\n node.style.cssText = 'height:100%;min-height:0;overflow:auto';\n const unregister = page.registerType({ typeId: 'profiler', context: 'artifact', title: 'CPU Profiler', order: 30,\n closable: true, singleton: true, initial: true, openable: true, layout: 'surface', showPanelRail: false, hideWhenInactive: true });\n const unmount = page.mount('profiler', node);\n let dispose: Dispose | undefined;\n let live = true;\n ctx.effect(() => async () => { live = false; await dispose?.(); unmount(); unregister(); });\n const mounted = await ctx.panelHost.mountPanelInto({ element: node, panel: 'Profiler', props: {\n readCapture(bytes: string) {\n const capture = JSON.parse(bytes);\n const result = validateProfileCapture(capture);\n return result.ok ? buildProfileModel(result.value) : result;\n },\n } });\n if (live) dispose = mounted; else await mounted?.();\n },\n} satisfies Plugin.Object;\n", "import type { Plugin } from '@forgeax/engine-plugin';\nimport rhiDebug from '../rhi-debug/frontend.ts';\nimport profiler from '../profiler/frontend.ts';\nexport default [rhiDebug, profiler] satisfies readonly Plugin.Object[];\n"],
5
5
  "mappings": "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",
6
6
  "names": ["frontend_default", "frontend_default"]
7
7
  }
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-YLCJNKIW.mjs";
4
4
  import {
5
5
  backend_default as backend_default3
6
- } from "./chunk-3GIGTM7E.mjs";
6
+ } from "./chunk-27XASYEH.mjs";
7
7
  import {
8
8
  backend_default as backend_default2
9
9
  } from "./chunk-55F55BQY.mjs";
@@ -11,7 +11,7 @@ import {
11
11
  VIEW_PLUGIN_VERSION,
12
12
  VIEW_PRODUCT_PLUGINS,
13
13
  VIEW_WORKSPACE_CORE
14
- } from "./chunk-TTFLJHQZ.mjs";
14
+ } from "./chunk-IJPWKKIU.mjs";
15
15
  import {
16
16
  BACKEND_MODULE
17
17
  } from "./chunk-AGVLPYVE.mjs";
@@ -43,4 +43,4 @@ var VIEW_PRODUCT_BACKEND_CATALOG = new Map(
43
43
  export {
44
44
  VIEW_PRODUCT_BACKEND_CATALOG
45
45
  };
46
- //# sourceMappingURL=chunk-BCTPTLA6.mjs.map
46
+ //# sourceMappingURL=chunk-XQYF2P6M.mjs.map
@@ -3,7 +3,7 @@ import { resolve } from "node:path";
3
3
  import { existsSync, realpathSync } from "node:fs";
4
4
  var projectPath = (value) => {
5
5
  const absolute = resolve(value);
6
- return existsSync(absolute) ? realpathSync(absolute) : absolute;
6
+ return existsSync(absolute) ? realpathSync.native(absolute) : absolute;
7
7
  };
8
8
  function resolveProjectRoot(argv = [], env = process.env) {
9
9
  const index = argv.indexOf("--root");
@@ -53,4 +53,4 @@ export {
53
53
  runViewStatus,
54
54
  runViewStop
55
55
  };
56
- //# sourceMappingURL=chunk-KSF2EQTE.mjs.map
56
+ //# sourceMappingURL=chunk-YCMZAYBM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/view-start.ts"],
4
+ "sourcesContent": ["import { resolve } from 'node:path';\nimport { existsSync, realpathSync } from 'node:fs';\nimport type { ViewFrontendConfig } from '@forgeax/view-viewer/config';\n\nconst projectPath = (value: string) => {\n const absolute = resolve(value);\n // Match Engine's native realpath identity, including Windows short-path aliases.\n return existsSync(absolute) ? realpathSync.native(absolute) : absolute;\n};\n\nexport function resolveProjectRoot(argv: readonly string[] = [], env = process.env) {\n const index = argv.indexOf('--root');\n if (index >= 0 && (!argv[index + 1] || argv[index + 1].startsWith('--'))) {\n throw new TypeError('--root requires a backend workspace directory');\n }\n return resolve(index < 0 ? env.FORGEAX_PROJECT_ROOT ?? process.cwd() : argv[index + 1]);\n}\n\nexport function resolveProjectIntent(argv: readonly string[] = [], backendRoot?: string) {\n const index = argv.indexOf('--project');\n if (index < 0) return backendRoot && existsSync(resolve(backendRoot, 'forge.json')) ? projectPath(backendRoot) : undefined;\n const value = argv[index + 1];\n if (!value?.trim() || value.startsWith('--')) throw new TypeError('--project requires a project directory');\n return projectPath(value);\n}\n\nexport function withProjectIntent(status: unknown, project?: string) {\n if (!project || !status || typeof status !== 'object' || !('url' in status) || typeof status.url !== 'string' || !status.url) return status;\n const url = new URL(status.url);\n url.searchParams.set('project', project);\n return { ...status, url: url.href };\n}\n\nasync function call(operation: string, argv: readonly string[], env: NodeJS.ProcessEnv, frontendConfig?: Pick<ViewFrontendConfig, 'layout'>) {\n if (argv.some(arg => ['--headless', '--software', '--serve'].includes(arg))) {\n throw new TypeError('View startup does not launch a browser. Open the returned URL in your browser; configure Engine runs separately.');\n }\n const { callDevKitBackend } = await import('@forgeax/engine/devkit');\n if (!callDevKitBackend) throw new Error('Install the matching Engine SDK with the independent backend capability.');\n return callDevKitBackend(resolveProjectRoot(argv, env), operation,\n frontendConfig === undefined ? {} : { frontendConfig });\n}\n\nexport async function runViewStartInteractive(argv: readonly string[] = [], env = process.env, frontendConfig?: Pick<ViewFrontendConfig, 'layout'>) {\n const backendRoot = resolveProjectRoot(argv, env);\n const project = resolveProjectIntent(argv, backendRoot);\n return withProjectIntent(await call('view.start', argv, env, frontendConfig), project);\n}\nexport const runViewStatus = (argv: readonly string[] = [], env = process.env) => call('view.status', argv, env);\nexport const runViewStop = (argv: readonly string[] = [], env = process.env) => call('view.stop', argv, env);\n"],
5
+ "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,YAAY,oBAAoB;AAGzC,IAAM,cAAc,CAAC,UAAkB;AACrC,QAAM,WAAW,QAAQ,KAAK;AAE9B,SAAO,WAAW,QAAQ,IAAI,aAAa,OAAO,QAAQ,IAAI;AAChE;AAEO,SAAS,mBAAmB,OAA0B,CAAC,GAAG,MAAM,QAAQ,KAAK;AAClF,QAAM,QAAQ,KAAK,QAAQ,QAAQ;AACnC,MAAI,SAAS,MAAM,CAAC,KAAK,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,WAAW,IAAI,IAAI;AACxE,UAAM,IAAI,UAAU,+CAA+C;AAAA,EACrE;AACA,SAAO,QAAQ,QAAQ,IAAI,IAAI,wBAAwB,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC;AACxF;AAEO,SAAS,qBAAqB,OAA0B,CAAC,GAAG,aAAsB;AACvF,QAAM,QAAQ,KAAK,QAAQ,WAAW;AACtC,MAAI,QAAQ,EAAG,QAAO,eAAe,WAAW,QAAQ,aAAa,YAAY,CAAC,IAAI,YAAY,WAAW,IAAI;AACjH,QAAM,QAAQ,KAAK,QAAQ,CAAC;AAC5B,MAAI,CAAC,OAAO,KAAK,KAAK,MAAM,WAAW,IAAI,EAAG,OAAM,IAAI,UAAU,wCAAwC;AAC1G,SAAO,YAAY,KAAK;AAC1B;AAEO,SAAS,kBAAkB,QAAiB,SAAkB;AACnE,MAAI,CAAC,WAAW,CAAC,UAAU,OAAO,WAAW,YAAY,EAAE,SAAS,WAAW,OAAO,OAAO,QAAQ,YAAY,CAAC,OAAO,IAAK,QAAO;AACrI,QAAM,MAAM,IAAI,IAAI,OAAO,GAAG;AAC9B,MAAI,aAAa,IAAI,WAAW,OAAO;AACvC,SAAO,EAAE,GAAG,QAAQ,KAAK,IAAI,KAAK;AACpC;AAEA,eAAe,KAAK,WAAmB,MAAyB,KAAwB,gBAAqD;AAC3I,MAAI,KAAK,KAAK,SAAO,CAAC,cAAc,cAAc,SAAS,EAAE,SAAS,GAAG,CAAC,GAAG;AAC3E,UAAM,IAAI,UAAU,kHAAkH;AAAA,EACxI;AACA,QAAM,EAAE,kBAAkB,IAAI,MAAM,OAAO,wBAAwB;AACnE,MAAI,CAAC,kBAAmB,OAAM,IAAI,MAAM,0EAA0E;AAClH,SAAO;AAAA,IAAkB,mBAAmB,MAAM,GAAG;AAAA,IAAG;AAAA,IACtD,mBAAmB,SAAY,CAAC,IAAI,EAAE,eAAe;AAAA,EAAC;AAC1D;AAEA,eAAsB,wBAAwB,OAA0B,CAAC,GAAG,MAAM,QAAQ,KAAK,gBAAqD;AAClJ,QAAM,cAAc,mBAAmB,MAAM,GAAG;AAChD,QAAM,UAAU,qBAAqB,MAAM,WAAW;AACtD,SAAO,kBAAkB,MAAM,KAAK,cAAc,MAAM,KAAK,cAAc,GAAG,OAAO;AACvF;AACO,IAAM,gBAAgB,CAAC,OAA0B,CAAC,GAAG,MAAM,QAAQ,QAAQ,KAAK,eAAe,MAAM,GAAG;AACxG,IAAM,cAAc,CAAC,OAA0B,CAAC,GAAG,MAAM,QAAQ,QAAQ,KAAK,aAAa,MAAM,GAAG;",
6
+ "names": []
7
+ }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  FRONTEND_PLUGIN_ID,
3
3
  identity_exports
4
- } from "./chunk-CRNEX7YH.mjs";
4
+ } from "./chunk-D25SR5FS.mjs";
5
5
  import {
6
6
  applyResourcePagePlugin
7
- } from "./chunk-BGK4ZEQ5.mjs";
7
+ } from "./chunk-KX2WU5Z6.mjs";
8
8
 
9
9
  // packages/view-plugin-asset/src/frontend.ts
10
10
  var VIEW_ASSET_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;
@@ -22,4 +22,4 @@ export {
22
22
  viewAssetFrontendPlugin,
23
23
  frontend_default
24
24
  };
25
- //# sourceMappingURL=chunk-6WCG6WPC.mjs.map
25
+ //# sourceMappingURL=chunk-YNHEYXDG.mjs.map
@@ -17,4 +17,4 @@ var shell_default = {
17
17
  export {
18
18
  shell_default
19
19
  };
20
- //# sourceMappingURL=chunk-7MJUWNVI.mjs.map
20
+ //# sourceMappingURL=chunk-ZGOGO7SS.mjs.map
@@ -2,10 +2,10 @@ import {
2
2
  FRONTEND_MODULE,
3
3
  FRONTEND_PLUGIN_ID,
4
4
  identity_exports
5
- } from "./chunk-OHVTNEQ2.mjs";
5
+ } from "./chunk-PZIAKZJC.mjs";
6
6
  import {
7
7
  applyResourcePagePlugin
8
- } from "./chunk-BGK4ZEQ5.mjs";
8
+ } from "./chunk-KX2WU5Z6.mjs";
9
9
 
10
10
  // packages/view-plugin-material/src/frontend.ts
11
11
  var VIEW_MATERIAL_FRONTEND_PLUGIN_ID = FRONTEND_PLUGIN_ID;
@@ -29,4 +29,4 @@ export {
29
29
  viewMaterialFrontendPlugin,
30
30
  frontend_default
31
31
  };
32
- //# sourceMappingURL=chunk-VXSD4FK5.mjs.map
32
+ //# sourceMappingURL=chunk-ZHO2G4JR.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createViewCliContributions,
3
3
  createViewHostCliContributions
4
- } from "./chunks/chunk-IXPBGENY.mjs";
4
+ } from "./chunks/chunk-6I7RY73G.mjs";
5
5
  import "./chunks/chunk-SRYQLFBV.mjs";
6
6
  import "./chunks/chunk-QELNKFSI.mjs";
7
7
  import {
@@ -13,9 +13,9 @@ import "./chunks/chunk-KGA5CEJD.mjs";
13
13
  import "./chunks/chunk-TNYITXOZ.mjs";
14
14
  import "./chunks/chunk-VGCFVNFW.mjs";
15
15
  import "./chunks/chunk-OVJ3UJJB.mjs";
16
- import "./chunks/chunk-5AKXNYKX.mjs";
16
+ import "./chunks/chunk-XE6ITXHT.mjs";
17
17
  import "./chunks/chunk-55F55BQY.mjs";
18
- import "./chunks/chunk-KSF2EQTE.mjs";
18
+ import "./chunks/chunk-YCMZAYBM.mjs";
19
19
  import "./chunks/chunk-4D3Q7K44.mjs";
20
20
  import "./chunks/chunk-7IGFAI5H.mjs";
21
21
  import "./chunks/chunk-OKQ5RBKO.mjs";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runViewWorkspaceCli
4
- } from "./chunks/chunk-IBNFKPW4.mjs";
5
- import "./chunks/chunk-N2GEQFFK.mjs";
4
+ } from "./chunks/chunk-JK7K7RG3.mjs";
5
+ import "./chunks/chunk-U5J7OTEB.mjs";
6
6
  import "./chunks/chunk-FNRGLCZW.mjs";
7
7
  import "./chunks/chunk-U5R6MVM4.mjs";
8
8
  import "./chunks/chunk-E3Z7GLFU.mjs";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  runViewProjectOpen
3
- } from "./chunks/chunk-5AKXNYKX.mjs";
3
+ } from "./chunks/chunk-XE6ITXHT.mjs";
4
4
  import {
5
5
  runViewStartInteractive,
6
6
  runViewStatus,
7
7
  runViewStop
8
- } from "./chunks/chunk-KSF2EQTE.mjs";
8
+ } from "./chunks/chunk-YCMZAYBM.mjs";
9
9
  import {
10
10
  workspaceDiagnosticRecord
11
11
  } from "./chunks/chunk-U5R6MVM4.mjs";