Commit graph

180 commits

Author SHA1 Message Date
9137d297e5 remove prusaslicer (out of scope) 2026-09-25 13:32:51 +03:00
8d5fb68aaa holes 2026-09-25 13:21:10 +03:00
bcf9334d78 exporter 2026-08-31 15:00:07 +03:00
926da63dd8 naming template 2026-08-31 14:42:45 +03:00
31d34577e7 up 2026-08-26 12:54:30 +03:00
562dc221a2 int extruder 2026-08-26 12:46:48 +03:00
c77412bb50 up 2026-08-26 12:39:49 +03:00
77323d29db up 2026-08-26 12:35:32 +03:00
ec539fa9fe xml 2026-08-26 12:34:26 +03:00
9d282dee01 up 2026-08-26 12:04:35 +03:00
bedc33c7d3 ref 2026-08-26 12:02:01 +03:00
b6f3293303 up 2026-08-26 11:19:43 +03:00
7535bd7a85 typing 2026-08-25 20:47:31 +03:00
39d2530f14 up 2026-08-25 17:45:48 +03:00
b67a8d9755 up 2026-08-25 14:47:46 +03:00
7228613ae4 up 2026-08-25 14:32:36 +03:00
d808c9a5c3 reg 2026-08-25 14:29:35 +03:00
e504e9b88e ref 2026-08-25 14:26:02 +03:00
2bfc1ef781 refactor sockets 2026-08-25 13:57:44 +03:00
29f7b71be1 naming 2026-08-25 12:34:29 +03:00
3793c45f54 names from islands 2026-08-10 13:58:12 +03:00
32e43c748b grid 2026-08-07 16:04:51 +03:00
40cc779e5d grid placement 2026-08-07 15:00:58 +03:00
8154370c99 rotate legend 2026-08-07 14:33:15 +03:00
0c266dd8c7 3d grid 2026-08-06 12:31:44 +03:00
579af57fb8 ransac wheel 2026-08-06 11:46:11 +03:00
30f9d88e4c up 2026-08-06 10:50:50 +03:00
02175f379a draw lines 2026-08-04 15:44:42 +03:00
5d52c936be up 2026-08-04 13:56:16 +03:00
5aa1345027 mesh 2 pdf changes 2026-08-04 10:49:53 +03:00
f1d93bd98c up 2026-08-03 19:21:37 +03:00
9ccac33958 classing 2026-08-03 19:10:17 +03:00
0e2cdcd3b3 up 2026-08-03 18:59:21 +03:00
72bd188e90 up 2026-08-03 18:59:15 +03:00
5cf0caefd0 up 2026-08-03 18:18:26 +03:00
dc0849a778 up 2026-08-03 13:24:59 +03:00
4a858463af ref 2026-07-31 17:22:30 +03:00
9b3b2cca94 up 2026-07-31 15:15:31 +03:00
5b38682b93 sa2 redo 2026-07-31 14:38:42 +03:00
7b8c54c2a5 sa2 2026-07-31 14:25:38 +03:00
c862e8976b contour 2026-07-30 19:29:23 +03:00
c2e1bc50a5 Fix contour silhouette detection for perpendicular faces
The silhouette detection was using 2D orientation (CCW/CW in XY projection)
which fails for faces perpendicular to the view direction. When a face's
normal is parallel to the Z-axis (truly perpendicular to top-down view),
the 2D cross product becomes zero and the face is neither CCW nor CW.

This fix replaces the 2D orientation approach with 3D normal-based detection:
- Categorize faces by the sign of normal.z:
  - normal.z < 0: front-facing (visible from top)
  - normal.z > 0: back-facing (not visible)
  - normal.z == 0: vertical/edge-on
- An edge is a silhouette if adjacent faces have different categories

This correctly detects silhouette edges for:
- Front-facing + back-facing faces
- Front-facing + vertical faces
- Back-facing + vertical faces

Affects: extract_silhouette_contour_edges() and extract_lineart_edges()

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-07-30 15:21:27 +03:00
288081ddf0 pt to mm 2026-07-30 15:11:27 +03:00
4b75ecb803 translation 2026-07-30 14:51:57 +03:00
46582f82d6 sa2 2026-07-30 14:15:02 +03:00
7e43f42c1c up 2026-07-30 12:47:36 +03:00
71301f85f7 font 2026-07-30 12:44:21 +03:00
a4068addf9 ref 2026-07-30 12:29:31 +03:00
5bb30b08a0 mesh 2 pdf 2026-07-30 11:53:20 +03:00
122f83b087 naming and sizes 2026-07-29 21:56:37 +03:00