You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terminology note: old body = before clone, new body = after clone
4 problems here:
The logic for choosing the right edge to use in the API queries (i.e. choosing which edge ID to assign to extrusion_info_edge_id) was very confusing to follow, due to mutation. I refactored it to be immutable, and added comments explaining its logic.
The logic was wrong: it was sometimes using an ID from the new body, when it's supposed to query the old body.
The get_adjacency_info call was not using the extrusion_info_edge_id, it was using any_edge_id, which is one of the inputs to the complex logic above, not its final output after carefully analyzing which edge ID to use.
the get_adjacency_info call was using the wrong sketch: sketch_id not sketch.id. I hate that these are two different things.
The broader takeaway is that do_post_extrudesucks, I hate this function and Serena and I have a plan to kill it (see KittyCAD/modeling-api#1130)
Testing
Currently, I've tested it by running a local engine and looking at the logs. Before this, the engine logs Unexpected missing opposite edge encountered during Solid3dAdjacencyInfo::get() from Mike's recent PR. As of this PR, the logs no longer show up.
You can also see the sim test for "christmas_tree_mirror3d_union" has been updated and adds 3 "SweepEdge Adjacent" entries to the artifact graph.
No successful run was found on main (b4c3fbf) during the generation of this report, so 36d2e6a was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
4 problems here:
extrusion_info_edge_id) was very confusing to follow, due to mutation. I refactored it to be immutable, and added comments explaining its logic.extrusion_info_edge_id, it was usingany_edge_id, which is one of the inputs to the complex logic above, not its final output after carefully analyzing which edge ID to use.The broader takeaway is that
do_post_extrudesucks, I hate this function and Serena and I have a plan to kill it (see KittyCAD/modeling-api#1130)Testing
Currently, I've tested it by running a local engine and looking at the logs. Before this, the engine logs
Unexpected missing opposite edge encountered during Solid3dAdjacencyInfo::get()from Mike's recent PR. As of this PR, the logs no longer show up.You can also see the sim test for "christmas_tree_mirror3d_union" has been updated and adds 3 "SweepEdge Adjacent" entries to the artifact graph.