Repository navigation
One-click test-piece download (F32): test-fit pieces in the Download files zip - #154
Merged
Merged
Conversation
✅ Deploy Preview for gridfinity-drawer-planner ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…files zip With the Test fit first switch on, Download files now includes the test pieces: the 1 x 1 baseplate STL (plus the edge spacer STL when the layout does not already have one) and a first 3MF plate, 3mf/plate-0-test-fit.3mf, listed first in the README. Counts merge into the layout's STLs when the part already exists, so no filename ever duplicates. The switch state moved from the card into the shared settings (same gridfinity_testFit key), so the download follows it. Feature-map F32 partial to shipped; parity 44.0% to 45.0%.
ntindle
force-pushed
the
poteto/test-fit-download-20261026-0710
branch
from
October 26, 2026 12:32
d051a66 to
b2d5746
Compare
PR Quality Report 📊
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #154 +/- ##
=======================================
Coverage ? 93.64%
=======================================
Files ? 68
Lines ? 3416
Branches ? 1025
=======================================
Hits ? 3199
Misses ? 196
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.
What this ships
One-click download of the test-fit pieces (F32 🟡 → ✅). With Test fit first on, Download files now includes the test pieces:
stl/baseplate-1x1-x1.stl— the 1 × 1 baseplate, when the layout does not already have one (plus the edge spacer's STL when it is new)3mf/plate-0-test-fit.3mf— a first 3MF plate holding just the test pieces, listed first in the READMETest fit first:note naming the plateCounts merge into the layout's STLs when the part already exists (a layout with a 1 × 1 baseplate gets
baseplate-1x1-x2.stl, not a duplicate filename), and the main 3MF plates are unchanged — the test pieces are not double-counted across plates.The switch state moved from
PrintPlanCard's own hook into the shared settings (useGridfinitySettings, samegridfinity_testFitkey, so existing users keep their setting) so the download follows it. The card takestestFit/onTestFitChangeas props now.Verification
Local gates on the branch worktree, all green:
npm test: 541 passed, 11 skipped (49 files)npm run lint: clean (incl. no-comments rule)npx tsc --noEmit: cleannpm run build: green, index chunk 227,799 → 228,122 B (+0.1%)New tests:
mergeTestFitParts(append vs count-bump, no-op),createPrintFileswith test fit on (zip contents, test-plate packing, merged counts, unchanged when off), card props + calculator-level persistence, and an end-to-end calculator test that the downloaded zip containsplate-0-test-fit.3mfandbaseplate-1x1-x1.stlwhen the switch is on.Perf (branch vs trunk, same box,
node scripts/measure.mjs --n=15 --lh=3)No credible regression: a reversed-order re-run gave Lighthouse 69 vs 68, TTI 3885 vs 3951 ms, layout 551 vs 552 ms, share 85 vs 94 ms; an
--n=30 --lh=1pair gave input-to-preview 34.5 vs 33.2 ms, layout 481.5 vs 493.5 ms, share 81 vs 84 ms — the n=15 input-to-preview gap did not reproduce at n=30. The diff touches no measured code path (drawer-width edit → preview piece list is unchanged; the new work is one extra persisted settings key, a prop pass-through, and export code behind a lazyimport()that only runs on download).Notes
planPlatesstill throws during render for the test plate there, same as the pre-existing main-plates path. Follow-up guard, not this slice.Lane B
Awaiting Netlify deploy preview verification (core tasks + test-fit download) before merge.