@yuzhouu/canvas-kit 0.1.13 → 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 -264
- package/_vendor/canvas-core/bindings/bindingManager.d.ts +33 -0
- package/_vendor/canvas-core/bindings/bindingUtil.d.ts +7 -7
- package/_vendor/canvas-core/bindings/terminalBinding.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 -6
- 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 +12 -15
- 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} +2 -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} +2 -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/index.d.ts +30 -25
- 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 -1
- package/_vendor/canvas-core/shapes/shapeUtil.d.ts +6 -5
- 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 -47
- package/index.mjs +46 -88
- package/package.json +3 -15
- package/react/CanvasKitContext.d.ts +8 -0
- package/react/CanvasKitRoot.d.ts +2 -11
- 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 +1 -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 -27
- 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 -21
- 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/canvasKitTools.d.ts +0 -3
- package/chrome/contextMenuRuntime.d.ts +0 -7
- 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 -71
- package/chrome/useCanvasKitChromeContext.d.ts +0 -18
- package/chrome/useCanvasKitLayerTree.d.ts +0 -6
- 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 -13
- package/commands/command.d.ts +0 -11
- package/commands/commandTokens.d.ts +0 -61
- package/commands/documentCommands.d.ts +0 -2
- package/commands/historyCommands.d.ts +0 -3
- package/commands/index.d.ts +0 -11
- package/commands/layerCommands.d.ts +0 -20
- package/commands/pageCommands.d.ts +0 -12
- package/commands/selectionCommands.d.ts +0 -12
- package/commands/shapeCommands.d.ts +0 -8
- package/commands/toolCommands.d.ts +0 -2
- package/commands/viewCommands.d.ts +0 -10
- package/contracts/canvasProductControllerContracts.d.ts +0 -32
- package/controller/canvasProductController.d.ts +0 -174
- package/controller/index.d.ts +0 -3
- package/controller/layerTree.d.ts +0 -10
- package/plugins/host/image/api/imageHostApi.d.ts +0 -11
- package/plugins/host/image/api/imageHostApiContract.d.ts +0 -60
- package/plugins/host/image/asset/imageAssetService.d.ts +0 -11
- package/plugins/host/image/asset/imageBlobStore.d.ts +0 -31
- package/plugins/host/image/asset/imageFileHelpers.d.ts +0 -43
- package/plugins/host/image/asset/svgImageAssetInliner.d.ts +0 -3
- package/plugins/host/image/import/ImageImportController.d.ts +0 -11
- package/plugins/host/image/index.d.ts +0 -15
- package/plugins/host/image/plugin.d.ts +0 -1
- package/plugins/host/image/smudge/imageSmudgeHostActions.d.ts +0 -10
- package/plugins/host/image/toolbar/imageHostActions.d.ts +0 -63
- package/plugins/host/image/toolbar/imageToolbarHostBridge.d.ts +0 -14
- package/plugins/host/text/link/TextLinkHoverPopover.d.ts +0 -6
- package/plugins/host/text/textHostPlugin.d.ts +0 -5
- package/plugins/host/text/textSvgAssetInliner.d.ts +0 -3
- package/plugins/host/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 -6
- 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/useCanvasKitRuntime.d.ts +0 -2
- package/react/useCanvasProductControllerLifecycle.d.ts +0 -9
- package/runtime/canvasKitActionContext.d.ts +0 -17
- package/runtime/canvasKitActionExecutor.d.ts +0 -12
- package/runtime/canvasKitCommandExecutor.d.ts +0 -22
- package/runtime/canvasKitPluginContracts.d.ts +0 -28
- package/runtime/canvasKitPluginLifecycle.d.ts +0 -32
- package/runtime/canvasKitPluginSetup.d.ts +0 -35
- package/runtime/canvasKitPluginUi.d.ts +0 -37
- package/runtime/canvasKitResourceScope.d.ts +0 -5
- package/runtime/canvasKitRuntime.d.ts +0 -59
- package/runtime/canvasKitRuntimeContracts.d.ts +0 -35
- package/runtime/createCanvasKitCommandAction.d.ts +0 -10
- package/runtime/persistenceContracts.d.ts +0 -12
- package/runtime/productAssetResolvers.d.ts +0 -29
- package/runtime/productServiceRegistry.d.ts +0 -8
- 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,288 +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:
|
|
100
|
-
|
|
101
|
-
```ts
|
|
102
|
-
interface CanvasKitStartupResult {
|
|
103
|
-
documentSource: "restored" | "seeded" | "empty";
|
|
104
|
-
sessionRestored: boolean;
|
|
105
|
-
warnings: readonly unknown[];
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Startup loads snapshots, resets to a clean document/session, restores the document or seeds after a clean fallback, restores session state, clears history, prepares assets, runs `beforeReady`, and starts Runtime-owned persistence coordination. Recoverable load/restore/asset/hook errors are returned in `warnings`. Synchronous assembly and seed failures are fatal.
|
|
110
|
-
|
|
111
|
-
Disposal aborts startup and unwinds one Runtime-owned disposer stack in reverse creation order. Persistence, plugin setup resources, Editor, and services all enter that stack. A disposed Runtime cannot restart.
|
|
112
|
-
|
|
113
|
-
## Persistence adapter
|
|
114
|
-
|
|
115
|
-
Persistence is IO-only; Runtime owns restore and seed ordering.
|
|
116
|
-
|
|
117
|
-
```ts
|
|
118
|
-
interface ProductPersistenceAdapter {
|
|
119
|
-
load?(options: {
|
|
120
|
-
signal: AbortSignal;
|
|
121
|
-
}): Promise<{
|
|
122
|
-
documentSnapshot: unknown | null;
|
|
123
|
-
sessionSnapshot: unknown | null;
|
|
124
|
-
}>;
|
|
125
|
-
saveDocument?(snapshot: DocumentSnapshot): Promise<void>;
|
|
126
|
-
saveSession?(snapshot: SessionSnapshot): Promise<void>;
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Runtime captures document state from operation commits, captures session state
|
|
131
|
-
independently, applies trailing debounce, retries transient write failures, and
|
|
132
|
-
passes immutable snapshots to the adapter. When no document snapshot exists,
|
|
133
|
-
`seedDocument` runs once. Session restore happens after seed so persisted camera
|
|
134
|
-
and selection state win.
|
|
135
|
-
|
|
136
|
-
## Plugin authoring
|
|
137
|
-
|
|
138
|
-
Use `defineCanvasPlugin()` and pass plugins or nested plugin groups through Runtime options:
|
|
7
|
+
## Standard composition
|
|
139
8
|
|
|
140
9
|
```ts
|
|
141
10
|
import {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
+
/>,
|
|
150
21
|
);
|
|
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
|
-
});
|
|
166
|
-
|
|
167
|
-
const reportingPlugin = defineCanvasPlugin({
|
|
168
|
-
id: "example.reporting",
|
|
169
|
-
requires: [analyticsToken],
|
|
170
|
-
setup(context) {
|
|
171
|
-
context.services.get(analyticsToken)?.track("runtime-ready");
|
|
172
|
-
},
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
const options: CanvasKitRuntimeOptions = {
|
|
176
|
-
plugins: [
|
|
177
|
-
createStandardCanvasKitPlugins(),
|
|
178
|
-
[analyticsPlugin, reportingPlugin],
|
|
179
|
-
],
|
|
180
|
-
};
|
|
181
22
|
```
|
|
182
23
|
|
|
183
|
-
`
|
|
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.
|
|
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.
|
|
186
25
|
|
|
187
|
-
|
|
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:
|
|
26
|
+
## Minimal actions
|
|
192
27
|
|
|
193
28
|
```ts
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const options: CanvasKitRuntimeOptions = {
|
|
202
|
-
plugins: [Connector, createStandardCanvasKitPlugins(), Packaging],
|
|
203
|
-
};
|
|
29
|
+
interface CanvasAction {
|
|
30
|
+
id: string;
|
|
31
|
+
shortcut?: KeyboardShortcut | readonly KeyboardShortcut[];
|
|
32
|
+
isEnabled(canvas: CanvasKit): boolean;
|
|
33
|
+
run(canvas: CanvasKit): void | Promise<void>;
|
|
34
|
+
}
|
|
204
35
|
```
|
|
205
36
|
|
|
206
|
-
|
|
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.
|
|
207
41
|
|
|
208
|
-
|
|
209
|
-
- `services`
|
|
210
|
-
- `assets`
|
|
211
|
-
- `ui`
|
|
212
|
-
- `lifecycle.beforeReady()`, `lifecycle.beforeCommand()`, and `lifecycle.defer()`
|
|
42
|
+
Toolbar and menu components import or close over actual action objects. They do not reference them through an action ID registry.
|
|
213
43
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
## Public controller
|
|
223
|
-
|
|
224
|
-
External code should work through `runtime.controller` or the controller supplied to `onControllerReady`. The controller exposes document, selection, page, tool, camera, layer, history, export, standard shape creation, and registered API operations without exposing the raw store.
|
|
225
|
-
|
|
226
|
-
Controller reads are available immediately for assembly and inspection, but
|
|
227
|
-
Controller writes require `await runtime.start()`. Plugins can match
|
|
228
|
-
`beforeCommand` events against stable command identities without importing
|
|
229
|
-
internals:
|
|
230
|
-
|
|
231
|
-
```ts
|
|
232
|
-
import {
|
|
233
|
-
CANVAS_KIT_COMMAND_TOKENS,
|
|
234
|
-
canvasKitLifecycleExtension,
|
|
235
|
-
defineCanvasPlugin,
|
|
236
|
-
} from "@land/canvas-kit";
|
|
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(),
|
|
50
|
+
};
|
|
237
51
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
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
|
+
}
|
|
250
64
|
```
|
|
251
65
|
|
|
252
|
-
|
|
66
|
+
## Product-owned Chrome
|
|
253
67
|
|
|
254
|
-
|
|
255
|
-
embedding complete before a result is returned:
|
|
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)`.
|
|
256
69
|
|
|
257
|
-
|
|
258
|
-
import { canvasExportApiToken } from "@land/canvas-kit";
|
|
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.
|
|
259
71
|
|
|
260
|
-
|
|
261
|
-
if (!exportApi) throw new Error("Canvas export API is unavailable.");
|
|
262
|
-
|
|
263
|
-
const pagePng = await exportApi.exportPng({
|
|
264
|
-
appearance: {
|
|
265
|
-
resolveThemeColor(token, fallback) {
|
|
266
|
-
return currentTheme.tokens[token] ?? fallback;
|
|
267
|
-
},
|
|
268
|
-
},
|
|
269
|
-
scope: "page",
|
|
270
|
-
pixelRatio: 2,
|
|
271
|
-
});
|
|
272
|
-
const selectedSvg = await exportApi.exportSvg({ scope: "selection" });
|
|
273
|
-
const customSvg = await exportApi.exportSvg({ shapeIds: [shapeId] });
|
|
274
|
-
```
|
|
72
|
+
## Plugins and React composition
|
|
275
73
|
|
|
276
|
-
|
|
277
|
-
a self-contained SVG string when export succeeds. The API deliberately exposes
|
|
278
|
-
no loading state; callers own pending-state presentation around the returned
|
|
279
|
-
Promise. SVG and PNG share one internal lock and reject a concurrent export.
|
|
280
|
-
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.
|
|
281
75
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
The package root imports its base styles. Published consumers may also use the explicit stylesheet export when their bundler requires it:
|
|
285
|
-
|
|
286
|
-
```ts
|
|
287
|
-
import "@land/canvas-kit/style.css";
|
|
288
|
-
```
|
|
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,5 +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
|
|
69
|
-
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;
|
|
@@ -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;
|
|
@@ -66,7 +66,7 @@ export interface StartEditingShapeInput {
|
|
|
66
66
|
x: number;
|
|
67
67
|
y: number;
|
|
68
68
|
};
|
|
69
|
-
|
|
69
|
+
operationKind?: string;
|
|
70
70
|
reuseActiveOperation?: boolean;
|
|
71
71
|
preserveInteraction?: boolean;
|
|
72
72
|
}
|
|
@@ -147,5 +147,3 @@ export interface EditorCommands {
|
|
|
147
147
|
setActiveTool(toolId: string, options?: EditorCommandOptions): void;
|
|
148
148
|
setToolLocked(locked: boolean, options?: EditorCommandOptions): void;
|
|
149
149
|
}
|
|
150
|
-
export declare function createEditorCommands(editor: Editor): EditorCommands;
|
|
151
|
-
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;
|