The editor accepts 64-16384 and snaps to a multiple of 8, so 1920x1080
is easy to enter. The open model needs multiples of 16, from 256 to 2048,
at an aspect ratio of at most 6:1. The size fields show that rule and do
not change the numbers. The spinner steps by 16.
A number or other non-string description reached the canvas line wrap,
which expects a string, and the redraw stopped. Labels, copies, and
loaded presets keep finite numbers as text and drop anything else.
input[type=color] only accepts #rrggbb. A pasted #fff or other shorthand
was given to it unchanged, and the picker then opened on black. Palettes
are stored as the uppercase #RRGGBB colors Ideogram 4 keeps, at most five
per element and sixteen for the style.
Shift-click and double-click preferred the active region when boxes
overlapped, so the region drawn on top could not be toggled or edited.
Both now follow paint order. Dragging still prefers the active handles.
Choosing source dimensions or an aspect ratio did nothing while scale mode
was stretch, which is the default. That choice now fits the source layout.
Don't care still stretches, and anchor modes still pin the fit.
A boolean palette or a non-string description raised while building the
caption or the preview. Those values are dropped or turned into text.
Short hex colors use the expanded color in the preview.
Style tooltips said a blank descriptor is omitted. It is sent as an empty
string, which is what the caption schema requires for those keys.
A region stored with numeric strings, NaN, a boolean, or a huge finite
value raised from round() while building the Ideogram bbox or the preview,
so one bad box failed the whole node. Those coordinates are now omitted
from the caption and the preview, and numeric strings still convert.
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: AE <by-ae@users.noreply.github.com>
Ctrl+V only clamped the origin, so a region near the edge kept its size and
extended past the canvas. Loading many characters did the same along the
0.04 diagonal. Paste now uses the same inside-canvas nudge as scene add,
and loads after the 17th tile a grid that still fits.
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: AE <by-ae@users.noreply.github.com>
Additive scene load nudged each region further than the one before it, so
a saved composition was sheared. Every region now moves by the same offset
and is clamped back inside the canvas.
Co-authored-by: AE <by-ae@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
The caption verifier accepts only uppercase #RRGGBB, at most 16 style
colors and 5 per element. Shorthand #RGB is expanded, other values are
dropped, and a null palette no longer crashes prompt assembly.
Co-authored-by: AE <by-ae@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Pasted captions with swapped or non-numeric bbox values produced negative
or NaN regions, so the editor could not select them. Coordinates are now
swapped and clamped to the 0-1000 range from the Ideogram 4 caption schema,
and unreadable bboxes keep the non-overlapping grid slot for that element.
Saved regions with NaN coordinates are dropped on restore.
Co-authored-by: AE <by-ae@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>