@agent-native/core 0.79.27 → 0.80.0
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +26 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +41 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +51 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +50 -0
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +49 -0
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +44 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +46 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +44 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +48 -0
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +36 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +38 -0
- package/corpus/core/docs/content/template-design.mdx +45 -0
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/agent/engine/index.ts +1 -0
- package/corpus/core/src/agent/engine/registry.ts +40 -0
- package/corpus/core/src/agent/production-agent.ts +6 -2
- package/corpus/core/src/cli/design-connect.ts +490 -0
- package/corpus/core/src/cli/index.ts +16 -0
- package/corpus/core/src/cli/skills.ts +126 -3
- package/corpus/core/src/client/AssistantChat.tsx +43 -7
- package/corpus/core/src/client/agent-chat.ts +27 -3
- package/corpus/core/src/client/blocks/library/MermaidBlock.tsx +1 -1
- package/corpus/core/src/client/blocks/library/diagram.tsx +2 -2
- package/corpus/core/src/client/blocks/library/wireframe.tsx +1 -1
- package/corpus/core/src/client/chat/message-components.tsx +1 -1
- package/corpus/core/src/client/chat-model-groups.ts +1 -2
- package/corpus/core/src/client/components/LiveCursorOverlay.tsx +33 -66
- package/corpus/core/src/client/composer/TiptapComposer.tsx +99 -24
- package/corpus/core/src/client/composer/useVoiceDictation.ts +429 -260
- package/corpus/core/src/client/frame-protocol.ts +17 -2
- package/corpus/core/src/client/rich-markdown-editor/RegistryBlockNode.tsx +2 -2
- package/corpus/core/src/client/sharing/ShareButton.tsx +20 -15
- package/corpus/core/src/client/use-agent-engine-configured.ts +80 -28
- package/corpus/core/src/server/transcribe-voice.ts +57 -22
- package/corpus/core/src/shared/mcp-embed-headers.ts +23 -1
- package/corpus/core/src/styles/agent-native.css +56 -7
- package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
- package/corpus/core/src/vite/client.ts +2 -0
- package/corpus/core/src/voice/index.ts +18 -0
- package/corpus/core/src/voice/voice-cleanup-prompt.ts +38 -0
- package/corpus/core/src/voice/voice-context.ts +217 -0
- package/corpus/core/src/voice/voice-replacements.ts +75 -0
- package/corpus/templates/analytics/AGENTS.md +4 -3
- package/corpus/templates/analytics/actions/list-session-recordings.ts +6 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +557 -400
- package/corpus/templates/analytics/app/global.css +0 -4
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/analytics/app/i18n-data.ts +20 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +33 -8
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +7 -0
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +7 -0
- package/corpus/templates/analytics/changelog/2026-06-28-ask-tab-now-matches-the-darker-app-background.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-28-dashboard-email-reports-now-use-cleaner-light-mode-snapshots.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-28-sessions-now-show-only-signed-in-recordings-with-playable-re.md +6 -0
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +3 -3
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +29 -7
- package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +5 -2
- package/corpus/templates/analytics/server/lib/session-replay.ts +24 -4
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +4 -4
- package/corpus/templates/assets/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/brain/app/components/layout/Layout.tsx +29 -2
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +131 -42
- package/corpus/templates/brain/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/brain/app/i18n-data.ts +20 -0
- package/corpus/templates/brain/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +29 -1
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +417 -299
- package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/calendar/app/i18n-data.ts +20 -0
- package/corpus/templates/calendar/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +6 -19
- package/corpus/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/clips/AGENTS.md +4 -0
- package/corpus/templates/clips/actions/cleanup-transcript.ts +39 -9
- package/corpus/templates/clips/actions/finalize-meeting.ts +81 -12
- package/corpus/templates/clips/actions/lib/agents-md-context.ts +4 -1
- package/corpus/templates/clips/app/components/library/library-layout.tsx +3 -3
- package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +1 -1
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +2 -2
- package/corpus/templates/clips/changelog/2026-06-28-left-sidebar-footer-controls-use-less-divider-chrome.md +6 -0
- package/corpus/templates/clips/desktop/src/lib/personal-vocabulary.ts +13 -8
- package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +60 -1
- package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +1 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +1 -1
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +5 -5
- package/corpus/templates/content/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +137 -0
- package/corpus/templates/design/AGENTS.md +95 -5
- package/corpus/templates/design/DESIGN.md +82 -0
- package/corpus/templates/design/DEVELOPING.md +43 -0
- package/corpus/templates/design/actions/add-localhost-screens.ts +426 -0
- package/corpus/templates/design/actions/apply-shader.ts +277 -0
- package/corpus/templates/design/actions/apply-visual-edit.ts +303 -0
- package/corpus/templates/design/actions/connect-localhost.ts +183 -0
- package/corpus/templates/design/actions/edit-design.ts +195 -42
- package/corpus/templates/design/actions/generate-design.ts +71 -1
- package/corpus/templates/design/actions/generate-screens.ts +193 -0
- package/corpus/templates/design/actions/get-code-layer-projection.ts +191 -0
- package/corpus/templates/design/actions/get-shader.ts +119 -0
- package/corpus/templates/design/actions/list-localhost-connections.ts +95 -0
- package/corpus/templates/design/actions/navigate.ts +55 -2
- package/corpus/templates/design/actions/view-screen.ts +68 -1
- package/corpus/templates/design/agent-native.app-skill.json +10 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +761 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +2057 -103
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +74 -38
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +399 -0
- package/corpus/templates/design/app/components/design/EditPanel.tsx +3185 -439
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +1124 -0
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +3116 -147
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +700 -13
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +107 -63
- package/corpus/templates/design/app/components/design/index.ts +0 -5
- package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +286 -0
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +699 -0
- package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +461 -0
- package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +166 -0
- package/corpus/templates/design/app/components/design/inspector/FigmaColorPicker.tsx +1420 -0
- package/corpus/templates/design/app/components/design/inspector/SHADER_INTEGRATION.md +420 -0
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +215 -0
- package/corpus/templates/design/app/components/design/inspector/ShaderControls.stories.tsx +71 -0
- package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +518 -0
- package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +106 -0
- package/corpus/templates/design/app/components/design/inspector/figma-icons.tsx +361 -0
- package/corpus/templates/design/app/components/design/inspector/index.ts +60 -0
- package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +201 -0
- package/corpus/templates/design/app/components/design/types.ts +23 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +24 -13
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +4 -4
- package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +474 -36
- package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +22 -5
- package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +24 -11
- package/corpus/templates/design/app/global.css +121 -3
- package/corpus/templates/design/app/hooks/use-agent-generating.ts +4 -0
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +130 -8
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +329 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +264 -0
- package/corpus/templates/design/app/i18n-data.ts +2790 -1
- package/corpus/templates/design/app/pages/DesignEditor.tsx +5108 -851
- package/corpus/templates/design/changelog/2026-06-28-annotate-mode-now-combines-drawing-and-comment-pins-in-one-c.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-design-editor-panel-borders-are-cleaner-so-the-canvas-edge-s.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-drawing-prompts-now-reliably-open-and-submit-to-the-design-a.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-editor-app-menus-now-use-an-outline-agent-native-mark-with-b.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-figma-style-code-design-mode.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-layer-selection-now-updates-chat-context-without-opening-the.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-layer-selections-now-preserve-hidden-and-locked-canvas-state.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-live-cursors-now-keep-names-beside-a-cleaner-pointer-marker.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-mode-switching-now-lives-in-a-compact-bottom-right-icon-dock.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-screen-overview-now-handles-zooming-drawing-opening-and-dele.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-screen-overview-now-selects-screens-on-click-and-opens-them-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-screen-overview-zooms-into-the-active-screen-with-smoother-e.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-selected-element-chips-in-chat-are-shorter-and-easier-to-sca.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-the-design-editor-toolbar-is-more-compact-and-the-app-menu-m.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-tweaks-now-live-at-the-top-of-the-design-sidebar-instead-of-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-28-tweaks-now-live-in-the-right-inspector-beside-the-design-tab.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-active-sidebar-rows-use-soft-highlights.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-agents-can-now-open-screen-overview-focus-screens-and-add.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-agents-now-edit-broad-copy-changes-more-reliably.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-editor-extensions-now-run-inline-beside-the-artboard.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-sidebars-use-darker-chrome-and-chat-warns-immediately.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-visual-edit-can-open-localhost-routes-as-url-backed-screens.md +6 -0
- package/corpus/templates/design/package.json +1 -0
- package/corpus/templates/design/server/db/schema.ts +26 -0
- package/corpus/templates/design/server/lib/design-snapshot.ts +1 -1
- package/corpus/templates/design/server/plugins/agent-chat.ts +3 -0
- package/corpus/templates/design/shared/api.ts +27 -0
- package/corpus/templates/design/shared/canvas-frames.ts +103 -0
- package/corpus/templates/design/shared/canvas-math.ts +1058 -0
- package/corpus/templates/design/shared/code-layer.ts +2212 -0
- package/corpus/templates/design/shared/color-utils.ts +180 -0
- package/corpus/templates/design/shared/generation-session.ts +61 -0
- package/corpus/templates/design/shared/shader-presets.ts +782 -0
- package/corpus/templates/design/shared/shader-safety.ts +137 -0
- package/corpus/templates/design/shared/source-mode.ts +237 -0
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +149 -6
- package/corpus/templates/forms/app/i18n/ar-SA.ts +2 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +2 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +2 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +2 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +2 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +2 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +2 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +2 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/forms/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/macros/changelog/2026-06-28-left-sidebar-footer-controls-use-less-divider-chrome.md +6 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +408 -247
- package/corpus/templates/mail/app/i18n/ar-SA.ts +4 -0
- package/corpus/templates/mail/app/i18n/de-DE.ts +4 -0
- package/corpus/templates/mail/app/i18n/en-US.ts +4 -0
- package/corpus/templates/mail/app/i18n/es-ES.ts +4 -0
- package/corpus/templates/mail/app/i18n/fr-FR.ts +4 -0
- package/corpus/templates/mail/app/i18n/hi-IN.ts +4 -0
- package/corpus/templates/mail/app/i18n/ja-JP.ts +4 -0
- package/corpus/templates/mail/app/i18n/ko-KR.ts +4 -0
- package/corpus/templates/mail/app/i18n/pt-BR.ts +4 -0
- package/corpus/templates/mail/app/i18n/zh-CN.ts +4 -0
- package/corpus/templates/mail/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/mail/changelog/2026-06-28-pinned-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +6 -8
- package/corpus/templates/plan/app/components/plan/wireframe/Wireframe.tsx +1 -1
- package/corpus/templates/plan/app/global.css +61 -78
- package/corpus/templates/plan/app/pages/PlansPage.tsx +8 -0
- package/corpus/templates/plan/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/plan/changelog/2026-06-28-plans-use-the-shared-neutral-light-and-dark-theme.md +6 -0
- package/corpus/templates/plan/changelog/2026-06-28-sending-open-feedback-from-a-plan-now-opens-the-inline-plan-.md +6 -0
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +5 -5
- package/corpus/templates/slides/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/corpus/templates/videos/app/components/Sidebar.tsx +2 -2
- package/corpus/templates/videos/app/components/layout/Layout.tsx +29 -2
- package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +113 -30
- package/corpus/templates/videos/app/i18n/ar-SA.ts +2 -0
- package/corpus/templates/videos/app/i18n/de-DE.ts +2 -0
- package/corpus/templates/videos/app/i18n/en-US.ts +2 -0
- package/corpus/templates/videos/app/i18n/es-ES.ts +2 -0
- package/corpus/templates/videos/app/i18n/fr-FR.ts +2 -0
- package/corpus/templates/videos/app/i18n/hi-IN.ts +2 -0
- package/corpus/templates/videos/app/i18n/ja-JP.ts +2 -0
- package/corpus/templates/videos/app/i18n/ko-KR.ts +2 -0
- package/corpus/templates/videos/app/i18n/pt-BR.ts +2 -0
- package/corpus/templates/videos/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/videos/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/videos/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
- package/dist/agent/engine/index.d.ts +1 -1
- package/dist/agent/engine/index.d.ts.map +1 -1
- package/dist/agent/engine/index.js +1 -1
- package/dist/agent/engine/index.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +9 -0
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +37 -0
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +4 -3
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/design-connect.d.ts +52 -0
- package/dist/cli/design-connect.d.ts.map +1 -0
- package/dist/cli/design-connect.js +409 -0
- package/dist/cli/design-connect.js.map +1 -0
- package/dist/cli/index.js +15 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/skills.d.ts +3 -0
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +121 -3
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +38 -8
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat.d.ts +6 -0
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +17 -3
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/blocks/library/MermaidBlock.js +1 -1
- package/dist/client/blocks/library/MermaidBlock.js.map +1 -1
- package/dist/client/blocks/library/diagram.js +1 -1
- package/dist/client/blocks/library/diagram.js.map +1 -1
- package/dist/client/blocks/library/wireframe.js +1 -1
- package/dist/client/blocks/library/wireframe.js.map +1 -1
- package/dist/client/chat/message-components.js +1 -1
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat-model-groups.d.ts.map +1 -1
- package/dist/client/chat-model-groups.js +1 -2
- package/dist/client/chat-model-groups.js.map +1 -1
- package/dist/client/components/LiveCursorOverlay.d.ts +1 -2
- package/dist/client/components/LiveCursorOverlay.d.ts.map +1 -1
- package/dist/client/components/LiveCursorOverlay.js +19 -40
- package/dist/client/components/LiveCursorOverlay.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +3 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +86 -24
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts +9 -0
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +154 -32
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/frame-protocol.d.ts +17 -2
- package/dist/client/frame-protocol.d.ts.map +1 -1
- package/dist/client/frame-protocol.js.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js +2 -2
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
- package/dist/client/sharing/ShareButton.d.ts +2 -0
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +7 -6
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts +5 -0
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +51 -25
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +2 -2
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +8 -8
- package/dist/progress/routes.d.ts +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +40 -24
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/shared/mcp-embed-headers.d.ts +1 -0
- package/dist/shared/mcp-embed-headers.d.ts.map +1 -1
- package/dist/shared/mcp-embed-headers.js +20 -1
- package/dist/shared/mcp-embed-headers.js.map +1 -1
- package/dist/styles/agent-native.css +56 -7
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +2 -0
- package/dist/vite/client.js.map +1 -1
- package/dist/voice/index.d.ts +5 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +4 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/voice-cleanup-prompt.d.ts +6 -0
- package/dist/voice/voice-cleanup-prompt.d.ts.map +1 -0
- package/dist/voice/voice-cleanup-prompt.js +26 -0
- package/dist/voice/voice-cleanup-prompt.js.map +1 -0
- package/dist/voice/voice-context.d.ts +25 -0
- package/dist/voice/voice-context.d.ts.map +1 -0
- package/dist/voice/voice-context.js +156 -0
- package/dist/voice/voice-context.js.map +1 -0
- package/dist/voice/voice-replacements.d.ts +4 -0
- package/dist/voice/voice-replacements.d.ts.map +1 -0
- package/dist/voice/voice-replacements.js +52 -0
- package/dist/voice/voice-replacements.js.map +1 -0
- package/docs/content/locales/ar-SA/template-design.mdx +41 -0
- package/docs/content/locales/de-DE/template-design.mdx +51 -0
- package/docs/content/locales/es-ES/template-design.mdx +50 -0
- package/docs/content/locales/fr-FR/template-design.mdx +49 -0
- package/docs/content/locales/hi-IN/template-design.mdx +44 -0
- package/docs/content/locales/ja-JP/template-design.mdx +46 -0
- package/docs/content/locales/ko-KR/template-design.mdx +44 -0
- package/docs/content/locales/pt-BR/template-design.mdx +48 -0
- package/docs/content/locales/zh-CN/template-design.mdx +36 -0
- package/docs/content/locales/zh-TW/template-design.mdx +38 -0
- package/docs/content/template-design.mdx +45 -0
- package/package.json +2 -1
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
- package/corpus/templates/design/app/components/design/DesignToolbar.tsx +0 -339
- package/corpus/templates/design/app/components/design/PresentMode.tsx +0 -68
- package/corpus/templates/design/app/components/design/ViewportTabs.tsx +0 -149
- package/corpus/templates/design/app/components/design/ZoomControls.tsx +0 -157
package/corpus/README.md
CHANGED
package/corpus/core/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @agent-native/core
|
|
2
2
|
|
|
3
|
+
## 0.80.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- aa345cc: Add `agent-native design connect` foundations for localhost Design bridge manifests.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- aa345cc: App shells use an outline-style raised surface ring and Dispatch left navigation can collapse to an animated icon rail.
|
|
12
|
+
- aa345cc: Live cursors now use Figma-style pointer markers with adjacent participant labels.
|
|
13
|
+
- aa345cc: Surface missing LLM provider connections before agent chat starts a run, including Builder and AI SDK engines.
|
|
14
|
+
- aa345cc: Fix Chrome visual glitchiness (blank/stale regions on scroll, pan, and zoom) in
|
|
15
|
+
plan documents and canvases by removing `backdrop-filter` (`backdrop-blur`) from
|
|
16
|
+
always-rendered per-block controls. A long plan rendered 40+ per-block edit
|
|
17
|
+
triggers, each forcing its own composited backdrop layer; Chrome re-samples every
|
|
18
|
+
backdrop snapshot on each scroll frame and its backdrop-filter invalidation drops
|
|
19
|
+
tiles, leaving regions blank until the next repaint. The tiny hover-trigger chips
|
|
20
|
+
now use an opaque background, which is visually identical but eliminates the
|
|
21
|
+
composited backdrop layers. Affects the block edit trigger, diagram/mermaid
|
|
22
|
+
expand/style triggers, and wireframe style trigger.
|
|
23
|
+
- aa345cc: Allow embedded MCP App controls to target their own local agent sidebar instead of relaying every submitted prompt to the host chat.
|
|
24
|
+
- aa345cc: Respect silent chat context staging across app/frame boundaries so selection context can update without opening the agent sidebar.
|
|
25
|
+
- aa345cc: Polish the shared chat thinking status with capitalized text and a subtle shine animation.
|
|
26
|
+
- aa345cc: Add the Design `/visual-edit` skill and route it through the built-in skill installers so agents can open localhost routes as URL-backed Design screens.
|
|
27
|
+
- aa345cc: Improve voice transcription and cleanup with bounded voice context packs for active composer context, learned vocabulary, and transcript cleanup prompts.
|
|
28
|
+
|
|
3
29
|
## 0.79.27
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
|
@@ -350,6 +350,47 @@ pnpm dev
|
|
|
350
350
|
|
|
351
351
|
نظرًا لأن التصميم هو مجرد ملفات HTML/JSX مستقلة، يقوم الوكيل بتحرير نفس المصدر الذي يعرضه iframe ويأتي منه كل تصدير - لا يوجد تنسيق "AI mockup" منفصل لترجمته. يوفر نظام التصميم المرتبط الرموز المميزة ويكرم الوكيل `custom_instructions` في كل تذكرة جيل. حدد نصًا أو منطقة في المعاينة واضغط على Cmd+I لتركيز الوكيل على هذا الجزء بالضبط.
|
|
352
352
|
|
|
353
|
+
### نموذج المحرر
|
|
354
|
+
|
|
355
|
+
يعتمد Design على النظرة العامة أولاً عند العمل على شاشات متعددة. بعد الإنشاء
|
|
356
|
+
أو التحديثات الواسعة، يفتح المحرر النظرة العامة للشاشات: لوحة لا نهائية تكون
|
|
357
|
+
فيها كل شاشة إطارًا ثابتًا يمكن تحديده أو نقله أو تغيير حجمه أو إسقاطه أو
|
|
358
|
+
تكراره. انقر نقرًا مزدوجًا على إطار للتركيز على شاشة واحدة.
|
|
359
|
+
|
|
360
|
+
وضع الشاشة الواحدة مخصص للتمرير، والتفاعل مع سلوك النموذج الأولي، وتحرير
|
|
361
|
+
طبقات DOM/الكود داخل ملف واحد معروض. تعكس لوحة الطبقات هذا التقسيم: الشاشات
|
|
362
|
+
إطارات من المستوى الأعلى، وتحت الشاشة النشطة تظهر طبقات DOM/الكود المتداخلة.
|
|
363
|
+
|
|
364
|
+
لأسماء طبقات مستقرة، أضف `data-agent-native-layer-name` إلى العناصر المهمة.
|
|
365
|
+
يستخدمه Design قبل البدائل الدلالية/النصية، ويمكنه حفظ إعادة تسمية الطبقات عبر
|
|
366
|
+
تحرير هذا السمة. يدعم HTML المضمن تحرير طبقات الكود محليًا للنصوص والأصناف
|
|
367
|
+
والأنماط والسمات وترتيب المصدر والتغييرات البنيوية الصغيرة؛ وتقتصر التعديلات
|
|
368
|
+
المرئية لطبقات الكود حاليًا على HTML. يستطيع وضع مصدر localhost تسجيل لوحات
|
|
369
|
+
عمل المسارات المحلية وحلها، لكن قراءة/كتابة الملفات المحلية تبقى عقد جسر إلى
|
|
370
|
+
أن يتم تعزيز عناصر التحكم الصريحة في الأذونات.
|
|
371
|
+
|
|
372
|
+
### ملحقات محرر Design
|
|
373
|
+
|
|
374
|
+
يتضمن المحرر علامة تبويب المفتش **Extensions** بعد **Tweaks**. تعمل
|
|
375
|
+
كمسار إضافات خاص بـ Design: يمكن للمستخدمين النقر على **+ Extension** ليطلبوا
|
|
376
|
+
من الوكيل بناء ملحق، أو تثبيت ملحق يعلن فتحة `design.editor.inspector`.
|
|
377
|
+
|
|
378
|
+
تُعرض ملحقات Design مضمّنة بجانب لوحة العمل عبر صندوق رمل الملحقات القياسي.
|
|
379
|
+
يمرر المضيف تحديثات `window.slotContext` و`window.onSlotContext(...)` مع
|
|
380
|
+
`designId` الحالي، والملف النشط، وقائمة الشاشات، ومعرفات الشاشات المحددة،
|
|
381
|
+
وبيانات العنصر المحدد، ووضع العرض، والتكبير، والأداة النشطة، وقيم التعديلات.
|
|
382
|
+
يسمح ذلك للملحق بعرض معلومات عن التحديد الحالي، أو تقديم عناصر تحكم في النمط،
|
|
383
|
+
أو بناء تدفقات عمل صغيرة حول التصميم المفتوح.
|
|
384
|
+
|
|
385
|
+
للعمل الحتمي، يمكن للملحقات استدعاء إجراءات التطبيق من خلال جسر الملحقات.
|
|
386
|
+
وللتغييرات المدفوعة بالذكاء الاصطناعي، اجعل الملحق يستدعي
|
|
387
|
+
`agentNative.chat.send(...)` مع محدد العنصر/معرف المصدر والتغيير المطلوب. يجب
|
|
388
|
+
أن يستدعي الوكيل `view-screen` أولاً، ثم يستخدم `apply-visual-edit` لتغييرات
|
|
389
|
+
نمط العنصر أو الصنف أو النص أو الحركة، أو يستخدم `update-design` /
|
|
390
|
+
`generate-design` مع `canvasFrames` لتغييرات موضع لوحة العمل. راجع
|
|
391
|
+
[Extensions](/docs/extensions#what-an-extension-can-do) لمعرفة صندوق الرمل
|
|
392
|
+
والحالة المستمرة وواجهات جسر الملحقات.
|
|
393
|
+
|
|
353
394
|
### تخصيصه
|
|
354
395
|
|
|
355
396
|
التصميم عبارة عن قالب كامل وقابل للاستنساخ. بعض الأفكار الإضافية العملية:
|
|
@@ -348,6 +348,57 @@ Der Agent weiß immer, was Sie offen haben. Das aktuelle Design, die geöffnete
|
|
|
348
348
|
|
|
349
349
|
Da es sich bei einem Design lediglich um eigenständige HTML/JSX-Dateien handelt, bearbeitet der Agent dieselbe Quelle, die der Iframe rendert, und jeder Export stammt aus – es gibt kein separates „AI-Mockup“-Format zum Übersetzen. Ein verknüpftes Designsystem liefert Token und `custom_instructions`, die der Agent bei jedem Generationsdurchlauf ehrt. Wählen Sie in der Vorschau Text oder einen Bereich aus und drücken Sie Befehl+I, um den Agenten genau auf diesen Teil zu konzentrieren.
|
|
350
350
|
|
|
351
|
+
### Editor-Modell
|
|
352
|
+
|
|
353
|
+
Design ist bei Arbeit mit mehreren Bildschirmen übersichtsorientiert. Nach der
|
|
354
|
+
Generierung oder größeren Aktualisierungen öffnet der Editor die
|
|
355
|
+
Bildschirmübersicht: eine unendliche Arbeitsfläche, auf der jeder Bildschirm ein
|
|
356
|
+
statischer Rahmen ist, den Sie auswählen, verschieben, skalieren, ablegen oder
|
|
357
|
+
duplizieren können. Verwenden Sie die Vollansicht-Schaltfläche des Rahmens, wenn ein Bildschirm
|
|
358
|
+
fokussiertes Scrollen oder Prototypinteraktion benötigt.
|
|
359
|
+
|
|
360
|
+
Der Einzelbildschirmmodus ist für Scrollen, Interaktion mit Prototypverhalten
|
|
361
|
+
und Bearbeitung der DOM-/Code-Ebenen in einer gerenderten Datei gedacht. Das
|
|
362
|
+
Ebenenfenster spiegelt diese Trennung wider: Bildschirme sind Rahmen der
|
|
363
|
+
obersten Ebene, darunter liegen die DOM-/Code-Ebenen des aktiven Bildschirms.
|
|
364
|
+
|
|
365
|
+
Für stabile Ebenennamen fügen Sie wichtigen Elementen
|
|
366
|
+
`data-agent-native-layer-name` hinzu. Design verwendet dies vor
|
|
367
|
+
semantischen/textbasierten Fallbacks und kann Umbenennungen durch Bearbeiten
|
|
368
|
+
dieses Attributs speichern. Inline-HTML unterstützt lokale Code-Ebenen-Edits
|
|
369
|
+
für Text, Klassen, Stile, Attribute, Quellreihenfolge und kleine strukturelle
|
|
370
|
+
Änderungen; visuelle Code-Ebenen-Edits sind heute HTML-only. Der
|
|
371
|
+
localhost-Quellmodus kann lokale Routen-Artboards registrieren und auflösen,
|
|
372
|
+
aber lokale Datei-Lese-/Schreibvorgänge bleiben ein Bridge-Vertrag, bis
|
|
373
|
+
explizite Berechtigungskontrollen gehärtet sind.
|
|
374
|
+
|
|
375
|
+
### Erweiterungen im Design-Editor
|
|
376
|
+
|
|
377
|
+
Der Editor enthält nach **Tweaks** eine **Extensions**-Inspektorregisterkarte.
|
|
378
|
+
Sie funktioniert wie eine Design-spezifische Plugin-Spur: Benutzer können auf
|
|
379
|
+
**+ Extension** klicken, um den Agenten eine Erweiterung erstellen zu lassen,
|
|
380
|
+
oder eine Erweiterung installieren, die den Slot `design.editor.inspector`
|
|
381
|
+
deklariert.
|
|
382
|
+
|
|
383
|
+
Design-Erweiterungen werden über die Standard-Erweiterungssandbox inline neben
|
|
384
|
+
der Arbeitsfläche gerendert. Der Host übergibt `window.slotContext` und
|
|
385
|
+
`window.onSlotContext(...)`-Updates mit der aktuellen `designId`, der aktiven
|
|
386
|
+
Datei, der Bildschirmliste, ausgewählten Bildschirm-IDs, Metadaten des
|
|
387
|
+
ausgewählten Elements, Ansichtsmodus, Zoom, aktivem Werkzeug und Tweak-Werten.
|
|
388
|
+
So kann eine Erweiterung Informationen zur aktuellen Auswahl anzeigen,
|
|
389
|
+
Stilsteuerungen anbieten oder kompakte Workflows rund um das geöffnete Design
|
|
390
|
+
erstellen.
|
|
391
|
+
|
|
392
|
+
Für deterministische Arbeit können Erweiterungen App-Aktionen über die
|
|
393
|
+
Erweiterungsbrücke aufrufen. Für KI-gesteuerte Änderungen sollte die Erweiterung
|
|
394
|
+
`agentNative.chat.send(...)` mit dem Selektor/Quell-ID des ausgewählten Elements
|
|
395
|
+
und der gewünschten Änderung aufrufen. Der Agent sollte zuerst `view-screen`
|
|
396
|
+
aufrufen und dann `apply-visual-edit` für Stil-, Klassen-, Text- oder
|
|
397
|
+
Verschiebungsänderungen an Elementen verwenden, oder `update-design` /
|
|
398
|
+
`generate-design` mit `canvasFrames` für Änderungen an der Platzierung der
|
|
399
|
+
Arbeitsfläche. Siehe [Extensions](/docs/extensions#what-an-extension-can-do)
|
|
400
|
+
für Sandbox, persistente Daten und Bridge-APIs.
|
|
401
|
+
|
|
351
402
|
### Anpassen
|
|
352
403
|
|
|
353
404
|
Design ist eine vollständige, klonbare Vorlage. Einige praktische Erweiterungsideen:
|
|
@@ -348,6 +348,56 @@ El agente siempre sabe lo que tienes abierto. `view-screen` devuelve el diseño
|
|
|
348
348
|
|
|
349
349
|
Debido a que un diseño son solo archivos HTML/JSX independientes, el agente edita la misma fuente que representa el iframe y de donde proviene cada exportación; no hay un formato de "maqueta de IA" independiente para traducir. Un sistema de diseño vinculado proporciona tokens y `custom_instructions` el agente honra en cada paso de generación. Seleccione texto o una región en la vista previa y presione Cmd+I para enfocar al agente exactamente en esa parte.
|
|
350
350
|
|
|
351
|
+
### Modelo del editor
|
|
352
|
+
|
|
353
|
+
Design prioriza la vista general para el trabajo con varias pantallas. Después
|
|
354
|
+
de generar o aplicar actualizaciones amplias, el editor abre la vista general de
|
|
355
|
+
pantallas: un lienzo infinito donde cada pantalla es un marco estático que se
|
|
356
|
+
puede seleccionar, mover, redimensionar, soltar o duplicar. Usa el botón de vista completa del marco cuando una pantalla necesite
|
|
357
|
+
desplazamiento enfocado o interacción de prototipo.
|
|
358
|
+
|
|
359
|
+
El modo de una sola pantalla sirve para desplazarse, interactuar con el
|
|
360
|
+
comportamiento del prototipo y editar las capas DOM/código dentro de un archivo
|
|
361
|
+
renderizado. El panel de capas refleja esa división: las pantallas son marcos de
|
|
362
|
+
nivel superior, con capas DOM/código anidadas para la pantalla activa.
|
|
363
|
+
|
|
364
|
+
Para nombres de capa estables, agrega `data-agent-native-layer-name` a los
|
|
365
|
+
elementos importantes. Design lo usa antes de los respaldos semánticos/de texto
|
|
366
|
+
y puede persistir cambios de nombre editando ese atributo. HTML inline admite
|
|
367
|
+
ediciones locales de capas de código para texto, clases, estilos, atributos,
|
|
368
|
+
orden del código fuente y pequeños cambios estructurales; las ediciones visuales
|
|
369
|
+
de capas de código solo admiten HTML por ahora. El modo de fuente localhost
|
|
370
|
+
puede registrar y resolver artboards de rutas locales, pero las lecturas y
|
|
371
|
+
escrituras de archivos locales siguen siendo un contrato de puente hasta que se
|
|
372
|
+
endurezcan los controles explícitos de permisos.
|
|
373
|
+
|
|
374
|
+
### Extensiones del editor de Design
|
|
375
|
+
|
|
376
|
+
El editor incluye una pestaña de inspector **Extensions** después de
|
|
377
|
+
**Tweaks**. Funciona como un carril de plugins específico de Design: los
|
|
378
|
+
usuarios pueden hacer clic en **+ Extension** para pedirle al agente que cree
|
|
379
|
+
una extensión, o instalar una extensión que declare el slot
|
|
380
|
+
`design.editor.inspector`.
|
|
381
|
+
|
|
382
|
+
Las extensiones de Design se renderizan en línea junto al artboard mediante el
|
|
383
|
+
sandbox estándar de extensiones. El host pasa actualizaciones de
|
|
384
|
+
`window.slotContext` y `window.onSlotContext(...)` con el `designId` actual, el
|
|
385
|
+
archivo activo, la lista de pantallas, los ids de pantalla seleccionados, los
|
|
386
|
+
metadatos del elemento seleccionado, el modo de vista, el zoom, la herramienta
|
|
387
|
+
activa y los valores de tweaks. Eso permite que una extensión muestre
|
|
388
|
+
información sobre la selección actual, ofrezca controles de estilo o construya
|
|
389
|
+
flujos compactos alrededor del diseño abierto.
|
|
390
|
+
|
|
391
|
+
Para trabajo determinista, las extensiones pueden llamar acciones de la app a
|
|
392
|
+
través del puente de extensiones. Para cambios impulsados por IA, haz que la
|
|
393
|
+
extensión llame `agentNative.chat.send(...)` con el selector/id de origen del
|
|
394
|
+
elemento seleccionado y el cambio solicitado. El agente debe llamar primero
|
|
395
|
+
`view-screen`, luego usar `apply-visual-edit` para cambios de estilo, clase,
|
|
396
|
+
texto o movimiento de elementos, o `update-design` / `generate-design` con
|
|
397
|
+
`canvasFrames` para cambios de colocación del artboard. Consulta
|
|
398
|
+
[Extensions](/docs/extensions#what-an-extension-can-do) para el sandbox, el
|
|
399
|
+
estado persistente y las APIs del puente.
|
|
400
|
+
|
|
351
401
|
### Personalizarlo
|
|
352
402
|
|
|
353
403
|
El diseño es una plantilla completa y clonable. Algunas ideas prácticas de extensión:
|
|
@@ -348,6 +348,55 @@ L'agent sait toujours ce que vous avez ouvert. La conception actuelle, le fichie
|
|
|
348
348
|
|
|
349
349
|
Étant donné qu'une conception n'est constituée que de fichiers HTML/JSX autonomes, l'agent édite la même source que celle du rendu iframe et celle d'où provient chaque exportation : il n'existe pas de format de « maquette IA » distinct à traduire. Un système de conception lié fournit des jetons et `custom_instructions` que l'agent honore à chaque passage de génération. Sélectionnez du texte ou une région dans l'aperçu et appuyez sur Cmd+I pour concentrer l'agent exactement sur cette partie.
|
|
350
350
|
|
|
351
|
+
### Modèle d'éditeur
|
|
352
|
+
|
|
353
|
+
Design privilégie la vue d'ensemble pour le travail multi-écran. Après une
|
|
354
|
+
génération ou une mise à jour large, l'éditeur ouvre la vue d'ensemble des
|
|
355
|
+
écrans : un canevas infini où chaque écran est un cadre statique que vous pouvez
|
|
356
|
+
sélectionner, déplacer, redimensionner, déposer ou dupliquer. Utilisez le bouton de vue complète du cadre lorsqu’un écran nécessite un
|
|
357
|
+
défilement ciblé ou une interaction de prototype.
|
|
358
|
+
|
|
359
|
+
Le mode écran unique sert à faire défiler, interagir avec le comportement du
|
|
360
|
+
prototype et modifier les couches DOM/code dans un fichier rendu. Le panneau des
|
|
361
|
+
couches reflète cette séparation : les écrans sont des cadres de niveau
|
|
362
|
+
supérieur, avec les couches DOM/code imbriquées pour l'écran actif.
|
|
363
|
+
|
|
364
|
+
Pour des noms de couche stables, ajoutez `data-agent-native-layer-name` aux
|
|
365
|
+
éléments importants. Design l'utilise avant les replis sémantiques/textuels et
|
|
366
|
+
peut persister les renommages en modifiant cet attribut. Le HTML inline prend en
|
|
367
|
+
charge les modifications locales de couches de code pour le texte, les classes,
|
|
368
|
+
les styles, les attributs, l'ordre source et les petits changements structurels;
|
|
369
|
+
les modifications visuelles de couches de code sont uniquement HTML aujourd'hui.
|
|
370
|
+
Le mode source localhost peut enregistrer et résoudre des artboards de routes
|
|
371
|
+
locales, mais les lectures/écritures de fichiers locaux restent un contrat de
|
|
372
|
+
pont jusqu'au durcissement des contrôles d'autorisation explicites.
|
|
373
|
+
|
|
374
|
+
### Extensions de l'éditeur Design
|
|
375
|
+
|
|
376
|
+
L'éditeur inclut un onglet d'inspecteur **Extensions** après **Tweaks**. Il
|
|
377
|
+
fonctionne comme une piste de plugins propre à Design : les utilisateurs peuvent
|
|
378
|
+
cliquer sur **+ Extension** pour demander à l'agent de créer une extension, ou
|
|
379
|
+
installer une extension qui déclare le slot `design.editor.inspector`.
|
|
380
|
+
|
|
381
|
+
Les extensions Design s'affichent en ligne à côté de l'artboard via le bac à
|
|
382
|
+
sable standard des extensions. L'hôte transmet les mises à jour
|
|
383
|
+
`window.slotContext` et `window.onSlotContext(...)` avec le `designId` actuel,
|
|
384
|
+
le fichier actif, la liste des écrans, les ids d'écran sélectionnés, les
|
|
385
|
+
métadonnées de l'élément sélectionné, le mode d'affichage, le zoom, l'outil
|
|
386
|
+
actif et les valeurs de tweaks. Cela permet à une extension d'afficher des
|
|
387
|
+
informations sur la sélection actuelle, d'offrir des contrôles de style ou de
|
|
388
|
+
créer des workflows compacts autour du design ouvert.
|
|
389
|
+
|
|
390
|
+
Pour un travail déterministe, les extensions peuvent appeler les actions de
|
|
391
|
+
l'app via le pont d'extension. Pour les changements pilotés par l'IA,
|
|
392
|
+
l'extension doit appeler `agentNative.chat.send(...)` avec le sélecteur/id source
|
|
393
|
+
de l'élément sélectionné et la modification demandée. L'agent doit d'abord
|
|
394
|
+
appeler `view-screen`, puis utiliser `apply-visual-edit` pour les changements de
|
|
395
|
+
style, classe, texte ou déplacement d'élément, ou `update-design` /
|
|
396
|
+
`generate-design` avec `canvasFrames` pour les changements de placement de
|
|
397
|
+
l'artboard. Consultez [Extensions](/docs/extensions#what-an-extension-can-do)
|
|
398
|
+
pour le bac à sable, l'état persistant et les APIs du pont.
|
|
399
|
+
|
|
351
400
|
### Le personnaliser
|
|
352
401
|
|
|
353
402
|
Design est un modèle complet et clonable. Quelques idées d'extension pratiques :
|
|
@@ -348,6 +348,50 @@ UI में रूट `templates/design/app/routes/` के अंतर्ग
|
|
|
348
348
|
|
|
349
349
|
क्योंकि एक डिज़ाइन केवल स्टैंडअलोन HTML/JSX फ़ाइलें है, एजेंट उसी स्रोत को संपादित करता है जो iframe प्रस्तुत करता है और प्रत्येक निर्यात आता है - अनुवाद करने के लिए कोई अलग "AI मॉकअप" प्रारूप नहीं है। एक लिंक्ड डिज़ाइन सिस्टम टोकन की आपूर्ति करता है और एजेंट हर जेनरेशन पास पर `custom_instructions` का सम्मान करता है। पूर्वावलोकन में टेक्स्ट या एक क्षेत्र का चयन करें और एजेंट को ठीक उसी हिस्से पर केंद्रित करने के लिए Cmd+I दबाएं।
|
|
350
350
|
|
|
351
|
+
### संपादक मॉडल
|
|
352
|
+
|
|
353
|
+
कई स्क्रीन वाले काम के लिए Design पहले overview खोलता है। generation या बड़े
|
|
354
|
+
updates के बाद editor screen overview खोलता है: एक infinite canvas जहां हर
|
|
355
|
+
screen एक static frame है जिसे select, move, resize, drop या duplicate किया जा
|
|
356
|
+
सकता है। जब किसी screen को focused scrolling या prototype interaction चाहिए, तो frame के full-view button का उपयोग करें।
|
|
357
|
+
|
|
358
|
+
Single-screen mode scrolling, prototype behavior से interact करने, और एक
|
|
359
|
+
rendered file के अंदर DOM/code layers edit करने के लिए है। Layers panel यही
|
|
360
|
+
model दिखाता है: screens top-level frames हैं, और active screen के नीचे nested
|
|
361
|
+
DOM/code layers होते हैं।
|
|
362
|
+
|
|
363
|
+
Stable layer names के लिए meaningful elements पर
|
|
364
|
+
`data-agent-native-layer-name` जोड़ें। Design semantic/text fallbacks से पहले
|
|
365
|
+
इसे उपयोग करता है और इसी attribute को edit करके layer renames persist कर सकता
|
|
366
|
+
है। Inline HTML text, classes, styles, attributes, source order, और छोटे
|
|
367
|
+
structural changes के लिए local code-layer edits support करता है; visual
|
|
368
|
+
code-layer edits आज केवल HTML files के लिए हैं। Localhost source mode local
|
|
369
|
+
route artboards register और resolve कर सकता है, लेकिन local file reads/writes
|
|
370
|
+
explicit permission controls harden होने तक bridge contract ही हैं।
|
|
371
|
+
|
|
372
|
+
### Design संपादक एक्सटेंशन
|
|
373
|
+
|
|
374
|
+
संपादक में **Tweaks** के बाद एक **Extensions** इंस्पेक्टर टैब शामिल है। यह
|
|
375
|
+
Design-विशिष्ट plugin lane की तरह काम करता है: उपयोगकर्ता **+ Extension** पर
|
|
376
|
+
क्लिक करके एजेंट से एक्सटेंशन बनवा सकते हैं, या ऐसा एक्सटेंशन इंस्टॉल कर सकते
|
|
377
|
+
हैं जो `design.editor.inspector` slot घोषित करता है।
|
|
378
|
+
|
|
379
|
+
Design एक्सटेंशन मानक extension sandbox के माध्यम से artboard के बगल में inline
|
|
380
|
+
render होते हैं। host `window.slotContext` और `window.onSlotContext(...)`
|
|
381
|
+
updates में वर्तमान `designId`, सक्रिय फ़ाइल, screen list, selected screen ids,
|
|
382
|
+
selected element metadata, view mode, zoom, active tool, और tweak values भेजता
|
|
383
|
+
है। इससे एक्सटेंशन वर्तमान selection की जानकारी दिखा सकता है, style controls
|
|
384
|
+
दे सकता है, या खुले design के आसपास compact workflows बना सकता है।
|
|
385
|
+
|
|
386
|
+
Deterministic काम के लिए, एक्सटेंशन extension bridge के माध्यम से app actions
|
|
387
|
+
कॉल कर सकते हैं। AI-driven बदलावों के लिए, एक्सटेंशन से
|
|
388
|
+
`agentNative.chat.send(...)` कॉल करवाएं जिसमें selected element selector/source
|
|
389
|
+
id और मांगा गया बदलाव शामिल हो। एजेंट को पहले `view-screen` कॉल करना चाहिए,
|
|
390
|
+
फिर element style, class, text, या move changes के लिए `apply-visual-edit`, या
|
|
391
|
+
artboard placement changes के लिए `canvasFrames` के साथ `update-design` /
|
|
392
|
+
`generate-design` का उपयोग करना चाहिए। sandbox, persistent state, और bridge
|
|
393
|
+
APIs के लिए [Extensions](/docs/extensions#what-an-extension-can-do) देखें।
|
|
394
|
+
|
|
351
395
|
### इसे अनुकूलित करना
|
|
352
396
|
|
|
353
397
|
डिज़ाइन एक पूर्ण, क्लोन करने योग्य टेम्पलेट है। कुछ व्यावहारिक विस्तार विचार:
|
|
@@ -350,6 +350,52 @@ UI のルートは `templates/design/app/routes/` の下にあります: `_index
|
|
|
350
350
|
|
|
351
351
|
デザインは単なるスタンドアロンの HTML/JSX ファイルであるため、エージェントは iframe がレンダリングし、すべてのエクスポート元と同じソースを編集します。変換する個別の「AI モックアップ」形式はありません。リンクされた設計システムはトークンと `custom_instructions` を提供し、エージェントは世代パスごとにそれを尊重します。プレビューでテキストまたは領域を選択し、Cmd+I を押して、エージェントをその部分に正確に集中させます。
|
|
352
352
|
|
|
353
|
+
### エディターモデル
|
|
354
|
+
|
|
355
|
+
Design は複数画面の作業では概要を最初に使います。生成後または大きな更
|
|
356
|
+
新後、エディターは画面概要を開きます。これは無限キャンバスで、各画面は
|
|
357
|
+
選択、移動、リサイズ、ドロップ、複製できる静的フレームです。集中スクロールやプロトタイプ操作が必要な画面では、フレームのフルビューボタンを使用します。
|
|
358
|
+
|
|
359
|
+
単一画面モードは、スクロール、プロトタイプ動作とのインタラクション、1
|
|
360
|
+
つのレンダリング済みファイル内の DOM/コードレイヤー編集に使います。レ
|
|
361
|
+
イヤーパネルもこの分離を反映します。画面は最上位フレームで、アクティブ
|
|
362
|
+
画面の下に DOM/コードレイヤーがネストされます。
|
|
363
|
+
|
|
364
|
+
安定したレイヤー名には、意味のある要素に
|
|
365
|
+
`data-agent-native-layer-name` を追加します。Design はセマンティック/テ
|
|
366
|
+
キストのフォールバックより先にこれを使い、この属性を編集してレイヤー名
|
|
367
|
+
変更を永続化できます。Inline HTML は、テキスト、class、style、attribute、
|
|
368
|
+
ソース順、小さな構造変更のローカルコードレイヤー編集をサポートします。
|
|
369
|
+
ビジュアルコードレイヤー編集は現在 HTML のみです。Localhost source mode
|
|
370
|
+
はローカル route artboard を登録・解決できますが、ローカルファイルの読
|
|
371
|
+
み書きは明示的な権限制御が強化されるまで bridge contract のままです。
|
|
372
|
+
|
|
373
|
+
### Design エディター拡張機能
|
|
374
|
+
|
|
375
|
+
エディターには **Tweaks** の後に **Extensions** インスペクタータブがあり
|
|
376
|
+
ます。これは Design 専用のプラグインレーンのように機能します。ユーザー
|
|
377
|
+
は **+ Extension** をクリックしてエージェントに拡張機能を作成させるか、
|
|
378
|
+
`design.editor.inspector` スロットを宣言する拡張機能をインストールできま
|
|
379
|
+
す。
|
|
380
|
+
|
|
381
|
+
Design 拡張機能は、標準の拡張機能サンドボックスを通じてアートボードの
|
|
382
|
+
横にインライン表示されます。ホストは `window.slotContext` と
|
|
383
|
+
`window.onSlotContext(...)` の更新として、現在の `designId`、アクティブ
|
|
384
|
+
なファイル、画面一覧、選択中の画面 ID、選択中の要素メタデータ、表示モー
|
|
385
|
+
ド、ズーム、アクティブツール、tweak 値を渡します。これにより、拡張機能
|
|
386
|
+
は現在の選択に関する情報を表示したり、スタイル操作を提供したり、開いて
|
|
387
|
+
いるデザインの周辺に小さなワークフローを構築したりできます。
|
|
388
|
+
|
|
389
|
+
決定的な処理では、拡張機能は拡張機能ブリッジ経由で app actions を呼び
|
|
390
|
+
出せます。AI 主導の変更では、選択中の要素 selector/source id と要求され
|
|
391
|
+
た変更を含めて `agentNative.chat.send(...)` を呼び出すようにします。エー
|
|
392
|
+
ジェントはまず `view-screen` を呼び出し、要素の style、class、text、move
|
|
393
|
+
変更には `apply-visual-edit` を、アートボード配置の変更には `canvasFrames`
|
|
394
|
+
付きの `update-design` / `generate-design` を使うべきです。サンドボックス、
|
|
395
|
+
永続状態、ブリッジ API については
|
|
396
|
+
[Extensions](/docs/extensions#what-an-extension-can-do) を参照してくださ
|
|
397
|
+
い。
|
|
398
|
+
|
|
353
399
|
### カスタマイズ
|
|
354
400
|
|
|
355
401
|
デザインは完全な複製可能なテンプレートです。いくつかの実践的な拡張アイデア:
|
|
@@ -348,6 +348,50 @@ UI의 경로는 `templates/design/app/routes/` 아래에 있습니다: `_index.t
|
|
|
348
348
|
|
|
349
349
|
디자인은 독립형 HTML/JSX 파일이므로 에이전트는 iframe이 렌더링하고 모든 내보내기가 시작되는 동일한 소스를 편집합니다. 번역할 별도의 "AI 모형" 형식은 없습니다. 연결된 디자인 시스템은 에이전트가 모든 세대 패스에서 존중하는 토큰과 `custom_instructions`를 제공합니다. 미리보기에서 텍스트나 영역을 선택하고 Cmd+I를 눌러 상담사가 정확히 해당 부분에 집중하도록 합니다.
|
|
350
350
|
|
|
351
|
+
### 편집기 모델
|
|
352
|
+
|
|
353
|
+
Design은 여러 화면 작업에서 overview를 우선합니다. 생성 또는 넓은 업데이트
|
|
354
|
+
후 편집기는 screen overview를 엽니다. 이곳은 각 화면이 선택, 이동, 크기 조정,
|
|
355
|
+
드롭, 복제 가능한 정적 frame으로 배치되는 infinite canvas입니다. frame을 두
|
|
356
|
+
번 클릭하면 단일 화면에 집중합니다.
|
|
357
|
+
|
|
358
|
+
Single-screen mode는 스크롤, prototype behavior와의 상호작용, 하나의 렌더링된
|
|
359
|
+
파일 안의 DOM/code layers 편집에 사용합니다. Layers panel도 같은 구조를
|
|
360
|
+
반영합니다. screens는 top-level frames이고, active screen 아래에 nested
|
|
361
|
+
DOM/code layers가 표시됩니다.
|
|
362
|
+
|
|
363
|
+
안정적인 layer name을 위해 의미 있는 요소에 `data-agent-native-layer-name`을
|
|
364
|
+
추가하세요. Design은 semantic/text fallback보다 이것을 먼저 사용하며, 해당
|
|
365
|
+
attribute를 편집해 layer rename을 persist할 수 있습니다. Inline HTML은 text,
|
|
366
|
+
classes, styles, attributes, source order, 작은 structural changes에 대한 local
|
|
367
|
+
code-layer edits를 지원합니다. visual code-layer edits는 현재 HTML-only입니다.
|
|
368
|
+
Localhost source mode는 local route artboards를 register/resolve할 수 있지만,
|
|
369
|
+
local file reads/writes는 explicit permission controls가 harden될 때까지 bridge
|
|
370
|
+
contract로 남아 있습니다.
|
|
371
|
+
|
|
372
|
+
### Design 편집기 확장
|
|
373
|
+
|
|
374
|
+
편집기에는 **Tweaks** 뒤에 **Extensions** 검사기 탭이 있습니다. Design 전용
|
|
375
|
+
플러그인 레인처럼 작동합니다. 사용자는 **+ Extension**을 클릭해 에이전트에게
|
|
376
|
+
확장을 만들게 하거나 `design.editor.inspector` 슬롯을 선언한 확장을 설치할
|
|
377
|
+
수 있습니다.
|
|
378
|
+
|
|
379
|
+
Design 확장은 표준 확장 sandbox를 통해 artboard 옆에 inline으로 렌더링됩니다.
|
|
380
|
+
호스트는 현재 `designId`, 활성 파일, 화면 목록, 선택된 화면 id, 선택된 요소
|
|
381
|
+
메타데이터, 보기 모드, zoom, 활성 도구, tweak 값을 `window.slotContext`와
|
|
382
|
+
`window.onSlotContext(...)` 업데이트로 전달합니다. 이를 통해 확장은 현재
|
|
383
|
+
selection 정보를 표시하고, 스타일 컨트롤을 제공하거나, 열린 디자인 주변의
|
|
384
|
+
작은 워크플로를 만들 수 있습니다.
|
|
385
|
+
|
|
386
|
+
결정적인 작업의 경우 확장은 extension bridge를 통해 app actions를 호출할 수
|
|
387
|
+
있습니다. AI 기반 변경의 경우 선택된 요소 selector/source id와 요청한 변경을
|
|
388
|
+
담아 `agentNative.chat.send(...)`를 호출하게 하세요. 에이전트는 먼저
|
|
389
|
+
`view-screen`을 호출한 다음 요소 style, class, text, move 변경에는
|
|
390
|
+
`apply-visual-edit`를, artboard placement 변경에는 `canvasFrames`와 함께
|
|
391
|
+
`update-design` / `generate-design`를 사용해야 합니다. sandbox, persistent
|
|
392
|
+
state, bridge APIs는 [Extensions](/docs/extensions#what-an-extension-can-do)를
|
|
393
|
+
참조하세요.
|
|
394
|
+
|
|
351
395
|
### 맞춤 설정
|
|
352
396
|
|
|
353
397
|
디자인은 완전하고 복제 가능한 템플릿입니다. 실용적인 확장 아이디어:
|
|
@@ -348,6 +348,54 @@ O agente sempre sabe o que você tem em aberto. O design atual, o arquivo aberto
|
|
|
348
348
|
|
|
349
349
|
Como um design consiste apenas em arquivos HTML/JSX independentes, o agente edita a mesma fonte que o iframe renderiza e de onde vem cada exportação — não há um formato de "maquete de IA" separado para traduzir. Um sistema de design vinculado fornece tokens e `custom_instructions` que o agente homenageia em cada passagem de geração. Selecione o texto ou uma região na visualização e pressione Cmd+I para focar o agente exatamente nessa parte.
|
|
350
350
|
|
|
351
|
+
### Modelo do editor
|
|
352
|
+
|
|
353
|
+
Design prioriza a visão geral para trabalhos com várias telas. Depois da
|
|
354
|
+
geração ou de atualizações amplas, o editor abre a visão geral de telas: uma
|
|
355
|
+
tela infinita onde cada tela é um frame estático que pode ser selecionado,
|
|
356
|
+
movido, redimensionado, solto ou duplicado. Use o botão de visualização completa
|
|
357
|
+
do frame quando uma tela precisar de rolagem focada ou interação de protótipo.
|
|
358
|
+
|
|
359
|
+
O modo de tela única serve para rolar, interagir com o comportamento do
|
|
360
|
+
protótipo e editar as camadas DOM/código dentro de um arquivo renderizado. O
|
|
361
|
+
painel de camadas reflete essa divisão: telas são frames de nível superior, com
|
|
362
|
+
camadas DOM/código aninhadas para a tela ativa.
|
|
363
|
+
|
|
364
|
+
Para nomes de camada estáveis, adicione `data-agent-native-layer-name` a
|
|
365
|
+
elementos importantes. O Design usa isso antes de fallbacks semânticos/de texto
|
|
366
|
+
e pode persistir renomeações editando esse atributo. HTML inline aceita edições
|
|
367
|
+
locais de camadas de código para texto, classes, estilos, atributos, ordem do
|
|
368
|
+
código-fonte e pequenas mudanças estruturais; edições visuais de camadas de
|
|
369
|
+
código são somente HTML hoje. O modo de fonte localhost pode registrar e
|
|
370
|
+
resolver artboards de rotas locais, mas leituras/escritas de arquivos locais
|
|
371
|
+
continuam sendo um contrato de bridge até que controles explícitos de permissão
|
|
372
|
+
sejam fortalecidos.
|
|
373
|
+
|
|
374
|
+
### Extensões do editor de Design
|
|
375
|
+
|
|
376
|
+
O editor inclui uma aba de inspetor **Extensions** depois de **Tweaks**. Ela
|
|
377
|
+
funciona como uma faixa de plugins específica do Design: os usuários podem
|
|
378
|
+
clicar em **+ Extension** para pedir ao agente que crie uma extensão, ou
|
|
379
|
+
instalar uma extensão que declare o slot `design.editor.inspector`.
|
|
380
|
+
|
|
381
|
+
As extensões do Design são renderizadas inline ao lado do artboard pelo sandbox
|
|
382
|
+
padrão de extensões. O host passa atualizações de `window.slotContext` e
|
|
383
|
+
`window.onSlotContext(...)` com o `designId` atual, arquivo ativo, lista de
|
|
384
|
+
telas, ids de telas selecionadas, metadados do elemento selecionado, modo de
|
|
385
|
+
visualização, zoom, ferramenta ativa e valores de tweaks. Isso permite que uma
|
|
386
|
+
extensão mostre informações sobre a seleção atual, ofereça controles de estilo
|
|
387
|
+
ou crie fluxos compactos ao redor do design aberto.
|
|
388
|
+
|
|
389
|
+
Para trabalho determinístico, as extensões podem chamar ações do app pelo
|
|
390
|
+
bridge de extensões. Para mudanças guiadas por IA, faça a extensão chamar
|
|
391
|
+
`agentNative.chat.send(...)` com o seletor/id de origem do elemento selecionado
|
|
392
|
+
e a mudança solicitada. O agente deve chamar `view-screen` primeiro e depois
|
|
393
|
+
usar `apply-visual-edit` para mudanças de estilo, classe, texto ou movimento de
|
|
394
|
+
elementos, ou `update-design` / `generate-design` com `canvasFrames` para
|
|
395
|
+
mudanças de posicionamento do artboard. Veja
|
|
396
|
+
[Extensions](/docs/extensions#what-an-extension-can-do) para o sandbox, estado
|
|
397
|
+
persistente e APIs do bridge.
|
|
398
|
+
|
|
351
399
|
### Personalizando
|
|
352
400
|
|
|
353
401
|
Design é um modelo completo e clonável. Algumas ideias práticas de extensão:
|
|
@@ -348,6 +348,42 @@ UI 中的路由位于 `templates/design/app/routes/` 下:`_index.tsx`(列表
|
|
|
348
348
|
|
|
349
349
|
因为设计只是独立的 HTML/JSX 文件,所以代理编辑 iframe 渲染和每个导出来自的相同源 - 没有单独的“AI 模型”格式需要翻译。链接设计系统提供代币和代理在每一代通行证上兑现的 `custom_instructions`。在预览中选择文本或区域,然后按 Cmd+I 将代理集中在该部分上。
|
|
350
350
|
|
|
351
|
+
### 编辑器模型
|
|
352
|
+
|
|
353
|
+
Design 对多屏工作采用概览优先。生成或进行大范围更新后,编辑器会打开屏幕
|
|
354
|
+
概览:一个无限画布,其中每个屏幕都是可选择、移动、调整大小、拖放或复制的
|
|
355
|
+
静态框架。需要聚焦滚动或原型交互时,请使用框架的完整视图按钮。
|
|
356
|
+
|
|
357
|
+
单屏模式用于滚动、与原型行为交互,以及编辑一个已渲染文件内的 DOM/代码
|
|
358
|
+
层。图层面板也反映这种分工:屏幕是顶层框架,活动屏幕下嵌套 DOM/代码层。
|
|
359
|
+
|
|
360
|
+
为了获得稳定的图层名称,请在有意义的元素上添加
|
|
361
|
+
`data-agent-native-layer-name`。Design 会优先使用它,然后才使用语义/文本回
|
|
362
|
+
退,并且可以通过编辑该属性来持久保存图层重命名。Inline HTML 支持本地代
|
|
363
|
+
码层编辑,包括文本、class、style、attribute、源顺序和小型结构调整;可视
|
|
364
|
+
代码层编辑目前仅支持 HTML。Localhost source mode 可以注册并解析本地路由
|
|
365
|
+
artboard,但本地文件读写仍是桥接合同,直到显式权限控制完成加固。
|
|
366
|
+
|
|
367
|
+
### Design 编辑器扩展
|
|
368
|
+
|
|
369
|
+
编辑器在 **Tweaks** 之后包含一个 **Extensions** 检查器标签。它像 Design
|
|
370
|
+
专属的插件通道:用户可以点击 **+ Extension** 让代理创建扩展,也可以安装声
|
|
371
|
+
明 `design.editor.inspector` slot 的扩展。
|
|
372
|
+
|
|
373
|
+
Design 扩展通过标准扩展 sandbox 内嵌渲染在 artboard 旁边。宿主会通过
|
|
374
|
+
`window.slotContext` 和 `window.onSlotContext(...)` 更新传入当前
|
|
375
|
+
`designId`、活动文件、屏幕列表、已选屏幕 id、已选元素元数据、视图模式、
|
|
376
|
+
缩放、活动工具和 tweak 值。这样扩展就可以显示当前选择的信息、提供样式控
|
|
377
|
+
件,或围绕打开的设计构建紧凑工作流。
|
|
378
|
+
|
|
379
|
+
对于确定性的工作,扩展可以通过扩展桥调用 app actions。对于 AI 驱动的变
|
|
380
|
+
更,让扩展调用 `agentNative.chat.send(...)`,并附带已选元素的 selector/source
|
|
381
|
+
id 和请求的更改。代理应先调用 `view-screen`,然后用 `apply-visual-edit`
|
|
382
|
+
处理元素 style、class、text 或 move 更改,或用带 `canvasFrames` 的
|
|
383
|
+
`update-design` / `generate-design` 处理 artboard placement 更改。有关
|
|
384
|
+
sandbox、持久状态和桥接 API,请参阅
|
|
385
|
+
[Extensions](/docs/extensions#what-an-extension-can-do)。
|
|
386
|
+
|
|
351
387
|
### 自定义它
|
|
352
388
|
|
|
353
389
|
设计是一个完整的、可克隆的模板。一些实用的扩展想法:
|
|
@@ -348,6 +348,44 @@ UI 中的路由位於 `templates/design/app/routes/` 下:`_index.tsx`(清單
|
|
|
348
348
|
|
|
349
349
|
因為設計只是獨立的 HTML/JSX 檔案,所以代理編輯 iframe 渲染和每個匯出來自的相同來源 - 沒有單獨的“AI 模型”格式需要翻譯。連結設計系統提供代幣和代理在每一代通行證上兌現的 `custom_instructions`。在預覽中選取文字或區域,然後按 Cmd+I 將代理集中在該部分上。
|
|
350
350
|
|
|
351
|
+
### 編輯器模型
|
|
352
|
+
|
|
353
|
+
Design 對多畫面工作採用概覽優先。產生或進行大範圍更新後,編輯器會開啟
|
|
354
|
+
畫面概覽:一個無限畫布,其中每個畫面都是可選取、移動、調整大小、拖放或
|
|
355
|
+
複製的靜態框架。需要聚焦捲動或原型互動時,請使用框架的完整檢視按鈕。
|
|
356
|
+
|
|
357
|
+
單畫面模式用於捲動、與原型行為互動,以及編輯一個已渲染檔案內的 DOM/程
|
|
358
|
+
式碼圖層。圖層面板也反映這種分工:畫面是頂層框架,作用中畫面下嵌套
|
|
359
|
+
DOM/程式碼圖層。
|
|
360
|
+
|
|
361
|
+
若要取得穩定的圖層名稱,請在有意義的元素上加入
|
|
362
|
+
`data-agent-native-layer-name`。Design 會優先使用它,然後才使用語意/文字
|
|
363
|
+
後備,並且可以透過編輯該屬性來持久保存圖層重新命名。Inline HTML 支援本
|
|
364
|
+
機程式碼圖層編輯,包括文字、class、style、attribute、來源順序和小型結構
|
|
365
|
+
調整;視覺程式碼圖層編輯目前僅支援 HTML。Localhost source mode 可以註冊
|
|
366
|
+
並解析本機路由 artboard,但本機檔案讀寫仍是橋接合約,直到明確權限控制
|
|
367
|
+
完成加固。
|
|
368
|
+
|
|
369
|
+
### Design 編輯器擴充功能
|
|
370
|
+
|
|
371
|
+
編輯器在 **Tweaks** 之後包含一個 **Extensions** 檢查器標籤。它像 Design
|
|
372
|
+
專屬的外掛通道:使用者可以點擊 **+ Extension** 讓代理建立擴充功能,也可
|
|
373
|
+
以安裝宣告 `design.editor.inspector` slot 的擴充功能。
|
|
374
|
+
|
|
375
|
+
Design 擴充功能會透過標準擴充 sandbox 內嵌渲染在 artboard 旁邊。host 會
|
|
376
|
+
透過 `window.slotContext` 和 `window.onSlotContext(...)` 更新傳入目前的
|
|
377
|
+
`designId`、作用中檔案、畫面清單、已選畫面 id、已選元素中繼資料、檢視模
|
|
378
|
+
式、縮放、作用中工具和 tweak 值。這讓擴充功能可以顯示目前選取項目的資
|
|
379
|
+
訊、提供樣式控制,或圍繞開啟的設計建立精簡工作流程。
|
|
380
|
+
|
|
381
|
+
對於確定性的工作,擴充功能可以透過擴充橋接呼叫 app actions。對於 AI 驅
|
|
382
|
+
動的變更,讓擴充功能呼叫 `agentNative.chat.send(...)`,並附上已選元素的
|
|
383
|
+
selector/source id 和要求的變更。代理應先呼叫 `view-screen`,再用
|
|
384
|
+
`apply-visual-edit` 處理元素 style、class、text 或 move 變更,或用帶有
|
|
385
|
+
`canvasFrames` 的 `update-design` / `generate-design` 處理 artboard placement
|
|
386
|
+
變更。關於 sandbox、持久狀態和橋接 API,請參閱
|
|
387
|
+
[Extensions](/docs/extensions#what-an-extension-can-do)。
|
|
388
|
+
|
|
351
389
|
### 自訂它
|
|
352
390
|
|
|
353
391
|
設計是一個完整的、可克隆的範本。一些實用的擴充功能想法:
|
|
@@ -348,6 +348,51 @@ The agent always knows what you have open. The current design, the open file, th
|
|
|
348
348
|
|
|
349
349
|
Because a design is just standalone HTML/JSX files, the agent edits the same source the iframe renders and every export comes from — there is no separate "AI mockup" format to translate. A linked design system supplies tokens and `custom_instructions` the agent honors on every generation pass. Select text or a region in the preview and hit Cmd+I to focus the agent on exactly that part.
|
|
350
350
|
|
|
351
|
+
### Editor model
|
|
352
|
+
|
|
353
|
+
Design is overview-first for multi-screen work. After generation or broad
|
|
354
|
+
updates, the editor opens the screen overview: an infinite canvas where each
|
|
355
|
+
screen is a static frame you can select, move, resize, drop, or duplicate.
|
|
356
|
+
Use a frame's full-view button when one screen needs focused scrolling or
|
|
357
|
+
prototype interaction.
|
|
358
|
+
|
|
359
|
+
Single-screen mode is for scrolling, interacting with prototype behavior, and
|
|
360
|
+
editing the DOM/code layers inside one rendered file. The layers panel reflects
|
|
361
|
+
that split: screens are top-level frames, with nested DOM/code layers for the
|
|
362
|
+
active screen.
|
|
363
|
+
|
|
364
|
+
For stable layer names, add `data-agent-native-layer-name` to meaningful
|
|
365
|
+
elements. Design uses it before semantic/text fallbacks and can persist layer
|
|
366
|
+
renames by editing that attribute. Inline HTML supports local code-layer edits
|
|
367
|
+
for text, classes, styles, attributes, source order, and small structural
|
|
368
|
+
changes; visual code-layer edits are HTML-only today. Localhost source mode can
|
|
369
|
+
register and resolve local route artboards, but local file reads/writes remain a
|
|
370
|
+
bridge contract until explicit permission controls are hardened.
|
|
371
|
+
|
|
372
|
+
### Design editor extensions
|
|
373
|
+
|
|
374
|
+
The editor includes an **Extensions** inspector tab after **Tweaks**. It works
|
|
375
|
+
like a Design-specific plugin lane: users can click **+ Extension** to ask the
|
|
376
|
+
agent to build an extension, or install an extension that declares the
|
|
377
|
+
`design.editor.inspector` slot.
|
|
378
|
+
|
|
379
|
+
Design extensions render inline beside the artboard through the standard
|
|
380
|
+
extension sandbox. The host passes `window.slotContext` and
|
|
381
|
+
`window.onSlotContext(...)` updates with the current `designId`, active file,
|
|
382
|
+
screen list, selected screen ids, selected element metadata, view mode, zoom,
|
|
383
|
+
active tool, and tweak values. That lets an extension show information about
|
|
384
|
+
the current selection, offer style controls, or build compact workflows around
|
|
385
|
+
the open design.
|
|
386
|
+
|
|
387
|
+
For deterministic work, extensions can call app actions through the extension
|
|
388
|
+
bridge. For AI-driven changes, have the extension call
|
|
389
|
+
`agentNative.chat.send(...)` with the selected element selector/source id and
|
|
390
|
+
requested change. The agent should call `view-screen` first, then use
|
|
391
|
+
`apply-visual-edit` for element style, class, text, or move changes, or
|
|
392
|
+
`update-design` / `generate-design` with `canvasFrames` for artboard placement
|
|
393
|
+
changes. See [Extensions](/docs/extensions#what-an-extension-can-do) for the
|
|
394
|
+
sandbox, persistent state, and bridge APIs.
|
|
395
|
+
|
|
351
396
|
### Customizing it
|
|
352
397
|
|
|
353
398
|
Design is a complete, cloneable template. Some practical extension ideas:
|