@agent-native/core 0.90.1 → 0.90.2

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 (295) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +14 -0
  3. package/corpus/core/package.json +1 -1
  4. package/corpus/core/src/client/AgentPanel.tsx +1 -1
  5. package/corpus/core/src/client/rich-markdown-editor/useCollabReconcile.ts +11 -6
  6. package/corpus/core/src/client/use-action.ts +39 -2
  7. package/corpus/core/src/client/use-db-sync.ts +44 -18
  8. package/corpus/core/src/db/create-get-db.ts +32 -2
  9. package/corpus/core/src/server/framework-request-handler.ts +52 -4
  10. package/corpus/templates/assets/.agents/skills/asset-generation/SKILL.md +5 -0
  11. package/corpus/templates/assets/.agents/skills/logo-composite/SKILL.md +34 -6
  12. package/corpus/templates/assets/AGENTS.md +23 -4
  13. package/corpus/templates/assets/actions/_generation-preset-settings.ts +48 -0
  14. package/corpus/templates/assets/actions/_helpers.ts +8 -1
  15. package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +64 -0
  16. package/corpus/templates/assets/actions/create-generation-preset.ts +11 -3
  17. package/corpus/templates/assets/actions/generate-image-batch.ts +7 -2
  18. package/corpus/templates/assets/actions/generate-image.ts +342 -25
  19. package/corpus/templates/assets/actions/get-library.ts +4 -3
  20. package/corpus/templates/assets/actions/navigate.ts +2 -1
  21. package/corpus/templates/assets/actions/refresh-generation-run.ts +5 -1
  22. package/corpus/templates/assets/actions/update-asset.ts +1 -0
  23. package/corpus/templates/assets/actions/update-generation-preset.ts +8 -1
  24. package/corpus/templates/assets/actions/view-screen.ts +8 -1
  25. package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +9 -1
  26. package/corpus/templates/assets/app/hooks/use-image-model-menu.ts +1 -0
  27. package/corpus/templates/assets/app/hooks/use-navigation-state.ts +11 -0
  28. package/corpus/templates/assets/app/i18n/zh-TW.ts +64 -0
  29. package/corpus/templates/assets/app/i18n-data.ts +650 -0
  30. package/corpus/templates/assets/app/routes/asset.$id.tsx +2 -1
  31. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +44 -33
  32. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +1474 -0
  33. package/corpus/templates/assets/app/routes/library.tsx +43 -1
  34. package/corpus/templates/assets/server/lib/generation.ts +366 -44
  35. package/corpus/templates/assets/server/lib/image-processing.ts +252 -0
  36. package/corpus/templates/assets/server/lib/preset-skeleton.ts +137 -0
  37. package/corpus/templates/assets/shared/api.ts +47 -0
  38. package/corpus/templates/clips/app/components/library/library-layout.tsx +7 -2
  39. package/corpus/templates/clips/app/components/library/sort-menu.tsx +1 -1
  40. package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +114 -33
  41. package/corpus/templates/clips/app/routes/_app.library._index.tsx +27 -1
  42. package/corpus/templates/clips/app/routes/record.tsx +157 -68
  43. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +5 -5
  44. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +20 -3
  45. package/corpus/templates/clips/shared/finalize-recovery.ts +23 -3
  46. package/corpus/templates/content/AGENTS.md +52 -52
  47. package/corpus/templates/content/actions/_builder-cms-read-client.ts +188 -8
  48. package/corpus/templates/content/actions/_builder-docs-client.ts +41 -3
  49. package/corpus/templates/content/actions/_database-source-utils.ts +998 -160
  50. package/corpus/templates/content/actions/_database-utils.ts +44 -4
  51. package/corpus/templates/content/actions/_notion-action-utils.ts +6 -2
  52. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +23 -1
  53. package/corpus/templates/content/actions/attach-content-database-source.ts +85 -12
  54. package/corpus/templates/content/actions/change-content-database-source-role.ts +9 -1
  55. package/corpus/templates/content/actions/delete-content-database.ts +1 -0
  56. package/corpus/templates/content/actions/get-document.ts +11 -2
  57. package/corpus/templates/content/actions/list-content-databases.ts +57 -9
  58. package/corpus/templates/content/actions/prepare-builder-source-review.ts +23 -6
  59. package/corpus/templates/content/actions/refresh-content-database-source.ts +26 -3
  60. package/corpus/templates/content/actions/restore-content-database.ts +1 -0
  61. package/corpus/templates/content/actions/update-document.ts +43 -0
  62. package/corpus/templates/content/app/components/editor/BuilderBodySyncingNotice.tsx +21 -0
  63. package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +0 -1
  64. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +70 -28
  65. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +69 -17
  66. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +4 -4
  67. package/corpus/templates/content/app/components/editor/body-hydration.ts +112 -0
  68. package/corpus/templates/content/app/components/editor/builder-body-hydration-pump.ts +52 -0
  69. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +9076 -2876
  70. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +41 -1
  71. package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +36 -11
  72. package/corpus/templates/content/app/components/editor/previewDocumentSaveController.ts +21 -1
  73. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -1
  74. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +11 -8
  75. package/corpus/templates/content/app/global.css +41 -0
  76. package/corpus/templates/content/app/hooks/use-content-database.ts +346 -42
  77. package/corpus/templates/content/app/hooks/use-db-sync.ts +9 -0
  78. package/corpus/templates/content/app/hooks/use-documents.ts +47 -0
  79. package/corpus/templates/content/app/hooks/use-notion.ts +12 -10
  80. package/corpus/templates/content/app/i18n/zh-TW.ts +35 -0
  81. package/corpus/templates/content/app/i18n-data.ts +355 -0
  82. package/corpus/templates/content/app/root.tsx +22 -0
  83. package/corpus/templates/content/changelog/2026-07-01-builder-database-sources-keep-loading-rows-in-the-background.md +6 -0
  84. package/corpus/templates/content/changelog/2026-07-01-builder-source-attach-starts-with-usable-rows.md +6 -0
  85. package/corpus/templates/content/changelog/2026-07-01-builder-source-attachment-now-stays-connected-after-large.md +6 -0
  86. package/corpus/templates/content/changelog/2026-07-01-builder-source-refreshes-now-show-progress-for-large-docs-blog.md +6 -0
  87. package/corpus/templates/content/changelog/2026-07-01-database-pages-now-delete-to-trash-without-route-errors.md +6 -0
  88. package/corpus/templates/content/changelog/2026-07-02-builder-source-refreshes-recover-from-stalled-background-row.md +6 -0
  89. package/corpus/templates/content/changelog/2026-07-02-builder-sourced-rows-open-with-sync-protection.md +6 -0
  90. package/corpus/templates/content/changelog/2026-07-02-database-rows-and-pages-open-faster-from-recently-loaded-dat.md +6 -0
  91. package/corpus/templates/content/changelog/2026-07-02-preview-panels-close-reliably-narrow-sidebar-row-actions-sta.md +6 -0
  92. package/corpus/templates/content/changelog/2026-07-06-builder-sync-progress-no-longer-shows-continue.md +6 -0
  93. package/corpus/templates/content/shared/api.ts +13 -0
  94. package/corpus/templates/content/shared/builder-mdx.ts +16 -3
  95. package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +23 -13
  96. package/corpus/templates/design/.agents/skills/responsive-breakpoints/SKILL.md +98 -0
  97. package/corpus/templates/design/.agents/skills/shader-fills/SKILL.md +162 -0
  98. package/corpus/templates/design/AGENTS.md +9 -2
  99. package/corpus/templates/design/actions/add-breakpoint.ts +6 -3
  100. package/corpus/templates/design/actions/apply-a11y-fix.ts +57 -37
  101. package/corpus/templates/design/actions/apply-component-prop-edit.ts +41 -20
  102. package/corpus/templates/design/actions/apply-motion-edit.ts +251 -38
  103. package/corpus/templates/design/actions/apply-shader-fill.ts +90 -66
  104. package/corpus/templates/design/actions/apply-visual-edit.ts +282 -55
  105. package/corpus/templates/design/actions/create-component.ts +29 -60
  106. package/corpus/templates/design/actions/create-file.ts +9 -2
  107. package/corpus/templates/design/actions/duplicate-design.ts +31 -2
  108. package/corpus/templates/design/actions/edit-design.ts +36 -38
  109. package/corpus/templates/design/actions/generate-design-title.ts +87 -0
  110. package/corpus/templates/design/actions/generate-design.ts +53 -18
  111. package/corpus/templates/design/actions/generate-screens.ts +108 -4
  112. package/corpus/templates/design/actions/get-motion-timeline.ts +35 -7
  113. package/corpus/templates/design/actions/insert-asset.ts +34 -29
  114. package/corpus/templates/design/actions/insert-design-native-asset.ts +129 -32
  115. package/corpus/templates/design/actions/insert-figma-library-asset.ts +35 -30
  116. package/corpus/templates/design/actions/present-design-variants.ts +7 -2
  117. package/corpus/templates/design/actions/remove-motion-timeline.ts +31 -36
  118. package/corpus/templates/design/actions/update-file.ts +190 -75
  119. package/corpus/templates/design/app/components/design/BreakpointBar.tsx +403 -0
  120. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +469 -222
  121. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +708 -53
  122. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +83 -3
  123. package/corpus/templates/design/app/components/design/EditPanel.tsx +1091 -6948
  124. package/corpus/templates/design/app/components/design/LayersPanel.tsx +419 -85
  125. package/corpus/templates/design/app/components/design/MotionDock.tsx +1124 -103
  126. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +2610 -1398
  127. package/corpus/templates/design/app/components/design/ReadOnlyDesignBanner.tsx +22 -0
  128. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +2182 -235
  129. package/corpus/templates/design/app/components/design/bridge/motion-preview.bridge.ts +187 -11
  130. package/corpus/templates/design/app/components/design/bridge/shader-fill-preview.bridge.ts +376 -1
  131. package/corpus/templates/design/app/components/design/bridge/shader-runtime.bridge.ts +746 -0
  132. package/corpus/templates/design/app/components/design/canvas-primitive-style.ts +17 -0
  133. package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +1 -1
  134. package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +1 -3
  135. package/corpus/templates/design/app/components/design/code-workbench/quickinput/QuickInput.tsx +1 -1
  136. package/corpus/templates/design/app/components/design/edit-panel/appearance-properties.tsx +518 -0
  137. package/corpus/templates/design/app/components/design/edit-panel/code-inspect-helpers.tsx +562 -0
  138. package/corpus/templates/design/app/components/design/edit-panel/component-section.tsx +763 -0
  139. package/corpus/templates/design/app/components/design/edit-panel/document-colors.ts +94 -0
  140. package/corpus/templates/design/app/components/design/edit-panel/effects-properties.tsx +780 -0
  141. package/corpus/templates/design/app/components/design/edit-panel/element-classification.ts +446 -0
  142. package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +79 -0
  143. package/corpus/templates/design/app/components/design/edit-panel/field-primitives.tsx +315 -0
  144. package/corpus/templates/design/app/components/design/edit-panel/fill-gradient-helpers.ts +344 -0
  145. package/corpus/templates/design/app/components/design/edit-panel/fill-properties.tsx +594 -0
  146. package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +119 -0
  147. package/corpus/templates/design/app/components/design/edit-panel/inspector-controls.tsx +248 -0
  148. package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +45 -0
  149. package/corpus/templates/design/app/components/design/edit-panel/layout-properties.tsx +693 -0
  150. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +724 -0
  151. package/corpus/templates/design/app/components/design/edit-panel/position-helpers.ts +207 -0
  152. package/corpus/templates/design/app/components/design/edit-panel/position-layout-properties.tsx +628 -0
  153. package/corpus/templates/design/app/components/design/edit-panel/selection-helpers.ts +91 -0
  154. package/corpus/templates/design/app/components/design/edit-panel/stroke-properties.tsx +649 -0
  155. package/corpus/templates/design/app/components/design/edit-panel/style-change-types.ts +118 -0
  156. package/corpus/templates/design/app/components/design/edit-panel/style-options.ts +88 -0
  157. package/corpus/templates/design/app/components/design/edit-panel/transform-helpers.ts +100 -0
  158. package/corpus/templates/design/app/components/design/edit-panel/typography-helpers.ts +117 -0
  159. package/corpus/templates/design/app/components/design/edit-panel/typography-properties.tsx +501 -0
  160. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +91 -40
  161. package/corpus/templates/design/app/components/design/inspector/BreakpointOverrideIndicator.tsx +82 -0
  162. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +189 -87
  163. package/corpus/templates/design/app/components/design/inspector/GlslShaderPanel.tsx +1097 -0
  164. package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +44 -0
  165. package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +258 -0
  166. package/corpus/templates/design/app/components/design/inspector/MotionKeyframeDiamond.tsx +144 -0
  167. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +99 -9
  168. package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +116 -0
  169. package/corpus/templates/design/app/components/design/inspector/index.ts +26 -0
  170. package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +29 -0
  171. package/corpus/templates/design/app/components/design/multi-screen/alt-hover-measurement.ts +171 -0
  172. package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +220 -0
  173. package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +35 -0
  174. package/corpus/templates/design/app/components/design/multi-screen/cross-screen-drop.ts +134 -0
  175. package/corpus/templates/design/app/components/design/multi-screen/culling.ts +185 -0
  176. package/corpus/templates/design/app/components/design/multi-screen/gradient-overlay-geometry.ts +120 -0
  177. package/corpus/templates/design/app/components/design/multi-screen/types.ts +892 -0
  178. package/corpus/templates/design/app/components/design/multi-screen/vector-edit-geometry.ts +21 -0
  179. package/corpus/templates/design/app/components/design/types.ts +15 -0
  180. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +109 -5
  181. package/corpus/templates/design/app/global.css +8 -8
  182. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +259 -2
  183. package/corpus/templates/design/app/i18n/zh-TW.ts +163 -9
  184. package/corpus/templates/design/app/i18n-breakpoints.ts +205 -0
  185. package/corpus/templates/design/app/i18n-data.ts +1664 -152
  186. package/corpus/templates/design/app/i18n-motion.ts +563 -0
  187. package/corpus/templates/design/app/lib/design-import.ts +73 -0
  188. package/corpus/templates/design/app/pages/Index.tsx +41 -22
  189. package/corpus/templates/design/changelog/2026-06-29-design-inspector-controls-now-match-figmas-softer-dark-chrome.md +1 -1
  190. package/corpus/templates/design/changelog/2026-06-30-design-now-has-a-figma-style-left-rail-for-file-agent-assets.md +1 -1
  191. package/corpus/templates/design/changelog/2026-06-30-design-tools-now-use-a-quieter-figma-style-list-layout.md +1 -1
  192. package/corpus/templates/design/changelog/2026-06-30-multi-select-outlines-now-stay-consistent-across-all-screens.md +1 -1
  193. package/corpus/templates/design/changelog/2026-07-03-canvas-interactions-now-match-figma-rotation-aware-resizing-.md +1 -1
  194. package/corpus/templates/design/changelog/2026-07-03-layers-panel-matches-figma-top-layer-on-top-drag-with-auto-s.md +1 -1
  195. package/corpus/templates/design/changelog/2026-07-05-designs-get-ai-generated-names-from-your-prompt.md +6 -0
  196. package/corpus/templates/design/changelog/2026-07-05-local-code-screens-keep-their-connection-when-duplicated-and.md +6 -0
  197. package/corpus/templates/design/changelog/2026-07-05-press-a-to-draw-screens-on-the-canvas-inside-a-screen-it-dr.md +6 -0
  198. package/corpus/templates/design/changelog/2026-07-06-3d-rotation-and-perspective-controls-on-every-element.md +6 -0
  199. package/corpus/templates/design/changelog/2026-07-06-ai-generated-and-duplicated-screens-now-get-their-editor-sel.md +6 -0
  200. package/corpus/templates/design/changelog/2026-07-06-applying-shaders-and-fills-in-quick-succession-can-no-longer.md +6 -0
  201. package/corpus/templates/design/changelog/2026-07-06-breakpoint-frames-in-the-overview-now-support-click-to-selec.md +6 -0
  202. package/corpus/templates/design/changelog/2026-07-06-breakpoint-segments-in-the-inspector-now-show-a-device-icon-.md +6 -0
  203. package/corpus/templates/design/changelog/2026-07-06-breakpoint-targeting-now-lives-in-one-compact-control-in-the.md +6 -0
  204. package/corpus/templates/design/changelog/2026-07-06-canvas-edits-can-no-longer-be-overwritten-by-stale-collabora.md +6 -0
  205. package/corpus/templates/design/changelog/2026-07-06-canvas-edits-inside-screens-save-reliably-again.md +6 -0
  206. package/corpus/templates/design/changelog/2026-07-06-cleaner-inspector-removed-the-ask-ai-box-from-the-design-tab.md +6 -0
  207. package/corpus/templates/design/changelog/2026-07-06-clicking-empty-canvas-space-now-deselects-an-element-inside-.md +6 -0
  208. package/corpus/templates/design/changelog/2026-07-06-dragging-an-element-onto-a-rectangle-now-nests-it-inside-wit.md +6 -0
  209. package/corpus/templates/design/changelog/2026-07-06-dragging-screens-and-objects-on-the-canvas-is-now-much-smoot.md +6 -0
  210. package/corpus/templates/design/changelog/2026-07-06-drawing-a-shape-or-text-on-the-canvas-no-longer-flashes-away.md +6 -0
  211. package/corpus/templates/design/changelog/2026-07-06-dropping-an-element-between-two-others-inside-a-screen-now-s.md +6 -0
  212. package/corpus/templates/design/changelog/2026-07-06-duplicating-a-screen-now-places-the-copy-exactly-where-you-d.md +6 -0
  213. package/corpus/templates/design/changelog/2026-07-06-edit-gradients-directly-on-elements-inside-screens-scale-str.md +6 -0
  214. package/corpus/templates/design/changelog/2026-07-06-edits-from-collaborators-and-the-agent-now-update-the-canvas.md +6 -0
  215. package/corpus/templates/design/changelog/2026-07-06-fixed-a-bug-where-most-style-position-and-text-edits-briefly.md +6 -0
  216. package/corpus/templates/design/changelog/2026-07-06-fixed-a-confusing-raw-error-message-when-a-file-upload-fails.md +6 -0
  217. package/corpus/templates/design/changelog/2026-07-06-fixed-a-rare-case-where-an-edit-could-be-silently-overwritte.md +6 -0
  218. package/corpus/templates/design/changelog/2026-07-06-fixed-inserted-assets-sometimes-disappearing-reappearing-or-.md +6 -0
  219. package/corpus/templates/design/changelog/2026-07-06-fixed-inspector-value-scrubbing-producing-erratic-numbers-an.md +6 -0
  220. package/corpus/templates/design/changelog/2026-07-06-fixed-padding-gap-and-min-max-size-scrubbing-not-updating-th.md +6 -0
  221. package/corpus/templates/design/changelog/2026-07-06-fixed-text-stroke-color-turning-black-and-glyphs-disappearin.md +6 -0
  222. package/corpus/templates/design/changelog/2026-07-06-fixed-the-collapsed-effects-and-stroke-inspector-sections-sh.md +6 -0
  223. package/corpus/templates/design/changelog/2026-07-06-fixed-the-new-design-dialog-closing-unexpectedly-when-using-.md +6 -0
  224. package/corpus/templates/design/changelog/2026-07-06-fixed-the-typography-section-missing-when-selecting-text-nes.md +6 -0
  225. package/corpus/templates/design/changelog/2026-07-06-full-view-no-longer-flashes-back-to-the-overview-on-entry-no.md +6 -0
  226. package/corpus/templates/design/changelog/2026-07-06-keyframe-animation-timeline-per-property-keyframes-easing-cu.md +6 -0
  227. package/corpus/templates/design/changelog/2026-07-06-moving-restyling-and-scrubbing-values-on-elements-in-ai-gene.md +6 -0
  228. package/corpus/templates/design/changelog/2026-07-06-padding-and-corner-radius-value-scrubbing-now-snaps-to-whole.md +6 -0
  229. package/corpus/templates/design/changelog/2026-07-06-padding-handles-now-only-resize-on-the-handle-line-itself-sh.md +6 -0
  230. package/corpus/templates/design/changelog/2026-07-06-preview-and-edit-hover-focus-and-pressed-states-with-real-cs.md +6 -0
  231. package/corpus/templates/design/changelog/2026-07-06-promoting-an-element-to-a-component-now-works-correctly-for-.md +6 -0
  232. package/corpus/templates/design/changelog/2026-07-06-reduced-url-history-churn-and-selection-overlay-flicker-whil.md +6 -0
  233. package/corpus/templates/design/changelog/2026-07-06-removed-the-decorative-dot-before-screen-names-in-the-overvi.md +6 -0
  234. package/corpus/templates/design/changelog/2026-07-06-responsive-breakpoints-edit-at-any-width-with-cascading-over.md +6 -0
  235. package/corpus/templates/design/changelog/2026-07-06-screen-labels-no-longer-turn-blue-when-you-hover-inside-the-.md +6 -0
  236. package/corpus/templates/design/changelog/2026-07-06-scrolling-a-screen-with-an-element-selected-stays-smooth-on-.md +6 -0
  237. package/corpus/templates/design/changelog/2026-07-06-selecting-multiple-elements-and-dragging-now-moves-the-whole.md +6 -0
  238. package/corpus/templates/design/changelog/2026-07-06-selection-borders-handles-and-value-readouts-now-stay-the-sa.md +6 -0
  239. package/corpus/templates/design/changelog/2026-07-06-selection-handles-and-editing-chrome-now-stay-a-constant-siz.md +6 -0
  240. package/corpus/templates/design/changelog/2026-07-06-shader-fills-and-effects-ai-authored-or-preset-glsl-shaders-.md +6 -0
  241. package/corpus/templates/design/changelog/2026-07-06-text-drawn-on-the-canvas-now-defaults-to-white-and-inter-in-.md +6 -0
  242. package/corpus/templates/design/changelog/2026-07-06-text-dropped-into-a-shape-now-stays-readable-instead-of-disa.md +6 -0
  243. package/corpus/templates/design/changelog/2026-07-06-the-add-tweak-controls-prompt-no-longer-jumps-to-the-corner-.md +6 -0
  244. package/corpus/templates/design/changelog/2026-07-06-the-padding-value-readout-now-stays-visible-while-you-hover-.md +6 -0
  245. package/corpus/templates/design/changelog/2026-07-06-the-selected-element-attachment-now-clears-from-the-chat-com.md +6 -0
  246. package/corpus/templates/design/changelog/2026-07-06-the-zoom-menu-is-more-compact-with-tight-rows-and-right-alig.md +6 -0
  247. package/corpus/templates/design/changelog/2026-07-06-undo-and-redo-no-longer-flash-the-screen-changes-now-apply-i.md +6 -0
  248. package/corpus/templates/design/changelog/2026-07-06-zoom-presets-like-zoom-to-50-now-stay-on-the-focused-screen-.md +6 -0
  249. package/corpus/templates/design/server/lib/import-design-files.ts +11 -2
  250. package/corpus/templates/design/server/source-workspace.ts +139 -59
  251. package/corpus/templates/design/shared/board-file.ts +11 -2
  252. package/corpus/templates/design/shared/breakpoint-media.ts +543 -0
  253. package/corpus/templates/design/shared/canvas-math.ts +354 -35
  254. package/corpus/templates/design/shared/code-layer.ts +277 -8
  255. package/corpus/templates/design/shared/design-state.ts +11 -4
  256. package/corpus/templates/design/shared/interaction-states.ts +548 -0
  257. package/corpus/templates/design/shared/motion-compiler.ts +186 -23
  258. package/corpus/templates/design/shared/motion-easing.ts +294 -0
  259. package/corpus/templates/design/shared/motion-timeline.ts +400 -34
  260. package/corpus/templates/design/shared/prompt-title.ts +95 -0
  261. package/corpus/templates/design/shared/responsive-classes.ts +448 -10
  262. package/corpus/templates/design/shared/screen-annotation.ts +46 -0
  263. package/corpus/templates/design/shared/shader-fills.ts +1009 -0
  264. package/corpus/templates/design/shared/shader-presets.ts +852 -4
  265. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +15 -2
  266. package/corpus/templates/slides/app/components/editor/ImportButton.tsx +10 -1
  267. package/corpus/templates/slides/app/lib/upload-response.ts +71 -0
  268. package/dist/client/AgentPanel.js +1 -1
  269. package/dist/client/AgentPanel.js.map +1 -1
  270. package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -1
  271. package/dist/client/rich-markdown-editor/useCollabReconcile.js +11 -6
  272. package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -1
  273. package/dist/client/use-action.d.ts +3 -0
  274. package/dist/client/use-action.d.ts.map +1 -1
  275. package/dist/client/use-action.js +34 -3
  276. package/dist/client/use-action.js.map +1 -1
  277. package/dist/client/use-db-sync.d.ts +4 -0
  278. package/dist/client/use-db-sync.d.ts.map +1 -1
  279. package/dist/client/use-db-sync.js +37 -18
  280. package/dist/client/use-db-sync.js.map +1 -1
  281. package/dist/collab/routes.d.ts +1 -1
  282. package/dist/collab/struct-routes.d.ts +1 -1
  283. package/dist/db/create-get-db.d.ts +25 -0
  284. package/dist/db/create-get-db.d.ts.map +1 -1
  285. package/dist/db/create-get-db.js +25 -2
  286. package/dist/db/create-get-db.js.map +1 -1
  287. package/dist/observability/routes.d.ts +3 -3
  288. package/dist/secrets/routes.d.ts +9 -9
  289. package/dist/server/framework-request-handler.d.ts.map +1 -1
  290. package/dist/server/framework-request-handler.js +37 -1
  291. package/dist/server/framework-request-handler.js.map +1 -1
  292. package/package.json +1 -1
  293. package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +0 -153
  294. package/corpus/templates/design/app/hooks/useAgentEditRequest.ts +0 -133
  295. package/corpus/templates/design/app/pages/DesignEditor.tsx +0 -22924
@@ -131,6 +131,44 @@ const brandKitDetailEnUS = {
131
131
  compositeCanonicalLogo: "Composite canonical logo",
132
132
  compositeCanonicalLogoHint:
133
133
  "Stamps this kit's canonical logo onto every image from this preset. Requires a canonical logo.",
134
+ presetSkeleton: "Preset skeleton",
135
+ presetSkeletonHint:
136
+ "Composite generations onto an uploaded brand background image owned by this preset.",
137
+ contentMode: "Content mode",
138
+ contentModeFill: "Fill",
139
+ contentModeCutout: "Cutout",
140
+ skeletonImage: "Skeleton image",
141
+ skeletonImageHint:
142
+ "Use a brand background image as the reusable plate for this preset.",
143
+ uploadSkeletonImage: "Upload skeleton image",
144
+ uploadingSkeletonImage: "Uploading...",
145
+ chooseSkeletonImage: "Choose from library",
146
+ noSkeletonImage: "No skeleton image",
147
+ skeletonImageRequired: "Choose or upload a skeleton image before saving.",
148
+ skeletonImageUploaded: "Skeleton image uploaded.",
149
+ couldNotUploadSkeletonImage: "Could not upload skeleton image.",
150
+ skeletonMask: "Editable area mask",
151
+ skeletonMaskHint:
152
+ "Optional for gpt-image-2 cutouts. Transparent pixels mark where the subject may be painted; leave plate content opaque to preserve it.",
153
+ uploadSkeletonMask: "Upload mask",
154
+ uploadingSkeletonMask: "Uploading...",
155
+ chooseSkeletonMask: "Choose mask from library",
156
+ noSkeletonMask: "No mask",
157
+ skeletonMaskUploaded: "Skeleton mask uploaded.",
158
+ couldNotUploadSkeletonMask: "Could not upload skeleton mask.",
159
+ contactShadow: "Contact shadow",
160
+ contactShadowHint:
161
+ "Adds a soft grounding shadow under transparent cutout subjects.",
162
+ placeLogoInSkeleton: "Place logo in skeleton",
163
+ placeLogoInSkeletonHint:
164
+ "Let the skeleton own the canonical logo so it is not stamped twice.",
165
+ logoPlacement: "Logo placement",
166
+ upperRight: "Upper right",
167
+ upperLeft: "Upper left",
168
+ lowerRight: "Lower right",
169
+ lowerLeft: "Lower left",
170
+ skeletonEnabled: "Enabled",
171
+ skeletonOff: "Off",
134
172
  openChat: "Open chat",
135
173
  defaultTextPolicy:
136
174
  "Prefer no embedded text. Keep any requested text short and readable.",
@@ -147,15 +185,43 @@ const brandKitDetailEnUS = {
147
185
  generationPresetDeleted: "Generation preset deleted.",
148
186
  couldNotDeletePreset: "Could not delete preset.",
149
187
  delete: "Delete",
188
+ edit: "Edit",
189
+ backToLibrary: "Back to library",
190
+ backToSettings: "Back to settings",
150
191
  newGenerationPreset: "New generation preset",
151
192
  newGenerationPresetDescription:
152
193
  "Save the output format, aspect ratio, and text rules for repeated image work.",
194
+ editGenerationPreset: "Edit generation preset",
195
+ editGenerationPresetDescription:
196
+ "Tune the reusable rules the agent applies when this preset is tagged for image generation.",
197
+ generationPresetSaved: "Generation preset saved.",
198
+ couldNotSavePreset: "Could not save preset.",
199
+ presetUnavailableTitle: "Preset unavailable",
200
+ presetUnavailableDescription:
201
+ "This preset may have been deleted, or you may no longer have access to its brand kit.",
202
+ readOnly: "Read-only",
203
+ viewerModeTitle: "Viewer access",
204
+ viewerModeDescription:
205
+ "You can inspect this preset, but only editors can save changes or delete it.",
153
206
  name: "Name",
207
+ description: "Description",
208
+ presetDescriptionPlaceholder:
209
+ "What this preset is for, where it should be used, or what makes it different.",
154
210
  category: "Category",
155
211
  aspectRatio: "Aspect ratio",
212
+ imageSize: "Image size",
213
+ referencePolicy: "Reference policy",
214
+ collection: "Collection",
215
+ noCollection: "No collection",
216
+ sortOrder: "Sort order",
156
217
  promptTemplate: "Prompt template",
157
218
  promptTemplatePlaceholder: "Create a social post visual about {{prompt}}...",
158
219
  textPolicy: "Text policy",
220
+ showAdvancedOptions: "Show advanced options",
221
+ hideAdvancedOptions: "Hide advanced options",
222
+ presetSummary: "Preset summary",
223
+ saving: "Saving...",
224
+ saveChanges: "Save changes",
159
225
  create: "Create",
160
226
  video: "Video",
161
227
  previewUnavailable: "Preview unavailable",
@@ -582,6 +648,7 @@ const enUS = {
582
648
  routeTitles: {
583
649
  brandKits: "Brand Kits - Assets",
584
650
  library: "Library - Assets",
651
+ generationPreset: "Generation preset - Assets",
585
652
  extension: "Extension - Assets",
586
653
  extensions: "Extensions - Assets",
587
654
  team: "Team - Assets",
@@ -603,6 +670,7 @@ const enUS = {
603
670
  asset: "Asset",
604
671
  contentOnly: "content only",
605
672
  styleReference: "style reference",
673
+ skeletonPlate: "skeleton plate",
606
674
  video: "Video",
607
675
  dimensions: "Dimensions",
608
676
  folder: "Folder",
@@ -975,6 +1043,44 @@ const brandKitDetailArSA = {
975
1043
  compositeCanonicalLogo: "الشعار الأساسي المركب",
976
1044
  compositeCanonicalLogoHint:
977
1045
  "يضيف الشعار الأساسي لهذه المجموعة إلى كل صورة تُنشأ بهذا الإعداد المسبق. يتطلب وجود شعار أساسي.",
1046
+ presetSkeleton: "هيكل الإعداد المسبق",
1047
+ presetSkeletonHint:
1048
+ "يركب الصور المولدة فوق صورة خلفية علامة تجارية مرفوعة يملكها هذا الإعداد.",
1049
+ contentMode: "وضع المحتوى",
1050
+ contentModeFill: "ملء",
1051
+ contentModeCutout: "قص",
1052
+ skeletonImage: "صورة الهيكل",
1053
+ skeletonImageHint:
1054
+ "استخدم صورة خلفية العلامة التجارية كلوحة قابلة لإعادة الاستخدام لهذا الإعداد.",
1055
+ uploadSkeletonImage: "تحميل صورة الهيكل",
1056
+ uploadingSkeletonImage: "جار التحميل...",
1057
+ chooseSkeletonImage: "اختر من المكتبة",
1058
+ noSkeletonImage: "لا توجد صورة هيكل",
1059
+ skeletonImageRequired: "اختر أو حمّل صورة هيكل قبل الحفظ.",
1060
+ skeletonImageUploaded: "تم تحميل صورة الهيكل.",
1061
+ couldNotUploadSkeletonImage: "تعذر تحميل صورة الهيكل.",
1062
+ skeletonMask: "قناع المنطقة القابلة للتحرير",
1063
+ skeletonMaskHint:
1064
+ "اختياري لقصاصات gpt-image-2. تحدد البكسلات الشفافة موضع رسم العنصر؛ اترك محتوى اللوحة معتما للحفاظ عليه.",
1065
+ uploadSkeletonMask: "تحميل القناع",
1066
+ uploadingSkeletonMask: "جار التحميل...",
1067
+ chooseSkeletonMask: "اختر قناعا من المكتبة",
1068
+ noSkeletonMask: "لا يوجد قناع",
1069
+ skeletonMaskUploaded: "تم تحميل قناع الهيكل.",
1070
+ couldNotUploadSkeletonMask: "تعذر تحميل قناع الهيكل.",
1071
+ contactShadow: "ظل التلامس",
1072
+ contactShadowHint:
1073
+ "يضيف ظلا ناعما تحت العناصر المقصوصة الشفافة لتثبيتها بصريا.",
1074
+ placeLogoInSkeleton: "ضع الشعار في الهيكل",
1075
+ placeLogoInSkeletonHint:
1076
+ "اجعل الهيكل يملك الشعار الأساسي حتى لا يتم ختمه مرتين.",
1077
+ logoPlacement: "موضع الشعار",
1078
+ upperRight: "أعلى اليمين",
1079
+ upperLeft: "أعلى اليسار",
1080
+ lowerRight: "أسفل اليمين",
1081
+ lowerLeft: "أسفل اليسار",
1082
+ skeletonEnabled: "مفعل",
1083
+ skeletonOff: "متوقف",
978
1084
  couldNotAddSelectedToReferences: "لا يمكن إضافة الأصول المحددة إلى المراجع.",
979
1085
  couldNotAddToReferences: "لا يمكن إضافة الأصل إلى المراجع.",
980
1086
  couldNotArchiveBrandKit: "تعذر أرشفة مجموعة العلامة التجارية.",
@@ -1031,12 +1137,37 @@ const brandKitDetailArSA = {
1031
1137
  dropToUpload: "أسقط للتحميل",
1032
1138
  duplicating: "تكرار...",
1033
1139
  editBrandKit: "تحرير اسم مجموعة العلامة التجارية ووصفها",
1140
+ backToLibrary: "العودة إلى المكتبة",
1141
+ backToSettings: "العودة إلى الإعدادات",
1142
+ editGenerationPreset: "تحرير الإعداد المسبق للتوليد",
1143
+ editGenerationPresetDescription:
1144
+ "اضبط القواعد القابلة لإعادة الاستخدام التي يطبقها الوكيل عند وسم هذا الإعداد المسبق لإنشاء الصور.",
1034
1145
  failedCandidate: "مرشح فاشل",
1035
1146
  generateWithChat: "إنشاء مع الدردشة",
1036
1147
  generatedAsset: "الأصول التي تم إنشاؤها",
1037
1148
  generatingCandidate: "توليد المرشح",
1038
1149
  generationPresetCreated: "تم إنشاء الإعداد المسبق للجيل.",
1039
1150
  generationPresetDeleted: "تم حذف الإعداد المسبق للجيل.",
1151
+ generationPresetSaved: "تم حفظ الإعداد المسبق للتوليد.",
1152
+ couldNotSavePreset: "تعذر حفظ الإعداد المسبق.",
1153
+ presetUnavailableTitle: "الإعداد المسبق غير متاح",
1154
+ presetUnavailableDescription:
1155
+ "ربما تم حذف هذا الإعداد المسبق، أو لم يعد لديك وصول إلى مجموعة علامته التجارية.",
1156
+ readOnly: "للقراءة فقط",
1157
+ viewerModeTitle: "وصول المشاهد",
1158
+ viewerModeDescription:
1159
+ "يمكنك فحص هذا الإعداد المسبق، لكن يمكن للمحررين فقط حفظ التغييرات أو حذفه.",
1160
+ presetDescriptionPlaceholder:
1161
+ "الغرض من هذا الإعداد المسبق، وأين يجب استخدامه، أو ما الذي يجعله مختلفًا.",
1162
+ imageSize: "حجم الصورة",
1163
+ referencePolicy: "سياسة المراجع",
1164
+ noCollection: "لا توجد مجموعة",
1165
+ sortOrder: "ترتيب الفرز",
1166
+ showAdvancedOptions: "إظهار الخيارات المتقدمة",
1167
+ hideAdvancedOptions: "إخفاء الخيارات المتقدمة",
1168
+ presetSummary: "ملخص الإعداد المسبق",
1169
+ saving: "جارٍ الحفظ...",
1170
+ saveChanges: "حفظ التغييرات",
1040
1171
  generationPresetsDescription:
1041
1172
  "قواعد قابلة لإعادة الاستخدام للصور الاجتماعية والأبطال والرسوم البيانية.",
1042
1173
  generationPresets: "إعدادات الجيل المسبقة",
@@ -1147,6 +1278,45 @@ const brandKitDetailDeDE = {
1147
1278
  compositeCanonicalLogo: "Zusammengesetztes kanonisches Logo",
1148
1279
  compositeCanonicalLogoHint:
1149
1280
  "Fügt das kanonische Logo dieses Kits jedem mit dieser Vorlage erstellten Bild hinzu. Erfordert ein kanonisches Logo.",
1281
+ presetSkeleton: "Preset-Skelett",
1282
+ presetSkeletonHint:
1283
+ "Setzt Generierungen auf ein hochgeladenes Marken-Hintergrundbild dieses Presets.",
1284
+ contentMode: "Inhaltsmodus",
1285
+ contentModeFill: "Füllen",
1286
+ contentModeCutout: "Freisteller",
1287
+ skeletonImage: "Skelettbild",
1288
+ skeletonImageHint:
1289
+ "Verwende ein Marken-Hintergrundbild als wiederverwendbare Vorlage für dieses Preset.",
1290
+ uploadSkeletonImage: "Skelettbild hochladen",
1291
+ uploadingSkeletonImage: "Wird hochgeladen...",
1292
+ chooseSkeletonImage: "Aus Bibliothek wählen",
1293
+ noSkeletonImage: "Kein Skelettbild",
1294
+ skeletonImageRequired:
1295
+ "Wähle oder lade vor dem Speichern ein Skelettbild hoch.",
1296
+ skeletonImageUploaded: "Skelettbild hochgeladen.",
1297
+ couldNotUploadSkeletonImage: "Skelettbild konnte nicht hochgeladen werden.",
1298
+ skeletonMask: "Maske für bearbeitbaren Bereich",
1299
+ skeletonMaskHint:
1300
+ "Optional für gpt-image-2-Freisteller. Transparente Pixel markieren, wo das Motiv gemalt werden darf; lasse Platteninhalt deckend, um ihn zu erhalten.",
1301
+ uploadSkeletonMask: "Maske hochladen",
1302
+ uploadingSkeletonMask: "Wird hochgeladen...",
1303
+ chooseSkeletonMask: "Maske aus Bibliothek wählen",
1304
+ noSkeletonMask: "Keine Maske",
1305
+ skeletonMaskUploaded: "Skelettmaske hochgeladen.",
1306
+ couldNotUploadSkeletonMask: "Skelettmaske konnte nicht hochgeladen werden.",
1307
+ contactShadow: "Kontaktschatten",
1308
+ contactShadowHint:
1309
+ "Fügt unter transparenten Freistellern einen weichen Erdungsschatten hinzu.",
1310
+ placeLogoInSkeleton: "Logo im Skelett platzieren",
1311
+ placeLogoInSkeletonHint:
1312
+ "Das Skelett verwaltet das kanonische Logo, damit es nicht doppelt gestempelt wird.",
1313
+ logoPlacement: "Logo-Position",
1314
+ upperRight: "Oben rechts",
1315
+ upperLeft: "Oben links",
1316
+ lowerRight: "Unten rechts",
1317
+ lowerLeft: "Unten links",
1318
+ skeletonEnabled: "Aktiviert",
1319
+ skeletonOff: "Aus",
1150
1320
  couldNotAddSelectedToReferences:
1151
1321
  "Ausgewählte Assets konnten nicht zu Referenzen hinzugefügt werden.",
1152
1322
  couldNotAddToReferences:
@@ -1207,12 +1377,37 @@ const brandKitDetailDeDE = {
1207
1377
  dropToUpload: "Zum Hochladen ablegen",
1208
1378
  duplicating: "Duplizieren...",
1209
1379
  editBrandKit: "Bearbeiten Sie den Namen und die Beschreibung des Marken-Kits",
1380
+ backToLibrary: "Zur Bibliothek",
1381
+ backToSettings: "Zurück zu den Einstellungen",
1382
+ editGenerationPreset: "Generationsvoreinstellung bearbeiten",
1383
+ editGenerationPresetDescription:
1384
+ "Passen Sie die wiederverwendbaren Regeln an, die der Agent anwendet, wenn diese Voreinstellung für die Bildgenerierung markiert ist.",
1210
1385
  failedCandidate: "Kandidat gescheitert",
1211
1386
  generateWithChat: "Mit Chat generieren",
1212
1387
  generatedAsset: "Generiertes Asset",
1213
1388
  generatingCandidate: "Kandidaten generieren",
1214
1389
  generationPresetCreated: "Generationsvoreinstellung erstellt.",
1215
1390
  generationPresetDeleted: "Generationsvoreinstellung gelöscht.",
1391
+ generationPresetSaved: "Generationsvoreinstellung gespeichert.",
1392
+ couldNotSavePreset: "Voreinstellung konnte nicht gespeichert werden.",
1393
+ presetUnavailableTitle: "Voreinstellung nicht verfügbar",
1394
+ presetUnavailableDescription:
1395
+ "Diese Voreinstellung wurde möglicherweise gelöscht, oder Sie haben keinen Zugriff mehr auf das zugehörige Marken-Kit.",
1396
+ readOnly: "Schreibgeschützt",
1397
+ viewerModeTitle: "Betrachterzugriff",
1398
+ viewerModeDescription:
1399
+ "Sie können diese Voreinstellung ansehen, aber nur Bearbeiter können Änderungen speichern oder sie löschen.",
1400
+ presetDescriptionPlaceholder:
1401
+ "Wofür diese Voreinstellung gedacht ist, wo sie verwendet werden soll oder wodurch sie sich unterscheidet.",
1402
+ imageSize: "Bildgröße",
1403
+ referencePolicy: "Referenzrichtlinie",
1404
+ noCollection: "Keine Sammlung",
1405
+ sortOrder: "Sortierreihenfolge",
1406
+ showAdvancedOptions: "Erweiterte Optionen anzeigen",
1407
+ hideAdvancedOptions: "Erweiterte Optionen ausblenden",
1408
+ presetSummary: "Voreinstellungsübersicht",
1409
+ saving: "Wird gespeichert...",
1410
+ saveChanges: "Änderungen speichern",
1216
1411
  generationPresetsDescription:
1217
1412
  "Wiederverwendbare Lieferregeln für soziale Bilder, Helden und Diagramme.",
1218
1413
  generationPresets: "Generationsvoreinstellungen",
@@ -1325,6 +1520,45 @@ const brandKitDetailEsES = {
1325
1520
  compositeCanonicalLogo: "Logotipo canónico compuesto",
1326
1521
  compositeCanonicalLogoHint:
1327
1522
  "Añade el logotipo canónico de este kit a cada imagen creada con este ajuste. Requiere un logotipo canónico.",
1523
+ presetSkeleton: "Esqueleto del ajuste",
1524
+ presetSkeletonHint:
1525
+ "Compone las generaciones sobre una imagen de fondo de marca subida para este ajuste.",
1526
+ contentMode: "Modo de contenido",
1527
+ contentModeFill: "Rellenar",
1528
+ contentModeCutout: "Recorte",
1529
+ skeletonImage: "Imagen del esqueleto",
1530
+ skeletonImageHint:
1531
+ "Usa una imagen de fondo de marca como placa reutilizable para este ajuste.",
1532
+ uploadSkeletonImage: "Subir imagen del esqueleto",
1533
+ uploadingSkeletonImage: "Subiendo...",
1534
+ chooseSkeletonImage: "Elegir de la biblioteca",
1535
+ noSkeletonImage: "Sin imagen de esqueleto",
1536
+ skeletonImageRequired:
1537
+ "Elige o sube una imagen de esqueleto antes de guardar.",
1538
+ skeletonImageUploaded: "Imagen del esqueleto subida.",
1539
+ couldNotUploadSkeletonImage: "No se pudo subir la imagen del esqueleto.",
1540
+ skeletonMask: "Máscara de área editable",
1541
+ skeletonMaskHint:
1542
+ "Opcional para recortes con gpt-image-2. Los píxeles transparentes marcan dónde se puede pintar el sujeto; deja opaco el contenido de la placa para conservarlo.",
1543
+ uploadSkeletonMask: "Subir máscara",
1544
+ uploadingSkeletonMask: "Subiendo...",
1545
+ chooseSkeletonMask: "Elegir máscara de la biblioteca",
1546
+ noSkeletonMask: "Sin máscara",
1547
+ skeletonMaskUploaded: "Máscara del esqueleto subida.",
1548
+ couldNotUploadSkeletonMask: "No se pudo subir la máscara del esqueleto.",
1549
+ contactShadow: "Sombra de contacto",
1550
+ contactShadowHint:
1551
+ "Añade una sombra suave bajo los sujetos recortados transparentes.",
1552
+ placeLogoInSkeleton: "Colocar logotipo en el esqueleto",
1553
+ placeLogoInSkeletonHint:
1554
+ "Permite que el esqueleto controle el logotipo canónico para no estamparlo dos veces.",
1555
+ logoPlacement: "Ubicación del logotipo",
1556
+ upperRight: "Superior derecha",
1557
+ upperLeft: "Superior izquierda",
1558
+ lowerRight: "Inferior derecha",
1559
+ lowerLeft: "Inferior izquierda",
1560
+ skeletonEnabled: "Activado",
1561
+ skeletonOff: "Desactivado",
1328
1562
  couldNotAddSelectedToReferences:
1329
1563
  "No se pudieron agregar los recursos seleccionados a las Referencias.",
1330
1564
  couldNotAddToReferences: "No se pudo agregar activo a Referencias.",
@@ -1385,12 +1619,37 @@ const brandKitDetailEsES = {
1385
1619
  dropToUpload: "Soltar para subir",
1386
1620
  duplicating: "Duplicando...",
1387
1621
  editBrandKit: "Editar el nombre y la descripción del kit de marca",
1622
+ backToLibrary: "Volver a la biblioteca",
1623
+ backToSettings: "Volver a ajustes",
1624
+ editGenerationPreset: "Editar preajuste de generación",
1625
+ editGenerationPresetDescription:
1626
+ "Ajusta las reglas reutilizables que aplica el agente cuando este preajuste se etiqueta para generar imágenes.",
1388
1627
  failedCandidate: "candidato fallido",
1389
1628
  generateWithChat: "Generar con chat",
1390
1629
  generatedAsset: "Activo generado",
1391
1630
  generatingCandidate: "Generando candidato",
1392
1631
  generationPresetCreated: "Preajuste de generación creado.",
1393
1632
  generationPresetDeleted: "Preajuste de generación eliminado.",
1633
+ generationPresetSaved: "Preajuste de generación guardado.",
1634
+ couldNotSavePreset: "No se pudo guardar el preajuste.",
1635
+ presetUnavailableTitle: "Preajuste no disponible",
1636
+ presetUnavailableDescription:
1637
+ "Es posible que este preajuste se haya eliminado o que ya no tengas acceso a su kit de marca.",
1638
+ readOnly: "Solo lectura",
1639
+ viewerModeTitle: "Acceso de lector",
1640
+ viewerModeDescription:
1641
+ "Puedes revisar este preajuste, pero solo los editores pueden guardar cambios o eliminarlo.",
1642
+ presetDescriptionPlaceholder:
1643
+ "Para qué sirve este preajuste, dónde debe usarse o qué lo hace diferente.",
1644
+ imageSize: "Tamaño de imagen",
1645
+ referencePolicy: "Política de referencia",
1646
+ noCollection: "Sin colección",
1647
+ sortOrder: "Orden",
1648
+ showAdvancedOptions: "Mostrar opciones avanzadas",
1649
+ hideAdvancedOptions: "Ocultar opciones avanzadas",
1650
+ presetSummary: "Resumen del preajuste",
1651
+ saving: "Guardando...",
1652
+ saveChanges: "Guardar cambios",
1394
1653
  generationPresetsDescription:
1395
1654
  "Reglas entregables reutilizables para imágenes sociales, héroes y diagramas.",
1396
1655
  generationPresets: "Preajustes de generación",
@@ -1505,6 +1764,46 @@ const brandKitDetailFrFR = {
1505
1764
  compositeCanonicalLogo: "Logo canonique composite",
1506
1765
  compositeCanonicalLogoHint:
1507
1766
  "Ajoute le logo canonique de ce kit à chaque image créée avec ce préréglage. Nécessite un logo canonique.",
1767
+ presetSkeleton: "Squelette du préréglage",
1768
+ presetSkeletonHint:
1769
+ "Compose les générations sur une image d'arrière-plan de marque téléversée pour ce préréglage.",
1770
+ contentMode: "Mode de contenu",
1771
+ contentModeFill: "Remplir",
1772
+ contentModeCutout: "Découpe",
1773
+ skeletonImage: "Image du squelette",
1774
+ skeletonImageHint:
1775
+ "Utilise une image d'arrière-plan de marque comme plaque réutilisable pour ce préréglage.",
1776
+ uploadSkeletonImage: "Téléverser l'image du squelette",
1777
+ uploadingSkeletonImage: "Téléversement...",
1778
+ chooseSkeletonImage: "Choisir dans la bibliothèque",
1779
+ noSkeletonImage: "Aucune image de squelette",
1780
+ skeletonImageRequired:
1781
+ "Choisis ou téléverse une image de squelette avant d'enregistrer.",
1782
+ skeletonImageUploaded: "Image du squelette téléversée.",
1783
+ couldNotUploadSkeletonImage: "Impossible de téléverser l'image du squelette.",
1784
+ skeletonMask: "Masque de zone modifiable",
1785
+ skeletonMaskHint:
1786
+ "Facultatif pour les découpes gpt-image-2. Les pixels transparents indiquent où le sujet peut être peint ; laisse le contenu de la plaque opaque pour le préserver.",
1787
+ uploadSkeletonMask: "Téléverser le masque",
1788
+ uploadingSkeletonMask: "Téléversement...",
1789
+ chooseSkeletonMask: "Choisir un masque dans la bibliothèque",
1790
+ noSkeletonMask: "Aucun masque",
1791
+ skeletonMaskUploaded: "Masque du squelette téléversé.",
1792
+ couldNotUploadSkeletonMask:
1793
+ "Impossible de téléverser le masque du squelette.",
1794
+ contactShadow: "Ombre de contact",
1795
+ contactShadowHint:
1796
+ "Ajoute une ombre douce sous les sujets détourés transparents.",
1797
+ placeLogoInSkeleton: "Placer le logo dans le squelette",
1798
+ placeLogoInSkeletonHint:
1799
+ "Laisse le squelette gérer le logo canonique afin qu'il ne soit pas appliqué deux fois.",
1800
+ logoPlacement: "Position du logo",
1801
+ upperRight: "En haut à droite",
1802
+ upperLeft: "En haut à gauche",
1803
+ lowerRight: "En bas à droite",
1804
+ lowerLeft: "En bas à gauche",
1805
+ skeletonEnabled: "Activé",
1806
+ skeletonOff: "Désactivé",
1508
1807
  couldNotAddSelectedToReferences:
1509
1808
  "Impossible d'ajouter les éléments sélectionnés aux références.",
1510
1809
  couldNotAddToReferences: "Impossible d'ajouter un élément aux références.",
@@ -1564,12 +1863,37 @@ const brandKitDetailFrFR = {
1564
1863
  dropToUpload: "Déposer pour télécharger",
1565
1864
  duplicating: "Duplication...",
1566
1865
  editBrandKit: "Modifier le nom et la description du kit de marque",
1866
+ backToLibrary: "Retour à la bibliothèque",
1867
+ backToSettings: "Retour aux paramètres",
1868
+ editGenerationPreset: "Modifier le préréglage de génération",
1869
+ editGenerationPresetDescription:
1870
+ "Ajustez les règles réutilisables que l'agent applique lorsque ce préréglage est marqué pour la génération d'images.",
1567
1871
  failedCandidate: "Candidat échoué",
1568
1872
  generateWithChat: "Générer avec le chat",
1569
1873
  generatedAsset: "Actif généré",
1570
1874
  generatingCandidate: "Générer un candidat",
1571
1875
  generationPresetCreated: "Préréglage de génération créé.",
1572
1876
  generationPresetDeleted: "Préréglage de génération supprimé.",
1877
+ generationPresetSaved: "Préréglage de génération enregistré.",
1878
+ couldNotSavePreset: "Impossible d'enregistrer le préréglage.",
1879
+ presetUnavailableTitle: "Préréglage indisponible",
1880
+ presetUnavailableDescription:
1881
+ "Ce préréglage a peut-être été supprimé, ou vous n'avez peut-être plus accès à son kit de marque.",
1882
+ readOnly: "Lecture seule",
1883
+ viewerModeTitle: "Accès lecteur",
1884
+ viewerModeDescription:
1885
+ "Vous pouvez consulter ce préréglage, mais seuls les éditeurs peuvent enregistrer des modifications ou le supprimer.",
1886
+ presetDescriptionPlaceholder:
1887
+ "À quoi sert ce préréglage, où l'utiliser ou ce qui le rend différent.",
1888
+ imageSize: "Taille de l'image",
1889
+ referencePolicy: "Politique de référence",
1890
+ noCollection: "Aucune collection",
1891
+ sortOrder: "Ordre de tri",
1892
+ showAdvancedOptions: "Afficher les options avancées",
1893
+ hideAdvancedOptions: "Masquer les options avancées",
1894
+ presetSummary: "Résumé du préréglage",
1895
+ saving: "Enregistrement...",
1896
+ saveChanges: "Enregistrer les modifications",
1573
1897
  generationPresetsDescription:
1574
1898
  "Règles livrables réutilisables pour les images sociales, les héros et les diagrammes.",
1575
1899
  generationPresets: "Préréglages de génération",
@@ -1683,6 +2007,42 @@ const brandKitDetailHiIN = {
1683
2007
  compositeCanonicalLogo: "समग्र विहित लोगो",
1684
2008
  compositeCanonicalLogoHint:
1685
2009
  "इस प्रीसेट से बनी हर छवि पर इस किट का विहित लोगो जोड़ता है। इसके लिए विहित लोगो आवश्यक है।",
2010
+ presetSkeleton: "प्रीसेट स्केलेटन",
2011
+ presetSkeletonHint:
2012
+ "जेनरेशन को इस प्रीसेट की अपलोड की गई ब्रांड पृष्ठभूमि छवि पर कंपोज़ करें.",
2013
+ contentMode: "सामग्री मोड",
2014
+ contentModeFill: "भरें",
2015
+ contentModeCutout: "कटआउट",
2016
+ skeletonImage: "स्केलेटन छवि",
2017
+ skeletonImageHint:
2018
+ "इस प्रीसेट के लिए पुन: उपयोग योग्य प्लेट के रूप में ब्रांड पृष्ठभूमि छवि का उपयोग करें.",
2019
+ uploadSkeletonImage: "स्केलेटन छवि अपलोड करें",
2020
+ uploadingSkeletonImage: "अपलोड हो रहा है...",
2021
+ chooseSkeletonImage: "लाइब्रेरी से चुनें",
2022
+ noSkeletonImage: "कोई स्केलेटन छवि नहीं",
2023
+ skeletonImageRequired: "सहेजने से पहले स्केलेटन छवि चुनें या अपलोड करें.",
2024
+ skeletonImageUploaded: "स्केलेटन छवि अपलोड हो गई.",
2025
+ couldNotUploadSkeletonImage: "स्केलेटन छवि अपलोड नहीं हो सकी.",
2026
+ skeletonMask: "संपादन योग्य क्षेत्र मास्क",
2027
+ skeletonMaskHint:
2028
+ "gpt-image-2 कटआउट के लिए वैकल्पिक. पारदर्शी पिक्सेल बताते हैं कि विषय कहाँ पेंट किया जा सकता है; प्लेट सामग्री बचाने के लिए उसे अपारदर्शी रखें.",
2029
+ uploadSkeletonMask: "मास्क अपलोड करें",
2030
+ uploadingSkeletonMask: "अपलोड हो रहा है...",
2031
+ chooseSkeletonMask: "लाइब्रेरी से मास्क चुनें",
2032
+ noSkeletonMask: "कोई मास्क नहीं",
2033
+ skeletonMaskUploaded: "स्केलेटन मास्क अपलोड हो गया.",
2034
+ couldNotUploadSkeletonMask: "स्केलेटन मास्क अपलोड नहीं हो सका.",
2035
+ contactShadow: "संपर्क छाया",
2036
+ contactShadowHint: "पारदर्शी कटआउट विषयों के नीचे मुलायम आधार छाया जोड़ता है.",
2037
+ placeLogoInSkeleton: "लोगो को स्केलेटन में रखें",
2038
+ placeLogoInSkeletonHint: "स्केलेटन को विहित लोगो संभालने दें ताकि वह दो बार न लगे.",
2039
+ logoPlacement: "लोगो स्थान",
2040
+ upperRight: "ऊपर दाएं",
2041
+ upperLeft: "ऊपर बाएं",
2042
+ lowerRight: "नीचे दाएं",
2043
+ lowerLeft: "नीचे बाएं",
2044
+ skeletonEnabled: "सक्षम",
2045
+ skeletonOff: "बंद",
1686
2046
  couldNotAddSelectedToReferences:
1687
2047
  "चयनित परिसंपत्तियों को संदर्भों में नहीं जोड़ा जा सका.",
1688
2048
  couldNotAddToReferences: "संदर्भों में संपत्ति नहीं जोड़ी जा सकी.",
@@ -1739,12 +2099,37 @@ const brandKitDetailHiIN = {
1739
2099
  dropToUpload: "अपलोड करने के लिए छोड़ें",
1740
2100
  duplicating: "नकल हो रही है...",
1741
2101
  editBrandKit: "ब्रांड किट का नाम और विवरण संपादित करें",
2102
+ backToLibrary: "लाइब्रेरी पर वापस जाएं",
2103
+ backToSettings: "सेटिंग्स पर वापस जाएं",
2104
+ editGenerationPreset: "जनरेशन प्रीसेट संपादित करें",
2105
+ editGenerationPresetDescription:
2106
+ "इस प्रीसेट को छवि जनरेशन के लिए टैग किए जाने पर एजेंट द्वारा लागू किए जाने वाले पुन: प्रयोज्य नियमों को समायोजित करें.",
1742
2107
  failedCandidate: "असफल उम्मीदवार",
1743
2108
  generateWithChat: "चैट के साथ उत्पन्न करें",
1744
2109
  generatedAsset: "उत्पन्न संपत्ति",
1745
2110
  generatingCandidate: "उम्मीदवार तैयार करना",
1746
2111
  generationPresetCreated: "जनरेशन प्रीसेट बनाया गया.",
1747
2112
  generationPresetDeleted: "जनरेशन प्रीसेट हटा दिया गया.",
2113
+ generationPresetSaved: "जनरेशन प्रीसेट सहेजा गया.",
2114
+ couldNotSavePreset: "प्रीसेट सहेजा नहीं जा सका.",
2115
+ presetUnavailableTitle: "प्रीसेट उपलब्ध नहीं है",
2116
+ presetUnavailableDescription:
2117
+ "यह प्रीसेट हटाया गया हो सकता है, या अब आपके पास इसके ब्रांड किट तक पहुंच नहीं हो सकती.",
2118
+ readOnly: "केवल पढ़ने योग्य",
2119
+ viewerModeTitle: "दर्शक पहुंच",
2120
+ viewerModeDescription:
2121
+ "आप इस प्रीसेट को देख सकते हैं, लेकिन केवल संपादक बदलाव सहेज सकते हैं या इसे हटा सकते हैं.",
2122
+ presetDescriptionPlaceholder:
2123
+ "यह प्रीसेट किस लिए है, इसे कहां उपयोग करना चाहिए, या यह किस तरह अलग है.",
2124
+ imageSize: "छवि आकार",
2125
+ referencePolicy: "संदर्भ नीति",
2126
+ noCollection: "कोई संग्रह नहीं",
2127
+ sortOrder: "क्रम क्रम",
2128
+ showAdvancedOptions: "उन्नत विकल्प दिखाएं",
2129
+ hideAdvancedOptions: "उन्नत विकल्प छिपाएं",
2130
+ presetSummary: "प्रीसेट सारांश",
2131
+ saving: "सहेजा जा रहा है...",
2132
+ saveChanges: "बदलाव सहेजें",
1748
2133
  generationPresetsDescription:
1749
2134
  "सामाजिक छवियों, नायकों और आरेखों के लिए पुन: प्रयोज्य वितरण योग्य नियम।",
1750
2135
  generationPresets: "जनरेशन प्रीसेट",
@@ -1854,6 +2239,45 @@ const brandKitDetailJaJP = {
1854
2239
  compositeCanonicalLogo: "複合正規ロゴ",
1855
2240
  compositeCanonicalLogoHint:
1856
2241
  "このプリセットで生成する各画像に、このキットの正規ロゴを合成します。正規ロゴの設定が必要です。",
2242
+ presetSkeleton: "プリセットスケルトン",
2243
+ presetSkeletonHint:
2244
+ "このプリセットが持つアップロード済みブランド背景画像に生成画像を合成します。",
2245
+ contentMode: "コンテンツモード",
2246
+ contentModeFill: "塗りつぶし",
2247
+ contentModeCutout: "切り抜き",
2248
+ skeletonImage: "スケルトン画像",
2249
+ skeletonImageHint:
2250
+ "このプリセットの再利用可能なプレートとしてブランド背景画像を使用します。",
2251
+ uploadSkeletonImage: "スケルトン画像をアップロード",
2252
+ uploadingSkeletonImage: "アップロード中...",
2253
+ chooseSkeletonImage: "ライブラリから選択",
2254
+ noSkeletonImage: "スケルトン画像なし",
2255
+ skeletonImageRequired:
2256
+ "保存する前にスケルトン画像を選択またはアップロードしてください。",
2257
+ skeletonImageUploaded: "スケルトン画像をアップロードしました。",
2258
+ couldNotUploadSkeletonImage: "スケルトン画像をアップロードできませんでした。",
2259
+ skeletonMask: "編集可能領域マスク",
2260
+ skeletonMaskHint:
2261
+ "gpt-image-2 の切り抜きで任意に使用します。透明ピクセルが被写体を描画できる場所を示します。保持したいプレート内容は不透明のままにしてください。",
2262
+ uploadSkeletonMask: "マスクをアップロード",
2263
+ uploadingSkeletonMask: "アップロード中...",
2264
+ chooseSkeletonMask: "ライブラリからマスクを選択",
2265
+ noSkeletonMask: "マスクなし",
2266
+ skeletonMaskUploaded: "スケルトンマスクをアップロードしました。",
2267
+ couldNotUploadSkeletonMask:
2268
+ "スケルトンマスクをアップロードできませんでした。",
2269
+ contactShadow: "接地影",
2270
+ contactShadowHint: "透明な切り抜き被写体の下に柔らかな接地影を追加します。",
2271
+ placeLogoInSkeleton: "ロゴをスケルトンに配置",
2272
+ placeLogoInSkeletonHint:
2273
+ "スケルトン側で正規ロゴを管理し、二重に合成されないようにします。",
2274
+ logoPlacement: "ロゴ位置",
2275
+ upperRight: "右上",
2276
+ upperLeft: "左上",
2277
+ lowerRight: "右下",
2278
+ lowerLeft: "左下",
2279
+ skeletonEnabled: "有効",
2280
+ skeletonOff: "オフ",
1857
2281
  couldNotAddSelectedToReferences:
1858
2282
  "選択したアセットを参照に追加できませんでした。",
1859
2283
  couldNotAddToReferences: "アセットを参照に追加できませんでした。",
@@ -1911,12 +2335,37 @@ const brandKitDetailJaJP = {
1911
2335
  dropToUpload: "ドロップしてアップロード",
1912
2336
  duplicating: "複製中...",
1913
2337
  editBrandKit: "ブランド キットの名前と説明を編集する",
2338
+ backToLibrary: "ライブラリに戻る",
2339
+ backToSettings: "設定に戻る",
2340
+ editGenerationPreset: "生成プリセットを編集",
2341
+ editGenerationPresetDescription:
2342
+ "このプリセットが画像生成用にタグ付けされたときにエージェントが適用する再利用可能なルールを調整します。",
1914
2343
  failedCandidate: "落選した候補者",
1915
2344
  generateWithChat: "チャットで生成",
1916
2345
  generatedAsset: "生成されたアセット",
1917
2346
  generatingCandidate: "候補の生成",
1918
2347
  generationPresetCreated: "生成プリセットが作成されました。",
1919
2348
  generationPresetDeleted: "世代プリセットが削除されました。",
2349
+ generationPresetSaved: "生成プリセットが保存されました。",
2350
+ couldNotSavePreset: "プリセットを保存できませんでした。",
2351
+ presetUnavailableTitle: "プリセットを利用できません",
2352
+ presetUnavailableDescription:
2353
+ "このプリセットは削除されたか、関連するブランドキットへのアクセス権がなくなった可能性があります。",
2354
+ readOnly: "読み取り専用",
2355
+ viewerModeTitle: "閲覧者アクセス",
2356
+ viewerModeDescription:
2357
+ "このプリセットは確認できますが、変更の保存や削除ができるのは編集者だけです。",
2358
+ presetDescriptionPlaceholder:
2359
+ "このプリセットの用途、使用場所、または他との違い。",
2360
+ imageSize: "画像サイズ",
2361
+ referencePolicy: "参照ポリシー",
2362
+ noCollection: "コレクションなし",
2363
+ sortOrder: "並び順",
2364
+ showAdvancedOptions: "詳細オプションを表示",
2365
+ hideAdvancedOptions: "詳細オプションを隠す",
2366
+ presetSummary: "プリセット概要",
2367
+ saving: "保存中...",
2368
+ saveChanges: "変更を保存",
1920
2369
  generationPresetsDescription:
1921
2370
  "ソーシャル イメージ、ヒーロー、図の再利用可能な成果物ルール。",
1922
2371
  generationPresets: "生成プリセット",
@@ -2030,6 +2479,45 @@ const brandKitDetailKoKR = {
2030
2479
  compositeCanonicalLogo: "복합 표준 로고",
2031
2480
  compositeCanonicalLogoHint:
2032
2481
  "이 프리셋으로 생성되는 모든 이미지에 이 키트의 표준 로고를 합성합니다. 표준 로고가 필요합니다.",
2482
+ presetSkeleton: "프리셋 스켈레톤",
2483
+ presetSkeletonHint:
2484
+ "이 프리셋이 소유한 업로드된 브랜드 배경 이미지 위에 생성 결과를 합성합니다.",
2485
+ contentMode: "콘텐츠 모드",
2486
+ contentModeFill: "채우기",
2487
+ contentModeCutout: "컷아웃",
2488
+ skeletonImage: "스켈레톤 이미지",
2489
+ skeletonImageHint:
2490
+ "이 프리셋의 재사용 가능한 판으로 브랜드 배경 이미지를 사용합니다.",
2491
+ uploadSkeletonImage: "스켈레톤 이미지 업로드",
2492
+ uploadingSkeletonImage: "업로드 중...",
2493
+ chooseSkeletonImage: "라이브러리에서 선택",
2494
+ noSkeletonImage: "스켈레톤 이미지 없음",
2495
+ skeletonImageRequired:
2496
+ "저장하기 전에 스켈레톤 이미지를 선택하거나 업로드하세요.",
2497
+ skeletonImageUploaded: "스켈레톤 이미지가 업로드되었습니다.",
2498
+ couldNotUploadSkeletonImage: "스켈레톤 이미지를 업로드할 수 없습니다.",
2499
+ skeletonMask: "편집 가능 영역 마스크",
2500
+ skeletonMaskHint:
2501
+ "gpt-image-2 컷아웃에 선택적으로 사용합니다. 투명 픽셀은 피사체를 그릴 수 있는 위치를 표시하고, 보존할 판 내용은 불투명하게 둡니다.",
2502
+ uploadSkeletonMask: "마스크 업로드",
2503
+ uploadingSkeletonMask: "업로드 중...",
2504
+ chooseSkeletonMask: "라이브러리에서 마스크 선택",
2505
+ noSkeletonMask: "마스크 없음",
2506
+ skeletonMaskUploaded: "스켈레톤 마스크가 업로드되었습니다.",
2507
+ couldNotUploadSkeletonMask: "스켈레톤 마스크를 업로드할 수 없습니다.",
2508
+ contactShadow: "접지 그림자",
2509
+ contactShadowHint:
2510
+ "투명 컷아웃 피사체 아래에 부드러운 접지 그림자를 추가합니다.",
2511
+ placeLogoInSkeleton: "스켈레톤에 로고 배치",
2512
+ placeLogoInSkeletonHint:
2513
+ "스켈레톤이 표준 로고를 소유하게 하여 두 번 찍히지 않게 합니다.",
2514
+ logoPlacement: "로고 위치",
2515
+ upperRight: "오른쪽 위",
2516
+ upperLeft: "왼쪽 위",
2517
+ lowerRight: "오른쪽 아래",
2518
+ lowerLeft: "왼쪽 아래",
2519
+ skeletonEnabled: "활성화됨",
2520
+ skeletonOff: "꺼짐",
2033
2521
  couldNotAddSelectedToReferences: "선택한 자산을 참조에 추가할 수 없습니다.",
2034
2522
  couldNotAddToReferences: "참조에 자산을 추가할 수 없습니다.",
2035
2523
  couldNotArchiveBrandKit: "브랜드 키트를 보관할 수 없습니다.",
@@ -2085,12 +2573,37 @@ const brandKitDetailKoKR = {
2085
2573
  dropToUpload: "업로드하려면 드롭하세요.",
2086
2574
  duplicating: "복제 중...",
2087
2575
  editBrandKit: "브랜드 키트 이름 및 설명 수정",
2576
+ backToLibrary: "라이브러리로 돌아가기",
2577
+ backToSettings: "설정으로 돌아가기",
2578
+ editGenerationPreset: "생성 사전 설정 편집",
2579
+ editGenerationPresetDescription:
2580
+ "이 사전 설정이 이미지 생성에 태그될 때 에이전트가 적용하는 재사용 가능한 규칙을 조정합니다.",
2088
2581
  failedCandidate: "불합격자",
2089
2582
  generateWithChat: "채팅으로 생성",
2090
2583
  generatedAsset: "생성된 자산",
2091
2584
  generatingCandidate: "후보생성",
2092
2585
  generationPresetCreated: "생성 사전 설정이 생성되었습니다.",
2093
2586
  generationPresetDeleted: "생성 사전 설정이 삭제되었습니다.",
2587
+ generationPresetSaved: "생성 사전 설정이 저장되었습니다.",
2588
+ couldNotSavePreset: "사전 설정을 저장할 수 없습니다.",
2589
+ presetUnavailableTitle: "사전 설정을 사용할 수 없음",
2590
+ presetUnavailableDescription:
2591
+ "이 사전 설정이 삭제되었거나 해당 브랜드 키트에 더 이상 접근할 수 없을 수 있습니다.",
2592
+ readOnly: "읽기 전용",
2593
+ viewerModeTitle: "보기 권한",
2594
+ viewerModeDescription:
2595
+ "이 사전 설정을 확인할 수 있지만, 변경 사항 저장 또는 삭제는 편집자만 할 수 있습니다.",
2596
+ presetDescriptionPlaceholder:
2597
+ "이 사전 설정의 용도, 사용 위치 또는 다른 점을 설명하세요.",
2598
+ imageSize: "이미지 크기",
2599
+ referencePolicy: "참조 정책",
2600
+ noCollection: "컬렉션 없음",
2601
+ sortOrder: "정렬 순서",
2602
+ showAdvancedOptions: "고급 옵션 표시",
2603
+ hideAdvancedOptions: "고급 옵션 숨기기",
2604
+ presetSummary: "사전 설정 요약",
2605
+ saving: "저장 중...",
2606
+ saveChanges: "변경 사항 저장",
2094
2607
  generationPresetsDescription:
2095
2608
  "소셜 이미지, 영웅 및 다이어그램에 대한 재사용 가능한 결과물 규칙입니다.",
2096
2609
  generationPresets: "생성 사전 설정",
@@ -2200,6 +2713,47 @@ const brandKitDetailPtBR = {
2200
2713
  compositeCanonicalLogo: "Logotipo canônico composto",
2201
2714
  compositeCanonicalLogoHint:
2202
2715
  "Adiciona o logotipo canônico deste kit a cada imagem criada com esta predefinição. Requer um logotipo canônico.",
2716
+ presetSkeleton: "Esqueleto da predefinição",
2717
+ presetSkeletonHint:
2718
+ "Compõe gerações sobre uma imagem de fundo de marca carregada para esta predefinição.",
2719
+ contentMode: "Modo de conteúdo",
2720
+ contentModeFill: "Preencher",
2721
+ contentModeCutout: "Recorte",
2722
+ skeletonImage: "Imagem do esqueleto",
2723
+ skeletonImageHint:
2724
+ "Use uma imagem de fundo de marca como placa reutilizável para esta predefinição.",
2725
+ uploadSkeletonImage: "Carregar imagem do esqueleto",
2726
+ uploadingSkeletonImage: "Carregando...",
2727
+ chooseSkeletonImage: "Escolher da biblioteca",
2728
+ noSkeletonImage: "Sem imagem de esqueleto",
2729
+ skeletonImageRequired:
2730
+ "Escolha ou carregue uma imagem de esqueleto antes de salvar.",
2731
+ skeletonImageUploaded: "Imagem do esqueleto carregada.",
2732
+ couldNotUploadSkeletonImage:
2733
+ "Não foi possível carregar a imagem do esqueleto.",
2734
+ skeletonMask: "Máscara da área editável",
2735
+ skeletonMaskHint:
2736
+ "Opcional para recortes com gpt-image-2. Pixels transparentes marcam onde o assunto pode ser pintado; mantenha o conteúdo da placa opaco para preservá-lo.",
2737
+ uploadSkeletonMask: "Carregar máscara",
2738
+ uploadingSkeletonMask: "Carregando...",
2739
+ chooseSkeletonMask: "Escolher máscara da biblioteca",
2740
+ noSkeletonMask: "Sem máscara",
2741
+ skeletonMaskUploaded: "Máscara do esqueleto carregada.",
2742
+ couldNotUploadSkeletonMask:
2743
+ "Não foi possível carregar a máscara do esqueleto.",
2744
+ contactShadow: "Sombra de contato",
2745
+ contactShadowHint:
2746
+ "Adiciona uma sombra suave sob sujeitos recortados transparentes.",
2747
+ placeLogoInSkeleton: "Colocar logotipo no esqueleto",
2748
+ placeLogoInSkeletonHint:
2749
+ "Permite que o esqueleto controle o logotipo canônico para não aplicá-lo duas vezes.",
2750
+ logoPlacement: "Posição do logotipo",
2751
+ upperRight: "Superior direita",
2752
+ upperLeft: "Superior esquerda",
2753
+ lowerRight: "Inferior direita",
2754
+ lowerLeft: "Inferior esquerda",
2755
+ skeletonEnabled: "Ativado",
2756
+ skeletonOff: "Desativado",
2203
2757
  couldNotAddSelectedToReferences:
2204
2758
  "Não foi possível adicionar os ativos selecionados às referências.",
2205
2759
  couldNotAddToReferences: "Não foi possível adicionar recurso às referências.",
@@ -2259,12 +2813,37 @@ const brandKitDetailPtBR = {
2259
2813
  dropToUpload: "Solte para fazer upload",
2260
2814
  duplicating: "Duplicando...",
2261
2815
  editBrandKit: "Editar o nome e a descrição do kit da marca",
2816
+ backToLibrary: "Voltar para a biblioteca",
2817
+ backToSettings: "Voltar para configurações",
2818
+ editGenerationPreset: "Editar predefinição de geração",
2819
+ editGenerationPresetDescription:
2820
+ "Ajuste as regras reutilizáveis que o agente aplica quando esta predefinição é marcada para geração de imagens.",
2262
2821
  failedCandidate: "Candidato reprovado",
2263
2822
  generateWithChat: "Gerar com bate-papo",
2264
2823
  generatedAsset: "Ativo gerado",
2265
2824
  generatingCandidate: "Gerando candidato",
2266
2825
  generationPresetCreated: "Predefinição de geração criada.",
2267
2826
  generationPresetDeleted: "Predefinição de geração excluída.",
2827
+ generationPresetSaved: "Predefinição de geração salva.",
2828
+ couldNotSavePreset: "Não foi possível salvar a predefinição.",
2829
+ presetUnavailableTitle: "Predefinição indisponível",
2830
+ presetUnavailableDescription:
2831
+ "Esta predefinição pode ter sido excluída, ou você pode não ter mais acesso ao kit da marca.",
2832
+ readOnly: "Somente leitura",
2833
+ viewerModeTitle: "Acesso de visualizador",
2834
+ viewerModeDescription:
2835
+ "Você pode inspecionar esta predefinição, mas somente editores podem salvar alterações ou excluí-la.",
2836
+ presetDescriptionPlaceholder:
2837
+ "Para que serve esta predefinição, onde ela deve ser usada ou o que a torna diferente.",
2838
+ imageSize: "Tamanho da imagem",
2839
+ referencePolicy: "Política de referência",
2840
+ noCollection: "Sem coleção",
2841
+ sortOrder: "Ordem de classificação",
2842
+ showAdvancedOptions: "Mostrar opções avançadas",
2843
+ hideAdvancedOptions: "Ocultar opções avançadas",
2844
+ presetSummary: "Resumo da predefinição",
2845
+ saving: "Salvando...",
2846
+ saveChanges: "Salvar alterações",
2268
2847
  generationPresetsDescription:
2269
2848
  "Regras de entrega reutilizáveis ​​para imagens sociais, heróis e diagramas.",
2270
2849
  generationPresets: "Predefinições de geração",
@@ -3140,6 +3719,7 @@ export const messagesByLocale = {
3140
3719
  routeTitles: {
3141
3720
  library: "资料库 - Assets",
3142
3721
  brandKits: "品牌套件 - Assets",
3722
+ generationPreset: "生成预设 - Assets",
3143
3723
  extension: "扩展 - Assets",
3144
3724
  extensions: "扩展 - Assets",
3145
3725
  team: "团队 - Assets",
@@ -3336,6 +3916,40 @@ export const messagesByLocale = {
3336
3916
  compositeCanonicalLogo: "合成规范徽标",
3337
3917
  compositeCanonicalLogoHint:
3338
3918
  "为使用此预设生成的每张图片合成此套件的规范徽标。需要已设置规范徽标。",
3919
+ presetSkeleton: "预设骨架",
3920
+ presetSkeletonHint: "将生成结果合成到此预设拥有的上传品牌背景图上。",
3921
+ contentMode: "内容模式",
3922
+ contentModeFill: "填充",
3923
+ contentModeCutout: "抠图",
3924
+ skeletonImage: "骨架图片",
3925
+ skeletonImageHint: "使用品牌背景图作为此预设的可复用底板。",
3926
+ uploadSkeletonImage: "上传骨架图片",
3927
+ uploadingSkeletonImage: "正在上传...",
3928
+ chooseSkeletonImage: "从库中选择",
3929
+ noSkeletonImage: "无骨架图片",
3930
+ skeletonImageRequired: "保存前请选择或上传骨架图片。",
3931
+ skeletonImageUploaded: "骨架图片已上传。",
3932
+ couldNotUploadSkeletonImage: "无法上传骨架图片。",
3933
+ skeletonMask: "可编辑区域遮罩",
3934
+ skeletonMaskHint:
3935
+ "gpt-image-2 抠图模式可选。透明像素标记可绘制主体的位置;保持底板内容不透明即可保留它。",
3936
+ uploadSkeletonMask: "上传遮罩",
3937
+ uploadingSkeletonMask: "正在上传...",
3938
+ chooseSkeletonMask: "从库中选择遮罩",
3939
+ noSkeletonMask: "无遮罩",
3940
+ skeletonMaskUploaded: "骨架遮罩已上传。",
3941
+ couldNotUploadSkeletonMask: "无法上传骨架遮罩。",
3942
+ contactShadow: "接触阴影",
3943
+ contactShadowHint: "在透明抠图主体下方添加柔和的落地阴影。",
3944
+ placeLogoInSkeleton: "将徽标放入骨架",
3945
+ placeLogoInSkeletonHint: "让骨架拥有规范徽标,避免重复叠加。",
3946
+ logoPlacement: "徽标位置",
3947
+ upperRight: "右上",
3948
+ upperLeft: "左上",
3949
+ lowerRight: "右下",
3950
+ lowerLeft: "左下",
3951
+ skeletonEnabled: "已启用",
3952
+ skeletonOff: "关闭",
3339
3953
  openChat: "打开聊天",
3340
3954
  defaultTextPolicy: "尽量不要嵌入文字。如需文字,请保持简短且易读。",
3341
3955
  generationPresetCreated: "生成预设已创建。",
@@ -3351,15 +3965,43 @@ export const messagesByLocale = {
3351
3965
  generationPresetDeleted: "生成预设已删除。",
3352
3966
  couldNotDeletePreset: "无法删除预设。",
3353
3967
  delete: "删除",
3968
+ edit: "编辑",
3969
+ backToLibrary: "返回库",
3970
+ backToSettings: "返回设置",
3354
3971
  newGenerationPreset: "新建生成预设",
3355
3972
  newGenerationPresetDescription:
3356
3973
  "保存输出格式、宽高比和文本规则,用于重复图像工作。",
3974
+ editGenerationPreset: "编辑生成预设",
3975
+ editGenerationPresetDescription:
3976
+ "调整代理在标记此预设进行图像生成时会应用的可复用规则。",
3977
+ generationPresetSaved: "生成预设已保存。",
3978
+ couldNotSavePreset: "无法保存预设。",
3979
+ presetUnavailableTitle: "预设不可用",
3980
+ presetUnavailableDescription:
3981
+ "此预设可能已被删除,或者你可能已无法访问其品牌套件。",
3982
+ readOnly: "只读",
3983
+ viewerModeTitle: "查看者访问权限",
3984
+ viewerModeDescription:
3985
+ "你可以查看此预设,但只有编辑者可以保存更改或删除它。",
3357
3986
  name: "名称",
3987
+ description: "描述",
3988
+ presetDescriptionPlaceholder:
3989
+ "此预设的用途、适用位置,或它与其他预设的差异。",
3358
3990
  category: "类别",
3359
3991
  aspectRatio: "宽高比",
3992
+ imageSize: "图像尺寸",
3993
+ referencePolicy: "参考策略",
3994
+ collection: "集合",
3995
+ noCollection: "无集合",
3996
+ sortOrder: "排序顺序",
3360
3997
  promptTemplate: "提示模板",
3361
3998
  promptTemplatePlaceholder: "创建关于 {{prompt}} 的社交帖子视觉...",
3362
3999
  textPolicy: "文本策略",
4000
+ showAdvancedOptions: "显示高级选项",
4001
+ hideAdvancedOptions: "隐藏高级选项",
4002
+ presetSummary: "预设摘要",
4003
+ saving: "正在保存...",
4004
+ saveChanges: "保存更改",
3363
4005
  create: "创建",
3364
4006
  video: "视频",
3365
4007
  previewUnavailable: "预览不可用",
@@ -3923,6 +4565,7 @@ export const messagesByLocale = {
3923
4565
  },
3924
4566
  routeTitles: {
3925
4567
  library: "Biblioteca - Assets",
4568
+ generationPreset: "Preajuste de generación - Assets",
3926
4569
  brandKits: "Kits de marca - Assets",
3927
4570
  extension: "Extensión - Assets",
3928
4571
  extensions: "Extensiones - Assets",
@@ -4370,6 +5013,7 @@ export const messagesByLocale = {
4370
5013
  },
4371
5014
  routeTitles: {
4372
5015
  library: "Bibliothèque - Assets",
5016
+ generationPreset: "Préréglage de génération - Assets",
4373
5017
  brandKits: "Kits de marque - Assets",
4374
5018
  extension: "Module d’extension - Assets",
4375
5019
  extensions: "Modules d’extension - Assets",
@@ -4745,6 +5389,7 @@ export const messagesByLocale = {
4745
5389
  },
4746
5390
  routeTitles: {
4747
5391
  library: "Bibliothek - Assets",
5392
+ generationPreset: "Generationsvoreinstellung - Assets",
4748
5393
  brandKits: "Marken-Kits - Assets",
4749
5394
  extension: "Erweiterung - Assets",
4750
5395
  extensions: "Erweiterungen - Assets",
@@ -5090,6 +5735,7 @@ export const messagesByLocale = {
5090
5735
  },
5091
5736
  routeTitles: {
5092
5737
  library: "ライブラリ - Assets",
5738
+ generationPreset: "生成プリセット - Assets",
5093
5739
  brandKits: "ブランドキット - Assets",
5094
5740
  extension: "拡張機能 - Assets",
5095
5741
  extensions: "拡張機能 - Assets",
@@ -5434,6 +6080,7 @@ export const messagesByLocale = {
5434
6080
  },
5435
6081
  routeTitles: {
5436
6082
  library: "라이브러리 - Assets",
6083
+ generationPreset: "생성 사전 설정 - Assets",
5437
6084
  brandKits: "브랜드 키트 - Assets",
5438
6085
  extension: "확장 - Assets",
5439
6086
  extensions: "확장 - Assets",
@@ -5860,6 +6507,7 @@ export const messagesByLocale = {
5860
6507
  },
5861
6508
  routeTitles: {
5862
6509
  library: "Biblioteca - Assets",
6510
+ generationPreset: "Predefinição de geração - Assets",
5863
6511
  brandKits: "Kits de marca - Assets",
5864
6512
  extension: "Extensão - Assets",
5865
6513
  extensions: "Extensões - Assets",
@@ -6222,6 +6870,7 @@ export const messagesByLocale = {
6222
6870
  },
6223
6871
  routeTitles: {
6224
6872
  library: "लाइब्रेरी - Assets",
6873
+ generationPreset: "जनरेशन प्रीसेट - Assets",
6225
6874
  brandKits: "ब्रांड किट - Assets",
6226
6875
  extension: "एक्सटेंशन - Assets",
6227
6876
  extensions: "एक्सटेंशन - Assets",
@@ -6651,6 +7300,7 @@ export const messagesByLocale = {
6651
7300
  },
6652
7301
  routeTitles: {
6653
7302
  library: "المكتبة - Assets",
7303
+ generationPreset: "إعداد التوليد المسبق - Assets",
6654
7304
  brandKits: "مجموعات العلامة - Assets",
6655
7305
  extension: "إضافة - Assets",
6656
7306
  extensions: "الإضافات - Assets",