woodshop/tests
rob 9cbff4ec78 Add GUI Joinery panel (Phase B) + chamfers
GUI feature panel (gui/feature_panel.py), a "Joinery" tab beside Parts:
- Add buttons (Tenon/Mortise/Hole/Slot/Chamfer) drop a sensibly-sized feature
  on the selected board (add-with-default), then edit fields (face, along,
  across, width, height, depth, diameter) live; a feature list to pick which to
  edit; Delete. controller.active_feature tracks the one being edited, with
  size defaults derived from the board (controller._feature_defaults).

Chamfers (edge bevels):
- New EDGE_KINDS={"chamfer"}; geometry._apply_chamfer selects the edges around a
  face and bevels them with build123d chamfer(), clamped + try/except so an
  over-sized bevel can't crash the build. Verified: end + top-edge chamfers
  render and reduce volume.

66 tests pass (added chamfer volume + oversize-fallback). Verified GUI imports;
live window still needs a real display.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:54:04 -03:00
..
test_cutlist.py Add 3D orientation, richer operations, and cut list 2026-05-29 01:42:33 -03:00
test_driver.py Harden command parsing (review fix) 2026-05-29 01:55:12 -03:00
test_geometry.py Add GUI Joinery panel (Phase B) + chamfers 2026-05-29 13:54:04 -03:00
test_gui_controller.py Add multi-select + numberpad control panel 2026-05-29 12:47:39 -03:00
test_scene.py Add joinery features (parametric boolean tenon/mortise/hole/slot) 2026-05-29 13:27:57 -03:00