---
url: /api/kiln/classes/TweenManager.md
---
[Kiln API](../../index.md) / [kiln](../index.md) / TweenManager

# Class: TweenManager

Animates numbers over time, ticked in Fixed (deterministic; rendering interpolates Transform):
`res.mut(Tweens).to(entity, Transform, { y: 2, sx: 1.5 }, { duration: 0.4, ease: 'outBack' })`.
Works on any trait's number fields, on entities from `commands.spawn` before they exist, and on
plain objects such as a resource from `res.mut(R)`. A newer tween on the same fields takes them
over. `.then(...)` chains; `cancel(target)` stops them. Emits `TweenDone` when one finishes.

## Constructors

### Constructor

```ts
new TweenManager(app): TweenManager;
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `app` | [`App`](App.md) |

#### Returns

`TweenManager`

## Properties

### active

```ts
active: Active[] = [];
```

## Methods

### to()

#### Call Signature

```ts
to(
   target, 
   trait, 
   values, 
   options?
): TweenHandle;
```

Starts a tween on an entity's trait fields.

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `target` | [`EntityRef`](../type-aliases/EntityRef.md) |
| `trait` | `Trait` |
| `values` | `Record`<`string`, `number`> |
| `options?` | [`TweenOptions`](../interfaces/TweenOptions.md) |

##### Returns

[`TweenHandle`](../interfaces/TweenHandle.md)

#### Call Signature

```ts
to(
   target, 
   values, 
   options?
): TweenHandle;
```

Starts a tween on a plain object's number fields (e.g. `res.mut(Fade)`).

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `target` | `object` |
| `values` | `Record`<`string`, `number`> |
| `options?` | [`TweenOptions`](../interfaces/TweenOptions.md) |

##### Returns

[`TweenHandle`](../interfaces/TweenHandle.md)

***

### cancel()

```ts
cancel(target, trait?): number;
```

Stops tweens on a target (optionally only one trait's). Values stay where they are.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `target` | `object` | [`EntityRef`](../type-aliases/EntityRef.md) |
| `trait?` | `Trait` |

#### Returns

`number`

***

### isTweening()

```ts
isTweening(target, trait?): boolean;
```

True while a tween on this target (and trait) is running or waiting.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `target` | `object` | [`EntityRef`](../type-aliases/EntityRef.md) |
| `trait?` | `Trait` |

#### Returns

`boolean`

***

### toJSON()

```ts
toJSON(): object;
```

#### Returns

`object`

##### active

```ts
active: object[];
```

***

### tick()

```ts
tick(emit): void;
```

Advances every tween one fixed step. Called by TickTweens.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `emit` | (`id`, `tag`, `entity`) => `void` |

#### Returns

`void`
