mce
    Preparing search index...

    Interface Events

    interface Events {
        "command:activateTool": [void];
        "command:addAnimationKeyframe": [void];
        "command:addSubNode": [void];
        "command:addTextElement": [Element2D];
        "command:align": [void];
        "command:alignBottom": [void];
        "command:alignHorizontalCenter": [void];
        "command:alignLeft": [void];
        "command:alignRight": [void];
        "command:alignTop": [void];
        "command:alignVerticalCenter": [void];
        "command:applyAnimationPreset": [void];
        "command:applyFormatPaint": [void];
        "command:bindVariable": [void];
        "command:bringForward": [void];
        "command:bringToFront": [void];
        "command:cancel": [void];
        "command:clearDoc": [void];
        "command:clearRulerLines": [void];
        "command:copy": [Promise<void>];
        "command:copyAs": [Promise<void>];
        "command:createComponent": [string | undefined];
        "command:createInstance": [string | undefined];
        "command:createVariable": [string];
        "command:createVariableCollection": [string];
        "command:createVariableMode": [string];
        "command:cut": [Promise<void>];
        "command:delete": [void];
        "command:detachInstance": [void];
        "command:disableFlexLayout": [void];
        "command:distributeHorizontalSpacing": [void];
        "command:distributeSpacing": [void];
        "command:distributeVerticalSpacing": [void];
        "command:duplicate": [void];
        "command:eachTextSelection": [void];
        "command:editElement": [void];
        "command:enableFlexLayout": [void];
        "command:exitFormatPaint": [void];
        "command:exportLottie": [object];
        "command:exportSlice": [Promise<HTMLCanvasElement | undefined>];
        "command:flip": [void];
        "command:flipHorizontal": [void];
        "command:flipVertical": [void];
        "command:formatPaint": [void];
        "command:frameSelection": [void];
        "command:getComponents": [ComponentDef[]];
        "command:getDoc": [JsonData];
        "command:getEasings": [Record<string, string>];
        "command:getElementInteractions": [Interaction[]];
        "command:getElementKeyframes": [Keyframe[]];
        "command:getFlexStyle": [any];
        "command:getState": [State];
        "command:getTextFill": [NormalizedFill | undefined];
        "command:getTextStyle": [any];
        "command:getTransform": [TransformValue];
        "command:getUiConfig": [
            | RulerConfig
            | ScrollbarConfig
            | Record<string, PanelState>
            | MadeWithConfig
            | CreatorConfig
            | ShortcutsConfig
            | StatusbarConfig
            | TimelineConfig
            | ToolbeltConfig,
        ];
        "command:getVariablesState": [VariablesState];
        "command:groupSelection": [void];
        "command:hidePanel": [void];
        "command:hideUi": [void];
        "command:importFile": [Promise<Element2D[]>];
        "command:insertImage": [Promise<Element2D>];
        "command:isFlexLayout": [boolean];
        "command:isPanelVisible": [boolean];
        "command:isUiVisible": [boolean];
        "command:layerScrollIntoView": [boolean];
        "command:loadComponentPresets": [void];
        "command:loadDoc": [Promise<Doc>];
        "command:marqueeSelect": [void];
        "command:move": [void];
        "command:moveBottom": [void];
        "command:moveLeft": [void];
        "command:moveRight": [void];
        "command:moveTop": [void];
        "command:nestIntoFrame": [void];
        "command:newDoc": [void];
        "command:openContextMenu": [boolean];
        "command:openDoc": [Promise<void>];
        "command:paste": [Promise<void>];
        "command:pause": [void];
        "command:pauseElementAnimation": [void];
        "command:play": [void];
        "command:playElementAnimation": [void];
        "command:pointerDown": [void];
        "command:redo": [void];
        "command:registerEasing": [void];
        "command:removeAnimationKeyframe": [void];
        "command:removeComponent": [void];
        "command:resolveVariables": [void];
        "command:rotate": [void];
        "command:rotate90": [void];
        "command:runInteraction": [void];
        "command:save": [void];
        "command:saveAs": [Promise<void>];
        "command:scrollTo": [Promise<void>];
        "command:scrollToSelection": [void];
        "command:seekEnd": [void];
        "command:seekStart": [void];
        "command:select": [void];
        "command:selectAll": [void];
        "command:selectChildren": [void];
        "command:selectInverse": [void];
        "command:selectNextSibling": [void];
        "command:selectNone": [void];
        "command:selectParent": [void];
        "command:selectPreviousSibling": [void];
        "command:sendBackward": [void];
        "command:sendToBack": [void];
        "command:setActiveVariableMode": [void];
        "command:setAnimationKeyframeEasing": [void];
        "command:setAnimationTiming": [void];
        "command:setComponent": [void];
        "command:setDoc": [Doc];
        "command:setElementInteractions": [void];
        "command:setFlexStyle": [void];
        "command:setInstanceOverride": [void];
        "command:setPanelVisible": [void];
        "command:setSmartSelectionCurrentElement": [void];
        "command:setState": [void];
        "command:setTextContentByEachFragment": [void];
        "command:setTextFill": [void];
        "command:setTextStyle": [void];
        "command:setTransform": [void];
        "command:setUiVisible": [void];
        "command:setVariableValue": [void];
        "command:showPanel": [void];
        "command:showUi": [void];
        "command:startTransform": [boolean];
        "command:startTyping": [Promise<boolean>];
        "command:stepBackward": [void];
        "command:stepForward": [void];
        "command:stopElementAnimation": [void];
        "command:syncInstancesOf": [void];
        "command:testPerformance": [void];
        "command:textFontSizeToFit": [void];
        "command:textToFit": [void];
        "command:tidyUp": [void];
        "command:toggleElementAnimation": [void];
        "command:toggleFlexLayout": [void];
        "command:togglePanel": [void];
        "command:togglePlay": [void];
        "command:togglePreview": [void];
        "command:toggleSelectionLock": [void];
        "command:toggleSelectionVisible": [void];
        "command:toggleUi": [void];
        "command:unbindVariable": [void];
        "command:undo": [void];
        "command:ungroupSelection": [void];
        "command:zoomIn": [void];
        "command:zoomOut": [void];
        "command:zoomTo": [Promise<void>];
        "command:zoomTo100": [void];
        "command:zoomToFit": [void];
        "command:zoomToNextFrame": [void];
        "command:zoomToPreviousFrame": [void];
        "command:zoomToSelection": [void];
        "command:zOrder": [void];
        docCleared: [];
        docLoaded: [source: any, root: Error | Doc];
        docLoadStart: [source: any];
        docSet: [doc: Doc, oldDoc: Doc];
        docUpdated: [update: Uint8Array<ArrayBufferLike>, origin: any];
        fontLoaded: [font: FontLoadedResult];
        historyChanged: [arg0: UndoManager];
        "hotkey:alignBottom": [event: KeyboardEvent];
        "hotkey:alignHorizontalCenter": [event: KeyboardEvent];
        "hotkey:alignLeft": [event: KeyboardEvent];
        "hotkey:alignRight": [event: KeyboardEvent];
        "hotkey:alignTop": [event: KeyboardEvent];
        "hotkey:alignVerticalCenter": [event: KeyboardEvent];
        "hotkey:bringForward": [event: KeyboardEvent];
        "hotkey:bringToFront": [event: KeyboardEvent];
        "hotkey:cancel": [event: KeyboardEvent];
        "hotkey:copy": [event: KeyboardEvent];
        "hotkey:cut": [event: KeyboardEvent];
        "hotkey:delete": [event: KeyboardEvent];
        "hotkey:distributeHorizontalSpacing": [event: KeyboardEvent];
        "hotkey:distributeVerticalSpacing": [event: KeyboardEvent];
        "hotkey:duplicate": [event: KeyboardEvent];
        "hotkey:editElement": [event: KeyboardEvent];
        "hotkey:flipHorizontal": [event: KeyboardEvent];
        "hotkey:flipVertical": [event: KeyboardEvent];
        "hotkey:frameSelection": [event: KeyboardEvent];
        "hotkey:groupSelection": [event: KeyboardEvent];
        "hotkey:importFile": [event: KeyboardEvent];
        "hotkey:moveBottom": [event: KeyboardEvent];
        "hotkey:moveLeft": [event: KeyboardEvent];
        "hotkey:moveRight": [event: KeyboardEvent];
        "hotkey:moveTop": [event: KeyboardEvent];
        "hotkey:newDoc": [event: KeyboardEvent];
        "hotkey:openDoc": [event: KeyboardEvent];
        "hotkey:paste": [event: KeyboardEvent];
        "hotkey:redo": [event: KeyboardEvent];
        "hotkey:save": [event: KeyboardEvent];
        "hotkey:seekEnd": [event: KeyboardEvent];
        "hotkey:seekStart": [event: KeyboardEvent];
        "hotkey:selectAll": [event: KeyboardEvent];
        "hotkey:selectChildren": [event: KeyboardEvent];
        "hotkey:selectInverse": [event: KeyboardEvent];
        "hotkey:selectNextSibling": [event: KeyboardEvent];
        "hotkey:selectNone": [event: KeyboardEvent];
        "hotkey:selectParent": [event: KeyboardEvent];
        "hotkey:selectPreviousSibling": [event: KeyboardEvent];
        "hotkey:sendBackward": [event: KeyboardEvent];
        "hotkey:sendToBack": [event: KeyboardEvent];
        "hotkey:stepBackward": [event: KeyboardEvent];
        "hotkey:stepForward": [event: KeyboardEvent];
        "hotkey:tidyUp": [event: KeyboardEvent];
        "hotkey:togglePlay": [event: KeyboardEvent];
        "hotkey:toggleSelectionLock": [event: KeyboardEvent];
        "hotkey:toggleSelectionVisible": [event: KeyboardEvent];
        "hotkey:undo": [event: KeyboardEvent];
        "hotkey:ungroupSelection": [event: KeyboardEvent];
        "hotkey:zoomIn": [event: KeyboardEvent];
        "hotkey:zoomOut": [event: KeyboardEvent];
        "hotkey:zoomTo100": [event: KeyboardEvent];
        "hotkey:zoomToFit": [event: KeyboardEvent];
        "hotkey:zoomToSelection": [event: KeyboardEvent];
        ready: [];
        save: [event: SaveEvent];
        selectionTransformed: [context: TransformContext];
        selectionTransformEnded: [context: TransformContext];
        selectionTransformStarted: [context: TransformContext];
    }

    Hierarchy (View Summary)

    Index

    Properties

    command:activateTool command:addAnimationKeyframe command:addSubNode command:addTextElement command:align command:alignBottom command:alignHorizontalCenter command:alignLeft command:alignRight command:alignTop command:alignVerticalCenter command:applyAnimationPreset command:applyFormatPaint command:bindVariable command:bringForward command:bringToFront command:cancel command:clearDoc command:clearRulerLines command:copy command:copyAs command:createComponent command:createInstance command:createVariable command:createVariableCollection command:createVariableMode command:cut command:delete command:detachInstance command:disableFlexLayout command:distributeHorizontalSpacing command:distributeSpacing command:distributeVerticalSpacing command:duplicate command:eachTextSelection command:editElement command:enableFlexLayout command:exitFormatPaint command:exportLottie command:exportSlice command:flip command:flipHorizontal command:flipVertical command:formatPaint command:frameSelection command:getComponents command:getDoc command:getEasings command:getElementInteractions command:getElementKeyframes command:getFlexStyle command:getState command:getTextFill command:getTextStyle command:getTransform command:getUiConfig command:getVariablesState command:groupSelection command:hidePanel command:hideUi command:importFile command:insertImage command:isFlexLayout command:isPanelVisible command:isUiVisible command:layerScrollIntoView command:loadComponentPresets command:loadDoc command:marqueeSelect command:move command:moveBottom command:moveLeft command:moveRight command:moveTop command:nestIntoFrame command:newDoc command:openContextMenu command:openDoc command:paste command:pause command:pauseElementAnimation command:play command:playElementAnimation command:pointerDown command:redo command:registerEasing command:removeAnimationKeyframe command:removeComponent command:resolveVariables command:rotate command:rotate90 command:runInteraction command:save command:saveAs command:scrollTo command:scrollToSelection command:seekEnd command:seekStart command:select command:selectAll command:selectChildren command:selectInverse command:selectNextSibling command:selectNone command:selectParent command:selectPreviousSibling command:sendBackward command:sendToBack command:setActiveVariableMode command:setAnimationKeyframeEasing command:setAnimationTiming command:setComponent command:setDoc command:setElementInteractions command:setFlexStyle command:setInstanceOverride command:setPanelVisible command:setSmartSelectionCurrentElement command:setState command:setTextContentByEachFragment command:setTextFill command:setTextStyle command:setTransform command:setUiVisible command:setVariableValue command:showPanel command:showUi command:startTransform command:startTyping command:stepBackward command:stepForward command:stopElementAnimation command:syncInstancesOf command:testPerformance command:textFontSizeToFit command:textToFit command:tidyUp command:toggleElementAnimation command:toggleFlexLayout command:togglePanel command:togglePlay command:togglePreview command:toggleSelectionLock command:toggleSelectionVisible command:toggleUi command:unbindVariable command:undo command:ungroupSelection command:zoomIn command:zoomOut command:zoomTo command:zoomTo100 command:zoomToFit command:zoomToNextFrame command:zoomToPreviousFrame command:zoomToSelection command:zOrder docCleared docLoaded docLoadStart docSet docUpdated fontLoaded historyChanged hotkey:alignBottom hotkey:alignHorizontalCenter hotkey:alignLeft hotkey:alignRight hotkey:alignTop hotkey:alignVerticalCenter hotkey:bringForward hotkey:bringToFront hotkey:cancel hotkey:copy hotkey:cut hotkey:delete hotkey:distributeHorizontalSpacing hotkey:distributeVerticalSpacing hotkey:duplicate hotkey:editElement hotkey:flipHorizontal hotkey:flipVertical hotkey:frameSelection hotkey:groupSelection hotkey:importFile hotkey:moveBottom hotkey:moveLeft hotkey:moveRight hotkey:moveTop hotkey:newDoc hotkey:openDoc hotkey:paste hotkey:redo hotkey:save hotkey:seekEnd hotkey:seekStart hotkey:selectAll hotkey:selectChildren hotkey:selectInverse hotkey:selectNextSibling hotkey:selectNone hotkey:selectParent hotkey:selectPreviousSibling hotkey:sendBackward hotkey:sendToBack hotkey:stepBackward hotkey:stepForward hotkey:tidyUp hotkey:togglePlay hotkey:toggleSelectionLock hotkey:toggleSelectionVisible hotkey:undo hotkey:ungroupSelection hotkey:zoomIn hotkey:zoomOut hotkey:zoomTo100 hotkey:zoomToFit hotkey:zoomToSelection ready save selectionTransformed selectionTransformEnded selectionTransformStarted

    Properties

    "command:activateTool": [void]
    "command:addAnimationKeyframe": [void]
    "command:addSubNode": [void]
    "command:addTextElement": [Element2D]
    "command:align": [void]
    "command:alignBottom": [void]
    "command:alignHorizontalCenter": [void]
    "command:alignLeft": [void]
    "command:alignRight": [void]
    "command:alignTop": [void]
    "command:alignVerticalCenter": [void]
    "command:applyAnimationPreset": [void]
    "command:applyFormatPaint": [void]
    "command:bindVariable": [void]
    "command:bringForward": [void]
    "command:bringToFront": [void]
    "command:cancel": [void]
    "command:clearDoc": [void]
    "command:clearRulerLines": [void]
    "command:copy": [Promise<void>]
    "command:copyAs": [Promise<void>]
    "command:createComponent": [string | undefined]
    "command:createInstance": [string | undefined]
    "command:createVariable": [string]
    "command:createVariableCollection": [string]
    "command:createVariableMode": [string]
    "command:cut": [Promise<void>]
    "command:delete": [void]
    "command:detachInstance": [void]
    "command:disableFlexLayout": [void]
    "command:distributeHorizontalSpacing": [void]
    "command:distributeSpacing": [void]
    "command:distributeVerticalSpacing": [void]
    "command:duplicate": [void]
    "command:eachTextSelection": [void]
    "command:editElement": [void]
    "command:enableFlexLayout": [void]
    "command:exitFormatPaint": [void]
    "command:exportLottie": [object]
    "command:exportSlice": [Promise<HTMLCanvasElement | undefined>]
    "command:flip": [void]
    "command:flipHorizontal": [void]
    "command:flipVertical": [void]
    "command:formatPaint": [void]
    "command:frameSelection": [void]
    "command:getComponents": [ComponentDef[]]
    "command:getDoc": [JsonData]
    "command:getEasings": [Record<string, string>]
    "command:getElementInteractions": [Interaction[]]
    "command:getElementKeyframes": [Keyframe[]]
    "command:getFlexStyle": [any]
    "command:getState": [State]
    "command:getTextFill": [NormalizedFill | undefined]
    "command:getTextStyle": [any]
    "command:getTransform": [TransformValue]
    "command:getUiConfig": [
        | RulerConfig
        | ScrollbarConfig
        | Record<string, PanelState>
        | MadeWithConfig
        | CreatorConfig
        | ShortcutsConfig
        | StatusbarConfig
        | TimelineConfig
        | ToolbeltConfig,
    ]
    "command:getVariablesState": [VariablesState]
    "command:groupSelection": [void]
    "command:hidePanel": [void]
    "command:hideUi": [void]
    "command:importFile": [Promise<Element2D[]>]
    "command:insertImage": [Promise<Element2D>]
    "command:isFlexLayout": [boolean]
    "command:isPanelVisible": [boolean]
    "command:isUiVisible": [boolean]
    "command:layerScrollIntoView": [boolean]
    "command:loadComponentPresets": [void]
    "command:loadDoc": [Promise<Doc>]
    "command:marqueeSelect": [void]
    "command:move": [void]
    "command:moveBottom": [void]
    "command:moveLeft": [void]
    "command:moveRight": [void]
    "command:moveTop": [void]
    "command:nestIntoFrame": [void]
    "command:newDoc": [void]
    "command:openContextMenu": [boolean]
    "command:openDoc": [Promise<void>]
    "command:paste": [Promise<void>]
    "command:pause": [void]
    "command:pauseElementAnimation": [void]
    "command:play": [void]
    "command:playElementAnimation": [void]
    "command:pointerDown": [void]
    "command:redo": [void]
    "command:registerEasing": [void]
    "command:removeAnimationKeyframe": [void]
    "command:removeComponent": [void]
    "command:resolveVariables": [void]
    "command:rotate": [void]
    "command:rotate90": [void]
    "command:runInteraction": [void]
    "command:save": [void]
    "command:saveAs": [Promise<void>]
    "command:scrollTo": [Promise<void>]
    "command:scrollToSelection": [void]
    "command:seekEnd": [void]
    "command:seekStart": [void]
    "command:select": [void]
    "command:selectAll": [void]
    "command:selectChildren": [void]
    "command:selectInverse": [void]
    "command:selectNextSibling": [void]
    "command:selectNone": [void]
    "command:selectParent": [void]
    "command:selectPreviousSibling": [void]
    "command:sendBackward": [void]
    "command:sendToBack": [void]
    "command:setActiveVariableMode": [void]
    "command:setAnimationKeyframeEasing": [void]
    "command:setAnimationTiming": [void]
    "command:setComponent": [void]
    "command:setDoc": [Doc]
    "command:setElementInteractions": [void]
    "command:setFlexStyle": [void]
    "command:setInstanceOverride": [void]
    "command:setPanelVisible": [void]
    "command:setSmartSelectionCurrentElement": [void]
    "command:setState": [void]
    "command:setTextContentByEachFragment": [void]
    "command:setTextFill": [void]
    "command:setTextStyle": [void]
    "command:setTransform": [void]
    "command:setUiVisible": [void]
    "command:setVariableValue": [void]
    "command:showPanel": [void]
    "command:showUi": [void]
    "command:startTransform": [boolean]
    "command:startTyping": [Promise<boolean>]
    "command:stepBackward": [void]
    "command:stepForward": [void]
    "command:stopElementAnimation": [void]
    "command:syncInstancesOf": [void]
    "command:testPerformance": [void]
    "command:textFontSizeToFit": [void]
    "command:textToFit": [void]
    "command:tidyUp": [void]
    "command:toggleElementAnimation": [void]
    "command:toggleFlexLayout": [void]
    "command:togglePanel": [void]
    "command:togglePlay": [void]
    "command:togglePreview": [void]
    "command:toggleSelectionLock": [void]
    "command:toggleSelectionVisible": [void]
    "command:toggleUi": [void]
    "command:unbindVariable": [void]
    "command:undo": [void]
    "command:ungroupSelection": [void]
    "command:zoomIn": [void]
    "command:zoomOut": [void]
    "command:zoomTo": [Promise<void>]
    "command:zoomTo100": [void]
    "command:zoomToFit": [void]
    "command:zoomToNextFrame": [void]
    "command:zoomToPreviousFrame": [void]
    "command:zoomToSelection": [void]
    "command:zOrder": [void]
    docCleared: []
    docLoaded: [source: any, root: Error | Doc]
    docLoadStart: [source: any]
    docSet: [doc: Doc, oldDoc: Doc]
    docUpdated: [update: Uint8Array<ArrayBufferLike>, origin: any]
    fontLoaded: [font: FontLoadedResult]
    historyChanged: [arg0: UndoManager]
    "hotkey:alignBottom": [event: KeyboardEvent]
    "hotkey:alignHorizontalCenter": [event: KeyboardEvent]
    "hotkey:alignLeft": [event: KeyboardEvent]
    "hotkey:alignRight": [event: KeyboardEvent]
    "hotkey:alignTop": [event: KeyboardEvent]
    "hotkey:alignVerticalCenter": [event: KeyboardEvent]
    "hotkey:bringForward": [event: KeyboardEvent]
    "hotkey:bringToFront": [event: KeyboardEvent]
    "hotkey:cancel": [event: KeyboardEvent]
    "hotkey:copy": [event: KeyboardEvent]
    "hotkey:cut": [event: KeyboardEvent]
    "hotkey:delete": [event: KeyboardEvent]
    "hotkey:distributeHorizontalSpacing": [event: KeyboardEvent]
    "hotkey:distributeVerticalSpacing": [event: KeyboardEvent]
    "hotkey:duplicate": [event: KeyboardEvent]
    "hotkey:editElement": [event: KeyboardEvent]
    "hotkey:flipHorizontal": [event: KeyboardEvent]
    "hotkey:flipVertical": [event: KeyboardEvent]
    "hotkey:frameSelection": [event: KeyboardEvent]
    "hotkey:groupSelection": [event: KeyboardEvent]
    "hotkey:importFile": [event: KeyboardEvent]
    "hotkey:moveBottom": [event: KeyboardEvent]
    "hotkey:moveLeft": [event: KeyboardEvent]
    "hotkey:moveRight": [event: KeyboardEvent]
    "hotkey:moveTop": [event: KeyboardEvent]
    "hotkey:newDoc": [event: KeyboardEvent]
    "hotkey:openDoc": [event: KeyboardEvent]
    "hotkey:paste": [event: KeyboardEvent]
    "hotkey:redo": [event: KeyboardEvent]
    "hotkey:save": [event: KeyboardEvent]
    "hotkey:seekEnd": [event: KeyboardEvent]
    "hotkey:seekStart": [event: KeyboardEvent]
    "hotkey:selectAll": [event: KeyboardEvent]
    "hotkey:selectChildren": [event: KeyboardEvent]
    "hotkey:selectInverse": [event: KeyboardEvent]
    "hotkey:selectNextSibling": [event: KeyboardEvent]
    "hotkey:selectNone": [event: KeyboardEvent]
    "hotkey:selectParent": [event: KeyboardEvent]
    "hotkey:selectPreviousSibling": [event: KeyboardEvent]
    "hotkey:sendBackward": [event: KeyboardEvent]
    "hotkey:sendToBack": [event: KeyboardEvent]
    "hotkey:stepBackward": [event: KeyboardEvent]
    "hotkey:stepForward": [event: KeyboardEvent]
    "hotkey:tidyUp": [event: KeyboardEvent]
    "hotkey:togglePlay": [event: KeyboardEvent]
    "hotkey:toggleSelectionLock": [event: KeyboardEvent]
    "hotkey:toggleSelectionVisible": [event: KeyboardEvent]
    "hotkey:undo": [event: KeyboardEvent]
    "hotkey:ungroupSelection": [event: KeyboardEvent]
    "hotkey:zoomIn": [event: KeyboardEvent]
    "hotkey:zoomOut": [event: KeyboardEvent]
    "hotkey:zoomTo100": [event: KeyboardEvent]
    "hotkey:zoomToFit": [event: KeyboardEvent]
    "hotkey:zoomToSelection": [event: KeyboardEvent]
    ready: []
    save: [event: SaveEvent]

    保存请求;外部通过 editor.on('save', ({ reason, getData }) => ...) 处理持久化

    selectionTransformed: [context: TransformContext]
    selectionTransformEnded: [context: TransformContext]
    selectionTransformStarted: [context: TransformContext]