# GPT 6 Astra · 100 HTML Files

One hundred self-contained visual studies — generative art, editorial layouts,
physics toys and interfaces — generated with GPT-6 Astra.

**Gallery:** open `index.html` in a browser (works offline). Every card shows a
screenshot of the piece, links to it (opens in a new tab), and has an
expandable **Prompt** section with the original generation prompt.

## Contents

| File | What it is |
|---|---|
| `index.html` | Gallery page: thumbnails, search filter, per-piece prompt (collapsible) |
| `001-…html` … `100-…html` | The 100 standalone pieces (all CSS/JS inline, zero external deps) |
| `001-…txt` … `100-…txt` | The full generation prompt behind each piece (title, prompt, description, techniques) |
| `thumbs/*.jpg` | 1280×800 screenshots, one per piece (see below) |
| `tools/build_index.py` | Regenerates `index.html` from the HTML + TXT pairs |
| `tools/shot.py` | Screenshot script (Playwright) that renders `thumbs/` |
| `favicon.svg` | Gallery icon |

Each HTML file works by simply opening it — no server, no network, no build.

## Regenerating

```sh
python3 tools/shot.py         # re-shoot every NN-*.html into thumbs/ (needs playwright + chromium)
python3 tools/build_index.py  # rebuild index.html from the HTML/TXT pairs
```

`shot.py` opens every `NNN-*.html` at 1280×800 in 5 parallel pages, waits
~1.6 s for canvas animation to settle, and saves `thumbs/NNN-*.jpg`.
`build_index.py` reads the `Title:` / `Exact creative prompt:` /
`Description:` / `Refinement prompt:` fields from each TXT file.

## Publish to GitHub Pages

```sh
gh repo create MiaAI-Lab/GPT-6-Astra-100-HTML-Files --public --source=. --push
gh api repos/MiaAI-Lab/GPT-6-Astra-100-HTML-Files/pages -X POST \
  -f build_type=legacy -f source='{"branch":"main","path":"/"}'
```

The gallery is then live at
`https://miaai-lab.github.io/GPT-6-Astra-100-HTML-Files/`.
