storytold/texturecraft
70.4
Strong · 7 November 2026
71.8k
lines of production code
Rust
primary language
1
measurement over time
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.