@yuzhouu/canvas-kit 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -78
- package/_vendor/canvas-core/bindings/bindingUtil.d.ts +45 -0
- package/_vendor/canvas-core/bindings/bindingUtilRegistry.d.ts +8 -0
- package/_vendor/canvas-core/bindings/terminalBinding.d.ts +28 -0
- package/_vendor/canvas-core/editor/camera.d.ts +3 -0
- package/_vendor/canvas-core/editor/clipboard.d.ts +43 -0
- package/_vendor/canvas-core/editor/commands.d.ts +131 -0
- package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +6 -0
- package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -0
- package/_vendor/canvas-core/editor/editor.d.ts +559 -0
- package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +21 -0
- package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +6 -0
- package/_vendor/canvas-core/editor/events.d.ts +71 -0
- package/_vendor/canvas-core/editor/historyManager.d.ts +18 -0
- package/_vendor/canvas-core/editor/index.d.ts +11 -0
- package/_vendor/canvas-core/editor/interactions.d.ts +51 -0
- package/_vendor/canvas-core/editor/internal.d.ts +7 -0
- package/_vendor/canvas-core/editor/managers/bindingManager.d.ts +27 -0
- package/_vendor/canvas-core/editor/managers/cameraManager.d.ts +39 -0
- package/_vendor/canvas-core/editor/managers/clipboardManager.d.ts +14 -0
- package/_vendor/canvas-core/editor/managers/documentSnapshotManager.d.ts +28 -0
- package/_vendor/canvas-core/editor/managers/inputsManager.d.ts +44 -0
- package/_vendor/canvas-core/editor/managers/interactionTransientManager.d.ts +55 -0
- package/_vendor/canvas-core/editor/managers/queryManager.d.ts +77 -0
- package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
- package/_vendor/canvas-core/editor/managers/renderWindowManager.d.ts +25 -0
- package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -0
- package/_vendor/canvas-core/editor/managers/selectionLayoutManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/selectionManager.d.ts +21 -0
- package/_vendor/canvas-core/editor/managers/selectionOverlayManager.d.ts +24 -0
- package/_vendor/canvas-core/editor/managers/shapeEditingManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/shapeGeometryManager.d.ts +42 -0
- package/_vendor/canvas-core/editor/managers/shapeHierarchyManager.d.ts +55 -0
- package/_vendor/canvas-core/editor/managers/shapeOrder.d.ts +14 -0
- package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +6 -0
- package/_vendor/canvas-core/editor/managers/shortcutManager.d.ts +56 -0
- package/_vendor/canvas-core/editor/managers/sideEffectManager.d.ts +23 -0
- package/_vendor/canvas-core/editor/managers/snapCalculations.d.ts +40 -0
- package/_vendor/canvas-core/editor/managers/snapGeometry.d.ts +26 -0
- package/_vendor/canvas-core/editor/managers/snapIndicators.d.ts +22 -0
- package/_vendor/canvas-core/editor/managers/snapManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/snapSnapshotBuilder.d.ts +22 -0
- package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +98 -0
- package/_vendor/canvas-core/editor/managers/spatialIndexManager.d.ts +30 -0
- package/_vendor/canvas-core/editor/managers/toolManager.d.ts +24 -0
- package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +27 -0
- package/_vendor/canvas-core/editor/renderWindow.d.ts +30 -0
- package/_vendor/canvas-core/editor/resizeGeometry.d.ts +97 -0
- package/_vendor/canvas-core/editor/selection.d.ts +231 -0
- package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
- package/_vendor/canvas-core/editor/selectionOverlay.d.ts +33 -0
- package/_vendor/canvas-core/editor/stateNode.d.ts +31 -0
- package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
- package/_vendor/canvas-core/exports/svg.d.ts +52 -0
- package/_vendor/canvas-core/geometry/box.d.ts +19 -0
- package/_vendor/canvas-core/geometry/ellipse2d.d.ts +16 -0
- package/_vendor/canvas-core/geometry/geometry2d.d.ts +15 -0
- package/_vendor/canvas-core/geometry/index.d.ts +8 -0
- package/_vendor/canvas-core/geometry/mat.d.ts +28 -0
- package/_vendor/canvas-core/geometry/polyline2d.d.ts +14 -0
- package/_vendor/canvas-core/geometry/rectangle2d.d.ts +16 -0
- package/_vendor/canvas-core/geometry/segments.d.ts +5 -0
- package/_vendor/canvas-core/geometry/vec.d.ts +37 -0
- package/_vendor/canvas-core/index.d.ts +59 -0
- package/_vendor/canvas-core/plugins/editorPlugin.d.ts +28 -0
- package/_vendor/canvas-core/plugins/index.d.ts +1 -0
- package/_vendor/canvas-core/reactivity.d.ts +4 -0
- package/_vendor/canvas-core/schema/records.d.ts +112 -0
- package/_vendor/canvas-core/schema/snapshotSupport.d.ts +43 -0
- package/_vendor/canvas-core/schema/snapshots.d.ts +31 -0
- package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
- package/_vendor/canvas-core/shapes/colors.d.ts +26 -0
- package/_vendor/canvas-core/shapes/shapeUtil.d.ts +146 -0
- package/_vendor/canvas-core/shapes/shapeUtilRegistry.d.ts +9 -0
- package/_vendor/canvas-core/shapes/types.d.ts +2 -0
- package/_vendor/canvas-core/surfaces/actions.d.ts +35 -0
- package/_vendor/canvas-core/surfaces/contextMenu.d.ts +64 -0
- package/_vendor/canvas-core/surfaces/toolbar.d.ts +96 -0
- package/_vendor/canvas-core/tools/hand/handTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/index.d.ts +2 -0
- package/_vendor/canvas-core/tools/select/selectContainment.d.ts +12 -0
- package/_vendor/canvas-core/tools/select/selectTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +161 -0
- package/_vendor/canvas-core/tools/select/states/brushingState.d.ts +19 -0
- package/_vendor/canvas-core/tools/select/states/draggingSelectionHandleInteractionState.d.ts +15 -0
- package/_vendor/canvas-core/tools/select/states/idleState.d.ts +8 -0
- package/_vendor/canvas-core/tools/select/states/index.d.ts +11 -0
- package/_vendor/canvas-core/tools/select/states/pointingCanvasState.d.ts +11 -0
- package/_vendor/canvas-core/tools/select/states/pointingResizeHandleState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/pointingRotateHandleState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/pointingSelectionHandleInteractionState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/pointingShapeState.d.ts +12 -0
- package/_vendor/canvas-core/tools/select/states/resizingState.d.ts +16 -0
- package/_vendor/canvas-core/tools/select/states/rotatingState.d.ts +14 -0
- package/_vendor/canvas-core/tools/select/states/selectStateNode.d.ts +60 -0
- package/_vendor/canvas-core/tools/select/states/translatingState.d.ts +17 -0
- package/_vendor/canvas-react/components/CanvasView.d.ts +14 -0
- package/_vendor/canvas-react/components/OverlayLayer.d.ts +1 -0
- package/_vendor/canvas-react/components/PageSpace.d.ts +6 -0
- package/_vendor/canvas-react/components/ShapeLayer.d.ts +4 -0
- package/_vendor/canvas-react/components/index.d.ts +2 -0
- package/_vendor/canvas-react/components/overlays/BindingGuide.d.ts +24 -0
- package/_vendor/canvas-react/components/overlays/BindingPreviewOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/BrushBoxOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/OverlaySvgRoot.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionFrameOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionHandlesOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionOverlaySvg.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionPathOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/ShapeOutlineOverlay.d.ts +8 -0
- package/_vendor/canvas-react/components/overlays/SnapIndicatorsOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +21 -0
- package/_vendor/canvas-react/dom.d.ts +10 -0
- package/_vendor/canvas-react/hooks/useEditor.d.ts +3 -0
- package/_vendor/canvas-react/hooks/useValue.d.ts +2 -0
- package/_vendor/canvas-react/host/canvasOverlayRegistryContext.d.ts +3 -0
- package/_vendor/canvas-react/host/canvasPlugin.d.ts +73 -0
- package/_vendor/canvas-react/host/canvasRendererRegistryContext.d.ts +3 -0
- package/_vendor/canvas-react/host/contextMenuRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/domEventGuards.d.ts +11 -0
- package/_vendor/canvas-react/host/extension.d.ts +37 -0
- package/_vendor/canvas-react/host/index.d.ts +13 -0
- package/_vendor/canvas-react/host/overlayRegistry.d.ts +18 -0
- package/_vendor/canvas-react/host/pluginHost.d.ts +2 -0
- package/_vendor/canvas-react/host/pluginHostManifest.d.ts +2 -0
- package/_vendor/canvas-react/host/pluginHostRuntime.d.ts +3 -0
- package/_vendor/canvas-react/host/pluginHostTypes.d.ts +102 -0
- package/_vendor/canvas-react/host/pluginHostValidation.d.ts +11 -0
- package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
- package/_vendor/canvas-react/index.d.ts +4 -0
- package/_vendor/plugin-arrow/arrowBindingAnchors.d.ts +5 -0
- package/_vendor/plugin-arrow/arrowBindingGeometry.d.ts +28 -0
- package/_vendor/plugin-arrow/arrowBindingUtil.d.ts +27 -0
- package/_vendor/plugin-arrow/arrowGeometry.d.ts +74 -0
- package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +21 -0
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +20 -0
- package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
- package/_vendor/plugin-arrow/arrowTool.d.ts +4 -0
- package/_vendor/plugin-arrow/canvas.d.ts +2 -0
- package/_vendor/plugin-arrow/editor.d.ts +7 -0
- package/_vendor/plugin-arrow/feature.d.ts +3 -0
- package/_vendor/plugin-arrow/index.d.ts +12 -0
- package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +3 -0
- package/_vendor/plugin-arrow/types.d.ts +31 -0
- package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +10 -0
- package/_vendor/plugin-draw/canvas.d.ts +2 -0
- package/_vendor/plugin-draw/drawGeometry.d.ts +45 -0
- package/_vendor/plugin-draw/drawHitTest.d.ts +11 -0
- package/_vendor/plugin-draw/drawInterpolation.d.ts +5 -0
- package/_vendor/plugin-draw/drawPath.d.ts +37 -0
- package/_vendor/plugin-draw/drawSegments.d.ts +11 -0
- package/_vendor/plugin-draw/drawSelectionTransform.d.ts +18 -0
- package/_vendor/plugin-draw/drawShapeGeometry.d.ts +33 -0
- package/_vendor/plugin-draw/drawShapeUtil.d.ts +21 -0
- package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +17 -0
- package/_vendor/plugin-draw/drawTool.d.ts +6 -0
- package/_vendor/plugin-draw/editor.d.ts +7 -0
- package/_vendor/plugin-draw/feature.d.ts +3 -0
- package/_vendor/plugin-draw/index.d.ts +13 -0
- package/_vendor/plugin-draw/types.d.ts +23 -0
- package/_vendor/plugin-eraser/canvas.d.ts +2 -0
- package/_vendor/plugin-eraser/editor.d.ts +2 -0
- package/_vendor/plugin-eraser/eraserTool.d.ts +5 -0
- package/_vendor/plugin-eraser/feature.d.ts +3 -0
- package/_vendor/plugin-eraser/{index.ts → index.d.ts} +2 -2
- package/_vendor/plugin-frame/canvas.d.ts +9 -0
- package/_vendor/plugin-frame/editor.d.ts +7 -0
- package/_vendor/plugin-frame/feature.d.ts +3 -0
- package/_vendor/plugin-frame/frameShapeUtil.d.ts +23 -0
- package/_vendor/plugin-frame/frameTool.d.ts +6 -0
- package/_vendor/plugin-frame/index.d.ts +6 -0
- package/_vendor/plugin-geo/canvas.d.ts +13 -0
- package/_vendor/plugin-geo/editor.d.ts +7 -0
- package/_vendor/plugin-geo/feature.d.ts +3 -0
- package/_vendor/plugin-geo/geoGeometry.d.ts +8 -0
- package/_vendor/plugin-geo/geoShapeUtil.d.ts +13 -0
- package/_vendor/plugin-geo/geoTools.d.ts +26 -0
- package/_vendor/plugin-geo/index.d.ts +7 -0
- package/_vendor/plugin-geo/types.d.ts +17 -0
- package/_vendor/plugin-group/canvas.d.ts +10 -0
- package/_vendor/plugin-group/editor.d.ts +7 -0
- package/_vendor/plugin-group/feature.d.ts +3 -0
- package/_vendor/plugin-group/groupShapeUtil.d.ts +15 -0
- package/_vendor/plugin-group/index.d.ts +5 -0
- package/_vendor/plugin-image/canvas.d.ts +2 -0
- package/_vendor/plugin-image/crop.d.ts +112 -0
- package/_vendor/plugin-image/cropInteractions.d.ts +3 -0
- package/_vendor/plugin-image/cropSession.d.ts +4 -0
- package/_vendor/plugin-image/editor.d.ts +16 -0
- package/_vendor/plugin-image/feature.d.ts +3 -0
- package/_vendor/plugin-image/imageShapeUtil.d.ts +11 -0
- package/_vendor/plugin-image/index.d.ts +8 -0
- package/_vendor/plugin-image/types.d.ts +37 -0
- package/_vendor/plugin-laser/canvas.d.ts +2 -0
- package/_vendor/plugin-laser/editor.d.ts +2 -0
- package/_vendor/plugin-laser/feature.d.ts +3 -0
- package/_vendor/plugin-laser/{index.ts → index.d.ts} +2 -2
- package/_vendor/plugin-laser/laserTool.d.ts +4 -0
- package/_vendor/plugin-text/arrowLabelBindingUtil.d.ts +42 -0
- package/_vendor/plugin-text/canvas.d.ts +2 -0
- package/_vendor/plugin-text/editor.d.ts +2 -0
- package/_vendor/plugin-text/feature.d.ts +3 -0
- package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +45 -0
- package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
- package/_vendor/plugin-text/host/RichTextToolbar.d.ts +8 -0
- package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -0
- package/_vendor/plugin-text/host/richTextBubbleMenuPositionSync.d.ts +7 -0
- package/_vendor/plugin-text/host/richTextRendering.d.ts +3 -0
- package/_vendor/plugin-text/host/textDomSelection.d.ts +7 -0
- package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +3 -0
- package/_vendor/plugin-text/host/textEntryFocus.d.ts +22 -0
- package/_vendor/plugin-text/host/textFontLoader.d.ts +2 -0
- package/_vendor/plugin-text/host/textMeasurement.d.ts +12 -0
- package/_vendor/plugin-text/host/textMeasurementSync.d.ts +10 -0
- package/_vendor/plugin-text/host/textRangeSelection.d.ts +14 -0
- package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +8 -0
- package/_vendor/plugin-text/host/textShapeSync.d.ts +17 -0
- package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +33 -0
- package/_vendor/plugin-text/index.d.ts +4 -0
- package/_vendor/plugin-text/richTextUtils.d.ts +18 -0
- package/_vendor/plugin-text/textInteractions.d.ts +2 -0
- package/_vendor/plugin-text/textLabelHelpers.d.ts +44 -0
- package/_vendor/plugin-text/textShapeHelpers.d.ts +21 -0
- package/_vendor/plugin-text/textShapeSvgExporter.d.ts +6 -0
- package/_vendor/plugin-text/textShapeUtil.d.ts +19 -0
- package/_vendor/plugin-text/textStyle.d.ts +9 -0
- package/_vendor/plugin-text/textTool.d.ts +4 -0
- package/_vendor/plugin-text/textTypes.d.ts +28 -0
- package/_vendor/signals/atom.d.ts +9 -0
- package/_vendor/signals/computed.d.ts +11 -0
- package/_vendor/signals/core.d.ts +17 -0
- package/_vendor/signals/effect.d.ts +29 -0
- package/_vendor/signals/types.d.ts +15 -0
- package/_vendor/store/diff.d.ts +9 -0
- package/_vendor/store/history.d.ts +37 -0
- package/_vendor/store/index.d.ts +5 -0
- package/_vendor/store/store.d.ts +32 -0
- package/_vendor/store/types.d.ts +27 -0
- package/browser/localSnapshotRestore.d.ts +13 -0
- package/browser/persistence.d.ts +46 -0
- package/builtins/controller/createBuiltInCanvasController.d.ts +16 -0
- package/builtins/controller/layerController.d.ts +9 -0
- package/builtins/controller/shapeCreationController.d.ts +74 -0
- package/builtins/extensions.d.ts +15 -0
- package/builtins/index.d.ts +5 -0
- package/chrome/CanvasKitFloatingToolbarLayer.d.ts +6 -0
- package/chrome/FloatingSelectionToolbarPageSpace.d.ts +9 -0
- package/chrome/bindings/useCanvasKitChromeControls.d.ts +27 -0
- package/chrome/bindings/useContextMenuSurface.d.ts +12 -0
- package/chrome/bindings/useSvgExport.d.ts +15 -0
- package/chrome/bindings/useToolbarSurfaces.d.ts +26 -0
- package/chrome/types.d.ts +66 -0
- package/chrome/useCanvasKitChromeContext.d.ts +19 -0
- package/controller/canvasKitController.d.ts +36 -0
- package/core/controller/canvasProductController.d.ts +114 -0
- package/core/controller/featureControllerRegistry.d.ts +12 -0
- package/core/controller/index.d.ts +4 -0
- package/core/controller/productLayerTree.d.ts +10 -0
- package/core/features/actions/canvasActionContext.d.ts +15 -0
- package/core/features/actions/canvasActions.d.ts +26 -0
- package/core/features/clipboard/clipboardContextMenuContributions.d.ts +2 -0
- package/core/features/clipboard/clipboardContribution.d.ts +19 -0
- package/core/features/clipboard/clipboardService.d.ts +10 -0
- package/core/features/context-menu/contextMenuActions.d.ts +12 -0
- package/core/features/context-menu/contextMenuContext.d.ts +6 -0
- package/core/features/context-menu/contextMenuContribution.d.ts +4 -0
- package/core/features/context-menu/viewContextMenuContributions.d.ts +2 -0
- package/core/features/export/svgExport.d.ts +33 -0
- package/core/features/hostActionIds.d.ts +1 -0
- package/core/features/toolbar/selectionContextMenuContributions.d.ts +2 -0
- package/core/features/toolbar/toolContextMenuContributions.d.ts +2 -0
- package/core/features/toolbar/toolbarContribution.d.ts +4 -0
- package/core/features/toolbar/toolbarLabels.d.ts +8 -0
- package/core/index.d.ts +23 -0
- package/core/runtime/productAssets.d.ts +18 -0
- package/core/runtime/productContributions.d.ts +9 -0
- package/core/runtime/productDefinition.d.ts +32 -0
- package/core/runtime/productEditor.d.ts +3 -0
- package/core/runtime/productHost.d.ts +17 -0
- package/core/runtime/productServices.d.ts +30 -0
- package/features/image/ImageImportController.d.ts +9 -0
- package/features/image/imageAssetService.d.ts +7 -0
- package/features/image/imageBlobStore.d.ts +25 -0
- package/features/image/imageFileHelpers.d.ts +35 -0
- package/features/image/imageHostActions.d.ts +36 -0
- package/features/image/imageHostExtension.d.ts +5 -0
- package/features/image/imageProductController.d.ts +22 -0
- package/features/image/imageProductToolbarActions.d.ts +2 -0
- package/features/image/imageToolbarHostBridge.d.ts +14 -0
- package/features/image/index.d.ts +15 -0
- package/features/image/svgImageAssetInliner.d.ts +3 -0
- package/features/image/useImageImport.d.ts +17 -0
- package/index.css +1 -2
- package/index.d.ts +12 -15
- package/index.mjs +66 -1
- package/package.json +1 -11
- package/product/canvasKitProduct.d.ts +59 -0
- package/react/CanvasKitPersistenceNotice.d.ts +4 -0
- package/react/CanvasKitRoot.d.ts +5 -0
- package/react/useCanvasKitController.d.ts +5 -0
- package/react/useCanvasKitKeyboardShortcuts.d.ts +6 -0
- package/react/useCanvasKitRuntime.d.ts +4 -0
- package/react/useCanvasKitStartup.d.ts +9 -0
- package/runtime/canvasKitHostExtensions.d.ts +19 -0
- package/runtime/canvasKitRuntime.d.ts +19 -0
- package/runtime/canvasKitRuntimeInitializer.d.ts +11 -0
- package/_vendor/canvas-core/bindings/BindingUtil.ts +0 -92
- package/_vendor/canvas-core/bindings/BindingUtilRegistry.ts +0 -22
- package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.ts +0 -52
- package/_vendor/canvas-core/contextMenu.ts +0 -85
- package/_vendor/canvas-core/editor/Editor.ts +0 -2614
- package/_vendor/canvas-core/editor/HistoryManager.ts +0 -83
- package/_vendor/canvas-core/editor/StateNode.ts +0 -162
- package/_vendor/canvas-core/editor/camera.ts +0 -6
- package/_vendor/canvas-core/editor/clipboard.ts +0 -478
- package/_vendor/canvas-core/editor/commands.ts +0 -833
- package/_vendor/canvas-core/editor/edgeScroll.ts +0 -37
- package/_vendor/canvas-core/editor/editorComputedHelpers.ts +0 -257
- package/_vendor/canvas-core/editor/editorSelectionTransforms.ts +0 -116
- package/_vendor/canvas-core/editor/events.ts +0 -93
- package/_vendor/canvas-core/editor/index.ts +0 -12
- package/_vendor/canvas-core/editor/interactions.ts +0 -101
- package/_vendor/canvas-core/editor/internal.ts +0 -22
- package/_vendor/canvas-core/editor/managers/BindingManager.ts +0 -262
- package/_vendor/canvas-core/editor/managers/CameraManager.ts +0 -147
- package/_vendor/canvas-core/editor/managers/ClipboardManager.ts +0 -32
- package/_vendor/canvas-core/editor/managers/DocumentSnapshotManager.ts +0 -256
- package/_vendor/canvas-core/editor/managers/InputsManager.ts +0 -319
- package/_vendor/canvas-core/editor/managers/InteractionTransientManager.ts +0 -218
- package/_vendor/canvas-core/editor/managers/QueryManager.ts +0 -837
- package/_vendor/canvas-core/editor/managers/RenderWindowManager.ts +0 -347
- package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.ts +0 -196
- package/_vendor/canvas-core/editor/managers/SelectionManager.ts +0 -98
- package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.ts +0 -308
- package/_vendor/canvas-core/editor/managers/ShapeEditingManager.ts +0 -226
- package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.ts +0 -162
- package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.ts +0 -797
- package/_vendor/canvas-core/editor/managers/SideEffectManager.ts +0 -83
- package/_vendor/canvas-core/editor/managers/SnapManager.ts +0 -433
- package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.ts +0 -430
- package/_vendor/canvas-core/editor/managers/SpatialIndexManager.ts +0 -354
- package/_vendor/canvas-core/editor/managers/ToolManager.ts +0 -81
- package/_vendor/canvas-core/editor/managers/queryState.ts +0 -583
- package/_vendor/canvas-core/editor/managers/selectionGeometry.ts +0 -287
- package/_vendor/canvas-core/editor/managers/shapeOrder.ts +0 -350
- package/_vendor/canvas-core/editor/managers/shapeReparenting.ts +0 -160
- package/_vendor/canvas-core/editor/managers/snapCalculations.ts +0 -412
- package/_vendor/canvas-core/editor/managers/snapGeometry.ts +0 -202
- package/_vendor/canvas-core/editor/managers/snapIndicators.ts +0 -403
- package/_vendor/canvas-core/editor/managers/snapTypes.ts +0 -122
- package/_vendor/canvas-core/editor/queries/shapeTransforms.ts +0 -171
- package/_vendor/canvas-core/editor/renderWindow.ts +0 -439
- package/_vendor/canvas-core/editor/resizeGeometry.ts +0 -654
- package/_vendor/canvas-core/editor/selection.ts +0 -489
- package/_vendor/canvas-core/editor/selectionHandleInteractions.ts +0 -43
- package/_vendor/canvas-core/editor/selectionOverlay.ts +0 -567
- package/_vendor/canvas-core/exports/integrity.ts +0 -174
- package/_vendor/canvas-core/exports/svg.ts +0 -494
- package/_vendor/canvas-core/geometry/Box.ts +0 -80
- package/_vendor/canvas-core/geometry/Ellipse2d.ts +0 -67
- package/_vendor/canvas-core/geometry/Geometry2d.ts +0 -52
- package/_vendor/canvas-core/geometry/Mat.ts +0 -92
- package/_vendor/canvas-core/geometry/Polyline2d.ts +0 -63
- package/_vendor/canvas-core/geometry/Rectangle2d.ts +0 -64
- package/_vendor/canvas-core/geometry/Vec.ts +0 -123
- package/_vendor/canvas-core/geometry/index.ts +0 -13
- package/_vendor/canvas-core/geometry/segments.ts +0 -65
- package/_vendor/canvas-core/index.ts +0 -391
- package/_vendor/canvas-core/plugins/index.ts +0 -5
- package/_vendor/canvas-core/plugins/types.ts +0 -53
- package/_vendor/canvas-core/reactivity.ts +0 -16
- package/_vendor/canvas-core/schema/records.ts +0 -221
- package/_vendor/canvas-core/schema/snapshots.ts +0 -527
- package/_vendor/canvas-core/shapes/ShapeUtil.ts +0 -516
- package/_vendor/canvas-core/shapes/ShapeUtilRegistry.ts +0 -26
- package/_vendor/canvas-core/shapes/capabilities.ts +0 -67
- package/_vendor/canvas-core/shapes/types.ts +0 -20
- package/_vendor/canvas-core/toolbar.ts +0 -148
- package/_vendor/canvas-core/tools/hand/HandTool.ts +0 -75
- package/_vendor/canvas-core/tools/index.ts +0 -2
- package/_vendor/canvas-core/tools/select/SelectTool.ts +0 -33
- package/_vendor/canvas-core/tools/select/selectContainment.ts +0 -104
- package/_vendor/canvas-core/tools/select/selectToolHelpers.ts +0 -801
- package/_vendor/canvas-core/tools/select/states/BrushingState.ts +0 -145
- package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.ts +0 -116
- package/_vendor/canvas-core/tools/select/states/IdleState.ts +0 -159
- package/_vendor/canvas-core/tools/select/states/PointingCanvasState.ts +0 -41
- package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.ts +0 -78
- package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.ts +0 -64
- package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.ts +0 -34
- package/_vendor/canvas-core/tools/select/states/PointingShapeState.ts +0 -140
- package/_vendor/canvas-core/tools/select/states/ResizingState.ts +0 -171
- package/_vendor/canvas-core/tools/select/states/RotatingState.ts +0 -124
- package/_vendor/canvas-core/tools/select/states/SelectStateNode.ts +0 -128
- package/_vendor/canvas-core/tools/select/states/TranslatingState.ts +0 -139
- package/_vendor/canvas-core/tools/select/states/index.ts +0 -11
- package/_vendor/canvas-plugin-api/feature.ts +0 -204
- package/_vendor/canvas-plugin-api/index.ts +0 -142
- package/_vendor/canvas-product-react/api/apiRegistry.ts +0 -35
- package/_vendor/canvas-product-react/api/canvasProductApi.ts +0 -422
- package/_vendor/canvas-product-react/api/index.ts +0 -31
- package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.ts +0 -36
- package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.ts +0 -245
- package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.ts +0 -396
- package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.ts +0 -59
- package/_vendor/canvas-product-react/capabilities/export/useSvgExport.ts +0 -156
- package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.ts +0 -23
- package/_vendor/canvas-product-react/capabilities/pages/usePageControls.ts +0 -41
- package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.ts +0 -490
- package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.ts +0 -92
- package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.ts +0 -27
- package/_vendor/canvas-product-react/index.ts +0 -84
- package/_vendor/canvas-product-react/persistence/index.ts +0 -18
- package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.ts +0 -294
- package/_vendor/canvas-product-react/runtime/CanvasProductRoot.tsx +0 -250
- package/_vendor/canvas-product-react/runtime/productDefinition.ts +0 -72
- package/_vendor/canvas-product-react/runtime/productServices.ts +0 -96
- package/_vendor/canvas-react/components/CanvasView.tsx +0 -796
- package/_vendor/canvas-react/components/OverlayLayer.tsx +0 -879
- package/_vendor/canvas-react/components/PageSpace.tsx +0 -34
- package/_vendor/canvas-react/components/ShapeLayer.tsx +0 -428
- package/_vendor/canvas-react/components/index.ts +0 -4
- package/_vendor/canvas-react/hooks/useEditor.ts +0 -11
- package/_vendor/canvas-react/hooks/useValue.ts +0 -14
- package/_vendor/canvas-react/host/CanvasRendererRegistryContext.tsx +0 -14
- package/_vendor/canvas-react/host/contextMenuRegistry.ts +0 -61
- package/_vendor/canvas-react/host/domEventGuards.ts +0 -61
- package/_vendor/canvas-react/host/index.ts +0 -38
- package/_vendor/canvas-react/host/pluginHost.ts +0 -635
- package/_vendor/canvas-react/host/rendererRegistry.tsx +0 -58
- package/_vendor/canvas-react/host/toolbarRegistry.ts +0 -100
- package/_vendor/canvas-react/index.ts +0 -3
- package/_vendor/plugin-arrow/ArrowBindingUtil.ts +0 -239
- package/_vendor/plugin-arrow/ArrowShapeUtil.ts +0 -311
- package/_vendor/plugin-arrow/ArrowTool.ts +0 -208
- package/_vendor/plugin-arrow/arrowGeometry.ts +0 -441
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.ts +0 -253
- package/_vendor/plugin-arrow/arrowTerminalCommands.ts +0 -230
- package/_vendor/plugin-arrow/canvas.tsx +0 -92
- package/_vendor/plugin-arrow/core.ts +0 -409
- package/_vendor/plugin-arrow/feature.ts +0 -20
- package/_vendor/plugin-arrow/index.ts +0 -28
- package/_vendor/plugin-arrow/selectionHandleInteractions.ts +0 -154
- package/_vendor/plugin-arrow/types.ts +0 -63
- package/_vendor/plugin-draw/DrawShapeRenderer.tsx +0 -60
- package/_vendor/plugin-draw/DrawShapeUtil.ts +0 -372
- package/_vendor/plugin-draw/DrawTool.ts +0 -444
- package/_vendor/plugin-draw/canvas.tsx +0 -24
- package/_vendor/plugin-draw/core.ts +0 -515
- package/_vendor/plugin-draw/drawGeometry.ts +0 -491
- package/_vendor/plugin-draw/drawHitTest.ts +0 -271
- package/_vendor/plugin-draw/drawInterpolation.ts +0 -250
- package/_vendor/plugin-draw/drawPath.ts +0 -550
- package/_vendor/plugin-draw/drawSegments.ts +0 -106
- package/_vendor/plugin-draw/drawSelectionTransform.ts +0 -67
- package/_vendor/plugin-draw/drawShapeGeometry.ts +0 -307
- package/_vendor/plugin-draw/drawStrokeGeometry.ts +0 -454
- package/_vendor/plugin-draw/feature.ts +0 -20
- package/_vendor/plugin-draw/index.ts +0 -31
- package/_vendor/plugin-draw/types.ts +0 -36
- package/_vendor/plugin-eraser/EraserTool.ts +0 -297
- package/_vendor/plugin-eraser/canvas.tsx +0 -616
- package/_vendor/plugin-eraser/core.ts +0 -49
- package/_vendor/plugin-eraser/feature.ts +0 -20
- package/_vendor/plugin-frame/FrameShapeUtil.ts +0 -173
- package/_vendor/plugin-frame/FrameTool.ts +0 -225
- package/_vendor/plugin-frame/canvas.tsx +0 -75
- package/_vendor/plugin-frame/core.ts +0 -534
- package/_vendor/plugin-frame/feature.ts +0 -20
- package/_vendor/plugin-frame/index.ts +0 -6
- package/_vendor/plugin-geo/GeoShapeUtil.ts +0 -463
- package/_vendor/plugin-geo/GeoTools.ts +0 -247
- package/_vendor/plugin-geo/canvas.tsx +0 -90
- package/_vendor/plugin-geo/core.ts +0 -495
- package/_vendor/plugin-geo/feature.ts +0 -20
- package/_vendor/plugin-geo/index.ts +0 -7
- package/_vendor/plugin-geo/types.ts +0 -27
- package/_vendor/plugin-group/GroupShapeUtil.ts +0 -59
- package/_vendor/plugin-group/canvas.tsx +0 -59
- package/_vendor/plugin-group/core.ts +0 -40
- package/_vendor/plugin-group/feature.ts +0 -20
- package/_vendor/plugin-group/index.ts +0 -5
- package/_vendor/plugin-image/ImageShapeUtil.ts +0 -95
- package/_vendor/plugin-image/canvas.tsx +0 -212
- package/_vendor/plugin-image/core.ts +0 -542
- package/_vendor/plugin-image/crop.ts +0 -770
- package/_vendor/plugin-image/cropInteractions.ts +0 -350
- package/_vendor/plugin-image/cropSession.ts +0 -38
- package/_vendor/plugin-image/feature.ts +0 -20
- package/_vendor/plugin-image/index.ts +0 -29
- package/_vendor/plugin-image/types.ts +0 -55
- package/_vendor/plugin-image-product-react/ImageImportController.tsx +0 -143
- package/_vendor/plugin-image-product-react/imageAssetService.ts +0 -52
- package/_vendor/plugin-image-product-react/imageBlobStore.ts +0 -315
- package/_vendor/plugin-image-product-react/imageHostActions.ts +0 -438
- package/_vendor/plugin-image-product-react/imageProductApi.ts +0 -88
- package/_vendor/plugin-image-product-react/imageToolbarHostBridge.ts +0 -48
- package/_vendor/plugin-image-product-react/imageToolbarRuntime.ts +0 -21
- package/_vendor/plugin-image-product-react/index.ts +0 -60
- package/_vendor/plugin-image-product-react/snapshotGuards.ts +0 -33
- package/_vendor/plugin-image-product-react/svgImageAssetInliner.ts +0 -54
- package/_vendor/plugin-image-product-react/useImageImport.ts +0 -64
- package/_vendor/plugin-laser/LaserTool.ts +0 -154
- package/_vendor/plugin-laser/canvas.tsx +0 -645
- package/_vendor/plugin-laser/core.ts +0 -49
- package/_vendor/plugin-laser/feature.ts +0 -20
- package/_vendor/plugin-text/ArrowLabelBindingUtil.ts +0 -336
- package/_vendor/plugin-text/GeoLabelBindingUtil.ts +0 -391
- package/_vendor/plugin-text/TextShapeSvgExporter.ts +0 -101
- package/_vendor/plugin-text/TextShapeUtil.ts +0 -284
- package/_vendor/plugin-text/TextTool.ts +0 -228
- package/_vendor/plugin-text/canvas.tsx +0 -115
- package/_vendor/plugin-text/core.ts +0 -422
- package/_vendor/plugin-text/feature.ts +0 -20
- package/_vendor/plugin-text/host/RichTextEditingBox.tsx +0 -144
- package/_vendor/plugin-text/host/RichTextToolbar.tsx +0 -266
- package/_vendor/plugin-text/host/TiptapTextEditor.tsx +0 -191
- package/_vendor/plugin-text/host/richTextRendering.tsx +0 -49
- package/_vendor/plugin-text/host/textDomSelection.ts +0 -93
- package/_vendor/plugin-text/host/textEditingBoxStyle.ts +0 -36
- package/_vendor/plugin-text/host/textEntryFocus.ts +0 -307
- package/_vendor/plugin-text/host/textFontLoader.ts +0 -149
- package/_vendor/plugin-text/host/textMeasurement.ts +0 -258
- package/_vendor/plugin-text/host/textMeasurementSync.ts +0 -77
- package/_vendor/plugin-text/host/textRangeSelection.ts +0 -134
- package/_vendor/plugin-text/host/textShapeRendererRuntime.tsx +0 -89
- package/_vendor/plugin-text/host/textShapeSync.ts +0 -173
- package/_vendor/plugin-text/host/tiptapTextEditorController.ts +0 -148
- package/_vendor/plugin-text/index.ts +0 -18
- package/_vendor/plugin-text/richTextUtils.ts +0 -259
- package/_vendor/plugin-text/textInteractions.ts +0 -366
- package/_vendor/plugin-text/textLabelHelpers.ts +0 -235
- package/_vendor/plugin-text/textShapeHelpers.ts +0 -123
- package/_vendor/plugin-text/textStyle.ts +0 -96
- package/_vendor/plugin-text/textTypes.ts +0 -48
- package/_vendor/signals/atom.ts +0 -74
- package/_vendor/signals/computed.ts +0 -132
- package/_vendor/signals/core.ts +0 -130
- package/_vendor/signals/effect.ts +0 -117
- package/_vendor/signals/types.ts +0 -17
- package/_vendor/store/Store.ts +0 -171
- package/_vendor/store/diff.ts +0 -229
- package/_vendor/store/history.ts +0 -177
- package/_vendor/store/index.ts +0 -32
- package/_vendor/store/types.ts +0 -37
- package/api/canvasKitApi.d.ts +0 -29
- package/internal-modules.d.ts +0 -187
- package/product/Shell.d.ts +0 -19
- package/product/chromeContext.d.ts +0 -70
- package/product/createCanvasKitEditor.d.ts +0 -6
- package/product/index.d.ts +0 -7
- package/product/persistence.d.ts +0 -3
- package/product/product.d.ts +0 -22
- package/product/useCanvasClipboardShortcuts.d.ts +0 -6
- package/product-iyBbEPIs.mjs +0 -4
- package/product.mjs +0 -1
- package/standard/extensions.d.ts +0 -1
- package/standard/index.d.ts +0 -3
- package/standard/standardApi.d.ts +0 -91
- package/standard-BmrxwqpJ.mjs +0 -44
- package/standard.mjs +0 -1
- /package/_vendor/signals/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { ShapeId, ShapeParentId, ShapeRecord } from "../../schema/records";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
import type { ContainerBoundsQueryOptions, LayerOrderDirection, LayerOrderEdge, ReparentShapePlacementInput, ReparentShapePlacementResult, ShapeGroupState, ShapeSelectionSiblingOrderState, ShapeSiblingOrderDirection, ShapeSiblingOrderEdge, ShapeSiblingOrderState } from "../editor";
|
|
5
|
+
/**
|
|
6
|
+
* Shape-tree structure operations for the editor: grouping/ungrouping, the layer
|
|
7
|
+
* tree, sibling/parent z-ordering, and reparent placement. These are cohesive
|
|
8
|
+
* mutations over the shape hierarchy carved out of the Editor facade so the
|
|
9
|
+
* editor can stay a thinner delegating surface. The Editor exposes thin wrappers
|
|
10
|
+
* that forward here.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ShapeHierarchyManager {
|
|
13
|
+
private readonly editor;
|
|
14
|
+
constructor(editor: Editor);
|
|
15
|
+
private get store();
|
|
16
|
+
getSelectionParentOrderState(): ShapeSelectionSiblingOrderState | null;
|
|
17
|
+
getSelectionGroupState(): ShapeGroupState | null;
|
|
18
|
+
canGroupSelection(): boolean;
|
|
19
|
+
private getGroupStateForShapeIds;
|
|
20
|
+
private groupShapesFromState;
|
|
21
|
+
canGroupShapes(ids: readonly ShapeId[]): boolean;
|
|
22
|
+
groupShapes(ids: readonly ShapeId[], source?: ChangeSource): ShapeRecord | null;
|
|
23
|
+
groupSelection(source?: ChangeSource): ShapeRecord | null;
|
|
24
|
+
getUngroupableSelectedShapeIds(): ShapeId[];
|
|
25
|
+
getUngroupableShapeIds(ids: readonly ShapeId[]): ShapeId[];
|
|
26
|
+
canUngroupSelection(): boolean;
|
|
27
|
+
canUngroupShapes(ids: readonly ShapeId[]): boolean;
|
|
28
|
+
ungroupShapes(ids: readonly ShapeId[], source?: ChangeSource): ShapeId[];
|
|
29
|
+
ungroupSelection(source?: ChangeSource): ShapeId[];
|
|
30
|
+
getSelectionSiblingOrderState(): ShapeSiblingOrderState | null;
|
|
31
|
+
canMoveSelectionWithinParent(direction: ShapeSiblingOrderDirection): boolean;
|
|
32
|
+
canMoveSelectionInParentOrder(direction: ShapeSiblingOrderDirection): boolean;
|
|
33
|
+
canMoveShapesInParentOrder(ids: readonly ShapeId[], direction: LayerOrderDirection): boolean;
|
|
34
|
+
moveShapesInParentOrder(ids: readonly ShapeId[], direction: LayerOrderDirection, source?: ChangeSource): boolean;
|
|
35
|
+
moveShapesToParentOrderEdge(ids: readonly ShapeId[], edge: LayerOrderEdge, source?: ChangeSource): boolean;
|
|
36
|
+
moveSelectionWithinParent(direction: ShapeSiblingOrderDirection, source?: ChangeSource): boolean;
|
|
37
|
+
moveShapesToParentPlacement(input: ReparentShapePlacementInput, source?: ChangeSource): boolean;
|
|
38
|
+
moveShapesToParentPlacementResult(input: ReparentShapePlacementInput, source?: ChangeSource): ReparentShapePlacementResult;
|
|
39
|
+
moveSelectionInParentOrder(direction: ShapeSiblingOrderDirection, source?: ChangeSource): boolean;
|
|
40
|
+
moveSelectionToParentOrderEdge(edge: ShapeSiblingOrderEdge, source?: ChangeSource): boolean;
|
|
41
|
+
isShapeOrAncestorLocked(shapeId: ShapeId): boolean;
|
|
42
|
+
hasLockedDescendant(shapeId: ShapeId): boolean;
|
|
43
|
+
getOutermostSelectableShapeId(shapeId: ShapeId): ShapeId;
|
|
44
|
+
getShapeIdsIncludingDescendants(shapeIds: Iterable<ShapeId>): ShapeId[];
|
|
45
|
+
getShapeIdsForSelectionTransform(shapeIds: Iterable<ShapeId>): ShapeId[];
|
|
46
|
+
getShapeIdsForSelectionRotation(shapeIds: Iterable<ShapeId>): ShapeId[];
|
|
47
|
+
getSelectionTransformTargetShapes(): ShapeRecord[];
|
|
48
|
+
getSelectionRotationTargetShapes(): ShapeRecord[];
|
|
49
|
+
getShapeExportTraversalIds(shapeIds: Iterable<ShapeId>): ShapeId[];
|
|
50
|
+
getShapeIdsInContainerBounds(containerId: ShapeId, options?: ContainerBoundsQueryOptions): ShapeId[];
|
|
51
|
+
canUseShapeParent(parentId: ShapeParentId, childId?: ShapeId): boolean;
|
|
52
|
+
isShapeOrAncestorInSet(shapeId: ShapeId, ids: ReadonlySet<ShapeId>): boolean;
|
|
53
|
+
isShapeDescendantOf(shapeId: ShapeId, ancestorId: ShapeId): boolean;
|
|
54
|
+
private getShapeIdsForSelectionDescendantTransform;
|
|
55
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { ShapeId } from "../../schema/records";
|
|
3
|
+
import type { Editor, LayerOrderDirection, LayerOrderEdge, ShapeSelectionSiblingOrderState, ShapeSiblingOrderDirection, ShapeSiblingOrderEdge, ShapeSiblingOrderState } from "../editor";
|
|
4
|
+
export declare function getSelectionParentOrderState(editor: Editor): ShapeSelectionSiblingOrderState | null;
|
|
5
|
+
export declare function getSelectionSiblingOrderState(editor: Editor): ShapeSiblingOrderState | null;
|
|
6
|
+
export declare function canMoveSelectionWithinParent(editor: Editor, direction: ShapeSiblingOrderDirection): boolean;
|
|
7
|
+
export declare function canMoveSelectionInParentOrder(editor: Editor, direction: ShapeSiblingOrderDirection): boolean;
|
|
8
|
+
export declare function getShapeParentOrderState(editor: Editor, ids: readonly ShapeId[]): ShapeSelectionSiblingOrderState | null;
|
|
9
|
+
export declare function canMoveShapesInParentOrder(editor: Editor, ids: readonly ShapeId[], direction: LayerOrderDirection): boolean;
|
|
10
|
+
export declare function moveShapesInParentOrder(editor: Editor, ids: readonly ShapeId[], direction: LayerOrderDirection, source?: ChangeSource): boolean;
|
|
11
|
+
export declare function moveShapesToParentOrderEdge(editor: Editor, ids: readonly ShapeId[], edge: LayerOrderEdge, source?: ChangeSource): boolean;
|
|
12
|
+
export declare function moveSelectionWithinParent(editor: Editor, direction: ShapeSiblingOrderDirection, source?: ChangeSource): boolean;
|
|
13
|
+
export declare function moveSelectionInParentOrder(editor: Editor, direction: ShapeSiblingOrderDirection, source?: ChangeSource): boolean;
|
|
14
|
+
export declare function moveSelectionToParentOrderEdge(editor: Editor, edge: ShapeSiblingOrderEdge, source?: ChangeSource): boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { ShapeId, ShapeParentId } from "../../schema/records";
|
|
3
|
+
import type { Editor, ReparentShapePlacementInput, ReparentShapePlacementResult } from "../editor";
|
|
4
|
+
export declare function canUseShapeParent(editor: Editor, parentId: ShapeParentId, childId?: ShapeId): boolean;
|
|
5
|
+
export declare function moveShapesToParentPlacement(editor: Editor, input: ReparentShapePlacementInput, source?: ChangeSource): boolean;
|
|
6
|
+
export declare function moveShapesToParentPlacementResult(editor: Editor, input: ReparentShapePlacementInput, source?: ChangeSource): ReparentShapePlacementResult;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { KeyboardEditorEvent } from "../events";
|
|
2
|
+
export type EditorKeyboardShortcutCommand = "delete-selection" | "move-selection-backward" | "move-selection-forward" | "redo" | "reset-interaction" | "undo";
|
|
3
|
+
export type KeyboardShortcutTarget = {
|
|
4
|
+
type: "action";
|
|
5
|
+
actionId: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: "editor";
|
|
8
|
+
command: EditorKeyboardShortcutCommand;
|
|
9
|
+
} | {
|
|
10
|
+
type: "tool";
|
|
11
|
+
toolId: string;
|
|
12
|
+
};
|
|
13
|
+
export interface KeyboardShortcutChord {
|
|
14
|
+
key: string;
|
|
15
|
+
altKey?: boolean;
|
|
16
|
+
ctrlKey?: boolean;
|
|
17
|
+
metaKey?: boolean;
|
|
18
|
+
shiftKey?: boolean;
|
|
19
|
+
accelKey?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type KeyboardShortcutInput = string | KeyboardShortcutChord;
|
|
22
|
+
export interface KeyboardShortcutBinding {
|
|
23
|
+
id: string;
|
|
24
|
+
shortcut: KeyboardShortcutInput;
|
|
25
|
+
target: KeyboardShortcutTarget;
|
|
26
|
+
label?: string;
|
|
27
|
+
}
|
|
28
|
+
export type KeyboardShortcutEventLike = Pick<KeyboardEditorEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey" | "accelKey">;
|
|
29
|
+
interface NormalizedKeyboardShortcutChord {
|
|
30
|
+
key: string;
|
|
31
|
+
altKey: boolean;
|
|
32
|
+
ctrlKey?: boolean;
|
|
33
|
+
metaKey?: boolean;
|
|
34
|
+
shiftKey: boolean;
|
|
35
|
+
accelKey?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare class ShortcutManager {
|
|
38
|
+
private readonly bindings;
|
|
39
|
+
private readonly bindingIds;
|
|
40
|
+
register(binding: KeyboardShortcutBinding): void;
|
|
41
|
+
registerActionShortcut(actionId: string, shortcut: KeyboardShortcutInput): void;
|
|
42
|
+
registerEditorShortcut(command: EditorKeyboardShortcutCommand, shortcut: KeyboardShortcutInput): void;
|
|
43
|
+
registerToolShortcut(toolId: string, shortcut: KeyboardShortcutInput): void;
|
|
44
|
+
unregister(id: string): void;
|
|
45
|
+
getBinding(id: string): KeyboardShortcutBinding | null;
|
|
46
|
+
getTargetForEvent(event: KeyboardShortcutEventLike): KeyboardShortcutTarget | null;
|
|
47
|
+
getActionIdForEvent(event: KeyboardShortcutEventLike): string | null;
|
|
48
|
+
getToolIdForEvent(event: KeyboardShortcutEventLike): string | null;
|
|
49
|
+
getActionShortcutLabel(actionId: string): string | undefined;
|
|
50
|
+
getToolShortcutLabel(toolId: string): string | undefined;
|
|
51
|
+
private getBindingForEvent;
|
|
52
|
+
private getBindingLabel;
|
|
53
|
+
}
|
|
54
|
+
export declare function normalizeKeyboardShortcut(shortcut: KeyboardShortcutInput): NormalizedKeyboardShortcutChord;
|
|
55
|
+
export declare function formatKeyboardShortcut(shortcut: KeyboardShortcutInput): string;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { EditorRecord } from "../../schema/records";
|
|
3
|
+
/**
|
|
4
|
+
* Type-keyed lifecycle handlers for record changes. Side effects let the editor
|
|
5
|
+
* and plugins react to record mutations (binding cleanup, selection repair,
|
|
6
|
+
* delete cleanup) without each command hard-coding the full cleanup sequence.
|
|
7
|
+
*
|
|
8
|
+
* `before*` handlers run synchronously inside the mutating command, while the
|
|
9
|
+
* record still exists, so a handler can cascade further changes in the same
|
|
10
|
+
* transaction. `after*` handlers run once a command's cleanup phase completes.
|
|
11
|
+
*/
|
|
12
|
+
export type RecordTypeName = EditorRecord["typeName"];
|
|
13
|
+
export type BeforeDeleteHandler = (ids: readonly string[], source: ChangeSource) => void;
|
|
14
|
+
export type AfterDeleteHandler = (ids: readonly string[], source: ChangeSource) => void;
|
|
15
|
+
export declare class SideEffectManager {
|
|
16
|
+
private readonly beforeDelete;
|
|
17
|
+
private readonly afterDelete;
|
|
18
|
+
registerBeforeDeleteHandler(typeName: RecordTypeName, handler: BeforeDeleteHandler): () => void;
|
|
19
|
+
registerAfterDeleteHandler(typeName: RecordTypeName, handler: AfterDeleteHandler): () => void;
|
|
20
|
+
runBeforeDelete(typeName: RecordTypeName, ids: readonly string[], source: ChangeSource): void;
|
|
21
|
+
runAfterDelete(typeName: RecordTypeName, ids: readonly string[], source: ChangeSource): void;
|
|
22
|
+
private register;
|
|
23
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Box } from "../../geometry/box";
|
|
2
|
+
import { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { ShapeId } from "../../schema/records";
|
|
4
|
+
import type { SelectionResizeHandleId } from "../selection";
|
|
5
|
+
import type { ResizeSnapInput, SnapAxis, SnapNode, SnapPoint } from "./snapTypes";
|
|
6
|
+
export interface PointSnapPair {
|
|
7
|
+
selectionPoint: Vec;
|
|
8
|
+
candidatePoint: Vec;
|
|
9
|
+
candidateNodeId: ShapeId;
|
|
10
|
+
}
|
|
11
|
+
export interface PointAxisSnap {
|
|
12
|
+
type: "points";
|
|
13
|
+
nudge: number;
|
|
14
|
+
pairs: PointSnapPair[];
|
|
15
|
+
}
|
|
16
|
+
export interface Gap {
|
|
17
|
+
direction: "horizontal" | "vertical";
|
|
18
|
+
startNode: SnapNode;
|
|
19
|
+
endNode: SnapNode;
|
|
20
|
+
length: number;
|
|
21
|
+
breadthIntersection: [number, number];
|
|
22
|
+
}
|
|
23
|
+
export interface GapAxisSnap {
|
|
24
|
+
type: "gaps";
|
|
25
|
+
nudge: number;
|
|
26
|
+
gaps: Gap[];
|
|
27
|
+
}
|
|
28
|
+
export type AxisSnap = PointAxisSnap | GapAxisSnap;
|
|
29
|
+
export declare function getPointSnap(axis: SnapAxis, selectionPoints: Vec[], candidatePoints: SnapPoint[], threshold: number): PointAxisSnap | null;
|
|
30
|
+
export declare function getResizeSnapPointsForHandle(handleId: SelectionResizeHandleId | "any", bounds: Box): Vec[];
|
|
31
|
+
export declare function getResizeResultAfterNudge(input: ResizeSnapInput, nudge: Vec): {
|
|
32
|
+
bounds: Box;
|
|
33
|
+
scaleX: number;
|
|
34
|
+
scaleY: number;
|
|
35
|
+
};
|
|
36
|
+
export declare function getResizeBoundsAfterNudge(input: ResizeSnapInput, nudge: Vec): Box;
|
|
37
|
+
export declare function collectGaps(nodes: SnapNode[], axis: SnapAxis): Gap[];
|
|
38
|
+
export declare function createGap(direction: Gap["direction"], startNode: SnapNode, endNode: SnapNode, axis: SnapAxis): Gap | null;
|
|
39
|
+
export declare function getGapSnap(axis: SnapAxis, selectionBounds: Box, visibleGaps: Gap[], threshold: number): GapAxisSnap | null;
|
|
40
|
+
export declare function chooseAxisSnap(pointSnap: PointAxisSnap | null, gapSnap: GapAxisSnap | null): AxisSnap | null;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Box } from "../../geometry/box";
|
|
2
|
+
import { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { SnapAxis } from "./snapTypes";
|
|
4
|
+
export declare const EPSILON = 1e-8;
|
|
5
|
+
export declare function areVecsEqual(left: Vec, right: Vec): boolean;
|
|
6
|
+
export declare function getBoxSnapPoints(bounds: Box): Vec[];
|
|
7
|
+
export declare function getAxisValue(point: Vec, axis: SnapAxis): number;
|
|
8
|
+
export declare function getAxisMin(bounds: Box, axis: SnapAxis): number;
|
|
9
|
+
export declare function getAxisMax(bounds: Box, axis: SnapAxis): number;
|
|
10
|
+
export declare function getAxisSize(bounds: Box, axis: SnapAxis): number;
|
|
11
|
+
export declare function getBreadthRange(bounds: Box, axis: SnapAxis): [number, number];
|
|
12
|
+
export declare function getRangeIntersection(first: [number, number], second: [number, number]): [number, number] | null;
|
|
13
|
+
export declare function rangesOverlap(first: [number, number], second: [number, number]): boolean;
|
|
14
|
+
export declare function translateBounds(bounds: Box, delta: Vec): Box;
|
|
15
|
+
export declare function getAxisDelta(axis: SnapAxis, value: number): Vec;
|
|
16
|
+
export declare function translateBoundsOnAxis(bounds: Box, axis: SnapAxis, value: number): Box;
|
|
17
|
+
export declare function translatePoints(points: Vec[], delta: Vec): Vec[];
|
|
18
|
+
export declare function getBoxPagePoints(bounds: Box): Vec[];
|
|
19
|
+
export declare function getBoxLocalOutline(bounds: Box): Vec[];
|
|
20
|
+
export declare function getDistanceToSegmentSquared(point: Vec, segmentStart: Vec, segmentEnd: Vec): number;
|
|
21
|
+
export declare function getNearestPointOnSegment(point: Vec, segmentStart: Vec, segmentEnd: Vec): Vec;
|
|
22
|
+
export declare function getNearestPointOnOutline(point: Vec, outline: readonly Vec[]): {
|
|
23
|
+
point: Vec;
|
|
24
|
+
distanceSquared: number;
|
|
25
|
+
} | null;
|
|
26
|
+
export declare function dedupePoints(points: Vec[]): Vec[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Box } from "../../geometry/box";
|
|
2
|
+
import { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { GapSnapIndicatorGapState, GapSnapIndicatorState, PointSnapIndicatorState, SnapIndicatorState } from "../selection";
|
|
4
|
+
import type { Gap, GapAxisSnap, PointAxisSnap } from "./snapCalculations";
|
|
5
|
+
import type { SnapAxis, SnapCoordinateSpace, SnapNode } from "./snapTypes";
|
|
6
|
+
export declare function arePointIndicatorsEqual(left: PointSnapIndicatorState, right: PointSnapIndicatorState): boolean;
|
|
7
|
+
export declare function areGapEdgesEqual(left: GapSnapIndicatorGapState, right: GapSnapIndicatorGapState): boolean;
|
|
8
|
+
export declare function areGapIndicatorsEqual(left: GapSnapIndicatorState, right: GapSnapIndicatorState): boolean;
|
|
9
|
+
export declare function areIndicatorsEqual(left: SnapIndicatorState[], right: SnapIndicatorState[]): boolean;
|
|
10
|
+
export declare function getGapEdges(gap: Gap): GapSnapIndicatorGapState;
|
|
11
|
+
export declare function getPointIndicator(axis: SnapAxis, snap: PointAxisSnap, finalNudge: Vec, coordinateSpace: SnapCoordinateSpace): PointSnapIndicatorState;
|
|
12
|
+
export declare function getPointIndicators(axis: SnapAxis, snap: PointAxisSnap, finalNudge: Vec, coordinateSpace: SnapCoordinateSpace): PointSnapIndicatorState[];
|
|
13
|
+
export declare function getPointSnapGroups(axis: SnapAxis, snap: PointAxisSnap, finalNudge: Vec): PointAxisSnap[];
|
|
14
|
+
export declare function getAxisExtentPoints(axis: SnapAxis, axisValue: number, bounds: Box): Vec[];
|
|
15
|
+
export declare function getPointIndicatorLine(axis: SnapAxis, points: readonly Vec[]): [Vec, Vec];
|
|
16
|
+
export declare function getPointIndicatorId(axis: SnapAxis, line: readonly [Vec, Vec], points: readonly Vec[]): string;
|
|
17
|
+
export declare function getPointIndicatorWithBoundsExtent(axis: SnapAxis, snap: PointAxisSnap, finalNudge: Vec, coordinateSpace: SnapCoordinateSpace, bounds: Box, candidateNodes: readonly SnapNode[]): PointSnapIndicatorState;
|
|
18
|
+
export declare function getPointIndicatorsWithBoundsExtent(axis: SnapAxis, snap: PointAxisSnap, finalNudge: Vec, coordinateSpace: SnapCoordinateSpace, bounds: Box, candidateNodes: readonly SnapNode[]): PointSnapIndicatorState[];
|
|
19
|
+
export declare function getHandlePointIndicator(snappedPagePoint: Vec): PointSnapIndicatorState;
|
|
20
|
+
export declare function getHandleAlignIndicator(axis: SnapAxis, snappedPagePoint: Vec, targetPoint: Vec): PointSnapIndicatorState;
|
|
21
|
+
export declare function getGapIndicator(snap: GapAxisSnap, coordinateSpace: SnapCoordinateSpace, finalNudge: Vec): SnapIndicatorState;
|
|
22
|
+
export declare function cloneIndicator(indicator: SnapIndicatorState): SnapIndicatorState;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Signal } from "../../../signals/index";
|
|
2
|
+
import type { ShapeId } from "../../schema/records";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
import type { SnapIndicatorState } from "../selection";
|
|
5
|
+
import type { HandleSnapInput, HandleSnapResult, HandleSnapSnapshot, HandleSnapSnapshotInput, ResizeSnapInput, ResizeSnapResult, ResizeSnapSnapshot, SnapCoordinateSpace, TranslateSnapInput, TranslateSnapResult, TranslateSnapSnapshot } from "./snapTypes";
|
|
6
|
+
export declare class SnapManager {
|
|
7
|
+
private readonly gapCache;
|
|
8
|
+
private readonly _indicatorsSignal;
|
|
9
|
+
readonly indicatorsSignal: Signal<SnapIndicatorState[]>;
|
|
10
|
+
readonly activeSignal: import("../../../signals/index").Computed<boolean>;
|
|
11
|
+
private readonly snapshots;
|
|
12
|
+
constructor(editor: Editor);
|
|
13
|
+
setIndicators(indicators: SnapIndicatorState[]): void;
|
|
14
|
+
clearIndicators(): void;
|
|
15
|
+
createTranslateSnapshot({ movingShapeIds, coordinateSpace, }: {
|
|
16
|
+
movingShapeIds: Iterable<ShapeId>;
|
|
17
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
18
|
+
}): TranslateSnapSnapshot;
|
|
19
|
+
createResizeSnapshot({ resizingShapeIds, coordinateSpace, }: {
|
|
20
|
+
resizingShapeIds: Iterable<ShapeId>;
|
|
21
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
22
|
+
}): ResizeSnapSnapshot;
|
|
23
|
+
createHandleSnapshot(input: HandleSnapSnapshotInput): HandleSnapSnapshot;
|
|
24
|
+
snapTranslate(input: TranslateSnapInput): TranslateSnapResult;
|
|
25
|
+
snapResize(input: ResizeSnapInput): ResizeSnapResult;
|
|
26
|
+
snapHandle(input: HandleSnapInput): HandleSnapResult | null;
|
|
27
|
+
private snapHandlePoint;
|
|
28
|
+
private snapHandleAlign;
|
|
29
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ShapeId } from "../../schema/records";
|
|
2
|
+
import type { Editor } from "../editor";
|
|
3
|
+
import type { HandleSnapSnapshot, HandleSnapSnapshotInput, ResizeSnapSnapshot, SnapCoordinateSpace, TranslateSnapSnapshot } from "./snapTypes";
|
|
4
|
+
export declare class SnapSnapshotBuilder {
|
|
5
|
+
private readonly editor;
|
|
6
|
+
constructor(editor: Editor);
|
|
7
|
+
createTranslateSnapshot({ movingShapeIds, coordinateSpace, }: {
|
|
8
|
+
movingShapeIds: Iterable<ShapeId>;
|
|
9
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
10
|
+
}): TranslateSnapSnapshot;
|
|
11
|
+
createResizeSnapshot({ resizingShapeIds, coordinateSpace, }: {
|
|
12
|
+
resizingShapeIds: Iterable<ShapeId>;
|
|
13
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
14
|
+
}): ResizeSnapSnapshot;
|
|
15
|
+
createHandleSnapshot({ context, currentPagePoint, allowSelfSnap, excludedShapeIds, }: HandleSnapSnapshotInput): HandleSnapSnapshot;
|
|
16
|
+
private collectHandleSnapGeometry;
|
|
17
|
+
private collectSelfHandleSnapGeometry;
|
|
18
|
+
private createBoundsSnapSnapshot;
|
|
19
|
+
private collectBindingDrivenExcludedShapeIds;
|
|
20
|
+
private getSnapScopeParentId;
|
|
21
|
+
private getCandidateShapeIds;
|
|
22
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Box } from "../../geometry/box";
|
|
2
|
+
import type { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { ShapeId, ShapeParentId } from "../../schema/records";
|
|
4
|
+
import type { SelectionHandle, SelectionResizeHandleId, SnapIndicatorState } from "../selection";
|
|
5
|
+
export type SnapAxis = "x" | "y";
|
|
6
|
+
export type HandleSnapMode = "none" | "point" | "align";
|
|
7
|
+
export interface SnapCoordinateSpace {
|
|
8
|
+
rotation: number;
|
|
9
|
+
rotationCenter: Vec;
|
|
10
|
+
}
|
|
11
|
+
export interface SnapPoint {
|
|
12
|
+
id: string;
|
|
13
|
+
nodeId: ShapeId;
|
|
14
|
+
point: Vec;
|
|
15
|
+
}
|
|
16
|
+
export interface SnapNode {
|
|
17
|
+
id: string;
|
|
18
|
+
bounds: Box;
|
|
19
|
+
}
|
|
20
|
+
export interface HandleSnapContext {
|
|
21
|
+
shapeId: ShapeId;
|
|
22
|
+
handle: SelectionHandle;
|
|
23
|
+
}
|
|
24
|
+
export interface HandleSnapPoint {
|
|
25
|
+
id: string;
|
|
26
|
+
nodeId: ShapeId;
|
|
27
|
+
point: Vec;
|
|
28
|
+
}
|
|
29
|
+
export interface HandleSnapOutline {
|
|
30
|
+
id: ShapeId;
|
|
31
|
+
points: Vec[];
|
|
32
|
+
}
|
|
33
|
+
export interface HandleSnapSnapshot {
|
|
34
|
+
points: HandleSnapPoint[];
|
|
35
|
+
outlines: HandleSnapOutline[];
|
|
36
|
+
scopeParentId?: ShapeParentId | null;
|
|
37
|
+
candidateShapeIds?: ShapeId[];
|
|
38
|
+
}
|
|
39
|
+
export interface TranslateSnapSnapshot {
|
|
40
|
+
points: SnapPoint[];
|
|
41
|
+
nodes: SnapNode[];
|
|
42
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
43
|
+
scopeParentId?: ShapeParentId | null;
|
|
44
|
+
candidateShapeIds?: ShapeId[];
|
|
45
|
+
}
|
|
46
|
+
export interface TranslateSnapInput {
|
|
47
|
+
lockedAxis: SnapAxis | null;
|
|
48
|
+
initialSelectionBounds: Box;
|
|
49
|
+
dragDelta: Vec;
|
|
50
|
+
snapshot: TranslateSnapSnapshot;
|
|
51
|
+
threshold: number;
|
|
52
|
+
}
|
|
53
|
+
export interface TranslateSnapResult {
|
|
54
|
+
nudge: Vec;
|
|
55
|
+
indicators: SnapIndicatorState[];
|
|
56
|
+
}
|
|
57
|
+
export interface ResizeSnapSnapshot {
|
|
58
|
+
points: SnapPoint[];
|
|
59
|
+
nodes: SnapNode[];
|
|
60
|
+
coordinateSpace: SnapCoordinateSpace;
|
|
61
|
+
scopeParentId?: ShapeParentId | null;
|
|
62
|
+
candidateShapeIds?: ShapeId[];
|
|
63
|
+
}
|
|
64
|
+
export interface ResizeSnapInput {
|
|
65
|
+
handleId: SelectionResizeHandleId;
|
|
66
|
+
initialSelectionBounds: Box;
|
|
67
|
+
resizedSelectionBounds: Box;
|
|
68
|
+
scaleX: number;
|
|
69
|
+
scaleY: number;
|
|
70
|
+
snapshot: ResizeSnapSnapshot;
|
|
71
|
+
threshold: number;
|
|
72
|
+
isAspectRatioLocked: boolean;
|
|
73
|
+
isResizingFromCenter: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface ResizeSnapResult {
|
|
76
|
+
nudge: Vec;
|
|
77
|
+
bounds: Box;
|
|
78
|
+
scaleX: number;
|
|
79
|
+
scaleY: number;
|
|
80
|
+
indicators: SnapIndicatorState[];
|
|
81
|
+
}
|
|
82
|
+
export interface HandleSnapSnapshotInput {
|
|
83
|
+
context: HandleSnapContext;
|
|
84
|
+
currentPagePoint: Vec;
|
|
85
|
+
allowSelfSnap?: boolean;
|
|
86
|
+
excludedShapeIds?: Iterable<ShapeId>;
|
|
87
|
+
}
|
|
88
|
+
export interface HandleSnapInput {
|
|
89
|
+
mode: HandleSnapMode;
|
|
90
|
+
pagePoint: Vec;
|
|
91
|
+
snapshot: HandleSnapSnapshot;
|
|
92
|
+
threshold: number;
|
|
93
|
+
}
|
|
94
|
+
export interface HandleSnapResult {
|
|
95
|
+
snappedPagePoint: Vec;
|
|
96
|
+
nudge: Vec;
|
|
97
|
+
indicators: SnapIndicatorState[];
|
|
98
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Box } from "../../geometry/box";
|
|
2
|
+
import { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { PageId, ShapeRecord } from "../../schema/records";
|
|
4
|
+
import type { Editor } from "../editor";
|
|
5
|
+
import type { QueryManager } from "./queryManager";
|
|
6
|
+
export interface SpatialQueryOptions {
|
|
7
|
+
pageId?: PageId;
|
|
8
|
+
}
|
|
9
|
+
export interface ShapeAtPointOptions extends SpatialQueryOptions {
|
|
10
|
+
filter?: (shape: ShapeRecord) => boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ShapeLineSegmentHitTestOptions extends SpatialQueryOptions {
|
|
13
|
+
margin?: number;
|
|
14
|
+
filter?: (shape: ShapeRecord) => boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class SpatialIndexManager {
|
|
17
|
+
private readonly editor;
|
|
18
|
+
private readonly queries;
|
|
19
|
+
private readonly pageIndexSignals;
|
|
20
|
+
constructor(editor: Editor, queries: QueryManager);
|
|
21
|
+
getShapesInBounds(bounds: Box, options?: SpatialQueryOptions): ShapeRecord[];
|
|
22
|
+
getShapeIdsInBounds(bounds: Box, options?: SpatialQueryOptions): ShapeRecord["id"][];
|
|
23
|
+
getShapesInViewport(bounds: Box, options?: SpatialQueryOptions): ShapeRecord[];
|
|
24
|
+
getShapeIdsInViewport(bounds: Box, options?: SpatialQueryOptions): ShapeRecord["id"][];
|
|
25
|
+
getShapeAtPoint(point: Vec, options?: ShapeAtPointOptions): ShapeRecord | null;
|
|
26
|
+
getShapesAtPoint(point: Vec, options?: ShapeAtPointOptions): ShapeRecord[];
|
|
27
|
+
getShapesHitByLineSegment(start: Vec, end: Vec, options?: ShapeLineSegmentHitTestOptions): ShapeRecord[];
|
|
28
|
+
private getPageIndexSignal;
|
|
29
|
+
private getPageIndex;
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Editor } from "../editor";
|
|
2
|
+
import type { CancelEditorEvent, EditorEvent } from "../events";
|
|
3
|
+
import type { StateNode } from "../stateNode";
|
|
4
|
+
import type { KeyboardShortcutInput } from "./shortcutManager";
|
|
5
|
+
type ToolFactory = (editor: Editor) => StateNode;
|
|
6
|
+
export interface ToolRegistrationOptions {
|
|
7
|
+
shortcut?: KeyboardShortcutInput;
|
|
8
|
+
}
|
|
9
|
+
export declare class ToolManager {
|
|
10
|
+
private readonly editor;
|
|
11
|
+
readonly activeToolId: import("../../../signals/index").Atom<string>;
|
|
12
|
+
readonly isToolLocked: import("../../../signals/index").Atom<boolean>;
|
|
13
|
+
private readonly registry;
|
|
14
|
+
private activeTool;
|
|
15
|
+
constructor(editor: Editor);
|
|
16
|
+
register(id: string, factory: ToolFactory, options?: ToolRegistrationOptions): void;
|
|
17
|
+
hasTool(id: string): boolean;
|
|
18
|
+
setActiveTool(id: string, reason?: CancelEditorEvent["reason"]): void;
|
|
19
|
+
dispatch(event: EditorEvent): void;
|
|
20
|
+
cancel(reason: CancelEditorEvent["reason"]): void;
|
|
21
|
+
setToolLocked(locked: boolean): void;
|
|
22
|
+
isActiveToolInInitialState(): boolean;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Box } from "../../geometry/box";
|
|
2
|
+
import { Mat } from "../../geometry/mat";
|
|
3
|
+
import { Vec } from "../../geometry/vec";
|
|
4
|
+
import type { ShapeRecord } from "../../schema/records";
|
|
5
|
+
import type { ShapeUtil } from "../../shapes/shapeUtil";
|
|
6
|
+
export interface ShapeGeometry {
|
|
7
|
+
bounds: Box;
|
|
8
|
+
center: Vec;
|
|
9
|
+
corners: Vec[];
|
|
10
|
+
outlineVertices: Vec[];
|
|
11
|
+
}
|
|
12
|
+
export declare function getShapeLocalBounds<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Box;
|
|
13
|
+
export declare function getShapeRenderBounds<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Box;
|
|
14
|
+
export declare function getShapeExportBounds<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Box;
|
|
15
|
+
export declare function getShapeLocalToPageTransform<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Mat;
|
|
16
|
+
export declare function getShapePositionedToPageTransform<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Mat;
|
|
17
|
+
export declare function getShapeRenderToPageTransform<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Mat;
|
|
18
|
+
export declare function getShapeExportToPageTransform<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Mat;
|
|
19
|
+
export declare function getShapePageCenter<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Vec;
|
|
20
|
+
export declare function positionedShapePointToPagePoint<S extends ShapeRecord>(shape: S, point: Vec, util: ShapeUtil<S>): Vec;
|
|
21
|
+
export declare function pagePointToShapePositionedPoint<S extends ShapeRecord>(shape: S, point: Vec, util: ShapeUtil<S>): Vec;
|
|
22
|
+
export declare function getShapePositionedOutlineVertices<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Vec[];
|
|
23
|
+
export declare function getShapePageCorners<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Vec[];
|
|
24
|
+
export declare function getShapePageOutlineVertices<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Vec[];
|
|
25
|
+
export declare function getShapePageBounds<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Box;
|
|
26
|
+
export declare function getShapeExportPageBounds<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): Box;
|
|
27
|
+
export declare function getShapeGeometry<S extends ShapeRecord>(shape: S, util: ShapeUtil<S>): ShapeGeometry;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Box } from "../geometry/box";
|
|
2
|
+
import type { ShapeId } from "../schema/records";
|
|
3
|
+
export declare const RENDER_CULLING_OVERSCAN_SCREEN = 160;
|
|
4
|
+
export interface ShapeIndexRange {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ShapeWindowSnapshot {
|
|
9
|
+
viewportReady: boolean;
|
|
10
|
+
ranges: ShapeIndexRange[];
|
|
11
|
+
shapeIds: ShapeId[];
|
|
12
|
+
}
|
|
13
|
+
export declare function doesBoxContainBox(outer: Box, inner: Box): boolean;
|
|
14
|
+
export declare function formatShapeIndexRanges(ranges: ShapeIndexRange[]): string;
|
|
15
|
+
export declare function getRetainedRenderWindowExtraShapeBudget(culledShapeCount: number): number;
|
|
16
|
+
export declare function mergeShapeIndexRanges(ranges: ShapeIndexRange[], gapAllowance?: number): ShapeIndexRange[];
|
|
17
|
+
export declare function doRangesContainRanges(outerRanges: ShapeIndexRange[], innerRanges: ShapeIndexRange[]): boolean;
|
|
18
|
+
export declare function getShapeIndexRangeSpan(ranges: ShapeIndexRange[]): number;
|
|
19
|
+
export declare function getExpandedRetainedShapeRanges(previousRanges: ShapeIndexRange[], nextRanges: ShapeIndexRange[], extraShapeBudget: number): ShapeIndexRange[] | null;
|
|
20
|
+
export declare function getExpandedRetainedBaseShapeRanges(previousRanges: ShapeIndexRange[], nextRanges: ShapeIndexRange[]): ShapeIndexRange[] | null;
|
|
21
|
+
export declare function getShapeIndexRangesForShapeIds(shapeIds: ShapeId[], pageIndexById: Map<ShapeId, number>, gapAllowance?: number): ShapeIndexRange[];
|
|
22
|
+
export declare function getShapeWindowSnapshot(pageShapeIds: ShapeId[], ranges: ShapeIndexRange[], options?: {
|
|
23
|
+
viewportReady?: boolean;
|
|
24
|
+
}): ShapeWindowSnapshot;
|
|
25
|
+
export declare function getShapeIdArrayChangeCounts(previous: ShapeId[], next: ShapeId[]): {
|
|
26
|
+
changed: number;
|
|
27
|
+
added: number;
|
|
28
|
+
removed: number;
|
|
29
|
+
};
|
|
30
|
+
export declare function collectRetainedShapeRanges(pageShapeIds: ShapeId[], culledShapeIds: ShapeId[], selectedIds: Set<ShapeId>, extraShapeBudget: number): ShapeIndexRange[];
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Box } from "../geometry/box";
|
|
2
|
+
import { Vec } from "../geometry/vec";
|
|
3
|
+
import type { SelectionResizeHandleId } from "./selection";
|
|
4
|
+
export interface SelectionResizeBoundsResult {
|
|
5
|
+
bounds: Box;
|
|
6
|
+
scaleX: number;
|
|
7
|
+
scaleY: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SelectionResizeScalesResult {
|
|
10
|
+
scaleX: number;
|
|
11
|
+
scaleY: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function selectionResizeHandleMovesLeftEdge(handleId: SelectionResizeHandleId): boolean;
|
|
14
|
+
export declare function selectionResizeHandleMovesRightEdge(handleId: SelectionResizeHandleId): boolean;
|
|
15
|
+
export declare function selectionResizeHandleMovesTopEdge(handleId: SelectionResizeHandleId): boolean;
|
|
16
|
+
export declare function selectionResizeHandleMovesBottomEdge(handleId: SelectionResizeHandleId): boolean;
|
|
17
|
+
export declare function isSelectionResizeCorner(handleId: SelectionResizeHandleId): boolean;
|
|
18
|
+
export declare function getSelectionResizeHandleForScale({ handleId, scaleX, scaleY, }: {
|
|
19
|
+
handleId: SelectionResizeHandleId;
|
|
20
|
+
scaleX: number;
|
|
21
|
+
scaleY: number;
|
|
22
|
+
}): SelectionResizeHandleId;
|
|
23
|
+
export declare function getSelectionResizeScalesFromBounds({ startBounds, bounds, handleId, scaleX, scaleY, isResizingFromCenter, }: {
|
|
24
|
+
startBounds: Box;
|
|
25
|
+
bounds: Box;
|
|
26
|
+
handleId: SelectionResizeHandleId;
|
|
27
|
+
scaleX?: number;
|
|
28
|
+
scaleY?: number;
|
|
29
|
+
isResizingFromCenter?: boolean;
|
|
30
|
+
}): SelectionResizeScalesResult;
|
|
31
|
+
export declare function getAnchoredSelectionResizeLocalBounds({ requestedBounds, handleId, actualWidth, actualHeight, scaleX, scaleY, isResizingFromCenter, }: {
|
|
32
|
+
requestedBounds: Box;
|
|
33
|
+
handleId: SelectionResizeHandleId;
|
|
34
|
+
actualWidth: number;
|
|
35
|
+
actualHeight: number;
|
|
36
|
+
scaleX: number;
|
|
37
|
+
scaleY: number;
|
|
38
|
+
isResizingFromCenter: boolean;
|
|
39
|
+
}): Box;
|
|
40
|
+
export declare function getSelectionResizeBounds({ startBounds, handleId, pagePoint, }: {
|
|
41
|
+
startBounds: Box;
|
|
42
|
+
handleId: SelectionResizeHandleId;
|
|
43
|
+
pagePoint: Vec;
|
|
44
|
+
}): Box;
|
|
45
|
+
export declare function getSelectionResizeBoundsWithScale({ startBounds, handleId, pagePoint, }: {
|
|
46
|
+
startBounds: Box;
|
|
47
|
+
handleId: SelectionResizeHandleId;
|
|
48
|
+
pagePoint: Vec;
|
|
49
|
+
}): SelectionResizeBoundsResult;
|
|
50
|
+
export declare function getCenteredSelectionResizeBounds({ startBounds, handleId, pagePoint, }: {
|
|
51
|
+
startBounds: Box;
|
|
52
|
+
handleId: SelectionResizeHandleId;
|
|
53
|
+
pagePoint: Vec;
|
|
54
|
+
}): Box;
|
|
55
|
+
export declare function getCenteredSelectionResizeBoundsWithScale({ startBounds, handleId, pagePoint, }: {
|
|
56
|
+
startBounds: Box;
|
|
57
|
+
handleId: SelectionResizeHandleId;
|
|
58
|
+
pagePoint: Vec;
|
|
59
|
+
}): SelectionResizeBoundsResult;
|
|
60
|
+
export declare function getAspectRatioLockedSelectionResizeBounds({ bounds, startBounds, handleId, aspectRatio, isResizingFromCenter, }: {
|
|
61
|
+
bounds: Box;
|
|
62
|
+
startBounds: Box;
|
|
63
|
+
handleId: SelectionResizeHandleId;
|
|
64
|
+
aspectRatio: number;
|
|
65
|
+
isResizingFromCenter: boolean;
|
|
66
|
+
}): Box;
|
|
67
|
+
export declare function getAspectRatioLockedSelectionResizeBoundsWithScale({ bounds, startBounds, handleId, aspectRatio, isResizingFromCenter, scaleX, scaleY, }: {
|
|
68
|
+
bounds: Box;
|
|
69
|
+
startBounds: Box;
|
|
70
|
+
handleId: SelectionResizeHandleId;
|
|
71
|
+
aspectRatio: number;
|
|
72
|
+
isResizingFromCenter: boolean;
|
|
73
|
+
scaleX?: number;
|
|
74
|
+
scaleY?: number;
|
|
75
|
+
}): SelectionResizeBoundsResult;
|
|
76
|
+
export declare function getConstrainedSelectionResizeBounds({ startBounds, handleId, pagePoint, isAspectRatioLocked, isResizingFromCenter, aspectRatio, }: {
|
|
77
|
+
startBounds: Box;
|
|
78
|
+
handleId: SelectionResizeHandleId;
|
|
79
|
+
pagePoint: Vec;
|
|
80
|
+
isAspectRatioLocked: boolean;
|
|
81
|
+
isResizingFromCenter: boolean;
|
|
82
|
+
aspectRatio: number;
|
|
83
|
+
}): Box;
|
|
84
|
+
export declare function getConstrainedSelectionResizeBoundsWithScale({ startBounds, handleId, pagePoint, isAspectRatioLocked, isResizingFromCenter, aspectRatio, }: {
|
|
85
|
+
startBounds: Box;
|
|
86
|
+
handleId: SelectionResizeHandleId;
|
|
87
|
+
pagePoint: Vec;
|
|
88
|
+
isAspectRatioLocked: boolean;
|
|
89
|
+
isResizingFromCenter: boolean;
|
|
90
|
+
aspectRatio: number;
|
|
91
|
+
}): SelectionResizeBoundsResult;
|
|
92
|
+
export declare function normalizeSelectionResizeBoundsFromEdges({ minX, minY, maxX, maxY, }: {
|
|
93
|
+
minX: number;
|
|
94
|
+
minY: number;
|
|
95
|
+
maxX: number;
|
|
96
|
+
maxY: number;
|
|
97
|
+
}): Box;
|