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>
When importing captions with missing/invalid bbox data, elements are now
arranged in a 4-column grid (row/column layout) instead of a diagonal
pattern that overlapped after 6 elements.
- Change fallback positioning from modulo-6 diagonal to row/column grid
- Update both Python backend and JavaScript editor
- Add comprehensive test for 12+ elements with no overlap
- Fixes visual collision when pasting captions with many unbounded regions
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
- Add package.json with ESLint configuration for JS code quality checks
- Configure ESLint with browser environment and ES2021 features
- Add npm install and lint steps to CI workflow
- Fix unused parameter warnings in ideogram4_prompt_builder_enhanced.js and utility.js
- Update .gitignore to exclude node_modules, Python cache, and build artifacts
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
- Log errors to console when parsing elements_data or style_palette_data fails
- Show alerts and log errors when store operations (save/load scenes, characters, objects) fail
- Log clipboard access failures during import instead of silently ignoring
- Replace empty catch blocks with proper error logging for better debugging
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
- Add DELETE /byae/ideogram/stores/{bucket}/{name} route handler
- Return 400 for invalid bucket/name, 404 for not found, 200 on success
- Mirror error handling pattern from PUT route
- Add deleteStoreEntry() helper in ideogram4_shared.js
- Use same fetch/timeout/error-handling pattern as saveStoreEntry
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Fork of KJNodes' Ideogram 4 Prompt Builder with stores, multi-select, scene save/load, live background preview, and separate width/height outputs.
Co-authored-by: Cursor <cursoragent@cursor.com>