Ask before reopening a bundle that carries no cuts
A bundle without a source block cannot be round-tripped, but its PDF can still be cut from scratch. Offer that instead of refusing: confirm, run detection, and line the markers up by position when the slice counts match exactly.
This commit is contained in:
@@ -228,6 +228,14 @@ The archived document is the source of truth for reopening: the slice images are
|
||||
output, and a consumer that reopens a bundle re-renders them rather than
|
||||
importing them.
|
||||
|
||||
`source` is optional, so a bundle without one is still valid — it is simply not
|
||||
reopenable, and a consumer should say so rather than pretend otherwise. What it
|
||||
can still recover from such a bundle is the title block, and, if it cuts the
|
||||
document again and happens to find exactly as many slices, the markers: the
|
||||
slices array is in reading order, so it lines up with any other list in reading
|
||||
order. One slice more or fewer and it does not, which is why that is a fallback
|
||||
and not the design.
|
||||
|
||||
## Engraving
|
||||
|
||||
Most slices are photographs of print: an image and nothing more. A slice that
|
||||
|
||||
@@ -117,6 +117,15 @@ It refuses to overwrite a PDF or project file that is already there, since the
|
||||
obvious place to unpack is exactly where someone's unfinished work lives — pass
|
||||
`--pdf elsewhere.pdf` or `--force` if you mean it.
|
||||
|
||||
A bundle from a producer that does not record its cuts can still be opened, but
|
||||
it is a fresh session rather than a round trip: it asks first, then cuts the PDF
|
||||
from scratch with detection. The title block always comes back. Markers and
|
||||
re-engraved systems land only if detection happens to find exactly as many
|
||||
slices as the bundle has — the slices are in reading order on both sides, so
|
||||
they can be lined up, but one system found or missed would shift every marker
|
||||
onto the wrong slice, so in that case they are left off entirely and it says so.
|
||||
`--detect` answers the question in advance, for scripts.
|
||||
|
||||
## Re-engraving a slice (optional, needs LilyPond)
|
||||
|
||||
When a system is beyond rescue — a bad scan, a wrong transposition, a passage
|
||||
|
||||
Reference in New Issue
Block a user