Scope
A reusable SheetFurniture engine shared by ordinary PDFs and the imposition engine. Marks are generated as dedicated Form XObjects/OCGs so they stay individually identifiable, removable and reproducible — never appended as raw lines into existing page content.
Model
FurnitureSet: crop_marks, bleed_marks, registration_marks, color_control_bar, slug, page_label, job_metadata, placement_rules.
Rules
- Crop marks derive from the
TrimBox, bleed marks from the BleedBox; the engine calculates the required additional MediaBox space and expands it rather than letting marks collide with production artwork.
- Registration targets use a deliberate all-separation strategy, not ordinary rich black.
- Slug fields are tokenized:
{filename} {page} {job_id} {date} {output_intent} {sheet} {side}.
- Colour bars support CMYK patches, selected spot inks, tint ramps, and user-defined presets.
- Do not couple generation to source-page coordinates: the same furniture must work on an imposed press sheet later.
UI
Live preview with measurable offsets: mark length, offset from trim, stroke width, slug height, sides enabled, preset.
Deliverables
Prerequisites / related
Consumed by Imposition: n-up, gang-up, booklets, creep (sheet furniture) and by packaging layers; needs the shared mutation foundation.
Batch context (2026-09-15 architecture review). These items are epics sharing five foundations, not isolated UI features: a production PDF object/mutation engine (parse page content/resources into an editable object model, mutate transactionally, regenerate a valid PDF, preserve untouched objects, run render/preflight/separation regression after every mutation), a separation/color engine, a sheet/layout engine, a production semantic/job model, and a revision/provenance model. Every edit is expected to produce a change record (changed_object_ids, operation, before, after, warnings, reversible). Recommended sequencing: Ink Manager + mutation foundation + printer furniture + basic hairline normalization first; then imposition and direct-object editing foundations; then ISO 19593 packaging; then PDF/VT and XJDF; customer portals and cloud collaboration much later.
Parked: no milestone, labeled future planned. Promote by assigning a milestone and removing the label when a release train picks this up.
Scope
A reusable SheetFurniture engine shared by ordinary PDFs and the imposition engine. Marks are generated as dedicated Form XObjects/OCGs so they stay individually identifiable, removable and reproducible — never appended as raw lines into existing page content.
Model
FurnitureSet: crop_marks, bleed_marks, registration_marks, color_control_bar, slug, page_label, job_metadata, placement_rules.Rules
TrimBox, bleed marks from theBleedBox; the engine calculates the required additionalMediaBoxspace and expands it rather than letting marks collide with production artwork.{filename} {page} {job_id} {date} {output_intent} {sheet} {side}.UI
Live preview with measurable offsets: mark length, offset from trim, stroke width, slug height, sides enabled, preset.
Deliverables
FurnitureSetschema with fixtures per mark class.Prerequisites / related
Consumed by Imposition: n-up, gang-up, booklets, creep (sheet furniture) and by packaging layers; needs the shared mutation foundation.
Batch context (2026-09-15 architecture review). These items are epics sharing five foundations, not isolated UI features: a production PDF object/mutation engine (parse page content/resources into an editable object model, mutate transactionally, regenerate a valid PDF, preserve untouched objects, run render/preflight/separation regression after every mutation), a separation/color engine, a sheet/layout engine, a production semantic/job model, and a revision/provenance model. Every edit is expected to produce a change record (
changed_object_ids,operation,before,after,warnings,reversible). Recommended sequencing: Ink Manager + mutation foundation + printer furniture + basic hairline normalization first; then imposition and direct-object editing foundations; then ISO 19593 packaging; then PDF/VT and XJDF; customer portals and cloud collaboration much later.Parked: no milestone, labeled
future planned. Promote by assigning a milestone and removing the label when a release train picks this up.