@forgeax/interface 0.4.1
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/LICENSE +202 -0
- package/NOTICE +9 -0
- package/README.md +111 -0
- package/dist/package/browser/App.css +192 -0
- package/dist/package/browser/App.d.ts +11 -0
- package/dist/package/browser/App.js +11 -0
- package/dist/package/browser/ApplicationDetachedShell.d.ts +13 -0
- package/dist/package/browser/ApplicationDetachedShell.js +10 -0
- package/dist/package/browser/ApplicationShell.d.ts +19 -0
- package/dist/package/browser/ApplicationShell.js +62 -0
- package/dist/package/browser/app-kit.d.ts +1 -0
- package/dist/package/browser/app-kit.js +4 -0
- package/dist/package/browser/appHostBootstrap.d.ts +16 -0
- package/dist/package/browser/appHostBootstrap.js +145 -0
- package/dist/package/browser/application.d.ts +35 -0
- package/dist/package/browser/application.js +64 -0
- package/dist/package/browser/assets/icons/agent-icon.png +0 -0
- package/dist/package/browser/assets/icons/at.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-collapse.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-expand.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-up.svg +3 -0
- package/dist/package/browser/assets/icons/close-x.svg +3 -0
- package/dist/package/browser/assets/icons/close.svg +3 -0
- package/dist/package/browser/assets/icons/copy.svg +4 -0
- package/dist/package/browser/assets/icons/edit.svg +3 -0
- package/dist/package/browser/assets/icons/fullscreen.svg +3 -0
- package/dist/package/browser/assets/icons/pause.svg +4 -0
- package/dist/package/browser/assets/icons/play.svg +3 -0
- package/dist/package/browser/assets/icons/select.svg +3 -0
- package/dist/package/browser/assets/icons/sendMessage-enable.svg +4 -0
- package/dist/package/browser/assets/icons/sendMessage.svg +4 -0
- package/dist/package/browser/assets/icons/status-done.svg +11 -0
- package/dist/package/browser/assets/icons/status-running.svg +10 -0
- package/dist/package/browser/assets/icons/status-waiting.svg +10 -0
- package/dist/package/browser/assets/icons/tool-execute-script.svg +3 -0
- package/dist/package/browser/assets/icons/tool-other.svg +10 -0
- package/dist/package/browser/assets/icons/tool-read-file.svg +3 -0
- package/dist/package/browser/assets/icons/tool-resource-search.svg +3 -0
- package/dist/package/browser/assets/icons/tool-task-todo.svg +4 -0
- package/dist/package/browser/assets/icons/tool-write-file.svg +3 -0
- package/dist/package/browser/boot/SettingsSection.d.ts +14 -0
- package/dist/package/browser/boot/SettingsSection.js +82 -0
- package/dist/package/browser/boot/broadcast.d.ts +2 -0
- package/dist/package/browser/boot/broadcast.js +32 -0
- package/dist/package/browser/boot/driver.d.ts +22 -0
- package/dist/package/browser/boot/driver.js +47 -0
- package/dist/package/browser/boot/store.d.ts +29 -0
- package/dist/package/browser/boot/store.js +114 -0
- package/dist/package/browser/boot/themes.d.ts +19 -0
- package/dist/package/browser/boot/themes.js +21 -0
- package/dist/package/browser/boot/types.d.ts +22 -0
- package/dist/package/browser/boot/types.js +30 -0
- package/dist/package/browser/brand/BrandProvider.d.ts +19 -0
- package/dist/package/browser/brand/BrandProvider.js +35 -0
- package/dist/package/browser/brand/index.d.ts +4 -0
- package/dist/package/browser/brand/index.js +3 -0
- package/dist/package/browser/brand/runtime.d.ts +17 -0
- package/dist/package/browser/brand/runtime.js +71 -0
- package/dist/package/browser/brand/types.d.ts +77 -0
- package/dist/package/browser/brand/types.js +9 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.css +294 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.d.ts +2 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.d.ts +18 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.d.ts +17 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.d.ts +1 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.css +2425 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.d.ts +2 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.d.ts +3 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.d.ts +2 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.d.ts +1 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.d.ts +5 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.css +199 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.d.ts +2 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.d.ts +2 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.d.ts +10 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.d.ts +18 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/browser/components/DetachedSurface.d.ts +20 -0
- package/dist/package/browser/components/DetachedSurface.js +102 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.d.ts +4 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.d.ts +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.js +315 -0
- package/dist/package/browser/components/DockShell/DockShell.css +1018 -0
- package/dist/package/browser/components/DockShell/DockTab.d.ts +3 -0
- package/dist/package/browser/components/DockShell/DockTab.js +139 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.d.ts +9 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.d.ts +14 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.d.ts +6 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.d.ts +45 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.d.ts +17 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.d.ts +10 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.d.ts +16 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.d.ts +1 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.d.ts +2 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/browser/components/DockShell/dockTitle.d.ts +12 -0
- package/dist/package/browser/components/DockShell/dockTitle.js +36 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.d.ts +1 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.d.ts +24 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/browser/components/DockShell/edgePinStore.d.ts +12 -0
- package/dist/package/browser/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.d.ts +13 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.d.ts +8 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.d.ts +17 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.d.ts +7 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/browser/components/DockShell/footer-panels.d.ts +2 -0
- package/dist/package/browser/components/DockShell/footer-panels.js +7 -0
- package/dist/package/browser/components/DockShell/panelRegistry.d.ts +37 -0
- package/dist/package/browser/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/browser/components/DockShell/panelRenderers.d.ts +325 -0
- package/dist/package/browser/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.d.ts +18 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/browser/components/DockShell/panelWindowing.d.ts +32 -0
- package/dist/package/browser/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/browser/components/DockShell/regions.d.ts +1 -0
- package/dist/package/browser/components/DockShell/regions.js +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.d.ts +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.d.ts +3 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.d.ts +1 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.d.ts +13 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.d.ts +29 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.d.ts +80 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.d.ts +94 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.d.ts +32 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/browser/components/DockShell/ueDrag/ueDrag.css +199 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.d.ts +5 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.css +143 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.d.ts +19 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.d.ts +12 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.d.ts +15 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/browser/components/ErrorBoundary.d.ts +55 -0
- package/dist/package/browser/components/ErrorBoundary.js +131 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.d.ts +28 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.d.ts +14 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.css +640 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.d.ts +8 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.css +179 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.d.ts +2 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/browser/components/Feedback/collect.d.ts +15 -0
- package/dist/package/browser/components/Feedback/collect.js +80 -0
- package/dist/package/browser/components/Feedback/store.d.ts +61 -0
- package/dist/package/browser/components/Feedback/store.js +174 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.css +78 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.d.ts +14 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.d.ts +1 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/browser/components/MainArea/MainArea.css +2130 -0
- package/dist/package/browser/components/MainArea/MainArea.d.ts +2 -0
- package/dist/package/browser/components/MainArea/MainArea.js +20 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.d.ts +25 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.d.ts +3 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.css +122 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.d.ts +36 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/browser/components/MenuBar/MenuBar.css +186 -0
- package/dist/package/browser/components/MenuBar/MenuBar.d.ts +27 -0
- package/dist/package/browser/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/browser/components/MenuBar/index.d.ts +1 -0
- package/dist/package/browser/components/MenuBar/index.js +1 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.d.ts +8 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.d.ts +30 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/browser/components/ModelPicker/index.d.ts +1 -0
- package/dist/package/browser/components/ModelPicker/index.js +1 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.d.ts +22 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.d.ts +2 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/browser/components/Onboarding/Onboarding.css +232 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.d.ts +10 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/browser/components/Onboarding/connect-selection.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/browser/components/Onboarding/home-transition.d.ts +9 -0
- package/dist/package/browser/components/Onboarding/home-transition.js +20 -0
- package/dist/package/browser/components/Onboarding/index.d.ts +4 -0
- package/dist/package/browser/components/Onboarding/index.js +3 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.d.ts +5 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/browser/components/Onboarding/project-name.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/project-name.js +29 -0
- package/dist/package/browser/components/Onboarding/types.d.ts +31 -0
- package/dist/package/browser/components/Onboarding/types.js +77 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.css +221 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.d.ts +3 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.d.ts +9 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/browser/components/PanelShell/PanelShell.css +517 -0
- package/dist/package/browser/components/PanelShell/PanelShell.d.ts +7 -0
- package/dist/package/browser/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/browser/components/Resize/ResizeHandle.d.ts +1 -0
- package/dist/package/browser/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.d.ts +2 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.css +138 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.d.ts +17 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.d.ts +30 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/browser/components/SettingsPrimitives.d.ts +24 -0
- package/dist/package/browser/components/SettingsPrimitives.js +145 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/browser/components/Sidebar/Sidebar.css +1393 -0
- package/dist/package/browser/components/Sidebar/Sidebar.d.ts +3 -0
- package/dist/package/browser/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.d.ts +18 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.d.ts +25 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/browser/components/StatusBar/GlobalStatusBar.css +304 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.css +174 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.d.ts +19 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/browser/components/StatusBar/StatusChip.css +52 -0
- package/dist/package/browser/components/StatusBar/StatusChip.d.ts +40 -0
- package/dist/package/browser/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/browser/components/StatusBar/StripHostView.d.ts +2 -0
- package/dist/package/browser/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/browser/components/StatusBar/StripPopover.css +58 -0
- package/dist/package/browser/components/StatusBar/StripPopover.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.d.ts +14 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/browser/components/StatusBar/footer/footer.css +178 -0
- package/dist/package/browser/components/StatusBar/healthBridge.d.ts +38 -0
- package/dist/package/browser/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/browser/components/StatusBar/healthStore.d.ts +80 -0
- package/dist/package/browser/components/StatusBar/healthStore.js +129 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.d.ts +10 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAlive.css +34 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.d.ts +3 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.css +160 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.d.ts +9 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/FsBrowser.css +156 -0
- package/dist/package/browser/components/TopBar/FsBrowser.d.ts +8 -0
- package/dist/package/browser/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.d.ts +29 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.d.ts +3 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.css +133 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.d.ts +10 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.d.ts +2 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/browser/components/TopBar/TopBar.css +1672 -0
- package/dist/package/browser/components/TopBar/TopBar.d.ts +2 -0
- package/dist/package/browser/components/TopBar/TopBar.js +606 -0
- package/dist/package/browser/components/TopBar/publish-options.d.ts +20 -0
- package/dist/package/browser/components/TopBar/publish-options.js +28 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.css +122 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.d.ts +26 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/browser/components/TourOverlay/index.d.ts +2 -0
- package/dist/package/browser/components/TourOverlay/index.js +1 -0
- package/dist/package/browser/components/ownership.d.ts +7 -0
- package/dist/package/browser/components/ownership.js +7 -0
- package/dist/package/browser/components/ui/SearchableMenu.css +143 -0
- package/dist/package/browser/components/ui/SearchableMenu.d.ts +30 -0
- package/dist/package/browser/components/ui/SearchableMenu.js +40 -0
- package/dist/package/browser/components/ui/alert-dialog.d.ts +20 -0
- package/dist/package/browser/components/ui/alert-dialog.js +38 -0
- package/dist/package/browser/components/ui/button.d.ts +11 -0
- package/dist/package/browser/components/ui/button.js +33 -0
- package/dist/package/browser/components/ui/checkbox.d.ts +4 -0
- package/dist/package/browser/components/ui/checkbox.js +8 -0
- package/dist/package/browser/components/ui/command.d.ts +74 -0
- package/dist/package/browser/components/ui/command.js +20 -0
- package/dist/package/browser/components/ui/dialog.d.ts +21 -0
- package/dist/package/browser/components/ui/dialog.js +34 -0
- package/dist/package/browser/components/ui/dropdown-menu.d.ts +18 -0
- package/dist/package/browser/components/ui/dropdown-menu.js +30 -0
- package/dist/package/browser/components/ui/input.d.ts +3 -0
- package/dist/package/browser/components/ui/input.js +8 -0
- package/dist/package/browser/components/ui/label.d.ts +4 -0
- package/dist/package/browser/components/ui/label.js +7 -0
- package/dist/package/browser/components/ui/popover.d.ts +7 -0
- package/dist/package/browser/components/ui/popover.js +10 -0
- package/dist/package/browser/components/ui/select.d.ts +11 -0
- package/dist/package/browser/components/ui/select.js +31 -0
- package/dist/package/browser/components/ui/tabs.d.ts +7 -0
- package/dist/package/browser/components/ui/tabs.js +12 -0
- package/dist/package/browser/components/ui/textarea.d.ts +3 -0
- package/dist/package/browser/components/ui/textarea.js +8 -0
- package/dist/package/browser/components/ui/tooltip.d.ts +7 -0
- package/dist/package/browser/components/ui/tooltip.js +10 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.d.ts +28 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.d.ts +2 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/browser/core/app-shell/host.d.ts +31 -0
- package/dist/package/browser/core/app-shell/host.js +188 -0
- package/dist/package/browser/core/app-shell/index.d.ts +7 -0
- package/dist/package/browser/core/app-shell/index.js +8 -0
- package/dist/package/browser/core/app-shell/logger.d.ts +2 -0
- package/dist/package/browser/core/app-shell/logger.js +6 -0
- package/dist/package/browser/core/app-shell/ownership.d.ts +7 -0
- package/dist/package/browser/core/app-shell/ownership.js +7 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.d.ts +10 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/browser/core/app-shell/surface-extension.d.ts +17 -0
- package/dist/package/browser/core/app-shell/surface-extension.js +33 -0
- package/dist/package/browser/core/app-shell/types.d.ts +176 -0
- package/dist/package/browser/core/app-shell/types.js +1 -0
- package/dist/package/browser/core/contextual-keybindings.d.ts +71 -0
- package/dist/package/browser/core/contextual-keybindings.js +198 -0
- package/dist/package/browser/core/extension-foundation/bus.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/bus.js +3 -0
- package/dist/package/browser/core/extension-foundation/capabilities.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/browser/core/extension-foundation/commands.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/commands.js +3 -0
- package/dist/package/browser/core/extension-foundation/context-keys.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/browser/core/extension-foundation/errors.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/errors.js +3 -0
- package/dist/package/browser/core/extension-foundation/index.d.ts +8 -0
- package/dist/package/browser/core/extension-foundation/index.js +9 -0
- package/dist/package/browser/core/extension-foundation/loader.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/loader.js +3 -0
- package/dist/package/browser/core/extension-foundation/storage.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/storage.js +3 -0
- package/dist/package/browser/core/extension-foundation/types.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/types.js +1 -0
- package/dist/package/browser/core/extensions/builtin-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-commands.js +256 -0
- package/dist/package/browser/core/extensions/builtin-menus.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-menus.js +252 -0
- package/dist/package/browser/core/extensions/chrome-drawer.d.ts +3 -0
- package/dist/package/browser/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.d.ts +6 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/browser/core/extensions/detached-files-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/browser/core/extensions/editor-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/editor-commands.js +182 -0
- package/dist/package/browser/core/extensions/foundation-bus.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-bus.js +3 -0
- package/dist/package/browser/core/extensions/foundation-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-commands.js +6 -0
- package/dist/package/browser/core/extensions/foundation-storage.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-storage.js +3 -0
- package/dist/package/browser/core/extensions/host-commands.d.ts +18 -0
- package/dist/package/browser/core/extensions/host-commands.js +52 -0
- package/dist/package/browser/core/extensions/observability.d.ts +14 -0
- package/dist/package/browser/core/extensions/observability.js +18 -0
- package/dist/package/browser/core/extensions/panels-chat.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-chat.js +41 -0
- package/dist/package/browser/core/extensions/panels-editor.d.ts +8 -0
- package/dist/package/browser/core/extensions/panels-editor.js +26 -0
- package/dist/package/browser/core/extensions/panels-viewport.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-viewport.js +20 -0
- package/dist/package/browser/core/extensions/session-client.d.ts +29 -0
- package/dist/package/browser/core/extensions/session-client.js +42 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.d.ts +5 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.d.ts +12 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.d.ts +3 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/browser/core/extensions/trajectory.d.ts +2 -0
- package/dist/package/browser/core/extensions/trajectory.js +50 -0
- package/dist/package/browser/core/page-navigation.d.ts +1 -0
- package/dist/package/browser/core/page-navigation.js +1 -0
- package/dist/package/browser/core/page-platform/activity.d.ts +4 -0
- package/dist/package/browser/core/page-platform/activity.js +46 -0
- package/dist/package/browser/core/page-platform/dockview-layout.d.ts +7 -0
- package/dist/package/browser/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/browser/core/page-platform/index.d.ts +8 -0
- package/dist/package/browser/core/page-platform/index.js +8 -0
- package/dist/package/browser/core/page-platform/layout-store.d.ts +18 -0
- package/dist/package/browser/core/page-platform/layout-store.js +54 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.d.ts +1 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/browser/core/page-platform/registry.d.ts +3 -0
- package/dist/package/browser/core/page-platform/registry.js +194 -0
- package/dist/package/browser/core/page-platform/resource-editor.d.ts +3 -0
- package/dist/package/browser/core/page-platform/resource-editor.js +74 -0
- package/dist/package/browser/core/page-platform/session.d.ts +10 -0
- package/dist/package/browser/core/page-platform/session.js +327 -0
- package/dist/package/browser/core/page-platform/types.d.ts +242 -0
- package/dist/package/browser/core/page-platform/types.js +10 -0
- package/dist/package/browser/core/panels/context-expression.d.ts +1 -0
- package/dist/package/browser/core/panels/context-expression.js +1 -0
- package/dist/package/browser/core/panels/drawer.d.ts +23 -0
- package/dist/package/browser/core/panels/drawer.js +1 -0
- package/dist/package/browser/core/panels/index.d.ts +7 -0
- package/dist/package/browser/core/panels/index.js +7 -0
- package/dist/package/browser/core/panels/panel-action-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-action-registry.js +62 -0
- package/dist/package/browser/core/panels/panel-control-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-control-registry.js +54 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.d.ts +10 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/browser/core/panels/strip.d.ts +40 -0
- package/dist/package/browser/core/panels/strip.js +1 -0
- package/dist/package/browser/core/panels/types.d.ts +143 -0
- package/dist/package/browser/core/panels/types.js +1 -0
- package/dist/package/browser/i18n/index.d.ts +50 -0
- package/dist/package/browser/i18n/index.js +207 -0
- package/dist/package/browser/i18n/locales/en.json +1959 -0
- package/dist/package/browser/i18n/locales/zh.json +1959 -0
- package/dist/package/browser/index.d.ts +2 -0
- package/dist/package/browser/index.js +2 -0
- package/dist/package/browser/lib/a11y-summary.d.ts +17 -0
- package/dist/package/browser/lib/a11y-summary.js +66 -0
- package/dist/package/browser/lib/action-dom-discovery.d.ts +2 -0
- package/dist/package/browser/lib/action-dom-discovery.js +84 -0
- package/dist/package/browser/lib/action-registry.d.ts +94 -0
- package/dist/package/browser/lib/action-registry.js +210 -0
- package/dist/package/browser/lib/aegis.d.ts +40 -0
- package/dist/package/browser/lib/aegis.js +230 -0
- package/dist/package/browser/lib/agent-catalog-url.d.ts +9 -0
- package/dist/package/browser/lib/agent-catalog-url.js +24 -0
- package/dist/package/browser/lib/agent-cli-provider.d.ts +10 -0
- package/dist/package/browser/lib/agent-cli-provider.js +81 -0
- package/dist/package/browser/lib/ai-intents.d.ts +30 -0
- package/dist/package/browser/lib/ai-intents.js +52 -0
- package/dist/package/browser/lib/broadcast-stream.d.ts +17 -0
- package/dist/package/browser/lib/broadcast-stream.js +163 -0
- package/dist/package/browser/lib/browser-prefs-sync.d.ts +16 -0
- package/dist/package/browser/lib/browser-prefs-sync.js +151 -0
- package/dist/package/browser/lib/builtin-actions.d.ts +2 -0
- package/dist/package/browser/lib/builtin-actions.js +558 -0
- package/dist/package/browser/lib/bus.d.ts +25 -0
- package/dist/package/browser/lib/bus.js +71 -0
- package/dist/package/browser/lib/checkpoint-api.d.ts +54 -0
- package/dist/package/browser/lib/checkpoint-api.js +41 -0
- package/dist/package/browser/lib/cli-providers.d.ts +33 -0
- package/dist/package/browser/lib/cli-providers.js +61 -0
- package/dist/package/browser/lib/command-palette-store.d.ts +5 -0
- package/dist/package/browser/lib/command-palette-store.js +22 -0
- package/dist/package/browser/lib/composer-bridge.d.ts +103 -0
- package/dist/package/browser/lib/composer-bridge.js +448 -0
- package/dist/package/browser/lib/dashboard-api.d.ts +104 -0
- package/dist/package/browser/lib/dashboard-api.js +125 -0
- package/dist/package/browser/lib/deep-link-bus.d.ts +10 -0
- package/dist/package/browser/lib/deep-link-bus.js +35 -0
- package/dist/package/browser/lib/dialog.d.ts +40 -0
- package/dist/package/browser/lib/dialog.js +103 -0
- package/dist/package/browser/lib/editor-facts-bus.d.ts +27 -0
- package/dist/package/browser/lib/editor-facts-bus.js +25 -0
- package/dist/package/browser/lib/extension-api.d.ts +140 -0
- package/dist/package/browser/lib/extension-api.js +90 -0
- package/dist/package/browser/lib/file-activity-stream.d.ts +54 -0
- package/dist/package/browser/lib/file-activity-stream.js +123 -0
- package/dist/package/browser/lib/file-family.d.ts +15 -0
- package/dist/package/browser/lib/file-family.js +25 -0
- package/dist/package/browser/lib/game-templates.d.ts +7 -0
- package/dist/package/browser/lib/game-templates.js +15 -0
- package/dist/package/browser/lib/global-shortcuts.d.ts +121 -0
- package/dist/package/browser/lib/global-shortcuts.js +551 -0
- package/dist/package/browser/lib/logSink.d.ts +16 -0
- package/dist/package/browser/lib/logSink.js +128 -0
- package/dist/package/browser/lib/lucide-icon.d.ts +5 -0
- package/dist/package/browser/lib/lucide-icon.js +20 -0
- package/dist/package/browser/lib/menu-registry.d.ts +113 -0
- package/dist/package/browser/lib/menu-registry.js +197 -0
- package/dist/package/browser/lib/model-config.d.ts +89 -0
- package/dist/package/browser/lib/model-config.js +72 -0
- package/dist/package/browser/lib/model-prefs.d.ts +5 -0
- package/dist/package/browser/lib/model-prefs.js +53 -0
- package/dist/package/browser/lib/model-route/index.d.ts +81 -0
- package/dist/package/browser/lib/model-route/index.js +175 -0
- package/dist/package/browser/lib/narrative-copilot.d.ts +20 -0
- package/dist/package/browser/lib/narrative-copilot.js +105 -0
- package/dist/package/browser/lib/native-menu-bridge.d.ts +37 -0
- package/dist/package/browser/lib/native-menu-bridge.js +151 -0
- package/dist/package/browser/lib/page-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/page-tab-icons.js +64 -0
- package/dist/package/browser/lib/panel-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/panel-tab-icons.js +49 -0
- package/dist/package/browser/lib/passive-feedback.d.ts +50 -0
- package/dist/package/browser/lib/passive-feedback.js +171 -0
- package/dist/package/browser/lib/perception-stream.d.ts +27 -0
- package/dist/package/browser/lib/perception-stream.js +42 -0
- package/dist/package/browser/lib/platform/index.d.ts +14 -0
- package/dist/package/browser/lib/platform/index.js +13 -0
- package/dist/package/browser/lib/platform/runtime.d.ts +22 -0
- package/dist/package/browser/lib/platform/runtime.js +42 -0
- package/dist/package/browser/lib/platform/shell-adapter.d.ts +24 -0
- package/dist/package/browser/lib/platform/shell-adapter.js +74 -0
- package/dist/package/browser/lib/platform/surface-windowing.d.ts +4 -0
- package/dist/package/browser/lib/platform/surface-windowing.js +16 -0
- package/dist/package/browser/lib/platform/surface.d.ts +13 -0
- package/dist/package/browser/lib/platform/surface.js +27 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.d.ts +1 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/browser/lib/platform/window-manager.d.ts +2 -0
- package/dist/package/browser/lib/platform/window-manager.js +82 -0
- package/dist/package/browser/lib/project-context.d.ts +4 -0
- package/dist/package/browser/lib/project-context.js +42 -0
- package/dist/package/browser/lib/project.d.ts +5 -0
- package/dist/package/browser/lib/project.js +8 -0
- package/dist/package/browser/lib/recent-games.d.ts +24 -0
- package/dist/package/browser/lib/recent-games.js +50 -0
- package/dist/package/browser/lib/repair-builtin-menus.d.ts +6 -0
- package/dist/package/browser/lib/repair-builtin-menus.js +18 -0
- package/dist/package/browser/lib/reply-language.d.ts +9 -0
- package/dist/package/browser/lib/reply-language.js +11 -0
- package/dist/package/browser/lib/resilient-polling.d.ts +9 -0
- package/dist/package/browser/lib/resilient-polling.js +16 -0
- package/dist/package/browser/lib/session-time.d.ts +8 -0
- package/dist/package/browser/lib/session-time.js +40 -0
- package/dist/package/browser/lib/shell-live-data.d.ts +12 -0
- package/dist/package/browser/lib/shell-live-data.js +66 -0
- package/dist/package/browser/lib/sse.d.ts +5 -0
- package/dist/package/browser/lib/sse.js +42 -0
- package/dist/package/browser/lib/storageKeys.d.ts +70 -0
- package/dist/package/browser/lib/storageKeys.js +89 -0
- package/dist/package/browser/lib/surface-store.d.ts +38 -0
- package/dist/package/browser/lib/surface-store.js +62 -0
- package/dist/package/browser/lib/surface.d.ts +56 -0
- package/dist/package/browser/lib/surface.js +225 -0
- package/dist/package/browser/lib/surfaceAnchors.d.ts +16 -0
- package/dist/package/browser/lib/surfaceAnchors.js +76 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.d.ts +7 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/browser/lib/telemetry-test-prelude.d.ts +0 -0
- package/dist/package/browser/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/browser/lib/text-edit-actions.d.ts +14 -0
- package/dist/package/browser/lib/text-edit-actions.js +184 -0
- package/dist/package/browser/lib/trace.d.ts +34 -0
- package/dist/package/browser/lib/trace.js +273 -0
- package/dist/package/browser/lib/trustedOrigins.d.ts +4 -0
- package/dist/package/browser/lib/trustedOrigins.js +36 -0
- package/dist/package/browser/lib/ui-action-highlight.d.ts +2 -0
- package/dist/package/browser/lib/ui-action-highlight.js +93 -0
- package/dist/package/browser/lib/ui-bridge.d.ts +2 -0
- package/dist/package/browser/lib/ui-bridge.js +224 -0
- package/dist/package/browser/lib/ui-screenshot.d.ts +31 -0
- package/dist/package/browser/lib/ui-screenshot.js +155 -0
- package/dist/package/browser/lib/ui-trajectory.d.ts +47 -0
- package/dist/package/browser/lib/ui-trajectory.js +99 -0
- package/dist/package/browser/lib/use-bus-snapshot.d.ts +3 -0
- package/dist/package/browser/lib/use-bus-snapshot.js +13 -0
- package/dist/package/browser/lib/use-extension-manifest.d.ts +19 -0
- package/dist/package/browser/lib/use-extension-manifest.js +67 -0
- package/dist/package/browser/lib/useConfirmToast.d.ts +26 -0
- package/dist/package/browser/lib/useConfirmToast.js +120 -0
- package/dist/package/browser/lib/utils.d.ts +2 -0
- package/dist/package/browser/lib/utils.js +5 -0
- package/dist/package/browser/lib/vag-action-bridge.d.ts +2 -0
- package/dist/package/browser/lib/vag-action-bridge.js +130 -0
- package/dist/package/browser/main.d.ts +1 -0
- package/dist/package/browser/main.js +157 -0
- package/dist/package/browser/store-parts/domain-clients.d.ts +149 -0
- package/dist/package/browser/store-parts/domain-clients.js +17 -0
- package/dist/package/browser/store-parts/observability.d.ts +4 -0
- package/dist/package/browser/store-parts/observability.js +35 -0
- package/dist/package/browser/store-parts/persistence.d.ts +40 -0
- package/dist/package/browser/store-parts/persistence.js +245 -0
- package/dist/package/browser/store-parts/session-client.d.ts +73 -0
- package/dist/package/browser/store-parts/session-client.js +17 -0
- package/dist/package/browser/store-parts/session-pick.d.ts +8 -0
- package/dist/package/browser/store-parts/session-pick.js +21 -0
- package/dist/package/browser/store-parts/shell.d.ts +5 -0
- package/dist/package/browser/store-parts/shell.js +37 -0
- package/dist/package/browser/store.d.ts +455 -0
- package/dist/package/browser/store.js +890 -0
- package/dist/package/browser/styles/forgeax-preview/agent-avatar.css +69 -0
- package/dist/package/browser/styles/forgeax-preview/aliases.css +21 -0
- package/dist/package/browser/styles/forgeax-preview/chat-popover.css +141 -0
- package/dist/package/browser/styles/forgeax-preview/chat-session.css +896 -0
- package/dist/package/browser/styles/forgeax-preview/composer-port.css +531 -0
- package/dist/package/browser/styles/forgeax-preview/design-tokens.css +25 -0
- package/dist/package/browser/styles/forgeax-preview/index.css +9 -0
- package/dist/package/browser/styles/forgeax-preview/scene-fx.css +117 -0
- package/dist/package/browser/styles/forgeax-preview/shell-layout.css +280 -0
- package/dist/package/browser/styles/forgeax-preview/shell-skin.css +128 -0
- package/dist/package/browser/styles/foundation.tokens.json +2755 -0
- package/dist/package/browser/styles/global.css +196 -0
- package/dist/package/browser/styles/motion.css +558 -0
- package/dist/package/browser/styles/plugin-token-bridge.css +19 -0
- package/dist/package/browser/styles/primitive.css +197 -0
- package/dist/package/browser/styles/semantic.tokens.json +1524 -0
- package/dist/package/browser/styles/tokens.css +304 -0
- package/dist/package/node/App.js +11 -0
- package/dist/package/node/ApplicationDetachedShell.js +10 -0
- package/dist/package/node/ApplicationShell.js +62 -0
- package/dist/package/node/app-kit.js +4 -0
- package/dist/package/node/appHostBootstrap.js +145 -0
- package/dist/package/node/application.js +64 -0
- package/dist/package/node/boot/SettingsSection.js +82 -0
- package/dist/package/node/boot/broadcast.js +32 -0
- package/dist/package/node/boot/driver.js +47 -0
- package/dist/package/node/boot/store.js +114 -0
- package/dist/package/node/boot/themes.js +21 -0
- package/dist/package/node/boot/types.js +30 -0
- package/dist/package/node/brand/BrandProvider.js +35 -0
- package/dist/package/node/brand/index.js +3 -0
- package/dist/package/node/brand/runtime.js +71 -0
- package/dist/package/node/brand/types.js +9 -0
- package/dist/package/node/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/node/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/node/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/node/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/node/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/node/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/node/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/node/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/node/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/node/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/node/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/node/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/node/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/node/components/DetachedSurface.js +102 -0
- package/dist/package/node/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/node/components/DockShell/DockRegion.js +315 -0
- package/dist/package/node/components/DockShell/DockTab.js +139 -0
- package/dist/package/node/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/node/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/node/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/node/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/node/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/node/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/node/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/node/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/node/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/node/components/DockShell/dockTitle.js +36 -0
- package/dist/package/node/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/node/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/node/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/node/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/node/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/node/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/node/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/node/components/DockShell/footer-panels.js +7 -0
- package/dist/package/node/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/node/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/node/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/node/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/node/components/DockShell/regions.js +1 -0
- package/dist/package/node/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/node/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/node/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/node/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/node/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/node/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/node/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/node/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/node/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/node/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/node/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/node/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/node/components/ErrorBoundary.js +131 -0
- package/dist/package/node/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/node/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/node/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/node/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/node/components/Feedback/collect.js +80 -0
- package/dist/package/node/components/Feedback/store.js +174 -0
- package/dist/package/node/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/node/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/node/components/MainArea/MainArea.js +20 -0
- package/dist/package/node/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/node/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/node/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/node/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/node/components/MenuBar/index.js +1 -0
- package/dist/package/node/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/node/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/node/components/ModelPicker/index.js +1 -0
- package/dist/package/node/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/node/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/node/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/node/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/node/components/Onboarding/home-transition.js +20 -0
- package/dist/package/node/components/Onboarding/index.js +3 -0
- package/dist/package/node/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/node/components/Onboarding/project-name.js +29 -0
- package/dist/package/node/components/Onboarding/types.js +77 -0
- package/dist/package/node/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/node/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/node/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/node/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/node/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/node/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/node/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/node/components/SettingsPrimitives.js +145 -0
- package/dist/package/node/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/node/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/node/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/node/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/node/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/node/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/node/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/node/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/node/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/node/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/node/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/node/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/node/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/node/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/node/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/node/components/StatusBar/healthStore.js +129 -0
- package/dist/package/node/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/node/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/node/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/node/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/node/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/node/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/node/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/node/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/node/components/TopBar/TopBar.js +606 -0
- package/dist/package/node/components/TopBar/publish-options.js +28 -0
- package/dist/package/node/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/node/components/TourOverlay/index.js +1 -0
- package/dist/package/node/components/ownership.js +7 -0
- package/dist/package/node/components/ui/SearchableMenu.js +40 -0
- package/dist/package/node/components/ui/alert-dialog.js +38 -0
- package/dist/package/node/components/ui/button.js +33 -0
- package/dist/package/node/components/ui/checkbox.js +8 -0
- package/dist/package/node/components/ui/command.js +20 -0
- package/dist/package/node/components/ui/dialog.js +34 -0
- package/dist/package/node/components/ui/dropdown-menu.js +30 -0
- package/dist/package/node/components/ui/input.js +8 -0
- package/dist/package/node/components/ui/label.js +7 -0
- package/dist/package/node/components/ui/popover.js +10 -0
- package/dist/package/node/components/ui/select.js +31 -0
- package/dist/package/node/components/ui/tabs.js +12 -0
- package/dist/package/node/components/ui/textarea.js +8 -0
- package/dist/package/node/components/ui/tooltip.js +10 -0
- package/dist/package/node/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/node/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/node/core/app-shell/host.js +188 -0
- package/dist/package/node/core/app-shell/index.js +8 -0
- package/dist/package/node/core/app-shell/logger.js +6 -0
- package/dist/package/node/core/app-shell/ownership.js +7 -0
- package/dist/package/node/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/node/core/app-shell/surface-extension.js +33 -0
- package/dist/package/node/core/app-shell/types.js +1 -0
- package/dist/package/node/core/contextual-keybindings.js +198 -0
- package/dist/package/node/core/extension-foundation/bus.js +3 -0
- package/dist/package/node/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/node/core/extension-foundation/commands.js +3 -0
- package/dist/package/node/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/node/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/node/core/extension-foundation/errors.js +3 -0
- package/dist/package/node/core/extension-foundation/index.js +9 -0
- package/dist/package/node/core/extension-foundation/loader.js +3 -0
- package/dist/package/node/core/extension-foundation/storage.js +3 -0
- package/dist/package/node/core/extension-foundation/types.js +1 -0
- package/dist/package/node/core/extensions/builtin-commands.js +256 -0
- package/dist/package/node/core/extensions/builtin-menus.js +252 -0
- package/dist/package/node/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/node/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/node/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/node/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/node/core/extensions/editor-commands.js +182 -0
- package/dist/package/node/core/extensions/foundation-bus.js +3 -0
- package/dist/package/node/core/extensions/foundation-commands.js +6 -0
- package/dist/package/node/core/extensions/foundation-storage.js +3 -0
- package/dist/package/node/core/extensions/host-commands.js +52 -0
- package/dist/package/node/core/extensions/observability.js +18 -0
- package/dist/package/node/core/extensions/panels-chat.js +41 -0
- package/dist/package/node/core/extensions/panels-editor.js +26 -0
- package/dist/package/node/core/extensions/panels-viewport.js +20 -0
- package/dist/package/node/core/extensions/session-client.js +42 -0
- package/dist/package/node/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/node/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/node/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/node/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/node/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/node/core/extensions/trajectory.js +50 -0
- package/dist/package/node/core/page-navigation.js +1 -0
- package/dist/package/node/core/page-platform/activity.js +46 -0
- package/dist/package/node/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/node/core/page-platform/index.js +8 -0
- package/dist/package/node/core/page-platform/layout-store.js +54 -0
- package/dist/package/node/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/node/core/page-platform/registry.js +194 -0
- package/dist/package/node/core/page-platform/resource-editor.js +74 -0
- package/dist/package/node/core/page-platform/session.js +327 -0
- package/dist/package/node/core/page-platform/types.js +10 -0
- package/dist/package/node/core/panels/context-expression.js +1 -0
- package/dist/package/node/core/panels/drawer.js +1 -0
- package/dist/package/node/core/panels/index.js +7 -0
- package/dist/package/node/core/panels/panel-action-registry.js +62 -0
- package/dist/package/node/core/panels/panel-control-registry.js +54 -0
- package/dist/package/node/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/node/core/panels/strip.js +1 -0
- package/dist/package/node/core/panels/types.js +1 -0
- package/dist/package/node/i18n/index.js +207 -0
- package/dist/package/node/i18n/locales/en.json +1959 -0
- package/dist/package/node/i18n/locales/zh.json +1959 -0
- package/dist/package/node/index.js +2 -0
- package/dist/package/node/lib/a11y-summary.js +66 -0
- package/dist/package/node/lib/action-dom-discovery.js +84 -0
- package/dist/package/node/lib/action-registry.js +210 -0
- package/dist/package/node/lib/aegis.js +230 -0
- package/dist/package/node/lib/agent-catalog-url.js +24 -0
- package/dist/package/node/lib/agent-cli-provider.js +81 -0
- package/dist/package/node/lib/ai-intents.js +52 -0
- package/dist/package/node/lib/broadcast-stream.js +163 -0
- package/dist/package/node/lib/browser-prefs-sync.js +151 -0
- package/dist/package/node/lib/builtin-actions.js +558 -0
- package/dist/package/node/lib/bus.js +71 -0
- package/dist/package/node/lib/checkpoint-api.js +41 -0
- package/dist/package/node/lib/cli-providers.js +61 -0
- package/dist/package/node/lib/command-palette-store.js +22 -0
- package/dist/package/node/lib/composer-bridge.js +448 -0
- package/dist/package/node/lib/dashboard-api.js +125 -0
- package/dist/package/node/lib/deep-link-bus.js +35 -0
- package/dist/package/node/lib/dialog.js +103 -0
- package/dist/package/node/lib/editor-facts-bus.js +25 -0
- package/dist/package/node/lib/extension-api.js +90 -0
- package/dist/package/node/lib/file-activity-stream.js +123 -0
- package/dist/package/node/lib/file-family.js +25 -0
- package/dist/package/node/lib/game-templates.js +15 -0
- package/dist/package/node/lib/global-shortcuts.js +551 -0
- package/dist/package/node/lib/logSink.js +128 -0
- package/dist/package/node/lib/lucide-icon.js +20 -0
- package/dist/package/node/lib/menu-registry.js +197 -0
- package/dist/package/node/lib/model-config.js +72 -0
- package/dist/package/node/lib/model-prefs.js +53 -0
- package/dist/package/node/lib/model-route/index.js +175 -0
- package/dist/package/node/lib/narrative-copilot.js +105 -0
- package/dist/package/node/lib/native-menu-bridge.js +151 -0
- package/dist/package/node/lib/page-tab-icons.js +64 -0
- package/dist/package/node/lib/panel-tab-icons.js +49 -0
- package/dist/package/node/lib/passive-feedback.js +171 -0
- package/dist/package/node/lib/perception-stream.js +42 -0
- package/dist/package/node/lib/platform/index.js +13 -0
- package/dist/package/node/lib/platform/runtime.js +42 -0
- package/dist/package/node/lib/platform/shell-adapter.js +74 -0
- package/dist/package/node/lib/platform/surface-windowing.js +16 -0
- package/dist/package/node/lib/platform/surface.js +27 -0
- package/dist/package/node/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/node/lib/platform/window-manager.js +82 -0
- package/dist/package/node/lib/project-context.js +42 -0
- package/dist/package/node/lib/project.js +8 -0
- package/dist/package/node/lib/recent-games.js +50 -0
- package/dist/package/node/lib/repair-builtin-menus.js +18 -0
- package/dist/package/node/lib/reply-language.js +11 -0
- package/dist/package/node/lib/resilient-polling.js +16 -0
- package/dist/package/node/lib/session-time.js +40 -0
- package/dist/package/node/lib/shell-live-data.js +66 -0
- package/dist/package/node/lib/sse.js +42 -0
- package/dist/package/node/lib/storageKeys.js +89 -0
- package/dist/package/node/lib/surface-store.js +62 -0
- package/dist/package/node/lib/surface.js +225 -0
- package/dist/package/node/lib/surfaceAnchors.js +76 -0
- package/dist/package/node/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/node/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/node/lib/text-edit-actions.js +184 -0
- package/dist/package/node/lib/trace.js +273 -0
- package/dist/package/node/lib/trustedOrigins.js +36 -0
- package/dist/package/node/lib/ui-action-highlight.js +93 -0
- package/dist/package/node/lib/ui-bridge.js +224 -0
- package/dist/package/node/lib/ui-screenshot.js +155 -0
- package/dist/package/node/lib/ui-trajectory.js +99 -0
- package/dist/package/node/lib/use-bus-snapshot.js +13 -0
- package/dist/package/node/lib/use-extension-manifest.js +67 -0
- package/dist/package/node/lib/useConfirmToast.js +120 -0
- package/dist/package/node/lib/utils.js +5 -0
- package/dist/package/node/lib/vag-action-bridge.js +130 -0
- package/dist/package/node/main.js +157 -0
- package/dist/package/node/store-parts/domain-clients.js +17 -0
- package/dist/package/node/store-parts/observability.js +35 -0
- package/dist/package/node/store-parts/persistence.js +245 -0
- package/dist/package/node/store-parts/session-client.js +17 -0
- package/dist/package/node/store-parts/session-pick.js +21 -0
- package/dist/package/node/store-parts/shell.js +37 -0
- package/dist/package/node/store.js +890 -0
- package/dist/package/node/styles/foundation.tokens.json +2755 -0
- package/dist/package/node/styles/semantic.tokens.json +1524 -0
- package/dist/package/packages/design/styles/fx-bridge.css +25 -0
- package/dist/package/packages/design/styles/primitive.css +199 -0
- package/dist/package/packages/design/styles/semantic.css +262 -0
- package/dist/package/packages/design/theme.d.ts +15 -0
- package/dist/package/packages/design/theme.js +31 -0
- package/dist/package/packages/design/tokens.css +14 -0
- package/package.json +145 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/** dockview `Position` — identical set, reused so `moveTo({ position })` takes
|
|
2
|
+
* a UePosition directly without translation. */
|
|
3
|
+
export type UePosition = 'top' | 'bottom' | 'left' | 'right' | 'center';
|
|
4
|
+
/** Outer (dock-to-whole-region) targets have no center. */
|
|
5
|
+
export type UeOuterPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
6
|
+
export interface Rect {
|
|
7
|
+
readonly x: number;
|
|
8
|
+
readonly y: number;
|
|
9
|
+
readonly width: number;
|
|
10
|
+
readonly height: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Point {
|
|
13
|
+
readonly x: number;
|
|
14
|
+
readonly y: number;
|
|
15
|
+
}
|
|
16
|
+
/** Director footprint tuning. Kept here (not in CSS) so hit-testing and
|
|
17
|
+
* rendering agree to the pixel — the overlay reads the SAME shapes it draws.
|
|
18
|
+
* The director fills the group's CONTENT area (tab strip excluded) as a large
|
|
19
|
+
* center rectangle framed by four shallow trapezoids — NOT corner-to-corner
|
|
20
|
+
* triangles. A large center is what keeps the four shapes trapezoidal. */
|
|
21
|
+
export declare const UE_DIRECTOR_MARGIN = 6;
|
|
22
|
+
export declare const UE_DIRECTOR_CENTER_RATIO = 0.46;
|
|
23
|
+
export declare const UE_DIRECTOR_CENTER_MIN_W = 64;
|
|
24
|
+
export declare const UE_DIRECTOR_CENTER_MIN_H = 52;
|
|
25
|
+
export declare const UE_OUTER_BUTTON = 40;
|
|
26
|
+
export declare const UE_OUTER_MARGIN = 16;
|
|
27
|
+
export declare function pointInRect(p: Point, r: Rect): boolean;
|
|
28
|
+
/** A trapezoid, as four viewport-space points (wide outer edge → narrow inner
|
|
29
|
+
* edge), ready to hand straight to an SVG `<polygon points>`. */
|
|
30
|
+
export type Polygon = readonly Point[];
|
|
31
|
+
export interface DirectorLayout {
|
|
32
|
+
/** Widget center. */
|
|
33
|
+
readonly cx: number;
|
|
34
|
+
readonly cy: number;
|
|
35
|
+
/** Filled bounds = the group inset by a small margin. */
|
|
36
|
+
readonly bounds: Rect;
|
|
37
|
+
/** Center square — merge the panel in as a tab. */
|
|
38
|
+
readonly center: Rect;
|
|
39
|
+
/** Directional trapezoids, wide edge on a group edge, narrow edge on the
|
|
40
|
+
* center square, split along the group's real (aspect-aware) diagonals. */
|
|
41
|
+
readonly top: Polygon;
|
|
42
|
+
readonly bottom: Polygon;
|
|
43
|
+
readonly left: Polygon;
|
|
44
|
+
readonly right: Polygon;
|
|
45
|
+
}
|
|
46
|
+
/** Build the dock director filling `content` (the group's content area, inset by
|
|
47
|
+
* a small margin): a LARGE center rectangle framed by four shallow trapezoids.
|
|
48
|
+
* Because the center is large, the surrounding shapes read as trapezoids rather
|
|
49
|
+
* than corner-reaching triangles. */
|
|
50
|
+
export declare function directorLayout(content: Rect, margin?: number): DirectorLayout;
|
|
51
|
+
/** Which director shape (if any) the pointer is over. Center square wins; the
|
|
52
|
+
* surrounding ring is split along the group's real diagonals (aspect-aware, so
|
|
53
|
+
* the split lines actually hit the rectangle corners) into four trapezoids. */
|
|
54
|
+
export declare function hitDirector(layout: DirectorLayout, p: Point): UePosition | null;
|
|
55
|
+
export type OuterLayout = Readonly<Record<UeOuterPosition, Rect>>;
|
|
56
|
+
/** Four dock-to-whole-region buttons pinned just inside the region's edges. */
|
|
57
|
+
export declare function outerTargets(wrap: Rect, button?: number, margin?: number): OuterLayout;
|
|
58
|
+
export declare function hitOuter(layout: OuterLayout, p: Point): UeOuterPosition | null;
|
|
59
|
+
/** The translucent preview rectangle for a group-relative drop. Edges take half
|
|
60
|
+
* the group along their axis; center covers the whole group. */
|
|
61
|
+
export declare function previewRect(group: Rect, pos: UePosition): Rect;
|
|
62
|
+
/** The preview rectangle for an outer (dock-to-whole-region) drop: a third of
|
|
63
|
+
* the region on the chosen side (UE reserves a slab, not a half, for the shell
|
|
64
|
+
* edge so the remaining layout stays legible). */
|
|
65
|
+
export declare function outerPreviewRect(wrap: Rect, pos: UeOuterPosition, ratio?: number): Rect;
|
|
66
|
+
/** Pick the innermost (smallest-area) group whose rect contains the point.
|
|
67
|
+
* dockview groups never truly nest, but tolerant selection keeps the choice
|
|
68
|
+
* stable when rects touch at shared sashes. */
|
|
69
|
+
export declare function pickGroup<T extends {
|
|
70
|
+
readonly rect: Rect;
|
|
71
|
+
}>(p: Point, groups: readonly T[]): T | null;
|
|
72
|
+
/** Smallest rect covering both inputs. */
|
|
73
|
+
export declare function unionRect(a: Rect, b: Rect): Rect;
|
|
74
|
+
/** A tab strip runs along one axis: 'x' for the horizontal grid/footer strips,
|
|
75
|
+
* 'y' for the vertical left/right edge strips. */
|
|
76
|
+
export type StripAxis = 'x' | 'y';
|
|
77
|
+
export interface StripInsertion {
|
|
78
|
+
/** Index the dropped panel takes among the strip's CURRENT tabs. */
|
|
79
|
+
readonly index: number;
|
|
80
|
+
/** Slot the incoming tab occupies — the ghost-tab preview footprint. */
|
|
81
|
+
readonly slot: Rect;
|
|
82
|
+
}
|
|
83
|
+
/** Minimum slot length; matches the edge strip's `min-width/height: 104px`. */
|
|
84
|
+
export declare const UE_STRIP_SLOT_MIN = 104;
|
|
85
|
+
/** Where a tab dropped at `p` lands in a strip of existing tabs. The index is
|
|
86
|
+
* decided by tab MIDPOINTS along the strip axis, which is what makes a drag
|
|
87
|
+
* along the strip reorder continuously: once the slot opens between two tabs
|
|
88
|
+
* the cursor sits in that gap, and both neighbours' midpoints stay on their
|
|
89
|
+
* own side of it, so the choice is stable until the cursor passes the next
|
|
90
|
+
* midpoint. `tabs` must be in DOM order and exclude the slot itself. */
|
|
91
|
+
export declare function stripInsertion(tabs: readonly Rect[], strip: Rect, p: Point, axis: StripAxis, minSlot?: number): StripInsertion;
|
|
92
|
+
/** Map a UePosition to the dockview grid `Direction` used by `addGroup`/
|
|
93
|
+
* `addPanel({ position })`. 'center' has no absolute direction. */
|
|
94
|
+
export declare function toGridDirection(pos: UePosition): 'above' | 'below' | 'left' | 'right' | 'within';
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
// Pure geometry for the Unreal-Engine-style dock drag overlay.
|
|
2
|
+
//
|
|
3
|
+
// UE's docking model is DISCRETE and uses a "dock director" widget painted at
|
|
4
|
+
// the center of the group under the cursor: a small center SQUARE surrounded by
|
|
5
|
+
// four TRAPEZOIDS (top/bottom/left/right) that tile the ring between the center
|
|
6
|
+
// square and the widget's outer square along its diagonals. The four trapezoids
|
|
7
|
+
// pick a split direction; the center square merges the panel in as a tab. On
|
|
8
|
+
// top of that, four "dock to the whole region" buttons sit at the region edges.
|
|
9
|
+
// The drop is decided by which SHAPE the cursor is over — not a free-form
|
|
10
|
+
// cursor-region heuristic. This module is the single source of truth for those
|
|
11
|
+
// shapes, their hit-testing, and the translucent preview slab.
|
|
12
|
+
//
|
|
13
|
+
// Everything here is framebuffer-agnostic (plain numbers), so it is exhaustively
|
|
14
|
+
// unit-testable without a DOM. The imperative overlay (overlay.ts) and the drag
|
|
15
|
+
// controller (controller.ts) consume these helpers; they own no geometry of
|
|
16
|
+
// their own.
|
|
17
|
+
/** Director footprint tuning. Kept here (not in CSS) so hit-testing and
|
|
18
|
+
* rendering agree to the pixel — the overlay reads the SAME shapes it draws.
|
|
19
|
+
* The director fills the group's CONTENT area (tab strip excluded) as a large
|
|
20
|
+
* center rectangle framed by four shallow trapezoids — NOT corner-to-corner
|
|
21
|
+
* triangles. A large center is what keeps the four shapes trapezoidal. */
|
|
22
|
+
export const UE_DIRECTOR_MARGIN = 6; // inset from the content edges (px)
|
|
23
|
+
export const UE_DIRECTOR_CENTER_RATIO = 0.46; // center rectangle ÷ content side
|
|
24
|
+
export const UE_DIRECTOR_CENTER_MIN_W = 64;
|
|
25
|
+
export const UE_DIRECTOR_CENTER_MIN_H = 52;
|
|
26
|
+
export const UE_OUTER_BUTTON = 40;
|
|
27
|
+
export const UE_OUTER_MARGIN = 16;
|
|
28
|
+
export function pointInRect(p, r) {
|
|
29
|
+
return p.x >= r.x && p.x <= r.x + r.width && p.y >= r.y && p.y <= r.y + r.height;
|
|
30
|
+
}
|
|
31
|
+
function centeredSquare(cx, cy, size) {
|
|
32
|
+
return { x: cx - size / 2, y: cy - size / 2, width: size, height: size };
|
|
33
|
+
}
|
|
34
|
+
function clamp(n, lo, hi) {
|
|
35
|
+
return Math.max(lo, Math.min(hi, n));
|
|
36
|
+
}
|
|
37
|
+
/** Build the dock director filling `content` (the group's content area, inset by
|
|
38
|
+
* a small margin): a LARGE center rectangle framed by four shallow trapezoids.
|
|
39
|
+
* Because the center is large, the surrounding shapes read as trapezoids rather
|
|
40
|
+
* than corner-reaching triangles. */
|
|
41
|
+
export function directorLayout(content, margin = UE_DIRECTOR_MARGIN) {
|
|
42
|
+
const m = Math.min(margin, content.width / 6, content.height / 6);
|
|
43
|
+
const bx = content.x + m;
|
|
44
|
+
const by = content.y + m;
|
|
45
|
+
const bw = content.width - 2 * m;
|
|
46
|
+
const bh = content.height - 2 * m;
|
|
47
|
+
const cx = bx + bw / 2;
|
|
48
|
+
const cy = by + bh / 2;
|
|
49
|
+
const cW = clamp(bw * UE_DIRECTOR_CENTER_RATIO, Math.min(UE_DIRECTOR_CENTER_MIN_W, bw), bw);
|
|
50
|
+
const cH = clamp(bh * UE_DIRECTOR_CENTER_RATIO, Math.min(UE_DIRECTOR_CENTER_MIN_H, bh), bh);
|
|
51
|
+
const cwh = cW / 2;
|
|
52
|
+
const chh = cH / 2;
|
|
53
|
+
const oTL = { x: bx, y: by };
|
|
54
|
+
const oTR = { x: bx + bw, y: by };
|
|
55
|
+
const oBR = { x: bx + bw, y: by + bh };
|
|
56
|
+
const oBL = { x: bx, y: by + bh };
|
|
57
|
+
const cTL = { x: cx - cwh, y: cy - chh };
|
|
58
|
+
const cTR = { x: cx + cwh, y: cy - chh };
|
|
59
|
+
const cBR = { x: cx + cwh, y: cy + chh };
|
|
60
|
+
const cBL = { x: cx - cwh, y: cy + chh };
|
|
61
|
+
return {
|
|
62
|
+
cx,
|
|
63
|
+
cy,
|
|
64
|
+
bounds: { x: bx, y: by, width: bw, height: bh },
|
|
65
|
+
center: { x: cx - cwh, y: cy - chh, width: cW, height: cH },
|
|
66
|
+
top: [oTL, oTR, cTR, cTL],
|
|
67
|
+
right: [oTR, oBR, cBR, cTR],
|
|
68
|
+
bottom: [oBR, oBL, cBL, cBR],
|
|
69
|
+
left: [oBL, oTL, cTL, cBL],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Which director shape (if any) the pointer is over. Center square wins; the
|
|
73
|
+
* surrounding ring is split along the group's real diagonals (aspect-aware, so
|
|
74
|
+
* the split lines actually hit the rectangle corners) into four trapezoids. */
|
|
75
|
+
export function hitDirector(layout, p) {
|
|
76
|
+
if (pointInRect(p, layout.center))
|
|
77
|
+
return 'center';
|
|
78
|
+
if (!pointInRect(p, layout.bounds))
|
|
79
|
+
return null;
|
|
80
|
+
const dx = (p.x - layout.cx) / (layout.bounds.width / 2);
|
|
81
|
+
const dy = (p.y - layout.cy) / (layout.bounds.height / 2);
|
|
82
|
+
if (Math.abs(dx) >= Math.abs(dy))
|
|
83
|
+
return dx < 0 ? 'left' : 'right';
|
|
84
|
+
return dy < 0 ? 'top' : 'bottom';
|
|
85
|
+
}
|
|
86
|
+
/** Four dock-to-whole-region buttons pinned just inside the region's edges. */
|
|
87
|
+
export function outerTargets(wrap, button = UE_OUTER_BUTTON, margin = UE_OUTER_MARGIN) {
|
|
88
|
+
const cx = wrap.x + wrap.width / 2;
|
|
89
|
+
const cy = wrap.y + wrap.height / 2;
|
|
90
|
+
return {
|
|
91
|
+
top: centeredSquare(cx, wrap.y + margin + button / 2, button),
|
|
92
|
+
bottom: centeredSquare(cx, wrap.y + wrap.height - margin - button / 2, button),
|
|
93
|
+
left: centeredSquare(wrap.x + margin + button / 2, cy, button),
|
|
94
|
+
right: centeredSquare(wrap.x + wrap.width - margin - button / 2, cy, button),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export function hitOuter(layout, p) {
|
|
98
|
+
const order = ['top', 'bottom', 'left', 'right'];
|
|
99
|
+
for (const pos of order) {
|
|
100
|
+
if (pointInRect(p, layout[pos]))
|
|
101
|
+
return pos;
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
/** The translucent preview rectangle for a group-relative drop. Edges take half
|
|
106
|
+
* the group along their axis; center covers the whole group. */
|
|
107
|
+
export function previewRect(group, pos) {
|
|
108
|
+
const half = (n) => n / 2;
|
|
109
|
+
switch (pos) {
|
|
110
|
+
case 'top':
|
|
111
|
+
return { x: group.x, y: group.y, width: group.width, height: half(group.height) };
|
|
112
|
+
case 'bottom':
|
|
113
|
+
return { x: group.x, y: group.y + half(group.height), width: group.width, height: half(group.height) };
|
|
114
|
+
case 'left':
|
|
115
|
+
return { x: group.x, y: group.y, width: half(group.width), height: group.height };
|
|
116
|
+
case 'right':
|
|
117
|
+
return { x: group.x + half(group.width), y: group.y, width: half(group.width), height: group.height };
|
|
118
|
+
case 'center':
|
|
119
|
+
default:
|
|
120
|
+
return { ...group };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** The preview rectangle for an outer (dock-to-whole-region) drop: a third of
|
|
124
|
+
* the region on the chosen side (UE reserves a slab, not a half, for the shell
|
|
125
|
+
* edge so the remaining layout stays legible). */
|
|
126
|
+
export function outerPreviewRect(wrap, pos, ratio = 1 / 3) {
|
|
127
|
+
const slabW = wrap.width * ratio;
|
|
128
|
+
const slabH = wrap.height * ratio;
|
|
129
|
+
switch (pos) {
|
|
130
|
+
case 'top':
|
|
131
|
+
return { x: wrap.x, y: wrap.y, width: wrap.width, height: slabH };
|
|
132
|
+
case 'bottom':
|
|
133
|
+
return { x: wrap.x, y: wrap.y + wrap.height - slabH, width: wrap.width, height: slabH };
|
|
134
|
+
case 'left':
|
|
135
|
+
return { x: wrap.x, y: wrap.y, width: slabW, height: wrap.height };
|
|
136
|
+
case 'right':
|
|
137
|
+
default:
|
|
138
|
+
return { x: wrap.x + wrap.width - slabW, y: wrap.y, width: slabW, height: wrap.height };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Pick the innermost (smallest-area) group whose rect contains the point.
|
|
142
|
+
* dockview groups never truly nest, but tolerant selection keeps the choice
|
|
143
|
+
* stable when rects touch at shared sashes. */
|
|
144
|
+
export function pickGroup(p, groups) {
|
|
145
|
+
let best = null;
|
|
146
|
+
let bestArea = Infinity;
|
|
147
|
+
for (const g of groups) {
|
|
148
|
+
if (!pointInRect(p, g.rect))
|
|
149
|
+
continue;
|
|
150
|
+
const area = g.rect.width * g.rect.height;
|
|
151
|
+
if (area < bestArea) {
|
|
152
|
+
best = g;
|
|
153
|
+
bestArea = area;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return best;
|
|
157
|
+
}
|
|
158
|
+
/** Smallest rect covering both inputs. */
|
|
159
|
+
export function unionRect(a, b) {
|
|
160
|
+
const x = Math.min(a.x, b.x);
|
|
161
|
+
const y = Math.min(a.y, b.y);
|
|
162
|
+
return {
|
|
163
|
+
x,
|
|
164
|
+
y,
|
|
165
|
+
width: Math.max(a.x + a.width, b.x + b.width) - x,
|
|
166
|
+
height: Math.max(a.y + a.height, b.y + b.height) - y,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/** Minimum slot length; matches the edge strip's `min-width/height: 104px`. */
|
|
170
|
+
export const UE_STRIP_SLOT_MIN = 104;
|
|
171
|
+
/** Where a tab dropped at `p` lands in a strip of existing tabs. The index is
|
|
172
|
+
* decided by tab MIDPOINTS along the strip axis, which is what makes a drag
|
|
173
|
+
* along the strip reorder continuously: once the slot opens between two tabs
|
|
174
|
+
* the cursor sits in that gap, and both neighbours' midpoints stay on their
|
|
175
|
+
* own side of it, so the choice is stable until the cursor passes the next
|
|
176
|
+
* midpoint. `tabs` must be in DOM order and exclude the slot itself. */
|
|
177
|
+
export function stripInsertion(tabs, strip, p, axis, minSlot = UE_STRIP_SLOT_MIN) {
|
|
178
|
+
const horiz = axis === 'x';
|
|
179
|
+
const start = (r) => (horiz ? r.x : r.y);
|
|
180
|
+
const span = (r) => (horiz ? r.width : r.height);
|
|
181
|
+
const cursor = horiz ? p.x : p.y;
|
|
182
|
+
let index = tabs.length;
|
|
183
|
+
for (let i = 0; i < tabs.length; i += 1) {
|
|
184
|
+
if (cursor < start(tabs[i]) + span(tabs[i]) / 2) {
|
|
185
|
+
index = i;
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Match the strip's rhythm: a median-sized slot reads as "one more tab".
|
|
190
|
+
const lengths = tabs.map(span).sort((a, b) => a - b);
|
|
191
|
+
const median = lengths.length > 0 ? lengths[Math.floor(lengths.length / 2)] : 0;
|
|
192
|
+
const slotLen = Math.max(minSlot, median);
|
|
193
|
+
const last = tabs[tabs.length - 1];
|
|
194
|
+
const at = index < tabs.length
|
|
195
|
+
? start(tabs[index])
|
|
196
|
+
: last
|
|
197
|
+
? start(last) + span(last)
|
|
198
|
+
: start(strip);
|
|
199
|
+
return {
|
|
200
|
+
index,
|
|
201
|
+
slot: horiz
|
|
202
|
+
? { x: at, y: strip.y, width: slotLen, height: strip.height }
|
|
203
|
+
: { x: strip.x, y: at, width: strip.width, height: slotLen },
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/** Map a UePosition to the dockview grid `Direction` used by `addGroup`/
|
|
207
|
+
* `addPanel({ position })`. 'center' has no absolute direction. */
|
|
208
|
+
export function toGridDirection(pos) {
|
|
209
|
+
switch (pos) {
|
|
210
|
+
case 'top': return 'above';
|
|
211
|
+
case 'bottom': return 'below';
|
|
212
|
+
case 'left': return 'left';
|
|
213
|
+
case 'right': return 'right';
|
|
214
|
+
case 'center':
|
|
215
|
+
default: return 'within';
|
|
216
|
+
}
|
|
217
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { DirectorLayout, OuterLayout, Point, Rect, UePosition } from './geometry';
|
|
2
|
+
import './ueDrag.css';
|
|
3
|
+
export interface OverlayActive {
|
|
4
|
+
readonly kind: 'group' | 'outer';
|
|
5
|
+
readonly pos: UePosition;
|
|
6
|
+
}
|
|
7
|
+
export interface OverlayState {
|
|
8
|
+
/** Cursor position in viewport coordinates (for the drag ghost). */
|
|
9
|
+
readonly pointer: Point;
|
|
10
|
+
/** Dock director for the hovered group, or null when over no group. */
|
|
11
|
+
readonly director: DirectorLayout | null;
|
|
12
|
+
/** Four dock-to-region buttons for the hovered region, or null. */
|
|
13
|
+
readonly outer: OuterLayout | null;
|
|
14
|
+
/** The shape currently under the cursor (drives highlight + preview). */
|
|
15
|
+
readonly active: OverlayActive | null;
|
|
16
|
+
/** Translucent slab showing where a drop would land. */
|
|
17
|
+
readonly preview: Rect | null;
|
|
18
|
+
/** How to paint `preview`. A tab-strip target draws an OUTLINE only: the real
|
|
19
|
+
* landing hint there is the ghost tab slot the controller inserts into the
|
|
20
|
+
* strip, which a filled slab (drawn above every app layer) would cover. */
|
|
21
|
+
readonly previewKind?: 'slab' | 'strip';
|
|
22
|
+
/** Drag ghost label (the panel title). */
|
|
23
|
+
readonly ghostTitle: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface UeOverlayHandle {
|
|
26
|
+
update(state: OverlayState): void;
|
|
27
|
+
/** Body-level host for the live panel preview (see build()'s liveHost). */
|
|
28
|
+
livePreviewHost(): HTMLElement;
|
|
29
|
+
hide(): void;
|
|
30
|
+
destroy(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare function getUeOverlay(): UeOverlayHandle;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// Imperative, viewport-fixed overlay for the UE-style dock drag.
|
|
2
|
+
//
|
|
3
|
+
// WHY imperative + a module singleton (not a React component):
|
|
4
|
+
// * The drag controller (controller.ts) is itself installed imperatively from
|
|
5
|
+
// `DockRegion.onReady` (same lifecycle as `installEdgeDrawer`), so it has no
|
|
6
|
+
// React render scope to hang an overlay off of.
|
|
7
|
+
// * There are THREE DockRegion instances (DockShell / AuxBar / ChatDock). A
|
|
8
|
+
// drag can start in one and land in another; a single body-level overlay in
|
|
9
|
+
// viewport coordinates paints seamlessly across all of them.
|
|
10
|
+
// * During a drag we update on every pointermove — bypassing React's commit
|
|
11
|
+
// phase keeps it jank-free.
|
|
12
|
+
//
|
|
13
|
+
// The dock director (center square + four trapezoids) is drawn as SVG so the
|
|
14
|
+
// trapezoids and their highlight are trivial. The overlay is purely decorative
|
|
15
|
+
// (`pointer-events: none`); all hit-testing is done by the controller against
|
|
16
|
+
// the SAME shapes drawn here (see geometry.ts), so it never needs events.
|
|
17
|
+
import './ueDrag.css';
|
|
18
|
+
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
19
|
+
let dom = null;
|
|
20
|
+
function placeRect(el, r) {
|
|
21
|
+
if (!r) {
|
|
22
|
+
el.style.display = 'none';
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
el.style.display = '';
|
|
26
|
+
el.style.transform = `translate(${r.x}px, ${r.y}px)`;
|
|
27
|
+
el.style.width = `${r.width}px`;
|
|
28
|
+
el.style.height = `${r.height}px`;
|
|
29
|
+
}
|
|
30
|
+
function placeSquare(el, r) {
|
|
31
|
+
if (!r) {
|
|
32
|
+
el.style.display = 'none';
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
el.style.display = '';
|
|
36
|
+
el.style.left = `${r.x}px`;
|
|
37
|
+
el.style.top = `${r.y}px`;
|
|
38
|
+
el.style.width = `${r.width}px`;
|
|
39
|
+
el.style.height = `${r.height}px`;
|
|
40
|
+
}
|
|
41
|
+
function pointsAttr(poly) {
|
|
42
|
+
return poly.map((p) => `${p.x},${p.y}`).join(' ');
|
|
43
|
+
}
|
|
44
|
+
function build() {
|
|
45
|
+
const root = document.createElement('div');
|
|
46
|
+
root.className = 'fx-ue-overlay';
|
|
47
|
+
// Host for the LIVE panel preview (the lifted floating carrier is re-parented
|
|
48
|
+
// here during a drag). First child → stacks below the slab/director/ghost, so
|
|
49
|
+
// the green tint + wireframe read on top of the real panel render. Living in
|
|
50
|
+
// the body-level overlay (z 2147483000) lifts it above the viewport keep-alive
|
|
51
|
+
// surface (z 40) and works across dockview instances.
|
|
52
|
+
const liveHost = document.createElement('div');
|
|
53
|
+
liveHost.className = 'fx-ue-live-host';
|
|
54
|
+
root.appendChild(liveHost);
|
|
55
|
+
const preview = document.createElement('div');
|
|
56
|
+
preview.className = 'fx-ue-preview';
|
|
57
|
+
preview.style.display = 'none';
|
|
58
|
+
root.appendChild(preview);
|
|
59
|
+
// The dock director is SVG (trapezoids). One viewport-sized svg, shapes drawn
|
|
60
|
+
// directly in viewport coordinates.
|
|
61
|
+
const svg = document.createElementNS(SVG_NS, 'svg');
|
|
62
|
+
svg.setAttribute('class', 'fx-ue-svg');
|
|
63
|
+
const dirGroup = document.createElementNS(SVG_NS, 'g');
|
|
64
|
+
dirGroup.setAttribute('class', 'fx-ue-director');
|
|
65
|
+
dirGroup.style.display = 'none';
|
|
66
|
+
const mkPoly = (cls) => {
|
|
67
|
+
const p = document.createElementNS(SVG_NS, 'polygon');
|
|
68
|
+
p.setAttribute('class', `fx-ue-dir-trap fx-ue-dir-trap--${cls}`);
|
|
69
|
+
dirGroup.appendChild(p);
|
|
70
|
+
return p;
|
|
71
|
+
};
|
|
72
|
+
const dirTrapezoids = {
|
|
73
|
+
top: mkPoly('top'),
|
|
74
|
+
bottom: mkPoly('bottom'),
|
|
75
|
+
left: mkPoly('left'),
|
|
76
|
+
right: mkPoly('right'),
|
|
77
|
+
};
|
|
78
|
+
const dirCenter = document.createElementNS(SVG_NS, 'rect');
|
|
79
|
+
dirCenter.setAttribute('class', 'fx-ue-dir-center');
|
|
80
|
+
dirCenter.setAttribute('rx', '4');
|
|
81
|
+
dirGroup.appendChild(dirCenter);
|
|
82
|
+
svg.appendChild(dirGroup);
|
|
83
|
+
root.appendChild(svg);
|
|
84
|
+
// Dock-to-region buttons remain simple squares pinned at the edges.
|
|
85
|
+
const outerBox = document.createElement('div');
|
|
86
|
+
outerBox.className = 'fx-ue-outer';
|
|
87
|
+
outerBox.style.display = 'none';
|
|
88
|
+
const mkBtn = (cls) => {
|
|
89
|
+
const b = document.createElement('div');
|
|
90
|
+
b.className = `fx-ue-btn fx-ue-btn--outer ${cls}`;
|
|
91
|
+
const glyph = document.createElement('span');
|
|
92
|
+
glyph.className = 'fx-ue-btn-glyph';
|
|
93
|
+
b.appendChild(glyph);
|
|
94
|
+
return b;
|
|
95
|
+
};
|
|
96
|
+
const outerBtns = {
|
|
97
|
+
top: mkBtn('fx-ue-btn--top'),
|
|
98
|
+
bottom: mkBtn('fx-ue-btn--bottom'),
|
|
99
|
+
left: mkBtn('fx-ue-btn--left'),
|
|
100
|
+
right: mkBtn('fx-ue-btn--right'),
|
|
101
|
+
};
|
|
102
|
+
for (const b of Object.values(outerBtns))
|
|
103
|
+
outerBox.appendChild(b);
|
|
104
|
+
root.appendChild(outerBox);
|
|
105
|
+
const ghost = document.createElement('div');
|
|
106
|
+
ghost.className = 'fx-ue-ghost';
|
|
107
|
+
ghost.style.display = 'none';
|
|
108
|
+
root.appendChild(ghost);
|
|
109
|
+
document.body.appendChild(root);
|
|
110
|
+
return {
|
|
111
|
+
root,
|
|
112
|
+
liveHost,
|
|
113
|
+
preview,
|
|
114
|
+
svg,
|
|
115
|
+
dirGroup,
|
|
116
|
+
dirTrapezoids,
|
|
117
|
+
dirCenter,
|
|
118
|
+
outerBox,
|
|
119
|
+
outerBtns,
|
|
120
|
+
ghost,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function ensureDom() {
|
|
124
|
+
if (dom && document.body.contains(dom.root))
|
|
125
|
+
return dom;
|
|
126
|
+
dom = build();
|
|
127
|
+
return dom;
|
|
128
|
+
}
|
|
129
|
+
function setActiveEls(els, activePos) {
|
|
130
|
+
for (const [pos, el] of Object.entries(els)) {
|
|
131
|
+
el.classList.toggle('fx-ue-active', pos === activePos);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
let handle = null;
|
|
135
|
+
export function getUeOverlay() {
|
|
136
|
+
if (handle)
|
|
137
|
+
return handle;
|
|
138
|
+
handle = {
|
|
139
|
+
update(state) {
|
|
140
|
+
const d = ensureDom();
|
|
141
|
+
d.root.style.display = '';
|
|
142
|
+
// Preview slab.
|
|
143
|
+
placeRect(d.preview, state.preview);
|
|
144
|
+
d.preview.classList.toggle('fx-ue-preview--strip', state.previewKind === 'strip');
|
|
145
|
+
// Dock director (SVG trapezoids + center square).
|
|
146
|
+
const dir = state.director;
|
|
147
|
+
if (dir) {
|
|
148
|
+
d.dirGroup.style.display = '';
|
|
149
|
+
d.dirTrapezoids.top.setAttribute('points', pointsAttr(dir.top));
|
|
150
|
+
d.dirTrapezoids.bottom.setAttribute('points', pointsAttr(dir.bottom));
|
|
151
|
+
d.dirTrapezoids.left.setAttribute('points', pointsAttr(dir.left));
|
|
152
|
+
d.dirTrapezoids.right.setAttribute('points', pointsAttr(dir.right));
|
|
153
|
+
d.dirCenter.setAttribute('x', String(dir.center.x));
|
|
154
|
+
d.dirCenter.setAttribute('y', String(dir.center.y));
|
|
155
|
+
d.dirCenter.setAttribute('width', String(dir.center.width));
|
|
156
|
+
d.dirCenter.setAttribute('height', String(dir.center.height));
|
|
157
|
+
const activeDir = state.active?.kind === 'group' ? state.active.pos : null;
|
|
158
|
+
setActiveEls({ ...d.dirTrapezoids, center: d.dirCenter }, activeDir);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
d.dirGroup.style.display = 'none';
|
|
162
|
+
}
|
|
163
|
+
// Outer (dock-to-region) targets.
|
|
164
|
+
if (state.outer) {
|
|
165
|
+
d.outerBox.style.display = '';
|
|
166
|
+
placeSquare(d.outerBtns.top, state.outer.top);
|
|
167
|
+
placeSquare(d.outerBtns.bottom, state.outer.bottom);
|
|
168
|
+
placeSquare(d.outerBtns.left, state.outer.left);
|
|
169
|
+
placeSquare(d.outerBtns.right, state.outer.right);
|
|
170
|
+
setActiveEls(d.outerBtns, state.active?.kind === 'outer' ? state.active.pos : null);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
d.outerBox.style.display = 'none';
|
|
174
|
+
}
|
|
175
|
+
// Ghost chip.
|
|
176
|
+
if (state.ghostTitle) {
|
|
177
|
+
d.ghost.style.display = '';
|
|
178
|
+
d.ghost.textContent = state.ghostTitle;
|
|
179
|
+
d.ghost.style.transform = `translate(${state.pointer.x + 14}px, ${state.pointer.y + 14}px)`;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
d.ghost.style.display = 'none';
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
livePreviewHost() {
|
|
186
|
+
return ensureDom().liveHost;
|
|
187
|
+
},
|
|
188
|
+
hide() {
|
|
189
|
+
if (!dom)
|
|
190
|
+
return;
|
|
191
|
+
dom.root.style.display = 'none';
|
|
192
|
+
dom.preview.style.display = 'none';
|
|
193
|
+
dom.dirGroup.style.display = 'none';
|
|
194
|
+
dom.outerBox.style.display = 'none';
|
|
195
|
+
dom.ghost.style.display = 'none';
|
|
196
|
+
},
|
|
197
|
+
destroy() {
|
|
198
|
+
try {
|
|
199
|
+
dom?.root.remove();
|
|
200
|
+
}
|
|
201
|
+
catch { /* noop */ }
|
|
202
|
+
dom = null;
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
return handle;
|
|
206
|
+
}
|