Files
artcraft/artcraft-native/Cargo.toml
T
bflatasticandClaude Opus 5.5 be102d7603 Add artcraft-native: a pure Rust (egui) desktop app
A rewrite of the desktop app without Tauri or a webview, starting with
Create Image and Create Video. It reuses the Tauri-free API crates
(artcraft_client, artcraft_api_defs, tokens, enums) and is styled after
the brutalist artcraft-webapp.

- Generation goes through OmniGen (models, cost, generate), so model
  options come from the server, as in the webapp.
- Recreates the prompt box: auto-grow, focus mode, length limit,
  enter-to-generate, @-mentions, reference deck and keyframes, drag &
  drop, image paste, library picker, model families, every picker, and
  the live credit cost.
- Generation feed (pending, failed, finished, library paging), lightbox,
  sign-in (existing Tauri login, browser code, password) and settings.
- Uses the glow renderer: wgpu-hal conflicts with the windows crates
  this workspace pins for Tauri.
- Lists the bundled OFL fonts in NOTICE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 00:35:26 +07:00

44 lines
1.4 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
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"
serde.workspace = true
serde_json.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "sync", "time", "fs"] }
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"] }
[dev-dependencies]
egui_kittest = "0.36"