This release introduces a comprehensive PowerPoint (PPTX) integration featuring a new node type with slide navigation, captioning, and narrative weaving capabilities powered by AI. The backend now supports robust PPTX upload handling and structured slide text extraction with improved rendering fallbacks. The UI has been enhanced for a smoother user experience with tooltips and action bars. Additionally, the PPTX functionality has been modularized for better maintainability. Several bug fixes and dependency updates are also included.
- Added a new PowerPoint node UI with slide drawer, slide navigation, slide extraction to image nodes, and user-triggered captioning and narrative actions (c71c6e) (Eric Ma)
- Added backend PPTX upload handler that extracts slide text/titles using python-pptx and renders slide images via LibreOffice with robust rendering fallbacks (c33e39) (Eric Ma)
- Added structured backend endpoints for PPTX caption and title generation, replacing vision-based streaming with structured {title, caption} outputs (32edf7) (Eric Ma)
- Added a PowerPoint narrative weaving action that combines slide titles and captions into a narrative summary streamed into a new AI node (6bfe5d) (Eric Ma)
- Added a configurable PPTX narrative weaving modal with AI-suggested style presets, controls, backend endpoint for preset generation, and static fallback; updated Cypress spec to validate modal flow (eca1a5) (Eric Ma)
- Added backend unit tests, plugin harness tests, and Cypress spec with fixture for PPTX upload and navigation (658405) (Eric Ma)
- Added python-pptx dependency and installed LibreOffice with baseline fonts in Modal image for server-side PPTX slide rendering (cd86bb) (Eric Ma)
- Moved PPTX request/response models and /api/pptx endpoints into a dedicated plugin module registered at app startup; added python-slugify for preset ID normalization and documentation (b826b1) (Eric Ma)
- Fixed PowerPoint drawer flashing on interactions by patching node body and output panel DOM in-place to avoid full re-render and focus loss (a66302) (Eric Ma)
- Fixed Modal image builds on Debian bookworm by switching from libwebp6 to libwebp7 to ensure LibreOffice and Pillow WebP support install cleanly (cf0b2b0) (Eric Ma)