<commit_before>playtest
========

Playtest is a card game printer. It takes tabular card specification format as input and outputs PDF files of numbered and versioned cards in the correct quantities to be printed and play tested.


Deck Spec
---------

Card decks are described using a table of information about each card. The first row of the table names each column. Each following row of the table represents a single unique card. 

```
type,cost
knave,$1
queen,$3
wizard,$5
```

In the example, column names are `type` and `cost`. Columns of the table can be anything you want, but there are a couple of column names that have special meaning.

* `quantity` specifies the number of that card type that will be in the deck. If the table does not include a `quantity` column, then one card of each type will be included in your deck.

```
type,cost,quantity
knave,$1,5
queen,$2,2
wizard,$5,1
```

In the example, playtest would print five copies of knave, two copies of queen, and one wizard.

* `layers` specifies which named svg groups should be displayed. If a `layers` column is present, all layers are hidden unless explicitly listed in a given row. Multiple layers should be delimited by the pipe symbol (`|`).

```
type,cost,quantity,layers
knave,$1,5,base
queen,$2,2,base|queen
wizard,$5,1,base
```

In the example, only the layer titled `base` would display for the knave card and wizard card, but the queen card would have `base` and `queen` layers displayed.


User Interface
--------------

Modify the table on the left. Changes are reflected as you type in the card deck on the right.<commit_msg>Added UI description/quirks doc<commit_after>playtest
========

Playtest is a card game printer. It takes tabular card specification format as input and outputs PDF files of numbered and versioned cards in the correct quantities to be printed and play tested.


Deck Spec
---------

Card decks are described using a table of information about each card. The first row of the table names each column. Each following row of the table represents a single unique card. 

```
type,cost
knave,$1
queen,$3
wizard,$5
```

In the example, column names are `type` and `cost`. Columns of the table can be anything you want, but there are a couple of column names that have special meaning.

* `quantity` specifies the number of that card type that will be in the deck. If the table does not include a `quantity` column, then one card of each type will be included in your deck.

```
type,cost,quantity
knave,$1,5
queen,$2,2
wizard,$5,1
```

In the example, playtest would print five copies of knave, two copies of queen, and one wizard.

* `layers` specifies which named svg groups should be displayed. If a `layers` column is present, all layers are hidden unless explicitly listed in a given row. Multiple layers should be delimited by the pipe symbol (`|`).

```
type,cost,quantity,layers
knave,$1,5,base
queen,$2,2,base|queen
wizard,$5,1,base
```

In the example, only the layer titled `base` would display for the knave card and wizard card, but the queen card would have `base` and `queen` layers displayed.


User Interface
--------------

The site is hosted [here](http://playtest.meteor.com).

- each unique card is displayed at the top. Click on the card to open an in-browser SVG editor. Changes made in this editor must be saved by clicking SVG Edit -> Save Image, or they'll be lost when you click on another card (or reload the page).
- the text box on the bottom on the left has the CSV deck specification as described above. Click outside the text box after making changes to save them.
- the text box on the bottom on the right has the SVG. It's for debugging. As with the deck specification, click outside after making changes to save them.
- the About menu doesn't do anything yet
{'fraction_non_alphanumeric': 0.07973684210526316, 'fraction_numerical': 0.007894736842105263, 'mean_word_length': 4.088353413654619, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5021627', 'n_tokens_mistral': 1050, 'n_tokens_neox': 993, 'n_words': 589}