feat(wasm): web Save/Save As go through the dialog with a direct download

On the web, Save and Save As now open the in-app Save dialog (filename +
format) like the desktop, and the unsaved-changes prompt's Save routes
through it too — instead of an immediate rfd download. Confirm serializes
to bytes and downloads directly via a Blob + hidden `<a download>` click
(a user gesture), so there is no intermediate "click to download" link.

Replaces the rfd-based download_web / WebSaveResult round-trip with a
synchronous sys::download_bytes. Native save is unchanged.

Native + web build; 75 tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-17 00:52:20 +03:00
commit fefae274d4
6 changed files with 99 additions and 107 deletions

2
Cargo.lock generated
View file

@ -26,6 +26,7 @@ dependencies = [
"iced",
"image",
"inventory",
"js-sys",
"lzma-sys",
"ocs_plugin_api",
"open",
@ -39,6 +40,7 @@ dependencies = [
"truck-shapeops",
"ttf-parser",
"ureq",
"wasm-bindgen",
"web-sys",
"windows-sys 0.61.2",
"winresource",