Repository navigation
Label tabs on bins (F34): raised tab on every generated bin STL - #157
Merged
Merged
Conversation
Bin options gains a Label tabs switch. When on, every generated bin STL gains a raised tab on the front edge, 12 mm above the stacking lip, 1.2 mm thick, up to 36 mm wide, for a stuck-on label. The tab protrudes 1.2 mm past the bin front face; the 3 mm plate gap absorbs it between parts, so 3MF plate layouts are unchanged. Persisted as gridfinity_labelTabs, local-only, not in share links. Estimates include the tab volume; the printer-Z limit counts the tab height. The Download files README notes the tab and the stacking caveat.
✅ Deploy Preview for gridfinity-drawer-planner ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
PR Quality Report 📊
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #157 +/- ##
=======================================
Coverage ? 93.96%
=======================================
Files ? 71
Lines ? 3611
Branches ? 1057
=======================================
Hits ? 3393
Misses ? 197
Partials ? 21
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Label tabs on bins (F34): raised tab on every generated bin STL
What this PR does
A new "Label tabs on bins" switch in Bin options. When it is on, every
generated bin STL gains a raised tab on the front edge, rising 12 mm above
the stacking lip, 1.2 mm thick, up to 36 mm wide (14.5 mm on a 1 x 1
half-grid bin), for a stuck-on label. The tab protrudes 1.2 mm past the
bin's front face; between parts the 3 mm plate gap absorbs it, so 3MF
plate layouts are unchanged.
gridfinity_labelTabs, local-only: it is not partof share links, the same precedent as
gridfinity_testFitandgridfinity_estimateSettings.against the tabbed mesh to 1e-6).
but would exceed the printer height with the 12 mm tab is left out and
counted as skipped, like any other too-tall bin.
stacking caveat: another bin cannot stack on top of a tabbed bin.
counts are identical with the switch on or off. Sizes shown for tabbed
bins (README size column, copied parts list) include the 12 mm tab
height, since that is the true printed height.
1.2 mm tab can overhang the bed edge by up to 1.2 mm (the packing
footprint does not reserve the tab). Between parts the 3 mm gap
absorbs it. A tab-aware packing margin is a follow-up.
Feature map
F34 Label tabs on bins: missing -> shipped. Parity 47.0% -> 49.0%
(23 full + 3 partial / 50). 2026-10-29 refresh: andymai 4.524.1
(deploy fix + supporters features), no planner-row impact;
gridfinity-label-generator still 3.1.1; automaat/gridfinity-generator
still v0.6.0; no new Gridfinity planner tool found.
Verification
Local gates:
npm test,npm run lint,npx tsc --noEmit,npm run build(results below). Perf:npm run measurebranch vstrunk, same box (results below).
Live lanes: Lane B on the Netlify deploy preview (core tasks + the
label-tabs switch: toggle, persistence across reload, estimate change
with a placed bin, download still produces the zip); Lane C production
smoke after merge.
Notes for the reviewer
touches the wall on the y=0 face only, so the mesh volume is exactly
the bin volume plus the tab box volume (no overlap double-count).
gridfinityProfiles.tsand imported them fromprintParts.ts, whichcreated a
gridfinityProfiles <-> printPartscycle and leftPOCKET_PROFILE's last z undefined in some module orders (allbaseplate-volume tests failed). The constants now live in
bins.ts,which all three modules already import; no cycle remains.
lids (F16). The tab does not show in the 2D preview; it is an
export-time bin option, like test-fit pieces.
Verification (gates)
npm test51 files, 590 passed / 11 skipped;npm run lintclean;npx tsc --noEmitclean;npm run buildgreen (index chunk 235,321 -> 236,207 B, +0.4%; lazy export chunk 21,444 -> 22,147 B, +3.3%).node scripts/measure.mjs --n=15 --lh=3, two pairs (second reversed order): branch Lighthouse 71 / 74 vs trunk 78 / 76; TTI 3766 / 3630 ms vs 3519 / 3612 ms; input-to-preview 40.5 / 43.1 ms vs 45.4 / 42.0 ms; layout 482 / 531 ms vs 492 / 486 ms; share 78 / 89 ms vs 87 / 88 ms. Verdict: no credible regression — the first pair's load gap did not reproduce in the reversed pair, and the diff touches no measured code path.