diff --git a/README.md b/README.md
index 502cab8..917fda3 100644
--- a/README.md
+++ b/README.md
@@ -1,112 +1,79 @@
-
----
+
+
+
-> ### Licence in one line
->
-> **AGPL-3.0, with a commercial licence available.** Use it, change it, share
-> it — but a version you distribute, or run as a service other people use, has
-> to publish its source under the AGPL too. To put it inside a product whose
-> source stays closed, [ask for a commercial licence](https://github.com/MAXAWER/MThread-Draw/issues).
-> Full explanation, in English and Russian: **[TERMS.md](TERMS.md)**.
->
-> **AGPL-3.0 плюс коммерческая лицензия.** Пользуйтесь, меняйте, делитесь — но
-> распространяемая версия и сервис на её основе обязаны публиковать исходники
-> под AGPL. Чтобы встроить в продукт с закрытым кодом, нужна коммерческая
-> лицензия. Подробно: [TERMS.md](TERMS.md).
+
The drawing above draws itself, and it is not an illustration: those are the 232 strokes
+tools/make_hero.py gets out of examples/motorcycle.jpg, in the order the program sends them to a phone.
----
+
-## Try it before you install it
+
-0d1117?style=for-the-badge&labelColor=0d1117&color=2563eb)
+
-0d1117?style=for-the-badge&labelColor=0d1117&color=2563eb)
+

-**[maxawer.github.io/MThread-Draw](https://maxawer.github.io/MThread-Draw/)** puts
-three of these drawings in your browser and asks you to trace one by hand. The
-lines are not a mock-up: they are the exact strokes this program sends to a
-phone, exported from a real run over the photographs in [`examples/`](examples/),
-and the time to beat is the time the program takes.
+
-A guitar is 294 points and lands in about a second. Tracing it yourself takes
-most people twenty.
+

+

+

+

+

+

-## Get it
+
-| | |
-|---|---|
-| **Windows** | [**Download the installer**](https://github.com/MAXAWER/MThread-Draw/releases/latest) — `MThreadDraw-x.y.z-x64.msi`. Installs like any other program, Start Menu entry and uninstaller included. |
-| **macOS** | [**Download the app**](https://github.com/MAXAWER/MThread-Draw/releases/latest) — `.dmg` for Apple Silicon or Intel. Drag it to Applications. |
-| **Linux** | The command line, from source; three commands, [below](#from-source). |
+### It draws pictures on an Android screen by touching it,
and it records and replays gestures. Nothing is installed on the phone.
-Both windows are native: WinUI 3 on Windows, SwiftUI on macOS, and each drives
-the same engine over a pipe. Linux has the command line and the library, which
-is everything except a window.
+
USB or wireless ADB · no root on most devices · no Android SDK · one download, everything inside
-**Nothing else to install.** Python, OpenCV and **adb** all travel inside the
-application — no Android SDK, no platform-tools download, no `PATH` to edit.
+
-The builds are not code-signed, because certificates cost money this project
-does not take. Windows SmartScreen says "unknown publisher" once — *More info* →
-*Run anyway*. macOS wants a right-click → **Open** on the first launch.
+

-## Then, in three steps
+
A photograph in, 57 strokes and 478 touch points out — the exact path list sent to the device.
+On a Pixel 8 Pro that draws in under two seconds.
-1. **Turn on USB debugging** on the phone: Settings → About phone → tap *Build
- number* seven times → Developer options → *USB debugging*.
-2. **Plug it in.** Or go wireless: `adb connect 192.168.1.42:5555`.
-3. **Open MThread Draw.** It finds the phone by itself, shows its screen live,
- and lays the drawing over exactly where it will land. Drag to move it, wheel
- to resize, Shift and wheel to turn — then **START DRAWING**.
+
-### What you can do to a drawing before it is drawn
+---
+
+## In about a minute
-| | |
+| | |
|---|---|
-| **Move, resize, turn, flip** | Drag it over the live view; wheel resizes, Shift and wheel turns, and `Flip` mirrors it. `Fit` puts it back. |
-| **Layers** | Load several pictures and arrange them against each other. Each keeps its own position and its own tracer settings; hide one, reorder them, remove one. |
-| **Erase single strokes** | Turn the eraser on and drag across the lines you do not want. `Undo erase` brings them back. |
-| **Change the tracing** | The *detail* slider re-traces what is already loaded. There is no need to open the file again. |
-| **No live view?** | If capture fails, *Use a screenshot…* takes a picture you copied off the phone by hand. It does not update, but its proportions are what placement needs. |
+| **1 · Install** | [**Windows**](https://github.com/MAXAWER/MThread-Draw/releases/latest) — `MThreadDraw-x.y.z-x64.msi`, Start Menu entry and uninstaller included. [**macOS**](https://github.com/MAXAWER/MThread-Draw/releases/latest) — `.dmg` for Apple Silicon or Intel, drag it to Applications. **Linux** — the command line, [from source](#from-source). |
+| **2 · Wake the phone** | Settings → About phone → tap **Build number** seven times → Developer options → **USB debugging**. Plug it in, or `adb connect 192.168.1.42:5555`. |
+| **3 · Draw** | It finds the phone, shows the screen live, and lays the drawing over exactly where it will land. Drag to move, wheel to resize, Shift and wheel to turn — then **START DRAWING**. |
-Nothing to install and nothing to draw with a mouse:
+**Nothing else to install.** Python, OpenCV and **adb** all travel inside the
+application. Both windows are native — **WinUI 3** on Windows, **SwiftUI** on
+macOS — and each drives the same engine over a pipe, so neither has its own idea
+of how anything works. The builds are not signed: SmartScreen says "unknown
+publisher" once, and macOS wants a right-click → **Open** the first time.
+
+---
+
+## What the window lets you do
+
+| | |
+|---|---|
+| **Place it exactly** | Drag the drawing across the live view; wheel resizes, Shift and wheel turns, `Flip` mirrors, `Fit` starts over. Held in fractions of the screen, so it survives the phone being turned. |
+| **Layers** | Several pictures arranged against each other, each with its own placement and its own tracer settings. Hide one, reorder them, remove one. |
+| **Erase single strokes** | Drag across the lines you do not want with the eraser on; `Undo erase` brings them back. |
+| **Re-trace in place** | The detail slider re-traces what is already loaded. No need to open the file again. |
+| **Record and replay** | Press record, do something on the phone, press stop. The file holds fractions of the screen, so it **replays on a different phone**, at any speed, any number of times. |
+| **No live view?** | If capture fails, a screenshot you copied off the phone by hand will do: it does not update, but its proportions are what placement needs. |
+
+Nothing to prepare, from the command line or from code:
```bash
mthread shape heart # a heart, fitted to the screen
-mthread shape star --points 7 # a seven-pointed star, turned however you like
mthread text "hello" --y 0.35 # words, in any font this machine has
+mthread record -o login.json # then: mthread play login.json --speed 2
```
-Or from code:
-
```python
from mthread import Device
Device().draw_paths([[(100, 200), (400, 200), (400, 600)]])
@@ -114,190 +81,115 @@ Device().draw_paths([[(100, 200), (400, 200), (400, 600)]])
---
-## How an image becomes touches
+## How a photograph becomes touches
-