• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
jslez

jslez

slidebot

Public
Like
slidebot
Home
Code
9
backend
4
backup
1
debug
1
frontend
1
pptx_examples
2
README-content-editing.md
README-development.md
README-how_pptx-works.md
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
7
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README-development.md
Code
/
README-development.md
Search
…
README-development.md

Development Roadmap

Next Major Feature: Slide Structural Operations

Current Limitation

The system can only edit content within existing slides. It cannot:

  • Duplicate slides
  • Delete slides
  • Reorder slides
  • Create new slides from templates

Implementation Plan: Slide Duplication & Deletion

Phase 1: PPTX Structure Understanding

Goal: Map out all the files and relationships that need updating

Key Files in PPTX:

├── [Content_Types].xml          # Declares all file types
├── _rels/.rels                  # Root relationships
├── ppt/
│   ├── presentation.xml         # Slide order and references
│   ├── _rels/presentation.xml.rels  # Slide file relationships
│   └── slides/
│       ├── slide1.xml           # Individual slide content
│       ├── slide2.xml
│       └── slide3.xml

Research Tasks:

  1. Document exact XML structure for slide references in presentation.xml
  2. Map relationship IDs in presentation.xml.rels
  3. Understand slide numbering and ID assignment patterns
  4. Test what happens when files are missing/extra

Phase 2: Safe Slide Duplication

Goal: Copy existing slide with all proper relationships

Implementation Strategy:

interface SlideOperation { type: 'duplicate' | 'delete' | 'reorder'; sourceSlide?: number; // For duplication targetSlide?: number; // For deletion insertAfter?: number; // Where to place duplicated slide modifications?: { // Content changes to make after duplication textBoxId: string; content: string; }; }

Steps for Slide Duplication:

  1. Copy slide XML file: slide2.xml → slide4.xml
  2. Update presentation.xml: Add new <p:sldId> entry with unique ID
  3. Update presentation.xml.rels: Add relationship to new slide file
  4. Update [Content_Types].xml: Add entry for new slide file
  5. Renumber subsequent slides: If inserting in middle, update file names
  6. Apply content modifications: Use existing text box replacement logic

Error Handling:

  • Validate all relationship IDs are unique
  • Ensure slide numbering is sequential
  • Verify all referenced files exist
  • Test with PowerPoint to ensure no corruption

Phase 3: Safe Slide Deletion

Goal: Remove slide and clean up all references

Steps for Slide Deletion:

  1. Remove slide XML file: Delete slide3.xml
  2. Update presentation.xml: Remove corresponding <p:sldId> entry
  3. Update presentation.xml.rels: Remove relationship entry
  4. Update [Content_Types].xml: Remove slide file entry
  5. Renumber remaining slides: slide4.xml → slide3.xml, etc.
  6. Update all relationship references: Fix any broken IDs

Phase 4: Enhanced AI Integration

Goal: AI can plan and execute structural changes

Enhanced Command Structure:

{ "action": "structural-multi-slide", "operations": [ { "type": "duplicate", "sourceSlide": 2, "insertAfter": 2, "modifications": { "textBoxId": "TB0", "content": "Advanced Tortoise Care" } }, { "type": "edit", "slideNumber": 3, "textBoxId": "TB1", "content": "• Advanced feeding tips\n• Habitat optimization" }, { "type": "delete", "slideNumber": 5 } ] }

AI Prompt Enhancement:

  • Recognize when user needs more slides than available
  • Suggest slide duplication with content variations
  • Plan slide deletion when content is redundant
  • Coordinate structural changes with content changes

Risk Mitigation

High-Risk Areas

  1. Relationship ID conflicts: Duplicate IDs break PowerPoint
  2. File numbering gaps: Missing slide3.xml with slide4.xml present
  3. Orphaned references: presentation.xml referencing deleted slides
  4. XML namespace issues: Malformed relationship XML

Testing Strategy

  1. Unit tests: Test each XML modification function
  2. Integration tests: Full PPTX generation and PowerPoint validation
  3. Edge cases: Empty slides, complex layouts, embedded media
  4. Rollback capability: Ability to revert to original file on failure

Implementation Phases

  • Phase 1: Research and documentation (1-2 sessions)
  • Phase 2: Slide duplication only (2-3 sessions)
  • Phase 3: Slide deletion (1-2 sessions)
  • Phase 4: AI integration (1 session)

Success Criteria

  • Can duplicate any slide without corruption
  • Can delete any slide without breaking references
  • PowerPoint opens files without repair prompts
  • AI can plan multi-slide operations with structural changes
  • Comprehensive error handling and rollback capability

Notes

  • Start with duplication (safer than deletion)
  • Test extensively with Mini_template_01.pptx
  • Keep detailed logs of all XML modifications
  • Consider creating backup before structural operations
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.