Jeff Laflamme
6c44273d55
fix(board-view): rebase onto main — fold responseMode + restore jpg
Rebased onto current main (d765bfe). Merged changes:
Board view (kicad-cli, cffi-free):
- Replace pcbnew/PLOT_CONTROLLER + cairosvg with kicad-cli SVG export
and cffi-free PNG conversion: pymupdf → inkscape → imagemagick chain
- pcbPath optional param with fallback to loaded board
- Restore jpg output via PIL post-processing on PNG bytes
- responseMode inline/file from main's #161: inline returns imageData,
file writes <board>_2d_view.<ext> and returns filePath
- shutil.which for cross-platform kicad-cli lookup
- Explicit TimeoutExpired catch; errorDetails on all error returns
- Validate fmt strictly; TypeScript returns image type for inline png/jpg
Schematic view (kicad_interface.py):
- Same cffi-free _svg_to_png helper for get_schematic_view and
get_schematic_view_region (pymupdf → inkscape → imagemagick)
Tests:
- Update test_get_board_2d_view_save_to_file.py to mock subprocess/
kicad-cli and _svg_to_png instead of PLOT_CONTROLLER/cairosvg
- All 5 responseMode tests pass
2026-05-27 10:50:21 +07:00
..
2026-04-18 12:55:41 +01:00
2026-04-18 15:23:00 +01:00
2026-04-12 11:22:39 +01:00
2026-05-19 21:17:25 -04:00
2026-04-29 21:40:39 +01:00
2026-05-18 14:05:10 -04:00
2026-05-18 14:05:14 -04:00
2026-05-01 10:03:49 -07:00
2026-05-18 14:05:18 -04:00
2026-05-18 14:05:26 -04:00
2026-05-18 23:03:38 -04:00
2026-05-18 23:03:38 -04:00
2026-05-23 23:08:23 +02:00
2026-05-18 13:39:30 -04:00
2026-04-12 15:49:15 +01:00
2026-05-18 23:03:34 -04:00
2026-05-19 09:36:33 -04:00
2026-04-08 10:27:53 +02:00
2026-04-12 11:22:39 +01:00
2026-05-18 14:55:54 -04:00
2026-04-14 12:52:17 -04:00
2026-04-12 11:22:39 +01:00
2026-05-27 10:50:21 +07:00
2026-04-12 15:29:46 +01:00
2026-04-29 21:40:39 +01:00
2026-05-03 22:24:14 +01:00
2026-04-15 12:32:09 -04:00
2026-05-18 13:39:22 -04:00
2026-05-18 13:39:26 -04:00
2026-05-18 23:00:22 -04:00
2026-05-18 23:19:50 -04:00
2026-04-15 22:40:14 +10:00
2026-05-18 13:39:33 -04:00
2026-05-23 22:32:15 +02:00
2026-05-22 17:29:34 -04:00
2026-05-03 22:24:14 +01:00
2026-04-12 15:46:32 +01:00
2026-04-12 14:12:11 +01:00
2026-04-12 18:52:46 +01:00
2026-05-03 21:53:21 +01:00
2026-05-18 13:53:37 -04:00
2026-05-18 23:02:17 -04:00
2026-05-03 22:40:34 +01:00
2026-05-18 14:40:13 -04:00
2026-05-18 13:53:34 -04:00
2026-05-03 22:30:17 +01:00
2026-04-12 14:44:12 +01:00
2026-04-12 11:22:39 +01:00
2026-04-21 10:12:52 -07:00
2026-04-18 23:14:29 +01:00
2026-04-12 11:22:39 +01:00
2026-04-12 18:10:55 +01:00
2026-05-22 17:42:39 -04:00
2026-04-18 12:55:41 +01:00
2026-05-18 14:05:22 -04:00
2026-05-23 23:08:23 +02:00
2026-04-12 17:02:35 +01:00
2026-04-26 14:59:47 +01:00