---
name: prism-refraction-lab
description: Generate or adapt an offline prism refraction lab with direct controls, keyboard access, and downloadable SVG output.
---

# Prism Refraction Lab

Use this skill for a reusable, self-contained interactive visual study. Adapt text, palette, and parameters to the user's page while retaining the relationship between controls, visible state, and exported output.

Generate with Python 3.10+ from any working directory:

```bash
python3 /absolute/path/prism-refraction-lab/scripts/generate.py -o ./index.html --spread 48 --angle -10
```

`--title` sets a complete plain-text heading (1–300 characters); `--accent` accepts only a six-digit hex color. `--spread`: 12–78 degrees. `--angle`: −25–25 degrees. Open the resulting HTML directly; append `?lang=en` for English. No external assets, server, or package installation are needed.

For changes to rendering or state behavior, read [the design notes](references/design.md), then edit `templates/index.template.html` and regenerate. Keep one live `#status` region, labeled controls, visible keyboard focus, meaningful static reduced-motion states, and SVG output consistent with the selected visual. When embedding, the frame needs script and download permissions for the intended controls and export.
