Paper Office
paper-pptxAPI referencediff

pptx.diff

paper-pptx 0.2.0 API reference

Deck diff - the verification mirror (paper-pptx addition).

PPTX carries no revision markup: a deck is amnesiac about its own history. This module therefore reports deterministic differences between two snapshots rather than claiming to recover the edits that produced them. The report is assembled from permanent slide ids, stable shape ids, the visibility-complete text layer, the effective-value resolver, and the kernel's semantic XML comparison.

The matching contract, declared honestly: slides match by their PERMANENT slide id and top-level shapes within them match by slide-wide shape id, which serves lineage-derived decks (v4 saved from v3 - the actual use case). Independently built decks can reuse the same numeric ids, so unrelated decks are outside this matching contract. Deleting an id and reusing it for a new same-kind object is likewise indistinguishable. One documented hazard: deleting the max-id slide then adding a new one recycles the id (upstream allocates max+1), which id-based matching reads as one edited slide - order add-before-delete when building lineage.

Within a stable text container, schema v5 reports at most one changed region after consuming the longest exact prefix and then the longest non-overlapping exact suffix. Repeated content can make the resulting hunk location differ from the historical edit location; the report describes endpoints, never paragraph identity or chronology.

Report-only: no annotated-copy rendering, visual diffing, similarity scoring, or paragraph move inference - those are harness products built ON this report.

SCHEMA_NAME

attributeSCHEMA_NAME
= 'paper-deck-diff'

SCHEMA_VERSION

attributeSCHEMA_VERSION
= 5

On this page