12 KiB
GridCraft roadmap
Stage: alpha · next: beta, ~25 points of "ready for real work" and ~160–240 h away
Last reviewed: 2026-10-11 · Last updated: 2026-10-11 · Change: minor (worksheet functions 505 / 523) · Target: Microsoft Excel (Microsoft 365)
GridCraft aims at full Microsoft Excel parity, and at being better in places: faster, open (XLSX is the native format), fully scriptable by agents (MCP, control channel, CLI), and on the web. This page is the summary. The detail is in:
docs/target-app-parity.md: the authoritative assessment, method and weightsdocs/gaps.md: every known shortfall, ranked; the work listdocs/roadmap.md: milestones, current focus, what's nextdocs/parity-checklist.md: generated bycargo xtask parity(ribbon commands)- Area checklists: functions · charts · file formats · UI · hardware · localization
docs/architecture.md: how it is built
Headline numbers
| Number | Value | Kind |
|---|---|---|
| Feature breadth (weighted) | ~75% | estimated, anchored on two measurements: ribbon catalog 258 / 290 (89.0%), worksheet functions 505 / 523 (96.6%; 496 working, 94.8%) |
| Ready for real work | ~50% | estimated from written weights (51.6); target-app-parity.md |
| Mainstream practitioner | ~50% | estimated: typical analyst/finance user, weekly features, × 0.90 interaction × 0.92 stability × 0.88 file exchange; method |
| Essentials user | ~63% | estimated: core features only, × 0.92 launch/stability × 0.95 clarity × 0.90 opening sent files; method |
| Remaining to beta | ~160–240 Opus 5.5 agent-hours | estimated; itemized in roadmap.md |
| Remaining to full parity | ~700–1,100 Opus 5.5 agent-hours | estimated; sum of the dimension rows below |
| Audience | Ready % | Opus 5.5 agent wall-clock hours to ~95% | Work that dominates |
|---|---|---|---|
| Full target (ready for real work) | ~50% | ~650–1,050 | Get & Transform and the data model, localization (twelve languages), charts depth, file fidelity (.xls, corpus, pass-through), PivotTables, collaboration, mobile |
| Mainstream practitioner | ~50% | ~200–310 | File exchange with Excel users (corpus and Excel verification, pass-through, large files, .xls, encryption: 63–97 h), common-chart depth (30–45 h), PivotTables (20–30 h), keyboard and interaction (18–28 h), calc correctness and functions (20–33 h) |
| Essentials user | ~63% | ~60–100 | Opening files people send (.xls and encrypted import 28–42 h; macOS Finder open 2–4 h), launch stability (6–10 h), basic chart resize and polish (6–10 h), print and Page Layout (8–12 h), small editing and UI fixes (10–16 h) |
Each tier is a subset of the one above, so its hours are too. Calibrated as in Effort and
calibration (~6–10 h per readiness point for the remaining, verification-heavy
work; single features measured from PRs #66, #100, #101). Parallelism: the full and mainstream
work splits ~65–70% across 4–6 agents by area; the essentials work is mostly small fixes plus one
long .xls track, so about half parallelizes (≈30–50 wall-clock hours with three agents).
Why alpha: all six core workflows in the alpha gate pass end to end on macOS with save and reopen, and the core workflow works end to end (open an XLSX, enter formulas and data, format, sort
and filter, chart, pivot, print to PDF, save XLSX), but users still hit blocking gaps on real
files: 100 MB workbooks don't open (#175), there's no .xls (#121), Arabic and Devanagari text
isn't shaped (Chinese text still reported in #142), charts lose their type and options on round trip, and
nobody has yet confirmed that Excel opens our output without a repair prompt across a real
corpus. Beta needs those closed (see beta gates).
The 2026-10-07 numbers (catalog 89%, "feature depth ~65%", "~215 h to full parity") were
re-measured. Catalog and function counts held or rose; the depth and hours moved because of new
evidence: 82 issues filed by users and contributors in the repo's first five days, and scope the
old estimate left out (localization, legacy .xls, Power Query and the data model,
collaboration, mobile, AI).
By dimension
| Dimension | Ready for real work | Hours to parity | Doc |
|---|---|---|---|
| Features (13 areas, table below) | ~59% (breadth ~75%) | 300–485 | target-app-parity.md |
| UI/UX fidelity | ~55% | 50–80 | ui-parity.md |
| File formats | ~50% | 80–120 | file-format-parity.md |
| Performance | ~35% | 35–55 | target-app-parity.md |
| Stability | ~60% | 15–25 | gaps.md |
| Localization | ~10% (ribbon in 5 languages) | 100–165 | localization-parity.md |
| Hardware (multi-core calc, GPU, pen, multi-window) | ~40% | 25–40 | hardware-parity.md |
| Platforms | ~80% (no iOS/Android; ahead on Linux, BSD, RISC-V) | 30–60 | target-app-parity.md |
| Ecosystem / add-ins | ~10% (VBA out of scope; own scripts, MCP, CLI) | 25–40 | target-app-parity.md |
| AI features | ~15% (agent control strong; no in-app assistant) | 30–50 | target-app-parity.md |
| Total | ~50% | ~700–1,100 |
Features
| Area | Breadth | Ready | Hours | Doc |
|---|---|---|---|---|
| Formula language and calculation | ~92% | ~72% | 20–30 | target-app-parity.md |
| Worksheet functions | 96.6% measured | ~82% | 16–26 | function-parity.md |
| Editing, navigation, clipboard, fill | ~90% | ~70% | 15–25 | ui-parity.md |
| Cell formatting, styles, conditional formatting | ~95% | ~80% | 8–14 | target-app-parity.md |
| Sort, filter, tables, validation, outline | ~82% | ~70% | 10–16 | target-app-parity.md |
| PivotTables | ~65% | ~45% | 25–40 | target-app-parity.md |
| Charts and sparklines | ~50% | ~30% | 40–60 | chart-parity.md |
| Page layout, print, PDF | ~80% | ~55% | 12–20 | target-app-parity.md |
| What-if and analysis (Goal Seek, Solver, ToolPak, Forecast) | ~50% | ~40% | 22–35 | target-app-parity.md |
| Get & Transform, external data, data model | ~15% | ~10% | 60–100 | target-app-parity.md |
| Insert objects (pictures, shapes, ink, SmartArt, equations) | ~55% | ~45% | 25–40 | target-app-parity.md |
| Review, comments, protection, collaboration | ~55% | ~40% | 35–55 | target-app-parity.md |
| Automation (recorded scripts; no VBA) | ~30% | ~20% | 12–20 | target-app-parity.md |
Languages
The ribbon is translated into Japanese, Simplified Chinese, Korean, Brazilian Portuguese and Russian (266–268 labels each, ~12% of ~2,200 strings; merged 10-10 in #31, #104, #82), the interface follows the system language, and CJK, Thai and Hebrew text falls back to system fonts (#38). Dialogs, menus and messages are English; formulas and number formats are en-US only. German is in PR #163. Detail: localization-parity.md.
| Language | Code | Status | UI strings |
|---|---|---|---|
| English | en | full (source language) | 100% |
| Simplified Chinese | zh-Hans | menus only | ~12% |
| Spanish | es | none | 0% |
| Hindi | hi | none | 0% |
| Arabic | ar | none (no RTL layout, no shaping) | 0% |
| French | fr | none | 0% |
| Portuguese | pt-BR | menus only | ~12% |
| Indonesian | id | none | 0% |
| Japanese | ja | menus only | ~12% |
| German | de | none (PR #163 open) | 0% |
| Korean | ko | menus only | ~12% |
| Vietnamese | vi | none | 0% |
Other shipped languages: 1 (Russian, menus only, ~12%).
Upcoming
Ranked; estimates in Opus 5.5 agent-hours. Detail and the full beta-gate list in docs/roadmap.md.
- Land the open PR queue (50 open PRs on 2026-10-10, many fixing listed gaps: recalc and spill correctness, chart kind round-trip, CJK font fallback, macOS Finder open, German and Chinese UI). Review and merge: 8–15 h.
- XLSX fidelity on a real-world corpus, with Excel opening our output without repair: 25–35 h.
- Large workbooks and recalc speed: 100 MB XLSX, 1M rows, multi-threaded recalc: 40–60 h.
- Charts depth: kinds and options round-trip, axes, trendlines, error bars: 25–35 h.
- Text in every script (CJK, Thai, Arabic, Devanagari) in cells and PDF: 12–20 h.
- Legacy
.xlsimport and password-protected workbooks: 20–30 h. - Localization: extend the catalog past the ribbon, then the twelve languages: 100–165 h.
Progress log
| Date | What landed |
|---|---|
| 2026-10-11 | Startup no longer panics on a system font egui can't parse: fonts are validated and skipped (#226) |
| 2026-10-11 | Ctrl+drag on the fill handle swaps copying and extending a series (#264) |
| 2026-10-11 | Odd-period bond functions ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD: Financial 55 / 55 (#275) |
| 2026-10-11 | PERCENTOF and EUROCONVERT worksheet functions (#279) |
| 2026-10-10 | Ribbon translated into Japanese, Chinese, Korean, Brazilian Portuguese and Russian with system-language default (#31, #104, #82); CJK/Thai/Hebrew font fallback (#38); clear messages for encrypted and .xls files (#17); smooth line charts (#62). Progress docs restructured to the craftrules standard; full re-measure (this page). Initial ribbon key tips (#43), in-place text box editing (#84), copy as HTML table (#36). ODS and XLSB data import (#100, #101); recalc linear in the number of range formulas (#66); RISC-V Linux build; Flatpak repository on Pages; web cell-commit trap fixed |
| 2026-10-09 | Community fixes: spill range operator A1#, sheet-scoped names, protection refuses locked-cell edits, Insert/Delete Cells adjust references, DATE(1900,2,29), SUMIF sizing, ROUND at 15 digits, _xlpm. LAMBDA parameters in XLSX, vertical scrollbar, system appearance, border previews; v0.4.0 |
| 2026-10-08 | v0.2.0 and v0.3.0 releases; Flatpak, AppImage zsync, branded DMG; desktop log file; DirectX 12 default on Windows |
| 2026-10-07 | About window with contributor and model credits; macOS release runner |
| 2026-10-06 | M0–M13 first pass: engine, 478 functions, XLSX/CSV, egui UI, charts, PivotTables with XLSX round-trip, PDF and printing, what-if, spelling, Draw, task panes, MCP, CLI, web build, release packaging |
| 2026-10-05 | Repository created |
Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-11 | minor | Worksheet functions 505 / 523 (ODD* bond functions); progress log row |
| 2026-10-11 | minor | Worksheet functions 503 / 523 (PERCENTOF, EUROCONVERT); progress log row |
| 2026-10-10 | minor | Readiness-by-audience table with hours to ~95% per audience; full number unchanged (additive weighted sum) |
| 2026-10-10 | minor | Added Mainstream practitioner (~50%) and Essentials user (~63%); languages updated for the 10-10 merges (ribbon in ja, zh, ko, pt-BR, ru); localization 5%→10%; full number re-checked (51.6, unchanged) |
| 2026-10-10 | minor | Checked against the alpha gate (six core workflows pass): stays alpha |
| 2026-10-10 | major | Re-measured against Excel for Mac 16.113.4: stage alpha, breadth ~75%, ready ~50%, ~160–240 h to beta, ~700–1,100 h to full parity; restructured to the progress-docs standard; detail moved to docs/ |
| 2026-10-07 | major | First estimates: catalog 89%, functions ~93%, depth ~65%, ~35 h to alpha, ~215 h to full parity |