# AnimEvent

> Talos 0.7 · Since 0.6; changed in 0.7

## Signature

```ts
export interface AnimEvent {
  clip: string
  /** 0..1 of the clip. Exactly one of `at` and `frame`. */
  at?: number
  /** A frame on the 30 Hz clip grid, instead of `at`. */
  frame?: number
  /** Makes the event a window `[at, until)`, delivered with `phase: "begin"` and `"end"`. */
  until?: number
  /** `until` as a frame, with `frame`. */
  untilFrame?: number
  event: string
  /** Free-form values delivered as `data.data` of the event. */
  data?: Record<string, unknown>
}
```

Import: `import type { AnimEvent } from "@argus/gameplay"`

## Members

| Member | Signature | Description |
|---|---|---|
| `clip` | `clip: string` |  |
| `at` | `at?: number` | 0..1 of the clip. Exactly one of `at` and `frame`. |
| `frame` | `frame?: number` | A frame on the 30 Hz clip grid, instead of `at`. |
| `until` | `until?: number` | Makes the event a window `[at, until)`, delivered with `phase: "begin"` and `"end"`. |
| `untilFrame` | `untilFrame?: number` | `until` as a frame, with `frame`. |
| `event` | `event: string` |  |
| `data` | `data?: Record<string, unknown>` | Free-form values delivered as `data.data` of the event. |
