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.

Requirements and limitations

  • 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; no application or asset package was downloaded or run here.
  • 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; they do not prove arbitrary-deck byte identity or original PowerPoint rendering.
  • 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, not acceptance-test pass rates.
  • The project is alpha and has documented file-exchange, presentation-workflow, stability and ecosystem gaps. Source snapshots and older assessment rows differ; no complete PowerPoint/Office equivalence, recovery of Microsoft’s authored source or reconstruction of its hosted services is asserted. The catalog did not rerun any original-versus-reimplementation comparison.
  • 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; automation interfaces do not establish REA use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
App

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/README.md
  2. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/Cargo.toml
  3. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/.github/workflows/ci.yml
  4. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/apps/deckcraft-web/Trunk.toml
  5. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/docs/target-app-parity.md
  6. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/crates/pptx/tests/corpus.rs
  7. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/crates/pptx/tests/roundtrip.rs
  8. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/crates/pptx/tests/kept_parts.rs
  9. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/LICENSE-MIT
  10. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/LICENSE-APACHE
  11. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/NOTICE
  12. https://github.com/storytold/deckcraft/blob/1dc69720db64323370dda061226becb09ad79fd4/docs/brand/LICENSE-brand.txt