@yuzhouu/canvas-kit 0.1.2 → 0.1.3
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/_vendor/canvas-core/bindings/BindingUtil.d.ts +45 -0
- package/_vendor/canvas-core/bindings/BindingUtilRegistry.d.ts +8 -0
- package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.d.ts +28 -0
- package/_vendor/canvas-core/contextMenu.d.ts +62 -0
- package/_vendor/canvas-core/editor/Editor.d.ts +564 -0
- package/_vendor/canvas-core/editor/HistoryManager.d.ts +18 -0
- package/_vendor/canvas-core/editor/StateNode.d.ts +31 -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 +126 -0
- package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -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/{index.ts → index.d.ts} +1 -5
- 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 +52 -0
- package/_vendor/canvas-core/editor/managers/QueryManager.d.ts +76 -0
- package/_vendor/canvas-core/editor/managers/RenderWindowManager.d.ts +25 -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 +23 -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 +58 -0
- package/_vendor/canvas-core/editor/managers/SideEffectManager.d.ts +23 -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/SpatialIndexManager.d.ts +30 -0
- package/_vendor/canvas-core/editor/managers/ToolManager.d.ts +25 -0
- package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
- package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -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/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/snapTypes.d.ts +98 -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 +224 -0
- package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
- package/_vendor/canvas-core/editor/selectionOverlay.d.ts +31 -0
- package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
- package/_vendor/canvas-core/exports/svg.d.ts +48 -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/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/Vec.d.ts +37 -0
- package/_vendor/canvas-core/geometry/{index.ts → index.d.ts} +1 -6
- package/_vendor/canvas-core/geometry/segments.d.ts +5 -0
- package/_vendor/canvas-core/index.d.ts +57 -0
- package/_vendor/canvas-core/plugins/index.d.ts +1 -0
- package/_vendor/canvas-core/plugins/types.d.ts +27 -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/snapshots.d.ts +27 -0
- package/_vendor/canvas-core/shapes/ShapeUtil.d.ts +133 -0
- package/_vendor/canvas-core/shapes/ShapeUtilRegistry.d.ts +9 -0
- package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
- package/_vendor/canvas-core/shapes/types.d.ts +2 -0
- package/_vendor/canvas-core/toolbar.d.ts +117 -0
- package/_vendor/canvas-core/tools/hand/HandTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/select/SelectTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/select/selectContainment.d.ts +11 -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/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 +16 -0
- package/_vendor/canvas-plugin-api/feature.d.ts +37 -0
- package/_vendor/canvas-plugin-api/index.d.ts +57 -0
- package/_vendor/canvas-product-react/api/apiRegistry.d.ts +12 -0
- package/_vendor/canvas-product-react/api/canvasProductApi.d.ts +124 -0
- package/_vendor/canvas-product-react/api/index.d.ts +4 -0
- package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.d.ts +9 -0
- package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.d.ts +16 -0
- package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.d.ts +17 -0
- package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.d.ts +12 -0
- package/_vendor/canvas-product-react/capabilities/export/useSvgExport.d.ts +29 -0
- package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.d.ts +8 -0
- package/_vendor/canvas-product-react/capabilities/pages/usePageControls.d.ts +12 -0
- package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.d.ts +32 -0
- package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.d.ts +19 -0
- package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.d.ts +9 -0
- package/_vendor/canvas-product-react/index.d.ts +24 -0
- package/_vendor/canvas-product-react/persistence/index.d.ts +2 -0
- package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.d.ts +40 -0
- package/_vendor/canvas-product-react/runtime/CanvasProductRoot.d.ts +4 -0
- package/_vendor/canvas-product-react/runtime/productDefinition.d.ts +45 -0
- package/_vendor/canvas-product-react/runtime/productServices.d.ts +31 -0
- package/_vendor/canvas-react/components/CanvasView.d.ts +11 -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 +1 -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/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/index.d.ts +8 -0
- package/_vendor/canvas-react/host/pluginHost.d.ts +93 -0
- package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
- package/_vendor/plugin-arrow/ArrowBindingUtil.d.ts +27 -0
- package/_vendor/plugin-arrow/ArrowShapeUtil.d.ts +20 -0
- package/_vendor/plugin-arrow/ArrowTool.d.ts +4 -0
- package/_vendor/plugin-arrow/arrowGeometry.d.ts +50 -0
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +21 -0
- package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
- package/_vendor/plugin-arrow/canvas.d.ts +2 -0
- package/_vendor/plugin-arrow/core.d.ts +7 -0
- package/_vendor/plugin-arrow/feature.d.ts +3 -0
- package/_vendor/plugin-arrow/index.d.ts +11 -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 +8 -0
- package/_vendor/plugin-draw/DrawShapeUtil.d.ts +21 -0
- package/_vendor/plugin-draw/DrawTool.d.ts +6 -0
- package/_vendor/plugin-draw/canvas.d.ts +2 -0
- package/_vendor/plugin-draw/core.d.ts +7 -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/drawStrokeGeometry.d.ts +17 -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/EraserTool.d.ts +5 -0
- package/_vendor/plugin-eraser/canvas.d.ts +2 -0
- package/_vendor/plugin-eraser/core.d.ts +2 -0
- package/_vendor/plugin-eraser/feature.d.ts +3 -0
- package/_vendor/plugin-frame/FrameShapeUtil.d.ts +22 -0
- package/_vendor/plugin-frame/FrameTool.d.ts +6 -0
- package/_vendor/plugin-frame/canvas.d.ts +8 -0
- package/_vendor/plugin-frame/core.d.ts +7 -0
- package/_vendor/plugin-frame/feature.d.ts +3 -0
- package/_vendor/plugin-geo/GeoShapeUtil.d.ts +13 -0
- package/_vendor/plugin-geo/GeoTools.d.ts +17 -0
- package/_vendor/plugin-geo/canvas.d.ts +11 -0
- package/_vendor/plugin-geo/core.d.ts +7 -0
- package/_vendor/plugin-geo/feature.d.ts +3 -0
- package/_vendor/plugin-geo/types.d.ts +15 -0
- package/_vendor/plugin-group/GroupShapeUtil.d.ts +15 -0
- package/_vendor/plugin-group/canvas.d.ts +10 -0
- package/_vendor/plugin-group/core.d.ts +7 -0
- package/_vendor/plugin-group/feature.d.ts +3 -0
- package/_vendor/plugin-image/ImageShapeUtil.d.ts +10 -0
- package/_vendor/plugin-image/canvas.d.ts +2 -0
- package/_vendor/plugin-image/core.d.ts +16 -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/feature.d.ts +3 -0
- package/_vendor/plugin-image/index.d.ts +8 -0
- package/_vendor/plugin-image/types.d.ts +37 -0
- package/_vendor/plugin-image-product-react/ImageImportController.d.ts +9 -0
- package/_vendor/plugin-image-product-react/imageAssetService.d.ts +7 -0
- package/_vendor/plugin-image-product-react/imageBlobStore.d.ts +25 -0
- package/_vendor/plugin-image-product-react/imageHostActions.d.ts +35 -0
- package/_vendor/plugin-image-product-react/imageProductApi.d.ts +21 -0
- package/_vendor/plugin-image-product-react/imageToolbarHostBridge.d.ts +14 -0
- package/_vendor/plugin-image-product-react/imageToolbarRuntime.d.ts +2 -0
- package/_vendor/plugin-image-product-react/index.d.ts +16 -0
- package/_vendor/plugin-image-product-react/snapshotGuards.d.ts +1 -0
- package/_vendor/plugin-image-product-react/svgImageAssetInliner.d.ts +3 -0
- package/_vendor/plugin-image-product-react/useImageImport.d.ts +16 -0
- package/_vendor/plugin-laser/LaserTool.d.ts +4 -0
- package/_vendor/plugin-laser/canvas.d.ts +2 -0
- package/_vendor/plugin-laser/core.d.ts +2 -0
- package/_vendor/plugin-laser/feature.d.ts +3 -0
- package/_vendor/plugin-text/ArrowLabelBindingUtil.d.ts +42 -0
- package/_vendor/plugin-text/GeoLabelBindingUtil.d.ts +45 -0
- package/_vendor/plugin-text/TextShapeSvgExporter.d.ts +6 -0
- package/_vendor/plugin-text/TextShapeUtil.d.ts +19 -0
- package/_vendor/plugin-text/TextTool.d.ts +4 -0
- package/_vendor/plugin-text/canvas.d.ts +2 -0
- package/_vendor/plugin-text/core.d.ts +2 -0
- package/_vendor/plugin-text/feature.d.ts +3 -0
- package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
- package/_vendor/plugin-text/host/RichTextToolbar.d.ts +6 -0
- package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -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/textStyle.d.ts +9 -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/Store.d.ts +26 -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/types.d.ts +27 -0
- package/api/canvasKitApi.d.ts +2 -2
- package/index.css +1 -1
- package/index.d.ts +0 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
- package/product/Shell.d.ts +2 -2
- package/product/chromeContext.d.ts +8 -8
- package/product/createCanvasKitEditor.d.ts +1 -1
- package/product/persistence.d.ts +1 -1
- package/product/product.d.ts +1 -1
- package/product/useCanvasClipboardShortcuts.d.ts +2 -2
- package/product-CxN5NN6u.mjs +4 -0
- package/product.mjs +1 -1
- package/standard/extensions.d.ts +1 -1
- package/standard/standardApi.d.ts +5 -5
- package/standard-R17_x8HU.mjs +44 -0
- package/standard.mjs +1 -1
- 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/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/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/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-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/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/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-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/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-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/internal-modules.d.ts +0 -187
- package/product-iyBbEPIs.mjs +0 -4
- package/standard-BmrxwqpJ.mjs +0 -44
- /package/_vendor/canvas-core/tools/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-core/tools/select/states/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-react/components/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-react/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-eraser/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-frame/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-geo/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-group/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-laser/{index.ts → index.d.ts} +0 -0
- /package/_vendor/signals/{index.ts → index.d.ts} +0 -0
|
@@ -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;
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { Box } from "../geometry/Box";
|
|
2
|
+
import { Vec } from "../geometry/Vec";
|
|
3
|
+
import type { ConnectionTerminal } from "../bindings/arrow/arrowBindingHelpers";
|
|
4
|
+
import type { ShapeId, ShapeRecord } from "../schema/records";
|
|
5
|
+
export type SelectionResizeHandleId = "top_left" | "top" | "top_right" | "right" | "bottom_right" | "bottom" | "bottom_left" | "left";
|
|
6
|
+
export type SelectionRotateHandleId = "top_left_rotate" | "top_right_rotate" | "bottom_right_rotate" | "bottom_left_rotate";
|
|
7
|
+
export interface SelectionResizeHandle {
|
|
8
|
+
kind: "resize";
|
|
9
|
+
id: SelectionResizeHandleId;
|
|
10
|
+
point: Vec;
|
|
11
|
+
bounds: Box;
|
|
12
|
+
}
|
|
13
|
+
export interface SelectionRotateHandle {
|
|
14
|
+
kind: "rotate";
|
|
15
|
+
id: SelectionRotateHandleId;
|
|
16
|
+
point: Vec;
|
|
17
|
+
bounds: Box;
|
|
18
|
+
}
|
|
19
|
+
export interface SelectionArrowTerminalHandle {
|
|
20
|
+
kind: "arrow_terminal";
|
|
21
|
+
terminal: ConnectionTerminal;
|
|
22
|
+
point: Vec;
|
|
23
|
+
bounds: Box;
|
|
24
|
+
}
|
|
25
|
+
export interface SelectionArrowMiddleHandle {
|
|
26
|
+
kind: "arrow_middle";
|
|
27
|
+
point: Vec;
|
|
28
|
+
bounds: Box;
|
|
29
|
+
}
|
|
30
|
+
export interface SelectionCustomHandle {
|
|
31
|
+
kind: "custom";
|
|
32
|
+
type: string;
|
|
33
|
+
id: string;
|
|
34
|
+
point: Vec;
|
|
35
|
+
bounds: Box;
|
|
36
|
+
cursor?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface SelectionResizeHandleAnchor {
|
|
39
|
+
kind: "resize";
|
|
40
|
+
id: SelectionResizeHandleId;
|
|
41
|
+
point: Vec;
|
|
42
|
+
}
|
|
43
|
+
export interface SelectionRotateHandleAnchor {
|
|
44
|
+
kind: "rotate";
|
|
45
|
+
id: SelectionRotateHandleId;
|
|
46
|
+
point: Vec;
|
|
47
|
+
}
|
|
48
|
+
export interface SelectionArrowTerminalHandleAnchor {
|
|
49
|
+
kind: "arrow_terminal";
|
|
50
|
+
terminal: ConnectionTerminal;
|
|
51
|
+
point: Vec;
|
|
52
|
+
}
|
|
53
|
+
export interface SelectionArrowMiddleHandleAnchor {
|
|
54
|
+
kind: "arrow_middle";
|
|
55
|
+
point: Vec;
|
|
56
|
+
}
|
|
57
|
+
export interface SelectionCustomHandleAnchor {
|
|
58
|
+
kind: "custom";
|
|
59
|
+
type: string;
|
|
60
|
+
id: string;
|
|
61
|
+
point: Vec;
|
|
62
|
+
cursor?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface SelectionRotationTransform {
|
|
65
|
+
rotation: number;
|
|
66
|
+
rotationCenter: Vec;
|
|
67
|
+
}
|
|
68
|
+
export interface SelectionFrame extends SelectionRotationTransform {
|
|
69
|
+
bounds: Box;
|
|
70
|
+
hasCompatibleRotation: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface SelectionResizeShapeSnapshot {
|
|
73
|
+
shape: ShapeRecord;
|
|
74
|
+
localBounds: Box;
|
|
75
|
+
rotation: number;
|
|
76
|
+
}
|
|
77
|
+
export interface SelectionResizePointShapeSnapshot {
|
|
78
|
+
shape: ShapeRecord;
|
|
79
|
+
startLocalPagePoint: Vec;
|
|
80
|
+
endLocalPagePoint: Vec;
|
|
81
|
+
}
|
|
82
|
+
export interface SelectionRotateShapeSnapshot {
|
|
83
|
+
id: ShapeId;
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
localBounds: Box;
|
|
87
|
+
rotation: number;
|
|
88
|
+
}
|
|
89
|
+
export interface SelectionRotatePointShapeSnapshot {
|
|
90
|
+
shape: ShapeRecord;
|
|
91
|
+
startPagePoint: Vec;
|
|
92
|
+
endPagePoint: Vec;
|
|
93
|
+
}
|
|
94
|
+
export interface SelectionResizeSnapshot extends SelectionRotationTransform {
|
|
95
|
+
startBounds: Box;
|
|
96
|
+
aspectRatio: number;
|
|
97
|
+
shapes: SelectionResizeShapeSnapshot[];
|
|
98
|
+
pointShapes: SelectionResizePointShapeSnapshot[];
|
|
99
|
+
}
|
|
100
|
+
export interface SelectionRotateSnapshot {
|
|
101
|
+
center: Vec;
|
|
102
|
+
initialSelectionRotation: number;
|
|
103
|
+
shapes: SelectionRotateShapeSnapshot[];
|
|
104
|
+
pointShapes: SelectionRotatePointShapeSnapshot[];
|
|
105
|
+
}
|
|
106
|
+
export type SelectionMirrorAxis = "horizontal" | "vertical";
|
|
107
|
+
export type SelectionHandle = SelectionResizeHandle | SelectionRotateHandle | SelectionArrowTerminalHandle | SelectionArrowMiddleHandle | SelectionCustomHandle;
|
|
108
|
+
export interface ArrowBindingPreviewState {
|
|
109
|
+
terminal: ConnectionTerminal;
|
|
110
|
+
targetShapeId: ShapeId;
|
|
111
|
+
resolvedPagePoint: Vec;
|
|
112
|
+
rawPagePoint: Vec;
|
|
113
|
+
}
|
|
114
|
+
export interface PointSnapIndicatorState {
|
|
115
|
+
id: string;
|
|
116
|
+
type: "points";
|
|
117
|
+
axis: "x" | "y";
|
|
118
|
+
line: [Vec, Vec];
|
|
119
|
+
points: Vec[];
|
|
120
|
+
rotation: number;
|
|
121
|
+
rotationCenter: Vec;
|
|
122
|
+
}
|
|
123
|
+
export interface GapSnapIndicatorGapState {
|
|
124
|
+
startEdge: [Vec, Vec];
|
|
125
|
+
endEdge: [Vec, Vec];
|
|
126
|
+
}
|
|
127
|
+
export interface GapSnapIndicatorState {
|
|
128
|
+
id: string;
|
|
129
|
+
type: "gaps";
|
|
130
|
+
direction: "horizontal" | "vertical";
|
|
131
|
+
gaps: GapSnapIndicatorGapState[];
|
|
132
|
+
rotation: number;
|
|
133
|
+
rotationCenter: Vec;
|
|
134
|
+
}
|
|
135
|
+
export type SnapIndicatorState = PointSnapIndicatorState | GapSnapIndicatorState;
|
|
136
|
+
export interface SelectionOverlayState {
|
|
137
|
+
bounds: Box;
|
|
138
|
+
rotation: number;
|
|
139
|
+
rotationCenter: Vec;
|
|
140
|
+
resizeHandles: SelectionResizeHandle[];
|
|
141
|
+
rotateHandles: SelectionRotateHandle[];
|
|
142
|
+
terminalHandles: SelectionArrowTerminalHandle[];
|
|
143
|
+
middleHandles: SelectionArrowMiddleHandle[];
|
|
144
|
+
customHandles: SelectionCustomHandle[];
|
|
145
|
+
strokeWidth: number;
|
|
146
|
+
cornerRadius: number;
|
|
147
|
+
}
|
|
148
|
+
export interface SelectionOverlayFrameState {
|
|
149
|
+
bounds: Box;
|
|
150
|
+
rotation: number;
|
|
151
|
+
rotationCenter: Vec;
|
|
152
|
+
strokeWidth: number;
|
|
153
|
+
cornerRadius: number;
|
|
154
|
+
}
|
|
155
|
+
export interface SelectionOverlayFrameGeometryState {
|
|
156
|
+
bounds: Box;
|
|
157
|
+
rotation: number;
|
|
158
|
+
rotationCenter: Vec;
|
|
159
|
+
}
|
|
160
|
+
export interface SelectionOverlayFrameStyleState {
|
|
161
|
+
strokeWidth: number;
|
|
162
|
+
cornerRadius: number;
|
|
163
|
+
}
|
|
164
|
+
export interface SelectionOverlayHandlesState {
|
|
165
|
+
resizeHandles: SelectionResizeHandle[];
|
|
166
|
+
rotateHandles: SelectionRotateHandle[];
|
|
167
|
+
terminalHandles: SelectionArrowTerminalHandle[];
|
|
168
|
+
middleHandles: SelectionArrowMiddleHandle[];
|
|
169
|
+
customHandles: SelectionCustomHandle[];
|
|
170
|
+
strokeWidth: number;
|
|
171
|
+
}
|
|
172
|
+
export interface SelectionOverlayHandleAnchorsState {
|
|
173
|
+
resizeHandleAnchors: SelectionResizeHandleAnchor[];
|
|
174
|
+
rotateHandleAnchors: SelectionRotateHandleAnchor[];
|
|
175
|
+
terminalHandleAnchors: SelectionArrowTerminalHandleAnchor[];
|
|
176
|
+
middleHandleAnchors: SelectionArrowMiddleHandleAnchor[];
|
|
177
|
+
customHandleAnchors: SelectionCustomHandleAnchor[];
|
|
178
|
+
}
|
|
179
|
+
export interface SelectionOverlayHandleCountsState {
|
|
180
|
+
resizeHandleCount: number;
|
|
181
|
+
rotateHandleCount: number;
|
|
182
|
+
terminalHandleCount: number;
|
|
183
|
+
middleHandleCount: number;
|
|
184
|
+
customHandleCount: number;
|
|
185
|
+
}
|
|
186
|
+
export declare function selectionPagePointToLocalPoint(point: Vec, transform: SelectionRotationTransform): Vec;
|
|
187
|
+
export declare function selectionLocalPointToPagePoint(point: Vec, transform: SelectionRotationTransform): Vec;
|
|
188
|
+
export declare function rotateSelectionPagePoint(point: Vec, transform: SelectionRotationTransform): Vec;
|
|
189
|
+
export declare function mapSelectionLocalPointBetweenBounds({ point, fromBounds, toBounds, }: {
|
|
190
|
+
point: Vec;
|
|
191
|
+
fromBounds: Box;
|
|
192
|
+
toBounds: Box;
|
|
193
|
+
}): Vec;
|
|
194
|
+
export declare function mapSelectionLocalBoundsBetweenBounds({ bounds, fromBounds, toBounds, }: {
|
|
195
|
+
bounds: Box;
|
|
196
|
+
fromBounds: Box;
|
|
197
|
+
toBounds: Box;
|
|
198
|
+
}): Box;
|
|
199
|
+
export declare function mirrorSelectionLocalPoint({ axis, bounds, point, }: {
|
|
200
|
+
axis: SelectionMirrorAxis;
|
|
201
|
+
bounds: Box;
|
|
202
|
+
point: Vec;
|
|
203
|
+
}): Vec;
|
|
204
|
+
export declare function flipSelectionLocalBounds({ axis, bounds, selectionBounds, }: {
|
|
205
|
+
axis: SelectionMirrorAxis;
|
|
206
|
+
bounds: Box;
|
|
207
|
+
selectionBounds: Box;
|
|
208
|
+
}): Box;
|
|
209
|
+
export declare function getSelectionLocalBoundsFromPagePoints({ points, transform, }: {
|
|
210
|
+
points: readonly Vec[];
|
|
211
|
+
transform: SelectionRotationTransform;
|
|
212
|
+
}): Box | null;
|
|
213
|
+
export declare function getSelectionResizeSnapshot({ shapes, selectionFrame, getShapeSelectionResizePageOutlineVertices, getShapeSelectionPagePoints, }: {
|
|
214
|
+
shapes: ShapeRecord[];
|
|
215
|
+
selectionFrame: SelectionFrame;
|
|
216
|
+
getShapeSelectionResizePageOutlineVertices: (shape: ShapeRecord) => Vec[];
|
|
217
|
+
getShapeSelectionPagePoints: (shape: ShapeRecord) => readonly [Vec, Vec] | null;
|
|
218
|
+
}): SelectionResizeSnapshot;
|
|
219
|
+
export declare function getSelectionRotateSnapshot({ shapes, selectionFrame, getShapeLocalBounds, getShapeSelectionPagePoints, }: {
|
|
220
|
+
shapes: ShapeRecord[];
|
|
221
|
+
selectionFrame: SelectionFrame;
|
|
222
|
+
getShapeLocalBounds: (shape: ShapeRecord) => Box;
|
|
223
|
+
getShapeSelectionPagePoints: (shape: ShapeRecord) => readonly [Vec, Vec] | null;
|
|
224
|
+
}): SelectionRotateSnapshot;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Editor } from "./Editor";
|
|
2
|
+
import type { InteractionHandlerRegistry } from "./interactions";
|
|
3
|
+
import type { SelectionHandleInteractionHandler, SelectionHandleInteractionInput, SelectionHandleInteractionSession } from "./interactions";
|
|
4
|
+
export type { SelectionHandleInteractionHandler, SelectionHandleInteractionInput, SelectionHandleInteractionSession, } from "./interactions";
|
|
5
|
+
export declare class SelectionHandleInteractionRegistry {
|
|
6
|
+
private readonly interactions?;
|
|
7
|
+
private readonly handlers;
|
|
8
|
+
constructor(interactions?: InteractionHandlerRegistry | undefined);
|
|
9
|
+
register(handler: SelectionHandleInteractionHandler): void;
|
|
10
|
+
createSession(editor: Editor, input: SelectionHandleInteractionInput): SelectionHandleInteractionSession | null;
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Vec } from "../geometry/Vec";
|
|
2
|
+
import type { ShapeId, ShapeRecord } from "../schema/records";
|
|
3
|
+
import type { ShapeSelectionHandleAnchors } from "../shapes/ShapeUtil";
|
|
4
|
+
import type { SelectionArrowMiddleHandle, SelectionArrowTerminalHandle, SelectionCustomHandle, SelectionFrame, SelectionOverlayFrameGeometryState, SelectionOverlayFrameState, SelectionOverlayFrameStyleState, SelectionOverlayHandleAnchorsState, SelectionOverlayHandleCountsState, SelectionOverlayHandlesState, SelectionResizeHandle, SelectionRotateHandle } from "./selection";
|
|
5
|
+
export interface SelectedShapeOverlayItem {
|
|
6
|
+
id: ShapeId;
|
|
7
|
+
usesSelectionPathOverlay: boolean;
|
|
8
|
+
startPagePoint: Vec | null;
|
|
9
|
+
endPagePoint: Vec | null;
|
|
10
|
+
middlePagePoint: Vec | null;
|
|
11
|
+
path: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface SelectionHandleState {
|
|
14
|
+
resizeHandles: SelectionResizeHandle[];
|
|
15
|
+
rotateHandles: SelectionRotateHandle[];
|
|
16
|
+
terminalHandles: SelectionArrowTerminalHandle[];
|
|
17
|
+
middleHandles: SelectionArrowMiddleHandle[];
|
|
18
|
+
customHandles: SelectionCustomHandle[];
|
|
19
|
+
}
|
|
20
|
+
export declare function areSelectedShapeOverlayItemsEqual(a: SelectedShapeOverlayItem[], b: SelectedShapeOverlayItem[]): boolean;
|
|
21
|
+
export declare function areSelectionOverlayFrameStatesEqual(a: SelectionOverlayFrameState | null, b: SelectionOverlayFrameState | null): boolean;
|
|
22
|
+
export declare function areSelectionOverlayFrameGeometryStatesEqual(a: SelectionOverlayFrameGeometryState | null, b: SelectionOverlayFrameGeometryState | null): boolean;
|
|
23
|
+
export declare function areSelectionOverlayFrameGeometryArraysEqual(a: SelectionOverlayFrameGeometryState[], b: SelectionOverlayFrameGeometryState[]): boolean;
|
|
24
|
+
export declare function areSelectionOverlayFrameStyleStatesEqual(a: SelectionOverlayFrameStyleState, b: SelectionOverlayFrameStyleState): boolean;
|
|
25
|
+
export declare function areSelectionOverlayHandlesStatesEqual(a: SelectionOverlayHandlesState | null, b: SelectionOverlayHandlesState | null): boolean;
|
|
26
|
+
export declare function areSelectionOverlayHandleAnchorsStatesEqual(a: SelectionOverlayHandleAnchorsState | null, b: SelectionOverlayHandleAnchorsState | null): boolean;
|
|
27
|
+
export declare function areSelectionOverlayHandleCountsStatesEqual(a: SelectionOverlayHandleCountsState | null, b: SelectionOverlayHandleCountsState | null): boolean;
|
|
28
|
+
export declare function isSingleSelectionPathOverlay(selectedShapeItems: SelectedShapeOverlayItem[]): boolean;
|
|
29
|
+
export declare function getSelectionHandleAnchorsState(selectedShapes: ShapeRecord[], selectionFrame: SelectionFrame | null, zoom: number, getShapeSelectionHandleAnchors: (shape: ShapeRecord) => ShapeSelectionHandleAnchors, canUseSelectionFrameHandles: (shape: ShapeRecord) => boolean): SelectionOverlayHandleAnchorsState;
|
|
30
|
+
export declare function materializeSelectionHandleState(anchors: SelectionOverlayHandleAnchorsState, zoom: number): SelectionHandleState;
|
|
31
|
+
export declare function getSelectionHandleState(selectedShapes: ShapeRecord[], selectionFrame: SelectionFrame | null, zoom: number, getShapeSelectionHandleAnchors: (shape: ShapeRecord) => ShapeSelectionHandleAnchors, canUseSelectionFrameHandles: (shape: ShapeRecord) => boolean): SelectionHandleState;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Editor } from "../editor/Editor";
|
|
2
|
+
import { type BindingId, type ShapeId } from "../schema/records";
|
|
3
|
+
import type { ShapeSvgExporterRegistry } from "./svg";
|
|
4
|
+
export type ExportIntegrityIssueKind = "missing-shape" | "missing-bounds" | "missing-exporter" | "missing-binding-endpoint" | "invalid-binding" | "duplicate-exclusive-binding";
|
|
5
|
+
export interface ExportIntegrityIssue {
|
|
6
|
+
kind: ExportIntegrityIssueKind;
|
|
7
|
+
id: ShapeId | BindingId;
|
|
8
|
+
canRepair: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ExportIntegrityReport {
|
|
11
|
+
requestedShapeIds: ShapeId[];
|
|
12
|
+
issues: ExportIntegrityIssue[];
|
|
13
|
+
repairableIssueCount: number;
|
|
14
|
+
fatalIssueCount: number;
|
|
15
|
+
canExport: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ExportIntegrityRepairResult {
|
|
18
|
+
before: ExportIntegrityReport;
|
|
19
|
+
after: ExportIntegrityReport;
|
|
20
|
+
repaired: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function countExportIssueKinds(issues: readonly ExportIntegrityIssue[]): Partial<Record<ExportIntegrityIssueKind, number>>;
|
|
23
|
+
export declare function getExportIntegrityReport({ editor, exporters, shapeIds, }: {
|
|
24
|
+
editor: Editor;
|
|
25
|
+
exporters: ShapeSvgExporterRegistry;
|
|
26
|
+
shapeIds: Iterable<ShapeId>;
|
|
27
|
+
}): ExportIntegrityReport;
|
|
28
|
+
export declare function repairExportIntegrity({ editor, exporters, shapeIds, }: {
|
|
29
|
+
editor: Editor;
|
|
30
|
+
exporters: ShapeSvgExporterRegistry;
|
|
31
|
+
shapeIds: Iterable<ShapeId>;
|
|
32
|
+
}): ExportIntegrityRepairResult;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Box } from "../geometry/Box";
|
|
2
|
+
import type { Editor } from "../editor/Editor";
|
|
3
|
+
import type { AssetId, ShapeId, ShapeRecordBase } from "../schema/records";
|
|
4
|
+
export type SvgAttributeValue = string | number | boolean | null | undefined;
|
|
5
|
+
export interface SvgElementNode {
|
|
6
|
+
tag: string;
|
|
7
|
+
attrs?: Record<string, SvgAttributeValue>;
|
|
8
|
+
children?: SvgNode[];
|
|
9
|
+
}
|
|
10
|
+
export type SvgNode = SvgElementNode | string;
|
|
11
|
+
export interface SvgExportContext {
|
|
12
|
+
editor: Editor;
|
|
13
|
+
bounds: Box;
|
|
14
|
+
addDef(def: SvgElementNode): string;
|
|
15
|
+
resolveAssetUrl(assetId: AssetId): string | null;
|
|
16
|
+
}
|
|
17
|
+
export interface ShapeSvgExporter<S extends ShapeRecordBase = ShapeRecordBase> {
|
|
18
|
+
type: S["type"];
|
|
19
|
+
toSvg(shape: S, context: SvgExportContext): SvgNode | null;
|
|
20
|
+
}
|
|
21
|
+
export interface SvgExportOptions {
|
|
22
|
+
padding?: number;
|
|
23
|
+
background?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface SvgExportResult {
|
|
26
|
+
svg: string;
|
|
27
|
+
bounds: Box;
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
requestedShapeIds: ShapeId[];
|
|
31
|
+
exportedShapeIds: ShapeId[];
|
|
32
|
+
skippedShapes: SvgExportSkippedShape[];
|
|
33
|
+
}
|
|
34
|
+
export type SvgExportSkipReason = "missing-shape" | "missing-bounds" | "missing-exporter" | "empty-output";
|
|
35
|
+
export interface SvgExportSkippedShape {
|
|
36
|
+
id: ShapeId;
|
|
37
|
+
reason: SvgExportSkipReason;
|
|
38
|
+
}
|
|
39
|
+
export declare class ShapeSvgExporterRegistry {
|
|
40
|
+
private readonly registry;
|
|
41
|
+
register<S extends ShapeRecordBase>(exporter: ShapeSvgExporter<S>): void;
|
|
42
|
+
get(type: ShapeRecordBase["type"]): ShapeSvgExporter | null;
|
|
43
|
+
has(type: ShapeRecordBase["type"]): boolean;
|
|
44
|
+
unregister(type: ShapeRecordBase["type"]): boolean;
|
|
45
|
+
values(): IterableIterator<ShapeSvgExporter>;
|
|
46
|
+
}
|
|
47
|
+
export declare function exportShapesToSvgString(editor: Editor, shapeIds: Iterable<ShapeId>, exporters: ShapeSvgExporterRegistry, options?: SvgExportOptions): SvgExportResult | null;
|
|
48
|
+
export declare function renderSvgNode(node: SvgNode): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Vec } from "./Vec";
|
|
2
|
+
export declare class Box {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
w: number;
|
|
6
|
+
h: number;
|
|
7
|
+
constructor(x: number, y: number, w: number, h: number);
|
|
8
|
+
get minX(): number;
|
|
9
|
+
get minY(): number;
|
|
10
|
+
get maxX(): number;
|
|
11
|
+
get maxY(): number;
|
|
12
|
+
get center(): Vec;
|
|
13
|
+
containsPoint(p: Vec): boolean;
|
|
14
|
+
containsBox(other: Box): boolean;
|
|
15
|
+
intersects(other: Box): boolean;
|
|
16
|
+
expand(amount: number): Box;
|
|
17
|
+
clone(): Box;
|
|
18
|
+
static FromPoints(points: Vec[]): Box;
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Geometry2d } from "./Geometry2d";
|
|
2
|
+
import { Vec } from "./Vec";
|
|
3
|
+
import { Box } from "./Box";
|
|
4
|
+
export declare class Ellipse2d extends Geometry2d {
|
|
5
|
+
readonly width: number;
|
|
6
|
+
readonly height: number;
|
|
7
|
+
constructor(opts: {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
});
|
|
11
|
+
get bounds(): Box;
|
|
12
|
+
get isClosed(): boolean;
|
|
13
|
+
get vertices(): Vec[];
|
|
14
|
+
nearestPoint(point: Vec): Vec;
|
|
15
|
+
hitTestPoint(point: Vec, margin?: number): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Vec } from "./Vec";
|
|
2
|
+
import { Box } from "./Box";
|
|
3
|
+
export declare abstract class Geometry2d {
|
|
4
|
+
abstract get bounds(): Box;
|
|
5
|
+
abstract get isClosed(): boolean;
|
|
6
|
+
abstract get vertices(): Vec[];
|
|
7
|
+
abstract nearestPoint(point: Vec): Vec;
|
|
8
|
+
abstract hitTestPoint(point: Vec, margin?: number): boolean;
|
|
9
|
+
distanceToPoint(point: Vec): number;
|
|
10
|
+
/**
|
|
11
|
+
* Find intersection points between a line segment (a→b) and the shape outline.
|
|
12
|
+
* Default implementation uses the polygon formed by `vertices`.
|
|
13
|
+
*/
|
|
14
|
+
intersectLineSegment(a: Vec, b: Vec): Vec[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Vec } from "./Vec";
|
|
2
|
+
/**
|
|
3
|
+
* 2D affine transform matrix:
|
|
4
|
+
* [a c e]
|
|
5
|
+
* [b d f]
|
|
6
|
+
* [0 0 1]
|
|
7
|
+
*/
|
|
8
|
+
export declare class Mat {
|
|
9
|
+
a: number;
|
|
10
|
+
b: number;
|
|
11
|
+
c: number;
|
|
12
|
+
d: number;
|
|
13
|
+
e: number;
|
|
14
|
+
f: number;
|
|
15
|
+
constructor(a: number, b: number, c: number, d: number, e: number, f: number);
|
|
16
|
+
static Identity(): Mat;
|
|
17
|
+
static Translate(x: number, y: number): Mat;
|
|
18
|
+
static Rotate(angle: number): Mat;
|
|
19
|
+
static Scale(sx: number, sy: number): Mat;
|
|
20
|
+
/** Compose: this × other */
|
|
21
|
+
compose(other: Mat): Mat;
|
|
22
|
+
applyToPoint(p: Vec): Vec;
|
|
23
|
+
invert(): Mat;
|
|
24
|
+
toCssString(): string;
|
|
25
|
+
toSvgString(): string;
|
|
26
|
+
/** Create a transform for a shape: translate(x,y) * rotate(rotation) * scale(scaleX, scaleY) */
|
|
27
|
+
static ForShape(x: number, y: number, rotation: number, scaleX?: number, scaleY?: number): Mat;
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Geometry2d } from "./Geometry2d";
|
|
2
|
+
import { Vec } from "./Vec";
|
|
3
|
+
import { Box } from "./Box";
|
|
4
|
+
export declare class Polyline2d extends Geometry2d {
|
|
5
|
+
readonly points: Vec[];
|
|
6
|
+
constructor(opts: {
|
|
7
|
+
points: Vec[];
|
|
8
|
+
});
|
|
9
|
+
get bounds(): Box;
|
|
10
|
+
get isClosed(): boolean;
|
|
11
|
+
get vertices(): Vec[];
|
|
12
|
+
nearestPoint(point: Vec): Vec;
|
|
13
|
+
hitTestPoint(point: Vec, margin?: number): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Geometry2d } from "./Geometry2d";
|
|
2
|
+
import { Vec } from "./Vec";
|
|
3
|
+
import { Box } from "./Box";
|
|
4
|
+
export declare class Rectangle2d extends Geometry2d {
|
|
5
|
+
readonly width: number;
|
|
6
|
+
readonly height: number;
|
|
7
|
+
constructor(opts: {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
});
|
|
11
|
+
get bounds(): Box;
|
|
12
|
+
get isClosed(): boolean;
|
|
13
|
+
get vertices(): Vec[];
|
|
14
|
+
nearestPoint(point: Vec): Vec;
|
|
15
|
+
hitTestPoint(point: Vec, margin?: number): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare class Vec {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
constructor(x: number, y: number);
|
|
5
|
+
add(v: Vec): Vec;
|
|
6
|
+
sub(v: Vec): Vec;
|
|
7
|
+
mul(s: number): Vec;
|
|
8
|
+
div(s: number): Vec;
|
|
9
|
+
len2(): number;
|
|
10
|
+
len(): number;
|
|
11
|
+
dist2(v: Vec): number;
|
|
12
|
+
dist(v: Vec): number;
|
|
13
|
+
rot(angle: number): Vec;
|
|
14
|
+
/** Perpendicular vector (rotated 90° counter-clockwise). */
|
|
15
|
+
per(): Vec;
|
|
16
|
+
/** Unit vector (alias for normalize). */
|
|
17
|
+
uni(): Vec;
|
|
18
|
+
normalize(): Vec;
|
|
19
|
+
equals(v: Vec): boolean;
|
|
20
|
+
clone(): Vec;
|
|
21
|
+
static From(x: number, y: number): Vec;
|
|
22
|
+
static Zero(): Vec;
|
|
23
|
+
/** Midpoint between two vectors. */
|
|
24
|
+
static Med(a: Vec, b: Vec): Vec;
|
|
25
|
+
/** Linear interpolation between two vectors. */
|
|
26
|
+
static Lrp(a: Vec, b: Vec, t: number): Vec;
|
|
27
|
+
/** Distance between two vectors. */
|
|
28
|
+
static Dist(a: Vec, b: Vec): number;
|
|
29
|
+
static Dist2(a: Vec, b: Vec): number;
|
|
30
|
+
/** Angle from center to point (atan2). */
|
|
31
|
+
static Angle(center: Vec, point: Vec): number;
|
|
32
|
+
/** Move point toward target by distance. */
|
|
33
|
+
static Nudge(from: Vec, toward: Vec, distance: number): Vec;
|
|
34
|
+
/** Rotate point around a center by angle. */
|
|
35
|
+
static RotWith(point: Vec, center: Vec, angle: number): Vec;
|
|
36
|
+
static IsNaN(v: Vec): boolean;
|
|
37
|
+
}
|
|
@@ -5,9 +5,4 @@ export { Geometry2d } from "./Geometry2d";
|
|
|
5
5
|
export { Rectangle2d } from "./Rectangle2d";
|
|
6
6
|
export { Ellipse2d } from "./Ellipse2d";
|
|
7
7
|
export { Polyline2d } from "./Polyline2d";
|
|
8
|
-
export {
|
|
9
|
-
distanceBetweenSegments,
|
|
10
|
-
distanceToSegment,
|
|
11
|
-
nearestPointOnSegment,
|
|
12
|
-
segmentsIntersect,
|
|
13
|
-
} from "./segments";
|
|
8
|
+
export { distanceBetweenSegments, distanceToSegment, nearestPointOnSegment, segmentsIntersect, } from "./segments";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Vec } from "./Vec";
|
|
2
|
+
export declare function nearestPointOnSegment(start: Vec, end: Vec, point: Vec): Vec;
|
|
3
|
+
export declare function distanceToSegment(point: Vec, start: Vec, end: Vec): number;
|
|
4
|
+
export declare function segmentsIntersect(firstStart: Vec, firstEnd: Vec, secondStart: Vec, secondEnd: Vec): boolean;
|
|
5
|
+
export declare function distanceBetweenSegments(firstStart: Vec, firstEnd: Vec, secondStart: Vec, secondEnd: Vec): number;
|