# Inkhaven 1.3.3 — The Planning Board, fluent & complete

_On top of 1.3.2 (The Planning Board).  1.3.2 shipped the analyze + pacing
slice — diagnosis, no card-shuffling.  1.3.3 makes the Board **fluent**
(map beats without hand-editing HJSON) and **complete** (the blank-page /
plan-first mode), sweeps the deferred loose ends, and folds in four PDF-1
print-pipeline follow-ups.  Full plan:
[PLANNING-2_PLAN.md](../PROPOSALS/PLANNING-2_PLAN.md)._

## Headline

- **Interactive mapping** — `plan map` / `unmap` write-back, plus an
  interactive `Ctrl+V Shift+K` outline: map a beat to a chapter from a
  picker (`m`), cycle its status (`s`), and stream the AI structure
  analysis (`a`) — no more hunting for slugs and hand-editing HJSON.
- **Plan-first scaffolding** — the blank-page mode. `plan scaffold
  --premise "<logline>"` expands each framework beat into a concrete
  intention; `--chapters` materializes chapter shells from the beats
  (opt-in, guarded against a non-empty book, back-linked to their beats).
- **PDF-1 follow-ups** — four polish passes on the 1.3.0 print pipeline:
  three new imposition profiles, aspect-preserving cover art + spine
  auto-fit, JPEG grayscale, and preflight press-hazard reporting.

## Planning Board — fluent

**Slug discovery.** `inkhaven plan check` now ends with a **CHAPTER SLUGS**
list (the values that go in a beat's `mapped_chapter`) and a **THREAD
SLUGS** list (for `threads`), so you can map beats without trawling the
filesystem for slugs.

**Write-back from the CLI.** `inkhaven plan map <beat> --chapter <slug>
[--threads a,b]` and `plan unmap <beat>` edit a beat's Planning-book HJSON
in place (disk-first, then the store) — the primitive the interactive
outline shares.

**Interactive outline** (`Ctrl+V Shift+K`). The structure bar is now
editable: `↑↓` browse beats, **`m`** opens a chapter picker and maps the
selected beat, **`s`** cycles its status, **`a`** streams the AI analysis
into the AI pane. Press **`L`** in the AI pane to file that analysis as a
*Structural Analysis* paragraph in the Planning book.

## Planning Board — complete (plan-first)

`inkhaven plan scaffold` turns a framework + a one-line premise into a
working skeleton:

- `--premise "<logline>"` writes a 1–2 sentence **intention** into each
  beat (what actually happens there in this story) — shown under the beat
  in the outline.
- `--chapters` then materializes a **chapter shell** per beat, named from
  the beat and back-linked via `mapped_chapter`. Opt-in and guarded: it
  refuses to run on a book that already has chapters, so it can't clobber a
  draft.

This is the from-nothing path: pick a framework, give a premise, get a
mapped beat sheet and a chapter scaffold to write into.

## PDF-1 follow-ups

The 1.3.0 print-production pipeline gains four polish passes (Tutorial 65):

- **More imposition profiles** — `us_perfect` / `us_chapbook` (the Tabloid
  / US-Letter analogues of `default` / `chapbook`) and `thick` (8-sheet,
  32-page push-out signatures for heavy perfect-bound books). Five
  built-ins now.
- **Cover front-art fit + spine auto-fit** — the front image is now
  aspect-preserved instead of stretched: `--fit cover` (default) fills and
  centre-crops, `fit` letterboxes, `stretch` is the old distort. Spine text
  auto-shrinks to the spine height / thickness (never above
  `spine_font_size_pt`) and is dropped when the spine is too thin for
  legible type.
- **Grayscale for JPEGs** — `pdf grayscale` now desaturates DCTDecode
  (JPEG) photos too, decoding them and re-embedding as grayscale JPEGs
  (filter kept, no Flate bloat); they were previously left as colour. CMYK
  JPEGs and multi-filter chains are still left as-is.
- **Preflight press hazards** — overprint (`/OP` states), transparency
  (alpha < 1, non-Normal blend modes, soft masks), and spot colours
  (Separation / DeviceN colorants — one plate each) are now reported
  alongside DPI / fonts / page-size / blank pages.

## Consolidation & polish

- **CLI Prompts-book prompt tier** — the submission generators and `plan
  analyze` / `scaffold` now resolve their system prompts through all three
  tiers (Prompts book → `prompts.hjson` → built-in), matching the TUI; the
  CLI previously had only the last two.
- **`stale-submission` doctor scan** — flags any submission still `sent`
  with no response logged for over 30 days (info severity, no autofix).
- **`I`-lift** — file a TUI-streamed generator draft into its system book
  (`L` in the AI pane): submission drafts → Submissions, structural
  analysis → Planning.
- CI: `actions/checkout@v4` → v5 (the Node 20 deprecation) across the three
  workflows.

Zero new dependencies (JPEG via the in-tree `image` crate). Tests
1294 → 1307. Two tutorials touched (65 print, 67 Planning Board).

## Deferred (later cuts)

- **Tension-curve overlay** (Planning P4.2) — needs a tension model
  (expected-tension per beat + a derivation from linked-thread tensions);
  `tension scan` tracks resolved/unresolved threads, not a positional curve.
- **Scene cards** — per-scene goal / conflict / disaster, a finer grain
  than beats.
- **Outline extras** — thread-linking (`t`) and jump-to-chapter (`Enter`)
  inside the interactive outline.
- **PDF**: N-up / booklet quick-impose presets; cover spine-text kerning;
  CMYK-JPEG grayscale.

## Carryovers (still open)

- **The Whole-Book AI Editor** (RAG over the whole manuscript) → 1.4+.
- **1.2.20:** ePub inline images + popup footnotes.
- **Facts follow-ups (1.2.21):** internal-consistency check, series-shared
  facts.
- Sixth supported language; GitHub Release backfill for 1.2.11–1.2.19.
