Skip to content

Add editable templates, layer controls, and image aspect-ratio locking - #372

Open
1eevy wants to merge 7 commits into
nyblnet:mainfrom
1eevy:main
Open

Add editable templates, layer controls, and image aspect-ratio locking#372
1eevy wants to merge 7 commits into
nyblnet:mainfrom
1eevy:main

Conversation

@1eevy

@1eevy 1eevy commented Aug 26, 2026

Copy link
Copy Markdown

This PR was developed with substantial assistance from a large language model as an AI-assisted coding effort. The generated changes were reviewed, built, and validated against the project’s existing checks. It improves slide authoring with editable template pages, safer object layering, per-image aspect-ratio controls, properties-panel scroll preservation, and localization for the new interface elements.

The existing doc.layouts system is extended into a template-page workflow with create, edit, duplicate, delete, save, and cancel actions. Template text boxes remain editable and movable on normal slides, while non-text template elements are rendered as protected background furniture that cannot be selected or reordered. The template manager can be closed with its close button, an outside click, or Escape.

The existing Arrange section continues to provide Bring to front, Bring forward, Send backward, and Send to back controls using the project’s native UI. These operations support normal single-selection and multi-selection workflows while explicitly excluding protected template elements.

Images now have a per-object Keep aspect ratio setting that is enabled by default. When disabled, the image itself can be resized independently in width and height. Re-enabling the setting preserves the image’s current shape and locks its current ratio for subsequent resizing, without restoring any original or historical ratio.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant