Skip to content

Creative automation#14

Open
imagekitio wants to merge 35 commits into
mainfrom
merge-main-into-creative-automation
Open

Creative automation#14
imagekitio wants to merge 35 commits into
mainfrom
merge-main-into-creative-automation

Conversation

@imagekitio
Copy link
Copy Markdown

No description provided.

ahnv and others added 23 commits May 6, 2026 14:53
…late loading logic; enhance ListView with empty state and image preview; refactor template loading in TemplatesDropdown and TemplatesLibraryView; introduce transformation converter functions

Co-authored-by: Copilot <copilot@github.com>
…mplate handling with canvas dimensions; update UI components to support mode-specific behavior

Co-authored-by: Copilot <copilot@github.com>
…mplement setCanvas action to update canvas dimensions and background

Co-authored-by: Copilot <copilot@github.com>
… ListView to show checker backdrop for canvas mode
- Refactor TransformationConfigSidebar to manage variable bindings and state.
- Add VariableField component for rendering variable inputs with validation.
- Implement variable resolution in transformation conversion logic.
- Create utility functions for variable management, including name generation and resolution.
- Enhance transformation converter to handle variable overrides during URL building.
- Update index exports to include new variable-related components and utilities.

Co-authored-by: Copilot <copilot@github.com>
…reference

Co-authored-by: Copilot <copilot@github.com>
…dRenderer components

Co-authored-by: Copilot <copilot@github.com>
…or support in transformation schema

Co-authored-by: Copilot <copilot@github.com>
…sformation schema

Co-authored-by: Copilot <copilot@github.com>
… mapping details

Co-authored-by: Copilot <copilot@github.com>
- Introduced a new `children` property in the Transformation interface to allow nested layers for image, text, and canvas transformations.
- Implemented depth management for nested transformations in the SortableTransformationItem component, enabling drag-and-drop functionality for child layers.
- Updated the TransformationConfigSidebar to handle adding child transformations, ensuring they are appended to the correct parent layer.
- Enhanced the TransformationTypeSidebar to restrict transformation options when in child add mode, allowing only valid layer types.
- Added a canvas layer transformation type with specific properties and validation, including background color, dimensions, and positioning.
- Updated serialization logic to correctly handle nested transformations when persisting to storage.
- Implemented recursive functions to manage visibility and updates for nested transformations in the editor store.

Co-authored-by: Copilot <copilot@github.com>
…ion logic

Co-authored-by: Copilot <copilot@github.com>
…s mode

Co-authored-by: Copilot <copilot@github.com>
… listVariables and buildVariablesSchema

Co-authored-by: Copilot <copilot@github.com>
- Introduced `nonVariablizable` property to prevent certain fields from being variablized, ensuring correct behavior for fields like background type and crop mode.
- Added utility functions for nested value manipulation (`getNestedValue`, `setNestedValue`) to streamline handling of complex data structures.
- Implemented `replaceVariableRefsWithDefaults` to facilitate the use of default values in forms, improving validation and user experience.
- Enhanced the transformation config sidebar to validate default values and display errors for invalid configurations.
- Added comprehensive tests for variable handling, ensuring backward compatibility with legacy variable formats.
- Updated variable interface to include `defaultValue` and `description`, providing clearer documentation and usability.
@imagekitio imagekitio changed the title Merge main into creative automation Creative automation May 15, 2026
manu4543 added 6 commits May 16, 2026 08:48
…istortPerspectiveInput, GradientPicker, and ZoomInput components
…to ensure unique names during save operations
Collapse the two-click popover affordance into a single inline Save
button + persistent status label. The button always shows the current
state at a glance and removes the timer-driven "Saved to library"
toast: there is no transient confirmation any more, just one of
{Access required, Save failed, apply-first hint, Unsaved local changes}
shown in a fixed slot to the right of the button (mutually exclusive,
no layout shift).

- TemplateStatus.tsx: drop popover, notification timers, and the
  isInteractive lockout; render Button + status Text driven directly
  by store selectors (syncStatus, isPristine, transformationConfig
  FormDirty, hasPendingLocalWork, templateStorageWriteBlocked).
  Early-return when pristine with no pending work or error so the
  control stays hidden until the user has something to save.
- TemplateStatus.test.tsx: rewrite the UI block as one focused test
  per documented state (pristine-hidden, clean, unsaved, apply-first,
  permission-error, generic-error, saving, click-saves). Drop
  vestigial vi.advanceTimersByTime(3500) calls and "notification
  settle"/"toast fades" wording left over from the old timer model.
  Keep the store/autosave probe tests intact.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants