Commit Graph
1496 Commits
Author SHA1 Message Date
NaseqandClaude Opus 5.5 feecee0a30 Slide show tests: check the pending preview and the one-render gate directly (#964)
A harness runs frames until no repaint is asked for, so the preview had
already landed when its first assertion ran. One raw frame now shows the
preview pending and one render started, and the paging test pins a pending
job and checks a page turn starts no other render.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:13:44 +04:30
NaseqandClaude Opus 5.5 356195ba33 Slide show: render the Presenter View's next-slide preview off the UI thread (#964)
Turning the page with Presenter View on re-rendered the next-slide preview
synchronously, single-threaded, on the UI thread. The preview now renders
on a worker thread and arrives on a later frame; the web build (no
threads), or a worker that dies, renders it inline. At most one render runs:
paging faster than it asks for the newest preview once it is done, and a
finished one no longer wanted is dropped. Job and texture are keyed by the
presentation as well as the slide, so a preview rendered before an edit is
rendered again. While a preview is on its way the box stays empty rather
than saying "End of slide show".

Rebased onto the show module split: show/presenter.rs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:53:57 +04:30
aiongg ee875abffa Merge pull request #1433 from aiongg/layout
refactor: shared module layout (craft-contrib#20)
2026-10-26 21:30:28 -04:00
skylar taylor-barrick 020e53e7a0 Merge pull request #1429 from storytold/fix/nextest-0.9.150
ci: require nextest 0.9.150
2026-10-26 17:35:27 -06:00
aiongg 12001d14e7 refactor(engine): split cmd/shape.rs into cmd/shape/{size,appearance,picture,freeform}.rs 2026-10-26 22:10:40 +00:00
aiongg bbf7a8b8c7 docs: update source paths after the module layout moves 2026-10-26 22:08:44 +00:00
aiongg 96f0ac204e test(engine): read past #[cfg(test)] imports in the file-system scan 2026-10-26 22:08:44 +00:00
aiongg 6b57773373 refactor(geom): split preset.rs into preset/{catalog,builder,build,shapes}.rs 2026-10-26 22:08:44 +00:00
aiongg 838d51ed59 refactor(text): split lib.rs into {run,style,autonum,shape,symbol,breaking,layout}.rs 2026-10-26 22:08:44 +00:00
aiongg 5b02b1744c refactor(render): split lib.rs into {raster,opts,slide,renderer,geometry,stroke,text_draw}.rs 2026-10-26 22:08:44 +00:00
aiongg 8b456dce41 refactor(engine): split tools.rs into tools/{hit,pointer,drag,click,geometry}.rs 2026-10-26 22:08:44 +00:00
aiongg 15bf821535 refactor(engine): split cmd/text.rs into cmd/text/{ime,layout,editing,autocorrect,caret,formatting}.rs 2026-10-26 22:08:44 +00:00
aiongg d7c06b53eb refactor(engine): split cmd/smartart.rs into cmd/smartart/{nodes,paint,layout,diagrams,edit}.rs 2026-10-26 22:08:44 +00:00
aiongg 97b98767f1 refactor(engine): split cmd/insert.rs into cmd/insert/{picture,album,chart,text_fields,links}.rs 2026-10-26 22:08:44 +00:00
aiongg d5180fbb70 refactor(engine): split cmd/format.rs into cmd/format/{font,text_effects,paragraph,painter,ruler}.rs 2026-10-26 22:08:44 +00:00
aiongg 9c222be711 refactor(engine): split cmd/design.rs into cmd/design/{colors,slide_background,slide_setup,master_view}.rs 2026-10-26 22:08:44 +00:00
aiongg 28371e27d7 refactor(ui-egui): split backstage.rs into backstage/{files,info,print}.rs 2026-10-26 22:08:44 +00:00
aiongg 4bdd5b5bee refactor(ui-egui): split icons.rs into icons/{geometry,draw}.rs 2026-10-26 22:08:44 +00:00
aiongg 99688fe45a refactor(ui-egui): split show.rs into show/{render,keys,ui,media,presenter,zoom}.rs 2026-10-26 22:08:44 +00:00
aiongg ada66524a2 refactor(ui-egui): split panels.rs into one file per pane under panels/ 2026-10-26 22:08:44 +00:00
aiongg e84ba9def1 refactor(ui-egui): split ribbon.rs into one file per tab under ribbon/ 2026-10-26 22:08:44 +00:00
aiongg 9545ff4d61 refactor(ui-egui): move the zoom, trim, about and alt-text test modules to their dialog files 2026-10-26 22:08:44 +00:00
aiongg c8a6363a0f refactor(ui-egui): split dialogs.rs into one file per dialog under dialogs/ 2026-10-26 22:08:44 +00:00
aiongg 462310faed refactor(ui-egui): split canvas.rs into canvas/{input,scroll,ime,media,rulers,guides,overlays,context_menu}.rs 2026-10-26 22:08:44 +00:00
aiongg d428b4804a refactor(ui-egui): move the backstage test files beside backstage.rs 2026-10-26 22:08:44 +00:00
aiongg 9ab4ed9581 refactor(ui-egui): move the sorter test files beside sorter.rs 2026-10-26 22:08:44 +00:00
aiongg a094f37ed9 refactor(ui-egui): move the ribbon test files beside ribbon.rs 2026-10-26 22:08:44 +00:00
aiongg 742e660afd refactor(ui-egui): move the dialogs test files beside dialogs.rs 2026-10-26 22:08:44 +00:00
aiongg 8338e21ecf refactor(ui-egui): move the canvas test files beside canvas.rs 2026-10-26 22:08:44 +00:00
aiongg 7ab59a0cd3 refactor(ui-egui): move qat to ribbon/qat.rs 2026-10-26 22:08:44 +00:00
aiongg a730e66757 refactor(ui-egui): move updates_ui to dialogs/updates_ui.rs 2026-10-26 22:08:44 +00:00
aiongg ac3c3b7b2a refactor(ui-egui): move credits to dialogs/credits.rs 2026-10-26 22:08:44 +00:00
aiongg 1368d06eeb refactor(ui-egui): move squiggles to canvas/squiggles.rs 2026-10-26 22:08:44 +00:00
aiongg af61c1cf3a refactor(ui-egui): move preview to canvas/preview.rs 2026-10-26 22:08:44 +00:00
aiongg 099dfa7670 refactor(ui-egui): move the panels test files beside panels.rs 2026-10-26 22:08:44 +00:00
aiongg d1022cdaa4 refactor(ui-egui): move animtimeline to panels/animtimeline.rs 2026-10-26 22:08:44 +00:00
aiongg dcd06db2d3 refactor(ui-egui): move fillui to panels/fillui.rs 2026-10-26 22:08:44 +00:00
aiongg 82fb8e7680 refactor(ui-egui): move notes to panels/notes.rs 2026-10-26 22:08:44 +00:00
aiongg 59e4b272d8 refactor(ui-egui): move selpane to panels/selpane.rs 2026-10-26 22:08:44 +00:00
aiongg 62aa7aa437 refactor(ui-egui): move thumbs to panels/thumbs.rs 2026-10-26 22:08:44 +00:00
aiongg af9b8c1adb refactor(ui-egui): rename panes to panels 2026-10-26 22:08:44 +00:00
aiongg d6026de7c2 refactor(ui-egui): move SlideApp method groups to app/{commands,files,ime,input,keys,playback,clipboard,frame,control}.rs 2026-10-26 22:08:44 +00:00
aiongg d9199598e1 refactor(ui-egui): move SlideApp methods to app.rs and lib.rs types to services.rs, state.rs, clock.rs, ime_hooks.rs 2026-10-26 22:08:44 +00:00
aiongg a2194407a1 refactor(media): move player tests to player/tests.rs 2026-10-26 22:08:44 +00:00
aiongg b440c2ff40 refactor(geom): move preset tests to preset/tests.rs 2026-10-26 22:08:44 +00:00
aiongg 65a3ddc8f0 refactor(format): move lib.rs tests to tests.rs 2026-10-26 22:08:44 +00:00
aiongg 00eb5caad6 refactor(fonts): move lib.rs tests to tests.rs 2026-10-26 22:08:44 +00:00
aiongg 50feadc965 refactor(deckcraft): move control_server tests to control_server/tests.rs 2026-10-26 22:08:44 +00:00
aiongg e9a7413c87 refactor(engine): move insert icon_and_picture_tests to cmd/insert/icon_and_picture_tests.rs 2026-10-26 22:08:44 +00:00
aiongg b48467943b refactor(engine): move design browse_theme_tests to cmd/design/browse_theme_tests.rs 2026-10-26 22:08:44 +00:00