@agent-native/core-corpus 0.213.1 → 0.216.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.
Files changed (1108) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/.agents/skills/actions/references/action-fields.md +1 -1
  3. package/corpus/templates/analytics/CHANGELOG.md +1 -0
  4. package/corpus/templates/analytics/changelog/2026-10-21-session-replay-quotas-count-the-compressed-size-analytics-st.md +6 -0
  5. package/corpus/templates/analytics/server/lib/session-replay.ts +40 -9
  6. package/corpus/templates/assets/.agents/skills/actions/references/action-fields.md +1 -1
  7. package/corpus/templates/brain/.agents/skills/actions/references/action-fields.md +1 -1
  8. package/corpus/templates/calendar/.agents/skills/actions/references/action-fields.md +1 -1
  9. package/corpus/templates/chat/.agents/skills/actions/references/action-fields.md +1 -1
  10. package/corpus/templates/clips/.agents/skills/actions/references/action-fields.md +1 -1
  11. package/corpus/templates/community/qr/package.json +1 -1
  12. package/corpus/templates/content/.agents/skills/actions/references/action-fields.md +1 -1
  13. package/corpus/templates/content/.agents/skills/content-product-development/references/verification.md +36 -0
  14. package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +10 -0
  15. package/corpus/templates/content/.agents/skills/document-editing/references/databases.md +26 -1
  16. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +4 -2
  17. package/corpus/templates/content/CHANGELOG.md +51 -0
  18. package/corpus/templates/content/acceptance/_writers.ts +604 -0
  19. package/corpus/templates/content/acceptance/generate-action-registry.ts +10 -0
  20. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/create-document.json +75 -0
  21. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/duplicate-page.json +75 -0
  22. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/edit-document-find-and-replace-without-a-revision.json +75 -0
  23. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/edit-document-find-and-replace.json +75 -0
  24. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/edit-document-initializecontent.json +75 -0
  25. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/import-content.json +75 -0
  26. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/local-files-import-content-source-existing-page.json +75 -0
  27. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/local-files-import-content-source-new-page.json +75 -0
  28. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/local-files-sync-local-folder-source-changed-file.json +75 -0
  29. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/local-files-sync-local-folder-source-new-file.json +75 -0
  30. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/restore-document-version.json +75 -0
  31. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/set-document-property-primary-blocks-field.json +75 -0
  32. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/set-image-alt-text.json +75 -0
  33. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/undo-content-import.json +75 -0
  34. package/corpus/templates/content/acceptance/golden/gate-off-stored-bytes/update-document-browser-full-rewrite.json +75 -0
  35. package/corpus/templates/content/acceptance/known-loss.ts +69 -0
  36. package/corpus/templates/content/acceptance/round-trip-corpus.ts +1397 -0
  37. package/corpus/templates/content/actions/_blocks-field-identity.ts +35 -1
  38. package/corpus/templates/content/actions/_content-database-lifecycle.ts +11 -11
  39. package/corpus/templates/content/actions/_content-database-personal-view.ts +2 -0
  40. package/corpus/templates/content/actions/_content-favorites.ts +37 -0
  41. package/corpus/templates/content/actions/_database-membership-lock.ts +39 -8
  42. package/corpus/templates/content/actions/_database-navigation.ts +19 -21
  43. package/corpus/templates/content/actions/_database-row-batch.ts +41 -18
  44. package/corpus/templates/content/actions/_database-row-mutation.ts +17 -28
  45. package/corpus/templates/content/actions/_database-source-utils.ts +18 -1
  46. package/corpus/templates/content/actions/_database-utils.ts +3 -0
  47. package/corpus/templates/content/actions/_database-view-setup.ts +321 -11
  48. package/corpus/templates/content/actions/_document-edit-mutation.ts +33 -32
  49. package/corpus/templates/content/actions/_document-flush.ts +593 -171
  50. package/corpus/templates/content/actions/_document-save-locks.ts +54 -0
  51. package/corpus/templates/content/actions/_document-save-row.ts +133 -0
  52. package/corpus/templates/content/actions/_github-source.ts +18 -8
  53. package/corpus/templates/content/actions/_move-page-to-space.ts +189 -25
  54. package/corpus/templates/content/actions/_nfm-syntax.ts +2 -0
  55. package/corpus/templates/content/actions/_property-utils.ts +3 -0
  56. package/corpus/templates/content/actions/_row-lock-order.ts +115 -0
  57. package/corpus/templates/content/actions/create-content-database.ts +11 -0
  58. package/corpus/templates/content/actions/create-document.ts +13 -1
  59. package/corpus/templates/content/actions/delete-content-database.ts +17 -14
  60. package/corpus/templates/content/actions/delete-document-property.ts +5 -0
  61. package/corpus/templates/content/actions/delete-document.ts +270 -97
  62. package/corpus/templates/content/actions/edit-document.ts +18 -5
  63. package/corpus/templates/content/actions/export-document.ts +3 -0
  64. package/corpus/templates/content/actions/get-blocks-field-word-count.ts +22 -5
  65. package/corpus/templates/content/actions/import-content-source.ts +170 -54
  66. package/corpus/templates/content/actions/move-document.ts +191 -73
  67. package/corpus/templates/content/actions/pull-document.ts +8 -2
  68. package/corpus/templates/content/actions/remove-database-items.ts +23 -4
  69. package/corpus/templates/content/actions/restore-content-database.ts +76 -55
  70. package/corpus/templates/content/actions/restore-document-version.ts +19 -35
  71. package/corpus/templates/content/actions/restore-document.ts +65 -53
  72. package/corpus/templates/content/actions/rollback-created-slash-document.ts +11 -16
  73. package/corpus/templates/content/actions/set-document-property.ts +15 -1
  74. package/corpus/templates/content/actions/share-local-file-document.ts +18 -14
  75. package/corpus/templates/content/actions/suggest-document-edit.ts +2 -3
  76. package/corpus/templates/content/actions/sync-local-folder-source.ts +35 -1
  77. package/corpus/templates/content/actions/undo-content-import.ts +16 -12
  78. package/corpus/templates/content/actions/update-content-database-view.ts +20 -2
  79. package/corpus/templates/content/actions/update-document.ts +19 -14
  80. package/corpus/templates/content/actions/view-screen.ts +12 -0
  81. package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +1 -6
  82. package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +49 -3
  83. package/corpus/templates/content/app/components/editor/ContentImportDialog.tsx +2 -0
  84. package/corpus/templates/content/app/components/editor/DocumentBlockFields.tsx +53 -11
  85. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +608 -353
  86. package/corpus/templates/content/app/components/editor/StaticDocumentBody.tsx +765 -0
  87. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +233 -80
  88. package/corpus/templates/content/app/components/editor/blockFieldSaveController.ts +32 -3
  89. package/corpus/templates/content/app/components/editor/blockFieldSaveRegistry.ts +88 -23
  90. package/corpus/templates/content/app/components/editor/comment-anchors.ts +19 -0
  91. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +296 -87
  92. package/corpus/templates/content/app/components/editor/database/ListItemLayout.tsx +410 -0
  93. package/corpus/templates/content/app/components/editor/database/ListItemRow.tsx +426 -0
  94. package/corpus/templates/content/app/components/editor/database/ListView.tsx +136 -18
  95. package/corpus/templates/content/app/components/editor/database/navigation-state.ts +3 -0
  96. package/corpus/templates/content/app/components/editor/database/settings.tsx +3 -3
  97. package/corpus/templates/content/app/components/editor/database/view-config.ts +4 -0
  98. package/corpus/templates/content/app/components/editor/document-flush-participant.ts +253 -0
  99. package/corpus/templates/content/app/components/editor/editor-transaction-meta.ts +28 -0
  100. package/corpus/templates/content/app/components/editor/extensions/AudioBlock.tsx +2 -1
  101. package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +27 -6
  102. package/corpus/templates/content/app/components/editor/extensions/LocalMdxComponentNode.tsx +0 -1
  103. package/corpus/templates/content/app/components/editor/extensions/NotionExtensions.tsx +4 -4
  104. package/corpus/templates/content/app/components/editor/extensions/SuggestionHighlight.ts +24 -2
  105. package/corpus/templates/content/app/components/editor/extensions/VideoBlock.tsx +25 -6
  106. package/corpus/templates/content/app/components/editor/pending-document-persistence.ts +59 -1
  107. package/corpus/templates/content/app/components/editor/stored-body-images.ts +27 -0
  108. package/corpus/templates/content/app/components/editor/suggestions/presentation-rebase.ts +17 -0
  109. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -4
  110. package/corpus/templates/content/app/components/trash/TrashBrowser.tsx +4 -1
  111. package/corpus/templates/content/app/global.css +34 -0
  112. package/corpus/templates/content/app/hooks/use-content-trash.ts +8 -0
  113. package/corpus/templates/content/app/i18n-data.ts +32 -0
  114. package/corpus/templates/content/app/import-messages.ts +25 -0
  115. package/corpus/templates/content/app/trash-messages.ts +16 -0
  116. package/corpus/templates/content/changelog/2026-10-16-a-page-open-in-a-tab-that-shows-it-s-in-the-trash-reopens-wi.md +6 -0
  117. package/corpus/templates/content/changelog/2026-10-16-a-page-restored-from-trash-returns-to-its-place-in-its-colle.md +6 -0
  118. package/corpus/templates/content/changelog/2026-10-16-agent-written-markdown-keeps-nested-lists-indented-with-spac.md +6 -0
  119. package/corpus/templates/content/changelog/2026-10-16-opening-a-page-you-can-edit-no-longer-rebuilds-its-editor-on.md +6 -0
  120. package/corpus/templates/content/changelog/2026-10-16-pages-moved-or-imported-at-the-same-time-can-no-longer-end-u.md +6 -0
  121. package/corpus/templates/content/changelog/2026-10-16-re-importing-a-markdown-export-of-a-page-no-longer-reports-t.md +6 -0
  122. package/corpus/templates/content/changelog/2026-10-16-saving-a-page-or-restoring-one-of-its-versions-no-longer-fai.md +6 -0
  123. package/corpus/templates/content/changelog/2026-10-17-agents-reading-a-page-you-have-open-no-longer-wait-or-fail-w.md +6 -0
  124. package/corpus/templates/content/changelog/2026-10-19-fresh-document-reads-require-confirmation-from-every-open-ed.md +6 -0
  125. package/corpus/templates/content/changelog/2026-10-19-list-rows-can-be-customized.md +6 -0
  126. package/corpus/templates/content/changelog/2026-10-19-list-views-fit-phone-screens.md +6 -0
  127. package/corpus/templates/content/changelog/2026-10-20-html-table-cells-preserve-a-trailing-backslash-when-opening-.md +6 -0
  128. package/corpus/templates/content/changelog/2026-10-20-preserve-empty-paragraph-colors-and-refuse-unsupported-inlin.md +6 -0
  129. package/corpus/templates/content/changelog/2026-10-20-the-advanced-filter-and-each-filter-group-inside-it-have-the.md +6 -0
  130. package/corpus/templates/content/changelog/2026-10-21-blocks-fields-keep-unconfirmed-saves-visible-and-agent-reads.md +6 -0
  131. package/corpus/templates/content/changelog/2026-10-21-preserve-compact-table-row-groups-and-report-invalid-block-colors.md +6 -0
  132. package/corpus/templates/content/changelog/2026-10-21-suggested-edits-show-an-agent-s-whole-reason-open-a-group-to.md +6 -0
  133. package/corpus/templates/content/changelog/2026-10-21-suggestions-keep-refusing-unmatched-emphasis-in-stored-markd.md +6 -0
  134. package/corpus/templates/content/changelog/2026-10-22-accept-remaining-and-reject-remaining-show-the-result-for-ev.md +6 -0
  135. package/corpus/templates/content/changelog/2026-10-22-accepting-a-group-of-suggested-edits-saves-faster-and-adds-o.md +6 -0
  136. package/corpus/templates/content/changelog/2026-10-22-agents-read-saved-page-text-after-failed-icon-change.md +6 -0
  137. package/corpus/templates/content/changelog/2026-10-22-changes-made-from-a-menu-or-popover-such-as-an-image-s-alt-t.md +6 -0
  138. package/corpus/templates/content/changelog/2026-10-22-text-an-agent-writes-inside-a-callout-column-or-synced-block.md +6 -0
  139. package/corpus/templates/content/e2e/auth-files.ts +28 -0
  140. package/corpus/templates/content/e2e/convergence-summary.ts +84 -29
  141. package/corpus/templates/content/e2e/gate-arm.ts +15 -0
  142. package/corpus/templates/content/e2e/global-setup.ts +43 -75
  143. package/corpus/templates/content/e2e/global-teardown.ts +34 -0
  144. package/corpus/templates/content/e2e/helpers.ts +598 -92
  145. package/corpus/templates/content/e2e/live-body-gate.ts +188 -0
  146. package/corpus/templates/content/e2e/playwright.config.ts +12 -3
  147. package/corpus/templates/content/e2e/server-identity.ts +47 -0
  148. package/corpus/templates/content/e2e/stored-form/collab-blocks.ts +123 -0
  149. package/corpus/templates/content/package.json +1 -1
  150. package/corpus/templates/content/scripts/_stored-form-census-kinds.ts +30 -2
  151. package/corpus/templates/content/scripts/historical-icon-apply.ts +9 -1
  152. package/corpus/templates/content/scripts/trace-startup.mjs +460 -133
  153. package/corpus/templates/content/server/db/exec.ts +58 -0
  154. package/corpus/templates/content/server/db/schema.ts +1 -0
  155. package/corpus/templates/content/server/lib/content-trash-purge.ts +208 -144
  156. package/corpus/templates/content/server/lib/document-metadata-updated-at.ts +43 -1
  157. package/corpus/templates/content/server/lib/document-revision.ts +23 -0
  158. package/corpus/templates/content/server/lib/live-body-writer.ts +199 -0
  159. package/corpus/templates/content/server/lib/notion-sync.ts +63 -29
  160. package/corpus/templates/content/server/lib/notion.ts +5 -5
  161. package/corpus/templates/content/server/lib/suggested-edits.ts +357 -230
  162. package/corpus/templates/content/server/plugins/db.ts +5 -0
  163. package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +50 -168
  164. package/corpus/templates/content/shared/api.ts +20 -0
  165. package/corpus/templates/content/shared/blocks-fields-manifest.ts +106 -0
  166. package/corpus/templates/content/shared/database-item-layout.ts +591 -0
  167. package/corpus/templates/content/shared/database-query.ts +192 -30
  168. package/corpus/templates/content/shared/document-export.ts +12 -14
  169. package/corpus/templates/content/shared/document-flush-protocol.ts +88 -0
  170. package/corpus/templates/content/shared/editor-save-state.ts +97 -0
  171. package/corpus/templates/content/shared/feature-flags.ts +10 -0
  172. package/corpus/templates/content/shared/import/markdown.ts +91 -7
  173. package/corpus/templates/content/shared/import/types.ts +2 -0
  174. package/corpus/templates/content/shared/inline-math.ts +6 -4
  175. package/corpus/templates/content/shared/nfm-fidelity.ts +247 -0
  176. package/corpus/templates/content/shared/nfm.ts +1933 -340
  177. package/corpus/templates/content/shared/suggestion-diff.ts +13 -0
  178. package/corpus/templates/content/shared/suggestion-formatting.ts +143 -20
  179. package/corpus/templates/content/shared/suggestion-text.ts +39 -0
  180. package/corpus/templates/content/vitest.config.ts +10 -0
  181. package/corpus/templates/crm/.agents/skills/actions/references/action-fields.md +1 -1
  182. package/corpus/templates/design/.agents/skills/actions/references/action-fields.md +1 -1
  183. package/corpus/templates/design/.agents/skills/native-effects/SKILL.md +9 -2
  184. package/corpus/templates/design/.generated/bridge/shader-fill-preview.generated.ts +3 -249
  185. package/corpus/templates/design/.generated/bridge/shader-runtime.generated.ts +5 -88
  186. package/corpus/templates/design/AGENTS.md +1 -3
  187. package/corpus/templates/design/CHANGELOG.md +32 -0
  188. package/corpus/templates/design/CODE_NATIVE_DESIGN_STUDIO_IMPLEMENTATION_PLAN.md +1 -6
  189. package/corpus/templates/design/DESIGN-STUDIO-PLAN.md +5 -7
  190. package/corpus/templates/design/actions/_native-local-export-server.ts +44 -31
  191. package/corpus/templates/design/actions/_native-render-contexts.ts +76 -21
  192. package/corpus/templates/design/actions/claim-native-local-export.ts +5 -0
  193. package/corpus/templates/design/actions/finish-native-local-export.ts +13 -2
  194. package/corpus/templates/design/actions/get-native-shader-approvals.ts +35 -0
  195. package/corpus/templates/design/actions/get-shader.ts +134 -219
  196. package/corpus/templates/design/actions/list-design-extensions.ts +3 -58
  197. package/corpus/templates/design/actions/request-native-local-export.ts +32 -6
  198. package/corpus/templates/design/actions/run-design-extension-action.ts +0 -29
  199. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +131 -108
  200. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +0 -218
  201. package/corpus/templates/design/app/components/design/DesignThumbnail.tsx +59 -3
  202. package/corpus/templates/design/app/components/design/EditPanel.tsx +35 -47
  203. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +242 -62
  204. package/corpus/templates/design/app/components/design/NativePreviewErrorBoundary.tsx +53 -0
  205. package/corpus/templates/design/app/components/design/bridge/codegen.ts +18 -3
  206. package/corpus/templates/design/app/components/design/bridge/native-composition-clock.ts +5 -4
  207. package/corpus/templates/design/app/components/design/bridge/native-dom.ts +37 -0
  208. package/corpus/templates/design/app/components/design/bridge/native-intrinsic-image.ts +2 -1
  209. package/corpus/templates/design/app/components/design/bridge/native-mesh-grid.ts +90 -0
  210. package/corpus/templates/design/app/components/design/bridge/native-opaque-public-asset.ts +363 -0
  211. package/corpus/templates/design/app/components/design/bridge/native-opaque-worker-lease.ts +179 -0
  212. package/corpus/templates/design/app/components/design/bridge/native-preview-geometry.ts +132 -7
  213. package/corpus/templates/design/app/components/design/bridge/native-preview-policy.ts +4 -0
  214. package/corpus/templates/design/app/components/design/bridge/native-preview-viewport-transport.ts +378 -0
  215. package/corpus/templates/design/app/components/design/bridge/native-scene-body-transform.ts +62 -0
  216. package/corpus/templates/design/app/components/design/bridge/native-scene-presentation-element.ts +10 -0
  217. package/corpus/templates/design/app/components/design/bridge/native-shader-runtime.bridge.ts +646 -167
  218. package/corpus/templates/design/app/components/design/bridge/native-source-provider.ts +246 -192
  219. package/corpus/templates/design/app/components/design/bridge/native-stateful-resource.ts +2 -2
  220. package/corpus/templates/design/app/components/design/bridge/native-stateless-compute.ts +5 -2
  221. package/corpus/templates/design/app/components/design/bridge/native-svg-source.ts +11 -1
  222. package/corpus/templates/design/app/components/design/bridge/native-worker-broker.ts +6 -0
  223. package/corpus/templates/design/app/components/design/bridge/native-worker-entry.ts +761 -303
  224. package/corpus/templates/design/app/components/design/bridge/native-worker-fill.ts +16 -6
  225. package/corpus/templates/design/app/components/design/bridge/native-worker-gpu.ts +854 -91
  226. package/corpus/templates/design/app/components/design/bridge/native-worker-host.ts +15 -1
  227. package/corpus/templates/design/app/components/design/bridge/native-worker-input-assets.ts +200 -0
  228. package/corpus/templates/design/app/components/design/bridge/native-worker-protocol.ts +40 -1
  229. package/corpus/templates/design/app/components/design/bridge/native-worker-scene-host.ts +425 -126
  230. package/corpus/templates/design/app/components/design/bridge/native-worker-source-snapshot.ts +21 -0
  231. package/corpus/templates/design/app/components/design/bridge/shader-fill-preview.bridge.ts +5 -371
  232. package/corpus/templates/design/app/components/design/bridge/shader-runtime.bridge.ts +4 -146
  233. package/corpus/templates/design/app/components/design/design-canvas/interact-document.ts +5 -9
  234. package/corpus/templates/design/app/components/design/design-canvas/native-preview-surface.ts +150 -0
  235. package/corpus/templates/design/app/components/design/design-canvas/native-public-asset-preview.ts +409 -0
  236. package/corpus/templates/design/app/components/design/design-canvas/native-public-worker-preview.ts +1086 -0
  237. package/corpus/templates/design/app/components/design/design-canvas/private-replay-screenshot-preview.ts +2 -2
  238. package/corpus/templates/design/app/components/design/edit-panel/effects-properties.tsx +15 -26
  239. package/corpus/templates/design/app/components/design/edit-panel/fill-properties.tsx +74 -67
  240. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +7 -19
  241. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +39 -30
  242. package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +4 -0
  243. package/corpus/templates/design/app/components/design/inspector/NativeShaderColorControls.tsx +3 -7
  244. package/corpus/templates/design/app/components/design/inspector/NativeShaderPaintControls.tsx +12 -5
  245. package/corpus/templates/design/app/components/design/inspector/NativeShaderPanel.tsx +705 -190
  246. package/corpus/templates/design/app/components/design/inspector/fill-field-reading.ts +1 -2
  247. package/corpus/templates/design/app/components/design/inspector/index.ts +0 -6
  248. package/corpus/templates/design/app/components/design/inspector/native-catalog-display.ts +26 -5
  249. package/corpus/templates/design/app/components/design/inspector/native-shader-catalog-fixture.ts +42 -0
  250. package/corpus/templates/design/app/components/design/inspector/native-shader-catalog-preview.ts +51 -33
  251. package/corpus/templates/design/app/components/design/inspector/native-shader-paint.ts +1 -0
  252. package/corpus/templates/design/app/components/design/inspector/native-shader-property-draft.ts +89 -23
  253. package/corpus/templates/design/app/components/design/inspector/saved-glsl-shader.tsx +243 -0
  254. package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +54 -5
  255. package/corpus/templates/design/app/components/design/shader-source-coordination.ts +66 -0
  256. package/corpus/templates/design/app/components/design/use-native-shader-approvals.ts +36 -8
  257. package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +60 -3
  258. package/corpus/templates/design/app/i18n/en-US.ts +78 -2
  259. package/corpus/templates/design/app/pages/Present.tsx +36 -1
  260. package/corpus/templates/design/app/pages/design-editor/commands/apply-file-content-update.ts +1 -1
  261. package/corpus/templates/design/app/pages/design-editor/commands/apply-local-content-update.ts +1 -1
  262. package/corpus/templates/design/app/pages/design-editor/commands/commit-visual-styles.ts +2 -3
  263. package/corpus/templates/design/app/pages/design-editor/commands/cross-screen-element-drop.ts +1 -1
  264. package/corpus/templates/design/app/pages/design-editor/commands/layer-move-to-screen.ts +1 -1
  265. package/corpus/templates/design/app/pages/design-editor/commands/paste-selection.ts +1 -1
  266. package/corpus/templates/design/app/pages/design-editor/commands/paste-svg-layer.ts +1 -1
  267. package/corpus/templates/design/app/pages/design-editor/commands/prepare-content-history-replay.ts +1 -1
  268. package/corpus/templates/design/app/pages/design-editor/commands/redo.ts +1 -1
  269. package/corpus/templates/design/app/pages/design-editor/commands/render-png-blob.ts +84 -41
  270. package/corpus/templates/design/app/pages/design-editor/commands/shader-source-edit.ts +1 -1
  271. package/corpus/templates/design/app/pages/design-editor/commands/undo.ts +1 -1
  272. package/corpus/templates/design/app/pages/design-editor/design-editor-view.tsx +0 -2
  273. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-content-and-components.ts +4 -33
  274. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-export-and-handoff.ts +2 -2
  275. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-history.ts +0 -11
  276. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-layer-models.ts +2 -55
  277. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-screen-rendering.tsx +0 -3
  278. package/corpus/templates/design/app/pages/design-editor/domains/use-editor-selection-and-styles.ts +0 -24
  279. package/corpus/templates/design/app/pages/design-editor/text-edit-utils.ts +0 -16
  280. package/corpus/templates/design/app/pages/design-editor/use-native-local-export-requests.ts +70 -11
  281. package/corpus/templates/design/app/pages/design-editor/view/single-screen-canvas.tsx +0 -2
  282. package/corpus/templates/design/changelog/2026-10-20-folded-mesh-adds-an-animated-sculpted-fill-with-editable-col.md +6 -0
  283. package/corpus/templates/design/changelog/2026-10-20-read-only-design-views-render-native-shader-previews-in-nest.md +6 -0
  284. package/corpus/templates/design/changelog/2026-10-20-selected-screens-with-shader-effects-can-be-exported-togethe.md +6 -0
  285. package/corpus/templates/design/changelog/2026-10-20-shader-previews-reuse-validated-scene-data-while-panning-inc.md +6 -0
  286. package/corpus/templates/design/changelog/2026-10-20-shader-previews-stay-aligned-while-you-zoom.md +6 -0
  287. package/corpus/templates/design/changelog/2026-10-20-signed-out-sessions-no-longer-watch-for-private-png-export-r.md +6 -0
  288. package/corpus/templates/design/changelog/2026-10-21-effect-thumbnails-show-richer-previews.md +6 -0
  289. package/corpus/templates/design/changelog/2026-10-21-native-effects-render-across-previews.md +6 -0
  290. package/corpus/templates/design/changelog/2026-10-21-native-shader-previews-use-less-gpu-memory-when-many-mesh-ef.md +6 -0
  291. package/corpus/templates/design/changelog/2026-10-21-opening-design-no-longer-shows-png-export-errors-when-no-exp.md +6 -0
  292. package/corpus/templates/design/changelog/2026-10-21-pulsing-border-controls-grouped.md +6 -0
  293. package/corpus/templates/design/changelog/2026-10-21-pulsing-border-follows-element-outlines.md +6 -0
  294. package/corpus/templates/design/changelog/2026-10-21-remove-obsolete-shader-fills.md +6 -0
  295. package/corpus/templates/design/changelog/2026-10-21-shader-previews-recover-from-temporary-gpu-and-image-failure.md +6 -0
  296. package/corpus/templates/design/changelog/2026-10-22-shader-fills-and-effects-render-correctly-on-canvas-elements.md +6 -0
  297. package/corpus/templates/design/package.json +0 -1
  298. package/corpus/templates/design/playwright.config.ts +1 -1
  299. package/corpus/templates/design/scripts/runtime-budget-zoom.ts +9 -21
  300. package/corpus/templates/design/scripts/runtime-budget.ts +10 -24
  301. package/corpus/templates/design/server/plugins/agent-chat.ts +0 -2
  302. package/corpus/templates/design/shared/effect-graph.ts +46 -1
  303. package/corpus/templates/design/shared/generation-output-receipt.ts +0 -1
  304. package/corpus/templates/design/shared/native-effect-animation-capability.ts +6 -0
  305. package/corpus/templates/design/shared/native-effect-folded-mesh-v1.ts +268 -0
  306. package/corpus/templates/design/shared/native-effect-folded-mesh-v2.ts +310 -0
  307. package/corpus/templates/design/shared/native-effect-folded-mesh.ts +489 -0
  308. package/corpus/templates/design/shared/native-effect-gallery-additions.ts +2 -2
  309. package/corpus/templates/design/shared/native-effect-paint.ts +8 -0
  310. package/corpus/templates/design/shared/native-effect-parameter-constraints.ts +8 -1
  311. package/corpus/templates/design/shared/native-effect-presets.ts +18 -1
  312. package/corpus/templates/design/shared/native-effect-property-presentation.ts +81 -0
  313. package/corpus/templates/design/shared/native-effect-pulsing-border-v3.ts +281 -0
  314. package/corpus/templates/design/shared/native-effect-pulsing-border-v4.ts +284 -0
  315. package/corpus/templates/design/shared/native-effect-pulsing-border.ts +300 -0
  316. package/corpus/templates/design/shared/native-effect-trust.ts +6 -0
  317. package/corpus/templates/design/shared/native-effect-wgsl.ts +12 -0
  318. package/corpus/templates/design/shared/native-effects.ts +528 -15
  319. package/corpus/templates/design/shared/native-input-resources.ts +36 -0
  320. package/corpus/templates/design/shared/native-local-export.ts +14 -0
  321. package/corpus/templates/design/shared/native-parameter-animation.ts +1 -0
  322. package/corpus/templates/design/shared/native-pointer-input.ts +9 -11
  323. package/corpus/templates/design/shared/shader-fills.ts +0 -513
  324. package/corpus/templates/design/vitest.setup.ts +7 -1
  325. package/corpus/templates/dispatch/.agents/skills/actions/references/action-fields.md +1 -1
  326. package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +20 -18
  327. package/corpus/templates/factory/.agents/skills/actions/references/action-fields.md +1 -1
  328. package/corpus/templates/factory/.agents/skills/review-latest-feedback/SKILL.md +36 -80
  329. package/corpus/templates/factory/.agents/skills/review-latest-feedback/references/channel-inventory.md +54 -16
  330. package/corpus/templates/factory/.agents/skills/review-latest-feedback/references/slack-reaction-replies.md +50 -73
  331. package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +20 -18
  332. package/corpus/templates/forms/.agents/skills/actions/references/action-fields.md +1 -1
  333. package/corpus/templates/mail/.agents/skills/actions/references/action-fields.md +1 -1
  334. package/corpus/templates/plan/.agents/skills/actions/references/action-fields.md +1 -1
  335. package/corpus/templates/slides/.agents/skills/actions/references/action-fields.md +1 -1
  336. package/corpus/templates/slides-2/.agents/skills/actions/SKILL.md +199 -0
  337. package/corpus/templates/slides-2/.agents/skills/actions/references/action-fields.md +145 -0
  338. package/corpus/templates/slides-2/.agents/skills/actions/references/examples.md +96 -0
  339. package/corpus/templates/slides-2/.agents/skills/actions/references/provider-apis.md +95 -0
  340. package/corpus/templates/slides-2/.agents/skills/adding-a-feature/SKILL.md +235 -0
  341. package/corpus/templates/slides-2/.agents/skills/agent-native-docs/SKILL.md +161 -0
  342. package/corpus/templates/slides-2/.agents/skills/agent-native-toolkit/SKILL.md +314 -0
  343. package/corpus/templates/slides-2/.agents/skills/analytics-data-for-decks/SKILL.md +44 -0
  344. package/corpus/templates/slides-2/.agents/skills/apply-slide-comments/SKILL.md +63 -0
  345. package/corpus/templates/slides-2/.agents/skills/client-side-routing/SKILL.md +87 -0
  346. package/corpus/templates/slides-2/.agents/skills/context-awareness/SKILL.md +282 -0
  347. package/corpus/templates/slides-2/.agents/skills/create-deck/SKILL.md +263 -0
  348. package/corpus/templates/slides-2/.agents/skills/create-deck/references/reference-inputs.md +72 -0
  349. package/corpus/templates/slides-2/.agents/skills/create-deck/references/slide-templates.md +93 -0
  350. package/corpus/templates/slides-2/.agents/skills/create-deck/references/source-material.md +16 -0
  351. package/corpus/templates/slides-2/.agents/skills/creative-context/SKILL.md +134 -0
  352. package/corpus/templates/slides-2/.agents/skills/customizing-agent-native/SKILL.md +219 -0
  353. package/corpus/templates/slides-2/.agents/skills/deck-management/SKILL.md +182 -0
  354. package/corpus/templates/slides-2/.agents/skills/delegate-to-agent/SKILL.md +62 -0
  355. package/corpus/templates/slides-2/.agents/skills/design-systems/SKILL.md +233 -0
  356. package/corpus/templates/slides-2/.agents/skills/external-agents/SKILL.md +549 -0
  357. package/corpus/templates/slides-2/.agents/skills/external-agents/references/mcp-apps-embedding.md +169 -0
  358. package/corpus/templates/slides-2/.agents/skills/frontend-design/SKILL.md +102 -0
  359. package/corpus/templates/slides-2/.agents/skills/frontend-design/references/visual-direction.md +102 -0
  360. package/corpus/templates/slides-2/.agents/skills/image-generation-via-a2a/SKILL.md +134 -0
  361. package/corpus/templates/slides-2/.agents/skills/performance/SKILL.md +79 -0
  362. package/corpus/templates/slides-2/.agents/skills/portability/SKILL.md +108 -0
  363. package/corpus/templates/slides-2/.agents/skills/real-time-sync/SKILL.md +146 -0
  364. package/corpus/templates/slides-2/.agents/skills/reliable-mutations/SKILL.md +72 -0
  365. package/corpus/templates/slides-2/.agents/skills/secrets/SKILL.md +82 -0
  366. package/corpus/templates/slides-2/.agents/skills/security/SKILL.md +80 -0
  367. package/corpus/templates/slides-2/.agents/skills/self-modifying-code/SKILL.md +123 -0
  368. package/corpus/templates/slides-2/.agents/skills/shadcn-ui/SKILL.md +71 -0
  369. package/corpus/templates/slides-2/.agents/skills/sharing/SKILL.md +286 -0
  370. package/corpus/templates/slides-2/.agents/skills/slide-design/SKILL.md +144 -0
  371. package/corpus/templates/slides-2/.agents/skills/slide-editing/SKILL.md +284 -0
  372. package/corpus/templates/slides-2/.agents/skills/slide-editing/references/animations.md +33 -0
  373. package/corpus/templates/slides-2/.agents/skills/slide-editing/references/freeform-objects.md +22 -0
  374. package/corpus/templates/slides-2/.agents/skills/slide-editing/references/restyling.md +69 -0
  375. package/corpus/templates/slides-2/.agents/skills/slide-editing/references/transitions.md +26 -0
  376. package/corpus/templates/slides-2/.agents/skills/slide-editing/references/video.md +45 -0
  377. package/corpus/templates/slides-2/.agents/skills/slide-images/SKILL.md +136 -0
  378. package/corpus/templates/slides-2/.agents/skills/storing-data/SKILL.md +234 -0
  379. package/corpus/templates/slides-2/.agents/skills/turn-into-skill/SKILL.md +112 -0
  380. package/corpus/templates/slides-2/.agents/skills/turn-into-skill/agents/openai.yaml +4 -0
  381. package/corpus/templates/slides-2/.agents/skills/workspace-conventions/SKILL.md +103 -0
  382. package/corpus/templates/slides-2/.builder/rules/deploy-app.mdc +22 -0
  383. package/corpus/templates/slides-2/.builder/rules/organize-ui.mdc +9 -0
  384. package/corpus/templates/slides-2/.dockerignore +61 -0
  385. package/corpus/templates/slides-2/.env.example +23 -0
  386. package/corpus/templates/slides-2/.ignore +3 -0
  387. package/corpus/templates/slides-2/.mcp.json +8 -0
  388. package/corpus/templates/slides-2/.oxfmtrc.json +8 -0
  389. package/corpus/templates/slides-2/AGENTS.md +66 -0
  390. package/corpus/templates/slides-2/CHANGELOG.md +76 -0
  391. package/corpus/templates/slides-2/DEVELOPING.md +157 -0
  392. package/corpus/templates/slides-2/README.md +58 -0
  393. package/corpus/templates/slides-2/THIRD_PARTY_NOTICES.md +33 -0
  394. package/corpus/templates/slides-2/_gitignore +38 -0
  395. package/corpus/templates/slides-2/actions/_agent-presence.ts +29 -0
  396. package/corpus/templates/slides-2/actions/_app-url.ts +37 -0
  397. package/corpus/templates/slides-2/actions/_deck-app-scope.ts +30 -0
  398. package/corpus/templates/slides-2/actions/_deck-tracking.ts +260 -0
  399. package/corpus/templates/slides-2/actions/_deck-write.ts +206 -0
  400. package/corpus/templates/slides-2/actions/_imported-slide-source.ts +162 -0
  401. package/corpus/templates/slides-2/actions/_inline-image-storage.ts +1013 -0
  402. package/corpus/templates/slides-2/actions/_linked-design-system.ts +83 -0
  403. package/corpus/templates/slides-2/actions/_presenter-notes.ts +83 -0
  404. package/corpus/templates/slides-2/actions/_render-artifacts.ts +111 -0
  405. package/corpus/templates/slides-2/actions/_slide-source.ts +344 -0
  406. package/corpus/templates/slides-2/actions/_tab-state.ts +51 -0
  407. package/corpus/templates/slides-2/actions/_test-brandfetch.ts +31 -0
  408. package/corpus/templates/slides-2/actions/_uploaded-files.ts +114 -0
  409. package/corpus/templates/slides-2/actions/add-deck.ts +123 -0
  410. package/corpus/templates/slides-2/actions/add-slide-comment.ts +267 -0
  411. package/corpus/templates/slides-2/actions/add-slide.ts +888 -0
  412. package/corpus/templates/slides-2/actions/analyze-brand-assets.ts +66 -0
  413. package/corpus/templates/slides-2/actions/apply-design-system.ts +111 -0
  414. package/corpus/templates/slides-2/actions/approve-deck-access-request.ts +287 -0
  415. package/corpus/templates/slides-2/actions/audit-contrast.ts +143 -0
  416. package/corpus/templates/slides-2/actions/check-image-gen.ts +17 -0
  417. package/corpus/templates/slides-2/actions/clone-context-slide.ts +340 -0
  418. package/corpus/templates/slides-2/actions/clone-creative-context-deck.ts +143 -0
  419. package/corpus/templates/slides-2/actions/control-deck-history.ts +186 -0
  420. package/corpus/templates/slides-2/actions/control-presenter.ts +117 -0
  421. package/corpus/templates/slides-2/actions/control-slide-editor.ts +267 -0
  422. package/corpus/templates/slides-2/actions/create-deck-from-template.ts +274 -0
  423. package/corpus/templates/slides-2/actions/create-deck.ts +1243 -0
  424. package/corpus/templates/slides-2/actions/create-design-system.ts +131 -0
  425. package/corpus/templates/slides-2/actions/create-share-link.ts +127 -0
  426. package/corpus/templates/slides-2/actions/db-health.ts +22 -0
  427. package/corpus/templates/slides-2/actions/delete-asset.ts +154 -0
  428. package/corpus/templates/slides-2/actions/delete-deck.ts +427 -0
  429. package/corpus/templates/slides-2/actions/delete-design-system.ts +167 -0
  430. package/corpus/templates/slides-2/actions/delete-slide-comment.ts +143 -0
  431. package/corpus/templates/slides-2/actions/delete-staged-dataset.ts +30 -0
  432. package/corpus/templates/slides-2/actions/duplicate-deck.ts +299 -0
  433. package/corpus/templates/slides-2/actions/export-google-slides.ts +41 -0
  434. package/corpus/templates/slides-2/actions/export-html.ts +770 -0
  435. package/corpus/templates/slides-2/actions/export-pptx.ts +2203 -0
  436. package/corpus/templates/slides-2/actions/extract-pdf.ts +49 -0
  437. package/corpus/templates/slides-2/actions/generate-image-api.ts +671 -0
  438. package/corpus/templates/slides-2/actions/generate-image.ts +492 -0
  439. package/corpus/templates/slides-2/actions/get-agent-access-deck.ts +52 -0
  440. package/corpus/templates/slides-2/actions/get-deck-access-status.ts +130 -0
  441. package/corpus/templates/slides-2/actions/get-deck-design-tokens.ts +62 -0
  442. package/corpus/templates/slides-2/actions/get-deck-reference-context.ts +232 -0
  443. package/corpus/templates/slides-2/actions/get-deck-template.ts +38 -0
  444. package/corpus/templates/slides-2/actions/get-deck-version.ts +85 -0
  445. package/corpus/templates/slides-2/actions/get-deck.ts +562 -0
  446. package/corpus/templates/slides-2/actions/get-design-system-decode-job-status.ts +57 -0
  447. package/corpus/templates/slides-2/actions/get-design-system-tier-limit.ts +12 -0
  448. package/corpus/templates/slides-2/actions/get-design-system.ts +453 -0
  449. package/corpus/templates/slides-2/actions/get-google-docs-status.ts +106 -0
  450. package/corpus/templates/slides-2/actions/get-google-picker-token.ts +84 -0
  451. package/corpus/templates/slides-2/actions/get-home-suggestions.ts +52 -0
  452. package/corpus/templates/slides-2/actions/get-layout-overflows.ts +192 -0
  453. package/corpus/templates/slides-2/actions/get-slide-render.ts +125 -0
  454. package/corpus/templates/slides-2/actions/get-slide-source.ts +115 -0
  455. package/corpus/templates/slides-2/actions/get-slide-theme-preview.ts +64 -0
  456. package/corpus/templates/slides-2/actions/get-slide-theme.ts +44 -0
  457. package/corpus/templates/slides-2/actions/get-slides-2-upload-storage-status.ts +17 -0
  458. package/corpus/templates/slides-2/actions/get-slides-notification-prefs.ts +37 -0
  459. package/corpus/templates/slides-2/actions/get-workspace-defaults.ts +51 -0
  460. package/corpus/templates/slides-2/actions/image-gen-status.ts +35 -0
  461. package/corpus/templates/slides-2/actions/import-code.ts +26 -0
  462. package/corpus/templates/slides-2/actions/import-design-project.ts +49 -0
  463. package/corpus/templates/slides-2/actions/import-document.ts +125 -0
  464. package/corpus/templates/slides-2/actions/import-docx.ts +57 -0
  465. package/corpus/templates/slides-2/actions/import-file.ts +1273 -0
  466. package/corpus/templates/slides-2/actions/import-from-url.ts +25 -0
  467. package/corpus/templates/slides-2/actions/import-google-doc.ts +208 -0
  468. package/corpus/templates/slides-2/actions/import-google-font.ts +110 -0
  469. package/corpus/templates/slides-2/actions/import-google-slides-reference.ts +667 -0
  470. package/corpus/templates/slides-2/actions/import-pptx.ts +564 -0
  471. package/corpus/templates/slides-2/actions/import-svgl-logo.ts +115 -0
  472. package/corpus/templates/slides-2/actions/index-design-system-with-builder.ts +181 -0
  473. package/corpus/templates/slides-2/actions/index-uploaded-design-system-files.ts +77 -0
  474. package/corpus/templates/slides-2/actions/list-assets.ts +286 -0
  475. package/corpus/templates/slides-2/actions/list-deck-templates.ts +83 -0
  476. package/corpus/templates/slides-2/actions/list-deck-versions.ts +185 -0
  477. package/corpus/templates/slides-2/actions/list-decks.ts +591 -0
  478. package/corpus/templates/slides-2/actions/list-design-systems.ts +180 -0
  479. package/corpus/templates/slides-2/actions/list-slide-comments.ts +128 -0
  480. package/corpus/templates/slides-2/actions/list-slide-themes.ts +17 -0
  481. package/corpus/templates/slides-2/actions/list-staged-datasets.ts +14 -0
  482. package/corpus/templates/slides-2/actions/logo-config.ts +13 -0
  483. package/corpus/templates/slides-2/actions/navigate.ts +158 -0
  484. package/corpus/templates/slides-2/actions/patch-deck.ts +2378 -0
  485. package/corpus/templates/slides-2/actions/provider-api-catalog.ts +25 -0
  486. package/corpus/templates/slides-2/actions/provider-api-docs.ts +83 -0
  487. package/corpus/templates/slides-2/actions/provider-api-request.ts +222 -0
  488. package/corpus/templates/slides-2/actions/query-staged-dataset.ts +83 -0
  489. package/corpus/templates/slides-2/actions/read-composer-source.ts +108 -0
  490. package/corpus/templates/slides-2/actions/request-deck-access.ts +803 -0
  491. package/corpus/templates/slides-2/actions/restore-deck-version.ts +203 -0
  492. package/corpus/templates/slides-2/actions/run.ts +2 -0
  493. package/corpus/templates/slides-2/actions/save-deck.ts +313 -0
  494. package/corpus/templates/slides-2/actions/search-google-fonts.ts +61 -0
  495. package/corpus/templates/slides-2/actions/search-images.ts +30 -0
  496. package/corpus/templates/slides-2/actions/search-logos.ts +23 -0
  497. package/corpus/templates/slides-2/actions/search-svgl-logos.ts +42 -0
  498. package/corpus/templates/slides-2/actions/set-default-design-system.ts +88 -0
  499. package/corpus/templates/slides-2/actions/set-workspace-defaults.ts +61 -0
  500. package/corpus/templates/slides-2/actions/start-design-system-upload.ts +80 -0
  501. package/corpus/templates/slides-2/actions/sync-design-system-with-builder.ts +84 -0
  502. package/corpus/templates/slides-2/actions/toggle-slide-comment-reaction.ts +150 -0
  503. package/corpus/templates/slides-2/actions/transform-slide-objects.ts +1528 -0
  504. package/corpus/templates/slides-2/actions/update-asset.ts +499 -0
  505. package/corpus/templates/slides-2/actions/update-deck-aspect-ratio.ts +95 -0
  506. package/corpus/templates/slides-2/actions/update-deck-design-tokens.ts +175 -0
  507. package/corpus/templates/slides-2/actions/update-design-system.ts +95 -0
  508. package/corpus/templates/slides-2/actions/update-slide-comment.ts +213 -0
  509. package/corpus/templates/slides-2/actions/update-slide-source.ts +353 -0
  510. package/corpus/templates/slides-2/actions/update-slide.ts +850 -0
  511. package/corpus/templates/slides-2/actions/update-slides-notification-prefs.ts +55 -0
  512. package/corpus/templates/slides-2/actions/view-screen.ts +1098 -0
  513. package/corpus/templates/slides-2/agent-native.app-skill.json +165 -0
  514. package/corpus/templates/slides-2/agent-native.config.ts +20 -0
  515. package/corpus/templates/slides-2/agent-native.json +18 -0
  516. package/corpus/templates/slides-2/app/components/ThemeToggle.tsx +47 -0
  517. package/corpus/templates/slides-2/app/components/comments/SlideCommentPins.tsx +781 -0
  518. package/corpus/templates/slides-2/app/components/comments/SlideCommentsPanel.tsx +1075 -0
  519. package/corpus/templates/slides-2/app/components/deck/DeckCard.tsx +304 -0
  520. package/corpus/templates/slides-2/app/components/deck/DeckFilterMenu.tsx +83 -0
  521. package/corpus/templates/slides-2/app/components/deck/ExcalidrawSlide.tsx +183 -0
  522. package/corpus/templates/slides-2/app/components/deck/MermaidRenderer.tsx +126 -0
  523. package/corpus/templates/slides-2/app/components/deck/SlideRenderer.tsx +1553 -0
  524. package/corpus/templates/slides-2/app/components/design-system/DesignSystemCard.tsx +235 -0
  525. package/corpus/templates/slides-2/app/components/design-system/DesignSystemSetup.tsx +2021 -0
  526. package/corpus/templates/slides-2/app/components/design-system/builder-design-system-upload.ts +200 -0
  527. package/corpus/templates/slides-2/app/components/design-system/builder-index-response.ts +104 -0
  528. package/corpus/templates/slides-2/app/components/editor/AddSlidePopover.tsx +461 -0
  529. package/corpus/templates/slides-2/app/components/editor/AiEditingMarker.tsx +24 -0
  530. package/corpus/templates/slides-2/app/components/editor/AlignmentGuides.tsx +82 -0
  531. package/corpus/templates/slides-2/app/components/editor/AnimationsPanel.tsx +698 -0
  532. package/corpus/templates/slides-2/app/components/editor/AppMenu.tsx +356 -0
  533. package/corpus/templates/slides-2/app/components/editor/AssetLibraryPanel.tsx +508 -0
  534. package/corpus/templates/slides-2/app/components/editor/BlockBubbleMenu.tsx +548 -0
  535. package/corpus/templates/slides-2/app/components/editor/DeckAccessDeniedPage.tsx +173 -0
  536. package/corpus/templates/slides-2/app/components/editor/DeckEditorSkeleton.tsx +35 -0
  537. package/corpus/templates/slides-2/app/components/editor/DeferredPopoverFallback.tsx +148 -0
  538. package/corpus/templates/slides-2/app/components/editor/EditorActionCluster.tsx +217 -0
  539. package/corpus/templates/slides-2/app/components/editor/EditorSidebar.tsx +1047 -0
  540. package/corpus/templates/slides-2/app/components/editor/EditorToolbar.tsx +1285 -0
  541. package/corpus/templates/slides-2/app/components/editor/ExportMenu.tsx +579 -0
  542. package/corpus/templates/slides-2/app/components/editor/GeneratingOverlay.tsx +21 -0
  543. package/corpus/templates/slides-2/app/components/editor/GeneratingSlidePreview.tsx +73 -0
  544. package/corpus/templates/slides-2/app/components/editor/GoogleDocImportHint.tsx +378 -0
  545. package/corpus/templates/slides-2/app/components/editor/GoogleDriveConnectionCta.tsx +154 -0
  546. package/corpus/templates/slides-2/app/components/editor/GoogleSlidesReferenceImport.tsx +299 -0
  547. package/corpus/templates/slides-2/app/components/editor/HistoryPanel.tsx +354 -0
  548. package/corpus/templates/slides-2/app/components/editor/HomeQuickStartDialog.tsx +202 -0
  549. package/corpus/templates/slides-2/app/components/editor/ImageCropOverlay.tsx +820 -0
  550. package/corpus/templates/slides-2/app/components/editor/ImageDropPromptPopover.tsx +280 -0
  551. package/corpus/templates/slides-2/app/components/editor/ImageGenPanel.tsx +244 -0
  552. package/corpus/templates/slides-2/app/components/editor/ImageOverlay.tsx +280 -0
  553. package/corpus/templates/slides-2/app/components/editor/ImageSearchPanel.tsx +183 -0
  554. package/corpus/templates/slides-2/app/components/editor/ImportDeckButton.tsx +247 -0
  555. package/corpus/templates/slides-2/app/components/editor/LogoSearchPanel.tsx +366 -0
  556. package/corpus/templates/slides-2/app/components/editor/MermaidToExcalidrawPanel.tsx +99 -0
  557. package/corpus/templates/slides-2/app/components/editor/MissingDeckAccessPane.tsx +219 -0
  558. package/corpus/templates/slides-2/app/components/editor/NewDeckReferenceStep.tsx +812 -0
  559. package/corpus/templates/slides-2/app/components/editor/PromptDialog.tsx +963 -0
  560. package/corpus/templates/slides-2/app/components/editor/QuestionFlow.tsx +119 -0
  561. package/corpus/templates/slides-2/app/components/editor/RequestDeckAccessDialog.tsx +101 -0
  562. package/corpus/templates/slides-2/app/components/editor/ShareDialog.tsx +126 -0
  563. package/corpus/templates/slides-2/app/components/editor/SlideContextToolbar.tsx +1471 -0
  564. package/corpus/templates/slides-2/app/components/editor/SlideEditor.tsx +11183 -0
  565. package/corpus/templates/slides-2/app/components/editor/SlideOverflowWarning.tsx +82 -0
  566. package/corpus/templates/slides-2/app/components/editor/SlideScrollStack.tsx +307 -0
  567. package/corpus/templates/slides-2/app/components/editor/SlideSlashCommandMenu.tsx +692 -0
  568. package/corpus/templates/slides-2/app/components/editor/SlideThumbnailContextMenu.tsx +52 -0
  569. package/corpus/templates/slides-2/app/components/editor/SlideTransitionControl.tsx +184 -0
  570. package/corpus/templates/slides-2/app/components/editor/SlidesComposerContext.tsx +789 -0
  571. package/corpus/templates/slides-2/app/components/editor/SlidesComposerContextProvider.tsx +74 -0
  572. package/corpus/templates/slides-2/app/components/editor/SlidesLayersPanel.tsx +377 -0
  573. package/corpus/templates/slides-2/app/components/editor/SpeakerNotesPanel.tsx +119 -0
  574. package/corpus/templates/slides-2/app/components/editor/TweaksPanel.tsx +77 -0
  575. package/corpus/templates/slides-2/app/components/editor/UploadStorageGate.tsx +37 -0
  576. package/corpus/templates/slides-2/app/components/editor/bullet-editing.ts +880 -0
  577. package/corpus/templates/slides-2/app/components/editor/canvas-interactions/index.ts +12 -0
  578. package/corpus/templates/slides-2/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +119 -0
  579. package/corpus/templates/slides-2/app/components/editor/commit-active-edit.ts +14 -0
  580. package/corpus/templates/slides-2/app/components/editor/editor-command-model.ts +35 -0
  581. package/corpus/templates/slides-2/app/components/editor/fit-text-object.ts +31 -0
  582. package/corpus/templates/slides-2/app/components/editor/in-place-text-session.browser-cases.json +983 -0
  583. package/corpus/templates/slides-2/app/components/editor/in-place-text-session.browser-host.ts +747 -0
  584. package/corpus/templates/slides-2/app/components/editor/in-place-text-session.ts +6891 -0
  585. package/corpus/templates/slides-2/app/components/editor/inline-edit-session.ts +26 -0
  586. package/corpus/templates/slides-2/app/components/editor/list-editing.ts +501 -0
  587. package/corpus/templates/slides-2/app/components/editor/rich-text-selection.ts +975 -0
  588. package/corpus/templates/slides-2/app/components/editor/rte-test-utils.ts +265 -0
  589. package/corpus/templates/slides-2/app/components/editor/selection-overlay-measurement.ts +191 -0
  590. package/corpus/templates/slides-2/app/components/editor/slide-escape-arbiter.ts +34 -0
  591. package/corpus/templates/slides-2/app/components/editor/slide-object-interactions.ts +6362 -0
  592. package/corpus/templates/slides-2/app/components/editor/slide-object-transform.browser-host.ts +19 -0
  593. package/corpus/templates/slides-2/app/components/editor/slide-pointer-target.ts +432 -0
  594. package/corpus/templates/slides-2/app/components/editor/slide-presence.ts +13 -0
  595. package/corpus/templates/slides-2/app/components/editor/slide-style.ts +243 -0
  596. package/corpus/templates/slides-2/app/components/editor/slide-text-targets.ts +540 -0
  597. package/corpus/templates/slides-2/app/components/editor/style-clipboard.ts +102 -0
  598. package/corpus/templates/slides-2/app/components/editor/use-prompt-import.ts +159 -0
  599. package/corpus/templates/slides-2/app/components/home/SlidesHomeLibrary.tsx +79 -0
  600. package/corpus/templates/slides-2/app/components/layout/AgentWorkIndicator.tsx +193 -0
  601. package/corpus/templates/slides-2/app/components/layout/Header.tsx +110 -0
  602. package/corpus/templates/slides-2/app/components/layout/Layout.tsx +492 -0
  603. package/corpus/templates/slides-2/app/components/layout/Sidebar.tsx +109 -0
  604. package/corpus/templates/slides-2/app/components/layout/layout-route-policy.ts +28 -0
  605. package/corpus/templates/slides-2/app/components/presentation/PresentationView.tsx +1116 -0
  606. package/corpus/templates/slides-2/app/components/presentation/PresenterView.tsx +526 -0
  607. package/corpus/templates/slides-2/app/components/presentation/SlideTransitionStage.tsx +297 -0
  608. package/corpus/templates/slides-2/app/components/presentation/present-channel.ts +31 -0
  609. package/corpus/templates/slides-2/app/components/presentation/slide-build-steps.ts +231 -0
  610. package/corpus/templates/slides-2/app/components/presentation/slide-navigation.ts +273 -0
  611. package/corpus/templates/slides-2/app/components/presentation/slide-transition-motion.ts +258 -0
  612. package/corpus/templates/slides-2/app/components/presentation/voice-navigation.ts +61 -0
  613. package/corpus/templates/slides-2/app/components/settings/notification-settings.tsx +93 -0
  614. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2AssetBrowser.tsx +726 -0
  615. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2CommandMenu.tsx +453 -0
  616. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2Comments.tsx +571 -0
  617. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2DesignTokens.tsx +345 -0
  618. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2Editor.tsx +4804 -0
  619. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2ExportMenu.tsx +671 -0
  620. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2FontBrowser.tsx +342 -0
  621. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2ImageCropControls.tsx +487 -0
  622. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2Inspector.tsx +950 -0
  623. package/corpus/templates/slides-2/app/components/slides-2-editor/Slides2SvglLogoSearchDialog.tsx +332 -0
  624. package/corpus/templates/slides-2/app/components/slides-2-editor/cross-slide-edit-history.ts +151 -0
  625. package/corpus/templates/slides-2/app/components/slides-2-editor/design-token-presets.ts +140 -0
  626. package/corpus/templates/slides-2/app/components/slides-2-editor/editor-action-errors.ts +47 -0
  627. package/corpus/templates/slides-2/app/components/slides-2-editor/editor-export-errors.ts +60 -0
  628. package/corpus/templates/slides-2/app/components/slides-2-editor/geometry.ts +275 -0
  629. package/corpus/templates/slides-2/app/components/slides-2-editor/image-crop-style.ts +82 -0
  630. package/corpus/templates/slides-2/app/components/slides-2-editor/inline-text-editor.tsx +631 -0
  631. package/corpus/templates/slides-2/app/components/slides-2-editor/keyboard-shortcuts.ts +104 -0
  632. package/corpus/templates/slides-2/app/components/slides-2-editor/object-insertion.ts +13 -0
  633. package/corpus/templates/slides-2/app/components/slides-2-editor/preview-patches.ts +54 -0
  634. package/corpus/templates/slides-2/app/components/slides-2-editor/sandbox-render-errors.ts +23 -0
  635. package/corpus/templates/slides-2/app/components/slides-2-editor/source-structure.ts +634 -0
  636. package/corpus/templates/slides-2/app/components/slides-2-editor/types.ts +85 -0
  637. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2BlackoutOverlay.tsx +13 -0
  638. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2ControlBar.tsx +285 -0
  639. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2HelpDialog.tsx +72 -0
  640. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2JumpInput.tsx +38 -0
  641. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2LaserPointer.tsx +67 -0
  642. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2Overview.tsx +161 -0
  643. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2Player.tsx +839 -0
  644. package/corpus/templates/slides-2/app/components/slides-2-presenter/Slides2ProgressBar.tsx +23 -0
  645. package/corpus/templates/slides-2/app/components/slides-2-presenter/keyboard.ts +36 -0
  646. package/corpus/templates/slides-2/app/components/slides-2-presenter/presenter-channel.ts +131 -0
  647. package/corpus/templates/slides-2/app/components/slides-2-presenter/use-presenter-action-bridge.ts +296 -0
  648. package/corpus/templates/slides-2/app/components/slides-2-presenter/useSlides2TouchSwipe.ts +80 -0
  649. package/corpus/templates/slides-2/app/components/slides-2-runtime/SandboxedSlide.tsx +724 -0
  650. package/corpus/templates/slides-2/app/components/slides-2-runtime/SlideContentRenderer.tsx +137 -0
  651. package/corpus/templates/slides-2/app/components/slides-2-runtime/Slides2Canvas.tsx +99 -0
  652. package/corpus/templates/slides-2/app/components/slides-2-runtime/constants.ts +4 -0
  653. package/corpus/templates/slides-2/app/components/slides-2-runtime/protocol.ts +1400 -0
  654. package/corpus/templates/slides-2/app/components/slides-2-runtime/transition-frame.ts +439 -0
  655. package/corpus/templates/slides-2/app/components/templates/DeckTemplateLibrary.tsx +314 -0
  656. package/corpus/templates/slides-2/app/components/templates/DeckTemplatePreview.tsx +60 -0
  657. package/corpus/templates/slides-2/app/components/templates/DeckTemplateStage.tsx +45 -0
  658. package/corpus/templates/slides-2/app/components/ui/alert-dialog.tsx +1 -0
  659. package/corpus/templates/slides-2/app/components/ui/avatar.tsx +1 -0
  660. package/corpus/templates/slides-2/app/components/ui/button-group.tsx +1 -0
  661. package/corpus/templates/slides-2/app/components/ui/button.tsx +1 -0
  662. package/corpus/templates/slides-2/app/components/ui/card.tsx +1 -0
  663. package/corpus/templates/slides-2/app/components/ui/command.tsx +1 -0
  664. package/corpus/templates/slides-2/app/components/ui/context-menu.tsx +32 -0
  665. package/corpus/templates/slides-2/app/components/ui/dialog.tsx +1 -0
  666. package/corpus/templates/slides-2/app/components/ui/dropdown-menu.tsx +1 -0
  667. package/corpus/templates/slides-2/app/components/ui/filter-trigger.tsx +1 -0
  668. package/corpus/templates/slides-2/app/components/ui/input.tsx +1 -0
  669. package/corpus/templates/slides-2/app/components/ui/label.tsx +1 -0
  670. package/corpus/templates/slides-2/app/components/ui/popover.tsx +1 -0
  671. package/corpus/templates/slides-2/app/components/ui/progress.tsx +1 -0
  672. package/corpus/templates/slides-2/app/components/ui/scroll-area.tsx +1 -0
  673. package/corpus/templates/slides-2/app/components/ui/select.tsx +1 -0
  674. package/corpus/templates/slides-2/app/components/ui/separator.tsx +1 -0
  675. package/corpus/templates/slides-2/app/components/ui/sheet.tsx +1 -0
  676. package/corpus/templates/slides-2/app/components/ui/skeleton.tsx +1 -0
  677. package/corpus/templates/slides-2/app/components/ui/slider.tsx +1 -0
  678. package/corpus/templates/slides-2/app/components/ui/spinner.tsx +1 -0
  679. package/corpus/templates/slides-2/app/components/ui/switch.tsx +1 -0
  680. package/corpus/templates/slides-2/app/components/ui/tabs.tsx +59 -0
  681. package/corpus/templates/slides-2/app/components/ui/textarea.tsx +1 -0
  682. package/corpus/templates/slides-2/app/components/ui/toggle-group.tsx +1 -0
  683. package/corpus/templates/slides-2/app/components/ui/toolkit-provider.tsx +17 -0
  684. package/corpus/templates/slides-2/app/components/ui/tooltip.tsx +1 -0
  685. package/corpus/templates/slides-2/app/components/visual-editor/CanvasCommentPins.tsx +46 -0
  686. package/corpus/templates/slides-2/app/components/visual-editor/DrawOverlay.tsx +27 -0
  687. package/corpus/templates/slides-2/app/components/visual-editor/MultiSelectChip.tsx +97 -0
  688. package/corpus/templates/slides-2/app/components/visual-editor/SaveStatusIndicator.tsx +273 -0
  689. package/corpus/templates/slides-2/app/components/visual-editor/index.ts +4 -0
  690. package/corpus/templates/slides-2/app/context/DeckContext.tsx +7486 -0
  691. package/corpus/templates/slides-2/app/design-system.ts +3 -0
  692. package/corpus/templates/slides-2/app/entry.client.tsx +10 -0
  693. package/corpus/templates/slides-2/app/entry.server.tsx +10 -0
  694. package/corpus/templates/slides-2/app/global.css +1626 -0
  695. package/corpus/templates/slides-2/app/hooks/use-agent-generating.ts +517 -0
  696. package/corpus/templates/slides-2/app/hooks/use-compact-editor-layout.ts +26 -0
  697. package/corpus/templates/slides-2/app/hooks/use-contrast-audit-bridge.ts +49 -0
  698. package/corpus/templates/slides-2/app/hooks/use-deck-access-reload.ts +70 -0
  699. package/corpus/templates/slides-2/app/hooks/use-deck-access.ts +50 -0
  700. package/corpus/templates/slides-2/app/hooks/use-deck-design-system.ts +146 -0
  701. package/corpus/templates/slides-2/app/hooks/use-deck-history-action-bridge.ts +266 -0
  702. package/corpus/templates/slides-2/app/hooks/use-deck-presence.ts +89 -0
  703. package/corpus/templates/slides-2/app/hooks/use-deck-role.ts +46 -0
  704. package/corpus/templates/slides-2/app/hooks/use-deck-versions.ts +43 -0
  705. package/corpus/templates/slides-2/app/hooks/use-design-system-workflows.ts +11 -0
  706. package/corpus/templates/slides-2/app/hooks/use-design-systems.ts +31 -0
  707. package/corpus/templates/slides-2/app/hooks/use-generating-slide-preview.ts +115 -0
  708. package/corpus/templates/slides-2/app/hooks/use-navigation-state.ts +229 -0
  709. package/corpus/templates/slides-2/app/hooks/use-new-deck-generation-signal.ts +46 -0
  710. package/corpus/templates/slides-2/app/hooks/use-new-deck-generation.ts +710 -0
  711. package/corpus/templates/slides-2/app/hooks/use-sidebar-collapsed.ts +95 -0
  712. package/corpus/templates/slides-2/app/hooks/use-slide-comments.ts +202 -0
  713. package/corpus/templates/slides-2/app/hooks/use-slide-file-storage-status.ts +55 -0
  714. package/corpus/templates/slides-2/app/hooks/use-undo-selection.ts +66 -0
  715. package/corpus/templates/slides-2/app/hooks/use-workspace-defaults.ts +31 -0
  716. package/corpus/templates/slides-2/app/i18n/en-US.ts +1507 -0
  717. package/corpus/templates/slides-2/app/i18n/index.ts +19 -0
  718. package/corpus/templates/slides-2/app/lib/agent-visible-message.ts +21 -0
  719. package/corpus/templates/slides-2/app/lib/aspect-ratios.ts +7 -0
  720. package/corpus/templates/slides-2/app/lib/asset-error-copy.ts +59 -0
  721. package/corpus/templates/slides-2/app/lib/canvas-zoom.ts +47 -0
  722. package/corpus/templates/slides-2/app/lib/composer-context.ts +152 -0
  723. package/corpus/templates/slides-2/app/lib/composer-draft.ts +34 -0
  724. package/corpus/templates/slides-2/app/lib/contrast-audit.ts +390 -0
  725. package/corpus/templates/slides-2/app/lib/contrast-resolve.ts +240 -0
  726. package/corpus/templates/slides-2/app/lib/create-deck-generation.ts +938 -0
  727. package/corpus/templates/slides-2/app/lib/deck-access-lost.ts +4 -0
  728. package/corpus/templates/slides-2/app/lib/deck-backup.ts +186 -0
  729. package/corpus/templates/slides-2/app/lib/deck-editor-loading.ts +91 -0
  730. package/corpus/templates/slides-2/app/lib/deck-export-file-client.ts +77 -0
  731. package/corpus/templates/slides-2/app/lib/deck-filter.ts +52 -0
  732. package/corpus/templates/slides-2/app/lib/deck-list-loading.ts +16 -0
  733. package/corpus/templates/slides-2/app/lib/deck-preview-frame.ts +15 -0
  734. package/corpus/templates/slides-2/app/lib/deck-share-links.ts +9 -0
  735. package/corpus/templates/slides-2/app/lib/deck-sorting.ts +19 -0
  736. package/corpus/templates/slides-2/app/lib/deferred-editor-surfaces.ts +24 -0
  737. package/corpus/templates/slides-2/app/lib/design-system-selection.ts +11 -0
  738. package/corpus/templates/slides-2/app/lib/design-systems.ts +231 -0
  739. package/corpus/templates/slides-2/app/lib/dynamic-import.ts +50 -0
  740. package/corpus/templates/slides-2/app/lib/editor-agent-handoff.ts +92 -0
  741. package/corpus/templates/slides-2/app/lib/editor-shortcuts.ts +153 -0
  742. package/corpus/templates/slides-2/app/lib/export-google-slides-client.ts +168 -0
  743. package/corpus/templates/slides-2/app/lib/export-pdf-client.ts +684 -0
  744. package/corpus/templates/slides-2/app/lib/export-pptx-client.ts +2420 -0
  745. package/corpus/templates/slides-2/app/lib/generation-lifecycle.ts +24 -0
  746. package/corpus/templates/slides-2/app/lib/generation-state.ts +247 -0
  747. package/corpus/templates/slides-2/app/lib/google-docs-client.ts +110 -0
  748. package/corpus/templates/slides-2/app/lib/google-slides-export-availability-client.ts +53 -0
  749. package/corpus/templates/slides-2/app/lib/google-slides-reference-source.ts +18 -0
  750. package/corpus/templates/slides-2/app/lib/image-download.ts +85 -0
  751. package/corpus/templates/slides-2/app/lib/image-drop-to-agent.ts +210 -0
  752. package/corpus/templates/slides-2/app/lib/import-uploaded-deck.ts +132 -0
  753. package/corpus/templates/slides-2/app/lib/inline-edit-remote.ts +55 -0
  754. package/corpus/templates/slides-2/app/lib/localize-slides-changelog.ts +47 -0
  755. package/corpus/templates/slides-2/app/lib/mermaid-blocks.ts +18 -0
  756. package/corpus/templates/slides-2/app/lib/new-deck-reference-selection.ts +174 -0
  757. package/corpus/templates/slides-2/app/lib/normalize-slide-padding.ts +74 -0
  758. package/corpus/templates/slides-2/app/lib/pending-deck-changes.ts +33 -0
  759. package/corpus/templates/slides-2/app/lib/portaled-layer.ts +7 -0
  760. package/corpus/templates/slides-2/app/lib/pptx-google-slides.ts +204 -0
  761. package/corpus/templates/slides-2/app/lib/prompt-attachment-adapter.ts +37 -0
  762. package/corpus/templates/slides-2/app/lib/prompt-file-uploads.ts +557 -0
  763. package/corpus/templates/slides-2/app/lib/recent-references.ts +106 -0
  764. package/corpus/templates/slides-2/app/lib/reference-document-hydration.ts +406 -0
  765. package/corpus/templates/slides-2/app/lib/register-chat-renderers.tsx +645 -0
  766. package/corpus/templates/slides-2/app/lib/reveal-after-delete.ts +55 -0
  767. package/corpus/templates/slides-2/app/lib/sanitize-slide-html.ts +752 -0
  768. package/corpus/templates/slides-2/app/lib/slide-agent-context.ts +148 -0
  769. package/corpus/templates/slides-2/app/lib/slide-animation-elements.ts +900 -0
  770. package/corpus/templates/slides-2/app/lib/slide-clipboard.ts +534 -0
  771. package/corpus/templates/slides-2/app/lib/slide-comment-anchor.ts +286 -0
  772. package/corpus/templates/slides-2/app/lib/slide-content-merge.ts +295 -0
  773. package/corpus/templates/slides-2/app/lib/slide-image-replacement.ts +1919 -0
  774. package/corpus/templates/slides-2/app/lib/slide-live-remote.ts +215 -0
  775. package/corpus/templates/slides-2/app/lib/slide-scroll.ts +56 -0
  776. package/corpus/templates/slides-2/app/lib/slide-source-map.ts +1099 -0
  777. package/corpus/templates/slides-2/app/lib/slide-video.ts +390 -0
  778. package/corpus/templates/slides-2/app/lib/slides-relay-tracking.ts +114 -0
  779. package/corpus/templates/slides-2/app/lib/streaming-slide-html.ts +77 -0
  780. package/corpus/templates/slides-2/app/lib/tab-id.ts +3 -0
  781. package/corpus/templates/slides-2/app/lib/template-navigation.ts +15 -0
  782. package/corpus/templates/slides-2/app/lib/text-tool-shortcut.ts +75 -0
  783. package/corpus/templates/slides-2/app/lib/undo-reveal.ts +332 -0
  784. package/corpus/templates/slides-2/app/lib/upload-response.ts +107 -0
  785. package/corpus/templates/slides-2/app/lib/utils.ts +38 -0
  786. package/corpus/templates/slides-2/app/lib/validate-native-slide-html.ts +177 -0
  787. package/corpus/templates/slides-2/app/lib/video-upload.ts +354 -0
  788. package/corpus/templates/slides-2/app/pages/DeckEditor.tsx +6158 -0
  789. package/corpus/templates/slides-2/app/pages/DesignSystems.tsx +363 -0
  790. package/corpus/templates/slides-2/app/pages/Index.tsx +3254 -0
  791. package/corpus/templates/slides-2/app/pages/NotFound.tsx +33 -0
  792. package/corpus/templates/slides-2/app/pages/Presentation.tsx +120 -0
  793. package/corpus/templates/slides-2/app/pages/SharedPresentation.tsx +174 -0
  794. package/corpus/templates/slides-2/app/pages/SlideThemeDetail.tsx +227 -0
  795. package/corpus/templates/slides-2/app/pages/SlideThemes.tsx +155 -0
  796. package/corpus/templates/slides-2/app/pages/Slides2EditorPage.tsx +1618 -0
  797. package/corpus/templates/slides-2/app/pages/Slides2PresenterConsolePage.tsx +937 -0
  798. package/corpus/templates/slides-2/app/pages/Slides2PresenterPage.tsx +979 -0
  799. package/corpus/templates/slides-2/app/pages/Templates.tsx +32 -0
  800. package/corpus/templates/slides-2/app/root.tsx +391 -0
  801. package/corpus/templates/slides-2/app/routes/$.tsx +10 -0
  802. package/corpus/templates/slides-2/app/routes/_index.tsx +1 -0
  803. package/corpus/templates/slides-2/app/routes/access-request.approve.tsx +276 -0
  804. package/corpus/templates/slides-2/app/routes/agent.tsx +19 -0
  805. package/corpus/templates/slides-2/app/routes/chat.$threadId.tsx +1 -0
  806. package/corpus/templates/slides-2/app/routes/chat.tsx +190 -0
  807. package/corpus/templates/slides-2/app/routes/deck.$id.tsx +10 -0
  808. package/corpus/templates/slides-2/app/routes/deck.$id_.present.tsx +10 -0
  809. package/corpus/templates/slides-2/app/routes/design-systems.tsx +10 -0
  810. package/corpus/templates/slides-2/app/routes/extensions.$id.$slug.tsx +2 -0
  811. package/corpus/templates/slides-2/app/routes/extensions.$id.tsx +5 -0
  812. package/corpus/templates/slides-2/app/routes/extensions._index.tsx +5 -0
  813. package/corpus/templates/slides-2/app/routes/extensions.tsx +5 -0
  814. package/corpus/templates/slides-2/app/routes/home-layout.tsx +31 -0
  815. package/corpus/templates/slides-2/app/routes/home.tsx +22 -0
  816. package/corpus/templates/slides-2/app/routes/p.$id.tsx +195 -0
  817. package/corpus/templates/slides-2/app/routes/settings.$.tsx +1 -0
  818. package/corpus/templates/slides-2/app/routes/settings.tsx +131 -0
  819. package/corpus/templates/slides-2/app/routes/share.$token.tsx +137 -0
  820. package/corpus/templates/slides-2/app/routes/slide.tsx +209 -0
  821. package/corpus/templates/slides-2/app/routes/team.tsx +11 -0
  822. package/corpus/templates/slides-2/app/routes/templates.tsx +1 -0
  823. package/corpus/templates/slides-2/app/routes/themes.$id.tsx +1 -0
  824. package/corpus/templates/slides-2/app/routes/themes.tsx +1 -0
  825. package/corpus/templates/slides-2/app/routes.ts +24 -0
  826. package/corpus/templates/slides-2/app/vite-env.d.ts +24 -0
  827. package/corpus/templates/slides-2/changelog/2026-10-17-find-and-switch-decks-from-the-presenter-console.md +6 -0
  828. package/corpus/templates/slides-2/changelog/2026-10-17-meet-slides-2-create-and-refine-editable-slide-decks-with-an.md +6 -0
  829. package/corpus/templates/slides-2/changelog/2026-10-17-pptx-image-export.md +6 -0
  830. package/corpus/templates/slides-2/changelog/2026-10-17-visual-editor.md +6 -0
  831. package/corpus/templates/slides-2/changelog/2026-10-18-apply-an-accessible-design-system-to-an-existing-deck-before.md +6 -0
  832. package/corpus/templates/slides-2/changelog/2026-10-18-choose-a-template-or-start-a-new-presentation-from-the-slide.md +6 -0
  833. package/corpus/templates/slides-2/changelog/2026-10-18-generate-decks-from-a-prompt-then-edit-slide-elements-direct.md +6 -0
  834. package/corpus/templates/slides-2/changelog/2026-10-18-generate-presentation-decks-from-a-prompt-and-edit-every-sli.md +6 -0
  835. package/corpus/templates/slides-2/changelog/2026-10-18-new-presentation-drafts-save-before-generation-starts-so-you.md +6 -0
  836. package/corpus/templates/slides-2/changelog/2026-10-18-the-assistant-can-undo-redo-and-save-pending-edits-in-the-vi.md +6 -0
  837. package/corpus/templates/slides-2/changelog/2026-10-19-agents-can-insert-duplicate-and-delete-canvas-objects-in-sou.md +6 -0
  838. package/corpus/templates/slides-2/changelog/2026-10-19-browse-slide-themes.md +6 -0
  839. package/corpus/templates/slides-2/changelog/2026-10-19-clicking-a-slide-preview-in-overview-selects-that-slide.md +6 -0
  840. package/corpus/templates/slides-2/changelog/2026-10-19-create-decks-from-a-prompt-and-edit-slides-directly-on-the-c.md +6 -0
  841. package/corpus/templates/slides-2/changelog/2026-10-19-creating-and-editing-decks-now-starts-with-the-tools-most-re.md +6 -0
  842. package/corpus/templates/slides-2/changelog/2026-10-19-deleting-decks-revokes-public-links.md +7 -0
  843. package/corpus/templates/slides-2/changelog/2026-10-19-escape-cancels-an-in-progress-slide-drag-without-losing-earl.md +6 -0
  844. package/corpus/templates/slides-2/changelog/2026-10-19-import-failures-now-show-clear-localized-descriptions-instea.md +6 -0
  845. package/corpus/templates/slides-2/changelog/2026-10-19-presenter-controls-stay-responsive-when-moving-over-the-slid.md +6 -0
  846. package/corpus/templates/slides-2/changelog/2026-10-19-presenter-notes-stay-private-from-viewers-and-commenters.md +6 -0
  847. package/corpus/templates/slides-2/changelog/2026-10-19-preview-generated-slides-in-chat.md +6 -0
  848. package/corpus/templates/slides-2/changelog/2026-10-19-remote-image-previews-accept-supported-raster-formats.md +6 -0
  849. package/corpus/templates/slides-2/changelog/2026-10-19-search-the-svgl-catalog-and-add-svg-logos-to-a-deck-or-the-g.md +6 -0
  850. package/corpus/templates/slides-2/changelog/2026-10-19-slide-generation-explains-when-react-effect-hooks-cannot-run.md +6 -0
  851. package/corpus/templates/slides-2/changelog/2026-10-19-the-editor-highlights-hovered-objects-and-keeps-image-replac.md +6 -0
  852. package/corpus/templates/slides-2/changelog/2026-10-19-the-slide-editor-uses-the-shared-agent-native-controls.md +6 -0
  853. package/corpus/templates/slides-2/changelog/2026-10-20-deck-editing-controls-match-the-workspace.md +6 -0
  854. package/corpus/templates/slides-2/changelog/2026-10-20-google-slides-imports-now-report-missing-image-data-instead-.md +6 -0
  855. package/corpus/templates/slides-2/changelog/2026-10-20-imports-and-previews-handle-large-content-safely.md +6 -0
  856. package/corpus/templates/slides-2/changelog/2026-10-20-public-deck-pages-can-export-source-backed-slides-to-pdf.md +6 -0
  857. package/corpus/templates/slides-2/changelog/2026-10-20-saved-slide-images-stay-available.md +6 -0
  858. package/corpus/templates/slides-2/changelog/2026-10-20-scope-global-media-picks-to-assets-the-current-deck-can-reso.md +6 -0
  859. package/corpus/templates/slides-2/components.json +20 -0
  860. package/corpus/templates/slides-2/drizzle.config.ts +3 -0
  861. package/corpus/templates/slides-2/learnings.defaults.md +5 -0
  862. package/corpus/templates/slides-2/netlify.toml +24 -0
  863. package/corpus/templates/slides-2/package.json +147 -0
  864. package/corpus/templates/slides-2/public/agent-native-icon-dark.svg +10 -0
  865. package/corpus/templates/slides-2/public/agent-native-icon-light.svg +10 -0
  866. package/corpus/templates/slides-2/public/agent-native-logo-dark.svg +21 -0
  867. package/corpus/templates/slides-2/public/agent-native-logo-light.svg +21 -0
  868. package/corpus/templates/slides-2/public/assets/builder-logo-white.svg +15 -0
  869. package/corpus/templates/slides-2/public/assets/generated/preview.html +61 -0
  870. package/corpus/templates/slides-2/public/assets/intuit-logo-white.svg +6 -0
  871. package/corpus/templates/slides-2/public/assets/walmart-logo-white.svg +6 -0
  872. package/corpus/templates/slides-2/public/chatgpt-plugin-icon.svg +7 -0
  873. package/corpus/templates/slides-2/public/favicon.svg +1 -0
  874. package/corpus/templates/slides-2/public/icon-180.svg +1 -0
  875. package/corpus/templates/slides-2/public/icon-192.svg +1 -0
  876. package/corpus/templates/slides-2/public/icon-512.svg +1 -0
  877. package/corpus/templates/slides-2/public/manifest.json +20 -0
  878. package/corpus/templates/slides-2/public/placeholder.svg +1 -0
  879. package/corpus/templates/slides-2/public/robots.txt +14 -0
  880. package/corpus/templates/slides-2/public/visual-edit-structure-proof.html +99 -0
  881. package/corpus/templates/slides-2/react-router.config.ts +7 -0
  882. package/corpus/templates/slides-2/scripts/edit-fidelity/README.md +499 -0
  883. package/corpus/templates/slides-2/scripts/edit-fidelity/authoring-fuzz.ts +9517 -0
  884. package/corpus/templates/slides-2/scripts/edit-fidelity/baseline.json +16427 -0
  885. package/corpus/templates/slides-2/scripts/edit-fidelity/dev-server-url.ts +10 -0
  886. package/corpus/templates/slides-2/scripts/edit-fidelity/lib/in-page.ts +1975 -0
  887. package/corpus/templates/slides-2/scripts/edit-fidelity/lib/metrics.ts +1401 -0
  888. package/corpus/templates/slides-2/scripts/edit-fidelity/retry-infra.ts +7 -0
  889. package/corpus/templates/slides-2/scripts/edit-fidelity/run-options.ts +21 -0
  890. package/corpus/templates/slides-2/scripts/edit-fidelity/run-outcomes.ts +127 -0
  891. package/corpus/templates/slides-2/scripts/edit-fidelity/run.ts +8451 -0
  892. package/corpus/templates/slides-2/scripts/export-fidelity/README.md +116 -0
  893. package/corpus/templates/slides-2/scripts/export-fidelity/compare-layout-lib.ts +241 -0
  894. package/corpus/templates/slides-2/scripts/export-fidelity/compare-layout.ts +30 -0
  895. package/corpus/templates/slides-2/scripts/export-fidelity/diff.ts +222 -0
  896. package/corpus/templates/slides-2/scripts/export-fidelity/export.ts +765 -0
  897. package/corpus/templates/slides-2/scripts/export-fidelity/fixtures/agent-dark-deck.json +48 -0
  898. package/corpus/templates/slides-2/scripts/export-fidelity/generate-calibration.ts +765 -0
  899. package/corpus/templates/slides-2/scripts/export-fidelity/google-export.ts +137 -0
  900. package/corpus/templates/slides-2/scripts/export-fidelity/google-layout.ts +82 -0
  901. package/corpus/templates/slides-2/scripts/export-fidelity/resolve-pkg.ts +29 -0
  902. package/corpus/templates/slides-2/scripts/migrate-production.ts +22 -0
  903. package/corpus/templates/slides-2/server/db/index.ts +73 -0
  904. package/corpus/templates/slides-2/server/db/schema.ts +189 -0
  905. package/corpus/templates/slides-2/server/handlers/assets-url.ts +13 -0
  906. package/corpus/templates/slides-2/server/handlers/assets.ts +3217 -0
  907. package/corpus/templates/slides-2/server/handlers/decks.ts +185 -0
  908. package/corpus/templates/slides-2/server/handlers/demo.ts +9 -0
  909. package/corpus/templates/slides-2/server/handlers/design-systems.ts +219 -0
  910. package/corpus/templates/slides-2/server/handlers/google-docs-auth.ts +165 -0
  911. package/corpus/templates/slides-2/server/handlers/image-gen.ts +153 -0
  912. package/corpus/templates/slides-2/server/handlers/image-providers/gemini.ts +209 -0
  913. package/corpus/templates/slides-2/server/handlers/image-providers/index.ts +61 -0
  914. package/corpus/templates/slides-2/server/handlers/image-providers/openai.ts +288 -0
  915. package/corpus/templates/slides-2/server/handlers/image-providers/types.ts +35 -0
  916. package/corpus/templates/slides-2/server/handlers/import/docx-parser.ts +31 -0
  917. package/corpus/templates/slides-2/server/handlers/import/html-converter.ts +1534 -0
  918. package/corpus/templates/slides-2/server/handlers/import/pdf-fidelity-parser.ts +1039 -0
  919. package/corpus/templates/slides-2/server/handlers/import/pdf-sidecar-reader.ts +81 -0
  920. package/corpus/templates/slides-2/server/handlers/import/pdf-style-digest.ts +187 -0
  921. package/corpus/templates/slides-2/server/handlers/import/pptx-assets.ts +155 -0
  922. package/corpus/templates/slides-2/server/handlers/import/pptx-parser.ts +57 -0
  923. package/corpus/templates/slides-2/server/handlers/request-auth-context.ts +108 -0
  924. package/corpus/templates/slides-2/server/handlers/share.ts +52 -0
  925. package/corpus/templates/slides-2/server/handlers/uploads-chunked.ts +1066 -0
  926. package/corpus/templates/slides-2/server/handlers/uploads.ts +457 -0
  927. package/corpus/templates/slides-2/server/lib/access-request-email.ts +66 -0
  928. package/corpus/templates/slides-2/server/lib/assets-image-delegation.ts +331 -0
  929. package/corpus/templates/slides-2/server/lib/bounded-multipart.ts +49 -0
  930. package/corpus/templates/slides-2/server/lib/builder-design-system-proxy.ts +122 -0
  931. package/corpus/templates/slides-2/server/lib/chat-attachments.ts +425 -0
  932. package/corpus/templates/slides-2/server/lib/chatgpt-directory-tools.ts +246 -0
  933. package/corpus/templates/slides-2/server/lib/chunked-upload-session.ts +195 -0
  934. package/corpus/templates/slides-2/server/lib/comment-notifications.ts +184 -0
  935. package/corpus/templates/slides-2/server/lib/deck-access-requests.ts +102 -0
  936. package/corpus/templates/slides-2/server/lib/deck-asset-scope.ts +150 -0
  937. package/corpus/templates/slides-2/server/lib/deck-export-tracking.ts +119 -0
  938. package/corpus/templates/slides-2/server/lib/deck-templates/a-case-study.ts +154 -0
  939. package/corpus/templates/slides-2/server/lib/deck-templates/a-company.ts +160 -0
  940. package/corpus/templates/slides-2/server/lib/deck-templates/a-pitch.ts +151 -0
  941. package/corpus/templates/slides-2/server/lib/deck-templates/a-quarterly.ts +264 -0
  942. package/corpus/templates/slides-2/server/lib/deck-templates/a-shared.ts +35 -0
  943. package/corpus/templates/slides-2/server/lib/deck-templates/a-update.ts +188 -0
  944. package/corpus/templates/slides-2/server/lib/deck-templates/a-workshop.ts +196 -0
  945. package/corpus/templates/slides-2/server/lib/deck-templates/b-keynote.ts +131 -0
  946. package/corpus/templates/slides-2/server/lib/deck-templates/b-lesson.ts +209 -0
  947. package/corpus/templates/slides-2/server/lib/deck-templates/b-manifesto.ts +149 -0
  948. package/corpus/templates/slides-2/server/lib/deck-templates/b-portfolio.ts +144 -0
  949. package/corpus/templates/slides-2/server/lib/deck-templates/b-research.ts +221 -0
  950. package/corpus/templates/slides-2/server/lib/deck-templates/b-roadmap.ts +264 -0
  951. package/corpus/templates/slides-2/server/lib/deck-templates/b-shared.ts +44 -0
  952. package/corpus/templates/slides-2/server/lib/deck-templates/group-a.ts +16 -0
  953. package/corpus/templates/slides-2/server/lib/deck-templates/group-b.ts +16 -0
  954. package/corpus/templates/slides-2/server/lib/deck-templates/legacy.ts +567 -0
  955. package/corpus/templates/slides-2/server/lib/deck-templates.ts +60 -0
  956. package/corpus/templates/slides-2/server/lib/deck-versions.ts +233 -0
  957. package/corpus/templates/slides-2/server/lib/design-system-workflows.ts +22 -0
  958. package/corpus/templates/slides-2/server/lib/emails.ts +84 -0
  959. package/corpus/templates/slides-2/server/lib/env-config.ts +15 -0
  960. package/corpus/templates/slides-2/server/lib/fetch-remote-image.ts +245 -0
  961. package/corpus/templates/slides-2/server/lib/generation-completion.ts +278 -0
  962. package/corpus/templates/slides-2/server/lib/google-docs-access.ts +51 -0
  963. package/corpus/templates/slides-2/server/lib/google-docs-error.ts +54 -0
  964. package/corpus/templates/slides-2/server/lib/google-docs-oauth.ts +422 -0
  965. package/corpus/templates/slides-2/server/lib/google-fonts.ts +509 -0
  966. package/corpus/templates/slides-2/server/lib/google-oauth-preflight.ts +119 -0
  967. package/corpus/templates/slides-2/server/lib/google-slides-export-availability.ts +55 -0
  968. package/corpus/templates/slides-2/server/lib/image-proxy-response.ts +16 -0
  969. package/corpus/templates/slides-2/server/lib/image-proxy-url.ts +155 -0
  970. package/corpus/templates/slides-2/server/lib/import-asset-storage.ts +214 -0
  971. package/corpus/templates/slides-2/server/lib/imported-asset-batch.ts +218 -0
  972. package/corpus/templates/slides-2/server/lib/legacy-slide-source.ts +692 -0
  973. package/corpus/templates/slides-2/server/lib/media-search-providers.ts +216 -0
  974. package/corpus/templates/slides-2/server/lib/native-creative-context.ts +295 -0
  975. package/corpus/templates/slides-2/server/lib/pdf-parse-setup.ts +115 -0
  976. package/corpus/templates/slides-2/server/lib/provider-api.ts +57 -0
  977. package/corpus/templates/slides-2/server/lib/request-wait-until.ts +30 -0
  978. package/corpus/templates/slides-2/server/lib/shared-deck.ts +29 -0
  979. package/corpus/templates/slides-2/server/lib/slide-asset-references.ts +309 -0
  980. package/corpus/templates/slides-2/server/lib/slide-content-patch.ts +1004 -0
  981. package/corpus/templates/slides-2/server/lib/slide-hygiene.ts +731 -0
  982. package/corpus/templates/slides-2/server/lib/slide-image-insertion.ts +136 -0
  983. package/corpus/templates/slides-2/server/lib/slide-reveal-issues.ts +41 -0
  984. package/corpus/templates/slides-2/server/lib/slide-source-editing/babel-walk.ts +117 -0
  985. package/corpus/templates/slides-2/server/lib/slide-source-editing/batch-edit.ts +152 -0
  986. package/corpus/templates/slides-2/server/lib/slide-source-editing/edit-ops.ts +1478 -0
  987. package/corpus/templates/slides-2/server/lib/slide-source-editing/image-target.ts +128 -0
  988. package/corpus/templates/slides-2/server/lib/slide-source-editing/text-diff.ts +23 -0
  989. package/corpus/templates/slides-2/server/lib/slide-source-limits.ts +9 -0
  990. package/corpus/templates/slides-2/server/lib/slide-source.ts +1786 -0
  991. package/corpus/templates/slides-2/server/lib/slide-theme-demo-sources.ts +2106 -0
  992. package/corpus/templates/slides-2/server/lib/slide-themes.ts +2174 -0
  993. package/corpus/templates/slides-2/server/lib/slide-worker-runtime.ts +1995 -0
  994. package/corpus/templates/slides-2/server/lib/slides-tracking.ts +73 -0
  995. package/corpus/templates/slides-2/server/lib/source-import.ts +213 -0
  996. package/corpus/templates/slides-2/server/lib/svgl.ts +364 -0
  997. package/corpus/templates/slides-2/server/lib/tenant-files.ts +179 -0
  998. package/corpus/templates/slides-2/server/lib/upload-storage-status.ts +9 -0
  999. package/corpus/templates/slides-2/server/lib/uploaded-asset-cleanup-outbox.ts +521 -0
  1000. package/corpus/templates/slides-2/server/lib/uploaded-asset-object-lifecycle.ts +404 -0
  1001. package/corpus/templates/slides-2/server/lib/uploaded-fonts.ts +696 -0
  1002. package/corpus/templates/slides-2/server/lib/uploaded-reference-storage.ts +77 -0
  1003. package/corpus/templates/slides-2/server/lib/validate-slide-animations.ts +341 -0
  1004. package/corpus/templates/slides-2/server/middleware/auth.ts +6 -0
  1005. package/corpus/templates/slides-2/server/plugins/_dev-upload-stub.ts +6 -0
  1006. package/corpus/templates/slides-2/server/plugins/agent-chat.ts +402 -0
  1007. package/corpus/templates/slides-2/server/plugins/auth.ts +31 -0
  1008. package/corpus/templates/slides-2/server/plugins/collab.ts +30 -0
  1009. package/corpus/templates/slides-2/server/plugins/config.ts +6 -0
  1010. package/corpus/templates/slides-2/server/plugins/core-routes.ts +30 -0
  1011. package/corpus/templates/slides-2/server/plugins/creative-context.ts +187 -0
  1012. package/corpus/templates/slides-2/server/plugins/db.ts +462 -0
  1013. package/corpus/templates/slides-2/server/plugins/feature-flags.ts +5 -0
  1014. package/corpus/templates/slides-2/server/plugins/labs.ts +8 -0
  1015. package/corpus/templates/slides-2/server/plugins/orphaned-asset-cleanup.ts +17 -0
  1016. package/corpus/templates/slides-2/server/plugins/otel.ts +6 -0
  1017. package/corpus/templates/slides-2/server/plugins/transactional-emails.ts +5 -0
  1018. package/corpus/templates/slides-2/server/register-secrets.ts +209 -0
  1019. package/corpus/templates/slides-2/server/routes/[...page].get.ts +5 -0
  1020. package/corpus/templates/slides-2/server/routes/[...page].head.ts +1 -0
  1021. package/corpus/templates/slides-2/server/routes/[base]/_agent-native/google-docs/auth-url.get.ts +1 -0
  1022. package/corpus/templates/slides-2/server/routes/[base]/_agent-native/google-docs/callback.get.ts +1 -0
  1023. package/corpus/templates/slides-2/server/routes/_agent-native/google-docs/auth-url.get.ts +1 -0
  1024. package/corpus/templates/slides-2/server/routes/_agent-native/google-docs/callback.get.ts +1 -0
  1025. package/corpus/templates/slides-2/server/routes/api/assets/upload-video.post.ts +1 -0
  1026. package/corpus/templates/slides-2/server/routes/api/assets/upload.post.ts +1 -0
  1027. package/corpus/templates/slides-2/server/routes/api/assets/video-uploads.delete.ts +1 -0
  1028. package/corpus/templates/slides-2/server/routes/api/deck-agent-context.json.get.ts +105 -0
  1029. package/corpus/templates/slides-2/server/routes/api/decks/events.get.ts +1 -0
  1030. package/corpus/templates/slides-2/server/routes/api/demo.get.ts +1 -0
  1031. package/corpus/templates/slides-2/server/routes/api/exports/[filename].get.ts +221 -0
  1032. package/corpus/templates/slides-2/server/routes/api/exports/google-slides.post.ts +240 -0
  1033. package/corpus/templates/slides-2/server/routes/api/exports/html.post.ts +67 -0
  1034. package/corpus/templates/slides-2/server/routes/api/exports/pptx.post.ts +100 -0
  1035. package/corpus/templates/slides-2/server/routes/api/gen-preview/[...].get.ts +24 -0
  1036. package/corpus/templates/slides-2/server/routes/api/generated/[...].get.ts +24 -0
  1037. package/corpus/templates/slides-2/server/routes/api/image-proxy.get.ts +518 -0
  1038. package/corpus/templates/slides-2/server/routes/api/import-assets/[token].get.ts +70 -0
  1039. package/corpus/templates/slides-2/server/routes/api/preview-images.get.ts +20 -0
  1040. package/corpus/templates/slides-2/server/routes/api/share/[token].get.ts +1 -0
  1041. package/corpus/templates/slides-2/server/routes/api/uploads-chunked/[sessionId]/chunk.post.ts +1 -0
  1042. package/corpus/templates/slides-2/server/routes/api/uploads-chunked/[sessionId]/status.get.ts +1 -0
  1043. package/corpus/templates/slides-2/server/routes/api/uploads-chunked/[sessionId].delete.ts +1 -0
  1044. package/corpus/templates/slides-2/server/routes/api/uploads-chunked/start.post.ts +1 -0
  1045. package/corpus/templates/slides-2/server/routes/api/uploads.delete.ts +1 -0
  1046. package/corpus/templates/slides-2/server/routes/api/uploads.post.ts +1 -0
  1047. package/corpus/templates/slides-2/server/workspace-defaults.ts +196 -0
  1048. package/corpus/templates/slides-2/shared/action-ui.ts +147 -0
  1049. package/corpus/templates/slides-2/shared/agent-readable.ts +2 -0
  1050. package/corpus/templates/slides-2/shared/api.ts +406 -0
  1051. package/corpus/templates/slides-2/shared/app-state-tabs.ts +30 -0
  1052. package/corpus/templates/slides-2/shared/app-storage.ts +9 -0
  1053. package/corpus/templates/slides-2/shared/aspect-ratios.ts +49 -0
  1054. package/corpus/templates/slides-2/shared/blank-slide.ts +179 -0
  1055. package/corpus/templates/slides-2/shared/client-compatibility.ts +2 -0
  1056. package/corpus/templates/slides-2/shared/contrast-audit.ts +255 -0
  1057. package/corpus/templates/slides-2/shared/deck-access.ts +26 -0
  1058. package/corpus/templates/slides-2/shared/deck-app-scope.ts +14 -0
  1059. package/corpus/templates/slides-2/shared/deck-content.ts +37 -0
  1060. package/corpus/templates/slides-2/shared/deck-history-control.ts +79 -0
  1061. package/corpus/templates/slides-2/shared/deck-scope.ts +5 -0
  1062. package/corpus/templates/slides-2/shared/deck-title.ts +199 -0
  1063. package/corpus/templates/slides-2/shared/deck-write.ts +61 -0
  1064. package/corpus/templates/slides-2/shared/design-flags.ts +7 -0
  1065. package/corpus/templates/slides-2/shared/design-system-validation.ts +88 -0
  1066. package/corpus/templates/slides-2/shared/editor-control.ts +120 -0
  1067. package/corpus/templates/slides-2/shared/generation-timing.ts +19 -0
  1068. package/corpus/templates/slides-2/shared/google-docs.ts +69 -0
  1069. package/corpus/templates/slides-2/shared/labs.ts +10 -0
  1070. package/corpus/templates/slides-2/shared/overview-navigation.ts +34 -0
  1071. package/corpus/templates/slides-2/shared/ownership.ts +6 -0
  1072. package/corpus/templates/slides-2/shared/pdf-sidecar.ts +130 -0
  1073. package/corpus/templates/slides-2/shared/presenter-control.ts +111 -0
  1074. package/corpus/templates/slides-2/shared/representative-slide.ts +89 -0
  1075. package/corpus/templates/slides-2/shared/slide-background.ts +30 -0
  1076. package/corpus/templates/slides-2/shared/slide-comment-anchor.ts +117 -0
  1077. package/corpus/templates/slides-2/shared/slide-comment-reactions.ts +47 -0
  1078. package/corpus/templates/slides-2/shared/slide-design-tokens.ts +92 -0
  1079. package/corpus/templates/slides-2/shared/slide-fit.ts +78 -0
  1080. package/corpus/templates/slides-2/shared/slide-ids.ts +133 -0
  1081. package/corpus/templates/slides-2/shared/slide-number.ts +124 -0
  1082. package/corpus/templates/slides-2/shared/slide-object-structure.ts +790 -0
  1083. package/corpus/templates/slides-2/shared/slide-text-range-selection.ts +50 -0
  1084. package/corpus/templates/slides-2/shared/slide-transitions.ts +70 -0
  1085. package/corpus/templates/slides-2/shared/slides-2-transition.ts +194 -0
  1086. package/corpus/templates/slides-2/shared/slides-user-prefs.ts +22 -0
  1087. package/corpus/templates/slides-2/shared/source-import-errors.ts +12 -0
  1088. package/corpus/templates/slides-2/shared/source-runtime-export.ts +76 -0
  1089. package/corpus/templates/slides-2/shared/upload-types.ts +41 -0
  1090. package/corpus/templates/slides-2/ssr-entry.ts +11 -0
  1091. package/corpus/templates/slides-2/tsconfig.json +27 -0
  1092. package/corpus/templates/slides-2/vite.config.ts +77 -0
  1093. package/corpus/templates/slides-2/vitest.config.ts +28 -0
  1094. package/corpus/templates/tasks/.agents/skills/actions/references/action-fields.md +1 -1
  1095. package/package.json +1 -1
  1096. package/corpus/templates/design/.agents/skills/shader-fills/SKILL.md +0 -182
  1097. package/corpus/templates/design/actions/apply-shader-fill.ts +0 -450
  1098. package/corpus/templates/design/actions/apply-shader.ts +0 -257
  1099. package/corpus/templates/design/actions/preview-shader-fill.ts +0 -157
  1100. package/corpus/templates/design/app/components/design/inspector/GlslShaderPanel.tsx +0 -1144
  1101. package/corpus/templates/design/app/components/design/inspector/SHADER_INTEGRATION.md +0 -450
  1102. package/corpus/templates/design/app/components/design/inspector/ShaderControls.stories.tsx +0 -71
  1103. package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +0 -555
  1104. package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +0 -105
  1105. package/corpus/templates/design/app/components/design/inspector/ShaderFillsPanel.tsx +0 -433
  1106. package/corpus/templates/design/app/components/design/inspector/color-picker-shader-pane.tsx +0 -648
  1107. package/corpus/templates/design/shared/shader-fill.ts +0 -174
  1108. package/corpus/templates/design/shared/shader-presets.ts +0 -1523
@@ -0,0 +1,1507 @@
1
+ import { creativeContextMessagesByLocale } from "@agent-native/creative-context/messages";
2
+
3
+ const messages = {
4
+ composer: { menu: { integrations: "Integrations" } },
5
+ appMenu: {
6
+ label: "App menu",
7
+ actions: "Actions…",
8
+ backToDashboard: "Back to dashboard",
9
+ file: "File",
10
+ edit: "Edit",
11
+ view: "View",
12
+ preferences: "Preferences",
13
+ help: "Help",
14
+ importFile: "Import file…",
15
+ export: "Export…",
16
+ saveLocalCopy: "Save local copy…",
17
+ versionHistory: "Version history",
18
+ duplicateSelection: "Duplicate selection",
19
+ deleteSelection: "Delete selection",
20
+ zoomIn: "Zoom in",
21
+ zoomOut: "Zoom out",
22
+ previousSlide: "Previous slide",
23
+ nextSlide: "Next slide",
24
+ appearance: "Appearance…",
25
+ themeLight: "Light",
26
+ themeDark: "Dark",
27
+ themeSystem: "System",
28
+ documentation: "Documentation",
29
+ whatsNew: "What's new",
30
+ sendFeedback: "Send feedback…",
31
+ },
32
+ templatesPage: {
33
+ actions: "Template actions for {{title}}",
34
+ previewAction: "Preview",
35
+ title: "Templates",
36
+ browseAll: "Browse all",
37
+ searchPlaceholder: "Search templates…",
38
+ loading: "Loading templates",
39
+ empty: "No templates match your search.",
40
+ loadFailed: "Could not load templates.",
41
+ preview: "Template preview",
42
+ useTemplate: "Use template",
43
+ opening: "Opening template…",
44
+ createFailed: "Could not create a presentation from this template.",
45
+ previous: "Previous",
46
+ next: "Next",
47
+ slidePosition: "Slide {{current}} of {{total}}",
48
+ },
49
+ themesPage: {
50
+ title: "Themes",
51
+ openTheme: "Open {{name}}",
52
+ empty: "No slide themes are available.",
53
+ loadFailed: "Could not load slide themes.",
54
+ back: "Back to themes",
55
+ preview: "Theme preview",
56
+ guide: "Authoring guide",
57
+ showMore: "Show full guide",
58
+ showLess: "Show less",
59
+ palette: "Palette",
60
+ background: "Background",
61
+ text: "Text",
62
+ accent: "Accent",
63
+ useTheme: "Create with this theme",
64
+ createDeckPrompt:
65
+ "Create a presentation using the {{name}} slide theme. Read its guide with get-slide-theme using id {{id}} and follow the Slides 2 compatibility notes.",
66
+ },
67
+ creativeContext: creativeContextMessagesByLocale["en-US"],
68
+ common: {
69
+ loading: "Loading...",
70
+ },
71
+ root: {
72
+ commandPresentations: "Presentations",
73
+ searchDecks: "Search decks",
74
+ commandAppearance: "Appearance",
75
+ toggleTheme: "Toggle theme",
76
+ },
77
+ header: {
78
+ settings: "Settings",
79
+ decks: "Decks",
80
+ designSystems: "Design Systems",
81
+ team: "Team",
82
+ extensions: "Extensions",
83
+ deck: "Deck",
84
+ tool: "Tool",
85
+ slides: "Slides",
86
+ },
87
+ navigation: {
88
+ settings: "Settings",
89
+ brand: "Slides 2",
90
+ decks: "Decks",
91
+ designSystems: "Design Systems",
92
+ },
93
+ settings: {
94
+ agentObservability: "Observability",
95
+ title: "Settings",
96
+ labs: "Labs",
97
+ labsIntro: "Preview experimental features before they ship.",
98
+ labLayoutOverflowWarningDescription:
99
+ "Show the layout overflow warning in the editor.",
100
+ saveFailed: "Failed to save",
101
+ notificationsEmail: "Email",
102
+ commentsAndReplies: "Comments and replies",
103
+ commentsAndRepliesDescription:
104
+ "When someone comments on or replies in your deck.",
105
+ retry: "Retry",
106
+ reload: "Reload",
107
+ mcpAbout:
108
+ "Connect Slides 2 to Claude, ChatGPT, Cursor, or any AI app that supports MCP. That app can then work in Slides 2 for you: create decks, add slides, and export to PowerPoint. It sees only what you can see.",
109
+ workspaceTitle: "Workspace",
110
+ workspaceDescription:
111
+ "Manage team members, organization access, and shared workspace preferences.",
112
+ openTeamSettings: "Open team settings",
113
+ openResourceSettings: "Open resource settings",
114
+ agentTitle: "Manage agent",
115
+ agentDescription:
116
+ "Manage the agent's model, API keys, automations, voice, and other controls.",
117
+ openAgentSettings: "Manage agent",
118
+ },
119
+ agent: {
120
+ emptyState: "Ask me anything about your presentations",
121
+ thisSlide: "This Slide",
122
+ currentSelection: "Current Selection",
123
+ slideNumber: "Slide {{number}}",
124
+ suggestionPitch: "Build a 10-slide pitch from this doc",
125
+ suggestionBrand: "Apply our brand to this deck",
126
+ suggestionHero: "Generate a hero image for this slide",
127
+ },
128
+ sidebar: {
129
+ openNavigation: "Open navigation",
130
+ expandSidebar: "Expand sidebar",
131
+ collapseSidebar: "Collapse sidebar",
132
+ },
133
+ notFound: {
134
+ message: "This page doesn't exist yet.",
135
+ backToDecks: "Back to Decks",
136
+ },
137
+ raw: {
138
+ assetErrors: {
139
+ accessDenied:
140
+ "You don't have permission to use images in this presentation.",
141
+ assetSaveFailed: "The uploaded image couldn't be saved. Try again.",
142
+ deckUnavailable: "This presentation could not be found.",
143
+ invalidDeck: "This presentation's data is unavailable.",
144
+ invalidScope: "This image collection is unavailable.",
145
+ listFailed: "Couldn't load uploaded images. Try again.",
146
+ missingFile: "Choose an image to upload.",
147
+ signInRequired: "Sign in to view and upload images.",
148
+ storageFailed: "Image storage is temporarily unavailable. Try again.",
149
+ storageUnavailable: "Connect file storage before uploading images.",
150
+ tooLarge: "Image files must be 10 MB or smaller.",
151
+ unsupportedType: "This image file type isn't supported.",
152
+ uploadFailed: "Image upload failed. Try again.",
153
+ uploadRequestFailed: "The upload request could not be read. Try again.",
154
+ uploadServiceUnavailable:
155
+ "The upload service is temporarily unavailable. Try again.",
156
+ invalidImage: "This image file couldn't be validated.",
157
+ },
158
+ deckOptions: "Deck options",
159
+ generatingImage: "Generating image...",
160
+ mediaUploadFailed: "Media upload failed",
161
+ noAssetsYet: "No assets yet.",
162
+ assetUploadFailed: "Some uploads failed",
163
+ assetDeleteFailed: "Failed to delete asset",
164
+ assetUpdateFailed: "Couldn't update the uploaded image.",
165
+ assetCleanupFailed: "The previous image couldn't be removed from storage.",
166
+ contentMarkdown: "Content (Markdown)",
167
+ speakerNotes: "Speaker Notes",
168
+ speakerNotesForSlide: "Speaker Notes — Slide {{index}} / {{count}}",
169
+ writeContent: "Write your slide content in Markdown...",
170
+ addSpeakerNotes: "Add speaker notes...",
171
+ zoomOut: "Zoom out",
172
+ zoomIn: "Zoom in",
173
+ fitSlideToScreen: "Fit slide to screen",
174
+ fitToScreen: "Fit to screen",
175
+ exitExcalidrawCanvas: "Exit drawing canvas",
176
+ agentWorking: "Agent is working",
177
+ openChat: "Open chat",
178
+ cloudAuthToken: "Auth token",
179
+ cloudSetupSteps: "Setup steps",
180
+ cloudConnectedReloading: "Connected successfully. Reloading...",
181
+ cloudConnectionFailed: "Connection failed",
182
+ cloudTestConnect: "Test & Connect",
183
+ cloudServerlessPostgres: "Serverless Postgres",
184
+ cloudOpenSourceFirebaseAlternative: "Open source Firebase alternative",
185
+ designSlidePreview: "Slide Preview",
186
+ designSlideTitle: "Slide Title",
187
+ designSupportingText:
188
+ "Supporting text appears here with your brand styling applied consistently across all slides.",
189
+ pasteUrl: "Paste URL",
190
+ removeLink: "Remove link",
191
+ firstSlidesTitle: "Preparing the first slides",
192
+ firstSlidesDescription:
193
+ "The deck will start filling in here as soon as each slide lands.",
194
+ googleOAuthNotConfigured:
195
+ "Google OAuth is not configured for this deployment.",
196
+ googlePickerNeedsKeys:
197
+ "Google Drive file browsing isn't configured. You can still import a document by pasting its link.",
198
+ imageUploadFailed: "Image upload failed",
199
+ imageUploadNeedsBuilder:
200
+ "Set up object storage to upload images: use Builder.io (free) or add your own S3-compatible storage keys in Settings → File uploads.",
201
+ sentToAgent: "Sent to agent",
202
+ imageUploadGenericError: "Something went wrong uploading this image.",
203
+ uploading: "Uploading…",
204
+ imagePromptTitle: "What should we do with this image?",
205
+ imagePromptPlaceholder:
206
+ "e.g. Use as the title-slide hero. Or: replace the headshot on slide 3.",
207
+ imageSearchTitle: "Search Images",
208
+ searchImagesPlaceholder: "Search for images...",
209
+ searchForLogosImagesIcons: "Search for logos, images, icons...",
210
+ search: "Search",
211
+ searchFailed: "Search failed",
212
+ logoSearchTitle: "Logo Search",
213
+ searchCompanyLogo: "Search for a company to find their logo",
214
+ searchCompanyPlaceholder: "Search company name (e.g. Intuit)",
215
+ forDarkBg: "For dark bg",
216
+ onDark: "On dark",
217
+ symbolIcon: "Symbol / Icon",
218
+ symbolDark: "Symbol dark",
219
+ importFileTypes: "Import PPTX, DOCX, or PDF",
220
+ mermaidConvertPrompt:
221
+ "Convert this mermaid diagram to an editable Excalidraw drawing?",
222
+ uploadAttachedFailed: "Could not upload the attached file.",
223
+ uploadFailed: "Upload failed",
224
+ doubleClickEdit: "Double-click any text to edit",
225
+ dragToMove: "Drag to move",
226
+ aiEditing: "AI editing",
227
+ startTypingCommands: "Start typing… or press / for commands",
228
+ pinDropHint: "Click anywhere to drop a comment pin",
229
+ editSlide: "Edit slide",
230
+ escExit: "Esc to exit",
231
+ tellAgentChange: "Tell the agent what to change…",
232
+ drawClearAll: "Clear all",
233
+ drawExitMode: "Exit draw mode",
234
+ tellAgentDo: "Tell the agent what to do…",
235
+ typeAnnotation: "Type annotation…",
236
+ typeAnywhere: "Type anywhere on the canvas",
237
+ undoStroke: "Undo stroke",
238
+ clearSelection: "Clear selection",
239
+ sendToAgent: "Send to agent",
240
+ saveReconnect: "Changes will save when reconnected",
241
+ saveFailedDescription:
242
+ "Your latest edits are only on this device. Download a backup before leaving.",
243
+ slideConflictReview: "Review",
244
+ slideConflictTitle: "This slide changed elsewhere",
245
+ slideConflictDescription:
246
+ "Another editor saved a newer version. Keeping your draft will replace that slide's saved content, or use the latest version.",
247
+ slideConflictUseLatest: "Use latest",
248
+ slideConflictKeepDraft: "Keep my draft",
249
+ slideConflictKeepEditing: "Keep editing",
250
+ reload: "Reload",
251
+ slideConflictResolutionFailed:
252
+ "Could not resolve the conflict. Your draft is still here.",
253
+ offline: "Offline",
254
+ selected: "selected",
255
+ chooseDesignSystem: "Choose a design system",
256
+ presentationNotFound: "Presentation Not Found",
257
+ sharedPresentationExpired:
258
+ "This shared presentation doesn't exist or has expired.",
259
+ routeNotFoundTitle: "Not Found - Slides 2",
260
+ routeEditorTitle: "Editor — Slides 2",
261
+ routeDesignSystemsTitle: "Design Systems - Slides 2",
262
+ routeSettingsTitle: "Settings - Slides 2",
263
+ routeSharedTitle: "Shared Presentation",
264
+ routeTeamTitle: "Team — Slides 2",
265
+ slidePreviewTitle: "Slide Preview",
266
+ slideUnavailable: "Slide unavailable",
267
+ couldNotLoadSlide: "Could not load slide.",
268
+ openInApp: "Open in app",
269
+ deleteAsset: "Delete {{filename}}",
270
+ describeImagePlaceholder: "Describe image (optional)...",
271
+ generate: "Generate",
272
+ convert: "Convert",
273
+ upload: "Upload",
274
+ download: "Download",
275
+ fitCover: "Fit: Cover",
276
+ fitContain: "Fit: Contain",
277
+ website: "Website",
278
+ noLogosFound: "No logos found",
279
+ invalidMermaidSyntax: "Invalid Mermaid syntax",
280
+ missingDeckId: "Missing deckId parameter.",
281
+ invalidSlideNumber: "slideNumber must be a positive 1-based number.",
282
+ invalidSlideIndex: "slideIndex must be a number.",
283
+ deckHasNoSlides: "This deck has no slides.",
284
+ deckNotFound: "Deck not found.",
285
+ deckLoadFailedStatus: "Failed to load deck (HTTP {{status}}).",
286
+ slideNotFound: "Slide not found.",
287
+ googleDriveUnreadableResponse:
288
+ "The server returned an unreadable response.",
289
+ googleDriveCheckFailedStatus:
290
+ "Could not check Google Drive (HTTP {{status}}).",
291
+ imageUploadFailedStatus: "Image upload failed (HTTP {{status}}).",
292
+ },
293
+
294
+ designSystems: {
295
+ new: "New Design System",
296
+ setupBrand: "Set up your brand",
297
+ delete: "Delete",
298
+ cancel: "Cancel",
299
+ moreActions: "More actions",
300
+ deleteDialogTitle: "Delete design system?",
301
+ deleteDialogDescription:
302
+ "This permanently deletes the design system. Decks using it keep their current look but are no longer linked to it.",
303
+ deleteError: "Failed to delete design system",
304
+ emptyTitle: "Set up your brand identity",
305
+ emptyDescription:
306
+ "Create a design system with your brand colors, typography, and logos. Every new deck will follow your visual identity.",
307
+ tierLimitTitle: "Design system limit reached",
308
+ tierLimitDescription:
309
+ "You've reached the design system limit for your Builder plan. Upgrade your Builder plan to create another.",
310
+ tierLimitDescriptionWithCount:
311
+ "You're using {{current}} of {{max}} design systems on your Builder {{plan}} plan. Upgrade to create another.",
312
+ tierLimitUpgrade: "Upgrade Builder plan",
313
+ },
314
+ editorToolbar: {
315
+ layoutTitle: "Title",
316
+ layoutSection: "Section Divider",
317
+ layoutContent: "Content",
318
+ layoutTwoColumn: "Two Column",
319
+ layoutImage: "Image",
320
+ layoutStatement: "Statement",
321
+ layoutFullImage: "Full Image",
322
+ layoutBlank: "Blank",
323
+ importingFile: "Importing file",
324
+ readingFile: "Reading {{fileName}}...",
325
+ uploadFailed: "Upload failed",
326
+ uploadMissingPath: "Upload did not return a file path",
327
+ importFailed: "Import failed",
328
+ importFailedDescription: "Something went wrong importing this file.",
329
+ importComplete: "Import complete",
330
+ importCompleteSlides_one: "{{count}} slide imported from {{fileName}}.",
331
+ importCompleteSlides_other: "{{count}} slides imported from {{fileName}}.",
332
+ importCompleteFile: "File imported from {{fileName}}.",
333
+ backToDecks: "Back to decks",
334
+ toggleSlideList: "Toggle slide list",
335
+ openInAgentNative: "Open in Agent-Native",
336
+ designSystem: "Design system",
337
+ usingDesignSystem: "Using {{title}}",
338
+ usingLinkedDesignSystem: "Using a linked design system",
339
+ viewOnly: "View only",
340
+ commenterRoleLabel: "Commenter",
341
+ commenterRoleDescription: "Can view and add comments",
342
+ slideSettings: "Slide settings",
343
+ layout: "Layout",
344
+ background: "Background",
345
+ customColor: "Custom color",
346
+ media: "Media",
347
+ generateImage: "Generate Image",
348
+ assetLibrary: "Asset Library",
349
+ globalAssetScope: "Global",
350
+ imageOptions: "Image options",
351
+ videoPlayback: "Video playback",
352
+ autoplayVideo: "Autoplay",
353
+ loopVideo: "Loop video",
354
+ videoUploading: "Uploading video…",
355
+ videoAdded: "Video added",
356
+ videoUploadFailed: "Video upload failed",
357
+ videoUploadError: "Could not upload this video.",
358
+ videoFormatUnsupported: "Only MP4 and WebM videos are supported.",
359
+ videoTooLarge: "Videos must be 50 MB or smaller.",
360
+ videoUploadNeedsBuilder: "Video storage is not configured.",
361
+ cropImage: "Crop image",
362
+ cropHandle: "Crop image {{position}}",
363
+ diagrams: "Diagrams",
364
+ insertMermaidDiagram: "Insert Mermaid Diagram",
365
+ insertMermaidFailed: "Failed to insert diagram",
366
+ excalidrawCanvas: "Excalidraw Canvas",
367
+ convertMermaidToExcalidraw: "Convert Mermaid to Excalidraw",
368
+ convertMermaidFailed: "Failed to convert diagram",
369
+ removeExcalidrawCanvas: "Remove Excalidraw Canvas",
370
+ transition: "Transition",
371
+ transition_none: "None",
372
+ transition_dissolve: "Dissolve",
373
+ transition_fade: "Fade",
374
+ transition_slide_from_right: "Slide from right",
375
+ transition_slide_from_left: "Slide from left",
376
+ transition_flip: "Flip",
377
+ transition_cube: "Cube",
378
+ transition_gallery: "Gallery",
379
+ transition_panel: "Slide transition",
380
+ transition_speed: "Speed",
381
+ transition_slow: "Slow",
382
+ transition_fast: "Fast",
383
+ transition_seconds: "{{seconds}} s",
384
+ transition_apply_all: "Apply to all slides",
385
+ transition_play: "Play transition",
386
+ aspectRatio: "Aspect Ratio",
387
+ setAspectRatio: "Set deck to {{ratio}}",
388
+ slideTools: "Slide tools",
389
+ elementAnimations: "Element animations",
390
+ layers: "Layers",
391
+ closeLayers: "Close layers panel",
392
+ searchLayers: "Search layers",
393
+ resizeLayers: "Resize layers panel",
394
+ resizeSlideList: "Resize slide list",
395
+ expandLayer: "Expand layer",
396
+ collapseLayer: "Collapse layer",
397
+ tweaks: "Tweaks",
398
+ drawOnSlide: "Annotate slide",
399
+ addTextBox: "Add text box",
400
+ shapes: "Shapes",
401
+ shapeRectangle: "Rectangle",
402
+ shapeCircle: "Circle",
403
+ shapeArrow: "Arrow",
404
+ shapeTriangle: "Triangle",
405
+ shapeLine: "Line",
406
+ shapeStar: "Star",
407
+ shapePolygon: "Polygon",
408
+ pinComments: "Pin comments",
409
+ undo: "Undo",
410
+ undoWithShortcut: "Undo ({{shortcut}})",
411
+ redo: "Redo",
412
+ redoWithShortcut: "Redo ({{shortcut}})",
413
+ preview: "Preview",
414
+ code: "Code",
415
+ comments: "Comments",
416
+ editorLink: "Editor link",
417
+ editorLinkDescription: "Opens the deck in the editor",
418
+ presentationLink: "Presentation link",
419
+ presentationLinkDescription:
420
+ "Opens directly in fullscreen presentation mode.",
421
+ present: "Present",
422
+ more: "More",
423
+ importing: "Importing...",
424
+ importFile: "Import file",
425
+ downloadBackup: "Download backup",
426
+ conflictStatus: "Text conflict",
427
+ conflictStatusDescription:
428
+ "Review the conflicting text before saving more changes.",
429
+ accessLost: "Access lost",
430
+ accessLostDescription:
431
+ "Your access to this deck changed. Your edits stay on screen; retry once access is restored, or download a backup.",
432
+ reviewConflict: "Review conflict",
433
+ conflictTitle: "Slide {{number}} has a text conflict",
434
+ conflictDescription:
435
+ "Another version changed this slide while your text was being edited.",
436
+ conflictChoicesDescription:
437
+ "Keeping your text saves it over the latest version. Using saved text replaces only this slide's local draft.",
438
+ conflictBackupDescription:
439
+ "This full-deck draft can't be resolved one slide at a time. Download a backup to keep it safe.",
440
+ conflictResolveFailed:
441
+ "Couldn't resolve the conflict. Your draft is still available on this device.",
442
+ conflictKeepMine: "Keep my text",
443
+ conflictUseLatest: "Use saved text",
444
+ importBackup: "Import backup",
445
+ backupDownloaded: "Backup downloaded",
446
+ backupDownloadFailed: "Could not download backup",
447
+ invalidBackup: "Choose a valid Slides 2 backup JSON file.",
448
+ savedVersions: "History",
449
+ lightTheme: "Light theme",
450
+ darkTheme: "Dark theme",
451
+ },
452
+ editorErrors: {
453
+ deckNotFound:
454
+ "This deck is no longer available. Return to decks and open it again.",
455
+ slideNotFound:
456
+ "This slide is no longer available. Reload the deck and try again.",
457
+ slideSourceUnavailable:
458
+ "This slide no longer has editable source. Reload the deck before editing it.",
459
+ slideChanged:
460
+ "This slide changed while you were editing it. Reload it and try again.",
461
+ deckChanged:
462
+ "This deck changed while you were editing it. Reload it and try again.",
463
+ slideSaveFailed:
464
+ "The slide edit could not be saved. Review your changes and try again.",
465
+ deckDataUnavailable:
466
+ "The deck data could not be read. Reload the deck and try again.",
467
+ signInRequired: "Sign in with an account that can edit this deck.",
468
+ commentThreadResolved:
469
+ "This thread is resolved. Reopen it before replying.",
470
+ commentAnchorChanged:
471
+ "This slide changed before the comment could be saved. Choose the comment location again.",
472
+ slideLimitReached: "This deck has reached its planned slide count.",
473
+ },
474
+ editorExport: {
475
+ sourceRuntimeExportUnavailable:
476
+ "This export cannot render React slides without a static preview.",
477
+ pptxImageUnavailable:
478
+ "An image on slide {{slideNumber}} could not be loaded. No file was created.",
479
+ pptxFailed: "Could not generate PPTX file.",
480
+ exportFailed: "Export failed",
481
+ renderFormatUnsupported:
482
+ "This slide format isn't supported for PDF export.",
483
+ unsafeAssetOrigin:
484
+ "A slide image couldn't be loaded from an approved asset location.",
485
+ exporting: "Exporting...",
486
+ exportPptxError: "Something went wrong exporting as PPTX.",
487
+ googleSlidesDownloaded: "Downloaded for Google Slides",
488
+ googleSlidesImportHint:
489
+ "Open Google Slides, choose File -> Import slides, then select the downloaded .pptx.",
490
+ exportGoogleSlidesError: "Something went wrong exporting to Google Slides.",
491
+ htmlFailed: "Could not generate HTML file.",
492
+ exportHtmlError: "Something went wrong exporting as HTML.",
493
+ export: "Export",
494
+ exportAndDuplicate: "Export & Duplicate",
495
+ shareWithTeam: "Share with team...",
496
+ publicShareLink: "Public share link...",
497
+ downloadHtml: "Download as HTML",
498
+ exportPdf: "Export as PDF",
499
+ exportPptx: "Export as PPTX",
500
+ exportPptxAsImages: "Export as PPTX (slide images)",
501
+ connectGoogle: "Connect Google",
502
+ openInGoogleSlides: "Export to Google Slides",
503
+ googleSlidesUnavailable: "Unavailable",
504
+ googleSlidesOpenImporter: "Open Google Slides import",
505
+ googleSlidesUnavailableHint:
506
+ "Google Slides export is unavailable right now because the Google connection is not set up. Export as PPTX and import it into Google Slides instead.",
507
+ googleSlidesCreated: "Exported to Google Slides",
508
+ googleSlidesCreatedHint:
509
+ "A copy of this deck was created in your Google Drive.",
510
+ googleSlidesGoTo: "Go to Google Slides",
511
+ duplicateDeck: "Duplicate deck",
512
+ },
513
+ share: {
514
+ createFailed: "Failed to create share link",
515
+ title: "Share Presentation",
516
+ cloudUpgradeDescription:
517
+ "To share presentations publicly, connect a cloud database so your slides can be accessed from anywhere.",
518
+ description:
519
+ 'Create a shareable link for "{{title}}". Only this presentation will be accessible - no other decks.',
520
+ whatGetsShared: "What gets shared:",
521
+ slideContent: "- Slide content and layouts ({{count}} slides)",
522
+ presentationView: "- Presentation view (fullscreen)",
523
+ whatStaysPrivate: "What stays private:",
524
+ speakerNotes: "- Speaker notes",
525
+ otherPresentations: "- Other presentations",
526
+ editingAccess: "- Editing access",
527
+ creatingLink: "Creating link...",
528
+ createShareLink: "Create Share Link",
529
+ copyLink: "Copy link",
530
+ copied: "Copied",
531
+ openSharedLink: "Open shared link",
532
+ anyoneWithLink: "Anyone with this link can view this presentation.",
533
+ },
534
+ slideTextMenu: {
535
+ brandColors: "Brand Colors",
536
+ editPalette: "Edit palette",
537
+ addColor: "Add color",
538
+ removeColor: "Remove color",
539
+ bold: "Bold",
540
+ italic: "Italic",
541
+ strikethrough: "Strikethrough",
542
+ code: "Code",
543
+ heading1: "Heading 1",
544
+ heading2: "Heading 2",
545
+ heading3: "Heading 3",
546
+ bulletList: "Bullet List",
547
+ orderedList: "Ordered List",
548
+ link: "Link",
549
+ pasteUrl: "Paste URL...",
550
+ apply: "Apply",
551
+ cancel: "Cancel",
552
+ textColor: "Text color",
553
+ copyStyleShortcut: "{{shortcut}} copy style",
554
+ pasteStyleShortcut: "{{shortcut}} paste style",
555
+ comment: "Comment",
556
+ },
557
+ slideSlashMenu: {
558
+ blocks: "Blocks",
559
+ text: "Text",
560
+ plainParagraph: "Plain paragraph",
561
+ heading1: "Heading 1",
562
+ largeSlideHeading: "Large slide heading",
563
+ heading2: "Heading 2",
564
+ mediumHeading: "Medium heading",
565
+ heading3: "Heading 3",
566
+ smallHeading: "Small heading",
567
+ bulletList: "Bullet List",
568
+ unorderedList: "Unordered list",
569
+ numberedList: "Numbered List",
570
+ orderedList: "Ordered list",
571
+ quote: "Quote",
572
+ blockquote: "Blockquote",
573
+ divider: "Divider",
574
+ horizontalRule: "Horizontal rule",
575
+ },
576
+ comments: {
577
+ deleteComment: "Delete comment",
578
+ editComment: "Edit comment",
579
+ save: "Save",
580
+ saveCommentFailed: "Could not save this comment.",
581
+ updateFailed: "Could not update this comment.",
582
+ deleteFailed: "Could not delete this comment.",
583
+ reactionFailed: "Could not update this reaction.",
584
+ addCommentPlaceholder: "Add a comment...",
585
+ addReaction: "Add reaction",
586
+ toggleReaction: "Toggle {{emoji}} reaction",
587
+ reactWith: "React with {{emoji}}",
588
+ cancel: "Cancel",
589
+ saving: "Saving...",
590
+ comment: "Comment",
591
+ saveReplyFailed: "Could not save this reply.",
592
+ replyPlaceholder: "Reply...",
593
+ reply: "Reply",
594
+ resolveThread: "Resolve thread",
595
+ reopenThread: "Reopen thread",
596
+ hideReplies: "Hide replies",
597
+ replyCount_one: "{{count}} reply",
598
+ replyCount_other: "{{count}} replies",
599
+ title: "Comments",
600
+ addComment: "Add comment",
601
+ close: "Close",
602
+ hideResolved: "Hide resolved",
603
+ showResolved: "Show {{count}} resolved",
604
+ noCommentsYet: "No comments yet",
605
+ loadFailed: "Couldn't load comments",
606
+ retry: "Retry",
607
+ clickToAddComment: "Click to add a comment",
608
+ selectSlideToAdd: "Select a slide to add one",
609
+ filters: "Comment filters",
610
+ scope: "Comment scope",
611
+ thisSlide: "This slide",
612
+ allComments: "All slides",
613
+ audience: "Comment audience",
614
+ all: "All",
615
+ forYou: "For you",
616
+ goToSlide: "Go to slide",
617
+ search: "Search comments",
618
+ searchPlaceholder: "Search all comments...",
619
+ },
620
+ contextToolbar: {
621
+ insert: "Insert",
622
+ insertText: "Text",
623
+ insertMedia: "Image/video…",
624
+ order: "Order",
625
+ listStyle: "List style",
626
+ removeFormatting: "Remove formatting",
627
+ lockAspectRatio: "Lock aspect ratio",
628
+ zoom: "Zoom",
629
+ objectsSelected_one: "{{count}} objects selected",
630
+ objectsSelected_other: "{{count}} objects selected",
631
+ bold: "Bold",
632
+ strikethrough: "Strikethrough",
633
+ code: "Code",
634
+ link: "Link",
635
+ applyLink: "Apply",
636
+ lineHeight: "Line height",
637
+ letterSpacing: "Letter spacing",
638
+ replaceImage: "Replace",
639
+ fit: "Fit",
640
+ fitCover: "Fill",
641
+ fitContain: "Fit",
642
+ editWithAgent: "Edit with Agent",
643
+ tightenTone: "Tighten tone",
644
+ polish: "Polish",
645
+ translate: "Translate",
646
+ makeMoreVisual: "Make more visual",
647
+ generateImage: "Generate image",
648
+ removeBackground: "Remove background",
649
+ },
650
+ styleInspector: {
651
+ title: "Style",
652
+ close: "Close style inspector",
653
+ slideBackground: "Slide background",
654
+ slide: "Slide",
655
+ deckStyle: "Deck style",
656
+ designSystemTweaks: "Design system tweaks",
657
+ closeTweaks: "Close tweaks",
658
+ controls: "Controls",
659
+ noDeckStyleControls: "No deck style controls yet.",
660
+ type: "Type",
661
+ color: "Color",
662
+ size: "Size",
663
+ line: "Line",
664
+ regular: "Reg",
665
+ medium: "Med",
666
+ semi: "Semi",
667
+ bold: "Bold",
668
+ left: "Left",
669
+ center: "Center",
670
+ right: "Right",
671
+ justify: "Justify",
672
+ distribute: "Distribute",
673
+ fill: "Fill",
674
+ tint: "Tint",
675
+ transparent: "Transparent",
676
+ alpha: "Alpha",
677
+ stroke: "Stroke",
678
+ radius: "Rad",
679
+ strokeColor: "Stroke color",
680
+ spacing: "Spacing",
681
+ x: "X",
682
+ y: "Y",
683
+ position: "Position",
684
+ selectParent: "Select parent element",
685
+ horizontal: "Horizontal",
686
+ vertical: "Vertical",
687
+ alignToLabel: "Align to",
688
+ alignToSelection: "Selection",
689
+ alignToSlide: "Slide",
690
+ smartGuides: "Smart guides",
691
+ top: "Top",
692
+ middle: "Middle",
693
+ bottom: "Bottom",
694
+ rotation: "Rotation",
695
+ rotateHandle: "Rotate element",
696
+ resizeHandle: "Resize {{handle}}",
697
+ layoutDimensions: "Layout & dimensions",
698
+ width: "Width",
699
+ height: "Height",
700
+ appearance: "Appearance",
701
+ opacity: "Opacity",
702
+ cornerRadius: "Corner radius",
703
+ strokeWeight: "Weight",
704
+ typography: "Typography",
705
+ fontFamily: "Font family",
706
+ lineHeight: "Line height",
707
+ letterSpacing: "Letter spacing",
708
+ fontFamilies: {
709
+ inherit: "Inherit",
710
+ sansSerif: "Sans Serif",
711
+ serif: "Serif",
712
+ monospace: "Monospace",
713
+ inter: "Inter",
714
+ poppins: "Poppins",
715
+ playfairDisplay: "Playfair Display",
716
+ jetBrainsMono: "JetBrains Mono",
717
+ },
718
+ weight: "Weight",
719
+ italic: "Italic",
720
+ underline: "Underline",
721
+ bulletList: "Bullet list",
722
+ numberedList: "Numbered list",
723
+ align: "Align",
724
+ textAlignLeft: "Align text left",
725
+ textAlignCenter: "Center text",
726
+ textAlignRight: "Align text right",
727
+ decreaseSize: "Decrease font size",
728
+ increaseSize: "Increase font size",
729
+ mixed: "Mixed",
730
+ textColor: "Text color",
731
+ primary: "Primary",
732
+ secondary: "Secondary",
733
+ accent: "Accent",
734
+ surface: "Surface",
735
+ background: "Background",
736
+ text: "Text",
737
+ muted: "Muted",
738
+ white: "White",
739
+ black: "Black",
740
+ slate: "Slate",
741
+ blue: "Blue",
742
+ cyan: "Cyan",
743
+ emerald: "Emerald",
744
+ amber: "Amber",
745
+ rose: "Rose",
746
+ arrange: "Arrange",
747
+ order: "Order",
748
+ group: "Group",
749
+ ungroup: "Ungroup",
750
+ bringForward: "Bring forward",
751
+ sendBackward: "Send backward",
752
+ bringToFront: "Bring to front",
753
+ sendToBack: "Send to back",
754
+ copyStyle: "Copy style",
755
+ pasteStyle: "Paste style",
756
+ copy: "Copy",
757
+ paste: "Paste",
758
+ insertRowAbove: "Insert row above",
759
+ insertRowBelow: "Insert row below",
760
+ deleteRow: "Delete row",
761
+ insertColumnLeft: "Insert column left",
762
+ insertColumnRight: "Insert column right",
763
+ deleteColumn: "Delete column",
764
+ },
765
+ animations: {
766
+ appear: "Appear",
767
+ fade: "Fade",
768
+ slideUp: "Slide Up",
769
+ zoom: "Zoom",
770
+ elementFallback: "Element {{index}}",
771
+ title: "Transitions",
772
+ close: "Close transitions panel",
773
+ emptyTitle: "No animations yet.",
774
+ emptyDescription: "Select an object on the slide to add a transition.",
775
+ selectObject: "Select an object to animate",
776
+ addTransition: "Add transition",
777
+ effect: "Effect",
778
+ onClick: "On click",
779
+ withPrevious: "With previous",
780
+ trigger: "Start",
781
+ byParagraph: "By paragraph",
782
+ expand: "Expand transition",
783
+ collapse: "Collapse transition",
784
+ reorder: "Reorder transition",
785
+ remove: "Remove transition",
786
+ play: "Play",
787
+ clearAll: "Clear all",
788
+ elements: "Elements",
789
+ autoFill: "Auto-fill",
790
+ issueStalePath: "This object is no longer on the slide.",
791
+ issueMissingElement: "This object could not be found on the slide.",
792
+ issueDuplicate: "This reveal overlaps another reveal on the slide.",
793
+ blocked: "Remove or fix the unresolved reveal to save or play.",
794
+ changeNotApplied: "This change was not applied.",
795
+ noAnimatableElements: "No animatable elements detected on this slide.",
796
+ },
797
+ generateSlides: {
798
+ title: "Generate Slides with AI",
799
+ description:
800
+ "Describe your presentation topic and AI will generate slides for you.",
801
+ topic: "Topic",
802
+ topicPlaceholder:
803
+ "e.g. Introduction to React Hooks, Q4 Sales Report, Product Roadmap 2025...",
804
+ slides: "Slides",
805
+ slideCount_one: "{{count}} slide",
806
+ slideCount_other: "{{count}} slides",
807
+ styleOptional: "Style (optional)",
808
+ stylePlaceholder: "e.g. minimal, corporate...",
809
+ generateImages: "Generate images",
810
+ generateImagesDescription:
811
+ "AI will generate images for visual slides using Gemini",
812
+ referenceImages: "Reference Images (optional, for brand consistency)",
813
+ referenceImagesDescription:
814
+ "Upload images to match their visual style in generated images",
815
+ generating: "Generating slides...",
816
+ generate: "Generate Slides",
817
+ },
818
+ deckResult: { saved: "Saved" },
819
+ slidesChangelog: {
820
+ editorHoveredObjects:
821
+ "The editor highlights hovered objects and keeps image replace and crop actions on the canvas.",
822
+ deckEditingControls:
823
+ "The slide-list toggle, deck title, and Present button now match the shared workspace controls.",
824
+ googleSlidesMissingImageData:
825
+ "Google Slides imports now report missing image data instead of adding empty images.",
826
+ globalMediaPickerScope:
827
+ "Scope global media picks to assets the current deck can resolve.",
828
+ savedSlideImages:
829
+ "Images used by saved slides stay available in your library.",
830
+ },
831
+ history: {
832
+ unknownTime: "Unknown time",
833
+ justNow: "Just now",
834
+ minutesAgo: "{{count}}m ago",
835
+ hoursAgo: "{{count}}h ago",
836
+ daysAgo: "{{count}}d ago",
837
+ slideCount_one: "{{count}} slide",
838
+ slideCount_other: "{{count}} slides",
839
+ versionRestored: "Version restored",
840
+ versionRestoredDescription:
841
+ "The deck was rolled back to the selected snapshot.",
842
+ restoreFailed: "Restore failed",
843
+ restoreFailedDescription: "Could not restore this deck version.",
844
+ backToSavedVersions: "Back to history",
845
+ savedVersions: "History",
846
+ description: "Browse deck history and restore a previous snapshot.",
847
+ untitled: "Untitled",
848
+ snapshotUnavailable: "Snapshot unavailable",
849
+ slideNumber: "Slide {{number}}",
850
+ noSlidesInSnapshot: "No slides in this snapshot.",
851
+ restoreThisVersion: "Restore this version",
852
+ retry: "Retry",
853
+ noSavedVersions: "No history yet",
854
+ noSavedVersionsDescription:
855
+ "History is saved automatically before future deck edits.",
856
+ loadFailed: "Could not load saved versions.",
857
+ snapshotLoadFailed: "Could not load this saved version.",
858
+ },
859
+ editorSidebar: {
860
+ selectSlide: "Select slide {{number}}",
861
+ duplicateSlide: "Duplicate slide",
862
+ moveSlideUp: "Move slide up",
863
+ moveSlideDown: "Move slide down",
864
+ duplicate: "Duplicate",
865
+ deleteSlide: "Delete slide",
866
+ slideDeleted: "Slide deleted",
867
+ delete: "Delete",
868
+ generatingSlide: "Generating slide",
869
+ uploadFailed: "Upload failed",
870
+ uploadAttachedFileFailed: "Could not upload the attached file.",
871
+ newSlideSaveFailed: "Couldn't save the new slide. Please try again.",
872
+ addSlides: "Add slides",
873
+ addEmptySlide: "Add empty slide",
874
+ noAi: "no AI",
875
+ duplicateCurrentSlide: "Duplicate current slide",
876
+ promptPlaceholder: "Describe the slides you want...",
877
+ newSlide: "New slide",
878
+ closeAddSlides: "Close",
879
+ describeThisSlide: "Describe this slide",
880
+ cut: "Cut",
881
+ copy: "Copy",
882
+ paste: "Paste",
883
+ skipSlide: "Skip slide",
884
+ unskipSlide: "Unskip slide",
885
+ },
886
+ deckCard: {
887
+ rename: "Rename",
888
+ duplicate: "Duplicate",
889
+ delete: "Delete",
890
+ },
891
+ slideEditor: {
892
+ collaboratorAriaLabel: "{{name}} is on this slide",
893
+ collaboratorTooltip: "{{name}} ({{email}}) is on this slide",
894
+ applyUpdates: "Apply Updates ({{count}})",
895
+ },
896
+ slides2Editor: {
897
+ now: "NOW",
898
+ preview: "Preview",
899
+ edit: "Edit",
900
+ showInspector: "Show inspector",
901
+ hideInspector: "Hide inspector",
902
+ fontWeightRegular: "Regular",
903
+ fontWeightMedium: "Medium",
904
+ fontWeightSemibold: "Semibold",
905
+ fontWeightBold: "Bold",
906
+ selectElement: "Select an element to edit its properties.",
907
+ legacyTitle: "This deck uses the older slide format",
908
+ legacyDescription:
909
+ "Ask the Slides 2 agent to convert the deck before editing it here.",
910
+ commands: "Commands",
911
+ commandShortcutHint: "Open commands (⌘K / Ctrl+K)",
912
+ searchCommands: "Search commands and slides…",
913
+ noCommandsFound: "No commands found.",
914
+ uploadImage: "Upload images",
915
+ assetsLoadFailed: "Couldn't load uploaded media.",
916
+ imageTargetRequired:
917
+ "Select an image or image placeholder on the slide first.",
918
+ imageInsertFailed: "Couldn't add this image to the slide.",
919
+ cropDescription: "Drag the frame to choose the visible part of the image.",
920
+ cropFitMode: "Image fit mode",
921
+ cropRegion: "Crop region",
922
+ presentInWindow: "Present in window",
923
+ copyLinkFailed: "Couldn't copy this link.",
924
+ duplicateObject: "Duplicate object",
925
+ deleteObject: "Delete object",
926
+ insertTextBox: "Insert text box",
927
+ insertObjects: "Insert",
928
+ insertRectangle: "Insert rectangle",
929
+ insertEllipse: "Insert ellipse",
930
+ insertLine: "Insert line",
931
+ newTextObject: "Text",
932
+ objectStructureUnsupported: "This object can't be changed safely.",
933
+ saveBeforeStructureEdit:
934
+ "Save pending edits before adding, duplicating, or deleting objects.",
935
+ invalidRenderArtifact: "The slide preview could not be validated.",
936
+ secureRenderUnavailable:
937
+ "Secure slide rendering is unavailable in this browser.",
938
+ renderFailed: "The slide preview couldn't be rendered.",
939
+ mediaTypeFilter: "Filter by media type",
940
+ mediaFilters: {
941
+ all: "All",
942
+ image: "Images",
943
+ video: "Videos",
944
+ },
945
+ uploadMedia: "Upload media",
946
+ searchLogos: "Search logos",
947
+ addLogo: "Add logo",
948
+ searchMediaPlaceholder: "Search images and videos...",
949
+ videoUploadFailed: "Video upload failed. Check the file and try again.",
950
+ videoInsertFailed: "Couldn't add this video to the slide.",
951
+ noVideosYet: "No videos yet.",
952
+ noAssetsMatch: "No media matches your search.",
953
+ },
954
+ slides2Fonts: {
955
+ browse: "Browse Google Fonts",
956
+ title: "Google Fonts",
957
+ searchPlaceholder: "Search font families",
958
+ search: "Search",
959
+ searchHint: "Search the catalog",
960
+ noResults: "No fonts found",
961
+ searchFailed: "Google Fonts couldn't be loaded.",
962
+ variant: "Variant",
963
+ previewVariant: "Preview variant",
964
+ previewed: "Preview ready",
965
+ previewSample: "Aa Bb Cc 123",
966
+ useForHeadings: "Use for headings",
967
+ useForBody: "Use for body",
968
+ importFailed: "The selected font couldn't be imported.",
969
+ chooseFont: "Choose a font to preview.",
970
+ },
971
+ slides2DesignTokens: {
972
+ title: "Design tokens",
973
+ colors: "Colors",
974
+ background: "Background",
975
+ text: "Text",
976
+ accent: "Accent",
977
+ typography: "Typography",
978
+ displayFont: "Display font",
979
+ bodyFont: "Body font",
980
+ heroScale: "Hero scale",
981
+ bodyScale: "Body scale",
982
+ shape: "Shape",
983
+ radius: "Radius",
984
+ shuffle: "Shuffle design",
985
+ },
986
+ slides2Presenter: {
987
+ switchDeck: "Switch deck",
988
+ searchDecks: "Search accessible decks",
989
+ loadingDecks: "Loading decks…",
990
+ noDecks: "No decks available",
991
+ noMatchingDecks: "No decks match your search",
992
+ searchForMoreDecks: "Search to find more decks.",
993
+ deckPreview: "Deck preview",
994
+ deckPreviewUnavailable: "Preview unavailable",
995
+ selectDeckToPreview: "Select a deck to preview",
996
+ switchToDeck: "Switch to deck",
997
+ overview: "Overview",
998
+ overviewTitle: "Slide overview",
999
+ blackout: "Black screen",
1000
+ whiteout: "White screen",
1001
+ laser: "Laser pointer",
1002
+ exitFullscreen: "Exit fullscreen",
1003
+ elapsedTime: "Elapsed time",
1004
+ projectionNotLinked: "Projection not linked",
1005
+ controlFailed: "Could not send the presentation control. Try again.",
1006
+ currentTime: "Current time",
1007
+ resetTimer: "Reset timer",
1008
+ notesTextSize: "Speaker notes text size",
1009
+ decreaseNotesTextSize: "Decrease notes text size",
1010
+ increaseNotesTextSize: "Increase notes text size",
1011
+ jumpHint: "Type a slide number, then press Enter",
1012
+ slideLabel: "Slide {{index}}",
1013
+ position: "Slide {{index}} of {{total}}",
1014
+ shortcutFirstLast: "Go to the first or last slide",
1015
+ shortcutJump: "Jump to a slide",
1016
+ shortcutOverview: "Open the slide overview",
1017
+ shortcutBlackout: "Toggle the black screen",
1018
+ shortcutWhiteout: "Toggle the white screen",
1019
+ shortcutLaser: "Toggle the laser pointer",
1020
+ shortcutPresenter: "Open presenter view",
1021
+ shortcutHelp: "Show keyboard shortcuts",
1022
+ shortcutExit: "Exit the presentation",
1023
+ },
1024
+ presentation: {
1025
+ reactSlideUnavailable:
1026
+ "This slide needs the React renderer and cannot be shown from this share link.",
1027
+ loadFailed: "Could not load this presentation.",
1028
+ tryAgain: "Try again",
1029
+ presenterView: "Presenter view",
1030
+ speakerNotes: "Speaker notes",
1031
+ noNotesForSlide: "No notes for this slide",
1032
+ upNext: "Up next",
1033
+ endOfDeck: "End of deck",
1034
+ closePresenterView: "Close presenter view",
1035
+ noSlides: "No slides to present",
1036
+ previousSlide: "Previous slide",
1037
+ nextSlide: "Next slide",
1038
+ voiceNavigation: "Voice navigation",
1039
+ voiceNavigationNextCommand: "Next slide",
1040
+ voiceNavigationPreviousCommand: "Previous slide",
1041
+ voiceNavigationHint: "Say “{{next}}” or “{{previous}}” to navigate.",
1042
+ voiceNavigationListening: "Listening for “{{next}}” or “{{previous}}”.",
1043
+ voiceNavigationUnavailable:
1044
+ "Voice navigation isn't available in this browser.",
1045
+ voiceNavigationError:
1046
+ "Voice navigation stopped. Check microphone permission and connection, then try again.",
1047
+ exitPresentation: "Exit presentation",
1048
+ enterFullscreen: "Enter fullscreen",
1049
+ clickToEnterFullscreen: "Click to enter fullscreen",
1050
+ },
1051
+ deckAccessPage: {
1052
+ errorCode: "Error 403",
1053
+ noAccessTitle: "You don't have access",
1054
+ noAccessDescription:
1055
+ "Ask the deck owner for access, or switch to the right account.",
1056
+ noteLabel: "Add a note for the owner (optional)",
1057
+ notePlaceholder: "I'm reviewing this deck",
1058
+ requesting: "Requesting",
1059
+ requestFailed: "Your request wasn't sent. Please try again.",
1060
+ requestSentDescription:
1061
+ "We’ll email you as soon as the owner approves your request.",
1062
+ goHome: "Go home",
1063
+ signedInAs: "Signed in as",
1064
+ switchAccount: "Switch account",
1065
+ },
1066
+ deckEditor: {
1067
+ lookingForDeck: "Looking for this deck",
1068
+ joinTeamToOpen: "Join your team to open this deck",
1069
+ deckUnavailable: "Deck unavailable",
1070
+ generationStalled: "Generation paused after 5 minutes without progress",
1071
+ generationStalledDescription:
1072
+ "Your saved slides are still here. Continue from this deck in chat.",
1073
+ continueInChat: "Continue in chat",
1074
+ applyResult: "Apply",
1075
+ regenerateResult: "Regenerate",
1076
+ continueGenerationPrompt:
1077
+ "Continue generating slides for this deck. Check its current slides and saved generation context first. Keep completed slides and add only the missing slides.",
1078
+ checkingSharedAccess:
1079
+ "Checking whether this presentation is shared with your account.",
1080
+ joinTeamDescription:
1081
+ "This link points to a team presentation. Join the team shown above and the deck will open here automatically.",
1082
+ deckUnavailableDescription:
1083
+ "This deck may have been removed, or your account does not have access to it.",
1084
+ privateDeckTitle: "You don't have access to this deck",
1085
+ privateDeckDescription: "Request access and the owner will be notified.",
1086
+ signedInAs: "You're signed in as",
1087
+ accessRequestSentDescription:
1088
+ "The owner has been notified. You can open this deck once access is granted.",
1089
+ accessRequestRecordedDescription:
1090
+ "Your request has been recorded. You can open this deck once access is granted.",
1091
+ requestAccessPending: "Sending request...",
1092
+ accessRequestSent: "Request sent",
1093
+ requestAccess: "Request access",
1094
+ signInToRequestAccess: "Sign in to request access",
1095
+ requestAccessDialogTitle: "Request access",
1096
+ requestAccessDialogDescription:
1097
+ "Sign in, or enter the email address the owner should share this deck with.",
1098
+ requestAccessSignIn: "Sign in or sign up",
1099
+ requestAccessOr: "or",
1100
+ requestAccessEmailLabel: "Email address",
1101
+ requestAccessEmailPlaceholder: "you@example.com",
1102
+ requestAccessEmailHint:
1103
+ "After access is granted, sign in with this email to view the deck.",
1104
+ requestAccessWithEmail: "Request with email",
1105
+ requestAccessEmailRequired: "Enter a valid email address.",
1106
+ requestingAccess: "Requesting access...",
1107
+ accessRequestSentWithEmail:
1108
+ "The deck owner was asked to share this deck with {{email}}.",
1109
+ accessRequestFailed: "Couldn't request access. Try again.",
1110
+ accessApprovalTitle: "Access granted",
1111
+ accessApprovalAlreadyTitle: "Access already granted",
1112
+ accessApprovalMessage: "{{email}} can now open this deck.",
1113
+ accessApprovalRequesterEmailed: "We emailed them to let them know.",
1114
+ accessApprovalRequesterEmailFailed:
1115
+ "We couldn't email {{email}}. Let them know they can open the deck now.",
1116
+ accessApprovalAlreadyMessage: "{{email}} already has access to this deck.",
1117
+ accessApprovalErrorTitle: "Couldn't grant access",
1118
+ accessApprovalInvalid: "This access request is invalid or expired.",
1119
+ accessApprovalSignInTitle: "Sign in to allow access",
1120
+ accessApprovalSignInMessage:
1121
+ "Sign in as the deck owner or an admin to approve this request.",
1122
+ accessApprovalOpenDeck: "Open deck",
1123
+ accessApprovalSignIn: "Sign in",
1124
+ accessApprovalLoading: "Granting access...",
1125
+ backToDecks: "Back to Decks",
1126
+ tryAgain: "Try again",
1127
+ imageUploadFailed: "Image upload failed",
1128
+ imageUploadNeedsBuilder:
1129
+ "Set up object storage to upload images: use Builder.io (free) or add your own S3-compatible storage keys in Settings → File uploads.",
1130
+ imageAdded: "Image added",
1131
+ imageUploadError: "Something went wrong uploading this image.",
1132
+ exportFailed: "Export failed",
1133
+ agentRunFailed:
1134
+ "The agent run failed before creating any slides. Check the chat for details, then try again.",
1135
+ generationFailed:
1136
+ "Slides weren't created. Check the chat for details, then try again.",
1137
+ generationOutcomeUnresolved:
1138
+ "We couldn't confirm whether slides were created. Check the deck before trying again.",
1139
+ generationOutcomeUnresolvedWithSlides:
1140
+ "We couldn't confirm that slide creation finished. Review the slides shown here before continuing.",
1141
+ partialGenerationFailed:
1142
+ "We couldn't finish creating your slides. Review the slides already here and your original request before continuing.",
1143
+ originalPrompt: "You asked for",
1144
+ backToHome: "Back to Home",
1145
+ checkedDeckTryAgain: "I checked the deck. Try again",
1146
+ deckHasNoSlides: "Deck has no slides.",
1147
+ pdfRenderFailed: "Could not render PDF.",
1148
+ buildingDeck: "Building deck",
1149
+ layoutOverflowWarning: "Layout overflows",
1150
+ layoutOverflowDetails: "Show overflow details",
1151
+ layoutOverflowVertical: "Vertical overflow: {{pixels}}px",
1152
+ layoutOverflowHorizontal: "Horizontal overflow: {{pixels}}px",
1153
+ dismissLayoutWarning: "Dismiss layout warning",
1154
+ slidesAdded_one: "{{count}} slide added",
1155
+ slidesAdded_other: "{{count}} slides added",
1156
+ unsavedChangesTitle: "Unsaved changes",
1157
+ unsavedChangesDescription:
1158
+ "If you leave or reload now, you may lose changes that have not been saved yet. Are you sure you want to exit?",
1159
+ keepEditing: "Keep editing",
1160
+ leaveWithoutSaving: "Exit without saving",
1161
+ editorMarkupNotSaved:
1162
+ "This edit wasn't saved because it would have added editor markup to the slide.",
1163
+ historyStepConflict:
1164
+ "This history step was skipped because it conflicts with the current presentation.",
1165
+ historyStepFailed:
1166
+ "This history step was skipped because it could not be applied.",
1167
+ textEditConflictNotSaved:
1168
+ "Your text edit wasn't saved because the same text was changed elsewhere at the same time.",
1169
+ },
1170
+ designSystemSetup: {
1171
+ importedBrand: "Imported brand",
1172
+ figFileRequired:
1173
+ "Please choose a .fig file (in Figma: File > Save local copy).",
1174
+ figFileTooLarge: "File too large (max {{maxSize}}).",
1175
+ figParseFailed: "Could not start Builder indexing for that Figma file.",
1176
+ updated: "Design system updated",
1177
+ otherSources: "Other",
1178
+ otherSourcesDescription:
1179
+ "Connect from a website, code, files, or an existing design system.",
1180
+ chooseSourcePrompt: "Choose one source to configure",
1181
+ updateFailed: "Failed to update",
1182
+ generationStarted: "Design system generation started",
1183
+ generationStartedDescription:
1184
+ "You can keep working while the agent processes the sources.",
1185
+ editTitle: "Edit Design System",
1186
+ newTitle: "New Design System",
1187
+ editDescription: "Update your brand identity.",
1188
+ newDescription:
1189
+ "Connect Figma, code, and optional design.md guidance through Builder DSI.",
1190
+ companyBrand: "Company / Brand",
1191
+ companyBrandPlaceholder: "Acme Inc. — We build developer tools...",
1192
+ figmaFile: "Connect Figma",
1193
+ parsingFigmaFile: "Starting Builder DSI indexing...",
1194
+ uploadFigDescription: "Upload a .fig local copy for Builder DSI",
1195
+ builderIndexingStarted: "Builder indexing started",
1196
+ builderIndexingDescription:
1197
+ "Builder is indexing {{title}} into a reusable design system.",
1198
+ builderDesignSystemId: "Design system",
1199
+ builderJobId: "Job",
1200
+ openInBuilder: "Open in Builder",
1201
+ decodeFailed: "Decoding failed: {{error}}",
1202
+ websiteUrl: "Website URL",
1203
+ websitePlaceholder: "example.com or Nike",
1204
+ add: "Add",
1205
+ githubRepository: "Connect Code: GitHub repository",
1206
+ codeIndexingEnterpriseOnly:
1207
+ "Code and repository indexing requires the Builder Enterprise plan",
1208
+ githubRef: "Branch, tag, or commit (optional)",
1209
+ githubPaths: "Files or folders, comma-separated (optional)",
1210
+ codeFiles: "Connect Code Files",
1211
+ codeFilesDrop:
1212
+ "CSS, Tailwind config, theme files, design.md — drop or click",
1213
+ documents: "Documents & Presentations",
1214
+ documentsDrop: "PPTX, DOCX, PDF, Markdown, TXT — brand guides, design docs",
1215
+ visualReferences: "Screenshots & Visual References",
1216
+ visualReferencesDrop: "Product screenshots, mood boards, logos",
1217
+ forkExisting: "Fork an existing design system",
1218
+ brandNotes: "Brand Notes",
1219
+ additionalNotes: "Additional Notes",
1220
+ notesPlaceholder: "Design preferences, constraints, brand guidelines...",
1221
+ customInstructions: "Custom instructions",
1222
+ customInstructionsPlaceholder:
1223
+ "e.g. Always open with a single-stat title slide. Never use bullet lists longer than 3 items. Keep slide titles under 6 words...",
1224
+ customInstructionsDescription:
1225
+ "Saved with the design system. Re-applied every time the agent uses it to generate slides.",
1226
+ sourceLabel: "Source",
1227
+ sourceFigma: "Figma file",
1228
+ sourceCode: "Code files",
1229
+ sourceGitHub: "GitHub repository",
1230
+ sourceMixed: "Multiple sources",
1231
+ sourceBuilder: "Builder Design System Intelligence",
1232
+ sourceIndexingDescription:
1233
+ "Your brand style is still being prepared. Wait until it's ready, then try again.",
1234
+ sourceIndexedDescription: "{{docs}} docs · {{tokens}} tokens indexed",
1235
+ sourceIndexedDocsOnly: "{{docs}} docs indexed",
1236
+ sourceIndexedTokensOnly: "{{tokens}} tokens indexed",
1237
+ sourceUnavailableDescription:
1238
+ "Builder could not load the latest source results.",
1239
+ sourceOpenInBuilder: "Open in Builder",
1240
+ syncSource: "Sync source",
1241
+ syncingSource: "Syncing source...",
1242
+ syncStarted: "Design system sync started",
1243
+ syncFailed: "Could not sync design system",
1244
+ loading: "Loading design system",
1245
+ loadFailed: "We couldn't load this design system. Close and try again.",
1246
+ cancel: "Cancel",
1247
+ saving: "Saving...",
1248
+ saveChanges: "Save Changes",
1249
+ continueToGeneration: "Continue to generation",
1250
+ removeItem: "Remove {{item}}",
1251
+ chooseAnotherFile: "Choose another file",
1252
+ },
1253
+ home: {
1254
+ backToPrompt: "Back to prompt",
1255
+ importModeTitle: "Import {{source}}",
1256
+ chooseImportFile: "Choose a {{source}} file to open it as a deck.",
1257
+ uploadImportFile: "Upload {{source}}",
1258
+ importFromCopy: "Or {{source}}",
1259
+ googleDocImport: {
1260
+ pickerLoadFailed: "Could not load Google Picker.",
1261
+ pickerDidNotLoad: "Google Picker did not load.",
1262
+ pickerUnavailable: "Google Picker is unavailable.",
1263
+ pickerMissingDocument: "Google Picker returned no document.",
1264
+ pickerSelectTitle: "Choose a Google Doc",
1265
+ importFailedStatus: "Could not import Google Doc (HTTP {{status}}).",
1266
+ pickerOpenFailedStatus: "Could not open Google Picker (HTTP {{status}}).",
1267
+ importing: "Importing Google Doc",
1268
+ detected: "Google Doc detected",
1269
+ ready: "Ready as source material ({{count}} chars).",
1270
+ readyTruncated: "Ready as source material ({{count}} chars, truncated).",
1271
+ reading: "Reading the document text.",
1272
+ checkingAccess: "Checking access.",
1273
+ connecting: "Connecting",
1274
+ connect: "Connect Google Docs",
1275
+ chooseDifferent: "Choose a different doc",
1276
+ choose: "Choose doc",
1277
+ },
1278
+ fallbackSuggestions: {
1279
+ pitch: "Create a product pitch deck",
1280
+ roadmap: "Create a product roadmap",
1281
+ explainer: "Explain a topic in a presentation",
1282
+ },
1283
+ suggestedPrompts: "Suggested prompts",
1284
+ importMenu: {
1285
+ import: "Import",
1286
+ options: "Import options",
1287
+ invalidPdf: "Choose a PDF file.",
1288
+ invalidPptx: "Choose a PPTX file.",
1289
+ invalidFile: "Choose a PDF or PPTX file.",
1290
+ networkFailed:
1291
+ "The import request timed out or lost its network connection. Check your connection and retry.",
1292
+ notStarted: "Complete any required sign-in, then retry the import.",
1293
+ unsupportedFileType:
1294
+ "This file type isn't supported. Choose a supported file.",
1295
+ uploadLimitExceeded:
1296
+ "The upload exceeds a supported limit. Reduce the file size or choose fewer files, then retry.",
1297
+ },
1298
+ importDeck: "Import Deck",
1299
+ context: {
1300
+ websiteReference: "Add website",
1301
+ websiteUrlLabel: "Website URL",
1302
+ websiteUrl: "Paste a website URL",
1303
+ figmaUrlLabel: "Figma link",
1304
+ invalidFigmaUrl: "Enter a valid figma.com frame or file URL.",
1305
+ createSystem: "Create a design system",
1306
+ noSystems:
1307
+ "You don’t have a design system yet. Create one from website, files, or Figma.",
1308
+ searchSystems: "Search design systems…",
1309
+ searchFrames: "Search Figma frames…",
1310
+ searchDesigns: "Search designs…",
1311
+ searchPresentations: "Search presentations…",
1312
+ menu: {
1313
+ system: "Use a design system",
1314
+ figma: "Add Figma",
1315
+ design: "Reference a design",
1316
+ deck: "Reference a presentation",
1317
+ searchDesign: "Search design…",
1318
+ },
1319
+ loadFailed: "Couldn't load this reference. Try again.",
1320
+ saveFailed: "Couldn't save your context selection.",
1321
+ system: "Design systems",
1322
+ figmaUrl: "Paste a Figma link",
1323
+ browse: "Browse frames",
1324
+ empty: "No references found.",
1325
+ previous: "Previous",
1326
+ next: "Next",
1327
+ title: "Context",
1328
+ remove: "Remove reference",
1329
+ deck: "Presentations",
1330
+ design: "Design references",
1331
+ figma: "Figma frames",
1332
+ notReady:
1333
+ "Context is still loading or unavailable. Retry or remove it before sending.",
1334
+ emptySource: "This source returned no usable context.",
1335
+ websiteReadFailed:
1336
+ "This website couldn't be read automatically. Copy and paste the relevant text instead.",
1337
+ figmaReadFailed:
1338
+ "Design couldn't read this Figma reference. Check the saved Figma access token in Design and make sure its account can open the file, then try again.",
1339
+ tooMany: "Choose up to 20 references.",
1340
+ search: "Search references",
1341
+ designCategory: "Design",
1342
+ },
1343
+ quickStart: {
1344
+ invalidUrl: "Enter a valid HTTP or HTTPS URL.",
1345
+ starting: "Starting…",
1346
+ generate: "Generate",
1347
+ connectionRequired:
1348
+ "Connect an AI provider above the home prompt or add your own AI key, then try again.",
1349
+ invalidPdf: "Choose a PDF file.",
1350
+ notReady:
1351
+ "Review the prompt's loading or failed context and connection status, then try again.",
1352
+ tooLong: "Keep source text under 20,000 characters.",
1353
+ trends: {
1354
+ label: "Create a presentation on latest industry trends",
1355
+ field: "Industry or topic",
1356
+ prompt:
1357
+ "Research the latest trends for the supplied topic and create a presentation with current sources. Verify the information before generating.",
1358
+ },
1359
+ notes: {
1360
+ label: "Turn meeting notes into a presentation",
1361
+ field: "Meeting notes",
1362
+ prompt:
1363
+ "Turn the supplied meeting notes into a presentation covering key points, decisions, and next steps. Use the notes as source material.",
1364
+ },
1365
+ pdf: {
1366
+ label: "Summarize a PDF into key takeaways",
1367
+ field: "PDF file",
1368
+ prompt:
1369
+ "Read the attached PDF and create a presentation summarizing its key takeaways. Report unreadable content instead of guessing.",
1370
+ },
1371
+ website: {
1372
+ label: "Generate a deck from my company website",
1373
+ field: "Company website URL",
1374
+ prompt:
1375
+ "Read the supplied company website and create a presentation about the company. Report access failures instead of inventing facts.",
1376
+ },
1377
+ },
1378
+ connectBuilderIo: "Use Builder.io",
1379
+ connectingBuilder: "Setting up Builder.io…",
1380
+ recent: "Recent",
1381
+ starters: {
1382
+ pitch: {
1383
+ label: "Pitch deck",
1384
+ prompt: "Create a pitch deck about ",
1385
+ },
1386
+ update: {
1387
+ label: "Project update",
1388
+ prompt:
1389
+ "Create a project update covering progress, results, and next steps for ",
1390
+ },
1391
+ lesson: {
1392
+ label: "Teach a topic",
1393
+ prompt: "Create a presentation that explains ",
1394
+ },
1395
+ },
1396
+ loadFailed: "Couldn't load your content",
1397
+ loadFailedDescription:
1398
+ "Your saved content is still available. Check the connection and try again.",
1399
+ retry: "Retry",
1400
+ fileStorageStatusUnavailable:
1401
+ "Couldn't check object storage. Retry before uploading files.",
1402
+ fileStorageSetupRequired:
1403
+ "No object storage is connected. Use Builder.io (free) or add your own S3-compatible storage keys in Settings → File uploads.",
1404
+ decksTitle: "Decks",
1405
+ deckLengthQuestion: "How long should this deck be?",
1406
+ deckLengthHeader: "Deck length",
1407
+ deckLengthShort: "Short (3–5 slides)",
1408
+ deckLengthMedium: "Medium (6–10 slides)",
1409
+ deckLengthLong: "Long (11+ slides)",
1410
+ deckLengthSingleVisual: "Just one visual",
1411
+ generationStartFailed: "Couldn't start deck generation",
1412
+ generationStartFailedDescription:
1413
+ "The new deck did not finish saving, so the agent was not started against a missing deck. Your prompt was saved so you can try again.",
1414
+ generationContextUnavailableDescription:
1415
+ "We couldn't load the brand style or reference presentation you chose. Make sure you can open it and that your internet connection is working, then try again.",
1416
+ showAllDecks: "Show all decks",
1417
+ all: "All",
1418
+ showMineDecks: "Show decks created by me",
1419
+ mine: "Mine",
1420
+ ownedByAnyone: "Owned by anyone",
1421
+ ownedByMe: "Owned by me",
1422
+ sharedWithMe: "Shared with me",
1423
+ createDeckOrVisual: "Create a presentation",
1424
+ noMineDecks: "No decks created by you yet.",
1425
+ noDecksMatchSearch: "No decks match your search.",
1426
+ noDecksMatchFilter: "No decks match the current filter.",
1427
+ deleteDeckTitle: "Delete Deck?",
1428
+ deleteDeckDescription:
1429
+ "This will permanently delete this deck and all its slides. This action cannot be undone.",
1430
+ cancel: "Cancel",
1431
+ delete: "Delete",
1432
+ newDeckPromptTitle: "New presentation",
1433
+ newDeckPlaceholder: "Describe the presentation you want to generate...",
1434
+ skipPrompt: "Skip prompt",
1435
+ firstDeckPromptTitle: "Let's create your first presentation",
1436
+ firstDeckSkip: "Skip",
1437
+ chooseReferences: "Choose references",
1438
+ addDesignSystem: "+ Design system",
1439
+ importFrom: "Import from",
1440
+ referenceFileStorageUnavailable:
1441
+ "File storage is not configured. Use Builder.io or another file provider to import reference files.",
1442
+ attachedFiles: "Attached",
1443
+ imported: "Imported",
1444
+ importedReferenceDeck: "Imported reference deck",
1445
+ referenceImportSuccess: "Imported successfully",
1446
+ referenceImportSelected: '"{{title}}" is now the reference deck.',
1447
+ continue: "Continue",
1448
+ continueToGenerate: "Continue to generate",
1449
+ designSystem: "Design system",
1450
+ referenceDeck: "Reference deck",
1451
+ referenceDeckPlaceholder: "Match the style of an existing deck",
1452
+ referenceDeckNone: "Skip",
1453
+ referenceDeckStarredGroup: "Starred",
1454
+ referenceDeckOtherGroup: "Other decks",
1455
+ referenceReviewTitle: "Review references",
1456
+ referenceReviewDescription:
1457
+ "Keep the default design system and reference deck unless you remove them. Search for another deck, import a file, or continue when you're ready.",
1458
+ chooseAnotherDeck: "Choose another deck",
1459
+ noMatchingDecks: "No matching decks found.",
1460
+ googleSlidesImportLabel: "Slides",
1461
+ googleSlidesReferenceTitle: "Google Slides",
1462
+ googleSlidesReferenceConnect:
1463
+ "Connect Google Drive to import a Slides deck.",
1464
+ googleSlidesReferenceChoose: "Choose Google Slides deck",
1465
+ googleSlidesReferenceUrl: "Paste a Google Slides link",
1466
+ googleSlidesReferencePicking: "Working...",
1467
+ googleSlidesReferenceConnected:
1468
+ "Connected. Choose a Google Slides deck to import as a reusable reference.",
1469
+ googleSlidesReferenceUnavailable:
1470
+ "Connect Google Drive and configure Picker to import a Google Slides deck.",
1471
+ skipReferences: "Skip references",
1472
+ workspaceDefaultBadge: "Workspace default",
1473
+ setWorkspaceDefault: "Set as workspace default",
1474
+ clearWorkspaceDefault: "Clear workspace default",
1475
+ workspaceDefaultSet: "Set as the workspace default",
1476
+ workspaceDefaultCleared: "Workspace default cleared",
1477
+ duplicateFailed: "Couldn't duplicate that deck",
1478
+ workspaceDefaultFailed: "Couldn't update the workspace default",
1479
+ workspaceDefaultConfirmTitle: "Set as workspace default?",
1480
+ workspaceDefaultDeckShareBody:
1481
+ '"{{title}}" is private. Setting it as the workspace default shares it with every member of this workspace, and new decks will use it as their style reference. Members can select a different reference deck when they create a deck.',
1482
+ workspaceDefaultSystemShareBody:
1483
+ '"{{title}}" is private. Setting it as the workspace default shares it with every member of this workspace, and new decks will use it. Members who have set their own default keep it.',
1484
+ workspaceDefaultConfirmAction: "Set as default",
1485
+ starDeck: "Star deck",
1486
+ unstarDeck: "Unstar deck",
1487
+ none: "None",
1488
+ defaultSuffix: " (Default)",
1489
+ signInTitle: "Sign in to create a deck",
1490
+ signInDescription:
1491
+ "You need to sign in before generating a deck. We've saved your prompt — once you're back, it'll be ready to go.",
1492
+ signInDescriptionWithFiles:
1493
+ "You need to sign in before generating a deck. We've saved your prompt; reattach any files once you're back.",
1494
+ signIn: "Sign in",
1495
+ emptyTitle: "No decks yet",
1496
+ createFirstDeck: "Create your first deck",
1497
+ emptyDescription:
1498
+ "Build beautiful presentations with AI-powered generation.",
1499
+ },
1500
+ agentChat: {
1501
+ setup: {
1502
+ providerStatusUnavailable: "Couldn't confirm AI is ready.",
1503
+ },
1504
+ },
1505
+ };
1506
+
1507
+ export default messages;