Skip to content

✨ Export selected objects with saved presets - #11809

Open
minwookshin wants to merge 4 commits into
penpot:developfrom
minwookshin:issue-11682
Open

minwookshin wants to merge 4 commits into
penpot:developfrom
minwookshin:issue-11682

Conversation

@minwookshin

@minwookshin minwookshin commented Sep 21, 2026 •

Copy link
Copy Markdown

Note: This PR was prepared with Codex assistance and reviewed by the submitting contributor.

What

Add Export selection to the native File menu and existing remappable shortcut system (proposed default: Cmd/Ctrl+Alt+Shift+E), using selected objects' saved export settings. Closes #11682.

Why

Repeated selected-object exports currently require opening and confirming the export dialog. A direct action should preserve scope and format preferences, including when selection is empty or only partly configured.

How

  • Reuse the existing menu item, shortcut display, translations, notifications and export pipeline.
  • Export configured members only; give concrete guidance for empty/missing settings and active jobs.
  • Preserve the existing Cmd/Ctrl+Shift+E export dialog.
  • Reserve a pending batch before the asynchronous response. Keep filename composition correct for single-server, batch and WASM paths.
  • No new dependencies, styles or document properties.

Verification

The initial feature head passed the full frontend suite: 988 tests / 3,384 assertions, zero failures or errors, modified-file formatting/lint, a real WASM build, and complete main/worker compilation.

The latest merge of develop (267134e) preserves both export-selection and upstream SVG-upload test registrations. The four feature source files and both export test files are unchanged from the published contribution. The portable selection suite passed 10 tests / 22 assertions, and runner lint/format and namespace/translation preservation checks passed. The full CLJS/WASM/browser suites were not rerun for this merge.

The compiled editor with repository document/profile fixtures downloaded a real Board 1@2x.png at 380 × 400 from both menu and shortcut. Existing dialog, missing settings and empty selection behavior were inspected. Real-store tests cover duplicate requests, batch failure/retry, unchanged document data and all five WASM filename formats.

A deployed exporter cluster, physical devices and screen readers were not tested. Command naming/default shortcut and mixed-selection policy are proposed for maintainer discussion.

Screenshots

The compiled editor uses repository document/profile fixtures and the real WASM renderer.

Native File menu with the new command and shortcut:

Export selection in the native File menu

The existing export dialog remains available:

Existing export dialog

Actual exported Board 1@2x.png (380 × 400)

Add a discoverable File menu command and remappable shortcut for direct
selection export. Reuse the existing export pipeline and notifications,
reserve pending batch jobs, and preserve each transport's naming contract.

Cover selection, lifecycle, retries, and WASM filenames with regression
tests alongside the existing frontend suite.

AI-assisted-by: gpt-6
Signed-off-by: Minwook Shin <163576506+minwookshin@users.noreply.github.com>
@penpot-triage penpot-triage Bot added the needs triage Issues that need to be reviewed by the product team label Sep 21, 2026
@penpot-triage penpot-triage Bot added this to Main Sep 21, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Main Sep 21, 2026
@madalenapmelo-kp

Copy link
Copy Markdown
Contributor

Thanks for your contribution! We've received your pull request and assigned it for review. It may take us a little while to get to it, but we appreciate your patience and will be in touch as soon as we can!

A quick note: we welcome responsible use of AI tools, but please make sure any AI-assisted contributions are carefully reviewed by a human before submitting. PRs that don't meet our quality standards may be closed without detailed review.

Keep upstream catalog additions alongside the five export messages.
The reviewed export implementation and regression tests are unchanged.

Verify the merged frontend: 988 tests and 3,384 assertions pass.

AI-assisted-by: gpt-6
Signed-off-by: Minwook Shin <163576506+minwookshin@users.noreply.github.com>
Keep the export-selection and upstream SVG upload test registrations.
The generated files and translations from both branches are preserved.

AI-assisted-by: GPT-6
@niwinz niwinz added WG adoption Issue belongs to the Adoption Working Group and removed needs triage Issues that need to be reviewed by the product team labels Sep 24, 2026
@niwinz niwinz removed their assignment Sep 24, 2026
@niwinz niwinz added this to the 2.20.0 milestone Sep 24, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WG adoption Issue belongs to the Adoption Working Group

Projects

Status: Tech Review

Development

Successfully merging this pull request may close these issues.

Add a keyboard shortcut to export the selected object

3 participants