Skip to content
New issue

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

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

Already on GitHub? # to your account

Screenshots in wasm #8455

Merged
merged 4 commits into from
Apr 28, 2023
Merged

Screenshots in wasm #8455

merged 4 commits into from
Apr 28, 2023

Conversation

mockersf
Copy link
Member

Objective

Solution

  • Create a blob from the image data, generate a url to that blob, add an a element to the document linking to that url, click on that element, then revoke the url
  • This will automatically trigger a download of the screenshot file in the browser

@mockersf mockersf added the O-Web Specific to web (WASM) builds label Apr 22, 2023
Copy link
Contributor

@nicopap nicopap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. just a question

html_element.click();
web_sys::Url::revoke_object_url(&url)?;
Ok::<(), JsValue>(())
})() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The syntax for "try/catch" in rust is very unusual 🙂

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you... get used to it. and it provides nice scoping

@alice-i-cecile alice-i-cecile added C-Feature A new feature, making something new possible A-Rendering Drawing game state to the screen A-Diagnostics Logging, crash handling, error reporting and performance analysis labels Apr 22, 2023
Comment on lines +86 to +95
'Blob',
'Document',
'Element',
'HtmlElement',
'Node',
'Url',
'Window',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will including more web-sys features meaningfully affect our wasm build sizes?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tried a build, it's 14kB smaller with this PR. Build duration were similar

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing that it got smaller by adding features. Works for me

@mockersf mockersf force-pushed the screenshots-in-wasm branch from 94aa995 to 39f34f6 Compare April 26, 2023 22:08
@cart cart added this pull request to the merge queue Apr 28, 2023
Merged via the queue into bevyengine:main with commit cb286e5 Apr 28, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-Diagnostics Logging, crash handling, error reporting and performance analysis A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible O-Web Specific to web (WASM) builds
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants