Files
solidcraft/crates/engine/Cargo.toml
T
af1d15b5ea Canvas to Sketch: trace a canvas image into a sketch on it (#3931) (#4263)
* Canvas to Sketch: trace a canvas image into a sketch on it (#3931)

New command canvas.to_sketch, offered as Canvas to Sketch in the canvas
context menu. It traces the canvas image (automatic Otsu threshold, light
drawings on dark backgrounds inverted) with interpolated marching squares
and Douglas-Peucker, and adds lines and cubic Bezier splines through Insert
SVG's add_geometry to a new sketch on the canvas plane, with the canvas'
width, centre, rotation and flip. Holes stay holes; one undo step.

The image's declared width x height is checked before decoding (at most
40 megapixels) and the decoder runs under image::Limits, since canvases
are capped by file size, not pixel count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Move the new message to a pending locale file

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
2026-10-27 01:39:18 +00:00

59 lines
1.9 KiB
TOML

[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"]
[[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]
solidcraft-geom = { workspace = true }
solidcraft-sketch = { workspace = true }
solidcraft-kernel = { workspace = true }
solidcraft-doc = { workspace = true }
solidcraft-io = { workspace = true }
solidcraft-render = { workspace = true }
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]
# 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"]