Give a label its own gap, its own position, and a back side
Three things the code generator could not do, each of which had someone
working around it with a control that meant something else.
The gap between a code and its caption was the quiet zone. That is the
clear space a scanner needs around the code, so closing up a caption meant
shaving the thing that makes the code readable, and the only way to get a
tight label to scan was to push the caption further away than it looked
like it should be. Quiet zone now means the code's own margin and nothing
else; gap means the distance to the caption, and adds to the quiet zone
rather than eating into it. Each stock preset carries the gap that suits it.
Position had one pair of controls and they moved the label box on the
stock. That is the fix for a printer whose origin is off, and it is not the
fix for a code sitting in the wrong place on a label - but it was the only
lever there, so it got used for both. The label div is now the media and
holds still; everything printed sits in a content wrapper that Align,
Vertical and Content X/Y move within it. The old pair kept its behaviour
and is labelled Media X/Y.
A badge card has two sides and the generator only ever emitted one page per
card. The back can now carry the same code again, a fixed block of text,
its own per-row content, or nothing. Page order is a choice because the two
kinds of printer want opposite things: interleaved for a duplex card
printer, which takes pages two at a time, and grouped for a single-sided
one whose stack gets flipped and reloaded. A row that leaves its back
column empty still gets a blank back page - a page count that varies per
row shifts every later back onto the wrong front, which prints a box of
perfectly readable cards that are all wrong.
CSV parsing and page building moved to plugins/tools/frontend/labelPages.js
(committed in 875fde9), where the column contract and both page orders are
covered by tests rather than by looking at the preview.
This commit is contained in:
31
CHANGELOG.md
31
CHANGELOG.md
@@ -10,6 +10,37 @@ ADR-007 and ADR-002.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- **The code generator can print a back side.** A badge card is two-sided and
|
||||
the generator only ever emitted one page per card. The Back side section
|
||||
turns on a second page per card carrying either the same code again, a fixed
|
||||
block of text, its own per-row content (CSV `back` / `backlabel`), or
|
||||
nothing. Page order is a choice, because the two kinds of printer want
|
||||
opposite things: **interleaved** front-back-front-back for a duplex card
|
||||
printer, **grouped** all-fronts-then-all-backs for a single-sided printer
|
||||
that gets its stack flipped and reloaded. Getting that backwards prints
|
||||
perfectly readable cards with the wrong back on every one, which is why the
|
||||
order is pinned by tests rather than by looking at the preview.
|
||||
- **The gap between a code and its caption is its own control.** It was the
|
||||
quiet zone doing double duty: closing up a caption meant shaving the clear
|
||||
space a scanner needs, and the only way to get a code to scan was to push the
|
||||
caption away from it. Quiet zone now means only the code's own margin; gap
|
||||
means only the distance to the caption, and adds to the quiet zone rather
|
||||
than eating into it. Every stock preset carries a gap that suits it.
|
||||
- **Contents can be positioned inside the label without moving the label.**
|
||||
Align and Vertical place the code and caption block anywhere on the stock,
|
||||
and Content X/Y nudge it from there. The existing X/Y nudge kept its
|
||||
behaviour and is now labelled Media X/Y: it moves the whole printed area, for
|
||||
a printer whose origin is off, which is a different problem from composing a
|
||||
label.
|
||||
|
||||
### Changed
|
||||
|
||||
- CSV parsing and page building moved out of the generator component into
|
||||
`plugins/tools/frontend/labelPages.js`, where the column contract and the
|
||||
two-sided page order are covered by tests.
|
||||
|
||||
## [0.12.0] - 2026-08-20
|
||||
|
||||
Printers become a property of the bay rather than of whoever last walked up to a
|
||||
|
||||
Reference in New Issue
Block a user