Replace the ratio-baked size presets with a resolution tier (1K/2K/4K) plus
ratio selection and normalized dimensions, send imageQuality/imageCount to
the agent, and add the output_format field to GeneratorTaskInputArgs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Render and manage the separated layers produced by the edit-elements
action as a manual-frame container with attached image and text
children.
- canvasNodeOps: frame container/child helpers, render ordering,
auto-attach nodes to containing frames, and layer reordering
- CanvasWorkspace wires frame-aware selection, drag, resize, hide/lock,
and layer reorder through the new ops
- CanvasPanels: expandable layer tree with rename/reorder
- designGateway.submitGeneratorTask + GeneratorTaskSubmitResponse and
bbox/generator_name artifact metadata in the domain
- ArtboardPreview shows a working state for generating frame layers
- i18n: expandLayer / renameLayer / layerTitlePlaceholder; styles
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Thread a translate function through friendlyAgentErrorMessage/
friendlyProjectFailureMessage and move the hard-coded zh-CN error copy
into the i18n locale files (with a zh-CN fallback map). Generation
stream failures now report through a toast via showGenerationError in
addition to setError, so the removed inline .panel-error footer is
gone.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Compact the floating composer with an auto-resizing prompt editor and a
scrollable settings popover, add a titled settings panel, and show the
resolved image size in the settings summary. Add the imageCountLabel
string for the count section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Track the assistant feed scroll position and footer height, and show a
floating button to jump back to the newest message when scrolled up.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the large in-code zh-CN/en-US dictionaries out of i18n.tsx and
import them from locales/*.json, shrinking the module and making
translations easier to edit.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cycle through localized example prompts with a typing/deleting animation
in the home composer placeholder, start the field empty instead of with
a default prompt, and style the home editor with larger prompt text.
Also rebrand the device-management copy from Lovart to Moteva.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>