Skip to content
CAI
Software that uses CAICheck a score

storytold/texturecraft

70.4

Strong · 7 November 2026

71.8k

lines of production code

Rust

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Behavioural changes

1 commit (0 fixes) modifying apps/texturecraft-web, crates/bake

A change to existing behaviour in apps/texturecraft-web, crates/bake — 1 commit, 7 files: “GPU baking, Alembic, templates, translations and 8K responsiveness”. Also in this area: 6 commits (1 fix) modifying apps/texturecraft.

apps/texturecraft-web · medium confidence · unverified

1 commit (0 fixes) modifying crates/compose, crates/texel

A change to existing behaviour in crates/compose, crates/texel — 1 commit, 4 files: “Implement clean-room bake settings and improve map accuracy”. Also in this area: 3 commits (0 fixes) modifying crates/paint, crates/texel.

crates/texel · low confidence · unverified

1 commit (0 fixes) modifying vendor, vendor/egui-phosphor

A change to existing behaviour in vendor, vendor/egui-phosphor — 1 commit, 15 files: “Move to egui 0.37 and craft-ui's shared panel docking”.

vendor, vendor/egui-phosphor · medium confidence · unverified

12 commits (1 fix) modifying crates/formats/src

A change to existing behaviour in crates/formats/src — 12 commits (1 fix), 7 files: “OBJ companions are named after the OBJ; the implicit material exports; ids are unique ignoring case”; “fix(export): use is\_multiple\_of in the ICC profile writer (clippy -D warnings)”; “feat(export): record the chosen colour space in the exported colour maps”; and 9 more. Also in this area: 5 commits (0 fixes) modifying crates/formats/src; 1 commit (0 fixes) modifying (repo-wide).

apps/texturecraft, crates/formats/src, crates/ui-egui/src · medium confidence · unverified

3 commits (0 fixes) modifying assets

A change to existing behaviour in assets — 3 commits, 19 files: “Custom title bar: app icon, menus and window buttons in one strip”; “New app icon: an engraved zebra, vectorized”; “TextureCraft: clean-room 3D texture painting in pure Rust”.

assets · medium confidence · unverified

3 commits (0 fixes) modifying crates/automation, crates/engine

A change to existing behaviour in crates/automation, crates/engine — 3 commits, 15 files: “MCP tools for mesh files: bake\_mesh\_add, mesh\_export, mesh\_reimport”; “Neutral names in code and packaging; README in the Crafting Apps layout”; “Meshes with files beside them: .gltf buffers and images, loose USD layer textures”. Also in this area: 1 commit (1 fix) fixing (repo-wide); 1 commit (0 fixes) modifying crates/automation.

_crates/automation, crates/formats/src/project\file · medium confidence · unverified

3 commits (0 fixes) modifying crates/automation, crates/engine

A change to existing behaviour in crates/automation, crates/engine — 3 commits, 15 files: “MCP tools for mesh files: bake\_mesh\_add, mesh\_export, mesh\_reimport”; “Neutral names in code and packaging; README in the Crafting Apps layout”; “Meshes with files beside them: .gltf buffers and images, loose USD layer textures”. Also in this area: 1 commit (1 fix) fixing crates/engine, crates/paint; 1 commit (0 fixes) modifying (repo-wide).

crates/engine/src · medium confidence · unverified

3 commits (0 fixes) modifying crates/paint, crates/texel

A change to existing behaviour in crates/paint, crates/texel — 3 commits, 5 files: “Smooth 8K strokes, decal handles, displacement, refraction, release readiness”; “GPU baking, Alembic, templates, translations and 8K responsiveness”; “GPU path tracing, depth of field, cameras, glass, filters and decals”. Also in this area: 1 commit (1 fix) fixing crates/engine, crates/paint; 1 commit (0 fixes) modifying (repo-wide).

crates/paint · low confidence · unverified

4 commits (0 fixes) modifying crates/core, crates/formats

A change to existing behaviour in crates/core, crates/formats — 4 commits, 18 files: “Smooth 8K strokes, decal handles, displacement, refraction, release readiness”; “GPU baking, Alembic, templates, translations and 8K responsiveness”; “Format the workspace (cargo fmt)”; and 1 more. Also in this area: 2 commits (1 fix) modifying crates/formats/src/mesh\_import; 1 commit (0 fixes) modifying (repo-wide).

_crates/formats/src/mesh\_import, crates/formats/src/mesh\import/usd · medium confidence · unverified

6 commits (3 fixes) modifying crates/formats/src/export

A change to existing behaviour in crates/formats/src/export — 6 commits (3 fixs), 2 files: “feat(export): record the chosen colour space in the exported colour maps”; “fix(export): keep the \<UDIM\> name only when it round-trips to the file name”; “Filter radii and height slopes follow each UV tile's own resolution”; and 3 more. Also in this area: 1 commit (1 fix) fixing (repo-wide); 1 commit (0 fixes) modifying (repo-wide).

(repo-wide) · low confidence · unverified

7 commits (0 fixes) modifying crates/formats/src/mesh\_import

A change to existing behaviour in crates/formats/src/mesh\_import — 7 commits, 14 files: “FBX texture files beside the mesh”; “Cameras from FBX, COLLADA and USD files”; “zip 9: entry names are fallible; pin 9.0.5”; and 4 more (refs \#63). Also in this area: 12 commits (1 fix) modifying crates/formats/src.

_crates/formats/src/mesh\export · medium confidence · unverified

7 commits (0 fixes) modifying crates/render

A change to existing behaviour in crates/render — 7 commits, 15 files: “Never crash importing meshes with many materials”; “Address review: WebGPU verdicts, repaints, lasting memory notice”; “Viewport backdrop in the interface's slate”; and 4 more. Also in this area: 1 commit (0 fixes) modifying (repo-wide).

crates/geom · low confidence · unverified

Test coverage

21 commits adding/updating tests in crates/engine/tests

Test coverage in crates/engine/tests — 21 commits (1 fix), 9 files: “More filters: High Pass, Edge Detect, Warp Directional, Grayscale, Normal Invert”; “feat(export): choose the colour space of exported colour maps”; “Brushes: 18 brush presets in the shelf, and your own”; and 18 more. Also in this area: 3 commits (0 fixes) modifying crates/automation, crates/engine; 1 commit (1 fix) fixing crates/engine, crates/paint; 1 commit (0 fixes) modifying (repo-wide).

crates/engine/tests, crates/ui-egui/tests · 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 87
  • Architecture 98
  • Maturity 68
  • Readiness 66
  • Security 69
  • Performance 100

Changes since last survey

  • 300 commits — 238 feature/other, 62 fixes

By area

  • (repo) — 155 commits
  • crates/ui-egui — 48 commits
  • crates/engine — 37 commits
  • (root) — 16 commits
  • crates/formats — 13 commits
  • crates/core — 5 commits
  • crates/render — 5 commits
  • crates/bake — 4 commits
  • crates/geom — 4 commits
  • crates/compose — 3 commits
  • .github/workflows — 2 commits
  • apps/texturecraft-cli — 2 commits
  • docs/control-protocol.md — 1 commit
  • docs/features.md — 1 commit
  • docs/helpful-pr-review-guidelines.md — 1 commit
  • docs/releasing.md — 1 commit
  • packaging/env.sh — 1 commit
  • packaging/linux — 1 commit

Notable commits

  • fix: Fix PLY import when face element precedes vertex element
  • fix: Fix bake settings and UV tile controls
  • fix: Fix export failing for file names with a max-length stem
  • fix: Fix path fill symmetry culling
  • fix: Fix shelf hover previews and clean up comments
  • fix: Fix toolbar overflow in narrow viewports
  • fix: Merge main into fix/ask-to-save-before-replacing
  • fix: Merge main into fix/fabric-materials
  • fix: Merge main into fix/uv-island-fill
  • fix: Merge pull request #102 from storytold/fix/layer-clipboard-keys
  • fix: Merge pull request #103 from storytold/fix/ask-to-save-on-close
  • fix: Merge pull request #104 from storytold/fix/color-picker-steady
  • fix: Merge pull request #107 from storytold/fix/fabric-materials
  • fix: Merge pull request #109 from storytold/fix/sss-ghosting
  • fix: Merge pull request #110 from storytold/fix/ask-to-save-before-replacing
  • fix: Merge pull request #111 from storytold/fix/uv-island-fill
  • fix: Merge pull request #117 from storytold/fix/color-picker-copy-icon
  • fix: Merge pull request #121 from storytold/fix/histogram-scan-step
  • fix: Merge pull request #129 from storytold/fix/effect-paste-target
  • fix: Merge pull request #135 from SteamSmith/fix/review-followups
  • …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/texturecraft 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 30414caa6b66c9d805cd5ada31271aee44f2c601 — 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.