# an.stores.props

Props store — descriptor + sidecar folder per prop.

A prop is a rig whose art is not a person: a lamp, a sword, a sign. It is
stored exactly like a character — a JSON descriptor beside a `parts/`
folder of SVGs — because the cutout compiler builds both from the same rig
builder, and the store is the ONLY thing that differs about where their art
lives (an#108). What differs is the *descriptor*: a prop declares no face,
no blink, and no humanoid skeleton.

Kept a separate store rather than a `kind` field on the characters store,
for the reason the compiler keeps them apart: `an character validate`
scores a correct prop as 21 blocking findings, and the character
placeholder fallback draws a *person* where a lamp should be.

### Classes

| [`PropsStore`](#an.stores.props.PropsStore)(root_dir)   | Per-prop directory store.   |
|-------------------------------------------------------------------------|-----------------------------|

### *class* an.stores.props.PropsStore(root_dir)

Bases: `JsonSidecarStore`

Per-prop directory store.

```pycon
>>> import tempfile
>>> with tempfile.TemporaryDirectory() as d:
...     store = PropsStore(d)
...     store['lamp'] = {'name': 'Desk lamp'}
...     store['lamp']['name']
'Desk lamp'
```
