jumpcut 1.0.0

JumpCut is a library and CLI for converting Fountain-formatted text files into FDX, HTML, JSON, text, and PDF formats.
Documentation
# Diagnostics

This document covers the repo's internal pagination and PDF parity tooling.

## Pagination Diagnostics

The pagination/parity harness includes ignored tests and dedicated tooling that generate review packets and debug artifacts under:

```text
target/pagination-debug/
```

If you want a single command that rebuilds the main diagnostics set, install [`just`](https://github.com/casey/just):

```sh
cargo install just
```

Then run:

```sh
just pagination-diagnostics
```

That recipe calls the dedicated Rust diagnostics tool directly:

```sh
cargo run --features internal-tools --bin pagination-diagnostics -- all
```

The main run currently regenerates:

- Big Fish review packet
- Big Fish full-script page-break review packet
- Big Fish line-break parity packet
- Little Women windowed review packet
- Little Women full-script page-break review packet
- Little Women line-break parity packet
- Mostly Genius full-script page-break review packet
- Mostly Genius line-break parity packet
- the extra paginated-output JSON dumps and visual-comparison export used for manual debugging

There are also narrower convenience tasks:

```sh
just big-fish-diagnostics
just mostly-genius-diagnostics
```

## PDF Parity Checks

The repo also includes a PDF word-position parity checker:

```sh
python3 tools/check_corpus_pdf_parity.py
```

That runs the wired corpus PDF checks and writes reports under:

```text
target/pdf-placement-diagnostics/
```

If you want to compare an ad hoc script without adding it to the permanent corpus, use one or more `--case` entries:

```sh
python3 tools/check_corpus_pdf_parity.py \
  --no-default-cases \
  --case my-script /abs/path/to/script.fountain /abs/path/to/reference.pdf
```

You can provide `--case` more than once in the same run. The script generates a PDF with JumpCut, compares it against the supplied reference PDF using `pdftotext -bbox-layout`, and writes a report packet for each case.

`INPUT_SCRIPT` can be either `.fountain` or `.fdx`, so the same tool can probe both the ordinary Fountain path and imported-FDX parity.

If a reference differs only in letter case, you can opt into case-insensitive text matching before geometry comparison:

```sh
python3 tools/check_corpus_pdf_parity.py \
  --no-default-cases \
  --ignore-case \
  --case mostly-genius /abs/path/to/mostly-genius.fountain /abs/path/to/mostly-genius.pdf
```

Local dependency:

```sh
sudo apt install poppler-utils
```

That provides `pdftotext`, which the parity checker requires.