storytold/gridcraft
69.8
Adequate · 7 November 2026
179.8k
lines of production code
Rust
primary language
2
measurements over time
What this system is
Behavioural changes
1 commit (0 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 1 commit, 8 files: “Equations: Insert › Equation with a LaTeX editor, Office Math in xlsx and equations in PDF (\#471)” (refs \#471). Also in this area: 18 commits (4 fixes) modifying crates/engine; 1 commit (1 fix) fixing apps/gridcraft-cli, crates/pdf; 2 commits (2 fixes) fixing crates/formula.
crates/chart/src/tests, crates/pdf · low confidence · unverified
1 commit (0 fixes) modifying apps/gridcraft-cli
A change to existing behaviour in apps/gridcraft-cli — 1 commit, 2 files: “check: find volatile defined names with a worklist instead of repeated passes (\#3187)” (refs \#3187). Also in this area: 3 commits (0 fixes) modifying apps/gridcraft-cli.
apps/gridcraft-cli/src/check, apps/gridcraft-cli/tests · medium confidence · unverified
1 commit (0 fixes) modifying crates/chart, crates/model, crates/xlsx
A change to existing behaviour in crates/chart, crates/model, crates/xlsx — 1 commit, 15 files: “Charts: draw every doughnut series as a ring (\#1827)” (refs \#1827). Also in this area: 2 commits (0 fixes) modifying crates/chart.
crates/chart/src/render · low confidence · unverified
1 commit (0 fixes) modifying crates/xlsx/examples
A change to existing behaviour in crates/xlsx/examples — 1 commit, 1 file: “Add an XLSX write benchmark example”.
crates/xlsx/examples · medium confidence · unverified
11 commits (2 fixes) modifying apps/gridcraft
A change to existing behaviour in apps/gridcraft — 11 commits (2 fixs), 3 files: “Draw the outline band for grouped rows and columns”; “Desktop theme watcher starts only in the desktop app, not in every SheetApp (tests, embedders) (review fix-up for \#203)”; “Print PDF in the shared temp folder: create it exclusively (never follow or overwrite an existing file or symlink) and owner-only on Unix (review fix-up for \#394)”; and 8 more (refs \#203, \#394, \#339, \#354, \#194, …). Also in this area: 2 commits (2 fixes) fixing apps/gridcraft; 5 commits (1 fix) modifying apps/gridcraft; 1 commit (0 fixes) modifying apps/gridcraft, apps/gridcraft-cli, apps/gridcraft-web.
(repo-wide) · low confidence · unverified
186 commits (9 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 186 commits (9 fixs), 14 files: “View: Page Layout view with rulers and in-place headers and footers (\#329)”; “PDF: title and author are written as UTF-16BE when they are not ASCII (\#813)”; “M1.5: README with screenshots, display scale matching desktop density, validation dropdowns, note popups, trace arrows, header menus, hyperlink clicks”; and 180 more (refs \#329, \#813, \#197, \#378, \#1346, …).
(repo-wide) · low confidence · unverified
2 commits (0 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 2 commits, 71 files: “Rename SheetCraft to GridCraft everywhere (crates, apps, bundle ids, packaging, docs)”; “M1: Excel-style egui UI, desktop app, chart renderer, MCP server, CLI, release packaging”. Also in this area: 2 commits (1 fix) modifying packaging.
assets, packaging/freebsd · medium confidence · unverified
2 commits (0 fixes) modifying apps/gridcraft-web, packaging
A change to existing behaviour in apps/gridcraft-web, packaging — 2 commits, 4 files: “M6: misc hardening — unbounded picture cache, stats walk, signing tmpdir, web clipboard, dash budget, fs cycle, rezip loop (\#2422)”; “web: parse ?chrome= so an embedding host can leave out the title bar and File tab” (refs \#2422). Also in this area: 1 commit (0 fixes) modifying packaging; 2 commits (1 fix) modifying packaging.
packaging/macos · medium confidence · unverified
27 commits (6 fixes) modifying crates/engine
A change to existing behaviour in crates/engine — 27 commits (6 fixs), 50 files: “Form controls: control.format replies with the control as committed, so a new link's value shows”; “Form controls: a macro assignment removed in another application stays removed on reopen”; “Form controls: a linked cell's formula survives a write of the value it already shows”; and 24 more (refs \#501, \#2729, \#471, \#3152, \#495, …). Also in this area: 4 commits (1 fix) modifying crates/core; 1 commit (0 fixes) modifying crates/core.
(repo-wide) · low confidence · unverified
3 commits (0 fixes) modifying apps/sheetcraft, xtask
A change to existing behaviour in apps/sheetcraft, xtask — 3 commits, 11 files: “M4–M10: PivotTables, PDF export & printing, what-if analysis, spelling, more commands”; “Rename SheetCraft to GridCraft everywhere (crates, apps, bundle ids, packaging, docs)”; “M1: Excel-style egui UI, desktop app, chart renderer, MCP server, CLI, release packaging”. Also in this area: 1 commit (0 fixes) modifying (repo-wide); 4 commits (1 fix) modifying xtask.
xtask · low confidence · unverified
34 commits (0 fixes) modifying crates/ui-egui/src
A change to existing behaviour in crates/ui-egui/src — 34 commits, 51 files: “Format Chart Area: Chart Type offers the stacked and 100% stacked types and marks the current one”; “UI: a macro question is answered only in the workbook that asked it”; “UI: a dialog asked for over the macro step editor says why it did not open”; and 31 more (refs \#2540, \#2566, \#2412, \#2543, \#2414, …). Also in this area: 1 commit (0 fixes) modifying crates/ui-egui; 4 commits (1 fix) modifying crates/ui-egui.
crates/ui-egui · low confidence · unverified
7 commits (1 fix) modifying apps/gridcraft-web
A change to existing behaviour in apps/gridcraft-web — 7 commits (1 fix), 2 files: “Web & UI: resolve system theme preference and default web to system theme”; “Web: add favicon to web app index and disable dev incremental compilation”; “Web save: any picker refusal but a cancel, or a failed write, falls back to a download (review fix-up for \#391)”; and 2 more (refs \#391, \#121). Also in this area: 3 commits (0 fixes) modifying apps/gridcraft-web; 1 commit (0 fixes) modifying apps/gridcraft, apps/gridcraft-cli, apps/gridcraft-web; 2 commits (2 fixes) fixing apps/gridcraft-web; 1 commit (1 fix) fixing apps/gridcraft-web.
(repo-wide) · low confidence · unverified
7 commits (1 fix) modifying packaging/web
A change to existing behaviour in packaging/web — 7 commits (1 fix), 4 files: “packaging: shell, PowerShell and web page fixes (SonarCloud S7688, S7679, S7682, S8677, S7926) (\#2323)”; “web: parse ?chrome= so an embedding host can leave out the title bar and File tab”; “Rename SheetCraft to GridCraft everywhere (crates, apps, bundle ids, packaging, docs)”; and 4 more (refs \#2323, \#2592).
packaging/web · medium confidence · unverified
Fixes
5 commits (4 fixes) fixing packaging
A fix in packaging — 5 commits (4 fixs), 8 files: “fix(installer): resolve the wizard scope and folder correctly”; “fix(installer): address scope and ARM64 review feedback”; “fix(installer): check the exact architecture-specific machine folder”; and 2 more. Also in this area: 2 commits (0 fixes) modifying (repo-wide); 5 commits (1 fix) modifying packaging; 1 commit (0 fixes) modifying packaging.
packaging/windows · medium confidence · unverified
Test coverage
1 commit adding/updating tests in apps/gridcraft-cli, crates/engine/tests, crates/formula; 26 commits adding/updating tests in crates/xlsx/src/tests.
Dependencies
12 commits updating dependencies (8 manifests)
A dependency / build maintenance change in (dependencies) — 12 commits (1 fix), 8 files: “Web: add favicon to web app index and disable dev incremental compilation”; “xlsx: bump quick-xml to 0.41 for the namespace-declaration DoS (RUSTSEC-2026-0195)”; “Keep incremental dev builds; the favicon change stands on its own (review fix-up for \#392)”; and 8 more (refs \#392, \#307, \#226, \#11, \#120). Also in this area: 1 commit updating dependencies (6 manifests); 1 commit updating dependencies (1 manifest).
(dependencies) · medium confidence · unverified
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 70.
Lenses
- Code Health 82
- Architecture 67
- Maturity 69
- Readiness 72
- Security 71
- Performance 100
Changes since last survey
- 300 commits — 280 feature/other, 20 fixes
By area
- (repo) — 84 commits
- crates/engine — 73 commits
- crates/ui-egui — 64 commits
- crates/xlsx — 35 commits
- (root) — 6 commits
- contributors/people.toml — 5 commits
- crates/calc — 5 commits
- crates/functions — 5 commits
- crates/chart — 4 commits
- apps/gridcraft-web — 3 commits
- crates/model — 3 commits
- .github/workflows — 2 commits
- apps/gridcraft — 2 commits
- apps/gridcraft-cli — 2 commits
- docs/control-protocol.md — 2 commits
- docs/architecture.md — 1 commit
- docs/file-format-parity.md — 1 commit
- docs/macros.md — 1 commit
- docs/target-app-parity.md — 1 commit
- packaging/linux — 1 commit
Notable commits
- fix: Fix merged keytip sequence count for HBJ and MR
- fix: Form controls: a fixed input range is refused for a macro that takes no inputs
- fix: Merge PR #3252 (author's fix: an expanded formula bar leaves room for the worksheet)
- fix: Merge current main into fix/gnome-window-decorations
- fix: Merge pull request #1576 from danielmigueltejedor/fix/gnome-window-decorations
- fix: Merge pull request #2203 from Higgs32584/fix/2181-link-open-confirmation
- fix: Merge pull request #3425 from ZIDAN44/fix/2874-german-insert-cells
- fix: Merge upstream main into fix/2181-link-open-confirmation
- fix: Review fix for #2729: document the portable shortcut notation and the Mac-only override
- fix: Review fix for #3135: clip only whole-column and whole-row chart sources; bounded areas keep their extent
- fix: Review fixes for #3042: "" with parse: false keeps the cell's formatting; correct the write_range parse description
- fix: Review fixes for #3223, #3253, #3254, #3252, #3239, #3244 and #3268
- fix: Ribbon: Font Size value is centered in its box (fixes #3155)
- fix: fix(calc): apply "Set precision as displayed" in calculation (#1366)
- fix: fix(quit): bring GridCraft forward through AppKit for a Dock quit
- fix: fix(quit): bring the asking window to the front on a Dock quit
- fix: fix(ui): centralize platform-specific command shortcuts and test palette
- fix: fix(ui): preserve alignment shortcuts for CLI consumers
- fix: fix(ui): preserve portable shortcuts and macOS overrides
- fix: macOS: Intel Macs skip wgpu's indirect-call validation shaders (fixes #2812) (#3039)
- …and 280 more
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
storytold/gridcraft was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 7 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 6a8eb4ff42cfa88b5bdd3eec13c6db3874d95214 — the exact code this score is about.
- Scored under rubric-2026.11.2 — the same rubric and the same method as every other entry in this index.
- Measured by Canine Code Analyzer (cca.canine.dev) using cca measure-2026.11.3+preprod-5f8314471808.