• Mohamed Aziz Mejri's avatar
    Annotator (#1861) · a4ab1a7f
    Mohamed Aziz Mejri 提交于
    <!-- This is an auto-generated description by cubic. -->
    ## Summary by cubic
    Adds an in-app screenshot annotator to the Preview panel for Pro users
    so you can capture the current app view, draw or add text, and submit an
    annotated image to chat.
    
    - **New Features**
    - Pen button in PreviewIframe to toggle annotator; captures a screenshot
    via worker messaging and displays it in a Konva canvas.
    - Tools: select, freehand draw, and draggable text; supports undo/redo,
    delete, and resizing with Transformer. Canvas scales to the container.
    Includes a color picker.
    - Submit exports a PNG and attaches it to the chat via useAttachments;
    prefills the chat input; annotator auto-closes after submit.
      - Pro-only: non-Pro users see an upsell screen.
    - State atoms added: annotatorModeAtom, screenshotDataUrlAtom,
    attachmentsAtom; PreviewIframe now handles dyad-screenshot-response
    messages.
    
    - **Dependencies**
      - Added konva, react-konva, perfect-freehand, and html-to-image.
    - Proxy now injects html-to-image and the new dyad-screenshot-client.js
    for screenshot capture.
    
    <sup>Written for commit 580aca271c5993a0dc7426e36e34393e073bd67b.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    a4ab1a7f
名称
最后提交
最后更新
..
ActionHeader.tsx 正在载入提交数据...
AnnotatorOnlyForPro.tsx 正在载入提交数据...
AnnotatorToolbar.tsx 正在载入提交数据...
CodeView.tsx 正在载入提交数据...
ConfigurePanel.tsx 正在载入提交数据...
Console.tsx 正在载入提交数据...
DraggableTextInput.tsx 正在载入提交数据...
FileEditor.tsx 正在载入提交数据...
FileTree.tsx 正在载入提交数据...
NeonConfigure.tsx 正在载入提交数据...
PreviewIframe.tsx 正在载入提交数据...
PreviewPanel.tsx 正在载入提交数据...
Problems.tsx 正在载入提交数据...
PublishPanel.tsx 正在载入提交数据...
SecurityPanel.tsx 正在载入提交数据...
StylePopover.tsx 正在载入提交数据...
ToolbarColorPicker.tsx 正在载入提交数据...
VisualEditingChangesDialog.tsx 正在载入提交数据...
VisualEditingToolbar.tsx 正在载入提交数据...