Skip to content

Improve thumbnail readability and add feature edge extractionPr/thumbnail readability - #79

Draft
aaron4ce wants to merge 3 commits into
CommonWealthRobotics:developmentfrom
aaron4ce:pr/thumbnail-readability
Draft

aaron4ce wants to merge 3 commits into
CommonWealthRobotics:developmentfrom
aaron4ce:pr/thumbnail-readability

Conversation

@aaron4ce

@aaron4ce aaron4ce commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Draft PR for:
CommonWealthRobotics/CaDoodle-Application#313

This updates thumbnail rendering and adds reusable feature-edge extraction for mesh-based previews.

Changes include:

  • improved thumbnail camera/rendering behavior
  • supersampled thumbnail rendering
  • feature-edge rendering in thumbnails
  • shared feature-edge extraction utility
  • cleanup of Sweep output so generated sweep geometry no longer includes the extra synthetic center pin

The feature-edge extractor is intentionally kept independent of JavaFX rendering so it can be reused by other consumers.

Validation:

  • full CaDoodle build passes with the updated kernel
  • tested with large STL meshes around 20 MB
  • tested with two large meshes loaded at once
  • also tested with -XX:ActiveProcessorCount=2
  • viewport interaction remained responsive during these tests

The current viewport-side feature-edge extraction is still synchronous. I have not moved that work to an executor yet because I would like feedback on the best place in the existing process flow before changing the threading model.

This is still a Draft PR and is intended for review of the approach and processing flow before further refactoring, including the proposed move of the geometry extraction layer into JCSG.

@madhephaestus madhephaestus Oct 10, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The alignment pin performs a crucial functionality. If you want, maybe put in a variable the suppresses the alignment pin when you take the thumbnail picture? Best would be to add a parameter to let the user surpess it.

It is nessissary because the information of where the center of the sweep is not captured in any final geometry except for special cases of a 360 sweep with no spiral. Every other configuration sweeps around a point that is not the geometric cener of the sweep, meaning the information of the center exists withing this method, and is destroyed if it is not retained in the alignment pin.

the biggest problem is that you can not remove a shape that has existed before. If a model used the alignment pin, then this update will destroy existing models. The default now and forever must be to preserve existing models.

This branch has not been deployed

No deployments
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.

2 participants