8 DeckMaker GUI¶
DeckMaker is the user-facing PnPInk window used to generate decks from an SVG template and a dataset.
The window title shows the running DeckMaker version and the current template file name. The full template path is not shown in the form because the extension is launched from the active Inkscape document.
8.1 Deck tab¶
The Deck tab contains the data source controls, the main actions, and the live activity log.
8.1.1 Data source¶
| Field | Purpose |
|---|---|
GSheet ID |
Google Spreadsheet id. This is only needed for Google Sheet sources. |
Range / gid |
Optional sheet range or grid id. Leave empty when the default source selection is enough. |
Source |
Selects how the dataset is loaded. Supported values are empty/default, local CSV, Google Sheet OAuth, and Google Sheet public. |
For local CSV workflows, the spreadsheet fields can be left empty when the source is resolved from the template or from the selected file.
8.1.2 Actions¶
| Control | Purpose |
|---|---|
Auto checkbox before Generate |
Starts generation automatically when the GUI opens. |
Generate |
Builds the output SVG from the current template and dataset. |
Auto checkbox before Open SVG |
Opens the generated SVG automatically after generation. |
Open SVG |
Opens the generated SVG through the same Inkscape launch path used by the extension. It does not use the operating system default application. |
Auto checkbox before Export |
Runs export automatically after generation. |
Export |
Runs the export pipeline configured in the Export tab. |
8.1.3 Progress and log¶
The log area shows the current generation stage and relevant export stages. During generation, the progress text uses Generating records and shows the achieved speed in records/min when enough timing data is available.
For debugging, the full log is written to src/pnpink.log next to the extension sources.
8.2 Export tab¶
The Export tab configures PDF, PDF/X, and additional file exports. See Export for the detailed export pipeline.
The most important controls are:
| Control | Purpose |
|---|---|
PDF export |
Enables standard PDF export. |
PDF output profiles |
Selects one or more PDF profiles: default, screen, ebook, printer, prepress. |
PDF/X export (CMYK) |
Enables CMYK PDF/X export through Ghostscript. |
Raster filters |
Chooses how filtered SVG content is handled before PDF export. |
Other formats |
Exports page images or alternate formats such as PNG, JPEG, TIFF, WebP, PS, EPS, EMF, or WMF. |
DPI |
Output resolution used by Inkscape exports. |
JPEG quality |
JPEG quality for JPEG-based outputs. |
8.3 Preferences tab¶
The Preferences tab currently exposes SVG output splitting:
| Control | Purpose |
|---|---|
Split SVG |
Writes the generated output as multiple SVG parts. |
Part target MB |
Target size for each generated SVG part. |
Splitting is useful for very large decks because Inkscape export can be faster and more stable with smaller SVG files. Very small part sizes create many chunks and can increase overhead.
8.4 Generated files¶
Generation writes an editable SVG output derived from the template name, usually using the _output.svg suffix.
When SVG splitting is enabled, the parts are written to a sibling chunks directory. Export reuses those existing chunks when available.
8.5 Advanced preferences¶
Most preferences are stored in src/preferences.ini. The GUI writes explicit changes immediately, but it should not rewrite all preferences just because the window is closed.
Useful advanced keys:
| Key | Values | Purpose |
|---|---|---|
template_engine |
legacy, composed, composed-instance |
Template instantiation engine. legacy is the normal engine. composed is experimental and intentionally fails on unsupported templates. composed-instance keeps composed clones anchored to the first generated instance instead of <defs>. |
inline_icons_bbox_backend |
query_all, shell_per_text |
Inline icon bbox measurement backend. Use query_all for normal work. shell_per_text is kept for investigation only. |
inkscape_shell_workers |
integer >= 1 | Parallel Inkscape shell workers used during export. |
split_svg_output |
0, 1 |
Enables generated SVG parts. |
split_svg_chunk_mb |
integer >= 1 | Target part size in MB. |
8.6 Troubleshooting¶
If generation appears to use old settings, close the DeckMaker window before editing preferences.ini. The GUI should not save preferences on close, but explicit GUI interactions still save the corresponding preference.
If Inkscape hangs while opening a very large generated SVG, check whether the Export panel is being restored by the Inkscape profile. On Windows this state is stored in %APPDATA%\inkscape\dialogs-state-ex.ini; closing the Export panel or resetting that dialog state avoids the hang. CLI export and isolated-profile launches are not affected.
If inline icons are missing or misaligned, check inline_icons_bbox_backend. The supported backend is query_all. The shell_per_text backend is experimental because Inkscape shell has shown inconsistent bbox results for inline text spacers.
If the composed template engine fails with an "unsupported template" error, switch template_engine back to legacy.