Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable client side modern image generation #17

Open
adamsilverstein opened this issue Nov 29, 2021 · 11 comments
Open

Enable client side modern image generation #17

adamsilverstein opened this issue Nov 29, 2021 · 11 comments
Assignees
Labels
[Issue] Overview Provides an overview of a specific project [Type] Feature A new feature within an existing module WP Core Work relates to inclusion in WP Core only

Comments

@adamsilverstein
Copy link
Member

adamsilverstein commented Nov 29, 2021

Enable client-side image generation and compression for both new uploads and existing images.

Leveraging parts of https://github.com/swissspidy/media-experiments to build this in Gutenberg initially.

Gutenberg tracking issue:

@adamsilverstein adamsilverstein added [Type] Feature A new feature within an existing module [Focus] Images labels Nov 29, 2021
@adamsilverstein
Copy link
Member Author

Looks like web support is now available in https://github.com/kleisauke/wasm-vips - we should investigate that as a possible path forward in addition to squoosh.

@adamsilverstein
Copy link
Member Author

https://github.com/myeveryheart/squoosh-browser looks very promising!

@adamsilverstein
Copy link
Member Author

Another plus of client side image handling might be the ability to properly handle uploaded HEIC files.

@kleisauke
Copy link

wasm-vips v0.0.2 is now available which distributes the web variant in its NPM package. Note that it cannot process HEIC images (via libde265 and libheif), since that includes patent-encumbered HEVC-related logic.

@Richard-TR
Copy link

Just a little nudge to say this would be incredibly useful. All existing image optimisation solutions available for wordpress pale in comparison to squoosh. Perhaps even a little menu for setting settings for auto squooshing on upload. Would mean inexperienced users (contributors for example) don't have to mess around with things they don't understand.

@johnbillion
Copy link
Member

Ancient core Trac ticket on this topic: https://core.trac.wordpress.org/ticket/19770

@adamsilverstein
Copy link
Member Author

Thanks for the context @johnbillion !

@adamsilverstein
Copy link
Member Author

Noting that Gutenberg is exploring adding compression features in this issue: WordPress/gutenberg#55106

@sstopfer sstopfer moved this to Not Started/Backlog 📆 in WP Performance 2024 May 26, 2024
@swissspidy swissspidy self-assigned this May 29, 2024
@joemcgill joemcgill added the [Issue] Overview Provides an overview of a specific project label Jun 26, 2024
@swissspidy swissspidy moved this from Not Started/Backlog 📆 to In Progress 🚧 in WP Performance 2024 Jul 15, 2024
@sstopfer sstopfer added the WP Core Work relates to inclusion in WP Core only label Jul 16, 2024
@swissspidy
Copy link
Member

The current effort in this regard is centering around bringing (parts of) https://github.com/swissspidy/media-experiments to Gutenberg. Related discussions happened at swissspidy/media-experiments#561 to ensure the code bases are as aligned as possible.

As mentioned in the ticket description, the roadmap can be found at WordPress/gutenberg#61447.

I've been working on an initial draft over at WordPress/gutenberg#64278 that I will continue to iterate on and split into smaller chunks etc.

@swissspidy
Copy link
Member

Recently merged:

Currently working on:

It takes a while for people to review all those PRs as everyone is quite busy with 6.7 and GB phase 3.

A main focus right now is to ensure that the thing we build works outside of WordPress too and without people having to change their build tooling for the web workers and WebAssembly modules. So that requires some tooling changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Issue] Overview Provides an overview of a specific project [Type] Feature A new feature within an existing module WP Core Work relates to inclusion in WP Core only
Projects
Status: In Progress 🚧
Status: No status
Development

No branches or pull requests

7 participants