# map-sheetc

Sheet C of the Abbey Road guest map — **"Walking Stories · listen"**: one QR
code per recording (free LibriVox first, then Spotify/Audible audiobooks),
each keyed to its pin number.

No dependencies: qrcode-generator 1.4.4 (Kazuhiko Arase, MIT) is inlined and
kept local to the module's closure — no global `qrcode`.

## Live URL

```
https://assets.gf.cx/map-sheetc/map-sheetc.js
```

## Use

```html
<div class="sheet sheet-c" id="sheetC"></div>
<script src="https://assets.gf.cx/map-sheetc/map-sheetc.js" data-cfasync="false"></script>
```

```js
GfcxMapSheetC.render(document.getElementById('sheetC'),
  { literature: rj.literature, recs, catColor, ink: '#22252b' });

// web: make each card a tap target (you can't scan the phone you're holding)
GfcxMapSheetC.render(el, data, { link: true });
```

Fills the container with `.wc-head` (title + sub), `.wc-grid` (one `.wc` card
per entry) and `.wc-foot`. Returns the number of cards.

## Why it is shared

`print.gf.cx/map/print.html` built this sheet inline; `maps.gf.cx/abbeyroad/`
wanted the same list as a walking-tour companion. Same fix as
[map-sideb](../map-sideb/): one module, two consumers, no drift. Extracted
2026-09-26.

## Contract

- **Styling belongs to the consumer.** Print sizes the grid and QRs in mm; the
  web page is responsive. This module owns the data → markup, the QR drawing
  and the copy — the class names (`wc-*`) are the interface.
- **Free first, then paid.** Built from `recommendations.json` `literature[]`:
  entries with `listen` (LibriVox, free, chapter-cued) first, then in-copyright
  `stream` audiobooks (Spotify/Audible — e.g. Alan Bennett reading *The Lady in
  the Van*), labelled by service in place of a duration; paid cards also get a
  `.paid` class. Was free-only until 2026-09-26 (Dan: "expand the scope … all
  within one page") — print fits 18 as 5 columns × 4 rows on one A4 sheet.
- Every QR encodes `https://london.gf.cx/s/<slug>` — london's own 302 — so a
  moved recording is fixed in london's data and the paper never needs reprinting.
- Error correction **M** (survives a crease or a coffee ring); 2-module quiet zone.
