mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-13 20:20:39 +00:00
251573a5a4
* claim: #1486 * Compare picture: overlap and edge offsets of the model against a reference picture (#1486) inspect.compare_picture lays the model's silhouette over the part found in a PNG or JPEG and slides it to the best overlap: overlap (0..1), the model's edges against the picture's in mm at nine stations, and an overlay PNG. The MCP tool compare_picture runs it and hands the overlay back as an image block. inspect.silhouette grows a reusable silhouette::outline for the model side. * chore: re-trigger checks (defaults line already present in PR body) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * i18n: carry the Compare Picture label in Arabic, Hebrew and Vietnamese too The complete-catalog guard (every_complete_catalog_carries_every_english_message) failed because the pending file covered only en/ja/zh; ar, he and vi are complete catalogs and need the key as well. * Compare picture: one uniform scale, capped fit, sturdier part finding Review on #6416: fit no longer stretches the axes apart (width is the default, both scales uniformly by width and reports aspect_mismatch); the fitted model takes the same MAX_GRID cap as the picture; the border flood seeds only from border pixels near the border's main colour, reads alpha, retries at a stricter step, and says which case failed; the slide searches the whole placement range instead of a tenth around the centre; the model's holes get the picture's fill rule; crop becomes crop_px / crop_fraction with explicit units. Pins #1486's bracket (overlap 0.865, bottom -10 mm at the upright) and adds a regression test per problem. * Compare picture: alpha only for a see-through border, part_fills_crop, outline-only wording Review re-test on #6416: one translucent backdrop pixel no longer switches the read to alpha — alpha decides only when most of the border is see-through, and any ink is then part, so a part drawn at alpha 100 survives; part_fills_crop: true takes the crop box as the part itself, for one view cropped tight off a board where the part takes most of the border and the flood would keep the backdrop strip instead; a third backdrop pass compares each pixel to the border's main colour, so a white part on (245, 245, 245) JPEG at quality 75 separates; the command, tool and docs descriptions now say the compare is outline only: holes are not compared. A banded light backdrop stays a follow-up. A test per case. * MCP compare: format the picture tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Dahak Builds <dahakbuilds@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
20 lines
583 B
TOML
20 lines
583 B
TOML
[package]
|
|
name = "solidcraft-mcp"
|
|
description = "SolidCraft MCP server: JSON-RPC 2.0 over stdio, driving a headless session or the running app"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
solidcraft-engine = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
# The renderer `solidcraft-cli mcp` installs, so the tests' screenshots are drawn as the server's.
|
|
solidcraft-gpu = { workspace = true }
|
|
# Synthetic reference pictures for the compare_picture test.
|
|
image = { workspace = true }
|