Documentation Coverage — Features & Limitations¶
Programmatically generated from every page's own doc_coverage: front
matter, cross-referenced against scripts/coverage_registry.yml. Run
uv run src/pptxdiff/docs-site/scripts/sync_doc_coverage.py --write to
regenerate after adding or changing coverage on any page; --check verifies
this page is still in sync (see the script's own docstring for exactly what
that checks).
40 tracked items — 36 complete, 4 partial, 0 not yet documented. (generated 2026-08-05T08:54:58Z)
| Complete | Partial | Missing | Total | |
|---|---|---|---|---|
| Features | 22 | 4 | 0 | 26 |
| Limitations | 14 | 0 | 0 | 14 |
Features¶
| Item | Status | Documented at |
|---|---|---|
| Accessibility (aria-labels, screen-reader-friendly toasts) | Complete | ui-shortcuts § accessibility |
| Batch mode (multi-pair upload, pairing, reordering) | Complete | batch-mode |
| Dark / light mode | Complete | ui-shortcuts § dark mode |
| Deck-level comparison (alignment, added/removed/moved slides) | Complete | deck-comparison index § see it in action |
| Diff engine (per-slide-pair property diffing) | Complete | diff-engine index |
| Duplicate detection (same-deck and cross-deck) | Complete | duplicate-detection |
| Exports (PDF/HTML/JSON/CSV/Markdown/Notion/Confluence) | Complete | exports |
| Git integration for .pptx files (textconv/difftool) | Partial | headless-cli-api § git integration |
| Headless CLI (@pptxdiff/cli) | Partial | headless-cli-api § pptxdiffcli |
| Homebrew formula for pptxdiff | Partial | architecture § packaging layers getting-started § option d homebrew homebrew |
| Keyboard shortcuts | Complete | ui-shortcuts § keyboard shortcuts |
| PPTXDIFF_LITE_MODE: env var + ?lite=1 query param | Complete | architecture § runtime dependencies vendored locally cli § lite mode cdn sourcing ui-shortcuts § offline mode |
| Live push to Slack/Notion/Confluence | Complete | exports § live push |
| npm CLI (bin/cli.js) | Complete | architecture § packaging layers cli getting-started |
| Offline capability (vendored React/ReactDOM/Babel/JSZip/pptx-renderer/fonts) | Complete | architecture § runtime dependencies vendored locally getting-started § requirements index |
| In-app "Offline Mode" corner toggle | Complete | cli § lite mode cdn sourcing ui-shortcuts § offline mode |
| OpenAPI docs endpoints (/openapi.json and /docs) | Complete | headless-cli-api § api discovery |
| Rendering fidelity (Rendered vs. Schematic) | Complete | rendering index |
| Reviewer workflow (reviewers, approvals, comments, history) | Complete | reviewer-workflow index |
| In-browser self-test suite | Complete | architecture § testing philosophy self-tests |
| On-disk sample .pptx fixtures (gen-sample-pptx.mjs) | Complete | getting-started § try it with the bundled sample files |
| Three-way merge (per-diff picks, beta .pptx export) | Complete | merge |
| Single pair / All pairs / Batch views | Complete | deck-comparison § views |
| VS Code extension | Complete | architecture § packaging layers vscode-extension |
| Web API (@pptxdiff/server) | Partial | headless-cli-api § pptxdiffserver |
| Word-level (LCS) text diffing | Complete | diff-engine § word level diffing |
Limitations¶
| Item | Status | Documented at |
|---|---|---|
| Accessibility limitations (English-only UI, no full keyboard-nav audit) | Complete | limitations |
| Batch mode limitations (untuned filename-similarity threshold) | Complete | limitations |
| Deck-level comparison limitations (fixed/untuned alignment thresholds) | Complete | limitations |
| Diff engine limitations (partial theme-color map, table-diff cap, no section/OLE/3D diff) | Complete | limitations |
| Export limitations (shareable link is data: URL, Notion/Confluence live push is CORS-limited) | Complete | exports § sharing limitations |
| Headless CLI/API: not published, Phase 1 only, no server auth | Complete | limitations |
| Homebrew formula: not tapped anywhere yet, not verified against real brew locally | Complete | limitations |
| Lite mode is all 5 dependencies at once, no per-dependency mixing | Complete | limitations |
| Offline-capability limitations (pdfjs-dist unvendored, latin-only font subset) | Complete | limitations |
| Packaging limitations (opens browser tab, not native window) | Complete | limitations |
| Rendering fidelity limitations (schematic fallback, non-pixel-perfect master/layout) | Complete | rendering § known rendering limitations limitations |
| Reviewer workflow limitations (merge is planning-scope, review state local) | Complete | merge § why not a full ooxml round trip reviewer-workflow § persistence limitations |
| On-disk sample fixture gaps (no SmartArt/transitions/embedded-fonts/real-media) | Complete | limitations |
| Transition preview is simplified crossfade, not per-type accurate | Complete | rendering § known rendering limitations limitations |