[package] name = "solidcraft-engine" description = "SolidCraft engine: the session, the command registry (everything is a command), undo/redo and selection" version.workspace = true edition.workspace = true license.workspace = true [lints] workspace = true [features] default = [] # Optional authored texture/HDR bytes; the command registry and metadata remain available. bundled-render-library = [] raytrace-cpu = ["solidcraft-render/raytrace-cpu"] # Turns on the parameter-contract audit recorder (`SOLIDCRAFT_PARAM_AUDIT`, see # `src/schema/record.rs`), for checking a new contract against the whole test suite. param-audit = [] solver-profiling = ["solidcraft-sketch/solver-profiling"] # Compile the profiler in (solidcraft-profile/enabled): every app turns it on by default, so any # build can be profiled; it records only once switched on (SOLIDCRAFT_PROFILE=1, the CLI's # --profile, the app's preference, diagnostics.profile). profile = ["solidcraft-profile/enabled"] [[example]] name = "sketch_analysis_bench" required-features = ["solver-profiling"] [[example]] name = "sketch_drag_bench" required-features = ["solver-profiling"] [[example]] name = "sketch_target_bench" required-features = ["solver-profiling"] [dependencies] solidcore-record = { workspace = true } solidcraft-geom = { workspace = true } solidcraft-sketch = { workspace = true } solidcraft-kernel = { workspace = true } solidcraft-doc = { workspace = true } solidcraft-io = { workspace = true } solidcraft-render = { workspace = true } solidcraft-profile = { workspace = true } # reference pictures for inspect.compare_picture (PNG and JPEG decode, PNG encode) image = { workspace = true, features = ["jpeg"] } serde = { workspace = true } serde_json = { workspace = true } toml_edit = "0.25" schemars = { workspace = true } serde_path_to_error = { workspace = true } thiserror = { workspace = true } log = { workspace = true } web-time = { workspace = true } [dev-dependencies] solidcraft-profile = { workspace = true, features = ["enabled"] } # Model-cache tests also run in a source tarball build (no git commit). solidcraft-io = { workspace = true, features = ["trust-unknown-source"] } # Normal CI exercises profiling assertions without enabling the production feature. solidcraft-sketch = { workspace = true, features = ["solver-profiling"] } [[example]] name = "render_resource_workflow" required-features = ["raytrace-cpu"]