Keep the piece's smooth core, then grow it back to restore the true edges. Removes the wood-knot and grain leaks on the MDF-on-floor photo. Pieces that are textured themselves are left untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Real photo fixtures
Regression photos for detect(). Each entry in manifest.json is checked by tests/fixtures.test.ts.
To add one:
- Take a top-down photo of a scrap piece with something of known length visible.
- Rotate it upright and resize it so the long side is at most 2000 px. Save as JPEG. EXIF orientation is ignored by the test decoder.
- Measure the real piece's bounding box in mm.
- Open the photo in the app, set the scale, and note px/mm, the threshold you used, and, if needed, a seed point (shown in image px).
- Add an entry:
{
"file": "plywood-1.jpg",
"threshold": null,
"seed": null,
"pxPerMm": 3.21,
"expected": { "widthMm": 412, "heightMm": 287, "holes": 2 },
"toleranceMm": 8
}
threshold: null means Otsu's automatic value. holes is optional; leave it out when
background texture creates noise holes. Without a known scale, use pxPerMm: 1 and sizes in px. seed is { "x": ..., "y": ... } or null.