Related to #58
Intersection edges
Move intersection edge generation to compute by iteratively running a BVH query per-triangle.
Dynamic Construction
Since the edges are returned as we go, the "onProgress" function could be adjusted to include the results object, again, so lines can progressively be displayed. Though we can't guarantee order.
Ergonomics
Reduce memory pressure by only generating edges as-needed.
Quality
Reduce line overlaps by trimming lines based on other parallel results, possibly by handling triangle intersection more intelligently.
- Trim based on projected triangle overlap (right now we skip exactly vertical tris?)
- If a line is exactly on the face of a triangle we should skip it. Visible lines have been shifted up
Clip Plnes
- use a proper plane
- clip edges after / during construction
- clip tris in kernel to 1 or two triangles, then construct the overlap and merge
- inclues new edges based on plane intersection
Related to #58
Intersection edges
Move intersection edge generation to compute by iteratively running a BVH query per-triangle.
Dynamic Construction
Since the edges are returned as we go, the "onProgress" function could be adjusted to include the results object, again, so lines can progressively be displayed. Though we can't guarantee order.
Ergonomics
Reduce memory pressure by only generating edges as-needed.
Quality
Reduce line overlaps by trimming lines based on other parallel results, possibly by handling triangle intersection more intelligently.
Clip Plnes