Skip to content

feat: Add Partial Bins option#112

Merged
jasonmadigan merged 17 commits into
tracefinity:mainfrom
gr3enk:main
Jun 28, 2026
Merged

feat: Add Partial Bins option#112
jasonmadigan merged 17 commits into
tracefinity:mainfrom
gr3enk:main

Conversation

@gr3enk

@gr3enk gr3enk commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Adds following options to the bin editor:

  • Partial Bins (Toggle): Enables the Partial Bins sub menu.
  • A Matrix where a user can select parts of the Bin to be hidden.
  • Connect Base (Toggle): If enabled the model will be connected with the base plate.

This feature can save a lot of filament for big and sturdy objects that doesn't need a complete filled out bin. See:
Closes #106

  • Run all unit tests successfull locally
  • Run all e2e tests successfull locally
CleanShot 2026-06-25 at 19 55 14

With 'Connect Base' option enabled:

CleanShot 2026-06-25 at 19 55 51

The exported objects came out like this:
CleanShot 2026-06-25 at 19 59 27

shanetinklenberg added a commit to shanetinklenberg/tracefinity that referenced this pull request Jun 26, 2026
Add webhook callbacks for completed bin generation (tracefinity#112)
@jasonmadigan

Copy link
Copy Markdown
Collaborator

thanks @gr3enk, I'll try to review this this weekend

@gr3enk

gr3enk commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

All good. Added one more feature to retain the bin wall on cutout parts.
Its ready for review now.

CleanShot 2026-06-27 at 16 51 44

@gr3enk

gr3enk commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Real Life Tests done aswell ☑️😄

IMG_7233

@jasonmadigan
jasonmadigan self-requested a review June 27, 2026 16:28

@jasonmadigan jasonmadigan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Changes requested

  1. stl_generator_manifold.py: split_bin() uses _effective_grid_span() for the diagonal fit check, but in connect mode the manifold keeps the full grid footprint. the effective span is only correct for non-connect pieces. connect mode needs to check against the full grid size, otherwise it falsely passes the bed-size check.

  2. all-false partial_bins_values generates empty/near-empty geometry. needs a guard. either UI prevents deselecting every cell, or backend rejects the request.

  3. BinConfigurator.tsx: duplicate insert controls. the existing "Insert Height"/"Insert Fit" block wasn't removed when the new copy was added inside the Partial Bins section. both render when insert is enabled, so you get 2x of each.

  4. (edge case, non-blocking) embossed text labels placed in a disabled cell area become floating geometry in the STL. pre-existing limitation exposed by this feature, not a regression. flagging for awareness.

@jasonmadigan

Copy link
Copy Markdown
Collaborator

great job @gr3enk happy to merge this after we get the above fixed up.

@gr3enk

gr3enk commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the Review @jasonmadigan. Changes are done.

Do you want me to track the floating text issue in an github issue?
I can work out a fix for that after this pr.

@jasonmadigan

Copy link
Copy Markdown
Collaborator

thanks @gr3enk!

Do you want me to track the floating text issue in an github issue?

I think we can address that as a follow up PR - created an issue for it: #121

I think all that's left is a rebase (main moved ahead a little this evening)

@gr3enk

gr3enk commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

@jasonmadigan my IDE changed the whole formatting of some changed files. Reverted that now so the pr is not so bloated with diffs. Should be ready to go now.

@jasonmadigan
jasonmadigan merged commit beec1d0 into tracefinity:main Jun 28, 2026
3 checks passed
@sliptonic

Copy link
Copy Markdown
Contributor

Wow! Awesome work guys. Thank you!

shanetinklenberg added a commit to shanetinklenberg/tracefinity that referenced this pull request Jun 28, 2026
Add webhook callbacks for completed bin generation (tracefinity#112)
shanetinklenberg added a commit to shanetinklenberg/tracefinity that referenced this pull request Jun 28, 2026
Let external services provide a webhook_url and webhook_metadata when
creating a trace session via POST /api/upload. After bin generation
succeeds (session-based or bin-based), a POST is delivered to the
webhook URL with the generation result and the original metadata.

Changes:
- New webhook_url / webhook_metadata fields on Session, Tool, and BinModel
- New webhook_service.py: fire-and-forget HTTP POST in daemon thread
- POST /api/upload accepts optional webhook_url + webhook_metadata form fields
- PATCH /api/sessions/{id} can update webhook fields
- Save-tools copies session webhook onto every created library tool
- Bin creation inherits the first tool's webhook
- Session- and bin-generate endpoints fire the webhook after a successful build
- Docs: new Webhooks section in api.md, cross-reference in uploading-photos.md
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.

Feature Request Discussion: Partial bins

3 participants