commits
Major refactor to use operation stack instead of destructive edits:
- All edits are now non-destructive (crop, bg color, bg removal)
- Operations stack: removeBg, crop, bgColor
- Undo button to remove last operation
- Optimize preserves transparency (uses PNG for transparent images)
- Background color is preview-only until export
- Crop can be adjusted without quality loss
- Original image preserved for re-processing
Fixes:
- Optimize no longer converts transparency to black background
- Background color changes don't bake into image permanently
- Can undo any operation
馃挊 Generated with Crush
Assisted-by: Claude Sonnet 4.5 via Crush <crush@charm.land>
The Hack Club AI proxy doesn't support async predictions API,
so reverting to the original synchronous approach that works.
Kept: token validation, file size tracking, status positioning
馃挊 Generated with Crush
Assisted-by: Claude Sonnet 4.5 via Crush <crush@charm.land>
- Validate Hack Club AI token format (sk-hc-v1-<64 hex chars>)
- Show file size before/after with percentage change
- Display dimensions and current size in info bar
- Add polling infrastructure for async background removal
- Falls back to synchronous mode if proxy doesn't support async
- Show elapsed time during processing
- Move status messages below image preview
馃挊 Generated with Crush
Assisted-by: Claude Sonnet 4.5 via Crush <crush@charm.land>
Major refactor to use operation stack instead of destructive edits:
- All edits are now non-destructive (crop, bg color, bg removal)
- Operations stack: removeBg, crop, bgColor
- Undo button to remove last operation
- Optimize preserves transparency (uses PNG for transparent images)
- Background color is preview-only until export
- Crop can be adjusted without quality loss
- Original image preserved for re-processing
Fixes:
- Optimize no longer converts transparency to black background
- Background color changes don't bake into image permanently
- Can undo any operation
馃挊 Generated with Crush
Assisted-by: Claude Sonnet 4.5 via Crush <crush@charm.land>
- Validate Hack Club AI token format (sk-hc-v1-<64 hex chars>)
- Show file size before/after with percentage change
- Display dimensions and current size in info bar
- Add polling infrastructure for async background removal
- Falls back to synchronous mode if proxy doesn't support async
- Show elapsed time during processing
- Move status messages below image preview
馃挊 Generated with Crush
Assisted-by: Claude Sonnet 4.5 via Crush <crush@charm.land>