storytold/designcraft
71.1
Strong · 7 November 2026
274.8k
lines of production code
Rust
primary language
2
measurements over time
What this system is
Behavioural changes
1 commit (0 fixes) modifying crates/pptx, crates/render, crates/tools
A change to existing behaviour in crates/pptx, crates/render, crates/tools — 1 commit, 6 files: “An item a parent overrode and deleted is gone from the pages that use it (\#1469) (\#1558)” (refs \#1469, \#1558). Also in this area: 20 commits (0 fixes) modifying crates/compose; 3 commits (2 fixes) fixing crates/pptx; 1 commit (1 fix) fixing crates/pptx.
crates/pptx · low confidence · unverified
1 commit (0 fixes) modifying licenses, xtask
A change to existing behaviour in licenses, xtask — 1 commit, 15 files: “refactor(pdf): share placed-PDF rendering (PDFR) (\#876)” (refs \#876).
licenses · medium confidence · unverified
1 commit (0 fixes) modifying packaging
A change to existing behaviour in packaging — 1 commit, 6 files: “Release: FreeBSD x86\_64, Flatpak x86\_64/aarch64, AppImage zsync updates; README Downloads (\#132)” (refs \#132). Also in this area: 3 commits (0 fixes) modifying packaging.
(repo-wide) · low confidence · unverified
12 commits (2 fixes) modifying crates/ui-egui/src/panels
A change to existing behaviour in crates/ui-egui/src/panels — 12 commits (2 fixs), 5 files: “Integration: \#1011 axes with an inverted range get no slider; a failed edit.preview closes the preview it opened”; “Follow paths stored in documents only on this computer or the document's share”; “Integration: \#1083 rename comments name the slow double-click that starts an object's rename”; and 9 more (refs \#1011, \#1083, \#1012, \#1067, \#956, …). Also in this area: 4 commits (1 fix) modifying crates/ui-egui; 1 commit (0 fixes) modifying crates/ui-egui/src/dialogs.
crates/ui-egui/src/dialogs · low confidence · unverified
17 commits (0 fixes) modifying crates/doc
A change to existing behaviour in crates/doc — 17 commits, 13 files: “PDF: Bounding Box crops are measured from the page's drawing, not a render”; “Layout: Em Box Height follows the font's typo box or cap height”; “Import: placed PDFs cropped to their bounding box render only when drawn or exported”; and 14 more (refs \#449, \#429, \#469). Also in this area: 3 commits (1 fix) modifying crates/textimport; 1 commit (0 fixes) modifying crates/textimport; 1 commit (1 fix) fixing crates/textimport; 4 commits (3 fixes) fixing crates/textimport.
(repo-wide) · low confidence · unverified
19 commits (4 fixes) modifying crates/tools
A change to existing behaviour in crates/tools — 19 commits (4 fixs), 8 files: “fix(parents): bound every based-on walk; base items follow the parent showing them (\#652)”; “Integration (\#630): the Pen continuing from a path's first anchor adds anchors before it (path.appendAnchor at: start) instead of reversing the path, so arrowheads stay on their ends and a press then Esc leaves no undo step”; “Integration (\#636): with Direct Selection an anchor under the pointer wins over a type-on-a-path bracket, so the end anchors (where the default brackets sit) can be dragged again”; and 16 more (refs \#652, \#630, \#636, \#816, \#699, …). Also in this area: 1 commit (0 fixes) modifying crates/pptx, crates/render, crates/tools; 8 commits (1 fix) modifying crates/tools.
(repo-wide) · low confidence · unverified
26 commits (3 fixes) modifying crates/engine
A change to existing behaviour in crates/engine — 26 commits (3 fixs), 26 files: “Text: stories made in a right-to-left-bound document fill their columns from the right (\#100)”; “Styles: editing a character style renames it everywhere it is used, changes its Based On and unsets attributes; \[None\] can't be edited”; “File open: an .indd file is an unreadable file like any other”; and 23 more (refs \#100, \#91, \#61, \#169). Also in this area: 3 commits (2 fixes) fixing crates/format; 1 commit (0 fixes) modifying crates/format; 3 commits (1 fix) modifying crates/format.
crates/fonts/src, crates/fonts/src/fontdb, crates/format · low confidence · unverified
4 commits (1 fix) modifying apps/designcraft-web
A change to existing behaviour in apps/designcraft-web — 4 commits (1 fix), 3 files: “Text: IME composition in place, commit as one step (\#322)”; “browser-correctness: fix print, startup flags, and document MIME (\#117)”; “Web: AltGr and other named keys no longer type their names (\#134) (\#138)”; and 1 more (refs \#322, \#117, \#134, \#138, \#119). Also in this area: 1 commit (1 fix) fixing apps/designcraft, apps/designcraft-web; 4 commits (0 fixes) modifying apps/designcraft; 1 commit (0 fixes) modifying apps/designcraft, apps/designcraft-web.
(repo-wide) · low confidence · unverified
846 commits (96 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 846 commits (96 fixs), 15 files: “feat(ui): Pathfinder section in Properties”; “Paragraph Rules: a dialog for the selected paragraphs and a section in Paragraph Style Options (\#263)”; “M7: cross-references and text anchors; menus expose engine features”; and 807 more (refs \#263, \#1934, \#725, \#1142, \#1204, …).
(repo-wide) · low confidence · unverified
Fixes
1 commit (1 fix) fixing apps/designcraft-cli, crates/mcp
A fix in apps/designcraft-cli, crates/mcp — 1 commit (1 fix), 2 files: “fix: write screenshots, signing certificates and benchmark files in private temp folders (\#2219)” (refs \#2219). Also in this area: 1 commit (0 fixes) modifying apps/designcraft-cli.
apps/designcraft-cli/examples · medium confidence · unverified
Test coverage
1 commit adding/updating tests in crates/engine/src/cmd/edit; 1 commit adding/updating tests in crates/engine/tests, crates/epub, crates/images; 2 commits adding/updating tests in crates/engine/tests/it; 2 commits adding/updating tests in crates/pdf/tests/it.
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 71.
Lenses
- Code Health 84
- Architecture 95
- Maturity 67
- Readiness 73
- Security 69
Changes since last survey
- 300 commits — 226 feature/other, 74 fixes
By area
- (repo) — 125 commits
- crates/engine — 39 commits
- crates/ui-egui — 35 commits
- (root) — 19 commits
- crates/compose — 16 commits
- crates/doc — 9 commits
- apps/designcraft-cli — 7 commits
- packaging/linux — 6 commits
- crates/geom — 5 commits
- crates/format — 4 commits
- contributors/people.toml — 3 commits
- crates/epub — 3 commits
- crates/idml — 3 commits
- crates/pdf — 3 commits
- crates/render — 3 commits
- crates/textimport — 3 commits
- crates/tools — 3 commits
- .github/workflows — 2 commits
- apps/designcraft — 2 commits
- crates/fonts — 2 commits
Notable commits
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Apply review fixes
- fix: Fix CLI build warnings on Windows (#2356)
- fix: Fix dotted strokes dropping most of their dots
- fix: Fix intersects_rect missing hits for zero-width/height marquee rects
- fix: Fix mojikumi: middle dot loses its quarter em beside a proportional (#2285)
- …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/designcraft 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 3e044b06905f0fec1c8a7add224495a7a658b9e4 — 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.