Commit graph

146 commits

Author SHA1 Message Date
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
c41380f17b ref 2026-07-29 20:12:35 +03:00
f932939534 set name 2026-07-29 19:56:41 +03:00
c97be7bdd0 pdf 2026-07-29 19:50:20 +03:00
0037c977e2 lw 2026-07-29 18:40:40 +03:00
6f21e407ac wf lineart 2026-07-29 18:26:39 +03:00
9d2d948d89 wf viz 2026-07-29 16:53:31 +03:00
fda0042ba0 transforms 2026-07-29 16:28:23 +03:00
4fe4f4e75c ng fix 2026-07-28 19:04:11 +03:00
98c9032f8f retraction feedrate + seam alignment 2026-07-24 14:56:38 +03:00
e3e2335754 offset 2026-07-24 14:49:55 +03:00
8cff75d569 wipe tower 2026-07-20 19:19:20 +03:00
0e14fa19f7 evaluate hidden 2026-07-20 19:04:46 +03:00
2b98e9bc69 conserve attributes 2026-07-20 17:08:22 +03:00
62dd49c6d2 first layer extrusion 2026-07-20 16:57:33 +03:00
ae911884cc up 2026-07-20 16:53:02 +03:00
4fc503cf85 rf 2026-07-20 16:14:00 +03:00
d0e71262aa binary gcode funcs 2026-07-14 21:36:26 +03:00
8e2aaae7ec printer list ref 2026-07-14 21:21:09 +03:00
30a3458762 Merge branch 'master' of https://github.com/PredellaN/NodeSlicer 2026-07-14 21:01:14 +03:00
a174f78d45 typing 2026-07-14 21:01:01 +03:00
76c74f53c4 up 2026-07-13 13:41:33 +03:00
4dfaa0447e proper scale 2026-07-13 13:38:37 +03:00
6ac6fef685 fix: use scene scale correctly in Gcode to Preview Mesh node 2026-07-13 13:32:41 +03:00
2eaafd0c97 feat: add Overhang Mask node with support column propagation 2026-07-13 13:31:15 +03:00
4537389458 ginger snippets 2026-07-13 13:10:47 +03:00
21dde0c4a5 feat: add support for retraction and Z-lift in Pather and Printer Intrinsics 2026-07-13 13:10:14 +03:00
76cf856155 get infill mask 2026-07-02 17:58:55 +03:00
6f5e74523a new buffer funcs 2026-07-02 17:55:26 +03:00
0a8910d9cb better open paths support 2026-07-02 15:39:02 +03:00
7d53f29566 refactor zip + drop geometry 2026-07-02 12:53:55 +03:00
d556c61ee5 transform 2026-06-30 17:22:54 +03:00
004601b820 simplify 2026-06-26 13:45:22 +03:00
dbc631e3dd rotate 2026-06-26 13:39:13 +03:00
3c186aae9f clipping 2026-06-10 16:49:27 +03:00