• Rust 59.4%
  • TypeScript 39.3%
  • JavaScript 0.7%
  • Python 0.2%
  • Shell 0.2%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
FredApps 83aad5eb54
Exclude TypeScript and JavaScript from Sonar coverage (#2813)
## Summary

Adds `sonar.coverage.exclusions=**/*.ts,**/*.tsx,**/*.js,**/*.jsx` to
`sonar-project.properties`. There were no existing exclusion entries.

The shared SonarCloud workflow only publishes the Rust lcov report
(`sonar.rust.lcov.reportPaths=lcov.info`). Artcraft's workflow wrapper
does not pass a TypeScript or JavaScript coverage report, so those files
can never appear covered.

That is why [#2805](https://github.com/storytold/artcraft/pull/2805) and
[#2806](https://github.com/storytold/artcraft/pull/2806) fail the
quality gate on **new_coverage** (0.0% against the 80% target) after the
organisation was recreated. They only add `void` in front of existing
TypeScript calls:

- #2805: 53 new lines to cover, all uncovered
- #2806: 38 new lines to cover, all uncovered

[#2807](https://github.com/storytold/artcraft/pull/2807) also touches
TypeScript (`void` in `libs/components`) and is listed here for the same
exclusion, but its current gate failure is duplicated new code (10.6%),
which this PR does not address.

Same approach as
[anicraft#106](https://github.com/storytold/anicraft/pull/106), which
excluded JS, PowerShell and Python for the same reason. filmcraft and
lightcraft already exclude `**/tools/**,**/docs/**,**/examples/**`. This
PR uses extensions because the uncovered TypeScript and JavaScript live
under `frontend/`.

No product code changes. No open PR already edits
`sonar-project.properties`.

## Testing

Visual review of `sonar-project.properties` against anicraft, filmcraft
and lightcraft, and of the shared `sonarcloud.yml` coverage inputs. No
Rust or frontend tests were run (properties file only). The quality-gate
effect on #2805 and #2806 will be visible after this merges and those
branches are updated from main.

- [x] Clean room: no proprietary code, scripts or assets copied
(AGENTS.md)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **Chores**
* Updated project configuration for coverage reporting. No user-facing
changes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-11-10 21:07:25 +01:00
.claude/rules ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.config ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.github ci: one macOS and one Windows release build per branch at a time, with job time limits (#2809) 2026-11-10 16:45:35 +01:00
.sqlx ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
_database/sql/artcraft_migrations ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
_docs client identity (origin, user agent) (#1962) 2026-09-27 23:41:15 -04:00
artcraft-native fix: align rfd backend with GTK dialog feature 2026-11-04 10:09:58 -05:00
crates api_clients: use tokio::fs inside async functions (Sonar S7493) (#2803) 2026-11-10 18:53:57 +01:00
docs client identity (origin, user agent) (#1962) 2026-09-27 23:41:15 -04:00
frontend Relicense ArtCraft under MIT OR Apache-2.0 (#2043) 2026-10-10 04:14:38 -04:00
packaging ci: dual-push Flatpak OCI bundles to Docker Hub (#2784) 2026-11-08 20:22:46 -05:00
script better dev script (#1961) 2026-09-27 14:48:34 -04:00
test_data ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.coderabbit.yaml Skip CodeRabbit reviews on Dependabot PRs (#2510) 2026-10-20 11:40:52 -04:00
.gitattributes ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.gitignore ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
AGENTS.md Copy the shared house rules into AGENTS.md (#2749) 2026-11-06 18:44:42 +01:00
Cargo.lock artcraft-native: generate with Midjourney or fal (provider choice) (#2115) 2026-10-11 20:47:59 +07:00
Cargo.toml Add artcraft-native: pure Rust (egui) desktop app, starting with Create Image and Create Video (#2067) 2026-10-11 00:44:59 +07:00
CLAUDE.md Copy the shared house rules into AGENTS.md (#2749) 2026-11-06 18:44:42 +01:00
Cranky.toml ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
LICENSE-APACHE Relicense ArtCraft under MIT OR Apache-2.0 (#2043) 2026-10-10 04:14:38 -04:00
LICENSE-MIT Relicense ArtCraft under MIT OR Apache-2.0 (#2043) 2026-10-10 04:14:38 -04:00
NOTICE Add artcraft-native: pure Rust (egui) desktop app, starting with Create Image and Create Video (#2067) 2026-10-11 00:44:59 +07:00
README.md docs: add CodeRabbit badge to README (#2790) 2026-11-09 10:09:12 -05:00
ROADMAP.md ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
rustfmt.toml ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
sonar-project.properties Exclude TypeScript and JavaScript from Sonar coverage (#2813) 2026-11-10 21:07:25 +01:00

ArtCraft

Scanned by SonarCloud Reviewed by CodeRabbit

The IDE for artists.

https://github.com/user-attachments/assets/7339bd09-3e0d-44a7-a024-af9de64e4c11

Watch the two-minute ArtCraft demo on YouTube

Discord members online YouTube X LinkedIn

Download ArtCraft · GitHub releases · Build from source

ArtCraft is the IDE for interactive AI image and video creation. Compose in 2D, stage scenes in 3D, and choose the models that fit your work. Turn prompting into crafting with visual tools for precise, repeatable results.

Show, Don't Tell: Advanced Crafting Features

Artists need control over composition, character identity, and camera placement. Build the scene before you generate it. Click any preview to view it at full size.

Feature Preview
Image to Location
Place virtual actors in a consistent environment and plan multiple shots in the same room.
Image to Location demo
3D Image Compositing
Layer backdrops, foregrounds, and props in 3D to build compositions with depth.
3D Image Compositing demo
2D Image Compositing
Compose a scene with image layers, background removal, and drawing tools.
2D Image Compositing demo
Image to 3D Mesh
Turn an image into a 3D object you can position, rotate, and frame precisely.
Image to 3D Mesh demo
Character Posing
Pose characters and set your camera before generating the final shot.
Character Posing demo
Scene Blocking with Kitbashing
Combine 3D asset kits to control camera angles, object placement, and depth.
Scene Blocking with Kitbashing demo
Character Identity Transfer
Use a posed mannequin to guide the placement and pose of your character.
Character Identity Transfer demo
Background Removal
Isolate subjects to use as props, layers, or backdrops in 2D and 3D scenes.
Background Removal demo
Mixed Asset Crafting
Combine image cutouts, worlds, and 3D meshes in one scene.
Mixed Asset Crafting demo

More previews are coming for scene blocking, canvas editing, and scene relighting.

Quick and Easy Prompting

Start with a prompt when you want to explore an idea quickly, then use the canvas and scene tools to refine it.

Feature Preview
Text to Image
Explore ideas across a wide range of image models with a text prompt.
Text to Image demo
Prompted Image Editing
Describe changes to an image with models such as Nano Banana Pro and GPT Image.
Prompted Image Editing demo
Canvas Image Editing
Use drawing, masks, and inpainting to guide exactly where an image changes.
Canvas Image Editing demo
Image to Video
Animate an image with your choice of video models and generation controls.
Image to Video demo

More previews are coming for image inpainting and image ingredients.

Models and Providers Supported within ArtCraft

Provider Models and workflows
ArtCraft Images, video, music and sound, 3D meshes, and worlds. Browse the complete model catalog below.
Grok Grok Imagine and Grok Video.
Midjourney Midjourney image generation.
Sora Sora 1, Sora 2, and GPT Image 1.
World Labs Marble world generation with Gaussian splats.
ArtCraft: the full 62-model catalog

† Currently disabled. ‡ Restricted model; not currently available in the desktop app.

Images (16)

Family Models
Nano Banana Nano Banana; Nano Banana 2; Nano Banana Pro
GPT Image GPT Image 1.5; GPT Image 2; GPT Image 2.5 Flare; GPT Image 2.5 Sunburst
FLUX FLUX.1 [dev]; FLUX.1 [schnell]; FLUX 1.1 [pro]; FLUX 1.1 [pro] ultra
Seedream Seedream 4; Seedream 4.5; Seedream 5 Lite; Seedream 5.0 Pro; Seedream 5.0 Pro Ultra

Video (25)

Family Models
Seedance Seedance 1.0 Lite †; Seedance 1.5 Pro; Seedance 2.0
Kling Kling 1.6 Pro; Kling 2.1 Pro †; Kling 2.1 Master †; Kling 2.5 Turbo Pro; Kling 2.6 Pro; Kling 3.0 Pro †; Kling 3.0 Standard †
Veo Veo 2 †; Veo 3 †; Veo 3 Fast; Veo 3.1; Veo 3.1 Fast; Veo 3.1 Lite
Sora Sora 2 †; Sora 2 Pro †
Vidu Vidu Q3; Vidu Q3 Turbo
MiniMax MiniMax H3; MiniMax H3 Turbo ‡; MiniMax H3 Ultra ‡
Flux Flux 3; Flux 3 Draft

Music and sound (5)

Family Models
Suno Suno Music; Suno Remix; Suno Sounds; Suno Sample
Seed Audio Seed Audio 1.0

3D meshes (11)

Family Models
Hunyuan 3D Hunyuan 3D 2.0; Hunyuan 3D 2.1; Hunyuan 3D 3; Hunyuan 3D 3 Sketch; Hunyuan 3D 3.1 Pro; Hunyuan 3D 3.1 Rapid; Hunyuan 3D 3.1 Part; Hunyuan 3D 3.1 Smart Topology
Tripo3D Tripo3D H3.1
Meshy Meshy 6
Rodin Rodin 2.5 Fast

Worlds and Gaussian splats (5)

Family Models
Marble Marble 1.0; Marble 1.0 Draft; Marble 1.1; Marble 1.1 Plus
TripoSplat TripoSplat

Additional provider integrations are planned for Kling, Google, Runway, and Luma. We're also interested in supporting existing subscriptions with aggregators such as OpenArt and Freepik.

Downloads

Documentation

License

ArtCraft is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the ArtCraft contributors. Required notices, including third-party material not covered by this license, are in NOTICE.