Skip to content

fix/line-infill-linking#104

Merged
liamnwhite1 merged 5 commits intodevelopfrom
fix/line-infill-linking
Mar 2, 2026
Merged

fix/line-infill-linking#104
liamnwhite1 merged 5 commits intodevelopfrom
fix/line-infill-linking

Conversation

@liamnwhite1
Copy link
Copy Markdown
Collaborator

This pull request refines the infill line linking logic for partitioned linking, along with some minor cleanups and improvements to code clarity and maintainability.

Infill Line Linking Improvements

  • Added support for "partitioned linking" of infill lines: the optimizer now links lines within the same partition before linking between partitions, controlled by a new boolean parameter and member variable in PolylineOrderOptimizer. This option is now passed through from settings and used in the infill optimization workflow. [1] [2] [3] [4]

  • Updated the infill line linking algorithm to choose between partitioned and monotonic linking based on the new flag, with clearer logic and improved variable naming. [1] [2]

Settings and Constants

  • Added a new settings constant kLinesPartitionedLinking to support the partitioned linking feature, and ensured it is correctly referenced throughout the codebase. [1] [2]

Code Cleanup and Minor Refactoring

  • Cleaned up redundant includes and comments in optimizer headers, and streamlined intersection logic for clarity and correctness. [1] [2] [3]
  • Removed an unused field from the ODS-to-JSON script for minor maintainability improvement.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new “partitioned linking” option for line infill optimization, wires it through settings/config, and refactors some debugging/inspection utilities.

Changes:

  • Added a new infill setting (infill_lines_partitioned_linking) and passed it into PolylineOrderOptimizer to control line-linking behavior.
  • Updated infill line linking logic in PolylineOrderOptimizer to switch behavior based on the new flag, plus some cleanup in intersection checks and comments.
  • Introduced GeometryDebug::printDesmos helpers and refactored skeleton inspection to use them; removed the unused dependency_group config field and bumped version.

Reviewed changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
version.json Patch version bump.
src/utilities/constants.cpp Adds the new profile setting key string.
include/utilities/constants.h Declares the new profile setting constant.
resources/configs/master.conf Adds the new setting definition; removes dependency_group fields.
scripts/ods_to_json.py Removes dependency_group from the ODS-to-JSON typing map.
src/step/layer/regions/infill.cpp Passes the new setting into PolylineOrderOptimizer::setInfillParameters.
include/optimizers/polyline_order_optimizer.h Extends infill parameters and adds the new member flag.
src/optimizers/polyline_order_optimizer.cpp Implements the new selection behavior and related cleanups.
include/geometry/geometry_debug.h New Desmos-printing debug API.
src/geometry/geometry_debug.cpp Implementation of GeometryDebug::printDesmos overloads.
src/step/layer/regions/skeleton.cpp Refactors skeleton inspection output to use GeometryDebug.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@liamnwhite1 liamnwhite1 force-pushed the fix/line-infill-linking branch 2 times, most recently from 8e8450d to 4e1c851 Compare February 27, 2026 22:11
@liamnwhite1 liamnwhite1 force-pushed the fix/line-infill-linking branch from 4e1c851 to 810980f Compare February 27, 2026 22:27
@liamnwhite1 liamnwhite1 merged commit aa95744 into develop Mar 2, 2026
4 checks passed
@liamnwhite1 liamnwhite1 deleted the fix/line-infill-linking branch March 2, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants