Skip to content
CAI
Software that uses CAICheck a score

storytold/designcraft

71.1

Strong · 7 November 2026

274.8k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

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.