Designer: layout ideas that rearrange the current slide (#314)

Design Ideas showed the current slide once per built-in theme, and picking
one ran design.theme on the whole presentation; with a large picture every
idea looked the same. The pane also re-rendered eight slides every frame.

- New commands design.ideas (query) and design.applyIdea {id, slide?}
  (cmd/ideas.rs). A slide with a picture gets full-bleed with the title on a
  band, picture left or right with the text beside it, and a framed picture;
  a text slide gets a title column, a centred title and a title at the foot.
  An idea moves the slide's own shapes, crops the picture to cover its new
  box, sends it to the back, and changes only that slide (one undo step).
- The pane shows the layout ideas first, then the themes under a "whole
  presentation" heading, and caches the thumbnails until the deck revision,
  slide or pane width changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Nikita Rakitin
2026-10-13 21:10:59 +03:00
co-authored by Cursor
parent 457406a7a5
commit ede2ca69b6
3 changed files with 391 additions and 18 deletions
+2
View File
@@ -6,6 +6,7 @@ pub mod design;
pub mod edit;
pub mod file;
pub mod format;
pub mod ideas;
pub mod insert;
pub mod inspect;
pub mod media;
@@ -136,6 +137,7 @@ pub fn command_specs() -> &'static [CommandSpec] {
v.extend(text::specs());
v.extend(format::specs());
v.extend(design::specs());
v.extend(ideas::specs());
v.extend(transition::specs());
v.extend(animation::specs());
v.extend(table::specs());