Skip to content
CAI
Software that uses CAICheck a score

storytold/deckcraft

71.5

Strong · 7 November 2026

190.9k

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 apps/deckcraft, apps/deckcraft-cli, apps/deckcraft-web

A change to existing behaviour in apps/deckcraft, apps/deckcraft-cli, apps/deckcraft-web — 1 commit, 9 files: “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates”.

apps/deckcraft-web · low confidence · unverified

1 commit (0 fixes) modifying packaging

A change to existing behaviour in packaging — 1 commit, 4 files: “Release: Windows arm64, Flatpak aarch64, AppImage zsync updates, README Downloads (\#9)” (refs \#9). Also in this area: 3 commits (1 fix) modifying packaging; 3 commits (0 fixes) modifying packaging.

packaging/linux · low confidence · unverified

11 commits (0 fixes) modifying crates/engine

A change to existing behaviour in crates/engine — 11 commits, 45 files: “Media playback: slidecraft-media (probe, audio decode, H.264/HEVC/VP9/AV1 video, mixer and clock), cpal output, editor control bar, slide show playback, media.\* commands”; “Media playback: module order”; “Gradient editor (type, direction, angle, stops with colour/position/transparency) for shape fill and Format Background; pattern backgrounds; painted dropdown chevrons”; and 8 more. Also in this area: 4 commits (1 fix) modifying crates/render; 1 commit (0 fixes) modifying crates/pdf; 1 commit (1 fix) fixing crates/pdf; 2 commits (2 fixes) fixing crates/pdf.

crates/mcp/src, crates/model, crates/pdf · low confidence · unverified

17 commits (1 fix) modifying crates/engine/src/cmd

A change to existing behaviour in crates/engine/src/cmd — 17 commits (1 fix), 42 files: “fix(slides): dragging several selected slides moves them all”; “refactor(engine): move design tests to cmd/design/tests.rs”; “refactor(engine): split cmd/shape.rs into cmd/shape/{size,appearance,picture,freeform}.rs”; and 14 more. Also in this area: 5 commits (0 fixes) modifying crates/engine; 1 commit (0 fixes) modifying crates/engine/src/cmd/design.

crates/engine/src/cmd/design, crates/engine/src/cmd/text · medium confidence · unverified

2 commits (0 fixes) modifying (repo-wide)

A change to existing behaviour in (repo-wide) — 2 commits, 95 files: “Media playback: slidecraft-media (probe, audio decode, H.264/HEVC/VP9/AV1 video, mixer and clock), cpal output, editor control bar, slide show playback, media.\* commands”; “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates”. Also in this area: 1 commit (0 fixes) modifying crates/h264; 4 commits (1 fix) modifying crates/h264; 2 commits (2 fixes) fixing crates/pdf; 1 commit (1 fix) fixing crates/bitstream, crates/h264, crates/hevc.

(repo-wide) · low confidence · unverified

2 commits (0 fixes) modifying assets

A change to existing behaviour in assets — 2 commits, 13 files: “App icon: scalable SVG for Linux desktops (\#12) (\#29)”; “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates” (refs \#12, \#29).

assets · medium confidence · unverified

2 commits (0 fixes) modifying crates/color, crates/fonts, crates/format

A change to existing behaviour in crates/color, crates/fonts, crates/format — 2 commits, 5 files: “M0: workspace, model, geometry, fonts, text, renderer, engine, MCP and CLI”; “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates”. Also in this area: 1 commit (0 fixes) modifying crates/color.

crates/color · medium confidence · unverified

2 commits (0 fixes) modifying crates/color, crates/fonts, crates/format

A change to existing behaviour in crates/color, crates/fonts, crates/format — 2 commits, 5 files: “M0: workspace, model, geometry, fonts, text, renderer, engine, MCP and CLI”; “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates”. Also in this area: 1 commit (0 fixes) modifying crates/format; 1 commit (1 fix) fixing crates/format.

crates/format · medium confidence · unverified

252 commits (18 fixes) modifying (repo-wide)

A change to existing behaviour in (repo-wide) — 252 commits (18 fixs), 14 files: “Edit Points: Shift, Ctrl or Alt while dragging a handle makes the point smooth, straight or corner”; “Round-trip tables, charts, animation, media, sections and masters”; “fix(slides): dragging several selected slides moves them all”; and 247 more (refs \#868, \#1079, \#878, \#1116, \#1350, …).

(repo-wide) · low confidence · unverified

3 commits (0 fixes) modifying crates/av1

A change to existing behaviour in crates/av1 — 3 commits, 21 files: “refactor: explicit imports for table modules (SonarCloud S2208) (\#1262)”; “chore: resolve SonarCloud maintainability issues (\#1255)”; “refactor: replace redundant closures with method paths (SonarCloud S1612) (\#1261)” (refs \#1262, \#1255, \#1261). Also in this area: 1 commit (0 fixes) modifying crates/av1, crates/ogg, crates/opus.

crates/opus · medium confidence · unverified

4 commits (0 fixes) modifying crates/geom

A change to existing behaviour in crates/geom — 4 commits, 2 files: “M0: workspace, model, geometry, fonts, text, renderer, engine, MCP and CLI”; “Rename SlideCraft to DeckCraft: crates, apps, binaries, app id, file extension (.deckcraft; .slidecraft files still open), packaging, docs; ROADMAP alpha and parity estimates”; “PPTX import/export: full OPC package, themes, masters/layouts, shapes, text, pictures, media, tables, charts, transitions, animations, comments; verified opening in PowerPoint”; and 1 more. Also in this area: 1 commit (1 fix) fixing crates/geom; 1 commit (0 fixes) modifying crates/geom; 3 commits (1 fix) modifying crates/geom.

(repo-wide) · low confidence · unverified

6 commits (0 fixes) modifying crates/render

A change to existing behaviour in crates/render — 6 commits, 9 files: “Slide show: by-paragraph text builds render per paragraph, sub-bullets follow their parent”; “Gradient editor (type, direction, angle, stops with colour/position/transparency) for shape fill and Format Background; pattern backgrounds; painted dropdown chevrons”; “M0: workspace, model, geometry, fonts, text, renderer, engine, MCP and CLI”; and 3 more. Also in this area: 4 commits (1 fix) modifying crates/text; 1 commit (0 fixes) modifying crates/geom, crates/text.

crates/text · medium confidence · unverified

6 commits (2 fixes) modifying crates/ui-egui

A change to existing behaviour in crates/ui-egui — 6 commits (2 fixs), 12 files: “Shapes: Edit Points — Straight/Curved Segment and Open/Close Path from the right-click menu”; “Text (\#93): show gray markers on empty list paragraphs”; “Fix up \#747 and \#772 from review: docs keep their status headers (log rows stay), no milestone renaming; the bullet test no longer saves screenshots; clippy's as\_chunks in the bullet render test”; and 3 more (refs \#93, \#747, \#772, \#766, \#782). Also in this area: 3 commits (1 fix) modifying crates/render; 3 commits (3 fixes) fixing crates/render; 1 commit (0 fixes) modifying crates/render.

crates/anim, crates/render · low confidence · unverified

8 commits (2 fixes) modifying packaging/web

A change to existing behaviour in packaging/web — 8 commits (2 fixs), 4 files: “Web build and release CI: slidecraft-web, packaging, release workflow”; “Web: only the page's first file replaces the start deck; close Save As after a same-name save”; “deckcraft-web: speak the host messages through craft-web-host, and add page host mode”; and 5 more (refs \#1212).

packaging/web · medium confidence · unverified

Fixes

5 commits (3 fixes) fixing apps/deckcraft-web

A fix in apps/deckcraft-web — 5 commits (3 fixs), 3 files: “deckcraft-web: speak the host messages through craft-web-host, and add page host mode”; “fix(web): refuse a host file of exactly 2 GiB”; “Apply review fixes”; and 1 more (refs \#1866). Also in this area: 2 commits (0 fixes) modifying apps/deckcraft-web; 1 commit (0 fixes) modifying apps/deckcraft, apps/deckcraft-cli, apps/deckcraft-web.

apps/deckcraft-web/src, crates/engine/src/tools, packaging/windows · low confidence · unverified

Test coverage

1 commit adding/updating tests in (repo-wide); 1 commit adding/updating tests in crates/media/tests/it; 4 commits adding/updating tests in crates/pptx/tests.

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 72.

Lenses

  • Code Health 84
  • Architecture 96
  • Maturity 67
  • Readiness 71
  • Security 70
  • Event Sourcing 100

Changes since last survey

  • 300 commits — 264 feature/other, 36 fixes

By area

  • (repo) — 108 commits
  • crates/engine — 52 commits
  • crates/pptx — 32 commits
  • crates/ui-egui — 23 commits
  • (root) — 19 commits
  • crates/render — 11 commits
  • crates/fonts — 7 commits
  • crates/text — 7 commits
  • crates/model — 6 commits
  • crates/h264 — 5 commits
  • apps/deckcraft-web — 4 commits
  • crates/geom — 4 commits
  • crates/ogg — 4 commits
  • .github/workflows — 3 commits
  • crates/format — 3 commits
  • packaging/linux — 3 commits
  • contributors/people.toml — 1 commit
  • crates/anim — 1 commit
  • crates/av1 — 1 commit
  • crates/mcp — 1 commit

Notable commits

  • fix: Apply review fixes
  • fix: Apply review fixes
  • fix: Apply review fixes
  • fix: Apply review fixes
  • fix: Apply review fixes
  • fix: Comments: the pane keeps its width and resizes again (fixes #1431)
  • fix: FIX-1621: cover locked and outline-free No Fill shapes
  • fix: FIX-1621: let no-fill interiors pass clicks to underlying objects
  • fix: Fix OS clipboard: enable eframe's clipboard feature dropped in the egui 0.37 migration
  • fix: Fix Unit::format printing "-0.00" for tiny negative lengths
  • fix: Merge branch 'main' into copy-the-fix
  • fix: Merge branch 'main' into copy-the-fix
  • fix: Merge branch 'main' into copy-the-fix
  • fix: Merge pull request #1454 from Silvertree2010/fix/h3020-rtf-outline-import-drops-the-res
  • fix: Merge pull request #1658 from SSchott/copy-the-fix
  • fix: Merge pull request #1870 from Silvertree2010/fix/1864-next-and-previous-not-working-in
  • fix: Merge pull request #1872 from FredApps/fix/1866-web-presenter-all-slides
  • fix: Merge pull request #1886 from sbjwin/fix/thumbnail-grayscale
  • fix: Merge remote-tracking branch 'origin/main' into copy-the-fix
  • fix: Merge remote-tracking branch 'origin/main' into copy-the-fix
  • …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/deckcraft 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 159ed07eb3f0522a5dc97d7cf1858242a6638659 — 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.