Skip to content

Design: pptx show — progressive inspection with context-aware filtering #1

@tmustier

Description

@tmustier

Problem

pptx show needs to present slide contents in a way that is useful for an agent across different tasks:

  • Editing a data label: need to find the tiny "954" text box
  • Rewriting narrative: need the bullet-point text shapes
  • Understanding content: need a text summary, not positions
  • Replicating layout: need everything including decorative shapes
  • Updating placeholders: need to know which shapes are structural

Current flat list of 78 shapes (on a complex slide) does not serve any of these well.

Design questions

  1. Filtering vs. showing everything: Filtering by word count wrongly hides chart data labels. But 78 shapes in a flat list is overwhelming. What is the right default?

  2. Sort order: (top, left) reading order seems right, but does not capture visual grouping (e.g. shapes forming a "row" of a waterfall chart).

  3. Modes vs. one output: Should show have modes (--text, --all, --structure) or one good default with drill-down via show <file> <slide> <shape>?

  4. Placeholder constraints: Placeholders (title, subtitle, tracker) have implicit rules:

    • Title: text only, 1-2 lines, do not change font/size/position, one per slide
    • Subtitle: text only, 1 line, same constraints
    • Content placeholders: flexible — use as-is or delete for custom content
    • Should these rules be enforced in the tool or documented in SKILL.md?
  5. Numbering: Placeholders use ph0, ph1 (stable IDs). Content shapes need stable references too — index is random, name is often duplicated ("Content Placeholder 4" appears 20x). Position-based numbering?

Reference

Complex slide example (slide 5 of Tiber deck): 78 shapes total

  • 4 placeholders (title, subtitle, tracker, body)
  • 1 chart (waterfall)
  • 13 text shapes (≥3 words)
  • 25 labels (1-2 words — chart axis labels, data values)
  • 33 decorative (connectors, rectangles, freeforms)
  • 3 groups

Next steps

Pick a design, prototype it, test on real decks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions