Files
artcraft/artcraft-native/Cargo.toml
T
bflatastic 00696060c4 artcraft-native: generate with Midjourney or fal (provider choice)
Images can run on Midjourney with the user's account or on fal with their
API key, picked from the model selector's "Select Provider" submenu.
Midjourney connects through a sign-in window (system webview), fal through
Settings. Jobs are tracked locally and their results uploaded into the
library, resuming after a restart.

The Midjourney credential manager and the router prompt helper move into
midjourney_client and artcraft_router, shared by both desktop apps.
2026-10-11 20:46:39 +07:00

54 lines
1.8 KiB
TOML

[package]
name = "artcraft_native"
description = "ArtCraft desktop app in pure Rust: an egui UI over the ArtCraft API client (no Tauri, no webview)"
version = "0.1.0"
edition = "2021"
publish = false
[[bin]]
name = "artcraft-native"
path = "src/main.rs"
[dependencies]
# Internal (Tauri-free) API crates shared with the Tauri app.
artcraft_api_defs.workspace = true
artcraft_client.workspace = true
artcraft_router.workspace = true
cookie_store_wrapper.workspace = true
fal_client.workspace = true
midjourney_client.workspace = true
tokens.workspace = true
# External
anyhow.workspace = true
cookie.workspace = true
chrono.workspace = true
directories = "6.0.0"
eframe = { version = "0.36", default-features = false, features = ["default_fonts", "glow", "accesskit", "wayland", "x11", "persistence", "links"] }
egui = "0.36"
enums.workspace = true
egui_extras = { version = "0.36", default-features = false, features = ["image", "svg"] }
env_logger.workspace = true
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif"] }
log.workspace = true
open = "5"
reqwest = { workspace = true, features = ["multipart"] }
resvg = "0.45"
rfd = "0.16"
rodio = { version = "0.20", default-features = false, features = ["symphonia-all"] }
serde.workspace = true
serde_json.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "sync", "time", "fs"] }
url.workspace = true
uuid = { workspace = true, features = ["v4"] }
# Pasting images from the clipboard (egui's own clipboard support is text only).
arboard = { version = "3", default-features = false, features = ["image-data"] }
# The Midjourney sign-in window (its login cookies can only be captured inside a browser).
wry = "0.55"
[dev-dependencies]
egui_kittest = "0.36"