* 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>
59 lines
1.9 KiB
TOML
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"]
|