# Blockminers Printer

Render printable Blockminers cards and boards from the source assets in `data/`.

This project was written with AI assistance and reviewed/iterated by the project maintainer.

## Requirements

Python 3.10 or newer and Pillow are required.

```bash
python3 -m pip install Pillow
```

## Usage

Run the interactive builder:

```bash
python3 build_printable.py
```

Run with defaults:

```bash
python3 build_printable.py --default
```

The final PDF is written to `print/`. Temporary rendered images are written to `print/temp/`.

## Supported Flags

- `--default`: use default settings without interactive prompts.
- `--mod`: use the modded print preset without interactive prompts: `600` DPI, cropped cards, and `a5-fit` boards.
- `--dpi {300,600}`: set output resolution. Default: `300`.
- `--paper {a3,a4,legal,letter,tabloid}`: choose paper size. Default: `a3`.
- `--card-size SIZE`: choose card size. Use `bridge`, `mini-euro`, `poker`, `tarot`, or a custom size like `70.0x120.0` in millimeters. Default: `poker`.
- `--board-size SIZE`: choose board size. Use `original`, `a6`, `a5`, `a4`, `half-letter`, `letter`, or a custom size like `140.0x220.0` in millimeters. Add `-fit` to preserve aspect ratio inside that size. Default: `original`.
- `--margin MM`: set page margin in millimeters. Default: `10`.
- `--crop`: crop black borders from cards. Default: off.
- `--no-crop`: do not crop black borders from cards. Useful for overriding `--mod`.
- `--gamma`: enable print-brightening gamma correction. Default: on.
- `--no-gamma`: disable print-brightening gamma correction. Default: gamma correction on.
- `--render-only`: render card and board PNGs, but skip page PNGs and PDF creation. Default: off.
- `--output NAME`: write the PDF as `print/NAME`; `.pdf` is added if missing. Default filename: `blockminers_printable.pdf`.
- `--rent-raised N`: print `N` copies of `Rent raised` and matching backs. Default: `3`.
- `--keep-temp`: keep `print/temp/` after PDF creation. Default: delete temp files after PDF creation.
- `--starter-colors {separate,same}`: use separate starter badge colors or one repeated color per starter deck. Default: `separate`.

Use `--help` to see the same options from the command line.
