Case study
DeckCraft: presentation workflow reconstruction and bounded PPTX interchange
The authors describe DeckCraft as a clean-room Rust implementation of PowerPoint-style presentation workflows. Its slide model, rendering and command layers support desktop/browser editing and PPTX interchange; reviewed source tests check constructed decks and selected preserved package parts.
- Targets
- App
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: The pinned workspace identifies version 0.7.0 and declares Rust 1.95+ with Cargo. Linux source builds need ALSA headers and display/window dependencies; the browser path uses Trunk and wasm32-unknown-unknown. Optional craft-fonts inputs affect rendering, with system-font fallback documented.
- Testing evidence: The reviewed PPTX corpus is authored in code, not collected from PowerPoint. Tests check retained text and content-part counts after saving, then part names and text after another save. Separate tests preserve selected XML metadata.
- Testing evidence: The dated assessment against PowerPoint for Mac 16.113.4 explicitly says rendering fidelity, performance against PowerPoint and end-to-end workflows with real users’ decks were not measured in that assessment. Feature breadth and readiness percentages are checklist counts or author estimates.
- Limits: The project is alpha and has documented file-exchange, presentation-workflow, stability and ecosystem gaps. Source snapshots and older assessment rows differ.
- License: Code is MIT OR Apache-2.0 with NOTICE obligations. Fonts/icons retain separate terms, and NOTICE lists the Symphonia audio decoder under MPL-2.0. ArtCraft marks have restricted terms and must be removed from published modified versions except contribution-only forks. Clean-room remains author-attributed.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · storytold/deckcraft · Revision 1dc6972
- Cargo.toml GitHub · storytold/deckcraft · Revision 1dc6972
- .github/workflows/ci.yml GitHub · storytold/deckcraft · Revision 1dc6972
- apps/deckcraft-web/Trunk.toml GitHub · storytold/deckcraft · Revision 1dc6972
- docs/target-app-parity.md GitHub · storytold/deckcraft · Revision 1dc6972
- crates/pptx/tests/corpus.rs GitHub · storytold/deckcraft · Revision 1dc6972
- crates/pptx/tests/roundtrip.rs GitHub · storytold/deckcraft · Revision 1dc6972
- crates/pptx/tests/kept_parts.rs GitHub · storytold/deckcraft · Revision 1dc6972
- LICENSE-MIT GitHub · storytold/deckcraft · Revision 1dc6972
- LICENSE-APACHE GitHub · storytold/deckcraft · Revision 1dc6972
- NOTICE GitHub · storytold/deckcraft · Revision 1dc6972
- docs/brand/LICENSE-brand.txt GitHub · storytold/deckcraft · Revision 1dc6972
More in Apps
- Ledger Reborn: an independent accounting app informed by QuickBooks study · Case study
- Pocket Tasks: reconstructing task state and persistence · Case study
- Open Scrantic: reconstructing the Johnny Castaway screensaver engine · Case study
- Screen Studio: an author-reported REA study of auto-zoom rules · Case study
- Claude Code background lab: an REA-informed reimplementation of a desktop animation · Case study
- Notes CSV export: an author-reported REA check of reconstruction oracles · Case study