Summary
Enhance the Minicart widget to use the Python Image Optimisation Engine, allowing product images to be optimised transparently while maintaining the existing customer experience.
Motivation
The Minicart displays dynamic product images that may not have been optimised previously. By reusing the Python Image Optimisation Engine, the widget can benefit from the same optimisation pipeline as the Product Gallery, ensuring consistency across ReactEdge widgets.
Objectives
- Integrate the Minicart with the Python Image Optimisation Engine.
- Optimise product images asynchronously.
- Preserve the current rendering behaviour and responsiveness.
- Reuse the common optimisation pipeline without introducing widget-specific logic into the Python engine.
Functional Requirements
The Minicart shall:
- Detect whether an optimised image is available.
- Display the original image when no optimised version exists.
- Trigger asynchronous optimisation through the Python engine.
- Continue rendering without waiting for optimisation to complete.
- Automatically use optimised images on subsequent requests once they become available.
- Prevent duplicate optimisation requests for the same image.
Non-functional Requirements
- No degradation of Minicart performance.
- No interruption to the checkout experience.
- Integration must rely solely on the public API exposed by the Python engine.
- Optimisation failures must not affect the Minicart.
Out of Scope
- Manual approval workflow.
- Notification pipeline.
- CDN integration.
- Mage-OS integration.
- Optimisation of additional widgets.
Acceptance Criteria
- The Minicart successfully delegates image optimisation to the Python engine.
- Original images are displayed immediately when no optimised version exists.
- Image optimisation occurs asynchronously.
- Optimised images are used automatically on future requests.
- Duplicate optimisation jobs are avoided.
- The Minicart remains fully functional if the Python engine is unavailable.
Summary
Enhance the Minicart widget to use the Python Image Optimisation Engine, allowing product images to be optimised transparently while maintaining the existing customer experience.
Motivation
The Minicart displays dynamic product images that may not have been optimised previously. By reusing the Python Image Optimisation Engine, the widget can benefit from the same optimisation pipeline as the Product Gallery, ensuring consistency across ReactEdge widgets.
Objectives
Functional Requirements
The Minicart shall:
Non-functional Requirements
Out of Scope
Acceptance Criteria