@yuzhouu/canvas-kit 0.1.12 → 0.1.14
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 +52 -238
- package/_vendor/canvas-core/bindings/bindingManager.d.ts +33 -0
- package/_vendor/canvas-core/bindings/bindingUtil.d.ts +7 -6
- package/_vendor/canvas-core/bindings/terminalBinding.d.ts +1 -1
- package/_vendor/canvas-core/editor/clipboard.d.ts +1 -1
- package/_vendor/canvas-core/editor/clipboardAssets.d.ts +6 -0
- package/_vendor/canvas-core/editor/commands/assetCommands.d.ts +7 -0
- package/_vendor/canvas-core/editor/commands/bindingCommands.d.ts +12 -0
- package/_vendor/canvas-core/editor/{commands.d.ts → commands/commandTypes.d.ts} +4 -8
- package/_vendor/canvas-core/editor/commands/commands.d.ts +5 -0
- package/_vendor/canvas-core/editor/commands/documentCommands.d.ts +9 -0
- package/_vendor/canvas-core/editor/commands/sessionCommands.d.ts +13 -0
- package/_vendor/canvas-core/editor/commands/shapeCommands.d.ts +9 -0
- package/_vendor/canvas-core/editor/commands/shapeFlags.d.ts +10 -0
- package/_vendor/canvas-core/editor/commands/shapeRemoval.d.ts +10 -0
- package/_vendor/canvas-core/editor/commands/shapeRepair.d.ts +11 -0
- package/_vendor/canvas-core/editor/createEditor.d.ts +6 -0
- package/_vendor/canvas-core/editor/editor.d.ts +310 -538
- package/_vendor/canvas-core/editor/events/canvasNavigationInteraction.d.ts +2 -0
- package/_vendor/canvas-core/editor/events/eventRouter.d.ts +16 -0
- package/_vendor/canvas-core/editor/{events.d.ts → events/events.d.ts} +18 -8
- package/_vendor/canvas-core/editor/{managers → events}/inputsManager.d.ts +6 -4
- package/_vendor/canvas-core/editor/{interactions.d.ts → events/interactions.d.ts} +12 -12
- package/_vendor/canvas-core/editor/events/keyboardShortcuts.d.ts +23 -0
- package/_vendor/canvas-core/editor/events/pointerClickRecognizer.d.ts +11 -0
- package/_vendor/canvas-core/editor/history/historyManager.d.ts +40 -0
- package/_vendor/canvas-core/editor/{operationManager.d.ts → history/operationManager.d.ts} +21 -18
- package/_vendor/canvas-core/editor/queries/bindingQueryCache.d.ts +28 -0
- package/_vendor/canvas-core/editor/queries/bindingQueryState.d.ts +11 -0
- package/_vendor/canvas-core/editor/queries/draftBindingIndex.d.ts +19 -0
- package/_vendor/canvas-core/editor/queries/shapeGeometryQueryCache.d.ts +34 -0
- package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +15 -19
- package/_vendor/canvas-core/editor/queries/shapeTreeIndex.d.ts +27 -0
- package/_vendor/canvas-core/editor/queries/shapeTreeIndexState.d.ts +11 -0
- package/_vendor/canvas-core/editor/{managers → queries}/spatialIndexManager.d.ts +5 -3
- package/_vendor/canvas-core/editor/records/documentSnapshots.d.ts +14 -0
- package/_vendor/canvas-core/editor/records/editorRecordFactory.d.ts +19 -0
- package/_vendor/canvas-core/editor/records/recordQueries.d.ts +3 -0
- package/_vendor/canvas-core/editor/{resizeGeometry.d.ts → selection/resizeGeometry.d.ts} +22 -2
- package/_vendor/canvas-core/editor/{selection.d.ts → selection/selection.d.ts} +4 -30
- package/_vendor/canvas-core/editor/{managers → selection}/selectionGeometry.d.ts +2 -2
- package/_vendor/canvas-core/editor/selection/selectionHandleHitTest.d.ts +8 -0
- package/_vendor/canvas-core/editor/selection/selectionLayout.d.ts +20 -0
- package/_vendor/canvas-core/editor/selection/selectionOverlay.d.ts +25 -0
- package/_vendor/canvas-core/editor/selection/selectionOverlayEquality.d.ts +8 -0
- package/_vendor/canvas-core/editor/selection/selectionOverlayManager.d.ts +34 -0
- package/_vendor/canvas-core/editor/{selectionResizeCapabilities.d.ts → selection/selectionResizeCapabilities.d.ts} +4 -2
- package/_vendor/canvas-core/editor/selection/selectionSet.d.ts +9 -0
- package/_vendor/canvas-core/editor/selection/selectionTargets.d.ts +10 -0
- package/_vendor/canvas-core/editor/selection/selectionTransforms.d.ts +6 -0
- package/_vendor/canvas-core/editor/shapes/shapeContainment.d.ts +14 -0
- package/_vendor/canvas-core/editor/{managers → shapes}/shapeEditingManager.d.ts +2 -2
- package/_vendor/canvas-core/editor/shapes/shapeExportTraversal.d.ts +3 -0
- package/_vendor/canvas-core/editor/shapes/shapeGeometry.d.ts +21 -0
- package/_vendor/canvas-core/editor/shapes/shapeGrouping.d.ts +22 -0
- package/_vendor/canvas-core/editor/{managers → shapes}/shapeOrder.d.ts +20 -2
- package/_vendor/canvas-core/editor/shapes/shapeReparenting.d.ts +21 -0
- package/_vendor/canvas-core/editor/shapes/shapeSignalManager.d.ts +35 -0
- package/_vendor/canvas-core/editor/{shapeTransformSpace.d.ts → shapes/shapeTransformSpace.d.ts} +3 -3
- package/_vendor/canvas-core/editor/shapes/shapeTreeQueries.d.ts +12 -0
- package/_vendor/canvas-core/editor/snapping/gapSnap.d.ts +6 -0
- package/_vendor/canvas-core/editor/snapping/pointSnap.d.ts +5 -0
- package/_vendor/canvas-core/editor/snapping/resizeSnap.d.ts +11 -0
- package/_vendor/canvas-core/editor/snapping/snapDecision.d.ts +2 -0
- package/_vendor/canvas-core/editor/{managers → snapping}/snapGeometry.d.ts +0 -1
- package/_vendor/canvas-core/editor/{managers → snapping}/snapIndicators.d.ts +2 -2
- package/_vendor/canvas-core/editor/{managers → snapping}/snapManager.d.ts +23 -5
- package/_vendor/canvas-core/editor/{managers/snapCalculations.d.ts → snapping/snapResults.d.ts} +2 -17
- package/_vendor/canvas-core/editor/{managers → snapping}/snapTypes.d.ts +1 -1
- package/_vendor/canvas-core/editor/state/editorReadModels.d.ts +34 -0
- package/_vendor/canvas-core/editor/state/editorSignals.d.ts +82 -0
- package/_vendor/canvas-core/editor/state/editorStateUtils.d.ts +9 -0
- package/_vendor/canvas-core/editor/{managers → state}/interactionTransientManager.d.ts +4 -4
- package/_vendor/canvas-core/editor/{managers → viewport}/cameraManager.d.ts +21 -4
- package/_vendor/canvas-core/editor/{cameraPanSession.d.ts → viewport/cameraPanSession.d.ts} +3 -3
- package/_vendor/canvas-core/editor/{edgeScroll.d.ts → viewport/edgeScroll.d.ts} +1 -1
- package/_vendor/canvas-core/editor/{renderWindow.d.ts → viewport/renderWindow.d.ts} +8 -8
- package/_vendor/canvas-core/editor/{managers → viewport}/renderWindowManager.d.ts +14 -6
- package/_vendor/canvas-core/geometry/box.d.ts +1 -0
- package/_vendor/canvas-core/geometry/mat.d.ts +2 -3
- package/_vendor/canvas-core/index.d.ts +33 -26
- package/_vendor/canvas-core/plugins/editorRuntimePlugin.d.ts +2 -5
- package/_vendor/canvas-core/plugins/editorRuntimeRegistry.d.ts +0 -4
- package/_vendor/canvas-core/plugins/index.d.ts +1 -1
- package/_vendor/canvas-core/reactivity.d.ts +2 -0
- package/_vendor/canvas-core/schema/records.d.ts +1 -2
- package/_vendor/canvas-core/schema/snapshots.d.ts +2 -2
- package/_vendor/canvas-core/shapes/childTransformPolicy.d.ts +16 -0
- package/_vendor/canvas-core/shapes/shapeUtil.d.ts +9 -8
- package/_vendor/canvas-core/shapes/shapeUtilGeometry.d.ts +6 -0
- package/_vendor/canvas-core/tools/hand/handTool.d.ts +1 -1
- package/_vendor/canvas-core/tools/select/selectTool.d.ts +1 -1
- package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +11 -12
- package/_vendor/canvas-core/tools/select/states/brushingState.d.ts +2 -2
- package/_vendor/canvas-core/tools/select/states/draggingPluginInteractionState.d.ts +2 -3
- package/_vendor/canvas-core/tools/select/states/idleState.d.ts +2 -2
- package/_vendor/canvas-core/tools/select/states/pointingCanvasState.d.ts +2 -2
- package/_vendor/canvas-core/tools/select/states/pointingResizeHandleState.d.ts +1 -1
- package/_vendor/canvas-core/tools/select/states/pointingRotateHandleState.d.ts +1 -1
- package/_vendor/canvas-core/tools/select/states/pointingSelectionHandleInteractionState.d.ts +3 -3
- package/_vendor/canvas-core/tools/select/states/pointingShapeState.d.ts +3 -3
- package/_vendor/canvas-core/tools/select/states/resizingState.d.ts +3 -3
- package/_vendor/canvas-core/tools/select/states/rotatingState.d.ts +3 -3
- package/_vendor/canvas-core/tools/select/states/selectStateNode.d.ts +8 -12
- package/_vendor/canvas-core/tools/select/states/translatingState.d.ts +2 -3
- package/_vendor/canvas-core/tools/stateNode.d.ts +30 -0
- package/_vendor/canvas-core/tools/toolManager.d.ts +24 -0
- package/_vendor/canvas-core/utils/equality.d.ts +9 -0
- package/_vendor/canvas-extension-contracts/contributions.d.ts +92 -0
- package/_vendor/canvas-extension-contracts/index.d.ts +6 -0
- package/_vendor/canvas-extension-contracts/operations.d.ts +131 -0
- package/_vendor/canvas-extension-contracts/persistence.d.ts +16 -0
- package/_vendor/canvas-extension-contracts/plugin.d.ts +37 -0
- package/_vendor/canvas-extension-contracts/shape.d.ts +5 -0
- package/_vendor/canvas-extension-contracts/tokens.d.ts +12 -0
- package/_vendor/canvas-react/components/CanvasView.d.ts +3 -10
- package/_vendor/canvas-react/components/DefaultGrid.d.ts +1 -0
- package/_vendor/canvas-react/components/canvasKeyboardEvents.d.ts +2 -2
- package/_vendor/canvas-react/components/index.d.ts +1 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeClipStack.d.ts +11 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeDecorations.d.ts +2 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeForegroundItem.d.ts +5 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeItem.d.ts +5 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeRenderList.d.ts +1 -0
- package/_vendor/canvas-react/components/shape-layer/ShapeRenderer.d.ts +12 -0
- package/_vendor/canvas-react/components/shape-layer/shapeFrame.d.ts +11 -0
- package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +2 -2
- package/_vendor/canvas-react/dom.d.ts +1 -1
- package/_vendor/canvas-react/host/canvasRenderBindings.d.ts +21 -0
- package/_vendor/canvas-react/host/canvasRenderBindingsContext.d.ts +5 -0
- package/_vendor/canvas-react/host/canvasRenderPlugin.d.ts +3 -12
- package/_vendor/canvas-react/host/index.d.ts +4 -7
- package/_vendor/canvas-react/index.d.ts +1 -1
- package/_vendor/signals/atom.d.ts +7 -5
- package/_vendor/signals/computed.d.ts +10 -8
- package/_vendor/signals/core.d.ts +32 -15
- package/_vendor/signals/effect.d.ts +2 -22
- package/_vendor/signals/index.d.ts +6 -7
- package/_vendor/signals/types.d.ts +14 -7
- package/_vendor/store/diff.d.ts +1 -1
- package/_vendor/store/history.d.ts +6 -21
- package/_vendor/store/index.d.ts +4 -4
- package/_vendor/store/store.d.ts +19 -17
- package/browser/indexedDb.d.ts +0 -4
- package/browser/persistence.d.ts +3 -3
- package/browser/persistenceFlushEvents.d.ts +2 -0
- package/chrome/floating/CanvasKitFloatingContent.d.ts +10 -0
- package/chrome/floating/CanvasKitFloatingPortal.d.ts +1 -0
- package/chrome/floating/useCanvasKitFloatingPosition.d.ts +5 -3
- package/chrome/toolbar/FloatingSelectionToolbarPageSpace.d.ts +7 -3
- package/index.css +1 -1
- package/index.d.ts +16 -45
- package/index.mjs +46 -88
- package/package.json +3 -15
- package/react/CanvasKitContext.d.ts +8 -0
- package/react/CanvasKitRoot.d.ts +2 -10
- package/react/canvasActions.d.ts +3 -0
- package/react/canvasKitRootContracts.d.ts +19 -0
- package/react/host/CanvasKitCanvasHost.d.ts +7 -0
- package/react/host/import/CanvasImportHost.d.ts +13 -0
- package/react/host/keyboard/useCanvasKeyboardShortcuts.d.ts +8 -0
- package/react/reportCanvasHostError.d.ts +1 -0
- package/react/useCanvasKitRootRuntime.d.ts +12 -0
- package/runtime/activateCanvasPlugins.d.ts +16 -0
- package/runtime/canvasExportController.d.ts +11 -0
- package/runtime/canvasKit.d.ts +3 -0
- package/runtime/canvasKitContracts.d.ts +192 -0
- package/runtime/canvasKitRootRuntime.d.ts +17 -0
- package/runtime/canvasPluginGraph.d.ts +5 -11
- package/runtime/canvasRuntimeInitialization.d.ts +12 -0
- package/runtime/canvasRuntimeOwner.d.ts +16 -0
- package/runtime/createCanvasKitEditor.d.ts +8 -0
- package/runtime/facade/canvasProductData.d.ts +14 -0
- package/runtime/facade/canvasReadable.d.ts +13 -0
- package/runtime/facade/createCanvasKitFacade.d.ts +17 -0
- package/runtime/facade/layerTree.d.ts +12 -0
- package/runtime/persistenceCoordinator.d.ts +22 -5
- package/runtime/registries/productApiRegistry.d.ts +12 -3
- package/_vendor/canvas-core/editor/bindingReactionScope.d.ts +0 -7
- package/_vendor/canvas-core/editor/canvasPanInteraction.d.ts +0 -2
- package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +0 -6
- package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +0 -24
- package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +0 -6
- package/_vendor/canvas-core/editor/historyManager.d.ts +0 -36
- package/_vendor/canvas-core/editor/index.d.ts +0 -11
- package/_vendor/canvas-core/editor/managers/bindingManager.d.ts +0 -23
- package/_vendor/canvas-core/editor/managers/clipboardManager.d.ts +0 -14
- package/_vendor/canvas-core/editor/managers/documentSnapshotManager.d.ts +0 -28
- package/_vendor/canvas-core/editor/managers/queryManager.d.ts +0 -102
- package/_vendor/canvas-core/editor/managers/queryState.d.ts +0 -18
- package/_vendor/canvas-core/editor/managers/selectionLayoutManager.d.ts +0 -34
- package/_vendor/canvas-core/editor/managers/selectionManager.d.ts +0 -21
- package/_vendor/canvas-core/editor/managers/selectionOverlayManager.d.ts +0 -25
- package/_vendor/canvas-core/editor/managers/shapeGeometryManager.d.ts +0 -43
- package/_vendor/canvas-core/editor/managers/shapeHierarchyManager.d.ts +0 -63
- package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +0 -7
- package/_vendor/canvas-core/editor/managers/shortcutManager.d.ts +0 -56
- package/_vendor/canvas-core/editor/managers/sideEffectManager.d.ts +0 -23
- package/_vendor/canvas-core/editor/managers/toolManager.d.ts +0 -24
- package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +0 -11
- package/_vendor/canvas-core/editor/selectionOverlay.d.ts +0 -35
- package/_vendor/canvas-core/editor/stateNode.d.ts +0 -31
- package/_vendor/canvas-core/shapes/capabilities.d.ts +0 -25
- package/_vendor/canvas-core/tools/index.d.ts +0 -2
- package/_vendor/canvas-plugin-sdk/capability.d.ts +0 -10
- package/_vendor/canvas-plugin-sdk/index.d.ts +0 -3
- package/_vendor/canvas-plugin-sdk/plugin.d.ts +0 -29
- package/_vendor/canvas-plugin-sdk/setupExtension.d.ts +0 -5
- package/_vendor/canvas-product-contracts/actionRegistry.d.ts +0 -4
- package/_vendor/canvas-product-contracts/actions.d.ts +0 -44
- package/_vendor/canvas-product-contracts/capability.d.ts +0 -8
- package/_vendor/canvas-product-contracts/chrome.d.ts +0 -53
- package/_vendor/canvas-product-contracts/chromeRegistry.d.ts +0 -9
- package/_vendor/canvas-product-contracts/contextMenu.d.ts +0 -63
- package/_vendor/canvas-product-contracts/contextMenuRegistry.d.ts +0 -4
- package/_vendor/canvas-product-contracts/exportRegistry.d.ts +0 -6
- package/_vendor/canvas-product-contracts/exports.d.ts +0 -27
- package/_vendor/canvas-product-contracts/importRegistry.d.ts +0 -7
- package/_vendor/canvas-product-contracts/imports.d.ts +0 -39
- package/_vendor/canvas-product-contracts/index.d.ts +0 -15
- package/_vendor/canvas-product-contracts/productApi.d.ts +0 -29
- package/_vendor/canvas-product-contracts/services.d.ts +0 -21
- package/_vendor/canvas-product-contracts/toolbar.d.ts +0 -146
- package/_vendor/canvas-product-contracts/toolbarRegistry.d.ts +0 -9
- package/_vendor/canvas-react/host/canvasOverlayRegistryContext.d.ts +0 -3
- package/_vendor/canvas-react/host/canvasRenderRuntime.d.ts +0 -13
- package/_vendor/canvas-react/host/canvasRendererRegistryContext.d.ts +0 -3
- package/_vendor/canvas-react/host/domEventGuards.d.ts +0 -11
- package/_vendor/canvas-react/host/overlayRegistry.d.ts +0 -18
- package/_vendor/canvas-react/host/rendererRegistry.d.ts +0 -15
- package/_vendor/plugin-arrow/api.d.ts +0 -33
- package/_vendor/plugin-arrow/arrowBindingAnchors.d.ts +0 -5
- package/_vendor/plugin-arrow/arrowBindingGeometry.d.ts +0 -28
- package/_vendor/plugin-arrow/arrowBindingTargets.d.ts +0 -3
- package/_vendor/plugin-arrow/arrowBindingUtil.d.ts +0 -27
- package/_vendor/plugin-arrow/arrowGeometry.d.ts +0 -77
- package/_vendor/plugin-arrow/arrowHeadGeometry.d.ts +0 -8
- package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +0 -25
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +0 -20
- package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +0 -13
- package/_vendor/plugin-arrow/arrowTool.d.ts +0 -4
- package/_vendor/plugin-arrow/canvasRender.d.ts +0 -2
- package/_vendor/plugin-arrow/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-arrow/feature.d.ts +0 -2
- package/_vendor/plugin-arrow/index.d.ts +0 -15
- package/_vendor/plugin-arrow/productRuntime.d.ts +0 -2
- package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +0 -3
- package/_vendor/plugin-arrow/types.d.ts +0 -31
- package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +0 -13
- package/_vendor/plugin-draw/canvasRender.d.ts +0 -2
- package/_vendor/plugin-draw/drawGeometry.d.ts +0 -42
- package/_vendor/plugin-draw/drawHitTest.d.ts +0 -11
- package/_vendor/plugin-draw/drawInterpolation.d.ts +0 -5
- package/_vendor/plugin-draw/drawPath.d.ts +0 -43
- package/_vendor/plugin-draw/drawSegments.d.ts +0 -11
- package/_vendor/plugin-draw/drawSelectionTransform.d.ts +0 -18
- package/_vendor/plugin-draw/drawShapeGeometry.d.ts +0 -33
- package/_vendor/plugin-draw/drawShapeUtil.d.ts +0 -22
- package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +0 -17
- package/_vendor/plugin-draw/drawTool.d.ts +0 -6
- package/_vendor/plugin-draw/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-draw/feature.d.ts +0 -2
- package/_vendor/plugin-draw/index.d.ts +0 -14
- package/_vendor/plugin-draw/productRuntime.d.ts +0 -2
- package/_vendor/plugin-draw/types.d.ts +0 -23
- package/_vendor/plugin-eraser/canvasRender.d.ts +0 -2
- package/_vendor/plugin-eraser/editorRuntime.d.ts +0 -2
- package/_vendor/plugin-eraser/eraserRuntime.d.ts +0 -12
- package/_vendor/plugin-eraser/eraserTool.d.ts +0 -5
- package/_vendor/plugin-eraser/feature.d.ts +0 -2
- package/_vendor/plugin-eraser/index.d.ts +0 -6
- package/_vendor/plugin-eraser/productRuntime.d.ts +0 -2
- package/_vendor/plugin-frame/api.d.ts +0 -19
- package/_vendor/plugin-frame/canvasRender.d.ts +0 -9
- package/_vendor/plugin-frame/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-frame/feature.d.ts +0 -2
- package/_vendor/plugin-frame/frameShapeUtil.d.ts +0 -35
- package/_vendor/plugin-frame/frameTool.d.ts +0 -6
- package/_vendor/plugin-frame/index.d.ts +0 -9
- package/_vendor/plugin-frame/productRuntime.d.ts +0 -2
- package/_vendor/plugin-geo/api.d.ts +0 -27
- package/_vendor/plugin-geo/canvasRender.d.ts +0 -13
- package/_vendor/plugin-geo/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-geo/feature.d.ts +0 -2
- package/_vendor/plugin-geo/geoGeometry.d.ts +0 -24
- package/_vendor/plugin-geo/geoShapeUtil.d.ts +0 -14
- package/_vendor/plugin-geo/geoStrokeStyle.d.ts +0 -2
- package/_vendor/plugin-geo/geoTools.d.ts +0 -27
- package/_vendor/plugin-geo/index.d.ts +0 -10
- package/_vendor/plugin-geo/productRuntime.d.ts +0 -2
- package/_vendor/plugin-geo/types.d.ts +0 -22
- package/_vendor/plugin-group/canvasRender.d.ts +0 -9
- package/_vendor/plugin-group/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-group/feature.d.ts +0 -2
- package/_vendor/plugin-group/groupContributions.d.ts +0 -7
- package/_vendor/plugin-group/groupShapeUtil.d.ts +0 -35
- package/_vendor/plugin-group/index.d.ts +0 -7
- package/_vendor/plugin-group/productRuntime.d.ts +0 -2
- package/_vendor/plugin-image/actionIds.d.ts +0 -9
- package/_vendor/plugin-image/canvasRender.d.ts +0 -2
- package/_vendor/plugin-image/cornerRadius.d.ts +0 -6
- package/_vendor/plugin-image/crop.d.ts +0 -112
- package/_vendor/plugin-image/cropInteractions.d.ts +0 -3
- package/_vendor/plugin-image/cropRuntime.d.ts +0 -2
- package/_vendor/plugin-image/cropSession.d.ts +0 -6
- package/_vendor/plugin-image/editorRuntime.d.ts +0 -3
- package/_vendor/plugin-image/feature.d.ts +0 -2
- package/_vendor/plugin-image/imageHostActionContract.d.ts +0 -2
- package/_vendor/plugin-image/imageShapeUtil.d.ts +0 -13
- package/_vendor/plugin-image/imageSvgExporter.d.ts +0 -6
- package/_vendor/plugin-image/index.d.ts +0 -13
- package/_vendor/plugin-image/productRuntime.d.ts +0 -4
- package/_vendor/plugin-image/runtimeShared.d.ts +0 -5
- package/_vendor/plugin-image/smudge.d.ts +0 -67
- package/_vendor/plugin-image/smudgeInteractions.d.ts +0 -2
- package/_vendor/plugin-image/smudgeRuntime.d.ts +0 -2
- package/_vendor/plugin-image/styleRuntime.d.ts +0 -22
- package/_vendor/plugin-image/toolbarRuntime.d.ts +0 -3
- package/_vendor/plugin-image/types.d.ts +0 -53
- package/_vendor/plugin-laser/canvasRender.d.ts +0 -2
- package/_vendor/plugin-laser/editorRuntime.d.ts +0 -2
- package/_vendor/plugin-laser/feature.d.ts +0 -2
- package/_vendor/plugin-laser/index.d.ts +0 -6
- package/_vendor/plugin-laser/laserRuntime.d.ts +0 -18
- package/_vendor/plugin-laser/laserTool.d.ts +0 -4
- package/_vendor/plugin-laser/productRuntime.d.ts +0 -2
- package/_vendor/plugin-path/PathDraftOverlay.d.ts +0 -1
- package/_vendor/plugin-path/PathEditInsertPreviewOverlay.d.ts +0 -1
- package/_vendor/plugin-path/PathShapeRenderer.d.ts +0 -15
- package/_vendor/plugin-path/canvasRender.d.ts +0 -2
- package/_vendor/plugin-path/editorRuntime.d.ts +0 -7
- package/_vendor/plugin-path/feature.d.ts +0 -2
- package/_vendor/plugin-path/index.d.ts +0 -8
- package/_vendor/plugin-path/pathBoolean.d.ts +0 -13
- package/_vendor/plugin-path/pathDraft.d.ts +0 -10
- package/_vendor/plugin-path/pathEditPreview.d.ts +0 -11
- package/_vendor/plugin-path/pathEditSelection.d.ts +0 -24
- package/_vendor/plugin-path/pathEditSnap.d.ts +0 -6
- package/_vendor/plugin-path/pathGeometry.d.ts +0 -74
- package/_vendor/plugin-path/pathHandles.d.ts +0 -18
- package/_vendor/plugin-path/pathHistory.d.ts +0 -13
- package/_vendor/plugin-path/pathInteractions.d.ts +0 -7
- package/_vendor/plugin-path/pathShapeUtil.d.ts +0 -30
- package/_vendor/plugin-path/pathSvg.d.ts +0 -3
- package/_vendor/plugin-path/pathTool.d.ts +0 -42
- package/_vendor/plugin-path/productRuntime.d.ts +0 -15
- package/_vendor/plugin-path/types.d.ts +0 -36
- package/_vendor/plugin-runtime-clipboard/capability.d.ts +0 -1
- package/_vendor/plugin-runtime-clipboard/clipboardActions.d.ts +0 -6
- package/_vendor/plugin-runtime-clipboard/clipboardService.d.ts +0 -10
- package/_vendor/plugin-runtime-clipboard/index.d.ts +0 -4
- package/_vendor/plugin-runtime-clipboard/plugin.d.ts +0 -1
- package/_vendor/plugin-runtime-export/blobDataUrl.d.ts +0 -1
- package/_vendor/plugin-runtime-export/canvasExportApi.d.ts +0 -43
- package/_vendor/plugin-runtime-export/index.d.ts +0 -8
- package/_vendor/plugin-runtime-export/plugin.d.ts +0 -5
- package/_vendor/plugin-runtime-export/pngExport.d.ts +0 -15
- package/_vendor/plugin-runtime-export/svgExport.d.ts +0 -40
- package/_vendor/plugin-text/api.d.ts +0 -20
- package/_vendor/plugin-text/canvasRender.d.ts +0 -8
- package/_vendor/plugin-text/capabilities.d.ts +0 -2
- package/_vendor/plugin-text/editorRuntime.d.ts +0 -5
- package/_vendor/plugin-text/feature.d.ts +0 -4
- package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +0 -48
- package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +0 -10
- package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +0 -29
- package/_vendor/plugin-text/host/initialTextBackground.d.ts +0 -2
- package/_vendor/plugin-text/host/richTextRendering.d.ts +0 -10
- package/_vendor/plugin-text/host/textDomSelection.d.ts +0 -7
- package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +0 -4
- package/_vendor/plugin-text/host/textEntryFocus.d.ts +0 -23
- package/_vendor/plugin-text/host/textFontLoader.d.ts +0 -3
- package/_vendor/plugin-text/host/textFormattingApi.d.ts +0 -16
- package/_vendor/plugin-text/host/textMeasurement.d.ts +0 -21
- package/_vendor/plugin-text/host/textMeasurementSync.d.ts +0 -11
- package/_vendor/plugin-text/host/textRangeSelection.d.ts +0 -14
- package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +0 -11
- package/_vendor/plugin-text/host/textShapeSync.d.ts +0 -19
- package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +0 -38
- package/_vendor/plugin-text/index.d.ts +0 -15
- package/_vendor/plugin-text/pathLabelBindingUtil.d.ts +0 -55
- package/_vendor/plugin-text/productRuntime.d.ts +0 -6
- package/_vendor/plugin-text/richTextLinks.d.ts +0 -3
- package/_vendor/plugin-text/richTextUtils.d.ts +0 -26
- package/_vendor/plugin-text/shapeWideTextFormatting.d.ts +0 -12
- package/_vendor/plugin-text/textFonts.d.ts +0 -49
- package/_vendor/plugin-text/textFormatting.d.ts +0 -47
- package/_vendor/plugin-text/textFormattingSession.d.ts +0 -6
- package/_vendor/plugin-text/textInteractions.d.ts +0 -2
- package/_vendor/plugin-text/textLabelHelpers.d.ts +0 -70
- package/_vendor/plugin-text/textLinkPopoverPresentation.d.ts +0 -18
- package/_vendor/plugin-text/textShapeHelpers.d.ts +0 -22
- package/_vendor/plugin-text/textShapeSvgExporter.d.ts +0 -9
- package/_vendor/plugin-text/textShapeUtil.d.ts +0 -24
- package/_vendor/plugin-text/textStyle.d.ts +0 -18
- package/_vendor/plugin-text/textTool.d.ts +0 -4
- package/_vendor/plugin-text/textTypes.d.ts +0 -29
- package/chrome/toolbar/mergeToolbarGroups.d.ts +0 -8
- package/chrome/toolbar/toolbarLabels.d.ts +0 -8
- package/chrome/toolbar/useToolbarSurfaces.d.ts +0 -21
- package/chrome/types.d.ts +0 -72
- package/chrome/useCanvasKitChromeContext.d.ts +0 -18
- package/chrome/useCanvasKitLayerTree.d.ts +0 -5
- package/chrome/useChromeSurfaces.d.ts +0 -12
- package/chrome/useContextMenuSurface.d.ts +0 -12
- package/chrome/useHistoryControls.d.ts +0 -12
- package/chrome/usePageControls.d.ts +0 -16
- package/chrome/useZoomControls.d.ts +0 -9
- package/controller/canvasKitController.d.ts +0 -28
- package/core/index.d.ts +0 -7
- package/core/product-controller/canvasProductController.d.ts +0 -202
- package/core/product-controller/index.d.ts +0 -2
- package/core/product-controller/productLayerTree.d.ts +0 -10
- package/core/runtime/productAssets.d.ts +0 -20
- package/core/runtime/productEditor.d.ts +0 -3
- package/core/runtime/productServices.d.ts +0 -20
- package/core/runtime/runtimeContracts.d.ts +0 -17
- package/features/context-menu/contextMenuRuntime.d.ts +0 -13
- package/features/image/asset/imageAssetService.d.ts +0 -10
- package/features/image/asset/imageBlobStore.d.ts +0 -31
- package/features/image/asset/imageFileHelpers.d.ts +0 -43
- package/features/image/asset/svgImageAssetInliner.d.ts +0 -3
- package/features/image/controller/imageProductController.d.ts +0 -27
- package/features/image/imageHostPlugin.d.ts +0 -1
- package/features/image/import/ImageImportController.d.ts +0 -11
- package/features/image/index.d.ts +0 -15
- package/features/image/smudge/imageSmudgeHostActions.d.ts +0 -10
- package/features/image/smudge/imageSmudgeTypes.d.ts +0 -25
- package/features/image/toolbar/imageHostActions.d.ts +0 -79
- package/features/image/toolbar/imageToolbarHostBridge.d.ts +0 -14
- package/features/text/link/TextLinkHoverPopover.d.ts +0 -6
- package/features/text/textHostPlugin.d.ts +0 -5
- package/features/text/textSvgAssetInliner.d.ts +0 -3
- package/features/text/textSvgAssetPlugin.d.ts +0 -2
- package/plugins/runtime/import-host/CanvasImportHost.d.ts +0 -4
- package/plugins/runtime/import-host/capability.d.ts +0 -1
- package/plugins/runtime/import-host/index.d.ts +0 -2
- package/plugins/runtime/import-host/plugin.d.ts +0 -1
- package/plugins/runtime/keyboard-shortcuts/index.d.ts +0 -1
- package/plugins/runtime/keyboard-shortcuts/plugin.d.ts +0 -1
- package/plugins/runtime/keyboard-shortcuts/useCanvasKeyboardShortcuts.d.ts +0 -8
- package/plugins/runtime/tool-actions/capability.d.ts +0 -1
- package/plugins/runtime/tool-actions/index.d.ts +0 -2
- package/plugins/runtime/tool-actions/plugin.d.ts +0 -1
- package/plugins/runtime/tool-actions/toolActions.d.ts +0 -2
- package/plugins/standard/clipboard/chrome.d.ts +0 -2
- package/plugins/standard/clipboard/contextMenu.d.ts +0 -2
- package/plugins/standard/clipboard/plugin.d.ts +0 -1
- package/plugins/standard/clipboard/shortcuts.d.ts +0 -5
- package/plugins/standard/createStandardCanvasKitPlugins.d.ts +0 -15
- package/plugins/standard/selection/actions.d.ts +0 -21
- package/plugins/standard/selection/chrome.d.ts +0 -2
- package/plugins/standard/selection/contextMenu.d.ts +0 -2
- package/plugins/standard/selection/plugin.d.ts +0 -1
- package/plugins/standard/selection/toolbar.d.ts +0 -2
- package/plugins/standard/tool-ui/contextMenu.d.ts +0 -2
- package/plugins/standard/tool-ui/plugin.d.ts +0 -1
- package/plugins/standard/tool-ui/toolbar.d.ts +0 -2
- package/plugins/standard/view/actions.d.ts +0 -5
- package/plugins/standard/view/chrome.d.ts +0 -2
- package/plugins/standard/view/contextMenu.d.ts +0 -2
- package/plugins/standard/view/plugin.d.ts +0 -1
- package/react/useCanvasKitControllerLifecycle.d.ts +0 -8
- package/react/useCanvasKitRuntime.d.ts +0 -2
- package/runtime/canvasKitActionContext.d.ts +0 -17
- package/runtime/canvasKitCommandExecutor.d.ts +0 -13
- package/runtime/canvasKitPluginContracts.d.ts +0 -32
- package/runtime/canvasKitPluginLifecycle.d.ts +0 -32
- package/runtime/canvasKitPluginSetup.d.ts +0 -34
- package/runtime/canvasKitPluginUi.d.ts +0 -35
- package/runtime/canvasKitResourceScope.d.ts +0 -5
- package/runtime/canvasKitRuntime.d.ts +0 -50
- package/runtime/canvasKitRuntimeContracts.d.ts +0 -34
- package/runtime/registries/actionRegistry.d.ts +0 -5
- package/runtime/registries/chromeRegistry.d.ts +0 -2
- package/runtime/registries/contextMenuRegistry.d.ts +0 -5
- package/runtime/registries/exportRegistry.d.ts +0 -2
- package/runtime/registries/importRegistry.d.ts +0 -2
- package/runtime/registries/index.d.ts +0 -7
- package/runtime/registries/toolbarRegistry.d.ts +0 -5
- /package/_vendor/canvas-core/editor/{selectionBindingSegments.d.ts → selection/selectionBindingSegments.d.ts} +0 -0
- /package/_vendor/canvas-core/editor/{managers → snapping}/snapSnapshotBuilder.d.ts +0 -0
- /package/_vendor/canvas-core/editor/{camera.d.ts → viewport/camera.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,262 +1,76 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @yuzhouu/canvas-kit
|
|
2
2
|
|
|
3
|
-
CanvasKit is
|
|
3
|
+
CanvasKit is Land's plugin-agnostic canvas runtime and React host. It has no concrete first-party plugin dependencies or plugin API reexports; predefined first-party composition lives exclusively in `@yuzhouu/canvas-standard`.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It owns plugin activation, persistence, imports, exports, lifecycle, the grouped public CanvasKit facade, and its fine-grained observable state. It does not own a toolbar, context-menu, or Chrome UI DSL.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```tsx
|
|
10
|
-
import {
|
|
11
|
-
CanvasKitRoot,
|
|
12
|
-
useCanvasKitRuntime,
|
|
13
|
-
type CanvasKitRuntimeOptions,
|
|
14
|
-
} from "@land/canvas-kit";
|
|
15
|
-
|
|
16
|
-
const RUNTIME_OPTIONS: CanvasKitRuntimeOptions = {
|
|
17
|
-
id: "my-canvas",
|
|
18
|
-
storageNamespace: "my-app.canvas",
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export function App() {
|
|
22
|
-
const state = useCanvasKitRuntime(RUNTIME_OPTIONS);
|
|
23
|
-
|
|
24
|
-
if (state.status === "error") throw state.error;
|
|
25
|
-
if (state.status !== "ready") return null;
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<CanvasKitRoot
|
|
29
|
-
runtime={state.runtime}
|
|
30
|
-
onControllerReady={(controller) => {
|
|
31
|
-
controller.setTool("select");
|
|
32
|
-
}}
|
|
33
|
-
/>
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Use a module-level constant or `useMemo` for `CanvasKitRuntimeOptions`. An inline object creates and disposes a Runtime after every render.
|
|
39
|
-
|
|
40
|
-
## Imperative usage
|
|
41
|
-
|
|
42
|
-
The creator owns the complete lifecycle:
|
|
43
|
-
|
|
44
|
-
```tsx
|
|
45
|
-
import { createRoot } from "react-dom/client";
|
|
46
|
-
import {
|
|
47
|
-
CanvasKitRoot,
|
|
48
|
-
createCanvasKitRuntime,
|
|
49
|
-
} from "@land/canvas-kit";
|
|
50
|
-
|
|
51
|
-
const runtime = createCanvasKitRuntime({ persistence: null });
|
|
52
|
-
const startup = await runtime.start();
|
|
53
|
-
|
|
54
|
-
const root = createRoot(document.getElementById("app")!);
|
|
55
|
-
root.render(<CanvasKitRoot runtime={runtime} />);
|
|
56
|
-
|
|
57
|
-
// Later:
|
|
58
|
-
root.unmount();
|
|
59
|
-
runtime.dispose();
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
One Runtime can be mounted by only one `CanvasKitRoot` at a time. `CanvasKitRoot` requires a ready Runtime and never calls `start()` or `dispose()`.
|
|
63
|
-
|
|
64
|
-
## Runtime options
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
interface CanvasKitRuntimeOptions {
|
|
68
|
-
id?: string;
|
|
69
|
-
chrome?: CanvasKitChromeRenderer;
|
|
70
|
-
documentMeta?: Record<string, unknown>;
|
|
71
|
-
persistence?: ProductPersistenceAdapter | null;
|
|
72
|
-
seedDocument?: CanvasKitDocumentSeed;
|
|
73
|
-
shouldSkipStoredSnapshots?: () => boolean;
|
|
74
|
-
plugins?: readonly CanvasPluginInput[];
|
|
75
|
-
storageNamespace?: string;
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Controller callbacks, window exposure, and `windowKey` are mount concerns and
|
|
80
|
-
belong on `CanvasKitRoot`. Export appearance is supplied to each export request;
|
|
81
|
-
it is not stored on the Root or Runtime.
|
|
82
|
-
|
|
83
|
-
`plugins` is the complete caller-supplied plugin graph. Before compiling it,
|
|
84
|
-
CanvasKit adds Runtime default providers for clipboard behavior, import host,
|
|
85
|
-
generic tool actions, and the export API only when the graph does not already
|
|
86
|
-
provide the corresponding capability token. A plugin that provides
|
|
87
|
-
`canvasClipboardRuntimeCapability`, `canvasToolActionsCapability`, or
|
|
88
|
-
`canvasExportApiToken` therefore replaces that default implementation. Runtime
|
|
89
|
-
defaults and caller plugins use the same `CanvasPlugin` contract and compile
|
|
90
|
-
into one dependency graph.
|
|
91
|
-
|
|
92
|
-
CanvasKit-specific import, keyboard, and tool-action defaults live with the
|
|
93
|
-
composition root under `src/plugins/runtime`. Reusable clipboard and export
|
|
94
|
-
capabilities remain independent Runtime plugin packages. Physical ownership
|
|
95
|
-
does not change capability replacement semantics.
|
|
96
|
-
|
|
97
|
-
## Startup result
|
|
98
|
-
|
|
99
|
-
`runtime.start()` is single-flight and idempotent. It returns:
|
|
7
|
+
## Standard composition
|
|
100
8
|
|
|
101
9
|
```ts
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
10
|
+
import {
|
|
11
|
+
createStandardCanvasKitProfile,
|
|
12
|
+
} from "@yuzhouu/canvas-standard";
|
|
13
|
+
import { CanvasKitRoot } from "@yuzhouu/canvas-kit";
|
|
14
|
+
|
|
15
|
+
const profile = createStandardCanvasKitProfile();
|
|
16
|
+
root.render(
|
|
17
|
+
<CanvasKitRoot
|
|
18
|
+
actions={profile.actions}
|
|
19
|
+
options={{ plugins: profile.plugins, persistence: null }}
|
|
20
|
+
/>,
|
|
21
|
+
);
|
|
107
22
|
```
|
|
108
23
|
|
|
109
|
-
|
|
24
|
+
`CanvasKitRoot` exclusively creates and disposes one private Runtime for its component lifetime. Its `onCanvasChange` callback and Chrome renderer receive a borrowed `CanvasKit` without `dispose()`. Root installs `CanvasKitProvider` without accessing Editor directly; the private Canvas render host owns `EditorContext` around the internal Canvas tree. There is no public standalone Runtime factory.
|
|
110
25
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
## Persistence adapter
|
|
114
|
-
|
|
115
|
-
Persistence is IO-only; Runtime owns restore and seed ordering.
|
|
26
|
+
## Minimal actions
|
|
116
27
|
|
|
117
28
|
```ts
|
|
118
|
-
interface
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
sessionSnapshot: unknown | null;
|
|
124
|
-
}>;
|
|
125
|
-
saveDocument?(snapshot: DocumentSnapshot): Promise<void>;
|
|
126
|
-
saveSession?(snapshot: SessionSnapshot): Promise<void>;
|
|
29
|
+
interface CanvasAction {
|
|
30
|
+
id: string;
|
|
31
|
+
shortcut?: KeyboardShortcut | readonly KeyboardShortcut[];
|
|
32
|
+
isEnabled(canvas: CanvasKit): boolean;
|
|
33
|
+
run(canvas: CanvasKit): void | Promise<void>;
|
|
127
34
|
}
|
|
128
35
|
```
|
|
129
36
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
`
|
|
134
|
-
and selection state win.
|
|
135
|
-
|
|
136
|
-
## Plugin authoring
|
|
137
|
-
|
|
138
|
-
Use `defineCanvasPlugin()` and pass plugins or nested plugin groups through Runtime options:
|
|
139
|
-
|
|
140
|
-
```ts
|
|
141
|
-
import {
|
|
142
|
-
createProductServiceToken,
|
|
143
|
-
createStandardCanvasKitPlugins,
|
|
144
|
-
defineCanvasPlugin,
|
|
145
|
-
type CanvasKitRuntimeOptions,
|
|
146
|
-
} from "@land/canvas-kit";
|
|
147
|
-
|
|
148
|
-
const analyticsToken = createProductServiceToken<{ track(name: string): void }>(
|
|
149
|
-
"example.analytics",
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
const analyticsPlugin = defineCanvasPlugin({
|
|
153
|
-
id: "example.analytics",
|
|
154
|
-
provides: [analyticsToken],
|
|
155
|
-
setup(context) {
|
|
156
|
-
const analytics = context.services.add({
|
|
157
|
-
token: analyticsToken,
|
|
158
|
-
create: () => ({ track: console.log }),
|
|
159
|
-
});
|
|
160
|
-
context.actions.add({
|
|
161
|
-
id: "example.track",
|
|
162
|
-
run: () => analytics.track("canvas-action"),
|
|
163
|
-
});
|
|
164
|
-
},
|
|
165
|
-
});
|
|
37
|
+
CanvasKit owns shortcut matching and `applyCanvasActionShortcutOverrides()`, but
|
|
38
|
+
does not install default product bindings. Profiles apply overrides while
|
|
39
|
+
composing their final action arrays; `null` disables a default binding. Actions
|
|
40
|
+
remain a `CanvasKitRoot` prop and never enter Runtime options.
|
|
166
41
|
|
|
167
|
-
|
|
168
|
-
id: "example.reporting",
|
|
169
|
-
requires: [analyticsToken],
|
|
170
|
-
setup(context) {
|
|
171
|
-
context.services.get(analyticsToken)?.track("runtime-ready");
|
|
172
|
-
},
|
|
173
|
-
});
|
|
42
|
+
Toolbar and menu components import or close over actual action objects. They do not reference them through an action ID registry.
|
|
174
43
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
44
|
+
```tsx
|
|
45
|
+
const duplicate: CanvasAction = {
|
|
46
|
+
id: "my-product.duplicate",
|
|
47
|
+
shortcut: { key: "d", accelKey: true },
|
|
48
|
+
isEnabled: (canvas) => canvas.selection.state.getSnapshot().count > 0,
|
|
49
|
+
run: (canvas) => canvas.selection.duplicate(),
|
|
180
50
|
};
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
`CanvasPlugin` has optional `editor`, `render`, and `setup` entries. `requires` lives at the plugin top level, so one dependency order applies to editor/render creation and setup installation. Depend on a plugin object when the whole extension must exist; depend on a typed API, service, or value capability token when only that cross-plugin contract matters. Providers declare those tokens in `provides` and register the matching implementation during setup. Raw `{ id }` dependency objects are rejected.
|
|
184
|
-
|
|
185
|
-
Nested arrays are groups only; they do not need IDs and are flattened in declaration order. Optional features are included or omitted explicitly.
|
|
186
|
-
|
|
187
|
-
Runtime creation compiles the graph, creates Editor and the Runtime resource owner, runs each setup once in dependency order, then seals all registries. Sealing validates duplicate IDs and action references, materializes registered APIs, and prevents later registration.
|
|
188
|
-
|
|
189
|
-
Connector and Packaging are composed outside CanvasKit and are intentionally
|
|
190
|
-
absent from the standard plugin profile. Products that need them depend on their
|
|
191
|
-
plugin packages and add them explicitly:
|
|
192
|
-
|
|
193
|
-
```ts
|
|
194
|
-
import {
|
|
195
|
-
createStandardCanvasKitPlugins,
|
|
196
|
-
type CanvasKitRuntimeOptions,
|
|
197
|
-
} from "@land/canvas-kit";
|
|
198
|
-
import { Connector } from "@land/plugin-connector";
|
|
199
|
-
import { Packaging } from "@land/plugin-packaging";
|
|
200
51
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
52
|
+
function SelectionToolbar() {
|
|
53
|
+
const canvas = useCanvasKit();
|
|
54
|
+
const selection = useCanvasValue(canvas.selection.state);
|
|
55
|
+
return (
|
|
56
|
+
<button
|
|
57
|
+
disabled={selection.count === 0}
|
|
58
|
+
onClick={() => duplicate.run(canvas)}
|
|
59
|
+
>
|
|
60
|
+
Duplicate
|
|
61
|
+
</button>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
204
64
|
```
|
|
205
65
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
- `actions`, `toolbar`, `contextMenu`, and `apis`
|
|
209
|
-
- `services`
|
|
210
|
-
- `assets`
|
|
211
|
-
- `ui`
|
|
212
|
-
- `lifecycle.beforeReady()`, `lifecycle.beforeCommand()`, and `lifecycle.defer()`
|
|
213
|
-
|
|
214
|
-
`setup` returns nothing. Every owned resource registers cleanup through `lifecycle.defer()`, which gives Runtime one cleanup protocol and reverse-order resource stack. `beforeReady` runs serially during `start()` after restore/seed and asset preparation. `beforeCommand` is a repeatable interceptor executed by the Runtime-bound command executor.
|
|
215
|
-
|
|
216
|
-
The set-active-tool and tool-lock actions are provided by the replaceable
|
|
217
|
-
Runtime default for `canvasToolActionsCapability`, so shape toolbar plugins do
|
|
218
|
-
not depend on the standard profile installing a Tool action provider.
|
|
219
|
-
Components share one props contract and render between Canvas and chrome; there
|
|
220
|
-
are no component slots.
|
|
221
|
-
|
|
222
|
-
## Public controller
|
|
66
|
+
## Product-owned Chrome
|
|
223
67
|
|
|
224
|
-
|
|
68
|
+
Pass a `chromeRenderer` to `CanvasKitRoot`. The renderer receives the same `CanvasKit` available from `useCanvasKit()`. Product components subscribe only to the capability they render, for example `useCanvasValue(canvas.pages.state)` or `useCanvasValue(canvas.history.state)`.
|
|
225
69
|
|
|
226
|
-
|
|
70
|
+
Zen and Professional build separate React trees and CSS from that facade. Feature controls call `canvas.api(token)` directly. Packaging UI therefore remains in Professional, while Connector is part of the standard plugin graph.
|
|
227
71
|
|
|
228
|
-
|
|
229
|
-
embedding complete before a result is returned:
|
|
72
|
+
## Plugins and React composition
|
|
230
73
|
|
|
231
|
-
|
|
232
|
-
import { canvasExportApiToken } from "@land/canvas-kit";
|
|
233
|
-
|
|
234
|
-
const exportApi = runtime.controller.apis.get(canvasExportApiToken);
|
|
235
|
-
if (!exportApi) throw new Error("Canvas export API is unavailable.");
|
|
236
|
-
|
|
237
|
-
const pagePng = await exportApi.exportPng({
|
|
238
|
-
appearance: {
|
|
239
|
-
resolveThemeColor(token, fallback) {
|
|
240
|
-
return currentTheme.tokens[token] ?? fallback;
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
scope: "page",
|
|
244
|
-
pixelRatio: 2,
|
|
245
|
-
});
|
|
246
|
-
const selectedSvg = await exportApi.exportSvg({ scope: "selection" });
|
|
247
|
-
const customSvg = await exportApi.exportSvg({ shapeIds: [shapeId] });
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
`exportPng()` resolves with an `image/png` Blob and `exportSvg()` resolves with
|
|
251
|
-
a self-contained SVG string when export succeeds. The API deliberately exposes
|
|
252
|
-
no loading state; callers own pending-state presentation around the returned
|
|
253
|
-
Promise. SVG and PNG share one internal lock and reject a concurrent export.
|
|
254
|
-
When `appearance.resolveThemeColor` is omitted, core color fallbacks are used.
|
|
74
|
+
Runtime plugins own editor/render facets, one direct API value, import/export/asset contributions, and cleanup. `CanvasKitRoot` directly owns the generic keyboard and import browser integration. Products wrap the Root with their own React providers and pass actions/Chrome as ordinary props; Runtime plugins do not register product UI.
|
|
255
75
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
The package root imports its base styles. Published consumers may also use the explicit stylesheet export when their bundler requires it:
|
|
259
|
-
|
|
260
|
-
```ts
|
|
261
|
-
import "@land/canvas-kit/style.css";
|
|
262
|
-
```
|
|
76
|
+
The runtime is static after creation: plugins are ordered once, set up once, and disposed in reverse lifetime order. Third-party product UI injection is intentionally unsupported until a concrete use case justifies a small actions facet.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../store/index";
|
|
2
|
+
import { type BindingId, type BindingRecord, type ShapeId, type ShapeRecord } from "../schema/records";
|
|
3
|
+
import type { Editor } from "../editor/editor";
|
|
4
|
+
declare const SYNCHRONOUS_CALLBACK_ERROR = "Binding reaction scope callbacks must be synchronous";
|
|
5
|
+
type SynchronousCallbackGuard<T> = T extends PromiseLike<unknown> ? [error: typeof SYNCHRONOUS_CALLBACK_ERROR] : [];
|
|
6
|
+
export interface ShapeChangeEntry {
|
|
7
|
+
before: ShapeRecord;
|
|
8
|
+
after: ShapeRecord;
|
|
9
|
+
}
|
|
10
|
+
export declare class BindingManager {
|
|
11
|
+
private readonly editor;
|
|
12
|
+
private suppressedReactionIds;
|
|
13
|
+
constructor(editor: Editor);
|
|
14
|
+
getSuppressedReactionIds(): ReadonlySet<BindingId>;
|
|
15
|
+
runWithSuppressedReactions<T>(bindingIds: Iterable<BindingId>, callback: () => T, ..._synchronousCallbackGuard: SynchronousCallbackGuard<T>): T;
|
|
16
|
+
getConflictingBindings(binding: BindingRecord): BindingRecord[];
|
|
17
|
+
canBind(binding: BindingRecord): boolean;
|
|
18
|
+
syncCreatedBinding(binding: BindingRecord, source: ChangeSource): void;
|
|
19
|
+
syncUpdatedBinding(before: BindingRecord, after: BindingRecord, source: ChangeSource): void;
|
|
20
|
+
repairLoadedBindings(source: ChangeSource): void;
|
|
21
|
+
handleShapeChanges(changes: ShapeChangeEntry[], source: ChangeSource): void;
|
|
22
|
+
getShapeCompanionRootId(shapeId: ShapeId): ShapeId;
|
|
23
|
+
getShapeCompanionRootIds(shapeIds: readonly ShapeId[], bindings?: readonly BindingRecord[]): ReadonlyMap<ShapeId, ShapeId>;
|
|
24
|
+
getShapeCompanionMemberIds(shapeIds: readonly ShapeId[]): ShapeId[];
|
|
25
|
+
cleanupBindingsForDeletedShapes(ids: ShapeId[], source: ChangeSource): void;
|
|
26
|
+
cleanupBindings(ids: BindingId[], source: ChangeSource): void;
|
|
27
|
+
private applyEffect;
|
|
28
|
+
private syncShapeCompanionState;
|
|
29
|
+
private getShapeCompanionContext;
|
|
30
|
+
private getAllBindings;
|
|
31
|
+
private getExclusiveBindingKey;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Editor } from "../editor/editor";
|
|
2
|
-
import type { SelectionOverlayFrameGeometryState } from "../editor/selection";
|
|
2
|
+
import type { SelectionOverlayFrameGeometryState } from "../editor/selection/selection";
|
|
3
3
|
import type { Vec } from "../geometry/vec";
|
|
4
4
|
import type { BindingId, BindingRecord, BindingRecordBase, ShapeRecord } from "../schema/records";
|
|
5
5
|
export interface BindingUtilEffect {
|
|
@@ -50,11 +50,11 @@ export declare abstract class BindingUtil<B extends BindingRecordBase = BindingR
|
|
|
50
50
|
onBeforeDeleteBinding?(editor: Editor, binding: B): BindingUtilEffect | void;
|
|
51
51
|
getExportShapeIds?(editor: Editor, binding: B): ShapeRecord["id"][];
|
|
52
52
|
/**
|
|
53
|
-
* Map a
|
|
54
|
-
*
|
|
53
|
+
* Map a companion shape (for example, a bound label) to the owner shape that
|
|
54
|
+
* controls its grouping lifecycle and selection semantics.
|
|
55
55
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
getShapeCompanionRootId?(binding: B, shapeId: ShapeRecord["id"]): ShapeRecord["id"] | null;
|
|
57
|
+
canUseShapeCompanion?(binding: B, context: BindingEndpointContext): boolean;
|
|
58
58
|
getGeometryDependentShapeIds?(editor: Editor, binding: B, context: BindingShapeGeometryDependencyContext): ShapeRecord["id"][];
|
|
59
59
|
/**
|
|
60
60
|
* Return polygons in the target shape's local space that should be removed
|
|
@@ -65,4 +65,5 @@ export declare abstract class BindingUtil<B extends BindingRecordBase = BindingR
|
|
|
65
65
|
getTargetShapeContentCutoutLocalPolygons?(editor: Editor, binding: B, context: BindingTargetShapeContentCutoutContext): readonly (readonly Vec[])[];
|
|
66
66
|
getSelectionCompanionFrameGeometries?(editor: Editor, binding: B, context: BindingSelectionCompanionFrameContext): SelectionOverlayFrameGeometryState[];
|
|
67
67
|
}
|
|
68
|
-
export declare function
|
|
68
|
+
export declare function resolveShapeCompanionRootId(shapeId: ShapeRecord["id"], bindings: readonly BindingRecord[], getBindingUtil: (binding: BindingRecord) => BindingUtil): ShapeRecord["id"];
|
|
69
|
+
export declare function resolveShapeCompanionRootIds(shapeIds: readonly ShapeRecord["id"][], bindings: readonly BindingRecord[], getBindingUtil: (binding: BindingRecord) => BindingUtil): ReadonlyMap<ShapeRecord["id"], ShapeRecord["id"]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vec } from "../geometry/vec";
|
|
2
2
|
import type { Editor } from "../editor/editor";
|
|
3
|
-
import type { BindingPreviewState } from "../editor/selection";
|
|
3
|
+
import type { BindingPreviewState } from "../editor/selection/selection";
|
|
4
4
|
import type { ShapeId } from "../schema/records";
|
|
5
5
|
export interface ConnectionPoint {
|
|
6
6
|
x: number;
|
|
@@ -4,7 +4,7 @@ import type { AssetId, AssetRecord, BindingRecord, ShapeId, ShapeRecord } from "
|
|
|
4
4
|
import type { Editor } from "./editor";
|
|
5
5
|
export interface EditorClipboardPayload {
|
|
6
6
|
type: "land/clipboard";
|
|
7
|
-
version:
|
|
7
|
+
version: 2;
|
|
8
8
|
source: {
|
|
9
9
|
app: "land";
|
|
10
10
|
documentId?: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Editor } from "./editor";
|
|
2
|
+
import type { AssetId, AssetRecord, ShapeRecord } from "../schema/records";
|
|
3
|
+
export declare function getClipboardAssets(editor: Editor, shapes: readonly ShapeRecord[]): AssetRecord[];
|
|
4
|
+
export declare function remapAssetIdsInRecord(record: object, assetIdMap: ReadonlyMap<AssetId, AssetId>): Record<string, unknown>;
|
|
5
|
+
export declare function cloneRecordObject(value: object): Record<string, unknown>;
|
|
6
|
+
export declare function cloneSerializableRecord<T>(value: T): T;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AssetId, AssetRecord } from "../../schema/records";
|
|
2
|
+
import type { CreateAssetInput, EditorCommandOptions, UpdateAssetInput } from "./commandTypes";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
export declare function createAsset(editor: Editor, input: CreateAssetInput, options?: EditorCommandOptions): AssetRecord;
|
|
5
|
+
export declare function createAssetsFromRecords(editor: Editor, records: AssetRecord[], options?: EditorCommandOptions): AssetRecord[];
|
|
6
|
+
export declare function updateAsset(editor: Editor, input: UpdateAssetInput, options?: EditorCommandOptions): AssetRecord | null;
|
|
7
|
+
export declare function deleteAsset(editor: Editor, id: AssetId, options?: EditorCommandOptions): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { BindingId, BindingRecord, ShapeId } from "../../schema/records";
|
|
3
|
+
import type { CreateBindingInput, EditorCommandOptions, UpdateBindingInput } from "./commandTypes";
|
|
4
|
+
import type { Editor } from "../editor";
|
|
5
|
+
type RepairMinimumChildContainers = (containerIds: Iterable<ShapeId>, deletedIds: Set<ShapeId>, source: ChangeSource) => void;
|
|
6
|
+
interface BindingCommandSet {
|
|
7
|
+
createBinding(input: CreateBindingInput, options?: EditorCommandOptions): BindingRecord;
|
|
8
|
+
updateBinding(input: UpdateBindingInput, options?: EditorCommandOptions): BindingRecord | null;
|
|
9
|
+
deleteBinding(id: BindingId, options?: EditorCommandOptions): boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function createBindingCommandSet(editor: Editor, repairMinimumChildContainers: RepairMinimumChildContainers): BindingCommandSet;
|
|
12
|
+
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type { AssetId, AssetRecord, AssetRecordBase, BindingId, BindingRecordBase, BindingRecord, Camera, DocumentMetadataRecord, PageId, PageRecord, ShapeId, ShapeParentId, ShapeRecordBase, ShapeRecord, ShapeEditingEntryMode } from "../schema/records";
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { AssetId, AssetRecord, AssetRecordBase, BindingId, BindingRecord, BindingRecordBase, Camera, DocumentMetadataRecord, PageId, PageRecord, ShapeEditingEntryMode, ShapeId, ShapeParentId, ShapeRecord, ShapeRecordBase } from "../../schema/records";
|
|
4
3
|
export interface EditorCommandOptions {
|
|
5
4
|
source?: ChangeSource;
|
|
6
5
|
}
|
|
6
|
+
export type ShapePropsPatch = Record<string, unknown>;
|
|
7
7
|
export interface CreateShapesOptions extends EditorCommandOptions {
|
|
8
8
|
/** Defer spatial containment until an interactive creation gesture completes. */
|
|
9
9
|
autoReparent?: boolean;
|
|
@@ -24,7 +24,6 @@ export interface CreateShapeInput {
|
|
|
24
24
|
opacity?: number;
|
|
25
25
|
isHidden?: boolean;
|
|
26
26
|
rotation?: number;
|
|
27
|
-
skewX?: number;
|
|
28
27
|
scaleX?: number;
|
|
29
28
|
scaleY?: number;
|
|
30
29
|
isLocked?: boolean;
|
|
@@ -46,7 +45,6 @@ export interface ShapeUpdate {
|
|
|
46
45
|
x?: number;
|
|
47
46
|
y?: number;
|
|
48
47
|
rotation?: number;
|
|
49
|
-
skewX?: number;
|
|
50
48
|
scaleX?: number;
|
|
51
49
|
scaleY?: number;
|
|
52
50
|
opacity?: number;
|
|
@@ -68,7 +66,7 @@ export interface StartEditingShapeInput {
|
|
|
68
66
|
x: number;
|
|
69
67
|
y: number;
|
|
70
68
|
};
|
|
71
|
-
|
|
69
|
+
operationKind?: string;
|
|
72
70
|
reuseActiveOperation?: boolean;
|
|
73
71
|
preserveInteraction?: boolean;
|
|
74
72
|
}
|
|
@@ -149,5 +147,3 @@ export interface EditorCommands {
|
|
|
149
147
|
setActiveTool(toolId: string, options?: EditorCommandOptions): void;
|
|
150
148
|
setToolLocked(locked: boolean, options?: EditorCommandOptions): void;
|
|
151
149
|
}
|
|
152
|
-
export declare function createEditorCommands(editor: Editor): EditorCommands;
|
|
153
|
-
export declare function reparentShapeToContainingParent(editor: Editor, shapeId: ShapeId, options?: EditorCommandOptions): void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Editor } from "../editor";
|
|
2
|
+
import type { EditorCommands } from "./commandTypes";
|
|
3
|
+
export declare function createEditorCommands(editor: Editor): EditorCommands;
|
|
4
|
+
export { reparentShapeToContainingParent } from "./shapeCommands";
|
|
5
|
+
export type * from "./commandTypes";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DocumentMetadataRecord, PageId, PageRecord } from "../../schema/records";
|
|
2
|
+
import type { CreatePageInput, EditorCommandOptions, MovePageInput, RenamePageInput, UpdateDocumentMetaInput, UpdatePageMetaInput } from "./commandTypes";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
export declare function createPage(editor: Editor, input?: CreatePageInput, options?: EditorCommandOptions): PageRecord;
|
|
5
|
+
export declare function deletePage(editor: Editor, id: PageId, options?: EditorCommandOptions): boolean;
|
|
6
|
+
export declare function renamePage(editor: Editor, input: RenamePageInput, options?: EditorCommandOptions): void;
|
|
7
|
+
export declare function updateDocumentMeta(editor: Editor, input: UpdateDocumentMetaInput, options?: EditorCommandOptions): DocumentMetadataRecord;
|
|
8
|
+
export declare function updatePageMeta(editor: Editor, input: UpdatePageMetaInput, options?: EditorCommandOptions): PageRecord | null;
|
|
9
|
+
export declare function movePage(editor: Editor, input: MovePageInput, options?: EditorCommandOptions): void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import { type PageId, type SessionRecord, type ShapeId } from "../../schema/records";
|
|
3
|
+
import type { EditorCommandOptions, SetCameraInput } from "./commandTypes";
|
|
4
|
+
import type { Editor } from "../editor";
|
|
5
|
+
export declare function updateSession(editor: Editor, partial: Partial<SessionRecord>, source?: ChangeSource): void;
|
|
6
|
+
export declare function setCurrentPageId(editor: Editor, id: PageId, options?: EditorCommandOptions): void;
|
|
7
|
+
export declare function setCamera(editor: Editor, input: SetCameraInput, options?: EditorCommandOptions): void;
|
|
8
|
+
export declare function setSelectedShapeIds(editor: Editor, ids: ShapeId[], options?: EditorCommandOptions): void;
|
|
9
|
+
export declare function setActiveTool(editor: Editor, toolId: string, options?: EditorCommandOptions): void;
|
|
10
|
+
export declare function setToolLocked(editor: Editor, locked: boolean, options?: EditorCommandOptions): void;
|
|
11
|
+
export declare function ensurePageState(editor: Editor, pageId: PageId, source?: ChangeSource): void;
|
|
12
|
+
export declare function removePageState(editor: Editor, pageId: PageId, nextCurrentPageId: PageId, source?: ChangeSource): void;
|
|
13
|
+
export declare function syncToolStateFromSession(editor: Editor, source: ChangeSource): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ShapeId, type ShapeRecord } from "../../schema/records";
|
|
2
|
+
import type { CreateShapeInput, CreateShapesOptions, EditorCommandOptions, ReparentShapesInput, ShapeUpdate, UpdateShapesOptions } from "./commandTypes";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
export declare function createShapes(editor: Editor, inputs: CreateShapeInput[], options?: CreateShapesOptions): ShapeRecord[];
|
|
5
|
+
export declare function createShapesFromRecords(editor: Editor, records: ShapeRecord[], options?: EditorCommandOptions): ShapeRecord[];
|
|
6
|
+
export declare function reparentShapeToContainingParent(editor: Editor, shapeId: ShapeId, options?: EditorCommandOptions): void;
|
|
7
|
+
export declare function updateShapes(editor: Editor, updates: ShapeUpdate[], options?: UpdateShapesOptions): void;
|
|
8
|
+
export declare function reparentShapes(editor: Editor, input: ReparentShapesInput, options?: EditorCommandOptions): boolean;
|
|
9
|
+
export declare function deleteShapes(editor: Editor, ids: ShapeId[], options?: EditorCommandOptions): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import type { ShapeId } from "../../schema/records";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
type ShapeBooleanFlag = "isHidden" | "isLocked";
|
|
5
|
+
export declare function setShapeBooleanFlag(editor: Editor, ids: readonly ShapeId[], input: {
|
|
6
|
+
flag: ShapeBooleanFlag;
|
|
7
|
+
value: boolean;
|
|
8
|
+
source: ChangeSource;
|
|
9
|
+
}): ShapeId[];
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import { type AssetId, type ShapeId } from "../../schema/records";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
interface RemoveShapeRecordsOptions {
|
|
5
|
+
source: ChangeSource;
|
|
6
|
+
afterRemove?: (removedIds: readonly ShapeId[]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function getUnreferencedAssetIdsAfterShapeDelete(editor: Editor, shapeIds: readonly ShapeId[]): AssetId[];
|
|
9
|
+
export declare function removeShapeRecords(editor: Editor, ids: readonly ShapeId[], options: RemoveShapeRecordsOptions): ShapeId[];
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChangeSource } from "../../../store/index";
|
|
2
|
+
import { type ShapeId, type ShapeParentId, type ShapeRecord } from "../../schema/records";
|
|
3
|
+
import type { Editor } from "../editor";
|
|
4
|
+
export declare function syncTransformDescendantAncestorBounds(editor: Editor, changes: Array<{
|
|
5
|
+
before: ShapeRecord;
|
|
6
|
+
after: ShapeRecord;
|
|
7
|
+
}>, source: ChangeSource): void;
|
|
8
|
+
export declare function syncTransformDescendantAncestorBoundsByIds(editor: Editor, ancestorIds: Iterable<ShapeId>, source: ChangeSource, excludedIds?: ReadonlySet<ShapeId>): void;
|
|
9
|
+
export declare function getCurrentChildShapes(editor: Editor, parentId: ShapeParentId): ShapeRecord[];
|
|
10
|
+
export declare function collectTransformDescendantAncestorIdsForShapes(editor: Editor, ids: readonly ShapeId[]): Set<ShapeId>;
|
|
11
|
+
export declare function repairMinimumChildContainers(editor: Editor, ancestorIds: Iterable<ShapeId>, deletedIds: Set<ShapeId>, source: ChangeSource): ShapeId[];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type EditorPlugin } from "../plugins/editorRuntimePlugin";
|
|
2
|
+
import { Editor, type EditorOptions } from "./editor";
|
|
3
|
+
export interface CreateEditorOptions extends Omit<EditorOptions, "shapeUtils" | "shapeSvgExporters" | "bindingUtils"> {
|
|
4
|
+
plugins?: readonly EditorPlugin[];
|
|
5
|
+
}
|
|
6
|
+
export declare function createEditor(options?: CreateEditorOptions): Editor;
|