@konitif/workbench 0.284.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.md +21 -0
- package/README.md +54 -0
- package/dist/application/boot/applicationBoot.d.ts +48 -0
- package/dist/application/boot/applicationBoot.js +174 -0
- package/dist/application/experiment/ControlledExperimentCampaign.d.ts +12 -0
- package/dist/application/experiment/ControlledExperimentCampaign.js +159 -0
- package/dist/application/experiment/ControlledExperimentRecorder.d.ts +17 -0
- package/dist/application/experiment/ControlledExperimentRecorder.js +215 -0
- package/dist/application/i18n/WorkbenchTranslationRegistry.d.ts +19 -0
- package/dist/application/i18n/WorkbenchTranslationRegistry.js +179 -0
- package/dist/application/layout/surfaceCommandRouter.d.ts +18 -0
- package/dist/application/layout/surfaceCommandRouter.js +247 -0
- package/dist/application/physics/NoopPhysicsBackend.d.ts +2 -0
- package/dist/application/physics/NoopPhysicsBackend.js +2 -0
- package/dist/application/physics/PhysicsService.d.ts +2 -0
- package/dist/application/physics/PhysicsService.js +2 -0
- package/dist/application/project/ProjectManifest.d.ts +15 -0
- package/dist/application/project/ProjectManifest.js +107 -0
- package/dist/application/repository/RepositoryPreflightEngine.d.ts +6 -0
- package/dist/application/repository/RepositoryPreflightEngine.js +301 -0
- package/dist/application/runtime/RuntimeBackendConnection.d.ts +9 -0
- package/dist/application/runtime/RuntimeBackendConnection.js +34 -0
- package/dist/application/runtime/RuntimeBackendSubscription.d.ts +8 -0
- package/dist/application/runtime/RuntimeBackendSubscription.js +52 -0
- package/dist/application/runtime/RuntimeCheckpointStore.d.ts +20 -0
- package/dist/application/runtime/RuntimeCheckpointStore.js +65 -0
- package/dist/application/runtime/RuntimeLaunchProgress.d.ts +3 -0
- package/dist/application/runtime/RuntimeLaunchProgress.js +38 -0
- package/dist/application/runtime/RuntimeLaunchStateSnapshot.d.ts +48 -0
- package/dist/application/runtime/RuntimeLaunchStateSnapshot.js +73 -0
- package/dist/application/runtime/RuntimeObservabilityHub.d.ts +28 -0
- package/dist/application/runtime/RuntimeObservabilityHub.js +262 -0
- package/dist/application/runtime/RuntimeObservationEvents.d.ts +15 -0
- package/dist/application/runtime/RuntimeObservationEvents.js +18 -0
- package/dist/application/runtime/RuntimeOffloadManager.d.ts +24 -0
- package/dist/application/runtime/RuntimeOffloadManager.js +96 -0
- package/dist/application/runtime/RuntimePlanEngine.d.ts +11 -0
- package/dist/application/runtime/RuntimePlanEngine.js +67 -0
- package/dist/application/runtime/RuntimeProjectionCatalog.d.ts +5 -0
- package/dist/application/runtime/RuntimeProjectionCatalog.js +48 -0
- package/dist/application/runtime/RuntimeProjectionSession.d.ts +5 -0
- package/dist/application/runtime/RuntimeProjectionSession.js +4 -0
- package/dist/application/runtime/RuntimeProjectionSessionKeys.d.ts +5 -0
- package/dist/application/runtime/RuntimeProjectionSessionKeys.js +10 -0
- package/dist/application/runtime/RuntimeProjectionSessionReducers.d.ts +7 -0
- package/dist/application/runtime/RuntimeProjectionSessionReducers.js +101 -0
- package/dist/application/runtime/RuntimeProjectionSessionSerialization.d.ts +5 -0
- package/dist/application/runtime/RuntimeProjectionSessionSerialization.js +89 -0
- package/dist/application/runtime/RuntimeProjectionSessionSharedState.d.ts +3 -0
- package/dist/application/runtime/RuntimeProjectionSessionSharedState.js +53 -0
- package/dist/application/runtime/RuntimeProjectionSessionTypes.d.ts +38 -0
- package/dist/application/runtime/RuntimeProjectionSessionTypes.js +1 -0
- package/dist/application/runtime/RuntimeProjectionViewerSessionSync.d.ts +29 -0
- package/dist/application/runtime/RuntimeProjectionViewerSessionSync.js +39 -0
- package/dist/application/runtime/RuntimeProjectionViewerSessionUpdates.d.ts +27 -0
- package/dist/application/runtime/RuntimeProjectionViewerSessionUpdates.js +38 -0
- package/dist/application/runtime/RuntimeRegistryOwner.d.ts +20 -0
- package/dist/application/runtime/RuntimeRegistryOwner.js +71 -0
- package/dist/application/runtime/RuntimeRegistrySnapshots.d.ts +6 -0
- package/dist/application/runtime/RuntimeRegistrySnapshots.js +51 -0
- package/dist/application/runtime/RuntimeRegistryTypes.d.ts +29 -0
- package/dist/application/runtime/RuntimeRegistryTypes.js +1 -0
- package/dist/application/runtime/RuntimeSharedState.d.ts +6 -0
- package/dist/application/runtime/RuntimeSharedState.js +47 -0
- package/dist/application/runtime/WorkbenchRuntimeCore.d.ts +82 -0
- package/dist/application/runtime/WorkbenchRuntimeCore.js +463 -0
- package/dist/application/runtime/WorkbenchRuntimeSanitizers.d.ts +9 -0
- package/dist/application/runtime/WorkbenchRuntimeSanitizers.js +62 -0
- package/dist/application/shell/state.d.ts +22 -0
- package/dist/application/shell/state.js +308 -0
- package/dist/application/widgets/createWorkbenchWidgetAdapter.d.ts +9 -0
- package/dist/application/widgets/createWorkbenchWidgetAdapter.js +30 -0
- package/dist/application/workspace/canonicalizeLayout.d.ts +2 -0
- package/dist/application/workspace/canonicalizeLayout.js +91 -0
- package/dist/application/workspace/closePanel.d.ts +6 -0
- package/dist/application/workspace/closePanel.js +43 -0
- package/dist/application/workspace/collapseSplit.d.ts +7 -0
- package/dist/application/workspace/collapseSplit.js +45 -0
- package/dist/application/workspace/collapseSplitBoundary.d.ts +8 -0
- package/dist/application/workspace/collapseSplitBoundary.js +106 -0
- package/dist/application/workspace/commands.d.ts +71 -0
- package/dist/application/workspace/commands.js +216 -0
- package/dist/application/workspace/createPeripheralBands.d.ts +14 -0
- package/dist/application/workspace/createPeripheralBands.js +62 -0
- package/dist/application/workspace/createWorkspace.d.ts +7 -0
- package/dist/application/workspace/createWorkspace.js +12 -0
- package/dist/application/workspace/detachPanelToWindow.d.ts +12 -0
- package/dist/application/workspace/detachPanelToWindow.js +57 -0
- package/dist/application/workspace/dockPanel.d.ts +10 -0
- package/dist/application/workspace/dockPanel.js +399 -0
- package/dist/application/workspace/finalizeWorkspace.d.ts +4 -0
- package/dist/application/workspace/finalizeWorkspace.js +23 -0
- package/dist/application/workspace/focusPanel.d.ts +2 -0
- package/dist/application/workspace/focusPanel.js +19 -0
- package/dist/application/workspace/joinPanelArea.d.ts +13 -0
- package/dist/application/workspace/joinPanelArea.js +281 -0
- package/dist/application/workspace/layoutInteraction.d.ts +176 -0
- package/dist/application/workspace/layoutInteraction.js +852 -0
- package/dist/application/workspace/layoutTree.d.ts +34 -0
- package/dist/application/workspace/layoutTree.js +135 -0
- package/dist/application/workspace/openTool.d.ts +15 -0
- package/dist/application/workspace/openTool.js +89 -0
- package/dist/application/workspace/presetArtifacts.d.ts +60 -0
- package/dist/application/workspace/presetArtifacts.js +231 -0
- package/dist/application/workspace/presets.d.ts +5 -0
- package/dist/application/workspace/presets.js +12 -0
- package/dist/application/workspace/reattachWorkspaceWindow.d.ts +7 -0
- package/dist/application/workspace/reattachWorkspaceWindow.js +24 -0
- package/dist/application/workspace/resizeSplit.d.ts +7 -0
- package/dist/application/workspace/resizeSplit.js +12 -0
- package/dist/application/workspace/resizeSplitBoundary.d.ts +10 -0
- package/dist/application/workspace/resizeSplitBoundary.js +115 -0
- package/dist/application/workspace/runToolShellCommand.d.ts +11 -0
- package/dist/application/workspace/runToolShellCommand.js +133 -0
- package/dist/application/workspace/session.d.ts +9 -0
- package/dist/application/workspace/session.js +36 -0
- package/dist/application/workspace/setActiveStackChild.d.ts +7 -0
- package/dist/application/workspace/setActiveStackChild.js +12 -0
- package/dist/application/workspace/setDesignSystemThemeSession.d.ts +3 -0
- package/dist/application/workspace/setDesignSystemThemeSession.js +12 -0
- package/dist/application/workspace/setPanelFullscreenToggleVisibility.d.ts +7 -0
- package/dist/application/workspace/setPanelFullscreenToggleVisibility.js +7 -0
- package/dist/application/workspace/setStackHeaderVisibility.d.ts +7 -0
- package/dist/application/workspace/setStackHeaderVisibility.js +7 -0
- package/dist/application/workspace/setToolPanelTitleOverride.d.ts +9 -0
- package/dist/application/workspace/setToolPanelTitleOverride.js +33 -0
- package/dist/application/workspace/setToolShellStatus.d.ts +8 -0
- package/dist/application/workspace/setToolShellStatus.js +32 -0
- package/dist/application/workspace/setWorkspaceFullscreenPanel.d.ts +3 -0
- package/dist/application/workspace/setWorkspaceFullscreenPanel.js +26 -0
- package/dist/application/workspace/snapshots.d.ts +10 -0
- package/dist/application/workspace/snapshots.js +34 -0
- package/dist/application/workspace/splitPanel.d.ts +10 -0
- package/dist/application/workspace/splitPanel.js +21 -0
- package/dist/application/workspace/subdividePanel.d.ts +39 -0
- package/dist/application/workspace/subdividePanel.js +128 -0
- package/dist/application/workspace/swapPanelArea.d.ts +11 -0
- package/dist/application/workspace/swapPanelArea.js +163 -0
- package/dist/application/workspace/targetWindow.d.ts +4 -0
- package/dist/application/workspace/targetWindow.js +22 -0
- package/dist/application/workspace/toolCapabilities.d.ts +11 -0
- package/dist/application/workspace/toolCapabilities.js +59 -0
- package/dist/application/workspace/toolRuntime.d.ts +32 -0
- package/dist/application/workspace/toolRuntime.js +65 -0
- package/dist/application/workspace/updateToolState.d.ts +8 -0
- package/dist/application/workspace/updateToolState.js +20 -0
- package/dist/boot/applicationBoot.d.ts +1 -0
- package/dist/boot/applicationBoot.js +2 -0
- package/dist/boot/events.d.ts +43 -0
- package/dist/boot/events.js +16 -0
- package/dist/boot/executor.d.ts +13 -0
- package/dist/boot/executor.js +210 -0
- package/dist/boot/graph.d.ts +16 -0
- package/dist/boot/graph.js +126 -0
- package/dist/boot/index.d.ts +2 -0
- package/dist/boot/index.js +3 -0
- package/dist/boot/mechanism.d.ts +5 -0
- package/dist/boot/mechanism.js +6 -0
- package/dist/boot/projection.d.ts +72 -0
- package/dist/boot/projection.js +398 -0
- package/dist/boot/types.d.ts +80 -0
- package/dist/boot/types.js +46 -0
- package/dist/domain/composition/dockArrangement.d.ts +57 -0
- package/dist/domain/composition/dockArrangement.js +304 -0
- package/dist/domain/composition/docking.d.ts +68 -0
- package/dist/domain/composition/docking.js +187 -0
- package/dist/domain/design-system/themeSession.d.ts +12 -0
- package/dist/domain/design-system/themeSession.js +42 -0
- package/dist/domain/experiment/model.d.ts +149 -0
- package/dist/domain/experiment/model.js +1 -0
- package/dist/domain/i18n/languageRegistry.d.ts +57 -0
- package/dist/domain/i18n/languageRegistry.js +1 -0
- package/dist/domain/i18n/model.d.ts +31 -0
- package/dist/domain/i18n/model.js +1 -0
- package/dist/domain/icon/model.d.ts +8 -0
- package/dist/domain/icon/model.js +1 -0
- package/dist/domain/input/interactionBindings.d.ts +2 -0
- package/dist/domain/input/interactionBindings.js +2 -0
- package/dist/domain/launch/model.d.ts +58 -0
- package/dist/domain/launch/model.js +109 -0
- package/dist/domain/layout/interaction.d.ts +90 -0
- package/dist/domain/layout/interaction.js +1 -0
- package/dist/domain/layout/model.d.ts +28 -0
- package/dist/domain/layout/model.js +1 -0
- package/dist/domain/layout/selectors.d.ts +12 -0
- package/dist/domain/layout/selectors.js +84 -0
- package/dist/domain/layout/surfaceProjection.d.ts +56 -0
- package/dist/domain/layout/surfaceProjection.js +249 -0
- package/dist/domain/layout/validation.d.ts +9 -0
- package/dist/domain/layout/validation.js +71 -0
- package/dist/domain/panel/model.d.ts +9 -0
- package/dist/domain/panel/model.js +1 -0
- package/dist/domain/physics/colliderGeometry.d.ts +2 -0
- package/dist/domain/physics/colliderGeometry.js +1 -0
- package/dist/domain/physics/contracts.d.ts +2 -0
- package/dist/domain/physics/contracts.js +1 -0
- package/dist/domain/physics/kinematicBinding.d.ts +22 -0
- package/dist/domain/physics/kinematicBinding.js +1 -0
- package/dist/domain/physics/model.d.ts +4 -0
- package/dist/domain/physics/model.js +1 -0
- package/dist/domain/physics/mujoco.d.ts +5 -0
- package/dist/domain/physics/mujoco.js +1 -0
- package/dist/domain/physics/observationProfile.d.ts +2 -0
- package/dist/domain/physics/observationProfile.js +1 -0
- package/dist/domain/physics/presentationBinding.d.ts +6 -0
- package/dist/domain/physics/presentationBinding.js +1 -0
- package/dist/domain/physics/simulationProfile.d.ts +2 -0
- package/dist/domain/physics/simulationProfile.js +1 -0
- package/dist/domain/physics/visualAlignment.d.ts +17 -0
- package/dist/domain/physics/visualAlignment.js +1 -0
- package/dist/domain/presentation/readingLevel.d.ts +12 -0
- package/dist/domain/presentation/readingLevel.js +29 -0
- package/dist/domain/project/model.d.ts +55 -0
- package/dist/domain/project/model.js +1 -0
- package/dist/domain/repo-quality/model.d.ts +111 -0
- package/dist/domain/repo-quality/model.js +1 -0
- package/dist/domain/repository/model.d.ts +110 -0
- package/dist/domain/repository/model.js +1 -0
- package/dist/domain/runtime/checkpoint.d.ts +37 -0
- package/dist/domain/runtime/checkpoint.js +87 -0
- package/dist/domain/runtime/hydration.d.ts +26 -0
- package/dist/domain/runtime/hydration.js +92 -0
- package/dist/domain/runtime/initialization.d.ts +25 -0
- package/dist/domain/runtime/initialization.js +87 -0
- package/dist/domain/runtime/lifecycle.d.ts +51 -0
- package/dist/domain/runtime/lifecycle.js +118 -0
- package/dist/domain/runtime/model.d.ts +252 -0
- package/dist/domain/runtime/model.js +13 -0
- package/dist/domain/runtime/observability.d.ts +142 -0
- package/dist/domain/runtime/observability.js +1 -0
- package/dist/domain/runtime/offload.d.ts +56 -0
- package/dist/domain/runtime/offload.js +129 -0
- package/dist/domain/runtime/plan.d.ts +26 -0
- package/dist/domain/runtime/plan.js +1 -0
- package/dist/domain/runtime/qualityPolicy.d.ts +28 -0
- package/dist/domain/runtime/qualityPolicy.js +97 -0
- package/dist/domain/runtime/recovery.d.ts +61 -0
- package/dist/domain/runtime/recovery.js +129 -0
- package/dist/domain/runtime/suspension.d.ts +32 -0
- package/dist/domain/runtime/suspension.js +107 -0
- package/dist/domain/runtime/teardown.d.ts +33 -0
- package/dist/domain/runtime/teardown.js +109 -0
- package/dist/domain/shared/id.d.ts +1 -0
- package/dist/domain/shared/id.js +5 -0
- package/dist/domain/shared/json.d.ts +9 -0
- package/dist/domain/shared/json.js +24 -0
- package/dist/domain/shell/model.d.ts +40 -0
- package/dist/domain/shell/model.js +1 -0
- package/dist/domain/shell/runtime.d.ts +76 -0
- package/dist/domain/shell/runtime.js +40 -0
- package/dist/domain/surface/model.d.ts +97 -0
- package/dist/domain/surface/model.js +71 -0
- package/dist/domain/temporal/model.d.ts +95 -0
- package/dist/domain/temporal/model.js +45 -0
- package/dist/domain/tool/internalTab.d.ts +11 -0
- package/dist/domain/tool/internalTab.js +20 -0
- package/dist/domain/tool/model.d.ts +207 -0
- package/dist/domain/tool/model.js +1 -0
- package/dist/domain/tool/runtime.d.ts +122 -0
- package/dist/domain/tool/runtime.js +2 -0
- package/dist/domain/tool/shell.d.ts +38 -0
- package/dist/domain/tool/shell.js +175 -0
- package/dist/domain/widget/composition.d.ts +79 -0
- package/dist/domain/widget/composition.js +250 -0
- package/dist/domain/widget/model.d.ts +35 -0
- package/dist/domain/widget/model.js +8 -0
- package/dist/domain/widget/toolDock.d.ts +30 -0
- package/dist/domain/widget/toolDock.js +52 -0
- package/dist/domain/workbench/model.d.ts +35 -0
- package/dist/domain/workbench/model.js +1 -0
- package/dist/domain/workbench/routing.d.ts +17 -0
- package/dist/domain/workbench/routing.js +72 -0
- package/dist/domain/workspace/factories.d.ts +9 -0
- package/dist/domain/workspace/factories.js +47 -0
- package/dist/domain/workspace/model.d.ts +23 -0
- package/dist/domain/workspace/model.js +1 -0
- package/dist/domain/workspace/persistence.d.ts +5 -0
- package/dist/domain/workspace/persistence.js +1 -0
- package/dist/domain/workspace/selectors.d.ts +19 -0
- package/dist/domain/workspace/selectors.js +90 -0
- package/dist/domain/workspace/session.d.ts +9 -0
- package/dist/domain/workspace/session.js +1 -0
- package/dist/domain/workspace/validation.d.ts +10 -0
- package/dist/domain/workspace/validation.js +231 -0
- package/dist/hosting.d.ts +15 -0
- package/dist/hosting.js +12 -0
- package/dist/index.d.ts +111 -0
- package/dist/index.js +111 -0
- package/dist/infrastructure/audio/WorkbenchAudioManager.d.ts +36 -0
- package/dist/infrastructure/audio/WorkbenchAudioManager.js +100 -0
- package/dist/infrastructure/backend/HttpWorkbenchBackendClient.d.ts +30 -0
- package/dist/infrastructure/backend/HttpWorkbenchBackendClient.js +314 -0
- package/dist/infrastructure/persistence/LocalWorkspacePersistence.d.ts +8 -0
- package/dist/infrastructure/persistence/LocalWorkspacePersistence.js +29 -0
- package/dist/infrastructure/surfaces/InMemorySurfaceViewerRegistry.d.ts +58 -0
- package/dist/infrastructure/surfaces/InMemorySurfaceViewerRegistry.js +121 -0
- package/dist/infrastructure/temporal/InMemoryTemporalDialectRegistry.d.ts +8 -0
- package/dist/infrastructure/temporal/InMemoryTemporalDialectRegistry.js +38 -0
- package/dist/infrastructure/tools/InMemoryToolRegistry.d.ts +46 -0
- package/dist/infrastructure/tools/InMemoryToolRegistry.js +82 -0
- package/dist/infrastructure/widgets/InMemoryShellWidgetRegistry.d.ts +42 -0
- package/dist/infrastructure/widgets/InMemoryShellWidgetRegistry.js +66 -0
- package/dist/infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.d.ts +20 -0
- package/dist/infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.js +35 -0
- package/dist/infrastructure/workbenches/InMemoryWorkbenchRegistry.d.ts +7 -0
- package/dist/infrastructure/workbenches/InMemoryWorkbenchRegistry.js +28 -0
- package/dist/physics-runtime.d.ts +4 -0
- package/dist/physics-runtime.js +2 -0
- package/dist/stage/easing.d.ts +5 -0
- package/dist/stage/easing.js +15 -0
- package/dist/stage/index.d.ts +6 -0
- package/dist/stage/index.js +6 -0
- package/dist/stage/projection.d.ts +4 -0
- package/dist/stage/projection.js +74 -0
- package/dist/stage/stageRuntime.d.ts +2 -0
- package/dist/stage/stageRuntime.js +32 -0
- package/dist/stage/timeline.d.ts +3 -0
- package/dist/stage/timeline.js +69 -0
- package/dist/stage/tween.d.ts +3 -0
- package/dist/stage/tween.js +104 -0
- package/dist/stage/types.d.ts +104 -0
- package/dist/stage/types.js +30 -0
- package/dist/temporal/clock/audioClock.d.ts +1 -0
- package/dist/temporal/clock/audioClock.js +1 -0
- package/dist/temporal/clock/clockGraph.d.ts +1 -0
- package/dist/temporal/clock/clockGraph.js +1 -0
- package/dist/temporal/clock/clockTypes.d.ts +1 -0
- package/dist/temporal/clock/clockTypes.js +1 -0
- package/dist/temporal/clock/fixedStepClock.d.ts +1 -0
- package/dist/temporal/clock/fixedStepClock.js +1 -0
- package/dist/temporal/clock/musicalClock.d.ts +7 -0
- package/dist/temporal/clock/musicalClock.js +35 -0
- package/dist/temporal/clock/rootClock.d.ts +1 -0
- package/dist/temporal/clock/rootClock.js +1 -0
- package/dist/temporal/clock/videoClock.d.ts +1 -0
- package/dist/temporal/clock/videoClock.js +1 -0
- package/dist/temporal/easing/easingFunctions.d.ts +2 -0
- package/dist/temporal/easing/easingFunctions.js +19 -0
- package/dist/temporal/easing/easingRegistry.d.ts +10 -0
- package/dist/temporal/easing/easingRegistry.js +32 -0
- package/dist/temporal/easing/easingShaderSource.d.ts +2 -0
- package/dist/temporal/easing/easingShaderSource.js +16 -0
- package/dist/temporal/easing/easingTypes.d.ts +9 -0
- package/dist/temporal/easing/easingTypes.js +1 -0
- package/dist/temporal/history/runtimeHistory.d.ts +77 -0
- package/dist/temporal/history/runtimeHistory.js +5 -0
- package/dist/temporal/history/temporalHistoryCore.d.ts +1 -0
- package/dist/temporal/history/temporalHistoryCore.js +1 -0
- package/dist/temporal/index.d.ts +20 -0
- package/dist/temporal/index.js +20 -0
- package/dist/temporal/invalidation/invalidationController.d.ts +1 -0
- package/dist/temporal/invalidation/invalidationController.js +1 -0
- package/dist/temporal/scheduler/browserSchedulerHost.d.ts +3 -0
- package/dist/temporal/scheduler/browserSchedulerHost.js +19 -0
- package/dist/temporal/scheduler/frameBudget.d.ts +1 -0
- package/dist/temporal/scheduler/frameBudget.js +1 -0
- package/dist/temporal/scheduler/temporalScheduler.d.ts +4 -0
- package/dist/temporal/scheduler/temporalScheduler.js +6 -0
- package/dist/temporal/scheduler/temporalSchedulerCore.d.ts +1 -0
- package/dist/temporal/scheduler/temporalSchedulerCore.js +1 -0
- package/dist/temporal/scheduler/visibilityPolicy.d.ts +2 -0
- package/dist/temporal/scheduler/visibilityPolicy.js +1 -0
- package/dist/temporal/transport/temporalTransport.d.ts +1 -0
- package/dist/temporal/transport/temporalTransport.js +1 -0
- package/dist/temporal/transport/transportScope.d.ts +7 -0
- package/dist/temporal/transport/transportScope.js +3 -0
- package/dist/temporal/transport/transportTimeline.d.ts +22 -0
- package/dist/temporal/transport/transportTimeline.js +36 -0
- package/dist/temporal/transport/transportTypes.d.ts +1 -0
- package/dist/temporal/transport/transportTypes.js +1 -0
- package/dist/workspace-contracts.d.ts +36 -0
- package/dist/workspace-contracts.js +28 -0
- package/package.json +57 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { getActiveWindow } from "../../domain/workspace/selectors.js";
|
|
2
|
+
import { containsPanel, listPanels } from "../../domain/layout/selectors.js";
|
|
3
|
+
import { normalizeSplitSizes } from "../../domain/layout/validation.js";
|
|
4
|
+
import { pruneUnusedToolInstances, updateCanonicalizedActiveWindowRoot } from "./finalizeWorkspace.js";
|
|
5
|
+
import { selectWorkspaceTargetWindow, updateWorkspaceTargetWindow } from "./targetWindow.js";
|
|
6
|
+
export function canJoinPanelArea(workspace, input) {
|
|
7
|
+
const activeWindow = getActiveWindow(selectWorkspaceTargetWindow(workspace, input.panelId));
|
|
8
|
+
if (!activeWindow || !containsPanel(activeWindow.root, input.panelId)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return findExplicitJoinCandidate(activeWindow.root, input) !== null || findJoinCandidate(activeWindow.root, input.panelId, input.edge) !== null;
|
|
12
|
+
}
|
|
13
|
+
export function joinPanelArea(workspace, input) {
|
|
14
|
+
return updateWorkspaceTargetWindow(workspace, input.panelId, (selected) => joinPanelAreaInActiveWindow(selected, input));
|
|
15
|
+
}
|
|
16
|
+
function joinPanelAreaInActiveWindow(workspace, input) {
|
|
17
|
+
const activeWindow = getActiveWindow(workspace);
|
|
18
|
+
if (!activeWindow || !containsPanel(activeWindow.root, input.panelId)) {
|
|
19
|
+
return workspace;
|
|
20
|
+
}
|
|
21
|
+
const explicitCandidate = findExplicitJoinCandidate(activeWindow.root, input);
|
|
22
|
+
if (explicitCandidate) {
|
|
23
|
+
return pruneUnusedToolInstances(updateCanonicalizedActiveWindowRoot(workspace, (root) => joinNodesById(root, explicitCandidate.sourceNodeId, explicitCandidate.siblingNodeId, input.edge)));
|
|
24
|
+
}
|
|
25
|
+
const candidate = findJoinCandidate(activeWindow.root, input.panelId, input.edge);
|
|
26
|
+
if (!candidate) {
|
|
27
|
+
return workspace;
|
|
28
|
+
}
|
|
29
|
+
return pruneUnusedToolInstances(updateCanonicalizedActiveWindowRoot(workspace, (root) => {
|
|
30
|
+
const split = findSplitById(root, candidate.splitId);
|
|
31
|
+
return split ? replaceNodeById(root, candidate.splitId, keepJoinedSide(split, input.side)) : root;
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
function keepJoinedSide(split, side) {
|
|
35
|
+
if (split.orientation === 'horizontal') {
|
|
36
|
+
return side === 'left' ? split.children[0] : split.children[1];
|
|
37
|
+
}
|
|
38
|
+
return side === 'top' ? split.children[0] : split.children[1];
|
|
39
|
+
}
|
|
40
|
+
function findSplitById(node, splitId) {
|
|
41
|
+
if (node.kind === 'split') {
|
|
42
|
+
if (node.id === splitId) {
|
|
43
|
+
return node;
|
|
44
|
+
}
|
|
45
|
+
return findSplitById(node.children[0], splitId) ?? findSplitById(node.children[1], splitId);
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
function findJoinCandidate(root, panelId, edge) {
|
|
50
|
+
const ancestors = findLayoutBranchAncestors(root, panelId);
|
|
51
|
+
const targetOrientation = edge === 'left' || edge === 'right' ? 'horizontal' : 'vertical';
|
|
52
|
+
const expectedChildIndex = edge === 'left' || edge === 'top' ? 1 : 0;
|
|
53
|
+
if (!ancestors) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
for (let index = ancestors.length - 1; index >= 0; index -= 1) {
|
|
57
|
+
const ancestor = ancestors[index];
|
|
58
|
+
if (ancestor.orientation === targetOrientation && ancestor.childIndex === expectedChildIndex) {
|
|
59
|
+
return {
|
|
60
|
+
splitId: ancestor.splitId
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
function findExplicitJoinCandidate(root, input) {
|
|
67
|
+
if (!input.sourceAreaPanelIds || !input.siblingAreaPanelIds) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const sourceNode = findNodeByExactPanelSet(root, normalizePanelIdSet(input.sourceAreaPanelIds));
|
|
71
|
+
const siblingNode = findNodeByExactPanelSet(root, normalizePanelIdSet(input.siblingAreaPanelIds));
|
|
72
|
+
if (!sourceNode ||
|
|
73
|
+
!siblingNode ||
|
|
74
|
+
sourceNode.id === siblingNode.id ||
|
|
75
|
+
containsNodeId(sourceNode, siblingNode.id) ||
|
|
76
|
+
containsNodeId(siblingNode, sourceNode.id)) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
sourceNodeId: sourceNode.id,
|
|
81
|
+
siblingNodeId: siblingNode.id
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function findLayoutBranchAncestors(node, panelId, trail = []) {
|
|
85
|
+
if (node.kind === 'stack') {
|
|
86
|
+
return node.children.some((panel) => panel.id === panelId) ? trail : null;
|
|
87
|
+
}
|
|
88
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex = (childIndex + 1)) {
|
|
89
|
+
const child = node.children[childIndex];
|
|
90
|
+
if (!containsPanel(child, panelId)) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
return findLayoutBranchAncestors(child, panelId, [
|
|
94
|
+
...trail,
|
|
95
|
+
{
|
|
96
|
+
splitId: node.id,
|
|
97
|
+
orientation: node.orientation,
|
|
98
|
+
childIndex
|
|
99
|
+
}
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
function findNodeByExactPanelSet(node, expectedPanelIds) {
|
|
105
|
+
if (matchesPanelIdSet(normalizePanelIdSet(listPanels(node).map((panel) => panel.id)), expectedPanelIds)) {
|
|
106
|
+
return node;
|
|
107
|
+
}
|
|
108
|
+
if (node.kind === 'stack') {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
return findNodeByExactPanelSet(node.children[0], expectedPanelIds) ?? findNodeByExactPanelSet(node.children[1], expectedPanelIds);
|
|
112
|
+
}
|
|
113
|
+
function normalizePanelIdSet(panelIds) {
|
|
114
|
+
return Array.from(new Set(panelIds)).sort();
|
|
115
|
+
}
|
|
116
|
+
function matchesPanelIdSet(left, right) {
|
|
117
|
+
if (left.length !== right.length) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
return left.every((panelId, index) => panelId === right[index]);
|
|
121
|
+
}
|
|
122
|
+
function joinNodesById(root, sourceNodeId, siblingNodeId, edge) {
|
|
123
|
+
const axis = edge === 'left' || edge === 'right' ? 'horizontal' : 'vertical';
|
|
124
|
+
const sourcePath = findNodePathById(root, sourceNodeId);
|
|
125
|
+
const siblingPath = findNodePathById(root, siblingNodeId);
|
|
126
|
+
if (!sourcePath || !siblingPath) {
|
|
127
|
+
return root;
|
|
128
|
+
}
|
|
129
|
+
const commonSplitIndex = findCommonSplitIndex(sourcePath, siblingPath);
|
|
130
|
+
if (commonSplitIndex === -1) {
|
|
131
|
+
return root;
|
|
132
|
+
}
|
|
133
|
+
const sourceLcaEntry = sourcePath[commonSplitIndex];
|
|
134
|
+
const siblingLcaEntry = siblingPath[commonSplitIndex];
|
|
135
|
+
if (sourceLcaEntry.childIndex === siblingLcaEntry.childIndex) {
|
|
136
|
+
return root;
|
|
137
|
+
}
|
|
138
|
+
const sourceSpanWithinLca = resolveAxisSpanFromPath(sourcePath.slice(commonSplitIndex), axis);
|
|
139
|
+
const lcaSourceSize = sourceLcaEntry.split.sizes[sourceLcaEntry.childIndex];
|
|
140
|
+
const lcaSiblingSize = sourceLcaEntry.split.sizes[siblingLcaEntry.childIndex];
|
|
141
|
+
const sourceBranch = sourceLcaEntry.split.children[sourceLcaEntry.childIndex];
|
|
142
|
+
const siblingBranch = sourceLcaEntry.split.children[siblingLcaEntry.childIndex];
|
|
143
|
+
const remainingSourceBranch = removeNodeById(sourceBranch, sourceNodeId);
|
|
144
|
+
const siblingDeltaRelative = lcaSiblingSize > 0 ? sourceSpanWithinLca / lcaSiblingSize : 0;
|
|
145
|
+
const expandedSiblingBranch = expandNodeAlongAxis(siblingBranch, siblingNodeId, axis, siblingDeltaRelative);
|
|
146
|
+
if (!remainingSourceBranch) {
|
|
147
|
+
return replaceNodeById(root, sourceLcaEntry.split.id, expandedSiblingBranch);
|
|
148
|
+
}
|
|
149
|
+
const nextSizes = [...sourceLcaEntry.split.sizes];
|
|
150
|
+
nextSizes[sourceLcaEntry.childIndex] = Math.max(lcaSourceSize - sourceSpanWithinLca, 0);
|
|
151
|
+
nextSizes[siblingLcaEntry.childIndex] = lcaSiblingSize + sourceSpanWithinLca;
|
|
152
|
+
const nextChildren = [...sourceLcaEntry.split.children];
|
|
153
|
+
nextChildren[sourceLcaEntry.childIndex] = remainingSourceBranch;
|
|
154
|
+
nextChildren[siblingLcaEntry.childIndex] = expandedSiblingBranch;
|
|
155
|
+
return replaceNodeById(root, sourceLcaEntry.split.id, {
|
|
156
|
+
...sourceLcaEntry.split,
|
|
157
|
+
children: nextChildren,
|
|
158
|
+
sizes: normalizeSplitSizes(nextSizes)
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function removeNodeById(node, nodeId) {
|
|
162
|
+
if (node.id === nodeId) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
if (node.kind === 'stack') {
|
|
166
|
+
return node;
|
|
167
|
+
}
|
|
168
|
+
const firstChild = removeNodeById(node.children[0], nodeId);
|
|
169
|
+
const secondChild = removeNodeById(node.children[1], nodeId);
|
|
170
|
+
if (!firstChild && !secondChild) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
if (!firstChild) {
|
|
174
|
+
return secondChild;
|
|
175
|
+
}
|
|
176
|
+
if (!secondChild) {
|
|
177
|
+
return firstChild;
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
...node,
|
|
181
|
+
children: [firstChild, secondChild]
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function replaceNodeById(node, nodeId, replacement) {
|
|
185
|
+
if (node.id === nodeId) {
|
|
186
|
+
return replacement;
|
|
187
|
+
}
|
|
188
|
+
if (node.kind === 'stack') {
|
|
189
|
+
return node;
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
...node,
|
|
193
|
+
children: [
|
|
194
|
+
replaceNodeById(node.children[0], nodeId, replacement),
|
|
195
|
+
replaceNodeById(node.children[1], nodeId, replacement)
|
|
196
|
+
]
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
function findNodePathById(node, targetNodeId, trail = []) {
|
|
200
|
+
if (node.id === targetNodeId) {
|
|
201
|
+
return trail;
|
|
202
|
+
}
|
|
203
|
+
if (node.kind === 'stack') {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex = (childIndex + 1)) {
|
|
207
|
+
const child = node.children[childIndex];
|
|
208
|
+
const path = findNodePathById(child, targetNodeId, [...trail, { split: node, childIndex }]);
|
|
209
|
+
if (path) {
|
|
210
|
+
return path;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
function findCommonSplitIndex(sourcePath, siblingPath) {
|
|
216
|
+
const maxLength = Math.min(sourcePath.length, siblingPath.length);
|
|
217
|
+
let commonIndex = -1;
|
|
218
|
+
for (let index = 0; index < maxLength; index += 1) {
|
|
219
|
+
if (sourcePath[index].split.id !== siblingPath[index].split.id) {
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
commonIndex = index;
|
|
223
|
+
}
|
|
224
|
+
return commonIndex;
|
|
225
|
+
}
|
|
226
|
+
function resolveAxisSpanFromPath(path, axis) {
|
|
227
|
+
return path.reduce((span, entry) => {
|
|
228
|
+
if (entry.split.orientation !== axis) {
|
|
229
|
+
return span;
|
|
230
|
+
}
|
|
231
|
+
return span * entry.split.sizes[entry.childIndex];
|
|
232
|
+
}, 1);
|
|
233
|
+
}
|
|
234
|
+
function expandNodeAlongAxis(node, targetNodeId, axis, deltaRelativeToNode) {
|
|
235
|
+
if (deltaRelativeToNode <= 0 || node.id === targetNodeId || node.kind === 'stack') {
|
|
236
|
+
return node;
|
|
237
|
+
}
|
|
238
|
+
const targetChildIndex = findChildIndexContainingNode(node, targetNodeId);
|
|
239
|
+
if (targetChildIndex === null) {
|
|
240
|
+
return node;
|
|
241
|
+
}
|
|
242
|
+
const nextChildren = [...node.children];
|
|
243
|
+
if (node.orientation !== axis) {
|
|
244
|
+
nextChildren[targetChildIndex] = expandNodeAlongAxis(node.children[targetChildIndex], targetNodeId, axis, deltaRelativeToNode);
|
|
245
|
+
return {
|
|
246
|
+
...node,
|
|
247
|
+
children: nextChildren
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
const siblingChildIndex = targetChildIndex === 0 ? 1 : 0;
|
|
251
|
+
const targetSize = node.sizes[targetChildIndex];
|
|
252
|
+
const siblingSize = node.sizes[siblingChildIndex];
|
|
253
|
+
const totalFactor = 1 + deltaRelativeToNode;
|
|
254
|
+
const nextSizes = [...node.sizes];
|
|
255
|
+
nextSizes[targetChildIndex] = (targetSize + deltaRelativeToNode) / totalFactor;
|
|
256
|
+
nextSizes[siblingChildIndex] = siblingSize / totalFactor;
|
|
257
|
+
nextChildren[targetChildIndex] = expandNodeAlongAxis(node.children[targetChildIndex], targetNodeId, axis, targetSize > 0 ? deltaRelativeToNode / targetSize : 0);
|
|
258
|
+
return {
|
|
259
|
+
...node,
|
|
260
|
+
children: nextChildren,
|
|
261
|
+
sizes: normalizeSplitSizes(nextSizes)
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
function findChildIndexContainingNode(node, targetNodeId) {
|
|
265
|
+
if (containsNodeId(node.children[0], targetNodeId)) {
|
|
266
|
+
return 0;
|
|
267
|
+
}
|
|
268
|
+
if (containsNodeId(node.children[1], targetNodeId)) {
|
|
269
|
+
return 1;
|
|
270
|
+
}
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
function containsNodeId(node, targetNodeId) {
|
|
274
|
+
if (node.id === targetNodeId) {
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
if (node.kind === 'stack') {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
return containsNodeId(node.children[0], targetNodeId) || containsNodeId(node.children[1], targetNodeId);
|
|
281
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { LayoutDockSide, LayoutEdge, LayoutInteractionAnchor, LayoutInteractionState, LayoutDockTarget, LayoutMenuTarget, LayoutInteractionSourceKind, LayoutMenuActionId } from "../../domain/layout/interaction.js";
|
|
2
|
+
import type { LayoutNode, SplitNode, SplitOrientation } from "../../domain/layout/model.js";
|
|
3
|
+
export type LayoutMenuActionSelection = {
|
|
4
|
+
kind: 'split';
|
|
5
|
+
orientation: SplitOrientation;
|
|
6
|
+
panelId: string;
|
|
7
|
+
edge: LayoutEdge;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'join';
|
|
10
|
+
panelId: string;
|
|
11
|
+
edge: LayoutEdge;
|
|
12
|
+
side: LayoutDockSide;
|
|
13
|
+
sourceAreaPanelIds: readonly string[];
|
|
14
|
+
siblingAreaPanelIds: readonly string[];
|
|
15
|
+
} | {
|
|
16
|
+
kind: 'swap';
|
|
17
|
+
panelId: string;
|
|
18
|
+
edge: LayoutEdge;
|
|
19
|
+
sourceAreaPanelIds: readonly string[];
|
|
20
|
+
siblingAreaPanelIds: readonly string[];
|
|
21
|
+
};
|
|
22
|
+
export interface LayoutMenuActionItem {
|
|
23
|
+
id: string;
|
|
24
|
+
label: string;
|
|
25
|
+
group: 'split' | 'transform';
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
selection: LayoutMenuActionSelection | null;
|
|
28
|
+
}
|
|
29
|
+
export interface SplitHandleMenuTarget {
|
|
30
|
+
panelId: string;
|
|
31
|
+
edge: LayoutEdge;
|
|
32
|
+
}
|
|
33
|
+
export interface LayoutSplitCommit {
|
|
34
|
+
panelId: string | null;
|
|
35
|
+
orientation: SplitOrientation;
|
|
36
|
+
side: LayoutDockSide;
|
|
37
|
+
}
|
|
38
|
+
export type LayoutInteractionResolution = {
|
|
39
|
+
kind: 'state';
|
|
40
|
+
state: LayoutInteractionState;
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'commit-subdivide';
|
|
43
|
+
state: LayoutInteractionState;
|
|
44
|
+
subdivide: {
|
|
45
|
+
panelId: string;
|
|
46
|
+
orientation: SplitOrientation;
|
|
47
|
+
edge: LayoutEdge;
|
|
48
|
+
cuts: number;
|
|
49
|
+
pointerRatio: number;
|
|
50
|
+
};
|
|
51
|
+
} | {
|
|
52
|
+
kind: 'commit-split';
|
|
53
|
+
state: LayoutInteractionState;
|
|
54
|
+
split: LayoutSplitCommit;
|
|
55
|
+
} | {
|
|
56
|
+
kind: 'commit-swap';
|
|
57
|
+
state: LayoutInteractionState;
|
|
58
|
+
swap: {
|
|
59
|
+
panelId: string;
|
|
60
|
+
edge: LayoutEdge;
|
|
61
|
+
sourceAreaPanelIds: readonly string[];
|
|
62
|
+
siblingAreaPanelIds: readonly string[];
|
|
63
|
+
};
|
|
64
|
+
} | {
|
|
65
|
+
kind: 'commit-join';
|
|
66
|
+
state: LayoutInteractionState;
|
|
67
|
+
join: {
|
|
68
|
+
panelId: string;
|
|
69
|
+
edge: LayoutEdge;
|
|
70
|
+
side: 'left' | 'right' | 'top' | 'bottom';
|
|
71
|
+
sourceAreaPanelIds: readonly string[];
|
|
72
|
+
siblingAreaPanelIds: readonly string[];
|
|
73
|
+
};
|
|
74
|
+
} | {
|
|
75
|
+
kind: 'commit-dock';
|
|
76
|
+
state: LayoutInteractionState;
|
|
77
|
+
dock: {
|
|
78
|
+
panelId: string;
|
|
79
|
+
target: LayoutDockTarget;
|
|
80
|
+
};
|
|
81
|
+
} | {
|
|
82
|
+
kind: 'commit-boundary-pull';
|
|
83
|
+
state: LayoutInteractionState;
|
|
84
|
+
boundaryPull: {
|
|
85
|
+
windowId?: string;
|
|
86
|
+
left?: number;
|
|
87
|
+
right?: number;
|
|
88
|
+
top?: number;
|
|
89
|
+
bottom?: number;
|
|
90
|
+
};
|
|
91
|
+
} | {
|
|
92
|
+
kind: 'commit-intersection-resize';
|
|
93
|
+
state: LayoutInteractionState;
|
|
94
|
+
intersectionResize: {
|
|
95
|
+
columnSplitId: string;
|
|
96
|
+
rowSplitId: string;
|
|
97
|
+
columnSizes: [number, number];
|
|
98
|
+
rowSizes: [number, number];
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export declare function createLayoutInteractionState(): LayoutInteractionState;
|
|
102
|
+
export declare function openLayoutSplitMenu(panelId: string | null, edge: LayoutEdge, anchor: LayoutInteractionAnchor, targets?: LayoutMenuTarget[], options?: {
|
|
103
|
+
source?: LayoutInteractionSourceKind;
|
|
104
|
+
initialActionId?: LayoutMenuActionId | null;
|
|
105
|
+
}): LayoutInteractionState;
|
|
106
|
+
export declare function dismissLayoutInteraction(): LayoutInteractionState;
|
|
107
|
+
export declare function startPanelDrag(panelId: string, sourceStackId: string, anchor: LayoutInteractionAnchor): LayoutInteractionState;
|
|
108
|
+
export declare function updatePanelDrag(state: LayoutInteractionState, pointer: LayoutInteractionAnchor, hoveredTarget: LayoutDockTarget | null): LayoutInteractionState;
|
|
109
|
+
export declare function commitPanelDock(state: LayoutInteractionState): LayoutInteractionResolution;
|
|
110
|
+
export declare function resolveSplitHandleMenuTarget(split: SplitNode, activePanelId: string | null): SplitHandleMenuTarget | null;
|
|
111
|
+
export declare function resolveSplitHandleMenuTargets(split: SplitNode): LayoutMenuTarget[];
|
|
112
|
+
export declare function resolveWorkspaceEdgeMenuTargets(root: LayoutNode, edge: LayoutEdge): LayoutMenuTarget[];
|
|
113
|
+
export declare function resolvePanelMenuTargets(root: LayoutNode, panelId: string): LayoutMenuTarget[];
|
|
114
|
+
export declare function resolvePanelMenuJoinTargets(root: LayoutNode, panelId: string): LayoutMenuTarget[];
|
|
115
|
+
export declare function resolvePanelMenuSwapTargets(root: LayoutNode, panelId: string): LayoutMenuTarget[];
|
|
116
|
+
export declare function getLayoutMenuActions(options?: {
|
|
117
|
+
edge?: LayoutEdge;
|
|
118
|
+
panelId?: string | null;
|
|
119
|
+
target?: LayoutMenuTarget | null;
|
|
120
|
+
targets?: LayoutMenuTarget[];
|
|
121
|
+
joinEnabled?: boolean;
|
|
122
|
+
swapAreasEnabled?: boolean;
|
|
123
|
+
}): LayoutMenuActionItem[];
|
|
124
|
+
export declare function selectLayoutMenuAction(state: LayoutInteractionState, selection: LayoutMenuActionSelection | null): LayoutInteractionResolution;
|
|
125
|
+
export declare function getEdgeSemanticOrientation(edge: LayoutEdge): SplitOrientation;
|
|
126
|
+
export declare function isAlignedEdgePreview(edge: LayoutEdge, orientation: SplitOrientation): boolean;
|
|
127
|
+
export declare function getDockSidesForOrientation(orientation: SplitOrientation): [LayoutDockSide, LayoutDockSide];
|
|
128
|
+
export declare function selectLayoutSplitOrientation(state: LayoutInteractionState, orientation: SplitOrientation): LayoutInteractionResolution;
|
|
129
|
+
export declare function updateLayoutSplitPreview(state: LayoutInteractionState, panelId: string | null, pointerRatio: number): LayoutInteractionState;
|
|
130
|
+
export declare function startLayoutSplitPreview(input: {
|
|
131
|
+
panelId: string;
|
|
132
|
+
edge: LayoutEdge;
|
|
133
|
+
orientation: SplitOrientation;
|
|
134
|
+
cuts?: number;
|
|
135
|
+
pointerRatio?: number;
|
|
136
|
+
}): LayoutInteractionState;
|
|
137
|
+
export declare function startBoundaryPull(input: {
|
|
138
|
+
windowId?: string;
|
|
139
|
+
anchor: LayoutInteractionAnchor;
|
|
140
|
+
horizontalEdge?: 'left' | 'right' | null;
|
|
141
|
+
verticalEdge?: 'top' | 'bottom' | null;
|
|
142
|
+
source?: 'edge' | 'corner';
|
|
143
|
+
neutralThreshold?: number;
|
|
144
|
+
creationThreshold?: number;
|
|
145
|
+
}): LayoutInteractionState;
|
|
146
|
+
export declare function updateBoundaryPull(state: LayoutInteractionState, pointer: LayoutInteractionAnchor, viewport: {
|
|
147
|
+
width: number;
|
|
148
|
+
height: number;
|
|
149
|
+
}): LayoutInteractionState;
|
|
150
|
+
export declare function commitBoundaryPull(state: LayoutInteractionState): LayoutInteractionResolution;
|
|
151
|
+
export declare function startIntersectionResize(input: {
|
|
152
|
+
anchor: LayoutInteractionAnchor;
|
|
153
|
+
columnSplitId: string;
|
|
154
|
+
rowSplitId: string;
|
|
155
|
+
columnBaseSizes: [number, number];
|
|
156
|
+
rowBaseSizes: [number, number];
|
|
157
|
+
}): LayoutInteractionState;
|
|
158
|
+
export declare function updateIntersectionResize(state: LayoutInteractionState, pointer: LayoutInteractionAnchor, dimensions: {
|
|
159
|
+
width: number;
|
|
160
|
+
height: number;
|
|
161
|
+
}): LayoutInteractionState;
|
|
162
|
+
export declare function commitIntersectionResize(state: LayoutInteractionState): LayoutInteractionResolution;
|
|
163
|
+
export declare function resolveImmediateJoinSiblingPanelIds(root: LayoutNode, panelId: string, edge: LayoutEdge): string[];
|
|
164
|
+
export declare function resolveImmediateSwapAreaPanelIds(root: LayoutNode, panelId: string, edge: LayoutEdge): string[];
|
|
165
|
+
export declare function resolveImmediateSwapSiblingPanelIds(root: LayoutNode, panelId: string, edge: LayoutEdge): string[];
|
|
166
|
+
export declare function adjustLayoutSplitPreviewCuts(state: LayoutInteractionState, delta: number): LayoutInteractionState;
|
|
167
|
+
export declare function commitLayoutSplitPreview(state: LayoutInteractionState): LayoutInteractionResolution;
|
|
168
|
+
export declare function commitLayoutSubdivideSelection(input: {
|
|
169
|
+
panelId: string;
|
|
170
|
+
edge: LayoutEdge;
|
|
171
|
+
orientation: SplitOrientation;
|
|
172
|
+
cuts: number;
|
|
173
|
+
pointerRatio: number;
|
|
174
|
+
}): LayoutInteractionResolution;
|
|
175
|
+
export declare function previewLayoutSplitSide(state: LayoutInteractionState, side: LayoutDockSide | null): LayoutInteractionState;
|
|
176
|
+
export declare function confirmLayoutSplitSide(state: LayoutInteractionState, side: LayoutDockSide): LayoutInteractionResolution;
|