leptoquark1 / sw-blurhash Goto Github PK
View Code? Open in Web Editor NEWBrings Blurhash, the probably most compact and representative form of a placeholder for images in existence, to Shopware 6
License: Other
Brings Blurhash, the probably most compact and representative form of a placeholder for images in existence, to Shopware 6
License: Other
It should be possible to list images which do not meet the 'exclusion' configuration settings and images with blurhash that no longer fit the 'exclusion' configuration.
I want to make this plugin compatible with FroshPlatformThumbnailProcessor.
While this plugin doesn't have thumbnails on any space, the system for thresholdThumbnail isn't suitable.
My idea would be:
If thresholdThumbnail occurs and the thumbnail doesn't exist on disk, the thumbnail should be generated on the fly to calculate the hash of it. Tested with calculated hash for 9MB jpeg which will never show any hash for client. Hash is calculated,
What do you think about it?
I have only put together a few ideas for mobile improvements here. Open for discussion...
Processing
Misc
Hash Media-queries
Different hash sizes by device size (media-query), user-agent and similar classifications
The effort-benefit ratio should definitely be assessed in advance
File size limitation
Default exclusion for tiny and small images
Blurhash decoding using WebAssembly
First try with Rust was significant slower than the current implementation
To increase compatibility, it shall be possible to fetch the generated Blurhashes via the store api and admin api. The model MediaHashId
fulfils all requirements about the data a consumer might need.
Exhaustive requirements for the resources are as follows
In order to be able to use the plug-in as flexibly as possible, the current restrictions due to the global scope of the entire configuration settings regarding the encoding process are definitely a barrier.
There should be a structured inheritance dependence in which a media entity is the first instance and the global configuration is the last.
Especially through active marketing using the shopping experience, a targeted and optimised use of the individually adapted behaviour of teasers for key visuals and content or product presentation matched to its context and further content flow is possible.
Currently, the following configuration values would provide a suitable framework for this:
Performance and Encoding
These values can then be defined in the following order of decreasing valence:
Media Entity -> CMS Page -> Media Folder -> Global Scope
device (laptop):
Ryzen 9 5950hx
RTX 3060
hash WtH3Bgx]WXxZWYkCu6f*ofWBR*j?IonhogNHRjj[ivxYRkR-oJbI
1280 x 528
decode: 320 ms ๐ฑ
hash WPRysgayxuj[xuoft7ayRjj[WBay~qj[M{ayofayM{fQxuayt7of
600 x 600
decode 150 ms
Is it really normal?
To simplify the shop scaffold process or the creation of setup templates, the plugin should be able to be added via Composers require.
Just like validating and (re)generation of media entities (individually or by folder), it should be possible to exclude certain folders from generation. Media, however, can be excluded via tags.
The plug-in configuration can lead to confusion in the case of folders with the same name.
This feature is crucial for a fully well-rounded UX and maintainability of media that are considered for decoding from integration processes.
Is there any reason you added the libraries static into this project, instead of using existing libs?
JS:
https://github.com/woltapp/blurhash/tree/master/TypeScript
PHP:
https://github.com/bepsvpt/blurhash
https://github.com/kornrunner/php-blurhash
For maximum compatibility of emulated integration, at least the explicit handling of background images should be possible.
Currently no background images are processed by the emulated integration.
At least via Shopping Experience / CMS Rich Editors or by certain Twig functionalities, it should be possible to add background images that will be respected in integrations.
It's open for discussion on
Tied to preceding discussions a significant performance improvement in PHP Encoding process can be archived with the support of PHP 8, further plugins and so on
Using PHP Plugins / Packages
Using Subprocesses
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.