Designed a unique child character (hair, eyes, skin, pajamas) for each
of the 12 stories and embedded a verbatim character anchor block into
every scene prompt to ensure visual consistency across a story's 4 images.
Added a Character Anchors reference table to Section 3 with a workflow tip
(seed pinning + reference image at ~0.4 weight for scenes 2–4).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each prompt now derives directly from the scene text: specific characters,
named props, exact lighting conditions, colour palette from the story's
palette, and consistent closing (square format, no text). Style base
unified to watercolor/gouache + fine ink linework + Edmund Dulac / Folio
Society aesthetic. Generic filler phrases removed throughout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Overlay was sized to var(--trim-w) like the old artwork, leaving the
right 0.125 in strip of the zone undarked. Changed to width/height 100%.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Image was sized to trim-w (8.5 in) but the zone is trim-w + bleed
(8.625 in), leaving a 0.125 in uncovered strip. width/height 100%
fills the full zone, matching how back-artwork is sized.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
object-fit: cover on <img> requires explicit dimensions; inset:0 alone
does not force the element size in Chromium. Mirrors the same approach
already used for .front-artwork.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Front cover: kaleidoscope-as-portal with child silhouette and twelve
dreamworld vignettes in Folio Society / Edmund Dulac watercolor style.
Back cover: sparse constellation-of-vignettes on midnight blue, designed
for 35% opacity overlay behind the back-cover text block.
Includes technical notes on resolution, format, and file paths.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Inserts a .front-overlay div (shown only when frontImage is present)
with a radial vignette + linear tint that darkens the image behind the
title/subtitle/author without obscuring the artwork. Also strengthens
text-shadow on all three text elements and bumps their opacity slightly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The cover PDF serves this purpose. Removes the page--finale template
block, the finale data loading path in build.js, and all finale CSS.
Page count: 100 → 99 (imprint + title + TOC + 96 scene pages).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace straight ASCII closing quotes (U+0022) with proper German
closing double quotes „…" (U+201C) in 12 dialogue passages across
8 stories. Frontmatter YAML left untouched.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Puppeteer writes cover-raw.pdf, Ghostscript converts RGB→CMYK via
-sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK,
fully embeds fonts (-dPDFSETTINGS=/prepress), and injects title/author
metadata via UTF-16BE pdfmarks. Temp files are cleaned up on success.
Mirrors the same GS pipeline already used in pdf.js for the interior.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Page structure: imprint (p.1) → title page (p.2) → TOC (p.3) → stories (p.4+).
Title page shows title/subtitle/author in Cormorant Garamond. Removes the
artificial section-title buffer in favour of a meaningful front matter page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add a section-title page ("Die Geschichten") as page 3 so all stories
begin on page 4. Image and text for each scene now land on the same
facing spread (even=left image, odd=right text). Page count: 99 → 100.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Puppeteer writes to a temp kaleidoskop-raw.pdf
- Ghostscript re-processes with -dPDFSETTINGS=/prepress to fully embed
all fonts and prevent subsetting (KDP checklist item 6)
- PDF info dict is written via PostScript pdfmarks, with title/author/
subject encoded as UTF-16BE hex to support German umlauts (item 13)
- File size drops from ~108 MB to ~9 MB (placeholder art; will grow with
real 300 DPI illustrations but stays well under KDP's 650 MB limit)
- GS failure falls back gracefully to the raw Puppeteer PDF
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The title page is redundant since the KDP cover (cover.pdf) already
establishes title and author. Interior now opens directly on the
copyright page, followed by the TOC and stories (99 pages total).
Removed unused .page--title CSS from layout and typography.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove eyebrow text and leading rule from title page — title now leads directly
- Remove illustration credit from imprint page
- TOC heading: "Die zwölf Welten" → "Die zwölf Schlummerwelten"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces Georgia with Cormorant Garamond (display, 300 italic) + Lora
(body) across all cover text. Adds @font-face declarations pointing to
fonts/ (same as interior). Updates gold tokens to match interior palette.
Visual changes: front title in Cormorant light italic with gold gradient
rule below, ❧ ornament replacing ✦, synopsis body in Lora.
cover.js now reads 00-front-matter.md to inject author name into spine,
front, and removes the [AUTOR] placeholder.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces Georgia + per-story color theming with a unified premium
fairytale look: Cormorant Garamond (display/titles) + Lora (body),
warm cream text pages (#faf8f2 with paper noise texture), deep ink
typography (#1e1b18) throughout — no per-story text color variation.
- fonts/: committed WOFF2 files via @fontsource packages; auto-copied
by scripts/setup-fonts.js (runs as postinstall)
- Typography: story number in small caps, hairline rule, ❧ ornament
- Layout: cream background replaces per-story bg, radial glow on title
- build.js: passes frontMatter (author, year) to templates
- Templates: author byline on title page, cleaner imprint page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Guides (trim/safe-zone/spine lines) are design references only and
must not appear in the submitted PDF — hidden via display:none.
Barcode placeholder is now an empty white box so KDP can place the
ISBN barcode automatically without printing a label.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
scripts/cover.js computes the exact cover canvas dimensions from the
page count in book-meta.json (written by build.js), using the KDP
Premium Color spine formula (0.002347 in/page), and renders a
Nunjucks template to a single PDF containing back cover, spine, and
front cover with bleed (0.125 in) and safe-zone overlay guides.
- `pnpm cover` — generate output/cover.pdf
- `pnpm all` — build interior + both PDFs in one command
- Cover artwork slots: images/cover/front.png, images/cover/back.png
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers book description (HTML-formatted for Amazon listing), 7 keyword
phrases, BISAC categories, price recommendations per market, back cover
copy, A+ Content ideas, and a pre-publication checklist.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the full authoring and build toolchain for "Das Kaleidoskop der
Schlummerwelten" — all 12 story content files in Markdown, Nunjucks
HTML templates, CSS print layout, and Puppeteer-based PDF generation
targeting Amazon KDP (8.5×8.5 in, 0.125in bleed).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>