From 9f1a001a2bddf51125ce0e1f29904bc1d15965f3 Mon Sep 17 00:00:00 2001 From: bflatastic Date: Sat, 24 Oct 2026 03:50:44 +0700 Subject: [PATCH] Export for Screens: a per-artboard EPS takes the artboard as its page, so an empty artboard still writes --- crates/engine/src/cmd/fileio/screens.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/engine/src/cmd/fileio/screens.rs b/crates/engine/src/cmd/fileio/screens.rs index 28c3358ca..1d9c0303c 100644 --- a/crates/engine/src/cmd/fileio/screens.rs +++ b/crates/engine/src/cmd/fileio/screens.rs @@ -793,7 +793,12 @@ fn encode_and_write(export: ScreenExport, writer: &mut dyn FnMut(&str, &[u8]) -> Arc::new(d) }) .clone(); - write(&d, r.format.id, &r.options_for(item.region, None)?)? + let mut options = r.options_for(item.region, None)?; + // An EPS page is the artboard, not its art's bounds: an artboard without art still writes. + if r.format.id == "eps" { + options["useArtboards"] = json!(true); + } + write(&d, r.format.id, &options)? } else { write(&item.doc, r.format.id, &r.options_for(item.region, item.artboard)?)? };