Skip to content

Allow blank bin generation - #163

Draft
noobydp wants to merge 2 commits into
tracefinity:mainfrom
noobydp:codex/blank-bin-generation
Draft

Allow blank bin generation#163
noobydp wants to merge 2 commits into
tracefinity:mainfrom
noobydp:codex/blank-bin-generation

Conversation

@noobydp

@noobydp noobydp commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Blank bins are useful when a drawer layout needs an empty container, spacer, or catch-all bin alongside traced tool bins. Previously, empty bins could be created in the UI but could not be generated, and the generator behavior did not let the cutout depth define the usable interior cavity. This makes blank bins behave like intentional printable containers instead of requiring a placeholder tool shape.

Summary

  • allow bins with no placed tools to generate STL previews/exports
  • enable project-level creation of intentionally blank bins
  • generate blank bins as container-style cavities using the configured cutout depth
  • keep blank-bin side walls aligned with the stacking-lip wall inset

Testing

  • python -m pytest backend/tests/test_blank_bin_generation.py

Code and PR drafted with Codex

@noobydp

noobydp commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

CI exposed one existing half-grid test that still assumed generate_bin([], ...) produced the old solid shell. This PR intentionally changes empty-bin generation to produce a blank container cavity, so the base pattern contributes a different share of the remaining material and the old volume-ratio assertion is no longer the right invariant.

I added a follow-up commit that keeps the test's validity checks but compares the standard and half-grid generated outer envelopes instead. That preserves the half-grid coverage without depending on solid-shell volume behavior.

Additional local checks run:

  • python -m pytest backend/tests/test_half_grid.py::test_half_grid_base_more_cells_than_standard
  • python -m pytest backend/tests/test_blank_bin_generation.py

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.

1 participant