# flowKey

**Kind:** Function

**Source:** [`atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts#L134)

Deterministic storage key for a flow step screenshot.

Naming scheme (WS-A flow-replay):
  flowKey('abc', 0)          => 'flows/abc/step-0.png'      (initial state, full page)
  flowKey('abc', 2)          => 'flows/abc/step-2.png'      (state after step 2, full page)
  flowKey('abc', 2, 'crop')  => 'flows/abc/step-2-crop.png' (tight crop around the target)

The no-variant key is the canonical FULL-PAGE image the docs reference (it is
the one the annotation fragment's coordinates are computed against). 'crop' is
an auxiliary tight close-up. 'full' is retained for backward compat.

## Signature

```ts
function flowKey(flowId: string, stepOrder: number, variant: 'full' | 'crop'): string
```

## Parameters

| Name | Type |
|---|---|
| `flowId` | `string` |
| `stepOrder` | `number` |
| `variant` | `'full' | 'crop'` |

**Returns:** `string`
