Der Empfänger-Adressblock (Kuvert mit Absender) hielt rechts nur ~8 mm Abstand –
der Plotter braucht mehr Greiffläche. Startpunkt leicht nach links (0.55) und
Textbreite so begrenzt, dass rechts RAND_RECHTS_MM (15 mm) frei bleiben. Dieselbe
Konstante nutzt jetzt auch das Postkarten-Layout.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Neues render_format-kind 'postkarte'. generatePostcardSVG setzt den Text auf die
linke Kartenhälfte, Absender (klein, oben) und Empfänger (Anschriftzone unten) auf
die rechte Hälfte; oben rechts bleibt das Briefmarkenfeld frei. Ein SVG je Karte
(ein Plotter-Durchlauf), geschrieben als letter_NNN.svg.
- page-layout: kind je Format mitführen + getFormatKind().
- svg-generator: generatePostcardSVG (Body/Absender/Empfänger über Marker
[[pk_abs]]/[[pk_adr]] getrennt, damit alle Teile scriptalisiert werden).
- order-/preview-/directus-controller: type 'postcard' dispatchen, Marker in der
Scriptalisierung erhalten, Postkarten-Dokument aus render_format-kind bauen.
- directus-service: kind aus render_formats mitladen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
signaledMisses-Sperre entfernt (blockierte das Nachladen, wenn die Drossel griff),
Nachlade-Drossel 30s -> 5s. Neue Formate greifen so binnen Sekunden.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Positionierung ueber Hoehen-/Breiten-Anteile statt ueber den grossen Kuvert-Rand
(marginTop bis ~50% der Hoehe): Absender ~14% oben/6% links, Empfaenger ~65-80%
unten/rechts. Vorher klebten beide im mittleren Band.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
generateEnvelopeSVG rendert bei gesetztem Absender den Absender klein oben links und
den Empfaenger unten rechts (sonst unveraendert). Absender wird ueber die Auftrags-/
Vorschau-Pipeline durchgereicht (metadata.envelopeSender, envelope_sender), fetchOrder
laedt das Feld, Kuvert wird bei Absender frisch gerendert statt 1:1 aus der Vorschau.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixe 18er-Batches sprengen bei langen/mehrseitigen Texten das InputText-Limit der
Scriptalizer-API (32000 Zeichen) -> 'Input length limit 32000 exceeded'. Jetzt werden
Batches nach kumulativer Zeichenlaenge (max 28000, Sicherheitsabstand) gebildet, die
Anzahl 18 bleibt als zusaetzlicher Deckel.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Behebt gefuellte Signaturen bei Illustrator-Exporten (<style>-Klasse .cls-1 ging beim
Path-Extrahieren verloren -> fill:black). Skalierung nun auf die eigene viewBox der
Signatur statt fix auf den 600x160-Zeichen-Canvas; Punkt (<circle>) bleibt erhalten.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>