@agent-native/core 0.85.7 → 0.86.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 +124 -1
- package/corpus/core/README.md +0 -11
- package/corpus/core/docs/content/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/ar-SA/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/ar-SA/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/ar-SA/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/ar-SA/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/ar-SA/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/workspace-connections.mdx +11 -11
- package/corpus/core/docs/content/locales/de-DE/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/de-DE/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/de-DE/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/de-DE/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/de-DE/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/de-DE/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/es-ES/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/es-ES/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/es-ES/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/es-ES/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/es-ES/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/fr-FR/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/fr-FR/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/fr-FR/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/fr-FR/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/hi-IN/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/hi-IN/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/hi-IN/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/hi-IN/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/ja-JP/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/ja-JP/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/ja-JP/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/ja-JP/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/ko-KR/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/ko-KR/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/ko-KR/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/ko-KR/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/pt-BR/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/pt-BR/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/pt-BR/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/pt-BR/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/zh-CN/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/zh-CN/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/zh-CN/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/zh-CN/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.mdx +0 -1
- package/corpus/core/docs/content/locales/zh-TW/plan-plugin.mdx +10 -9
- package/corpus/core/docs/content/locales/zh-TW/sharing.mdx +1 -2
- package/corpus/core/docs/content/locales/zh-TW/skills-guide.mdx +2 -3
- package/corpus/core/docs/content/locales/zh-TW/template-plan.mdx +23 -7
- package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/workspace-connections.mdx +1 -1
- package/corpus/core/docs/content/plan-plugin.mdx +12 -11
- package/corpus/core/docs/content/sharing.mdx +1 -2
- package/corpus/core/docs/content/skills-guide.mdx +4 -3
- package/corpus/core/docs/content/template-plan.mdx +37 -6
- package/corpus/core/docs/content/tracking.mdx +1 -1
- package/corpus/core/docs/content/workspace-connections.mdx +1 -1
- package/corpus/core/package.json +6 -6
- package/corpus/core/src/agent/run-store.ts +1 -1
- package/corpus/core/src/chat-threads/store.ts +73 -11
- package/corpus/core/src/checkpoints/store.ts +13 -2
- package/corpus/core/src/cli/create.ts +3 -4
- package/corpus/core/src/cli/design-connect.ts +469 -9
- package/corpus/core/src/cli/index.ts +13 -0
- package/corpus/core/src/cli/plan-local.ts +281 -24
- package/corpus/core/src/cli/skills.ts +177 -21
- package/corpus/core/src/cli/templates-meta.ts +0 -13
- package/corpus/core/src/cli/visualize-repo.ts +715 -0
- package/corpus/core/src/client/AssistantChat.tsx +126 -17
- package/corpus/core/src/client/agent-chat-adapter.ts +6 -5
- package/corpus/core/src/client/app-providers.tsx +2 -2
- package/corpus/core/src/client/collab/index.ts +31 -0
- package/corpus/core/src/client/components/LiveCursorOverlay.tsx +16 -1
- package/corpus/core/src/client/components/PresenceBar.tsx +14 -1
- package/corpus/core/src/client/components/RecentEditHighlights.tsx +219 -0
- package/corpus/core/src/client/components/RemoteSelectionRings.tsx +40 -6
- package/corpus/core/src/client/index.ts +48 -0
- package/corpus/core/src/client/org/OrgSwitcher.tsx +0 -4
- package/corpus/core/src/client/rich-markdown-editor/SharedRichEditor.tsx +49 -32
- package/corpus/core/src/client/rich-markdown-editor/index.ts +6 -0
- package/corpus/core/src/client/rich-markdown-editor/surgical-apply.ts +192 -0
- package/corpus/core/src/client/rich-markdown-editor/useCollabReconcile.ts +59 -8
- package/corpus/core/src/client/session-replay.ts +181 -15
- package/corpus/core/src/client/sse-event-processor.ts +90 -1
- package/corpus/core/src/client/use-action.ts +123 -25
- package/corpus/core/src/client/use-agent-engine-configured.ts +7 -1
- package/corpus/core/src/client/use-chat-threads.ts +18 -7
- package/corpus/core/src/client/use-db-sync.ts +104 -19
- package/corpus/core/src/client/visual-style-controls.tsx +475 -0
- package/corpus/core/src/collab/agent-presence.ts +191 -62
- package/corpus/core/src/collab/awareness.ts +83 -6
- package/corpus/core/src/collab/client.ts +89 -146
- package/corpus/core/src/collab/index.ts +34 -0
- package/corpus/core/src/collab/recent-edits.ts +171 -0
- package/corpus/core/src/collab/undo.ts +432 -0
- package/corpus/core/src/collab/ydoc-manager.ts +68 -0
- package/corpus/core/src/connections/catalog.ts +2 -3
- package/corpus/core/src/db/create-get-db.ts +86 -1
- package/corpus/core/src/db/ensure-additive-columns.ts +430 -0
- package/corpus/core/src/db/index.ts +6 -0
- package/corpus/core/src/db/migrations.ts +236 -35
- package/corpus/core/src/jobs/scheduler.ts +17 -14
- package/corpus/core/src/observability/traces.ts +182 -1
- package/corpus/core/src/org/context.ts +79 -2
- package/corpus/core/src/server/agent-chat-plugin.ts +10 -6
- package/corpus/core/src/server/auth-marketing.ts +0 -11
- package/corpus/core/src/server/auth.ts +11 -4
- package/corpus/core/src/server/collab-plugin.ts +56 -13
- package/corpus/core/src/server/design-token-utils.ts +1 -1
- package/corpus/core/src/server/fusion-app.ts +447 -0
- package/corpus/core/src/server/index.ts +13 -0
- package/corpus/core/src/server/onboarding-html.ts +3 -4
- package/corpus/core/src/server/poll-events.ts +14 -2
- package/corpus/core/src/server/poll.ts +219 -12
- package/corpus/core/src/server/schema-prompt.ts +28 -9
- package/corpus/core/src/settings/store.ts +33 -2
- package/corpus/core/src/sharing/actions/set-resource-visibility.ts +2 -0
- package/corpus/core/src/sharing/actions/share-resource.ts +3 -0
- package/corpus/core/src/sharing/actions/unshare-resource.ts +2 -0
- package/corpus/core/src/styles/agent-native.css +0 -5
- package/corpus/core/src/templates/default/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/corpus/core/src/templates/default/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/core/src/templates/default/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/core/src/templates/default/package.json +3 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +8 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +22 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/corpus/core/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +1 -0
- package/corpus/core/src/tracking/providers.ts +22 -1
- package/corpus/templates/analytics/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +20 -5
- package/corpus/templates/analytics/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/analytics/AGENTS.md +33 -6
- package/corpus/templates/analytics/actions/navigate.ts +14 -4
- package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +1 -1
- package/corpus/templates/analytics/actions/view-screen.ts +57 -0
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +23 -1
- package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +21 -0
- package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +7 -0
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +15 -1
- package/corpus/templates/analytics/app/i18n-data.ts +151 -10
- package/corpus/templates/analytics/app/pages/Agents.tsx +118 -0
- package/corpus/templates/analytics/app/pages/DataSources.tsx +11 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +76 -40
- package/corpus/templates/analytics/app/pages/sessions/session-replay-devtools.ts +5 -0
- package/corpus/templates/analytics/app/routes/agents.tsx +10 -0
- package/corpus/templates/analytics/changelog/2026-07-03-agent-admin-tools-page.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-03-agent-llm-observability-dashboard.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-03-session-recordings-now-include-response-bodies-for-5xx-error.md +6 -0
- package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +34 -0
- package/corpus/templates/analytics/docs/schemas/tracked-events.md +6 -0
- package/corpus/templates/analytics/package.json +3 -3
- package/corpus/templates/analytics/seeds/dashboards/agent-observability-llm.json +173 -0
- package/corpus/templates/analytics/server/jobs/analytics-alerts.ts +23 -5
- package/corpus/templates/analytics/server/lib/analytics-alerts.ts +58 -13
- package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +23 -0
- package/corpus/templates/analytics/server/lib/dashboard-seeds.ts +5 -0
- package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +120 -8
- package/corpus/templates/analytics/server/lib/session-replay.ts +3 -2
- package/corpus/templates/analytics/server/plugins/db.ts +93 -2
- package/corpus/templates/analytics/server/routes/api/session-replay/agent-diagnostics.json.get.ts +45 -1
- package/corpus/templates/analytics/shared/session-replay-diagnostics.ts +10 -0
- package/corpus/templates/assets/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/corpus/templates/assets/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/assets/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/assets/package.json +3 -3
- package/corpus/templates/assets/server/plugins/db.ts +63 -2
- package/corpus/templates/brain/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/brain/package.json +3 -3
- package/corpus/templates/brain/server/plugins/db.ts +75 -2
- package/corpus/templates/calendar/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/calendar/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/calendar/package.json +3 -3
- package/corpus/templates/calendar/server/plugins/db.ts +64 -2
- package/corpus/templates/chat/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/chat/package.json +3 -3
- package/corpus/templates/clips/actions/finalize-recording.ts +50 -40
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +8 -6
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +3 -3
- package/corpus/templates/clips/changelog/2026-07-03-mobile-recording-pages-keep-videos-in-a-16-9-player-with-act.md +6 -0
- package/corpus/templates/clips/package.json +3 -3
- package/corpus/templates/clips/server/lib/recording-upload-state.ts +56 -0
- package/corpus/templates/clips/server/plugins/db.ts +68 -1
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +27 -3
- package/corpus/templates/content/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/content/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/content/actions/edit-document.ts +48 -1
- package/corpus/templates/content/actions/list-documents.ts +101 -94
- package/corpus/templates/content/actions/search-documents.ts +19 -3
- package/corpus/templates/content/actions/update-document.ts +54 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +127 -7
- package/corpus/templates/content/app/components/editor/VisualEditor.tsx +97 -2
- package/corpus/templates/content/changelog/2026-07-03-agent-document-edits-now-appear-as-a-live-collaborator-prese.md +6 -0
- package/corpus/templates/content/changelog/2026-07-03-document-search-and-list-views-load-faster-on-large-workspac.md +6 -0
- package/corpus/templates/content/package.json +3 -3
- package/corpus/templates/content/server/plugins/db.ts +57 -1
- package/corpus/templates/design/.agents/skills/full-app-build/SKILL.md +140 -0
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +20 -0
- package/corpus/templates/design/AGENTS.md +50 -12
- package/corpus/templates/design/actions/add-fusion-screens.ts +91 -0
- package/corpus/templates/design/actions/apply-a11y-fix.ts +5 -1
- package/corpus/templates/design/actions/apply-component-prop-edit.ts +10 -2
- package/corpus/templates/design/actions/apply-fusion-edits.ts +161 -0
- package/corpus/templates/design/actions/apply-visual-edit.ts +34 -1
- package/corpus/templates/design/actions/create-component.ts +5 -1
- package/corpus/templates/design/actions/create-fusion-app.ts +202 -0
- package/corpus/templates/design/actions/deploy-fusion-app.ts +123 -0
- package/corpus/templates/design/actions/edit-design.ts +13 -16
- package/corpus/templates/design/actions/get-fusion-deploy-status.ts +86 -0
- package/corpus/templates/design/actions/list-fusion-edits.ts +96 -0
- package/corpus/templates/design/actions/list-local-files.ts +133 -0
- package/corpus/templates/design/actions/push-fusion-app.ts +62 -0
- package/corpus/templates/design/actions/queue-fusion-edit.ts +112 -0
- package/corpus/templates/design/actions/read-local-file.ts +139 -0
- package/corpus/templates/design/actions/send-fusion-message.ts +69 -0
- package/corpus/templates/design/actions/sync-fusion-app.ts +196 -0
- package/corpus/templates/design/actions/write-local-file.ts +115 -14
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +12 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +379 -0
- package/corpus/templates/design/app/components/design/EditPanel.tsx +149 -73
- package/corpus/templates/design/app/components/design/FusionAppBanner.tsx +328 -0
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +148 -30
- package/corpus/templates/design/app/components/design/LocalhostWriteConsentDialog.tsx +1 -1
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +567 -6
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +7 -98
- package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +85 -0
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +466 -0
- package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +53 -0
- package/corpus/templates/design/app/components/design/code-workbench/commands.ts +339 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/Breadcrumbs.tsx +42 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/BufferSync.tsx +128 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/EditorTabs.tsx +363 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +268 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/StatusBar.tsx +208 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/monaco-setup.ts +61 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/monaco-theme-palette.ts +191 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/monaco-theme.ts +29 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/status-bar-lang.ts +21 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/tab-drag.ts +27 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +155 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +551 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/file-icons.tsx +115 -0
- package/corpus/templates/design/app/components/design/code-workbench/format/format-on-open.ts +65 -0
- package/corpus/templates/design/app/components/design/code-workbench/format/prettier-format.ts +182 -0
- package/corpus/templates/design/app/components/design/code-workbench/model-registry.ts +133 -0
- package/corpus/templates/design/app/components/design/code-workbench/quickinput/QuickInput.tsx +563 -0
- package/corpus/templates/design/app/components/design/code-workbench/quickinput/fuzzy.ts +170 -0
- package/corpus/templates/design/app/components/design/code-workbench/search/SearchView.tsx +508 -0
- package/corpus/templates/design/app/components/design/code-workbench/search/search-engine.ts +280 -0
- package/corpus/templates/design/app/components/design/code-workbench/store.tsx +734 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/create-providers.ts +39 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/inline-provider.ts +196 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +177 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/tree.ts +110 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/types.ts +103 -0
- package/corpus/templates/design/app/components/design/code-workbench-theme.ts +68 -0
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +127 -10
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +52 -29
- package/corpus/templates/design/app/components/design/inspector/index.ts +9 -0
- package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +56 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +80 -1
- package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +6 -16
- package/corpus/templates/design/app/i18n/zh-TW.ts +2 -1
- package/corpus/templates/design/app/i18n-data.ts +31 -18
- package/corpus/templates/design/app/pages/DesignEditor.tsx +1474 -175
- package/corpus/templates/design/app/pages/Index.tsx +90 -17
- package/corpus/templates/design/changelog/2026-07-03-the-ai-now-edits-like-a-collaborator-on-canvas-its-cursor-gl.md +6 -0
- package/corpus/templates/design/changelog/2026-07-03-the-code-panel-is-now-a-full-vs-code-style-editor-with-a-fil.md +6 -0
- package/corpus/templates/design/package.json +4 -3
- package/corpus/templates/design/server/db/schema.ts +31 -0
- package/corpus/templates/design/server/lib/fusion-screens.ts +246 -0
- package/corpus/templates/design/server/plugins/db.ts +89 -2
- package/corpus/templates/design/shared/collab-selection.ts +52 -0
- package/corpus/templates/design/shared/full-app.ts +126 -0
- package/corpus/templates/design/shared/pen-path.ts +296 -0
- package/corpus/templates/dispatch/package.json +3 -3
- package/corpus/templates/forms/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/forms/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/forms/package.json +3 -3
- package/corpus/templates/forms/server/plugins/db.ts +62 -2
- package/corpus/templates/macros/package.json +3 -3
- package/corpus/templates/macros/server/plugins/db.ts +63 -2
- package/corpus/templates/mail/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/mail/.agents/skills/storing-data/SKILL.md +8 -0
- package/corpus/templates/mail/package.json +3 -3
- package/corpus/templates/mail/server/lib/contact-frequency.ts +42 -15
- package/corpus/templates/mail/server/plugins/db.ts +63 -2
- package/corpus/templates/plan/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/corpus/templates/plan/.agents/skills/visual-plan/SKILL.md +9 -3
- package/corpus/templates/plan/.agents/skills/visualize-repo/SKILL.md +92 -0
- package/corpus/templates/plan/actions/export-visual-plan.ts +5 -0
- package/corpus/templates/plan/actions/get-local-plan-folder.ts +4 -22
- package/corpus/templates/plan/actions/get-plan-version.ts +6 -16
- package/corpus/templates/plan/actions/list-plan-versions.ts +48 -20
- package/corpus/templates/plan/actions/patch-visual-plan-source.ts +41 -1
- package/corpus/templates/plan/actions/promote-local-plan-folder.ts +4 -22
- package/corpus/templates/plan/actions/update-local-plan-comments.ts +4 -2
- package/corpus/templates/plan/actions/update-local-plan-folder.ts +4 -22
- package/corpus/templates/plan/actions/update-visual-plan.ts +60 -1
- package/corpus/templates/plan/agent-native.app-skill.json +10 -0
- package/corpus/templates/plan/app/components/editor/PlanDocumentEditor.tsx +138 -39
- package/corpus/templates/plan/app/components/editor/usePlanUndoStack.ts +165 -23
- package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +80 -4
- package/corpus/templates/plan/app/global.css +11 -9
- package/corpus/templates/plan/app/hooks/use-navigation-state.ts +10 -1
- package/corpus/templates/plan/app/hooks/use-plan-presence.ts +66 -0
- package/corpus/templates/plan/app/pages/PlansPage.tsx +215 -63
- package/corpus/templates/plan/changelog/2026-07-03-local-visual-plans-and-recaps-can-save-comments-without-sign.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-03-plan-tabs-render-nested-text-instead-of-raw-json.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-03-plans-are-now-fully-real-time-collaborative-multiple-people-.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-03-plans-open-and-refresh-faster-especially-long-lived-plans-wi.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-03-undo-now-survives-agent-edits-cmd-z-keeps-working-on-your-ow.md +6 -0
- package/corpus/templates/plan/package.json +5 -3
- package/corpus/templates/plan/server/db/schema.ts +12 -0
- package/corpus/templates/plan/server/lib/local-plan-kind.ts +25 -0
- package/corpus/templates/plan/server/lib/plan-versions.ts +83 -1
- package/corpus/templates/plan/server/lib/public-action-paths.ts +0 -2
- package/corpus/templates/plan/server/plans.ts +26 -3
- package/corpus/templates/plan/server/plugins/db.ts +105 -2
- package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +8 -4
- package/corpus/templates/slides/AGENTS.md +4 -0
- package/corpus/templates/slides/actions/_agent-presence.ts +48 -0
- package/corpus/templates/slides/actions/add-slide.ts +16 -18
- package/corpus/templates/slides/actions/patch-deck.ts +4 -2
- package/corpus/templates/slides/actions/update-slide.ts +114 -77
- package/corpus/templates/slides/actions/view-screen.ts +39 -0
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +47 -3
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +32 -35
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +625 -199
- package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +342 -0
- package/corpus/templates/slides/app/components/editor/TweaksPanel.tsx +46 -96
- package/corpus/templates/slides/app/components/visual-editor/SaveStatusIndicator.tsx +8 -1
- package/corpus/templates/slides/app/context/DeckContext.tsx +589 -176
- package/corpus/templates/slides/app/hooks/use-deck-presence.ts +84 -42
- package/corpus/templates/slides/app/i18n/ar-SA.ts +46 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +46 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +46 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +46 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +46 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +46 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +46 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +46 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +46 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +46 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +46 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +25 -13
- package/corpus/templates/slides/changelog/2026-07-03-figma-style-slide-editing.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-03-see-the-ai-working-with-you-when-the-agent-edits-a-slide-it-.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-03-undo-redo-is-now-precise-and-safe-with-collaborators-it-only.md +6 -0
- package/corpus/templates/slides/package.json +3 -3
- package/corpus/templates/slides/server/handlers/decks.ts +31 -3
- package/corpus/templates/slides/server/plugins/db.ts +65 -2
- package/corpus/templates/videos/netlify.toml +1 -12
- package/dist/agent/run-store.js +1 -1
- package/dist/agent/run-store.js.map +1 -1
- package/dist/chat-threads/store.d.ts +9 -1
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +63 -11
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/checkpoints/store.d.ts.map +1 -1
- package/dist/checkpoints/store.js +10 -2
- package/dist/checkpoints/store.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +3 -5
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/design-connect.d.ts +49 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +414 -9
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/cli/index.js +12 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plan-local.d.ts +24 -0
- package/dist/cli/plan-local.d.ts.map +1 -1
- package/dist/cli/plan-local.js +188 -20
- package/dist/cli/plan-local.js.map +1 -1
- package/dist/cli/skills.d.ts +3 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +173 -21
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +0 -14
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/cli/visualize-repo.d.ts +49 -0
- package/dist/cli/visualize-repo.d.ts.map +1 -0
- package/dist/cli/visualize-repo.js +561 -0
- package/dist/cli/visualize-repo.js.map +1 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +120 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +6 -5
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts +2 -2
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/collab/index.d.ts +4 -1
- package/dist/client/collab/index.d.ts.map +1 -1
- package/dist/client/collab/index.js +3 -0
- package/dist/client/collab/index.js.map +1 -1
- package/dist/client/components/LiveCursorOverlay.d.ts.map +1 -1
- package/dist/client/components/LiveCursorOverlay.js +11 -3
- package/dist/client/components/LiveCursorOverlay.js.map +1 -1
- package/dist/client/components/PresenceBar.d.ts.map +1 -1
- package/dist/client/components/PresenceBar.js +6 -1
- package/dist/client/components/PresenceBar.js.map +1 -1
- package/dist/client/components/RecentEditHighlights.d.ts +43 -0
- package/dist/client/components/RecentEditHighlights.d.ts.map +1 -0
- package/dist/client/components/RecentEditHighlights.js +146 -0
- package/dist/client/components/RecentEditHighlights.js.map +1 -0
- package/dist/client/components/RemoteSelectionRings.d.ts +9 -0
- package/dist/client/components/RemoteSelectionRings.d.ts.map +1 -1
- package/dist/client/components/RemoteSelectionRings.js +22 -8
- package/dist/client/components/RemoteSelectionRings.js.map +1 -1
- package/dist/client/index.d.ts +6 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +1 -3
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +8 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +8 -2
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -1
- package/dist/client/rich-markdown-editor/index.d.ts +1 -0
- package/dist/client/rich-markdown-editor/index.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/index.js +1 -0
- package/dist/client/rich-markdown-editor/index.js.map +1 -1
- package/dist/client/rich-markdown-editor/surgical-apply.d.ts +66 -0
- package/dist/client/rich-markdown-editor/surgical-apply.d.ts.map +1 -0
- package/dist/client/rich-markdown-editor/surgical-apply.js +147 -0
- package/dist/client/rich-markdown-editor/surgical-apply.js.map +1 -0
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts +18 -2
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +39 -8
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -1
- package/dist/client/session-replay.d.ts +10 -1
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +134 -7
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +81 -1
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/use-action.d.ts +24 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +109 -27
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +7 -1
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +11 -3
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-db-sync.d.ts +36 -0
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +68 -12
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/visual-style-controls.d.ts +79 -0
- package/dist/client/visual-style-controls.d.ts.map +1 -0
- package/dist/client/visual-style-controls.js +150 -0
- package/dist/client/visual-style-controls.js.map +1 -0
- package/dist/collab/agent-presence.d.ts +51 -5
- package/dist/collab/agent-presence.d.ts.map +1 -1
- package/dist/collab/agent-presence.js +144 -58
- package/dist/collab/agent-presence.js.map +1 -1
- package/dist/collab/awareness-store.d.ts +32 -0
- package/dist/collab/awareness-store.d.ts.map +1 -0
- package/dist/collab/awareness-store.js +0 -0
- package/dist/collab/awareness-store.js.map +1 -0
- package/dist/collab/awareness.d.ts +12 -1
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/awareness.js +53 -5
- package/dist/collab/awareness.js.map +1 -1
- package/dist/collab/client.d.ts +2 -0
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +79 -119
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.d.ts +3 -1
- package/dist/collab/index.d.ts.map +1 -1
- package/dist/collab/index.js +5 -1
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/recent-edits.d.ts +87 -0
- package/dist/collab/recent-edits.d.ts.map +1 -0
- package/dist/collab/recent-edits.js +116 -0
- package/dist/collab/recent-edits.js.map +1 -0
- package/dist/collab/routes.d.ts +2 -2
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/collab/undo.d.ts +121 -0
- package/dist/collab/undo.d.ts.map +1 -0
- package/dist/collab/undo.js +244 -0
- package/dist/collab/undo.js.map +1 -0
- package/dist/collab/ydoc-manager.d.ts +10 -0
- package/dist/collab/ydoc-manager.d.ts.map +1 -1
- package/dist/collab/ydoc-manager.js +57 -0
- package/dist/collab/ydoc-manager.js.map +1 -1
- package/dist/connections/catalog.d.ts +2 -2
- package/dist/connections/catalog.d.ts.map +1 -1
- package/dist/connections/catalog.js +1 -1
- package/dist/connections/catalog.js.map +1 -1
- package/dist/db/create-get-db.d.ts +22 -0
- package/dist/db/create-get-db.d.ts.map +1 -1
- package/dist/db/create-get-db.js +73 -1
- package/dist/db/create-get-db.js.map +1 -1
- package/dist/db/ensure-additive-columns.d.ts +93 -0
- package/dist/db/ensure-additive-columns.d.ts.map +1 -0
- package/dist/db/ensure-additive-columns.js +355 -0
- package/dist/db/ensure-additive-columns.js.map +1 -0
- package/dist/db/index.d.ts +1 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +70 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +196 -33
- package/dist/db/migrations.js.map +1 -1
- package/dist/jobs/scheduler.js +17 -10
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +2 -2
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js +155 -1
- package/dist/observability/traces.js.map +1 -1
- package/dist/org/context.d.ts +7 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +54 -2
- package/dist/org/context.js.map +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +10 -6
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth-marketing.d.ts.map +1 -1
- package/dist/server/auth-marketing.js +0 -10
- package/dist/server/auth-marketing.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +6 -4
- package/dist/server/auth.js.map +1 -1
- package/dist/server/collab-plugin.d.ts.map +1 -1
- package/dist/server/collab-plugin.js +45 -13
- package/dist/server/collab-plugin.js.map +1 -1
- package/dist/server/design-token-utils.d.ts +1 -1
- package/dist/server/design-token-utils.js +1 -1
- package/dist/server/design-token-utils.js.map +1 -1
- package/dist/server/fusion-app.d.ts +107 -0
- package/dist/server/fusion-app.d.ts.map +1 -0
- package/dist/server/fusion-app.js +371 -0
- package/dist/server/fusion-app.js.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +3 -4
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll-events.d.ts +2 -0
- package/dist/server/poll-events.d.ts.map +1 -1
- package/dist/server/poll-events.js +7 -2
- package/dist/server/poll-events.js.map +1 -1
- package/dist/server/poll.d.ts +47 -3
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +176 -10
- package/dist/server/poll.js.map +1 -1
- package/dist/server/schema-prompt.d.ts.map +1 -1
- package/dist/server/schema-prompt.js +24 -7
- package/dist/server/schema-prompt.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/settings/store.d.ts.map +1 -1
- package/dist/settings/store.js +32 -3
- package/dist/settings/store.js.map +1 -1
- package/dist/sharing/actions/set-resource-visibility.js +2 -0
- package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
- package/dist/sharing/actions/share-resource.d.ts.map +1 -1
- package/dist/sharing/actions/share-resource.js +3 -0
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/sharing/actions/unshare-resource.js +2 -0
- package/dist/sharing/actions/unshare-resource.js.map +1 -1
- package/dist/styles/agent-native.css +0 -5
- package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/dist/templates/default/.agents/skills/storing-data/SKILL.md +8 -0
- package/dist/templates/default/package.json +3 -3
- package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +8 -0
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +22 -0
- package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +8 -0
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +1 -0
- package/dist/tracking/providers.d.ts.map +1 -1
- package/dist/tracking/providers.js +17 -1
- package/dist/tracking/providers.js.map +1 -1
- package/docs/content/cloneable-saas.mdx +0 -1
- package/docs/content/locales/ar-SA/cloneable-saas.mdx +0 -1
- package/docs/content/locales/ar-SA/plan-plugin.mdx +10 -9
- package/docs/content/locales/ar-SA/sharing.mdx +1 -2
- package/docs/content/locales/ar-SA/skills-guide.mdx +2 -3
- package/docs/content/locales/ar-SA/template-plan.mdx +23 -7
- package/docs/content/locales/ar-SA/tracking.mdx +1 -1
- package/docs/content/locales/ar-SA/workspace-connections.mdx +11 -11
- package/docs/content/locales/de-DE/cloneable-saas.mdx +0 -1
- package/docs/content/locales/de-DE/plan-plugin.mdx +10 -9
- package/docs/content/locales/de-DE/sharing.mdx +1 -2
- package/docs/content/locales/de-DE/skills-guide.mdx +2 -3
- package/docs/content/locales/de-DE/template-plan.mdx +23 -7
- package/docs/content/locales/de-DE/tracking.mdx +1 -1
- package/docs/content/locales/de-DE/workspace-connections.mdx +1 -1
- package/docs/content/locales/es-ES/cloneable-saas.mdx +0 -1
- package/docs/content/locales/es-ES/plan-plugin.mdx +10 -9
- package/docs/content/locales/es-ES/sharing.mdx +1 -2
- package/docs/content/locales/es-ES/skills-guide.mdx +2 -3
- package/docs/content/locales/es-ES/template-plan.mdx +23 -7
- package/docs/content/locales/es-ES/tracking.mdx +1 -1
- package/docs/content/locales/es-ES/workspace-connections.mdx +1 -1
- package/docs/content/locales/fr-FR/cloneable-saas.mdx +0 -1
- package/docs/content/locales/fr-FR/plan-plugin.mdx +10 -9
- package/docs/content/locales/fr-FR/sharing.mdx +1 -2
- package/docs/content/locales/fr-FR/skills-guide.mdx +2 -3
- package/docs/content/locales/fr-FR/template-plan.mdx +23 -7
- package/docs/content/locales/fr-FR/tracking.mdx +1 -1
- package/docs/content/locales/fr-FR/workspace-connections.mdx +1 -1
- package/docs/content/locales/hi-IN/cloneable-saas.mdx +0 -1
- package/docs/content/locales/hi-IN/plan-plugin.mdx +10 -9
- package/docs/content/locales/hi-IN/sharing.mdx +1 -2
- package/docs/content/locales/hi-IN/skills-guide.mdx +2 -3
- package/docs/content/locales/hi-IN/template-plan.mdx +23 -7
- package/docs/content/locales/hi-IN/tracking.mdx +1 -1
- package/docs/content/locales/hi-IN/workspace-connections.mdx +1 -1
- package/docs/content/locales/ja-JP/cloneable-saas.mdx +0 -1
- package/docs/content/locales/ja-JP/plan-plugin.mdx +10 -9
- package/docs/content/locales/ja-JP/sharing.mdx +1 -2
- package/docs/content/locales/ja-JP/skills-guide.mdx +2 -3
- package/docs/content/locales/ja-JP/template-plan.mdx +23 -7
- package/docs/content/locales/ja-JP/tracking.mdx +1 -1
- package/docs/content/locales/ja-JP/workspace-connections.mdx +1 -1
- package/docs/content/locales/ko-KR/cloneable-saas.mdx +0 -1
- package/docs/content/locales/ko-KR/plan-plugin.mdx +10 -9
- package/docs/content/locales/ko-KR/sharing.mdx +1 -2
- package/docs/content/locales/ko-KR/skills-guide.mdx +2 -3
- package/docs/content/locales/ko-KR/template-plan.mdx +23 -7
- package/docs/content/locales/ko-KR/tracking.mdx +1 -1
- package/docs/content/locales/ko-KR/workspace-connections.mdx +1 -1
- package/docs/content/locales/pt-BR/cloneable-saas.mdx +0 -1
- package/docs/content/locales/pt-BR/plan-plugin.mdx +10 -9
- package/docs/content/locales/pt-BR/sharing.mdx +1 -2
- package/docs/content/locales/pt-BR/skills-guide.mdx +2 -3
- package/docs/content/locales/pt-BR/template-plan.mdx +23 -7
- package/docs/content/locales/pt-BR/tracking.mdx +1 -1
- package/docs/content/locales/pt-BR/workspace-connections.mdx +1 -1
- package/docs/content/locales/zh-CN/cloneable-saas.mdx +0 -1
- package/docs/content/locales/zh-CN/plan-plugin.mdx +10 -9
- package/docs/content/locales/zh-CN/sharing.mdx +1 -2
- package/docs/content/locales/zh-CN/skills-guide.mdx +2 -3
- package/docs/content/locales/zh-CN/template-plan.mdx +23 -7
- package/docs/content/locales/zh-CN/tracking.mdx +1 -1
- package/docs/content/locales/zh-CN/workspace-connections.mdx +1 -1
- package/docs/content/locales/zh-TW/cloneable-saas.mdx +0 -1
- package/docs/content/locales/zh-TW/plan-plugin.mdx +10 -9
- package/docs/content/locales/zh-TW/sharing.mdx +1 -2
- package/docs/content/locales/zh-TW/skills-guide.mdx +2 -3
- package/docs/content/locales/zh-TW/template-plan.mdx +23 -7
- package/docs/content/locales/zh-TW/tracking.mdx +1 -1
- package/docs/content/locales/zh-TW/workspace-connections.mdx +1 -1
- package/docs/content/plan-plugin.mdx +12 -11
- package/docs/content/sharing.mdx +1 -2
- package/docs/content/skills-guide.mdx +4 -3
- package/docs/content/template-plan.mdx +37 -6
- package/docs/content/tracking.mdx +1 -1
- package/docs/content/workspace-connections.mdx +1 -1
- package/package.json +6 -6
- package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +8 -0
- package/src/templates/default/package.json +3 -3
- package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +8 -0
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +22 -0
- package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +82 -19
- package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +15 -0
- package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +8 -0
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +1 -0
- package/corpus/core/docs/content/locales/ar-SA/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/de-DE/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/es-ES/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/fr-FR/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/hi-IN/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/ja-JP/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/ko-KR/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/pt-BR/template-videos.mdx +0 -336
- package/corpus/core/docs/content/locales/zh-CN/template-videos.mdx +0 -334
- package/corpus/core/docs/content/locales/zh-TW/template-videos.mdx +0 -334
- package/corpus/core/docs/content/template-videos.mdx +0 -332
- package/corpus/templates/design/app/components/design/CodeWorkbenchHost.tsx +0 -697
- package/corpus/templates/slides/app/components/editor/CodeEditor.tsx +0 -49
- package/corpus/templates/videos/.agents/skills/actions/SKILL.md +0 -432
- package/corpus/templates/videos/.agents/skills/animation-tracks/SKILL.md +0 -99
- package/corpus/templates/videos/.agents/skills/capture-learnings/SKILL.md +0 -76
- package/corpus/templates/videos/.agents/skills/composition-management/SKILL.md +0 -106
- package/corpus/templates/videos/.agents/skills/create-skill/SKILL.md +0 -221
- package/corpus/templates/videos/.agents/skills/delegate-to-agent/SKILL.md +0 -263
- package/corpus/templates/videos/.agents/skills/frontend-design/SKILL.md +0 -112
- package/corpus/templates/videos/.agents/skills/security/SKILL.md +0 -263
- package/corpus/templates/videos/.agents/skills/self-modifying-code/SKILL.md +0 -88
- package/corpus/templates/videos/.agents/skills/shadcn-ui/SKILL.md +0 -95
- package/corpus/templates/videos/.builder/ANIMATED_PROPERTIES.md +0 -335
- package/corpus/templates/videos/.builder/KEYFRAME_SYNC.md +0 -166
- package/corpus/templates/videos/.builder/SEAMLESS_SYNC.md +0 -211
- package/corpus/templates/videos/.builder/rules/deploy-app.mdc +0 -22
- package/corpus/templates/videos/.builder/rules/organize-ui.mdc +0 -9
- package/corpus/templates/videos/.builder/skills/remotion/SKILL.md +0 -29
- package/corpus/templates/videos/.builder/skills/remotion/rules/animations.md +0 -27
- package/corpus/templates/videos/.builder/skills/remotion/rules/assets.md +0 -43
- package/corpus/templates/videos/.builder/skills/remotion/rules/audio.md +0 -58
- package/corpus/templates/videos/.builder/skills/remotion/rules/compositions.md +0 -129
- package/corpus/templates/videos/.builder/skills/remotion/rules/fonts.md +0 -47
- package/corpus/templates/videos/.builder/skills/remotion/rules/images.md +0 -41
- package/corpus/templates/videos/.builder/skills/remotion/rules/parameters.md +0 -59
- package/corpus/templates/videos/.builder/skills/remotion/rules/sequencing.md +0 -54
- package/corpus/templates/videos/.builder/skills/remotion/rules/tailwind.md +0 -11
- package/corpus/templates/videos/.builder/skills/remotion/rules/text-animations.md +0 -18
- package/corpus/templates/videos/.builder/skills/remotion/rules/timing.md +0 -103
- package/corpus/templates/videos/.builder/skills/remotion/rules/transparent-videos.md +0 -35
- package/corpus/templates/videos/.builder/skills/remotion/rules/trimming.md +0 -38
- package/corpus/templates/videos/.builder/skills/remotion/rules/videos.md +0 -54
- package/corpus/templates/videos/.dockerignore +0 -62
- package/corpus/templates/videos/.env.example +0 -4
- package/corpus/templates/videos/.oxfmtrc.json +0 -8
- package/corpus/templates/videos/AGENTS.md +0 -46
- package/corpus/templates/videos/CHANGELOG.md +0 -10
- package/corpus/templates/videos/DEVELOPING.md +0 -143
- package/corpus/templates/videos/README.md +0 -33
- package/corpus/templates/videos/actions/analyze-brand-assets.ts +0 -151
- package/corpus/templates/videos/actions/apply-design-system.ts +0 -35
- package/corpus/templates/videos/actions/create-design-system.ts +0 -84
- package/corpus/templates/videos/actions/create-folder.ts +0 -48
- package/corpus/templates/videos/actions/db-connect.ts +0 -45
- package/corpus/templates/videos/actions/db-health.ts +0 -24
- package/corpus/templates/videos/actions/db-status.ts +0 -28
- package/corpus/templates/videos/actions/delete-composition.ts +0 -272
- package/corpus/templates/videos/actions/delete-folder.ts +0 -27
- package/corpus/templates/videos/actions/generate-animated-component.ts +0 -470
- package/corpus/templates/videos/actions/get-composition.ts +0 -36
- package/corpus/templates/videos/actions/get-design-system.ts +0 -35
- package/corpus/templates/videos/actions/import-code.ts +0 -67
- package/corpus/templates/videos/actions/import-design-project.ts +0 -42
- package/corpus/templates/videos/actions/import-document.ts +0 -125
- package/corpus/templates/videos/actions/import-from-url.ts +0 -18
- package/corpus/templates/videos/actions/import-github.ts +0 -182
- package/corpus/templates/videos/actions/list-compositions.ts +0 -32
- package/corpus/templates/videos/actions/list-design-systems.ts +0 -66
- package/corpus/templates/videos/actions/list-folders.ts +0 -61
- package/corpus/templates/videos/actions/move-composition-to-folder.ts +0 -59
- package/corpus/templates/videos/actions/navigate.ts +0 -40
- package/corpus/templates/videos/actions/rename-folder.ts +0 -41
- package/corpus/templates/videos/actions/run.ts +0 -2
- package/corpus/templates/videos/actions/save-composition.ts +0 -114
- package/corpus/templates/videos/actions/set-default-design-system.ts +0 -40
- package/corpus/templates/videos/actions/update-composition.ts +0 -81
- package/corpus/templates/videos/actions/update-design-system.ts +0 -68
- package/corpus/templates/videos/actions/validate-compositions.ts +0 -502
- package/corpus/templates/videos/actions/view-screen.ts +0 -48
- package/corpus/templates/videos/app/components/CameraControls.tsx +0 -442
- package/corpus/templates/videos/app/components/CameraToolbar.tsx +0 -437
- package/corpus/templates/videos/app/components/CloudUpgrade.tsx +0 -287
- package/corpus/templates/videos/app/components/CollabPresenceBar.tsx +0 -81
- package/corpus/templates/videos/app/components/CompSettingsEditor.tsx +0 -107
- package/corpus/templates/videos/app/components/ComponentLibrarySidebar.tsx +0 -457
- package/corpus/templates/videos/app/components/ComponentPropsPanel.tsx +0 -227
- package/corpus/templates/videos/app/components/ComponentsSidebar.tsx +0 -70
- package/corpus/templates/videos/app/components/CompositionCard.tsx +0 -147
- package/corpus/templates/videos/app/components/CurrentElementPanel.tsx +0 -835
- package/corpus/templates/videos/app/components/CursorControls.tsx +0 -664
- package/corpus/templates/videos/app/components/CursorPositioningOverlay.tsx +0 -238
- package/corpus/templates/videos/app/components/LibraryFolderRow.tsx +0 -235
- package/corpus/templates/videos/app/components/MotionCurveSelect.tsx +0 -61
- package/corpus/templates/videos/app/components/NewCompositionPopover.tsx +0 -192
- package/corpus/templates/videos/app/components/PropsEditor.tsx +0 -210
- package/corpus/templates/videos/app/components/QuestionFlow.tsx +0 -40
- package/corpus/templates/videos/app/components/Sidebar.tsx +0 -609
- package/corpus/templates/videos/app/components/StudioHeader.tsx +0 -109
- package/corpus/templates/videos/app/components/Timeline.tsx +0 -2067
- package/corpus/templates/videos/app/components/TrackPropertiesPanel.tsx +0 -922
- package/corpus/templates/videos/app/components/TweaksPanel.tsx +0 -277
- package/corpus/templates/videos/app/components/VideoPlayer.tsx +0 -487
- package/corpus/templates/videos/app/components/design-system/DesignSystemCard.tsx +0 -134
- package/corpus/templates/videos/app/components/design-system/DesignSystemPreview.tsx +0 -176
- package/corpus/templates/videos/app/components/design-system/DesignSystemSetup.tsx +0 -707
- package/corpus/templates/videos/app/components/keyframes/KeyframeActionButtons.tsx +0 -78
- package/corpus/templates/videos/app/components/keyframes/KeyframeNavigation.tsx +0 -59
- package/corpus/templates/videos/app/components/keyframes/PropertyNumberInput.tsx +0 -56
- package/corpus/templates/videos/app/components/layout/Header.tsx +0 -64
- package/corpus/templates/videos/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/videos/app/components/layout/Layout.tsx +0 -132
- package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +0 -180
- package/corpus/templates/videos/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/videos/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/videos/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/videos/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/videos/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/videos/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/videos/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/videos/app/components/ui/button.tsx +0 -57
- package/corpus/templates/videos/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/videos/app/components/ui/card.tsx +0 -86
- package/corpus/templates/videos/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/videos/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/videos/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/videos/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/videos/app/components/ui/command.tsx +0 -154
- package/corpus/templates/videos/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/videos/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/videos/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/videos/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/videos/app/components/ui/form.tsx +0 -177
- package/corpus/templates/videos/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/videos/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/videos/app/components/ui/input.tsx +0 -22
- package/corpus/templates/videos/app/components/ui/label.tsx +0 -24
- package/corpus/templates/videos/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/videos/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/videos/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/videos/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/videos/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/videos/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/videos/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/videos/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/videos/app/components/ui/select.tsx +0 -158
- package/corpus/templates/videos/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/videos/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/videos/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/videos/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/videos/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/videos/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/videos/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/videos/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/videos/app/components/ui/table.tsx +0 -117
- package/corpus/templates/videos/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/videos/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/videos/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/videos/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/videos/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/videos/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/videos/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/videos/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/videos/app/config/constants.ts +0 -204
- package/corpus/templates/videos/app/contexts/CompositionContext.tsx +0 -437
- package/corpus/templates/videos/app/contexts/CurrentElementContext.tsx +0 -247
- package/corpus/templates/videos/app/contexts/PlaybackContext.tsx +0 -65
- package/corpus/templates/videos/app/contexts/TimelineContext.tsx +0 -433
- package/corpus/templates/videos/app/entry.client.tsx +0 -19
- package/corpus/templates/videos/app/entry.server.tsx +0 -10
- package/corpus/templates/videos/app/global.css +0 -171
- package/corpus/templates/videos/app/hooks/use-composition-collab.ts +0 -269
- package/corpus/templates/videos/app/hooks/use-composition-design-system.ts +0 -47
- package/corpus/templates/videos/app/hooks/use-database-compositions.ts +0 -144
- package/corpus/templates/videos/app/hooks/use-db-status.ts +0 -30
- package/corpus/templates/videos/app/hooks/use-design-systems.ts +0 -21
- package/corpus/templates/videos/app/hooks/use-folders.ts +0 -199
- package/corpus/templates/videos/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/videos/app/hooks/use-navigation-state.ts +0 -52
- package/corpus/templates/videos/app/hooks/use-question-flow.ts +0 -14
- package/corpus/templates/videos/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/videos/app/hooks/useUnsavedChanges.ts +0 -48
- package/corpus/templates/videos/app/i18n/ar-SA.ts +0 -446
- package/corpus/templates/videos/app/i18n/de-DE.ts +0 -470
- package/corpus/templates/videos/app/i18n/en-US.ts +0 -452
- package/corpus/templates/videos/app/i18n/es-ES.ts +0 -468
- package/corpus/templates/videos/app/i18n/fr-FR.ts +0 -469
- package/corpus/templates/videos/app/i18n/hi-IN.ts +0 -446
- package/corpus/templates/videos/app/i18n/index.ts +0 -34
- package/corpus/templates/videos/app/i18n/ja-JP.ts +0 -460
- package/corpus/templates/videos/app/i18n/ko-KR.ts +0 -453
- package/corpus/templates/videos/app/i18n/pt-BR.ts +0 -461
- package/corpus/templates/videos/app/i18n/zh-CN.ts +0 -437
- package/corpus/templates/videos/app/i18n/zh-TW.ts +0 -437
- package/corpus/templates/videos/app/lib/database-compositions.ts +0 -67
- package/corpus/templates/videos/app/lib/design-systems.ts +0 -234
- package/corpus/templates/videos/app/lib/tab-id.ts +0 -1
- package/corpus/templates/videos/app/lib/utils.ts +0 -1
- package/corpus/templates/videos/app/pages/ComponentLibrary.tsx +0 -134
- package/corpus/templates/videos/app/pages/ComponentLibraryView.tsx +0 -362
- package/corpus/templates/videos/app/pages/CompositionView.tsx +0 -715
- package/corpus/templates/videos/app/pages/DesignSystems.tsx +0 -180
- package/corpus/templates/videos/app/pages/Index.tsx +0 -258
- package/corpus/templates/videos/app/pages/NewComposition.tsx +0 -95
- package/corpus/templates/videos/app/pages/NotFound.tsx +0 -36
- package/corpus/templates/videos/app/remotion/CameraHost.tsx +0 -223
- package/corpus/templates/videos/app/remotion/animations/useElementAnimations.ts +0 -231
- package/corpus/templates/videos/app/remotion/componentRegistry.ts +0 -473
- package/corpus/templates/videos/app/remotion/components/AnimatedElement.tsx +0 -436
- package/corpus/templates/videos/app/remotion/components/InteractiveElement.tsx +0 -159
- package/corpus/templates/videos/app/remotion/components/InteractiveZoneEditor.tsx +0 -273
- package/corpus/templates/videos/app/remotion/compositions/BlankComposition.tsx +0 -204
- package/corpus/templates/videos/app/remotion/compositions/index.ts +0 -2
- package/corpus/templates/videos/app/remotion/createComponentCursorTrack.ts +0 -132
- package/corpus/templates/videos/app/remotion/docs/CURSOR_TRACKS.md +0 -285
- package/corpus/templates/videos/app/remotion/easingFunctions.ts +0 -255
- package/corpus/templates/videos/app/remotion/hooks/createInteractiveComposition.tsx +0 -283
- package/corpus/templates/videos/app/remotion/hooks/useCursorHistory.ts +0 -72
- package/corpus/templates/videos/app/remotion/hooks/useCursorTypeFromHover.ts +0 -35
- package/corpus/templates/videos/app/remotion/hooks/useEditableZones.tsx +0 -267
- package/corpus/templates/videos/app/remotion/hooks/useHoverAnimation.ts +0 -90
- package/corpus/templates/videos/app/remotion/hooks/useHoverAnimationSmooth.ts +0 -146
- package/corpus/templates/videos/app/remotion/hooks/useInteractiveComponent.ts +0 -711
- package/corpus/templates/videos/app/remotion/hooks/useRegisterInteractiveElement.ts +0 -56
- package/corpus/templates/videos/app/remotion/library-components/Button.tsx +0 -252
- package/corpus/templates/videos/app/remotion/library-components/Card.tsx +0 -241
- package/corpus/templates/videos/app/remotion/library-components/CodePanel.tsx +0 -1005
- package/corpus/templates/videos/app/remotion/library-components/FileItem.tsx +0 -196
- package/corpus/templates/videos/app/remotion/library-components/FolderItem.tsx +0 -199
- package/corpus/templates/videos/app/remotion/library-components/PrimaryButton.tsx +0 -177
- package/corpus/templates/videos/app/remotion/library-components/SecondaryButton.tsx +0 -167
- package/corpus/templates/videos/app/remotion/library-components/SectionHeader.tsx +0 -108
- package/corpus/templates/videos/app/remotion/library-components/TEMPLATE.tsx +0 -211
- package/corpus/templates/videos/app/remotion/library-components/index.ts +0 -10
- package/corpus/templates/videos/app/remotion/registry.ts +0 -91
- package/corpus/templates/videos/app/remotion/testing/animationTestUtils.ts +0 -366
- package/corpus/templates/videos/app/remotion/trackAnimation.ts +0 -179
- package/corpus/templates/videos/app/remotion/trackHelpers.ts +0 -110
- package/corpus/templates/videos/app/remotion/ui-components/Cursor.tsx +0 -182
- package/corpus/templates/videos/app/remotion/ui-components/InteractiveButton.tsx +0 -116
- package/corpus/templates/videos/app/remotion/ui-components/InteractiveCard.tsx +0 -126
- package/corpus/templates/videos/app/remotion/ui-components/index.ts +0 -16
- package/corpus/templates/videos/app/remotion/utils/animationHelpers.ts +0 -444
- package/corpus/templates/videos/app/remotion/utils/interactiveElements.ts +0 -235
- package/corpus/templates/videos/app/remotion/utils/springAnimation.ts +0 -76
- package/corpus/templates/videos/app/root.tsx +0 -165
- package/corpus/templates/videos/app/routes/$.tsx +0 -10
- package/corpus/templates/videos/app/routes/_index.tsx +0 -25
- package/corpus/templates/videos/app/routes/c.$compositionId.tsx +0 -10
- package/corpus/templates/videos/app/routes/components.tsx +0 -10
- package/corpus/templates/videos/app/routes/design-systems.tsx +0 -10
- package/corpus/templates/videos/app/routes/extensions.$id.$slug.tsx +0 -2
- package/corpus/templates/videos/app/routes/extensions.$id.tsx +0 -5
- package/corpus/templates/videos/app/routes/extensions._index.tsx +0 -5
- package/corpus/templates/videos/app/routes/extensions.tsx +0 -5
- package/corpus/templates/videos/app/routes/settings.tsx +0 -88
- package/corpus/templates/videos/app/routes/team.tsx +0 -11
- package/corpus/templates/videos/app/routes.ts +0 -4
- package/corpus/templates/videos/app/state.ts +0 -77
- package/corpus/templates/videos/app/types/elementAnimations.ts +0 -121
- package/corpus/templates/videos/app/types.ts +0 -200
- package/corpus/templates/videos/app/utils/compositionHelpers.ts +0 -445
- package/corpus/templates/videos/app/utils/debug.ts +0 -63
- package/corpus/templates/videos/app/utils/keyframeUtils.ts +0 -331
- package/corpus/templates/videos/app/utils/timelineCoordinates.ts +0 -79
- package/corpus/templates/videos/app/vite-env.d.ts +0 -6
- package/corpus/templates/videos/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +0 -6
- package/corpus/templates/videos/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +0 -6
- package/corpus/templates/videos/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +0 -6
- package/corpus/templates/videos/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +0 -6
- package/corpus/templates/videos/changelog/2026-06-29-video-layouts-adapt-when-the-agent-sidebar-is-open.md +0 -6
- package/corpus/templates/videos/components.json +0 -20
- package/corpus/templates/videos/data/sync-config.json +0 -3
- package/corpus/templates/videos/docs/examples/create-composition.example.ts +0 -128
- package/corpus/templates/videos/drizzle.config.ts +0 -3
- package/corpus/templates/videos/learnings.defaults.md +0 -5
- package/corpus/templates/videos/package.json +0 -114
- package/corpus/templates/videos/public/agent-native-icon-dark.svg +0 -10
- package/corpus/templates/videos/public/agent-native-icon-light.svg +0 -10
- package/corpus/templates/videos/public/agent-native-logo-dark.svg +0 -21
- package/corpus/templates/videos/public/agent-native-logo-light.svg +0 -21
- package/corpus/templates/videos/public/favicon.svg +0 -1
- package/corpus/templates/videos/public/icon-180.svg +0 -1
- package/corpus/templates/videos/public/icon-192.svg +0 -1
- package/corpus/templates/videos/public/icon-512.svg +0 -1
- package/corpus/templates/videos/public/manifest.json +0 -21
- package/corpus/templates/videos/public/placeholder.svg +0 -1
- package/corpus/templates/videos/public/robots.txt +0 -14
- package/corpus/templates/videos/react-router.config.ts +0 -7
- package/corpus/templates/videos/server/db/index.ts +0 -37
- package/corpus/templates/videos/server/db/schema.ts +0 -55
- package/corpus/templates/videos/server/middleware/auth.ts +0 -15
- package/corpus/templates/videos/server/plugins/agent-chat.ts +0 -29
- package/corpus/templates/videos/server/plugins/auth.ts +0 -14
- package/corpus/templates/videos/server/plugins/collab.ts +0 -11
- package/corpus/templates/videos/server/plugins/core-routes.ts +0 -22
- package/corpus/templates/videos/server/plugins/db.ts +0 -160
- package/corpus/templates/videos/server/routes/[...page].get.ts +0 -5
- package/corpus/templates/videos/server/routes/[...page].head.ts +0 -1
- package/corpus/templates/videos/server/routes/api/save-composition-defaults.post.ts +0 -274
- package/corpus/templates/videos/shared/api.ts +0 -75
- package/corpus/templates/videos/ssr-entry.ts +0 -15
- package/corpus/templates/videos/tsconfig.json +0 -21
- package/corpus/templates/videos/vite.config.ts +0 -19
- package/corpus/templates/videos/vitest.config.ts +0 -16
- package/docs/content/locales/ar-SA/template-videos.mdx +0 -336
- package/docs/content/locales/de-DE/template-videos.mdx +0 -336
- package/docs/content/locales/es-ES/template-videos.mdx +0 -336
- package/docs/content/locales/fr-FR/template-videos.mdx +0 -336
- package/docs/content/locales/hi-IN/template-videos.mdx +0 -336
- package/docs/content/locales/ja-JP/template-videos.mdx +0 -336
- package/docs/content/locales/ko-KR/template-videos.mdx +0 -336
- package/docs/content/locales/pt-BR/template-videos.mdx +0 -336
- package/docs/content/locales/zh-CN/template-videos.mdx +0 -334
- package/docs/content/locales/zh-TW/template-videos.mdx +0 -334
- package/docs/content/template-videos.mdx +0 -332
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Vídeo"
|
|
3
|
-
description: "Um estúdio de vídeo programático para gráficos em movimento, demonstrações de produtos e texto cinético. Gere animações a partir de um prompt e ajuste-as em uma linha do tempo."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Vídeo
|
|
7
|
-
|
|
8
|
-
Um estúdio de vídeo programático para o tipo de gráficos em movimento, demonstrações de produtos e vídeos de texto cinético que são difíceis de capturar manualmente. Peça ao agente “uma revelação do logotipo de 6 segundos que desaparece em 2 segundos” e ele cria a animação. Ajuste o tempo, a atenuação e os movimentos da câmera em uma linha do tempo e depois renderize para MP4 ou WebM.
|
|
9
|
-
|
|
10
|
-
<WireframeBlock id="doc-block-16tv5x5">
|
|
11
|
-
<Screen
|
|
12
|
-
surface="desktop"
|
|
13
|
-
html={
|
|
14
|
-
"<div style='display:flex;flex-direction:column;gap:12px;padding:16px;min-height:530px;box-sizing:border-box'><div style='display:flex;align-items:center;gap:10px'><h1 style='margin:0'>Revelação do logo</h1><span class='wf-pill accent'>6 seconds</span><div style='flex:1'></div><button>Preview</button><button class='primary'>Render</button></div><div class='wf-card' style='flex:1;display:flex;align-items:center;justify-content:center;min-height:250px'><div style='text-align:center'><strong>Prévia do Remotion</strong><br/><small class='wf-muted'>logo scales in as the title fades</small></div></div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><div style='display:flex;gap:8px;align-items:center'><span class='wf-pill'>0s</span><span class='wf-pill'>2s</span><span class='wf-pill'>4s</span><span class='wf-pill'>6s</span><div style='flex:1'></div><button>Nova trilha</button></div><div class='wf-box'>Fade do título · frames 0-48</div><div class='wf-box'>Escala do logo · frames 48-120</div><div class='wf-box'>Avanço de câmera · frames 72-144</div></div></div>"
|
|
15
|
-
}
|
|
16
|
-
/>
|
|
17
|
-
</WireframeBlock>
|
|
18
|
-
|
|
19
|
-
Ao abrir o estúdio, você verá uma lista de composições na tela inicial. Clique em um e você verá um player na parte superior, uma linha do tempo na parte inferior e um painel de propriedades à direita. O agente sempre sabe qual composição você tem aberta.
|
|
20
|
-
|
|
21
|
-
<Diagram id="doc-block-xlg7n5" title={"Animação como dados"} summary={"Uma composição é um componente React; cada animação lê uma trilha para que o agente e a linha do tempo editem os mesmos dados."}>
|
|
22
|
-
|
|
23
|
-
```html
|
|
24
|
-
<div class="diagram-flow">
|
|
25
|
-
<div class="diagram-col">
|
|
26
|
-
<div class="diagram-node">
|
|
27
|
-
Timeline<br /><small class="diagram-muted"
|
|
28
|
-
>arrastar, redimensionar, percorrer</small
|
|
29
|
-
>
|
|
30
|
-
</div>
|
|
31
|
-
<div class="diagram-node">
|
|
32
|
-
Agent<br /><small class="diagram-muted">"fade in at 2s"</small>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
36
|
-
<div class="diagram-panel center">
|
|
37
|
-
<span class="diagram-pill accent">AnimationTrack</span
|
|
38
|
-
><small class="diagram-muted">startFrame / easing / animatedProps</small>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
41
|
-
<div class="diagram-box" data-rough>
|
|
42
|
-
Composição React<br /><small class="diagram-muted"
|
|
43
|
-
>Remotion <Player></small
|
|
44
|
-
>
|
|
45
|
-
</div>
|
|
46
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
47
|
-
<div class="diagram-box">MP4 / WebM</div>
|
|
48
|
-
</div>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
```css
|
|
52
|
-
.diagram-flow {
|
|
53
|
-
display: flex;
|
|
54
|
-
align-items: center;
|
|
55
|
-
gap: 12px;
|
|
56
|
-
flex-wrap: wrap;
|
|
57
|
-
}
|
|
58
|
-
.diagram-flow .diagram-col {
|
|
59
|
-
display: flex;
|
|
60
|
-
flex-direction: column;
|
|
61
|
-
gap: 10px;
|
|
62
|
-
}
|
|
63
|
-
.diagram-flow .center {
|
|
64
|
-
display: flex;
|
|
65
|
-
flex-direction: column;
|
|
66
|
-
align-items: center;
|
|
67
|
-
gap: 4px;
|
|
68
|
-
}
|
|
69
|
-
.diagram-flow .diagram-arrow {
|
|
70
|
-
font-size: 22px;
|
|
71
|
-
line-height: 1;
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
</Diagram>
|
|
76
|
-
|
|
77
|
-
## O que você pode fazer com isso
|
|
78
|
-
|
|
79
|
-
- **Gere animações a partir de um prompt.** "Adicione um cartão de título que aparece gradualmente em 2 segundos e dura até 5." O agente edita a composição.
|
|
80
|
-
- **Ajuste o tempo em uma linha do tempo.** Arraste e redimensione trilhas de animação, percorra quadros, defina curvas de atenuação visualmente.
|
|
81
|
-
- **Anime a câmera.** Panorâmica, zoom e inclinação com ferramentas na tela. Clique na ferramenta, arraste na visualização e um quadro-chave será criado automaticamente.
|
|
82
|
-
- **Comece com uma composição em branco ou um exemplo.** O modelo envia uma composição no código (`BlankComposition`) para começar; exemplos de composições — texto cinético, revelação de logotipo, explosões de partículas, demonstrações interativas do UI, apresentações de slides — são carregados do banco de dados e você pode adicionar os seus próprios.
|
|
83
|
-
- **Edite visualmente as curvas de atenuação.** Mais de 30 curvas fornecidas — potência, costas, salto, circ, elástico, expo, senoidal, além de física de mola.
|
|
84
|
-
- **Renderize para MP4 ou WebM** com superamostragem de 1x, 2x ou 3x para texto e vetores nítidos durante o zoom da câmera.
|
|
85
|
-
|
|
86
|
-
Esta é mais uma ferramenta voltada para o desenvolvedor do que outros modelos - as composições são componentes React, então usuários avançados (ou o agente) podem escrever novos tipos de animação do zero. Mas os ajustes diários ("tornar a digitação mais lenta", "reduzir a contagem de partículas para 12") são apenas conversa fiada.
|
|
87
|
-
|
|
88
|
-
## Primeiros passos
|
|
89
|
-
|
|
90
|
-
Demonstração ao vivo: [videos.agent-native.com](https://videos.agent-native.com).
|
|
91
|
-
|
|
92
|
-
Quando você abre o estúdio:
|
|
93
|
-
|
|
94
|
-
1. Escolha uma composição na tela inicial.
|
|
95
|
-
2. Experimente o agente: "adicione um logotipo revelado que apareça gradualmente em 2 segundos." Assista à atualização da linha do tempo.
|
|
96
|
-
3. Arraste as faixas para reprogramar, clique na ferramenta câmera, deslize o player.
|
|
97
|
-
|
|
98
|
-
### Instruções úteis
|
|
99
|
-
|
|
100
|
-
- "Adicione um cartão de título que apareça gradualmente em 2 segundos e permaneça até 5."
|
|
101
|
-
- "Mude a câmera para ampliar 2x o logotipo entre os quadros 60 e 90."
|
|
102
|
-
- "Torne a digitação mais lenta — 40% mais longa."
|
|
103
|
-
- "A explosão de partículas é muito densa. Reduza a contagem para 12."
|
|
104
|
-
- "Crie uma nova composição chamada intro-loop, 1080x1080, 6 segundos."
|
|
105
|
-
- "Adicione uma animação de clique na zona do botão e anime o cursor para ela."
|
|
106
|
-
- "Dê a esta faixa uma flexibilização elástica em vez de uma suavização."
|
|
107
|
-
|
|
108
|
-
Se você selecionar uma faixa na linha do tempo e pressionar Cmd+I, o agente seleciona essa seleção — "tornar esta mais rápida" simplesmente funciona.
|
|
109
|
-
|
|
110
|
-
## Para desenvolvedores
|
|
111
|
-
|
|
112
|
-
O restante deste documento é para qualquer pessoa que faça bifurcação do modelo de vídeo ou estenda-o. Este modelo é mais avançado em código do que os outros: cada composição é um componente React e cada animação são dados em uma trilha.
|
|
113
|
-
|
|
114
|
-
### Arquitetura
|
|
115
|
-
|
|
116
|
-
Tudo o que você vê no estúdio é código. Uma composição é um `CompositionEntry` em `app/remotion/registry.ts` que aponta para um componente React em `app/remotion/compositions/`. Cada animação nesse componente é lida em um `AnimationTrack` para que os usuários possam arrastá-la, redimensioná-la e reprogramá-la na linha do tempo UI. O agente pode criar novas composições, adicionar faixas, ajustar a easing e gravar componentes React inteiros que se conectam ao registro.
|
|
117
|
-
|
|
118
|
-
O estúdio roda no `<Player>` do Remotion para visualização e no Remotion CLI para renderização final. O padrão de saída é 1920x1080 a 30fps.
|
|
119
|
-
|
|
120
|
-
### Início rápido
|
|
121
|
-
|
|
122
|
-
Estruture um novo aplicativo de vídeo do CLI:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
npx @agent-native/core@latest create my-video-app --standalone --template videos
|
|
126
|
-
cd my-video-app
|
|
127
|
-
pnpm install
|
|
128
|
-
pnpm dev
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Abra o estúdio no seu navegador, crie uma composição e comece do zero. Pergunte ao agente algo como "adicione um logotipo revelado que apareça gradualmente em 2 segundos" e ele editará a composição para você.
|
|
132
|
-
|
|
133
|
-
### Principais recursos
|
|
134
|
-
|
|
135
|
-
**Composições baseadas em React.** Os vídeos são componentes React apoiados por Remotion, com composições de usuário apoiadas por SQL e um registro de código opcional para padrões locais.
|
|
136
|
-
|
|
137
|
-
**Animação que prioriza a linha do tempo.** Faixas de duração, quadros-chave, curvas de atenuação, movimentos de câmera e faixas de expressão programática editam os mesmos dados de composição.
|
|
138
|
-
|
|
139
|
-
**Sistemas de movimento ajustáveis.** Parâmetros, trilhas de cursor, zonas interativas de foco, navegação de alcance e reprodução repetida tornam as animações geradas ajustáveis sem código.
|
|
140
|
-
|
|
141
|
-
**Renderização e persistência.** As configurações de composição, qualidade, fps, valores de rastreamento e substituições persistem por composição e são renderizadas para MP4 ou WebM por meio do Remotion.
|
|
142
|
-
|
|
143
|
-
### Trabalhando com o agente
|
|
144
|
-
|
|
145
|
-
O agente sempre sabe qual composição você tem aberta. O estado de navegação (`{ view, compositionId }`) é gravado na tabela `application_state` da estrutura e a ação `view-screen` o retorna mais uma dica apontando para `app/remotion/registry.ts`. Você não precisa dizer ao agente em qual composição você está — peça para ele agir de acordo com "este" e ele o fará.
|
|
146
|
-
|
|
147
|
-
Nos bastidores, o agente chama actions como `navigate`, `save-composition` e `generate-animated-component`. Os registros de composição apoiados por SQL são criados ou atualizados por meio de `save-composition`; Os componentes Remotion apoiados por código ainda residem em `app/remotion/compositions/*.tsx` e são registrados em `app/remotion/registry.ts`.
|
|
148
|
-
|
|
149
|
-
### Modelo de dados
|
|
150
|
-
|
|
151
|
-
O esquema do lado do servidor está em `templates/videos/server/db/schema.ts`:
|
|
152
|
-
|
|
153
|
-
<DataModel
|
|
154
|
-
id="doc-block-1nkt3fv"
|
|
155
|
-
title={"Modelo de dados de vídeo"}
|
|
156
|
-
summary={
|
|
157
|
-
"Composições apoiadas por SQL, além de sistemas de design e pastas aninhadas, cada uma com uma tabela de compartilhamentos de estrutura."
|
|
158
|
-
}
|
|
159
|
-
entities={[
|
|
160
|
-
{
|
|
161
|
-
id: "compositions",
|
|
162
|
-
name: "compositions",
|
|
163
|
-
note: "User-created compositions and overrides; ownableColumns",
|
|
164
|
-
fields: [
|
|
165
|
-
{
|
|
166
|
-
name: "id",
|
|
167
|
-
type: "text",
|
|
168
|
-
pk: true,
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
name: "title",
|
|
172
|
-
type: "text",
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
name: "type",
|
|
176
|
-
type: "text",
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
name: "data",
|
|
180
|
-
type: "text",
|
|
181
|
-
note: "Blob de composição completa JSON",
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
name: "created_at",
|
|
185
|
-
type: "text",
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
name: "updated_at",
|
|
189
|
-
type: "text",
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
id: "design_systems",
|
|
195
|
-
name: "design_systems",
|
|
196
|
-
note: "Reusable brand tokens; ownableColumns",
|
|
197
|
-
fields: [
|
|
198
|
-
{
|
|
199
|
-
name: "data",
|
|
200
|
-
type: "text",
|
|
201
|
-
note: "colors / typography / spacing",
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: "assets",
|
|
205
|
-
type: "text",
|
|
206
|
-
nullable: true,
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
name: "custom_instructions",
|
|
210
|
-
type: "text",
|
|
211
|
-
nullable: true,
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
name: "is_default",
|
|
215
|
-
type: "boolean",
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
id: "folders",
|
|
221
|
-
name: "folders",
|
|
222
|
-
note: "Nestable folders; ownableColumns",
|
|
223
|
-
fields: [
|
|
224
|
-
{
|
|
225
|
-
name: "id",
|
|
226
|
-
type: "text",
|
|
227
|
-
pk: true,
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
name: "name",
|
|
231
|
-
type: "text",
|
|
232
|
-
},
|
|
233
|
-
],
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
id: "folder_memberships",
|
|
237
|
-
name: "folder_memberships",
|
|
238
|
-
note: "Junção muitos-para-muitos",
|
|
239
|
-
fields: [
|
|
240
|
-
{
|
|
241
|
-
name: "folder_id",
|
|
242
|
-
type: "text",
|
|
243
|
-
fk: "folders.id",
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
name: "composition_id",
|
|
247
|
-
type: "text",
|
|
248
|
-
fk: "compositions.id",
|
|
249
|
-
},
|
|
250
|
-
],
|
|
251
|
-
},
|
|
252
|
-
]}
|
|
253
|
-
relations={[
|
|
254
|
-
{
|
|
255
|
-
from: "folders",
|
|
256
|
-
to: "folder_memberships",
|
|
257
|
-
kind: "1-n",
|
|
258
|
-
label: "members",
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
from: "compositions",
|
|
262
|
-
to: "folder_memberships",
|
|
263
|
-
kind: "1-n",
|
|
264
|
-
label: "in folders",
|
|
265
|
-
},
|
|
266
|
-
]}
|
|
267
|
-
/>
|
|
268
|
-
|
|
269
|
-
Cada tabela também possui uma tabela de compartilhamentos de estrutura correspondente (`composition_shares`, `design_system_shares`, `folder_shares`) produzida por `createSharesTable()`.
|
|
270
|
-
|
|
271
|
-
- `compositions` — id, título, tipo, `data` (blob JSON de composição completa), colunas de propriedade, carimbos de data/hora.
|
|
272
|
-
- `composition_shares` — concessões de ações padrão produzidas por `createSharesTable()`.
|
|
273
|
-
- `design_systems` — tokens de marca reutilizáveis (cores, tipografia, espaçamento, recursos, instruções personalizadas, sinalizador `is_default`) com `ownableColumns`.
|
|
274
|
-
- `design_system_shares` — compartilha subsídios para sistemas de design.
|
|
275
|
-
- `folders` — pastas aninhadas para organização de bibliotecas, com `ownableColumns`.
|
|
276
|
-
- `folder_shares` — concessões de compartilhamento para pastas.
|
|
277
|
-
- `folder_memberships` — junção muitos-para-muitos entre um `folder_id` e um `composition_id`.
|
|
278
|
-
|
|
279
|
-
### Pastas e sistemas de design
|
|
280
|
-
|
|
281
|
-
As composições podem ser organizadas em pastas e estilizadas com sistemas de design. Actions: `create-folder`, `rename-folder`, `delete-folder`, `move-composition-to-folder`. Sistema de design actions: `create-design-system`, `update-design-system`, `get-design-system`, `list-design-systems`, `set-default-design-system`, `apply-design-system`, `analyze-brand-assets`. Importar actions: `import-github`, `import-from-url`, `import-document` (DOCX/PPTX/PDF).
|
|
282
|
-
|
|
283
|
-
O registro em `app/remotion/registry.ts` é a fonte de verdade no código para o que vem com o modelo. A tabela SQL armazena composições e substituições criadas pelo usuário. O estado do Studio (edições de trilha por composição, substituições de objetos, configurações de composição) é espelhado em `localStorage` em `videos-tracks:<id>`, `videos-props:<id>` e `videos-comp-settings:<id>` e mesclado de volta aos padrões do registro durante o carregamento.
|
|
284
|
-
|
|
285
|
-
Formas principais TypeScript (`app/types.ts`):
|
|
286
|
-
|
|
287
|
-
- `AnimationTrack` — `id`, `label`, `startFrame`, `endFrame`, `easing`, `animatedProps[]`.
|
|
288
|
-
- `AnimatedProp` — `property`, `from`, `to`, `unit`, além de `keyframes`, `programmatic`, `description`, `codeSnippet`, `parameters`, `parameterValues` opcionais.
|
|
289
|
-
- `CompositionEntry` — `id`, `title`, `description`, `component`, `durationInFrames`, `fps`, `width`, `height`, `defaultProps`, `tracks`.
|
|
290
|
-
|
|
291
|
-
As composições são privadas por padrão. A visibilidade pode ser `private`, `org` ou `public`, e as concessões de compartilhamento fornecem funções `viewer`, `editor` ou `admin`, conectadas por meio da primitiva de compartilhamento da estrutura.
|
|
292
|
-
|
|
293
|
-
### Personalizando
|
|
294
|
-
|
|
295
|
-
A pasta do modelo é `templates/videos/` (o slug voltado para o usuário é `video`, mas a pasta está no plural).
|
|
296
|
-
|
|
297
|
-
**Actions** — `templates/videos/actions/`
|
|
298
|
-
|
|
299
|
-
- `view-screen.ts` — retorna o estado de navegação atual do agente.
|
|
300
|
-
- `navigate.ts` — navegue até uma composição (`--compositionId <id>`) ou a visualização inicial (`--view home`).
|
|
301
|
-
- `save-composition.ts` — cria ou atualiza um registro de composição baseado em SQL.
|
|
302
|
-
- `generate-animated-component.ts` — gera um novo arquivo de componente Remotion com padrão.
|
|
303
|
-
- `validate-compositions.ts` — verifique todas as composições registradas em busca de problemas estruturais.
|
|
304
|
-
- `list-compositions.ts`, `get-composition.ts`, `update-composition.ts`, `delete-composition.ts` — leia, atualize e exclua registros de composição baseados em SQL.
|
|
305
|
-
|
|
306
|
-
**Rotas** — `templates/videos/app/routes/`
|
|
307
|
-
|
|
308
|
-
- `_index.tsx` — estúdio doméstico; renderiza o shell e a lista de composição.
|
|
309
|
-
- `c.$compositionId.tsx` — editor de composição (linha do tempo, player, painel de propriedades).
|
|
310
|
-
- `components.tsx` — navegador da biblioteca de componentes.
|
|
311
|
-
- `team.tsx` — gerenciamento de equipe.
|
|
312
|
-
|
|
313
|
-
**Remoção interna** — `templates/videos/app/remotion/`
|
|
314
|
-
|
|
315
|
-
- `registry.ts` — a lista de composição oficial.
|
|
316
|
-
- `compositions/` — um `.tsx` por composição, mais um barril `index.ts`.
|
|
317
|
-
- `trackAnimation.ts` — `trackProgress`, `getPropValue`, `findTrack`, `getPropValueKeyframed`.
|
|
318
|
-
- `CameraHost.tsx` — agrupa o conteúdo da composição com a transformação da câmera.
|
|
319
|
-
- `hooks/`, `ui-components/`, `components/` — auxiliares de elementos interativos, renderização de cursor, wrappers de elementos animados.
|
|
320
|
-
|
|
321
|
-
**Estúdio UI** — `templates/videos/app/components/`
|
|
322
|
-
|
|
323
|
-
- `Timeline.tsx` — a linha do tempo totalmente controlada (`viewStart`/`viewEnd` não possui nenhum estado internamente).
|
|
324
|
-
- `VideoPlayer.tsx` — Wrapper `<Player>` de remoção com reprodução com intervalo limitado.
|
|
325
|
-
- `TrackPropertiesPanel.tsx`, `CompSettingsEditor.tsx`, `PropsEditor.tsx` — os painéis do lado direito.
|
|
326
|
-
- `CameraToolbar.tsx`, `CameraControls.tsx` — ferramentas de câmera e controles numéricos.
|
|
327
|
-
|
|
328
|
-
**Instruções do agente** — `templates/videos/AGENTS.md` é o guia extenso que o agente lê. Ele cobre a regra de animação como trilha, sistema de câmera, sistema de cursor, unidades de filtro CSS, registro de componentes interativos, espaçamento UI e listas de verificação para criação ou edição de composições.
|
|
329
|
-
|
|
330
|
-
**Skills** — `templates/videos/.agents/skills/`
|
|
331
|
-
|
|
332
|
-
- `composition-management/SKILL.md` — como criar e registrar composições.
|
|
333
|
-
- `animation-tracks/SKILL.md` — como editar trilhas e objetos animados.
|
|
334
|
-
- Além da estrutura padrão skills: `actions`, `self-modifying-code`, `delegate-to-agent`, `storing-data`, `security`, `frontend-design`, `create-skill`, `capture-learnings`.
|
|
335
|
-
|
|
336
|
-
Para adicionar uma nova composição, siga a lista de verificação em `AGENTS.md`: crie o componente, declare `FALLBACK_TRACKS`, use `findTrack` / `trackProgress` / `getPropValue` (nunca codifique quadros), exporte de `compositions/index.ts`, adicione um `CompositionEntry` ao registro e execute `pnpm typecheck`.
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "视频"
|
|
3
|
-
description: "用于动态图形、产品演示和动态文本的程序化视频工作室。根据提示生成动画并在时间轴上调整它们。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 视频
|
|
7
|
-
|
|
8
|
-
一个程序化视频工作室,用于制作动态图形、产品演示和动态文本视频,这些视频很难手动设置关键帧。要求代理“显示 6 秒的徽标,并在 2 秒后淡入”,它就会构建动画。调整时间、缓动和相机在时间轴上的移动,然后渲染到 MP4 或 WebM。
|
|
9
|
-
|
|
10
|
-
<WireframeBlock id="doc-block-1s0qknv">
|
|
11
|
-
<Screen
|
|
12
|
-
surface="desktop"
|
|
13
|
-
html={
|
|
14
|
-
"<div style='display:flex;flex-direction:column;gap:12px;padding:16px;min-height:530px;box-sizing:border-box'><div style='display:flex;align-items:center;gap:10px'><h1 style='margin:0'>Logo 展示</h1><span class='wf-pill accent'>6 seconds</span><div style='flex:1'></div><button>Preview</button><button class='primary'>Render</button></div><div class='wf-card' style='flex:1;display:flex;align-items:center;justify-content:center;min-height:250px'><div style='text-align:center'><strong>Remotion 预览</strong><br/><small class='wf-muted'>logo scales in as the title fades</small></div></div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><div style='display:flex;gap:8px;align-items:center'><span class='wf-pill'>0s</span><span class='wf-pill'>2s</span><span class='wf-pill'>4s</span><span class='wf-pill'>6s</span><div style='flex:1'></div><button>新轨道</button></div><div class='wf-box'>标题淡入 · 0-48 帧</div><div class='wf-box'>Logo 缩放 · 48-120 帧</div><div class='wf-box'>镜头推进 · 72-144 帧</div></div></div>"
|
|
15
|
-
}
|
|
16
|
-
/>
|
|
17
|
-
</WireframeBlock>
|
|
18
|
-
|
|
19
|
-
当您打开工作室时,您将在主屏幕上看到作品列表。单击其中一个,您会在顶部看到一个播放器,在底部看到一个时间线,在右侧看到一个属性面板。代理始终知道您打开了哪个组合。
|
|
20
|
-
|
|
21
|
-
<Diagram id="doc-block-1o9ao3j" title={"动画作为数据"} summary={"组合物是 React 组件;每个动画都从轨道读取,因此代理和时间线编辑相同的数据。"}>
|
|
22
|
-
|
|
23
|
-
```html
|
|
24
|
-
<div class="diagram-flow">
|
|
25
|
-
<div class="diagram-col">
|
|
26
|
-
<div class="diagram-node">
|
|
27
|
-
Timeline<br /><small class="diagram-muted"
|
|
28
|
-
>拖动、调整大小、拖动时间轴</small
|
|
29
|
-
>
|
|
30
|
-
</div>
|
|
31
|
-
<div class="diagram-node">
|
|
32
|
-
Agent<br /><small class="diagram-muted">"fade in at 2s"</small>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
36
|
-
<div class="diagram-panel center">
|
|
37
|
-
<span class="diagram-pill accent">AnimationTrack</span
|
|
38
|
-
><small class="diagram-muted">startFrame / easing / animatedProps</small>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
41
|
-
<div class="diagram-box" data-rough>
|
|
42
|
-
React 合成<br /><small class="diagram-muted">Remotion <Player></small>
|
|
43
|
-
</div>
|
|
44
|
-
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
45
|
-
<div class="diagram-box">MP4 / WebM</div>
|
|
46
|
-
</div>
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
```css
|
|
50
|
-
.diagram-flow {
|
|
51
|
-
display: flex;
|
|
52
|
-
align-items: center;
|
|
53
|
-
gap: 12px;
|
|
54
|
-
flex-wrap: wrap;
|
|
55
|
-
}
|
|
56
|
-
.diagram-flow .diagram-col {
|
|
57
|
-
display: flex;
|
|
58
|
-
flex-direction: column;
|
|
59
|
-
gap: 10px;
|
|
60
|
-
}
|
|
61
|
-
.diagram-flow .center {
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
align-items: center;
|
|
65
|
-
gap: 4px;
|
|
66
|
-
}
|
|
67
|
-
.diagram-flow .diagram-arrow {
|
|
68
|
-
font-size: 22px;
|
|
69
|
-
line-height: 1;
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
</Diagram>
|
|
74
|
-
|
|
75
|
-
## 你可以用它做什么
|
|
76
|
-
|
|
77
|
-
- **根据提示生成动画。**“添加一张在 2 秒后淡入并保持到 5 秒的标题卡。”代理编辑构图。
|
|
78
|
-
- **调整时间轴上的时间。**拖动动画轨道并调整其大小、浏览帧、直观地设置缓动曲线。
|
|
79
|
-
- **为相机设置动画。** 使用屏幕工具进行平移、缩放和倾斜。单击该工具,在预览中拖动,就会自动创建关键帧。
|
|
80
|
-
- **从空白合成或示例开始。** 该模板提供了一个代码内合成 (`BlankComposition`) 来开始;示例作品 - 动态文本、徽标显示、粒子爆发、交互式 UI 演示、幻灯片 - 从数据库加载,您可以添加自己的。
|
|
81
|
-
- **以可视方式编辑缓动曲线。** 提供 30 多条曲线 - 功率、后退、弹跳、循环、弹性、expo、正弦以及弹簧物理特性。
|
|
82
|
-
- **以 1x、2x 或 3x 超级采样渲染到 MP4 或 WebM**,在相机变焦期间获得清晰的文本和矢量。
|
|
83
|
-
|
|
84
|
-
与其他模板相比,这更像是一种开发人员风格的工具 - 组合是 React 组件,因此高级用户(或代理)可以从头开始编写全新的动画类型。但日常调整(“让打字速度变慢”、“将粒子数降低到 12”)只是闲聊。
|
|
85
|
-
|
|
86
|
-
## 开始使用
|
|
87
|
-
|
|
88
|
-
现场演示:[videos.agent-native.com](https://videos.agent-native.com)。
|
|
89
|
-
|
|
90
|
-
当您打开工作室时:
|
|
91
|
-
|
|
92
|
-
1. 从主屏幕中选择一个作品。
|
|
93
|
-
2. 尝试代理:“添加一个在 2 秒后淡入的徽标显示。”观看时间线更新。
|
|
94
|
-
3. 拖动曲目以重新定时,单击相机工具,擦洗播放器。
|
|
95
|
-
|
|
96
|
-
### 有用的提示
|
|
97
|
-
|
|
98
|
-
- “添加一张在 2 秒后淡入并持续到 5 秒的标题卡。”
|
|
99
|
-
- “将相机更改为在第 60 帧和第 90 帧之间将徽标放大 2 倍。”
|
|
100
|
-
- “让输入显示速度变慢 — 时间延长 40%。”
|
|
101
|
-
- “粒子爆发太密集。将计数降至 12。”
|
|
102
|
-
- “创建一个名为 intro-loop 的新合成,1080x1080,6 秒。”
|
|
103
|
-
- “在按钮区域添加点击动画并将光标动画设置到它。”
|
|
104
|
-
- “给这个轨道一个弹簧缓动而不是缓出。”
|
|
105
|
-
|
|
106
|
-
如果您在时间轴中选择一个曲目并按 Cmd+I,代理会选择该选择 - “让这个曲目变得更快”就可以了。
|
|
107
|
-
|
|
108
|
-
## 对于开发者
|
|
109
|
-
|
|
110
|
-
本文档的其余部分适用于任何分叉视频模板或扩展它的人。该模板比其他模板更具代码前向性 - 每个合成都是 React 组件,每个动画都是轨道上的数据。
|
|
111
|
-
|
|
112
|
-
### 架构
|
|
113
|
-
|
|
114
|
-
你在工作室看到的一切都是代码。组合是 `app/remotion/registry.ts` 中的 `CompositionEntry`,它指向 `app/remotion/compositions/` 中的 React 组件。该组件中的每个动画都从 `AnimationTrack` 读取,因此用户可以在时间轴 UI 中拖动它、调整其大小并重新计时。该代理可以创建新的作品、添加曲目、调整缓动以及编写插入注册表的整个 React 组件。
|
|
115
|
-
|
|
116
|
-
工作室在 Remotion 的 `<Player>` 上运行进行预览,在 Remotion CLI 上运行进行最终渲染。输出默认为 1920x1080、30fps。
|
|
117
|
-
|
|
118
|
-
### 快速入门
|
|
119
|
-
|
|
120
|
-
从 CLI 搭建新的视频应用程序:
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
npx @agent-native/core@latest create my-video-app --standalone --template videos
|
|
124
|
-
cd my-video-app
|
|
125
|
-
pnpm install
|
|
126
|
-
pnpm dev
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
在浏览器中打开工作室,创建一个作品,然后从空白开始。向代理询问诸如“添加一个在 2 秒后淡入的徽标显示”之类的问题,它就会为您编辑构图。
|
|
130
|
-
|
|
131
|
-
### 主要功能
|
|
132
|
-
|
|
133
|
-
**基于 React 的组合。**视频是 Remotion 支持的 React 组件,具有 SQL 支持的用户组合和本地默认值的可选代码注册表。
|
|
134
|
-
|
|
135
|
-
**时间轴优先动画。**持续时间轨道、关键帧、缓动曲线、相机移动和编程表达式轨道都编辑相同的合成数据。
|
|
136
|
-
|
|
137
|
-
**可调节的运动系统。**参数、光标轨迹、交互式悬停区域、范围导航和重复播放使生成的动画无需代码即可调节。
|
|
138
|
-
|
|
139
|
-
**渲染和持久性。**合成设置、质量、fps、跟踪值和覆盖会保留每个合成,并通过 Remotion 渲染到 MP4 或 WebM。
|
|
140
|
-
|
|
141
|
-
### 与代理合作
|
|
142
|
-
|
|
143
|
-
代理始终知道您打开了哪个组合。导航状态 (`{ view, compositionId }`) 写入框架的 `application_state` 表,`view-screen` 操作返回它以及指向 `app/remotion/registry.ts` 的提示。您不必告诉代理您正在使用哪种组合 - 要求它对“这个”采取行动,它就会这样做。
|
|
144
|
-
|
|
145
|
-
在底层,代理将 actions 称为 `navigate`、`save-composition` 和 `generate-animated-component`。 SQL支持的作曲记录通过`save-composition`创建或更新;代码支持的 Remotion 组件仍然存在于 `app/remotion/compositions/*.tsx` 中,并在 `app/remotion/registry.ts` 中注册。
|
|
146
|
-
|
|
147
|
-
### 数据模型
|
|
148
|
-
|
|
149
|
-
服务器端架构位于 `templates/videos/server/db/schema.ts` 中:
|
|
150
|
-
|
|
151
|
-
<DataModel
|
|
152
|
-
id="doc-block-xr3usw"
|
|
153
|
-
title={"视频数据模型"}
|
|
154
|
-
summary={
|
|
155
|
-
"SQL支持的组合以及设计系统和可嵌套文件夹,每个文件夹都有一个框架共享表。"
|
|
156
|
-
}
|
|
157
|
-
entities={[
|
|
158
|
-
{
|
|
159
|
-
id: "compositions",
|
|
160
|
-
name: "compositions",
|
|
161
|
-
note: "User-created compositions and overrides; ownableColumns",
|
|
162
|
-
fields: [
|
|
163
|
-
{
|
|
164
|
-
name: "id",
|
|
165
|
-
type: "text",
|
|
166
|
-
pk: true,
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
name: "title",
|
|
170
|
-
type: "text",
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
name: "type",
|
|
174
|
-
type: "text",
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
name: "data",
|
|
178
|
-
type: "text",
|
|
179
|
-
note: "完整组合 JSON 斑点",
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
name: "created_at",
|
|
183
|
-
type: "text",
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
name: "updated_at",
|
|
187
|
-
type: "text",
|
|
188
|
-
},
|
|
189
|
-
],
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
id: "design_systems",
|
|
193
|
-
name: "design_systems",
|
|
194
|
-
note: "Reusable brand tokens; ownableColumns",
|
|
195
|
-
fields: [
|
|
196
|
-
{
|
|
197
|
-
name: "data",
|
|
198
|
-
type: "text",
|
|
199
|
-
note: "colors / typography / spacing",
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
name: "assets",
|
|
203
|
-
type: "text",
|
|
204
|
-
nullable: true,
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
name: "custom_instructions",
|
|
208
|
-
type: "text",
|
|
209
|
-
nullable: true,
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
name: "is_default",
|
|
213
|
-
type: "boolean",
|
|
214
|
-
},
|
|
215
|
-
],
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
id: "folders",
|
|
219
|
-
name: "folders",
|
|
220
|
-
note: "Nestable folders; ownableColumns",
|
|
221
|
-
fields: [
|
|
222
|
-
{
|
|
223
|
-
name: "id",
|
|
224
|
-
type: "text",
|
|
225
|
-
pk: true,
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
name: "name",
|
|
229
|
-
type: "text",
|
|
230
|
-
},
|
|
231
|
-
],
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
id: "folder_memberships",
|
|
235
|
-
name: "folder_memberships",
|
|
236
|
-
note: "多对多加入",
|
|
237
|
-
fields: [
|
|
238
|
-
{
|
|
239
|
-
name: "folder_id",
|
|
240
|
-
type: "text",
|
|
241
|
-
fk: "folders.id",
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
name: "composition_id",
|
|
245
|
-
type: "text",
|
|
246
|
-
fk: "compositions.id",
|
|
247
|
-
},
|
|
248
|
-
],
|
|
249
|
-
},
|
|
250
|
-
]}
|
|
251
|
-
relations={[
|
|
252
|
-
{
|
|
253
|
-
from: "folders",
|
|
254
|
-
to: "folder_memberships",
|
|
255
|
-
kind: "1-n",
|
|
256
|
-
label: "members",
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
from: "compositions",
|
|
260
|
-
to: "folder_memberships",
|
|
261
|
-
kind: "1-n",
|
|
262
|
-
label: "in folders",
|
|
263
|
-
},
|
|
264
|
-
]}
|
|
265
|
-
/>
|
|
266
|
-
|
|
267
|
-
每个表还有一个由 `createSharesTable()` 生成的匹配框架份额表(`composition_shares`、`design_system_shares`、`folder_shares`)。
|
|
268
|
-
|
|
269
|
-
- `compositions` — id、标题、类型、`data`(完整组合 JSON blob)、所有权列、时间戳。
|
|
270
|
-
- `composition_shares` — `createSharesTable()` 产生的标准股票授予。
|
|
271
|
-
- `design_systems` — 可重复使用的品牌标记(颜色、排版、间距、资产、自定义指令、`is_default` 标志)和 `ownableColumns`。
|
|
272
|
-
- `design_system_shares` — 设计系统的份额赠款。
|
|
273
|
-
- `folders` — 用于库组织的可嵌套文件夹,带有 `ownableColumns`。
|
|
274
|
-
- `folder_shares` — 文件夹的共享授权。
|
|
275
|
-
- `folder_memberships` — `folder_id` 和 `composition_id` 之间的多对多连接。
|
|
276
|
-
|
|
277
|
-
### 文件夹和设计系统
|
|
278
|
-
|
|
279
|
-
可以将作品组织到文件夹中并使用设计系统进行样式设置。 Actions:`create-folder`、`rename-folder`、`delete-folder`、`move-composition-to-folder`。设计系统actions:`create-design-system`、`update-design-system`、`get-design-system`、`list-design-systems`、`set-default-design-system`、`apply-design-system`、`analyze-brand-assets`。导入actions:`import-github`、`import-from-url`、`import-document`(DOCX/PPTX/PDF)。
|
|
280
|
-
|
|
281
|
-
`app/remotion/registry.ts` 中的注册表是模板附带内容的真实代码来源。 SQL 表存储用户创建的合成和覆盖。工作室状态(每个合成轨道编辑、道具覆盖、合成设置)会镜像到 `videos-tracks:<id>`、`videos-props:<id>` 和 `videos-comp-settings:<id>` 下的 `localStorage`,并在加载时深度合并回注册表默认值。
|
|
282
|
-
|
|
283
|
-
核心TypeScript形状(`app/types.ts`):
|
|
284
|
-
|
|
285
|
-
- `AnimationTrack` — `id`, `label`, `startFrame`, `endFrame`, `easing`, `animatedProps[]`.
|
|
286
|
-
- `AnimatedProp` — `property`、`from`、`to`、`unit`,以及可选的 `keyframes`、`programmatic`、`description`、`codeSnippet`、`parameters`、`parameterValues`。
|
|
287
|
-
- `CompositionEntry` — `id`, `title`, `description`, `component`, `durationInFrames`, `fps`, `width`, `height`, `defaultProps`, `tracks`.
|
|
288
|
-
|
|
289
|
-
默认情况下,作品是私有的。可见性可以是 `private`、`org` 或 `public`,共享授予赋予 `viewer`、`editor` 或 `admin` 角色 - 通过框架的共享原语连接。
|
|
290
|
-
|
|
291
|
-
### 自定义它
|
|
292
|
-
|
|
293
|
-
模板文件夹是`templates/videos/`(面向用户的slug是`video`,但文件夹是复数)。
|
|
294
|
-
|
|
295
|
-
**Actions** — `templates/videos/actions/`
|
|
296
|
-
|
|
297
|
-
- `view-screen.ts` — 返回代理的当前导航状态。
|
|
298
|
-
- `navigate.ts` — 导航到合成 (`--compositionId <id>`) 或主视图 (`--view home`)。
|
|
299
|
-
- `save-composition.ts` — 创建或更新 SQL 支持的合成记录。
|
|
300
|
-
- `generate-animated-component.ts` — 生成带有样板的新 Remotion 组件文件。
|
|
301
|
-
- `validate-compositions.ts` — 检查所有已注册的作品是否存在结构问题。
|
|
302
|
-
- `list-compositions.ts`、`get-composition.ts`、`update-composition.ts`、`delete-composition.ts` — 读取、更新和删除 SQL 支持的合成记录。
|
|
303
|
-
|
|
304
|
-
**路线** — `templates/videos/app/routes/`
|
|
305
|
-
|
|
306
|
-
- `_index.tsx` — 工作室之家;渲染外壳和组合列表。
|
|
307
|
-
- `c.$compositionId.tsx` - 合成编辑器(时间轴、播放器、属性面板)。
|
|
308
|
-
- `components.tsx` — 组件库浏览器。
|
|
309
|
-
- `team.tsx` — 团队管理。
|
|
310
|
-
|
|
311
|
-
**远程内部结构** — `templates/videos/app/remotion/`
|
|
312
|
-
|
|
313
|
-
- `registry.ts` — 权威作文列表。
|
|
314
|
-
- `compositions/` — 每个组合一个 `.tsx`,加上一个 `index.ts` 枪管。
|
|
315
|
-
- `trackAnimation.ts` — `trackProgress`, `getPropValue`, `findTrack`, `getPropValueKeyframed`.
|
|
316
|
-
- `CameraHost.tsx` — 使用相机变换包装合成内容。
|
|
317
|
-
- `hooks/`、`ui-components/`、`components/` - 交互式元素助手、光标渲染、动画元素包装器。
|
|
318
|
-
|
|
319
|
-
**工作室 UI** — `templates/videos/app/components/`
|
|
320
|
-
|
|
321
|
-
- `Timeline.tsx` — 完全控制的时间线(`viewStart` / `viewEnd` 内部没有状态)。
|
|
322
|
-
- `VideoPlayer.tsx` - 具有范围限制播放的 Remotion `<Player>` 包装器。
|
|
323
|
-
- `TrackPropertiesPanel.tsx`、`CompSettingsEditor.tsx`、`PropsEditor.tsx` — 右侧面板。
|
|
324
|
-
- `CameraToolbar.tsx`、`CameraControls.tsx` - 相机工具和数字控件。
|
|
325
|
-
|
|
326
|
-
**代理说明** — `templates/videos/AGENTS.md` 是代理阅读的长格式指南。它涵盖了动画轨道规则、相机系统、光标系统、CSS 过滤器单元、交互式组件注册、UI 间距以及用于创建或编辑合成的清单。
|
|
327
|
-
|
|
328
|
-
**Skills** — `templates/videos/.agents/skills/`
|
|
329
|
-
|
|
330
|
-
- `composition-management/SKILL.md` — 如何创建和注册作品。
|
|
331
|
-
- `animation-tracks/SKILL.md` — 如何编辑轨道和动画道具。
|
|
332
|
-
- 加上标准框架skills:`actions`、`self-modifying-code`、`delegate-to-agent`、`storing-data`、`security`、`frontend-design`、`create-skill`、`capture-learnings`。
|
|
333
|
-
|
|
334
|
-
要添加新的合成,请遵循 `AGENTS.md` 中的清单:创建组件,声明 `FALLBACK_TRACKS`,使用 `findTrack` / `trackProgress` / `getPropValue`(切勿硬编码帧),从 `compositions/index.ts` 导出,将 `CompositionEntry` 添加到注册表,然后运行 `pnpm typecheck`。
|