kerfmaster pin list · Big capabilities
rulingmixedA decision by Aristide or Jordan. True because it was decided; it can be superseded, but it cannot be stale.
Content last changed 2026-08-26 — computed from the item itself, not typed.
Ruling (Jordan, 2026-08-25): “For nesting large sheet quantities like this, it's better to use as few nc programs as possible. Seems like some of these nests are similar, if not the same, and should be one nest/program with a note: 'Run (X) copies'.”
Record (same day): make_prints.py groups sheets by an exact placement signature (part, x, y, rot multiset per sheet). Build 130 (250-each, 42 sheets) collapses to 15 unique layouts (largest runs 8, 8, 6, 4 copies). The nest print carries one page per layout with a RUN (X) COPIES banner and the sheet numbers it covers; <label>_layouts_metacam.zip ships one MetaCam DXF per layout plus runsheet.csv. Applies to NC posting when it lands: one program per unique layout, comment carries the run count. Part labels (Jordan 2026-08-26): “we need the part number which should be the name of the source file it came from” — every print (part pages, cover table, nest-page copy labels) now carries the source file's part number (BNM78655 …), read from parts/part_names.json in the build; the p001→BNM mapping for the ISV-H builds was proved by regrouping the kit DXF and matching each group's canvas Y-band to the composer's stacking order, not assumed. Absent mapping falls back to the old 'part N'. Per-part PDFs (Jordan 2026-08-26, “Need the 8 pdf's for the parts with dimensions”): make_prints also writes each dimensioned part page as its own standalone PDF named by part number (BNM78655.pdf …) beside the combined part_prints.pdf — same page, one file per part. Gap: split_parts cannot write the mapping itself — the kit DXF carries no names; the composer (nest_isvh) is where names live and should emit it.
Gap, recorded: the packer does not yet actively MINIMIZE layout count — repeats fall out of deterministic greedy packing over a steady part supply, and drift near supply phase changes still splits near-identical sheets (130's 15 layouts include 8 one-off sheets). An explicit repeat-first objective (nest one full sheet, repeat it while supply lasts, re-nest the remainder) is the intent, unbuilt.
Label density (Jordan 2026-08-26, on the build-138 print — ruling): “we do not need the part number displayed over every single part. It's heavy on the eyes. Just on one of each shape is sufficient” — with the caveat that a shape which returns later in a separate row/column region gets called out again there. Record (same commit): make_prints clusters a shape's copies by touching grown boxes (union-find, 0.5″ growth each → same group under 1″ of box gap) and labels one copy per contiguous group, nearest the group's centre (_label_spots). A same-shape block past other parts is its own group and labels again. Builds 137/138 prints regenerated under the rule (81 and 114 labels → one each).
Nest-print layout rules (Jordan 2026-08-26, on build 139) + record: (1) every nest page plots the NEST X/Y extent as dimensions (make_prints nest_pdf, _dim_h/_dim_v below/left of the sheet); (2) no overlapping text anywhere — title-block values fit their column (_fit: shrink to 6.5pt then truncate with an ellipsis), cover meta and download lines are wrapped onto separate lines; (3) the dimensioned part PDF is part of every delivery and is linked in the message, not just present in the build dir. Applied from build 140 on; 139's print stands as the defect example (MATERIAL ran under DATE, meta line off the page edge).
Print rules added 2026-08-26 (Jordan, on the build-140 print) + record: (4) the nest print PDF itself carries the dimensioned, isolated part page(s) at the back (“You forgot to put in the pdf the layout of the part print. Picture of the part with dimensions, isolated”) — nest_pdf now appends _part_fig pages after the nest pages; the separate part_prints.pdf and per-part PDFs remain. (5) cover parts table columns must line up — the part column sizes itself to the longest part number and the numeric columns right-align under their headers (a fixed 10-char column under the 17-char BNM78651_001.0006 pushed every value off its header). Build 140's prints regenerated in place under both rules.
Generalized same day (Jordan, ruling): “For each pdf we will need the nest and one print of each part from the nest, separately paginated.” Standing content rule for every nest print PDF: the nest page(s), then one dimensioned isolated print per distinct part in the nest, each on its own page. Record: nest_pdf already does this for the general case — part pages come from _part_census over the whole manifest, one _part_fig page per distinct part.