Cargo.toml
[workspace]
members = [
"crates/beui",
"crates/beui_macros",
"crates/reactive",
"crates/block",
"crates/block-server",
"crates/block-client",
"crates/block-ui",
"crates/block-ui-test",
"crates/text-editor-core",
"crates/block-e2e",
"crates/block-app",
"crates/tabletop_games/api",
"crates/tabletop_games/host",
"crates/tabletop_games/rules/connect_four",
"crates/tabletop_games/rules/crazy_8s",
"crates/tabletop_games/rules/tic_tac_toe",
"crates/logicgame",
"crates/cvl2",
"crates/editors/audio_block",
"crates/editors/browser_tab",
"crates/editors/calendar",
"crates/editors/checklist",
"crates/editors/compiled_logic",
"crates/editors/counter",
"crates/editors/database",
"crates/editors/database_schema",
"crates/editors/database_view",
"crates/editors/deterministic_game",
"crates/editors/file_tree",
"crates/editors/game_module",
"crates/editors/gui_builder",
"crates/editors/hotbar",
"crates/editors/image_block",
"crates/editors/infinite_canvas",
"crates/editors/logic_game",
"crates/editors/logic_grid",
"crates/editors/map",
"crates/editors/paint_review",
"crates/editors/pan_zoom",
"crates/editors/pdf",
"crates/editors/pixel_art",
"crates/editors/pixel_ray_tracer",
"crates/editors/presentation",
"crates/editors/scene_3d",
"crates/editors/settings",
"crates/editors/text_block",
"crates/editors/ui_settings",
"crates/editors/version_control_data",
"crates/editors/version_control_worktree",
"crates/editors/video_block",
"crates/editors/workspace_index",
"crates/block-editor-plugin",
"crates/block-gpu-abi",
"crates/block-gpu-guest",
"crates/block-gpu-host",
"crates/block-gpu-shim",
"crates/block-wasm-host",
"crates/block-plugin-api",
"crates/ghostty-vt",
"crates/paint-snapshot",
"crates/plugin-test-runner",
"crates/fix-rust-source",
"crates/wasi-threads",
]
resolver = "3"
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "MIT"
[workspace.lints.clippy]
too_many_arguments = "allow"
[profile.dev]
debug = "line-tables-only"
incremental = false
[profile.test]
debug = "line-tables-only"
incremental = false
[profile.release-check]
inherits = "dev"
debug-assertions = false
overflow-checks = false
debug = false
incremental = false
[profile.plugin]
inherits = "dev"
opt-level = 2
debug = false
strip = "debuginfo"
incremental = false
[profile.plugin-release]
inherits = "release"
strip = "debuginfo"
# Cranelift is what compiles a plugin, both in the app when an artifact is
# missing and in the compiler the build hands every plugin to, and unoptimised
# it is an order of magnitude slower at it: the plugins a debug build ships take
# minutes rather than seconds. Optimising the compiler where it is built is what
# lets it be built in the same profile, and so the same cargo call, as the app.
[profile.dev.package.cranelift-assembler-x64]
opt-level = 2
[profile.dev.package.cranelift-bforest]
opt-level = 2
[profile.dev.package.cranelift-bitset]
opt-level = 2
[profile.dev.package.cranelift-codegen]
opt-level = 2
[profile.dev.package.cranelift-control]
opt-level = 2
[profile.dev.package.cranelift-entity]
opt-level = 2
[profile.dev.package.cranelift-frontend]
opt-level = 2
[profile.dev.package.cranelift-native]
opt-level = 2
[profile.dev.package.regalloc2]
opt-level = 2
[profile.dev.package.wasmparser]
opt-level = 2
[profile.dev.package.wasmtime]
opt-level = 2
[profile.dev.package.wasmtime-environ]
opt-level = 2
[profile.dev.package.wasmtime-internal-core]
opt-level = 2
[profile.dev.package.wasmtime-internal-cranelift]
opt-level = 2