5.1 KiB
ppt-editing Specification
Purpose
TBD - created by archiving change add-ppt-slide-transitions. Update Purpose after archive.
Requirements
Requirement: PPT Page Transition Menu
The system SHALL provide a per-page PPT transition menu from the single-page PPT right-click menu.
Scenario: Hover transition submenu
- GIVEN the PPT editing panel shows slide page cards
- WHEN the user right-clicks a single PPT page card and hovers the animation menu
- THEN the system SHALL show supported slide transition choices
- AND the currently selected transition SHALL be indicated
Scenario: Select transition
- GIVEN the user opens the PPT page transition submenu
- WHEN the user selects a transition
- THEN the system SHALL store the transition on that page's PPT metadata
- AND subsequent editor renders SHALL show the selected transition as current
Requirement: PPT Slideshow Transition Playback
The system SHALL apply the selected per-page transition during in-app PPT slideshow playback.
Scenario: Navigate to page with transition
- GIVEN a PPT page has a supported transition configured
- WHEN slideshow playback navigates to that page
- THEN the visible page change SHALL use the configured transition effect
Scenario: Reduced motion
- GIVEN the user environment prefers reduced motion
- WHEN slideshow playback navigates between PPT pages
- THEN the system SHALL avoid animated transition effects
Requirement: PPTX Transition Export
The system SHALL include supported per-page slide transitions in downloaded PPTX files.
Scenario: Export configured transitions
- GIVEN PPT pages have supported transitions configured
- WHEN the user downloads the PPT deck
- THEN the generated PPTX SHALL include slide transition metadata for those pages
- AND pages without configured transitions SHALL keep the existing no-transition behavior
Scenario: Ignore invalid transition metadata
- GIVEN a PPT page contains missing or invalid transition metadata
- WHEN the user downloads the PPT deck or plays the slideshow
- THEN the system SHALL treat that page as having no transition
Requirement: Image-First PPT Generation
The system SHALL generate PPT pages as slide Frames whose primary visual content is a complete 16:9 generated image containing the page text, layout, background, and visual design.
Scenario: Generate PPT pages from content
- GIVEN the user invokes PPT generation from a topic or mindmap
- WHEN the system creates the PPT pages
- THEN it SHALL create one Frame per page
- AND it SHALL associate each Frame with the whole-slide generation prompt
- AND it SHALL generate or enqueue one full-slide image for each page
- AND it SHALL insert the resulting image into the corresponding Frame as the primary slide image
Scenario: Page image generation fails
- GIVEN a PPT page image generation task fails
- WHEN the PPT editing panel shows the page
- THEN the page SHALL remain available with its original generation prompt
- AND the user SHALL be able to regenerate that page without recreating the whole PPT
Requirement: PPT Editing Panel
The system SHALL present Frame-based PPT pages through a PPT editing panel that previews and manages pages in deck order.
Scenario: Preview PPT pages
- GIVEN the current canvas contains PPT Frames
- WHEN the user opens the PPT editing panel
- THEN each PPT page SHALL show a page card with its index, name, dimensions, and preview image when available
- AND clicking a page card SHALL focus/select the corresponding Frame on the canvas
Scenario: Hide obsolete PPT actions
- GIVEN the current canvas contains PPT Frames
- WHEN the PPT editing panel renders actions
- THEN it SHALL NOT show PPT background image controls
- AND it SHALL NOT show single-page PPT export actions
- AND it SHALL keep full-deck PPT export available
Requirement: PPT Page Regeneration
The system SHALL replace single-page PPT export with page regeneration that uses the existing page image as a reference.
Scenario: Open regeneration dialog
- GIVEN a PPT page has a stored generation prompt
- WHEN the user clicks “重新生成” for that page
- THEN the AI image generation dialog SHALL open with the stored prompt prefilled
- AND the current primary slide image SHALL be attached as a reference image when available
- AND the target Frame id and dimensions SHALL be passed for automatic回填
Scenario: Regeneration succeeds
- GIVEN a PPT page regeneration task completes successfully
- WHEN the generated image is inserted back into the target Frame
- THEN the previous primary slide image SHALL be replaced by the new image
- AND the page preview SHALL show the new image
- AND the Frame SHALL remain in the same deck order
Scenario: Regeneration fails or is cancelled
- GIVEN a PPT page regeneration task fails or is cancelled
- WHEN the task finishes without a usable image
- THEN the previous primary slide image SHALL remain unchanged
- AND the page SHALL remain available for another regeneration attempt