@dimina-kit/devtools 0.4.0 → 0.5.0-dev.20260908120530
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/README.md +51 -660
- package/dist/main/api.d.ts +2 -1
- package/dist/main/app/app.d.ts +41 -12
- package/dist/main/app/app.js +299 -514
- package/dist/main/app/bootstrap.d.ts +8 -5
- package/dist/main/app/bootstrap.js +15 -15
- package/dist/main/app/editor-view.d.ts +21 -0
- package/dist/main/app/editor-view.js +71 -0
- package/dist/main/app/global-mirrors.d.ts +23 -0
- package/dist/main/app/global-mirrors.js +37 -0
- package/dist/main/app/host-sidebar-default.d.ts +19 -0
- package/dist/main/app/host-sidebar-default.js +44 -0
- package/dist/main/app/lifecycle.d.ts +12 -1
- package/dist/main/app/lifecycle.js +27 -1
- package/dist/main/app/menu-setup.d.ts +13 -0
- package/dist/main/app/menu-setup.js +49 -0
- package/dist/main/app/native-overview.d.ts +1 -1
- package/dist/main/app/open-project-ipc.d.ts +13 -0
- package/dist/main/app/open-project-ipc.js +21 -0
- package/dist/main/app/project-list-surface.d.ts +31 -0
- package/dist/main/app/project-list-surface.js +20 -0
- package/dist/main/app/project-window.d.ts +36 -0
- package/dist/main/app/project-window.js +93 -0
- package/dist/main/app/servers.d.ts +17 -0
- package/dist/main/app/servers.js +60 -0
- package/dist/main/app/ui-extension-targets.d.ts +42 -0
- package/dist/main/app/ui-extension-targets.js +101 -0
- package/dist/main/app/window-close-reveal.harness.d.ts +34 -0
- package/dist/main/app/window-close-reveal.harness.js +65 -0
- package/dist/main/app/window-events.d.ts +15 -0
- package/dist/main/app/window-events.js +45 -0
- package/dist/main/app/window-runtime-services.d.ts +41 -0
- package/dist/main/app/window-runtime-services.js +197 -0
- package/dist/main/app/workbench-modules.d.ts +24 -0
- package/dist/main/app/workbench-modules.js +51 -0
- package/dist/main/app/workbench-window.d.ts +85 -0
- package/dist/main/app/workbench-window.js +310 -0
- package/dist/main/index.bundle.js +11712 -9986
- package/dist/main/index.js +49 -1
- package/dist/main/ipc/app-lifecycle.d.ts +1 -31
- package/dist/main/ipc/app-lifecycle.js +1 -53
- package/dist/main/ipc/app.d.ts +4 -1
- package/dist/main/ipc/app.js +4 -3
- package/dist/main/ipc/bridge-router.d.ts +19 -116
- package/dist/main/ipc/bridge-router.js +28 -2128
- package/dist/main/ipc/device-picker.d.ts +16 -0
- package/dist/main/ipc/device-picker.js +27 -0
- package/dist/main/ipc/index.d.ts +5 -0
- package/dist/main/ipc/index.js +5 -0
- package/dist/main/ipc/internal-devtools.d.ts +16 -0
- package/dist/main/ipc/internal-devtools.js +10 -0
- package/dist/main/ipc/page-scroll.d.ts +1 -13
- package/dist/main/ipc/page-scroll.js +1 -16
- package/dist/main/ipc/popover.d.ts +4 -1
- package/dist/main/ipc/popover.js +26 -19
- package/dist/main/ipc/project-create.d.ts +16 -0
- package/dist/main/ipc/project-create.js +27 -0
- package/dist/main/ipc/project-fs.d.ts +38 -3
- package/dist/main/ipc/project-fs.js +53 -22
- package/dist/main/ipc/projects.d.ts +3 -3
- package/dist/main/ipc/projects.js +47 -11
- package/dist/main/ipc/session-listener-bag.d.ts +1 -40
- package/dist/main/ipc/session-listener-bag.js +1 -39
- package/dist/main/ipc/session.d.ts +4 -1
- package/dist/main/ipc/session.js +26 -26
- package/dist/main/ipc/settings.d.ts +4 -1
- package/dist/main/ipc/settings.js +17 -19
- package/dist/main/ipc/simulator-module.d.ts +9 -3
- package/dist/main/ipc/simulator-module.js +13 -10
- package/dist/main/ipc/simulator.d.ts +4 -1
- package/dist/main/ipc/simulator.js +12 -18
- package/dist/main/ipc/tooltip.d.ts +14 -0
- package/dist/main/ipc/tooltip.js +29 -0
- package/dist/main/ipc/views.d.ts +19 -2
- package/dist/main/ipc/views.js +76 -8
- package/dist/main/runtime/devtools-backend-before-quit.harness.d.ts +43 -0
- package/dist/main/runtime/devtools-backend-before-quit.harness.js +87 -0
- package/dist/main/runtime/devtools-backend.js +60 -4
- package/dist/main/runtime/devtools-runtime-mock.harness.d.ts +21 -0
- package/dist/main/runtime/devtools-runtime-mock.harness.js +313 -0
- package/dist/main/runtime/miniapp-runtime.d.ts +91 -22
- package/dist/main/services/app-services.d.ts +62 -0
- package/dist/main/services/app-services.js +64 -0
- package/dist/main/services/automation/connection-target.d.ts +36 -0
- package/dist/main/services/automation/connection-target.js +29 -0
- package/dist/main/services/automation/console-bridge.d.ts +28 -0
- package/dist/main/services/automation/console-bridge.js +91 -0
- package/dist/main/services/automation/handlers/app.js +4 -4
- package/dist/main/services/automation/handlers/element.js +55 -21
- package/dist/main/services/automation/index.d.ts +12 -1
- package/dist/main/services/automation/index.js +54 -133
- package/dist/main/services/cdp-session/index.d.ts +87 -0
- package/dist/main/services/cdp-session/index.js +173 -0
- package/dist/main/services/compile-standby.js +4 -0
- package/dist/main/services/console-forward/cdp-inject.d.ts +18 -0
- package/dist/main/services/console-forward/cdp-inject.js +30 -0
- package/dist/main/services/console-forward/global-console-mirror.d.ts +33 -0
- package/dist/main/services/console-forward/global-console-mirror.js +71 -0
- package/dist/main/services/console-forward/global-diagnostics-mirror.d.ts +33 -0
- package/dist/main/services/console-forward/global-diagnostics-mirror.js +73 -0
- package/dist/main/services/console-forward/index.d.ts +1 -46
- package/dist/main/services/console-forward/index.js +1 -185
- package/dist/main/services/console-forward/internal-log.d.ts +2 -0
- package/dist/main/services/console-forward/internal-log.js +2 -0
- package/dist/main/services/console-forward/open-gated-relay.d.ts +67 -0
- package/dist/main/services/console-forward/open-gated-relay.js +55 -0
- package/dist/main/services/default-adapter.js +1 -1
- package/dist/main/services/diagnostics/index.d.ts +1 -48
- package/dist/main/services/diagnostics/index.js +1 -60
- package/dist/main/services/dimina-resource-server.d.ts +1 -6
- package/dist/main/services/dimina-resource-server.js +1 -98
- package/dist/main/services/elements-forward/index.d.ts +132 -15
- package/dist/main/services/elements-forward/index.js +155 -304
- package/dist/main/services/fs-bridge-protocol.d.ts +61 -0
- package/dist/main/services/fs-bridge-protocol.js +34 -0
- package/dist/main/services/fs-watch-sse.d.ts +40 -0
- package/dist/main/services/fs-watch-sse.js +113 -0
- package/dist/main/services/http-json.d.ts +9 -0
- package/dist/main/services/http-json.js +6 -0
- package/dist/main/services/layout/index.d.ts +11 -0
- package/dist/main/services/layout/index.js +23 -0
- package/dist/main/services/mcp/connection-owner.d.ts +38 -0
- package/dist/main/services/mcp/connection-owner.js +79 -0
- package/dist/main/services/mcp/index.d.ts +3 -1
- package/dist/main/services/mcp/index.js +4 -3
- package/dist/main/services/mcp/opened-project.d.ts +88 -0
- package/dist/main/services/mcp/opened-project.js +60 -0
- package/dist/main/services/mcp/server.d.ts +2 -1
- package/dist/main/services/mcp/server.js +29 -4
- package/dist/main/services/mcp/target-manager.d.ts +71 -23
- package/dist/main/services/mcp/target-manager.js +269 -138
- package/dist/main/services/mcp/target-selection.d.ts +47 -0
- package/dist/main/services/mcp/target-selection.js +71 -0
- package/dist/main/services/mcp/tools/context-tools.js +20 -5
- package/dist/main/services/mcp/tools/project-tools.d.ts +72 -0
- package/dist/main/services/mcp/tools/project-tools.js +133 -0
- package/dist/main/services/module.d.ts +13 -5
- package/dist/main/services/network-forward/body-cache.d.ts +72 -0
- package/dist/main/services/network-forward/body-cache.js +179 -0
- package/dist/main/services/network-forward/frontend-dispatch.d.ts +91 -0
- package/dist/main/services/network-forward/frontend-dispatch.js +148 -0
- package/dist/main/services/network-forward/global-body-gate.d.ts +46 -0
- package/dist/main/services/network-forward/global-body-gate.js +93 -0
- package/dist/main/services/network-forward/global-mirror-test-fixtures.d.ts +48 -0
- package/dist/main/services/network-forward/global-mirror-test-fixtures.js +96 -0
- package/dist/main/services/network-forward/http.d.ts +47 -0
- package/dist/main/services/network-forward/http.js +162 -0
- package/dist/main/services/network-forward/index.d.ts +135 -15
- package/dist/main/services/network-forward/index.js +854 -224
- package/dist/main/services/network-forward/request-ids.d.ts +5 -0
- package/dist/main/services/network-forward/request-ids.js +5 -0
- package/dist/main/services/network-forward/user-facing.d.ts +21 -0
- package/dist/main/services/network-forward/user-facing.js +50 -0
- package/dist/main/services/network-forward/websocket.d.ts +36 -0
- package/dist/main/services/network-forward/websocket.js +120 -0
- package/dist/main/services/notifications/renderer-notifier.d.ts +71 -9
- package/dist/main/services/notifications/renderer-notifier.js +45 -8
- package/dist/main/services/projects/create-project-service.js +19 -5
- package/dist/main/services/projects/local-provider.js +8 -4
- package/dist/main/services/projects/project-repository.d.ts +59 -7
- package/dist/main/services/projects/project-repository.js +285 -51
- package/dist/main/services/projects/types.d.ts +44 -34
- package/dist/main/services/render-inspect/index.d.ts +12 -2
- package/dist/main/services/render-inspect/index.js +21 -102
- package/dist/main/services/safe-area/index.d.ts +21 -6
- package/dist/main/services/safe-area/index.js +92 -46
- package/dist/main/services/service-host-pool/pool.d.ts +1 -196
- package/dist/main/services/service-host-pool/pool.js +1 -363
- package/dist/main/services/settings/index.d.ts +7 -1
- package/dist/main/services/settings/index.js +22 -2
- package/dist/main/services/simulator/custom-apis.d.ts +1 -42
- package/dist/main/services/simulator/custom-apis.js +1 -46
- package/dist/main/services/simulator/referer.d.ts +1 -9
- package/dist/main/services/simulator/referer.js +1 -19
- package/dist/main/services/simulator/ui-extensions.d.ts +21 -0
- package/dist/main/services/simulator/ui-extensions.js +176 -0
- package/dist/main/services/simulator-appdata/index.d.ts +6 -0
- package/dist/main/services/simulator-appdata/index.js +21 -2
- package/dist/main/services/simulator-current-page/index.d.ts +5 -3
- package/dist/main/services/simulator-current-page/index.js +8 -1
- package/dist/main/services/simulator-storage/index.d.ts +34 -5
- package/dist/main/services/simulator-storage/index.js +73 -71
- package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
- package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
- package/dist/main/services/simulator-storage/window-scope.d.ts +20 -0
- package/dist/main/services/simulator-storage/window-scope.js +20 -0
- package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
- package/dist/main/services/simulator-temp-files/disk.js +1 -237
- package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
- package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
- package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
- package/dist/main/services/simulator-temp-files/index.js +1 -181
- package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
- package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
- package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
- package/dist/main/services/simulator-temp-files/resolver.js +1 -21
- package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
- package/dist/main/services/simulator-temp-files/store.js +1 -23
- package/dist/main/services/update/github-release-checker.js +22 -3
- package/dist/main/services/update/update-manager.d.ts +21 -4
- package/dist/main/services/update/update-manager.js +55 -11
- package/dist/main/services/views/clear-console-filter.d.ts +44 -0
- package/dist/main/services/views/clear-console-filter.js +86 -0
- package/dist/main/services/views/console-filter-test-fixtures.d.ts +94 -0
- package/dist/main/services/views/console-filter-test-fixtures.js +82 -0
- package/dist/main/services/views/console-filter.d.ts +94 -0
- package/dist/main/services/views/console-filter.js +190 -0
- package/dist/main/services/views/devtools-tabs.d.ts +24 -4
- package/dist/main/services/views/devtools-tabs.js +40 -21
- package/dist/main/services/views/frontend-bootstrap-gate.d.ts +59 -0
- package/dist/main/services/views/frontend-bootstrap-gate.js +117 -0
- package/dist/main/services/views/host-dialog-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-dialog-port-channel.js +15 -0
- package/dist/main/services/views/host-dialog-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-dialog-session-runtime.js +17 -0
- package/dist/main/services/views/host-dialog-view.d.ts +95 -0
- package/dist/main/services/views/host-dialog-view.js +147 -0
- package/dist/main/services/views/host-sidebar-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-sidebar-port-channel.js +15 -0
- package/dist/main/services/views/host-sidebar-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-sidebar-session-runtime.js +17 -0
- package/dist/main/services/views/host-sidebar-view.d.ts +59 -0
- package/dist/main/services/views/host-sidebar-view.js +44 -0
- package/dist/main/services/views/host-slot-port-channel.d.ts +124 -0
- package/dist/main/services/views/host-slot-port-channel.js +289 -0
- package/dist/main/services/views/host-slot-session-runtime.d.ts +40 -0
- package/dist/main/services/views/host-slot-session-runtime.js +50 -0
- package/dist/main/services/views/host-slot-view.d.ts +109 -0
- package/dist/main/services/views/host-slot-view.js +147 -0
- package/dist/main/services/views/host-toolbar-port-channel.d.ts +6 -91
- package/dist/main/services/views/host-toolbar-port-channel.js +10 -243
- package/dist/main/services/views/host-toolbar-session-runtime.d.ts +5 -30
- package/dist/main/services/views/host-toolbar-session-runtime.js +9 -47
- package/dist/main/services/views/host-toolbar-view.d.ts +34 -7
- package/dist/main/services/views/host-toolbar-view.js +30 -237
- package/dist/main/services/views/managed-web-contents-view.d.ts +48 -0
- package/dist/main/services/views/managed-web-contents-view.js +143 -0
- package/dist/main/services/views/miniapp-partition.d.ts +1 -89
- package/dist/main/services/views/miniapp-partition.js +1 -158
- package/dist/main/services/views/native-simulator-devtools-host.js +206 -68
- package/dist/main/services/views/native-simulator-view.d.ts +6 -0
- package/dist/main/services/views/native-simulator-view.js +47 -40
- package/dist/main/services/views/native-view-tree.d.ts +25 -0
- package/dist/main/services/views/native-view-tree.js +69 -0
- package/dist/main/services/views/overlay-panels-view.d.ts +63 -4
- package/dist/main/services/views/overlay-panels-view.js +257 -108
- package/dist/main/services/views/placement-reconciler.d.ts +18 -18
- package/dist/main/services/views/placement-reconciler.js +91 -29
- package/dist/main/services/views/placement-test-driver.d.ts +27 -0
- package/dist/main/services/views/placement-test-driver.js +29 -0
- package/dist/main/services/views/refresh-styles.d.ts +10 -0
- package/dist/main/services/views/refresh-styles.js +57 -0
- package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
- package/dist/main/services/views/simulator-session-policy.js +1 -98
- package/dist/main/services/views/view-manager-devtools-host-test-fixtures.d.ts +76 -0
- package/dist/main/services/views/view-manager-devtools-host-test-fixtures.js +184 -0
- package/dist/main/services/views/view-manager.d.ts +69 -88
- package/dist/main/services/views/view-manager.js +62 -7
- package/dist/main/services/views/workbench-view.d.ts +2 -0
- package/dist/main/services/views/workbench-view.js +104 -17
- package/dist/main/services/window-contexts/context-router.d.ts +36 -0
- package/dist/main/services/window-contexts/context-router.js +55 -0
- package/dist/main/services/workbench-coi-host.d.ts +52 -0
- package/dist/main/services/workbench-coi-host.js +227 -0
- package/dist/main/services/workbench-coi-server.d.ts +11 -0
- package/dist/main/services/workbench-coi-server.js +126 -126
- package/dist/main/services/workbench-coi-shutdown.d.ts +40 -0
- package/dist/main/services/workbench-coi-shutdown.js +69 -0
- package/dist/main/services/workbench-coi-static.d.ts +23 -0
- package/dist/main/services/workbench-coi-static.js +87 -0
- package/dist/main/services/workbench-context.d.ts +88 -8
- package/dist/main/services/workbench-context.js +54 -6
- package/dist/main/services/workspace/compile-log-buffer.d.ts +40 -0
- package/dist/main/services/workspace/compile-log-buffer.js +41 -0
- package/dist/main/services/workspace/compile-mode-adapter.d.ts +18 -0
- package/dist/main/services/workspace/compile-mode-adapter.js +57 -0
- package/dist/main/services/workspace/compile-mode-store.d.ts +25 -0
- package/dist/main/services/workspace/compile-mode-store.js +71 -0
- package/dist/main/services/workspace/open-project-guards.d.ts +16 -0
- package/dist/main/services/workspace/open-project-guards.js +42 -0
- package/dist/main/services/workspace/rebuild-status.d.ts +37 -0
- package/dist/main/services/workspace/rebuild-status.js +36 -0
- package/dist/main/services/workspace/session-status-store.d.ts +47 -0
- package/dist/main/services/workspace/session-status-store.js +73 -0
- package/dist/main/services/workspace/status-tap.d.ts +20 -0
- package/dist/main/services/workspace/status-tap.js +32 -0
- package/dist/main/services/workspace/workspace-compile-modes.d.ts +59 -0
- package/dist/main/services/workspace/workspace-compile-modes.js +93 -0
- package/dist/main/services/workspace/workspace-lifecycle-race.testutil.d.ts +22 -0
- package/dist/main/services/workspace/workspace-lifecycle-race.testutil.js +62 -0
- package/dist/main/services/workspace/workspace-referer.d.ts +17 -0
- package/dist/main/services/workspace/workspace-referer.js +26 -0
- package/dist/main/services/workspace/workspace-service.d.ts +7 -5
- package/dist/main/services/workspace/workspace-service.js +96 -135
- package/dist/main/services/workspace/workspace-thumbnails.d.ts +22 -0
- package/dist/main/services/workspace/workspace-thumbnails.js +67 -0
- package/dist/main/utils/ipc-context-source.d.ts +40 -0
- package/dist/main/utils/ipc-context-source.js +23 -0
- package/dist/main/utils/ipc-registry.d.ts +46 -21
- package/dist/main/utils/ipc-registry.js +166 -76
- package/dist/main/utils/paths.d.ts +18 -0
- package/dist/main/utils/paths.js +18 -0
- package/dist/main/utils/sender-policy.d.ts +10 -1
- package/dist/main/utils/sender-policy.js +42 -4
- package/dist/main/utils/theme.d.ts +18 -8
- package/dist/main/utils/theme.js +19 -9
- package/dist/main/windows/internal-devtools-window/index.d.ts +66 -0
- package/dist/main/windows/internal-devtools-window/index.js +160 -0
- package/dist/main/windows/main-window/create.d.ts +16 -0
- package/dist/main/windows/main-window/create.js +19 -11
- package/dist/main/windows/main-window/events.d.ts +1 -1
- package/dist/main/windows/main-window/events.js +26 -13
- package/dist/main/windows/main-window/index.d.ts +1 -1
- package/dist/main/windows/main-window/index.js +1 -1
- package/dist/main/windows/service-host-window/create.d.ts +1 -92
- package/dist/main/windows/service-host-window/create.js +1 -154
- package/dist/native-host/common/common.js +173 -53
- package/dist/native-host/container/pageFrame.css +1 -1
- package/dist/native-host/render/render.js +8278 -3659
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/index.d.ts +2 -0
- package/dist/preload/index.js +1 -0
- package/dist/preload/instrumentation/app-data.d.ts +2 -2
- package/dist/preload/instrumentation/app-data.js +1 -1
- package/dist/preload/instrumentation/wxml.js +1 -1
- package/dist/preload/runtime/bridge.d.ts +3 -3
- package/dist/preload/runtime/bridge.js +2 -2
- package/dist/preload/runtime/clipboard.d.ts +6 -0
- package/dist/preload/runtime/clipboard.js +12 -0
- package/dist/preload/runtime/host-dialog-advertiser.d.ts +22 -0
- package/dist/preload/runtime/host-dialog-advertiser.js +37 -0
- package/dist/preload/runtime/host-dialog-port.d.ts +44 -0
- package/dist/preload/runtime/host-dialog-port.js +53 -0
- package/dist/preload/runtime/host-dialog-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-dialog-runtime.js +36 -0
- package/dist/preload/runtime/host-sidebar-advertiser.d.ts +19 -0
- package/dist/preload/runtime/host-sidebar-advertiser.js +35 -0
- package/dist/preload/runtime/host-sidebar-port.d.ts +44 -0
- package/dist/preload/runtime/host-sidebar-port.js +53 -0
- package/dist/preload/runtime/host-sidebar-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-sidebar-runtime.js +36 -0
- package/dist/preload/runtime/host-slot-port-bridge.d.ts +18 -0
- package/dist/preload/runtime/host-slot-port-bridge.js +112 -0
- package/dist/preload/runtime/host-toolbar-advertiser.d.ts +5 -13
- package/dist/preload/runtime/host-toolbar-advertiser.js +18 -38
- package/dist/preload/runtime/host-toolbar-port.d.ts +9 -0
- package/dist/preload/runtime/host-toolbar-port.js +11 -95
- package/dist/preload/runtime/native-host.d.ts +14 -0
- package/dist/preload/runtime/native-host.js +5 -8
- package/dist/preload/runtime/node-bindings.d.ts +18 -0
- package/dist/preload/runtime/node-bindings.js +44 -0
- package/dist/preload/runtime/temp-files.js +9 -2
- package/dist/preload/runtime/wait-for-slot-root.d.ts +23 -0
- package/dist/preload/runtime/wait-for-slot-root.js +80 -0
- package/dist/preload/shared/api-compat.js +63 -41
- package/dist/preload/windows/host-dialog-runtime.cjs +360 -0
- package/dist/preload/windows/host-dialog-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-dialog-runtime.d.ts +2 -0
- package/dist/preload/windows/host-dialog-runtime.js +13 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs +361 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-sidebar-runtime.d.ts +2 -0
- package/dist/preload/windows/host-sidebar-runtime.js +13 -0
- package/dist/preload/windows/host-toolbar-runtime.cjs +142 -52
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +3 -3
- package/dist/preload/windows/main.cjs +4922 -1246
- package/dist/preload/windows/main.cjs.map +4 -4
- package/dist/preload/windows/main.css +428 -0
- package/dist/preload/windows/main.css.map +7 -0
- package/dist/preload/windows/simulator.cjs +376 -322
- package/dist/preload/windows/simulator.cjs.map +4 -4
- package/dist/preload/windows/simulator.js +376 -322
- package/dist/render-host/pageFrame.html +4 -4
- package/dist/render-host/preload.cjs +30 -0
- package/dist/render-host/render-inspect.js +184 -115
- package/dist/renderer/assets/button-CB2MWjHY.js +2 -0
- package/dist/renderer/assets/constants-CkoGPQTS.js +2 -0
- package/dist/renderer/assets/constants-zQZ2-y21.js +2 -0
- package/dist/renderer/assets/createLucideIcon-cZ9FlZZw.js +2 -0
- package/dist/renderer/assets/devicePicker-H2eIO4e1.js +2 -0
- package/dist/renderer/assets/dialog-pHzEA8Vx.js +46 -0
- package/dist/renderer/assets/dist-B5HADirS.js +2 -0
- package/dist/renderer/assets/dist-DIFlRMKe.js +2 -0
- package/dist/renderer/assets/hostSidebarDefault-DRWh6OCt.js +2 -0
- package/dist/renderer/assets/index-CEL_XFge.js +2 -0
- package/dist/renderer/assets/input-CAObw95L.js +2 -0
- package/dist/renderer/assets/ipc-channels-overlays-gIPUFnqc.js +2 -0
- package/dist/renderer/assets/jsx-runtime-DICEQH_0.css +1 -0
- package/dist/renderer/assets/jsx-runtime-DIw5wnYl.js +9 -0
- package/dist/renderer/assets/plus-BQ9u5EbL.js +2 -0
- package/dist/renderer/assets/popover-Cw7G2Ctp.js +2 -0
- package/dist/renderer/assets/presets-DMZOb9ay.js +2 -0
- package/dist/renderer/assets/project-api-YTOr_Yvo.js +2 -0
- package/dist/renderer/assets/projectCreateDialog-BmLqiYxn.js +2 -0
- package/dist/renderer/assets/search-BMvuYF48.js +2 -0
- package/dist/renderer/assets/select-nFP95TxM.js +2 -0
- package/dist/renderer/assets/settings-CnpVfSWt.js +2 -0
- package/dist/renderer/assets/settings-api-Ccsf-Nsj.js +2 -0
- package/dist/renderer/assets/settings-tab-bar-CAzrv32m.js +2 -0
- package/dist/renderer/assets/smartphone-Bb2GdIKy.js +2 -0
- package/dist/renderer/assets/tabs-CPKN3Mmq.js +2 -0
- package/dist/renderer/assets/tooltip-D6AxXRk5.js +2 -0
- package/dist/renderer/assets/types-Bh0hA7El.js +2 -0
- package/dist/renderer/assets/updateDialog-CwndJ0Bl.js +2 -0
- package/dist/renderer/assets/utils-sEB5OZEQ.js +2 -0
- package/dist/renderer/assets/view-api-B-2zPBR5.js +2 -0
- package/dist/renderer/assets/view-ids-BfaDVV5P.js +2 -0
- package/dist/renderer/assets/workbench-C0Jkdlps.js +5 -0
- package/dist/renderer/assets/workbenchSettings-YD0Ctbm_.js +8 -0
- package/dist/renderer/entries/device-picker/index.html +28 -0
- package/dist/renderer/entries/host-sidebar-default/index.html +22 -0
- package/dist/renderer/entries/main/index.html +16 -7
- package/dist/renderer/entries/popover/index.html +16 -6
- package/dist/renderer/entries/project-create-dialog/index.html +27 -0
- package/dist/renderer/entries/settings/index.html +10 -5
- package/dist/renderer/entries/tooltip/index.html +21 -0
- package/dist/renderer/entries/update-dialog/index.html +25 -0
- package/dist/renderer/entries/workbench/index.html +49 -0
- package/dist/renderer/entries/workbench-settings/index.html +12 -5
- package/dist/service-host/appdata-set-data.cjs +39 -0
- package/dist/service-host/host-env-update.cjs +23 -0
- package/dist/service-host/preload.cjs +54 -48
- package/dist/service-host/service-message-queue.cjs +71 -0
- package/dist/service-host/sync-impls/menu-button-geometry.js +16 -5
- package/dist/service-host/sync-impls/menu-button.js +5 -3
- package/dist/service-host/sync-impls/system-info.js +31 -9
- package/dist/shared/bridge-channels.d.ts +1 -416
- package/dist/shared/bridge-channels.js +1 -89
- package/dist/shared/compile-mode-state.d.ts +73 -0
- package/dist/shared/compile-mode-state.js +100 -0
- package/dist/shared/compile-modes.d.ts +152 -0
- package/dist/shared/compile-modes.js +237 -0
- package/dist/shared/constants.d.ts +22 -0
- package/dist/shared/constants.js +22 -0
- package/dist/shared/dmb-resource-url.d.ts +2 -0
- package/dist/shared/dmb-resource-url.js +2 -0
- package/dist/shared/ipc-channels-overlays.d.ts +162 -0
- package/dist/shared/ipc-channels-overlays.js +203 -0
- package/dist/shared/ipc-channels.d.ts +24 -154
- package/dist/shared/ipc-channels.js +48 -96
- package/dist/shared/ipc-schemas.d.ts +143 -54
- package/dist/shared/ipc-schemas.js +137 -45
- package/dist/shared/node-bindings.d.ts +2 -0
- package/dist/shared/node-bindings.js +2 -0
- package/dist/shared/project-window-types.d.ts +42 -0
- package/dist/shared/project-window-types.js +2 -0
- package/dist/shared/simulator-route.d.ts +8 -0
- package/dist/shared/simulator-route.js +15 -0
- package/dist/shared/simulator-ui.d.ts +61 -0
- package/dist/shared/simulator-ui.js +12 -0
- package/dist/shared/types.d.ts +126 -41
- package/dist/shared/view-ids.d.ts +10 -0
- package/dist/shared/view-ids.js +23 -0
- package/dist/simulator/assets/bridge-channels-B3JAmRfl.js +2 -0
- package/dist/simulator/assets/device-shell-ATEhHV2_.css +1 -0
- package/dist/simulator/assets/device-shell-DucLepkm.js +431 -0
- package/dist/simulator/assets/simulator-B4rbcOVt.js +10 -0
- package/dist/simulator/assets/simulator-mini-app-DFo7fhi5.js +2 -0
- package/dist/simulator/assets/simulator-ui-BupATgKo.css +1 -0
- package/dist/simulator/assets/simulator-ui-i3GCc7YJ.js +2 -0
- package/dist/simulator/simulator.html +4 -3
- package/dist/simulator/temp-files.d.ts +35 -0
- package/dist/simulator/temp-files.js +121 -0
- package/dist/simulator/types.d.ts +50 -0
- package/dist/simulator/types.js +2 -0
- package/dist/vscode-workbench/assets/__vite-browser-external-JIkWewFf.js +1 -0
- package/dist/vscode-workbench/assets/{dist-TpGpmMGi.js → dist-CXG-u1VB.js} +3 -3
- package/dist/vscode-workbench/assets/fs-core-worker-urls-DZ1nod84.js +1 -0
- package/dist/vscode-workbench/assets/fs-core.worker-Bnmpp6fo.js +1 -0
- package/dist/vscode-workbench/assets/fs-query.worker-cZ-7Fjch.js +2 -0
- package/dist/vscode-workbench/assets/{iconv-lite-umd-C9tiCAJa.js → iconv-lite-umd-Dxx9Qyb4.js} +1 -1
- package/dist/vscode-workbench/assets/{index-DJ1HyMZ7.js → index-6VJMsaWj.js} +475 -475
- package/dist/vscode-workbench/assets/{jschardet-DE1jV513.js → jschardet-Ba3D16vt.js} +1 -1
- package/dist/vscode-workbench/index.html +21 -1
- package/package.json +23 -13
- package/dist/main/services/views/destroy-child-view.d.ts +0 -9
- package/dist/main/services/views/destroy-child-view.js +0 -23
- package/dist/preload/instrumentation/wxml-extract.d.ts +0 -11
- package/dist/preload/instrumentation/wxml-extract.js +0 -382
- package/dist/preload/shared/sid-registry.d.ts +0 -11
- package/dist/preload/shared/sid-registry.js +0 -38
- package/dist/renderer/assets/constants-EAMiwL9_.js +0 -2
- package/dist/renderer/assets/index-BMqyDx71.js +0 -49
- package/dist/renderer/assets/input-CDAEwpBO.js +0 -2
- package/dist/renderer/assets/ipc-transport-B7eFOR68.css +0 -1
- package/dist/renderer/assets/ipc-transport-_G1k5V1p.js +0 -9
- package/dist/renderer/assets/popover-DEdjK14m.js +0 -2
- package/dist/renderer/assets/select-DpKPCh3y.js +0 -2
- package/dist/renderer/assets/settings-M5q2elUr.js +0 -2
- package/dist/renderer/assets/settings-api-CDlZoHiO.js +0 -2
- package/dist/renderer/assets/workbenchSettings-CT_H1WhV.js +0 -8
- package/dist/shared/appdata-accumulator.d.ts +0 -95
- package/dist/shared/appdata-accumulator.js +0 -218
- package/dist/shared/request-core.d.ts +0 -84
- package/dist/shared/request-core.js +0 -168
- package/dist/shared/simulator-api-metadata.d.ts +0 -26
- package/dist/shared/simulator-api-metadata.js +0 -59
- package/dist/shared/vpath.d.ts +0 -42
- package/dist/shared/vpath.js +0 -105
- package/dist/simulator/assets/bridge-channels-zhsumfky.js +0 -2
- package/dist/simulator/assets/device-shell-C-wcFq3Z.js +0 -2
- package/dist/simulator/assets/device-shell-CS1rqAQz.css +0 -1
- package/dist/simulator/assets/jsx-runtime-BDTY6fEq.js +0 -2
- package/dist/simulator/assets/simulator-DU3-fS3v.js +0 -10
- package/dist/simulator/assets/simulator-mini-app-DzfMfnVM.js +0 -2
- package/dist/simulator/device-shell/menu-button-geometry.js +0 -8
- package/dist/vscode-workbench/assets/__vite-browser-external-CXi6Kz9W.js +0 -1
|
@@ -5,14 +5,15 @@ import { handleWindowOpenExternal } from '../../windows/navigation-hardening.js'
|
|
|
5
5
|
import { SimulatorCustomApiBridgeChannel } from '../../../shared/ipc-channels.js';
|
|
6
6
|
import * as layout from '../layout/index.js';
|
|
7
7
|
import { handleCustomApiBridgeRequest, } from '../simulator/custom-apis.js';
|
|
8
|
+
import { parseGuestPageInsetPolicy } from '../safe-area/index.js';
|
|
8
9
|
import { configureMiniappSession, miniappPartition } from './miniapp-partition.js';
|
|
10
|
+
import { refreshGuestStylesheets } from './refresh-styles.js';
|
|
9
11
|
import { parseRoute } from '../../../shared/simulator-route.js';
|
|
10
12
|
import { SIMULATOR_EVENTS } from '../../../shared/bridge-channels.js';
|
|
11
13
|
import { VIEW_ID } from '../../../shared/view-ids.js';
|
|
12
14
|
export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
13
15
|
const { safeArea, devtoolsHost, overlayPanels } = deps;
|
|
14
16
|
let nativeSimulatorView = null;
|
|
15
|
-
let nativeSimulatorViewAdded = false;
|
|
16
17
|
let nativeSimulatorProjectPath = null;
|
|
17
18
|
let settleNativeSimulatorReady = null;
|
|
18
19
|
// Whether the CURRENT simulator view's shell finished its first boot (first
|
|
@@ -67,35 +68,20 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
67
68
|
* double-dispose. `label` only tags the diagnostic on the async-tail failure.
|
|
68
69
|
*/
|
|
69
70
|
function tearDownNativeSimulatorView(label) {
|
|
70
|
-
|
|
71
|
+
const view = nativeSimulatorView;
|
|
72
|
+
if (!view)
|
|
71
73
|
return;
|
|
72
|
-
|
|
73
|
-
try {
|
|
74
|
-
ctx.windows.mainWindow.contentView.removeChildView(nativeSimulatorView);
|
|
75
|
-
}
|
|
76
|
-
catch { /* already removed */ }
|
|
77
|
-
}
|
|
74
|
+
ctx.simulatorUiExtensions?.detach(view.webContents);
|
|
78
75
|
try {
|
|
79
|
-
if (!
|
|
80
|
-
ctx.bridge?.disposeSessionsForSimulator?.(
|
|
76
|
+
if (!view.webContents.isDestroyed()) {
|
|
77
|
+
ctx.bridge?.disposeSessionsForSimulator?.(view.webContents.id)
|
|
81
78
|
?.catch((err) => console.warn(`[view-manager] dispose sessions (${label}) failed:`, err));
|
|
82
|
-
nativeSimulatorView.webContents.close();
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
81
|
catch { /* ignore */ }
|
|
82
|
+
reconciler.destroyView(VIEW_ID.simulator, view);
|
|
86
83
|
nativeSimulatorView = null;
|
|
87
|
-
nativeSimulatorViewAdded = false;
|
|
88
84
|
nativeSimulatorShellReady = false;
|
|
89
|
-
// The instance is being replaced/destroyed — forget its reconciled mount
|
|
90
|
-
// state so the NEXT rebuilt view is treated as a fresh attach. Without this,
|
|
91
|
-
// the level-triggered reconciler still records `simulator` as `attached`
|
|
92
|
-
// (the manual removeChildView above bypasses it), so the next reconcile
|
|
93
|
-
// classifies the freshly-built WebContentsView as already-attached, never
|
|
94
|
-
// emits the `attach` op, and the new view is never addChildView'd — a sticky
|
|
95
|
-
// 100%-invisible simulator after every recompile. Mirrors the hostToolbar
|
|
96
|
-
// instance-replacement handling in ensureHostToolbarView.
|
|
97
|
-
reconciler.forgetActual(VIEW_ID.simulator);
|
|
98
|
-
// The view is gone: gateReadiness now hides it, so reconcile detaches it.
|
|
99
85
|
reconciler.reconcileNow();
|
|
100
86
|
}
|
|
101
87
|
/**
|
|
@@ -218,6 +204,8 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
218
204
|
// and the renderer placeholder behind it are all the same color.
|
|
219
205
|
view.setBackgroundColor(simDeskBg());
|
|
220
206
|
const simWc = view.webContents;
|
|
207
|
+
// Keep downstream UI bundles bound to this WCV until shared teardown.
|
|
208
|
+
ctx.simulatorUiExtensions?.attach(simWc);
|
|
221
209
|
// Keep the WCV surface in sync with the active color scheme. The
|
|
222
210
|
// process-wide installThemeBackgroundSync() re-syncs BrowserWindows on a
|
|
223
211
|
// theme switch, but this top-level WebContentsView is not a window, so its
|
|
@@ -243,23 +231,23 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
243
231
|
// them with contextIsolation/sandbox off so the render runtime + its preload
|
|
244
232
|
// share the page realm. (A top-level WebContentsView can host these guests; a
|
|
245
233
|
// `<webview>` guest cannot — that's the whole point of Option A.)
|
|
246
|
-
//
|
|
247
|
-
// URL in will-attach (where `params.src` carries the full
|
|
248
|
-
// FIFO in the matching did-attach — `guestWc.getURL()` is
|
|
234
|
+
// Inset policy (`navStyle`) of each attaching guest, captured from its
|
|
235
|
+
// render-host URL in will-attach (where `params.src` carries the full
|
|
236
|
+
// URL) and consumed FIFO in the matching did-attach — `guestWc.getURL()` is
|
|
237
|
+
// still empty there.
|
|
249
238
|
// Per-attach scope: a fresh simWc + handlers are built on every (re)attach.
|
|
250
|
-
|
|
239
|
+
// (The guest's `bgColor` query param — WeChat/Android/Harmony white-flash
|
|
240
|
+
// parity — is consumed entirely outside main: device-shell.tsx's `<webview>`
|
|
241
|
+
// CSS background and render-host/preload.cjs both read it directly, since
|
|
242
|
+
// `WebContents` has no `setBackgroundColor` for main to call here.)
|
|
243
|
+
const pendingGuestPages = [];
|
|
251
244
|
simWc.on('will-attach-webview', (_event, webPreferences, params) => {
|
|
252
245
|
;
|
|
253
246
|
webPreferences.partition = partition;
|
|
254
247
|
params.partition = partition;
|
|
255
248
|
webPreferences.contextIsolation = false;
|
|
256
249
|
webPreferences.sandbox = false;
|
|
257
|
-
|
|
258
|
-
try {
|
|
259
|
-
isTab = new URL(params.src).searchParams.get('isTab') === '1';
|
|
260
|
-
}
|
|
261
|
-
catch { /* keep false */ }
|
|
262
|
-
pendingGuestIsTab.push(isTab);
|
|
250
|
+
pendingGuestPages.push(parseGuestPageInsetPolicy(params.src));
|
|
263
251
|
});
|
|
264
252
|
simWc.on('did-attach-webview', (_event, guestWc) => {
|
|
265
253
|
// Scale the nested render-host page with the device zoom. The host WCV is
|
|
@@ -273,13 +261,18 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
273
261
|
}
|
|
274
262
|
catch { /* guest not ready; setNativeSimulatorViewBounds re-applies */ }
|
|
275
263
|
// Simulate this device's CSS env(safe-area-inset-*) on the fresh guest
|
|
276
|
-
// before it paints, so notch-aware page layout resolves correctly.
|
|
277
|
-
//
|
|
278
|
-
// page
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
264
|
+
// before it paints, so notch-aware page layout resolves correctly. Only
|
|
265
|
+
// the top inset depends on the page (see services/safe-area): only a
|
|
266
|
+
// custom-nav page borders the unsafe top zone. The policy was captured
|
|
267
|
+
// from the render-host URL in will-attach (FIFO).
|
|
268
|
+
const guestPage = pendingGuestPages.shift() ?? { isCustomNav: false };
|
|
269
|
+
safeArea.applyToGuest(guestWc, ctx.bridge?.getDevice() ?? null, guestPage);
|
|
270
|
+
// Page-level resource loads (images/fonts/page fetch) run in THIS guest's
|
|
271
|
+
// network stack, never the simulator's — without this, only wx.request
|
|
272
|
+
// (forwarded to the simulator) shows in the Network panel and everything
|
|
273
|
+
// the page itself loads is invisible. Shares the already-attached
|
|
274
|
+
// safe-area debugger session (never a second attach/detach owner).
|
|
275
|
+
ctx.networkForward?.attachRenderGuest(guestWc);
|
|
283
276
|
guestWc.setWindowOpenHandler(({ url }) => handleWindowOpenExternal(url));
|
|
284
277
|
guestWc.on('will-navigate', (e, url) => {
|
|
285
278
|
try {
|
|
@@ -377,6 +370,20 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
377
370
|
nativeSimulatorView.webContents.send(SIMULATOR_EVENTS.RELAUNCH, payload);
|
|
378
371
|
return true;
|
|
379
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* Style-only hot swap: cache-bust every render-host stylesheet in place so a
|
|
375
|
+
* recompiled `.css` re-applies against the already-mounted page WITHOUT
|
|
376
|
+
* respawning the DeviceShell — page stack / form state / scroll / focus all
|
|
377
|
+
* survive (unlike `softReloadNativeSimulator`, which reboots the app session).
|
|
378
|
+
* Returns false when the shell isn't ready or no guest is live, so the caller
|
|
379
|
+
* falls back to a full reload rather than silently swallowing the rebuild.
|
|
380
|
+
*/
|
|
381
|
+
function refreshSimulatorStyles() {
|
|
382
|
+
const view = nativeSimulatorView;
|
|
383
|
+
if (!view || view.webContents.isDestroyed() || !nativeSimulatorShellReady)
|
|
384
|
+
return false;
|
|
385
|
+
return refreshGuestStylesheets(view);
|
|
386
|
+
}
|
|
380
387
|
function detachSimulator() {
|
|
381
388
|
settleNativeSimulatorReady?.();
|
|
382
389
|
settleNativeSimulatorReady = null;
|
|
@@ -407,13 +414,13 @@ export function createNativeSimulatorView(ctx, reconciler, deps) {
|
|
|
407
414
|
}
|
|
408
415
|
reconciler.registerView(VIEW_ID.simulator, {
|
|
409
416
|
getView: () => nativeSimulatorView,
|
|
410
|
-
setAdded: (added) => { nativeSimulatorViewAdded = added; },
|
|
411
417
|
gateHidden: () => !nativeSimulatorView,
|
|
412
418
|
applyBounds: (view, bounds, extra) => applyNativeSimulatorBounds(view, bounds, extra?.zoom ?? 1),
|
|
413
419
|
});
|
|
414
420
|
return {
|
|
415
421
|
attachNativeSimulator,
|
|
416
422
|
softReloadNativeSimulator,
|
|
423
|
+
refreshSimulatorStyles,
|
|
417
424
|
detachSimulator,
|
|
418
425
|
getSimulatorWebContentsId: () => simulatorWebContentsId,
|
|
419
426
|
getSimulatorWebContents: () => {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BrowserWindow, WebContentsView } from 'electron';
|
|
2
|
+
import type { ViewSlot } from './placement-reconciler.js';
|
|
3
|
+
/**
|
|
4
|
+
* Single native child-tree owner for devtools. It resolves the current concrete
|
|
5
|
+
* instance dynamically because a stable viewId may be rebuilt, and updates its
|
|
6
|
+
* order ledger only after the corresponding Electron call succeeds.
|
|
7
|
+
*/
|
|
8
|
+
interface NativeViewRef {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
}
|
|
11
|
+
export interface NativeViewTreeHost {
|
|
12
|
+
addChildView(ref: NativeViewRef): boolean;
|
|
13
|
+
removeChildView(ref: NativeViewRef): boolean;
|
|
14
|
+
readonly isDestroyed: boolean;
|
|
15
|
+
children(): readonly NativeViewRef[];
|
|
16
|
+
/** Detach and close a concrete instance, then remove it from the ledger. */
|
|
17
|
+
destroyView(viewId: string, view: WebContentsView | null): void;
|
|
18
|
+
}
|
|
19
|
+
export declare function createNativeViewTreeHost(ctx: {
|
|
20
|
+
windows: {
|
|
21
|
+
mainWindow: BrowserWindow;
|
|
22
|
+
};
|
|
23
|
+
}, slots: Map<string, ViewSlot>): NativeViewTreeHost;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=native-view-tree.d.ts.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export function createNativeViewTreeHost(ctx, slots) {
|
|
2
|
+
const order = [];
|
|
3
|
+
const mounted = new Map();
|
|
4
|
+
function resolve(id) {
|
|
5
|
+
return slots.get(id)?.getView() ?? null;
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
addChildView(ref) {
|
|
9
|
+
const view = resolve(ref.id);
|
|
10
|
+
if (!view || view.webContents.isDestroyed() || ctx.windows.mainWindow.isDestroyed())
|
|
11
|
+
return false;
|
|
12
|
+
try {
|
|
13
|
+
ctx.windows.mainWindow.contentView.addChildView(view);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const i = order.indexOf(ref.id);
|
|
19
|
+
if (i >= 0)
|
|
20
|
+
order.splice(i, 1);
|
|
21
|
+
order.push(ref.id);
|
|
22
|
+
mounted.set(ref.id, view);
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
removeChildView(ref) {
|
|
26
|
+
const view = mounted.get(ref.id) ?? null;
|
|
27
|
+
if (!view || ctx.windows.mainWindow.isDestroyed())
|
|
28
|
+
return false;
|
|
29
|
+
try {
|
|
30
|
+
ctx.windows.mainWindow.contentView.removeChildView(view);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const i = order.indexOf(ref.id);
|
|
36
|
+
if (i >= 0)
|
|
37
|
+
order.splice(i, 1);
|
|
38
|
+
mounted.delete(ref.id);
|
|
39
|
+
return true;
|
|
40
|
+
},
|
|
41
|
+
get isDestroyed() {
|
|
42
|
+
return ctx.windows.mainWindow.isDestroyed();
|
|
43
|
+
},
|
|
44
|
+
children: () => order.map((id) => ({ id })),
|
|
45
|
+
destroyView(viewId, view) {
|
|
46
|
+
const isMountedInstance = view !== null && mounted.get(viewId) === view;
|
|
47
|
+
if (view && !ctx.windows.mainWindow.isDestroyed()) {
|
|
48
|
+
try {
|
|
49
|
+
ctx.windows.mainWindow.contentView.removeChildView(view);
|
|
50
|
+
}
|
|
51
|
+
catch { /* detached */ }
|
|
52
|
+
}
|
|
53
|
+
if (isMountedInstance) {
|
|
54
|
+
const i = order.indexOf(viewId);
|
|
55
|
+
if (i >= 0)
|
|
56
|
+
order.splice(i, 1);
|
|
57
|
+
mounted.delete(viewId);
|
|
58
|
+
}
|
|
59
|
+
if (view) {
|
|
60
|
+
try {
|
|
61
|
+
if (!view.webContents.isDestroyed())
|
|
62
|
+
view.webContents.close();
|
|
63
|
+
}
|
|
64
|
+
catch { /* destroyed concurrently */ }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=native-view-tree.js.map
|
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
import type { WebContents } from 'electron';
|
|
2
|
+
import type { UpdateInfo } from '../../../shared/types.js';
|
|
2
3
|
import type { PlacementReconciler } from './placement-reconciler.js';
|
|
3
4
|
import type { ViewManagerContext } from './view-manager.js';
|
|
5
|
+
export interface TooltipShowPayload {
|
|
6
|
+
anchor: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
text: string;
|
|
13
|
+
}
|
|
14
|
+
/** Payload shown by the project-create-dialog overlay panel (`projectCreate:show`). */
|
|
15
|
+
export interface ProjectCreateShowPayload {
|
|
16
|
+
templates: unknown[];
|
|
17
|
+
defaultBaseDir: string;
|
|
18
|
+
}
|
|
19
|
+
/** Payload shown by the device-picker overlay panel (`devicePicker:show`). */
|
|
20
|
+
export interface DevicePickerShowPayload {
|
|
21
|
+
deviceName: string;
|
|
22
|
+
}
|
|
4
23
|
/**
|
|
5
|
-
* The
|
|
6
|
-
*
|
|
24
|
+
* The main-owned overlay panels: the settings sheet (right-side panel over a
|
|
25
|
+
* transparent backdrop), the transient compile-mode popover, and the tooltip.
|
|
26
|
+
* Each is an `OverlayPanel` (`@dimina-kit/electron-deck/main`) — the shared
|
|
27
|
+
* lazy-create/reuse/destroy WebContentsView lifecycle — wired into THIS
|
|
28
|
+
* module's own placement reconciler (the panel factory owns no z-order/bounds
|
|
29
|
+
* authority itself; see overlay-panel.ts's doc-comment). Bounds are
|
|
7
30
|
* main-computed and published into the reconciler's `overlayDesired` (top-tier
|
|
8
31
|
* layers, so a reorder keeps them above every base overlay).
|
|
9
32
|
*/
|
|
@@ -12,15 +35,51 @@ export interface OverlayPanelsView {
|
|
|
12
35
|
hideSettings(): void;
|
|
13
36
|
showPopover(data: unknown): void;
|
|
14
37
|
hidePopover(): void;
|
|
15
|
-
|
|
38
|
+
prepareTooltip(): void;
|
|
39
|
+
showTooltip(data: TooltipShowPayload): void;
|
|
40
|
+
hideTooltip(): void;
|
|
41
|
+
markOverlayReady(webContentsId: number): void;
|
|
42
|
+
applyTooltipMeasurement(webContentsId: number, measurement: {
|
|
43
|
+
requestId: number;
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
}): void;
|
|
47
|
+
/** Re-apply whichever of settings/popover is currently present (window resize / toolbar height change). Tooltip excluded — it re-anchors on its own next show, a stale position while hidden doesn't matter. */
|
|
16
48
|
reapplyPresentOverlays(): void;
|
|
17
49
|
/** Re-apply the settings overlay only (the resize entry point re-applies settings, not popover). */
|
|
18
50
|
applySettingsBoundsIfPresent(): void;
|
|
19
|
-
/** Destroy the cached settings
|
|
51
|
+
/** Destroy the cached settings + tooltip views (aggregate simulator detach). */
|
|
20
52
|
destroySettings(): void;
|
|
53
|
+
/** Destroy the project-create/update dialog panel views (app-level teardown). */
|
|
54
|
+
destroyDialogs(): void;
|
|
21
55
|
getSettingsWebContents(): WebContents | null;
|
|
22
56
|
getSettingsWebContentsId(): number | null;
|
|
23
57
|
getPopoverWebContentsId(): number | null;
|
|
58
|
+
getTooltipWebContentsId(): number | null;
|
|
59
|
+
/**
|
|
60
|
+
* Show the project-create-dialog overlay panel (VIEW_LAYER.dialog) — the
|
|
61
|
+
* real WebContentsView that replaced the Radix `fixed inset-0` DOM portal
|
|
62
|
+
* (see view-ids.ts's VIEW_LAYER doc-comment for why a DOM overlay can't
|
|
63
|
+
* paint above the simulator/host-toolbar/host-sidebar WCVs).
|
|
64
|
+
*/
|
|
65
|
+
showProjectCreateDialog(data: ProjectCreateShowPayload): void;
|
|
66
|
+
hideProjectCreateDialog(): void;
|
|
67
|
+
/** Show the update-available overlay panel, fed the discovered update's info. */
|
|
68
|
+
showUpdateDialog(data: UpdateInfo): void;
|
|
69
|
+
hideUpdateDialog(): void;
|
|
70
|
+
/** Forward a download-progress tick into the (already-shown) update overlay. */
|
|
71
|
+
notifyUpdateDownloadProgress(percent: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* Show the simulator toolbar's device picker (VIEW_LAYER.dialog). Same
|
|
74
|
+
* reason as `showProjectCreateDialog`: the simulator WCV overlaps the
|
|
75
|
+
* centred search panel, so it cannot be a DOM dialog in the toolbar's own
|
|
76
|
+
* renderer.
|
|
77
|
+
*/
|
|
78
|
+
showDevicePicker(data: DevicePickerShowPayload): void;
|
|
79
|
+
hideDevicePicker(): void;
|
|
80
|
+
getProjectCreateDialogWebContentsId(): number | null;
|
|
81
|
+
getUpdateDialogWebContentsId(): number | null;
|
|
82
|
+
getDevicePickerWebContentsId(): number | null;
|
|
24
83
|
}
|
|
25
84
|
export declare function createOverlayPanelsView(ctx: ViewManagerContext, reconciler: PlacementReconciler, deps: {
|
|
26
85
|
/** The host-toolbar strip height that offsets the overlay top edge. */
|