Case study
GridCraft: spreadsheet workflow reconstruction and XLSX round-trip limits
The authors describe GridCraft as a clean-room Rust implementation of Excel-style spreadsheet workflows. A workbook model, formula parser and dependency-driven recalculation are connected to XLSX I/O and a shared editing-command layer for desktop, browser and automation interfaces.
- 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.90+ with Cargo. Browser builds use Trunk and wasm32-unknown-unknown; native Linux CI lists X11/Wayland, GTK, fontconfig/FreeType and graphics dependencies. Fonts and input workbooks are separate.
- Testing evidence: Reviewed XLSX tests construct workbooks and OOXML packages, compare modeled values after writing and reading, and check selected unmodeled parts and relationships.
- Testing evidence: Calculation tests use expected values for selected formulas, dependency changes and spilled arrays. The dated assessment against Excel for Mac 16.113.4 records the absence of Excel-computed conformance oracles.
- Limits: The project remains alpha. File fidelity, advanced workflows, performance and ecosystem compatibility remain bounded, and the README documents graphics-driver startup issues.
- License: Code is MIT OR Apache-2.0 with NOTICE obligations; optional fonts and ArtCraft branding have separate terms. Published modified versions must remove the ArtCraft marks, except contribution-only forks. Clean-room is the authors’ characterization.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · storytold/gridcraft · Revision f1894c6
- Cargo.toml GitHub · storytold/gridcraft · Revision f1894c6
- .github/workflows/ci.yml GitHub · storytold/gridcraft · Revision f1894c6
- docs/target-app-parity.md GitHub · storytold/gridcraft · Revision f1894c6
- crates/xlsx/src/tests/roundtrip.rs GitHub · storytold/gridcraft · Revision f1894c6
- crates/xlsx/src/tests/passthrough_tests.rs GitHub · storytold/gridcraft · Revision f1894c6
- crates/calc/src/tests.rs GitHub · storytold/gridcraft · Revision f1894c6
- LICENSE-MIT GitHub · storytold/gridcraft · Revision f1894c6
- LICENSE-APACHE GitHub · storytold/gridcraft · Revision f1894c6
- NOTICE GitHub · storytold/gridcraft · Revision f1894c6
- docs/brand/LICENSE-brand.txt GitHub · storytold/gridcraft · Revision f1894c6
More in Apps
- DeckCraft: presentation workflow reconstruction and bounded PPTX interchange · Case study
- 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