mirror of
https://github.com/storytold/craft-anything.git
synced 2026-11-05 20:47:45 +01:00
ad5cd81b6a
Pictures can be pasted into the prompt box with Ctrl+V (Cmd+V, Shift+Insert): a copied image is saved as a PNG in the person's own cache folder and attached, copied picture files are attached as they are, and attachments show as picture tiles.
95 lines
2.8 KiB
TOML
95 lines
2.8 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
|
|
[workspace.package]
|
|
version = "0.4.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
rust-version = "1.97"
|
|
repository = "https://github.com/storytold/craft-anything"
|
|
|
|
[workspace.dependencies]
|
|
# internal
|
|
craft-anything-evidence = { path = "crates/evidence" }
|
|
craft-anything-formats = { path = "crates/formats" }
|
|
craft-anything-disasm = { path = "crates/disasm" }
|
|
craft-anything-js = { path = "crates/js" }
|
|
craft-anything-analysis = { path = "crates/analysis" }
|
|
craft-anything-platform = { path = "crates/platform" }
|
|
craft-anything-engines = { path = "crates/engines" }
|
|
craft-anything-engine = { path = "crates/engine" }
|
|
craft-anything-ai = { path = "crates/ai" }
|
|
craft-anything-mcp = { path = "crates/mcp" }
|
|
craft-anything-setup = { path = "crates/setup" }
|
|
craft-anything-ui-egui = { path = "crates/ui-egui" }
|
|
craft-anything-testkit = { path = "crates/testkit" }
|
|
|
|
# external
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive", "rc"] }
|
|
serde_json = "1"
|
|
serde_path_to_error = "0.1"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
bitflags = { version = "2", features = ["serde"] }
|
|
schemars = "1"
|
|
log = "0.4"
|
|
toml = "0.9"
|
|
eframe = { version = "0.36", default-features = false }
|
|
egui = "0.36"
|
|
egui_extras = { version = "0.36", default-features = false }
|
|
egui_kittest = "0.36"
|
|
rfd = "0.17"
|
|
# Pictures pasted from the clipboard (egui only receives pasted text); egui-winit already uses it.
|
|
arboard = { version = "3.6", default-features = false, features = ["image-data"] }
|
|
rayon = "1"
|
|
proptest = "1"
|
|
# JavaScript (pure Rust, wasm-safe)
|
|
oxc_allocator = "0.153"
|
|
oxc_ast = "0.153"
|
|
oxc_ast_visit = "0.153"
|
|
oxc_parser = "0.153"
|
|
oxc_span = "0.153"
|
|
oxc_syntax = "0.153"
|
|
oxc_codegen = "0.153"
|
|
oxc_semantic = "0.153"
|
|
miniz_oxide = "0.8"
|
|
|
|
# native engine (pure Rust)
|
|
object = { version = "0.36", default-features = false, features = ["read", "std"] }
|
|
iced-x86 = { version = "1.21", default-features = false, features = ["std", "decoder", "intel", "instr_info"] }
|
|
yaxpeax-arm = { version = "0.5", default-features = false, features = ["std", "alloc", "fmt"] }
|
|
yaxpeax-arch = { version = "0.3", default-features = false, features = ["std", "alloc"] }
|
|
rustc-demangle = "0.1"
|
|
wasmparser = { version = "0.261", default-features = false, features = ["std", "validate", "features", "component-model", "simd"] }
|
|
wasmprinter = { version = "0.261", default-features = false, features = ["component-model"] }
|
|
regex = "1"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
|
|
# The browser build (apps/craft-anything-web, `trunk build --release`): small and fast to load.
|
|
[profile.web-release]
|
|
inherits = "release"
|
|
opt-level = "s"
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
debug = false
|
|
strip = true
|
|
panic = "abort"
|