# hlsLadderAlignment

```ts
function hlsLadderAlignment(rungs): {
  aligned: boolean | null;
  ceilingHeight: number;
  floorHeight: number;
  minSegments: number | null;
  rungCount: number;
  switchable: boolean;
};
```

Defined in: packages/asset-client/src/index.ts:352

What the recorded rungs actually support — computed here, never stored, so
one rule serves every consumer and a change to it does not need a backfill.

- `switchable`: more than one rung AND more than one segment. False means the
  player is pinned to whatever rung it opens on for the entire clip.
- `aligned`: every measured rung reports the same segment count. `null` means
  fewer than two rungs were measured — **unknown, not false.** Treating that
  as `false` rejects ladders nobody looked at.
- `ceilingHeight`: the tallest rung. The ceiling of any composition using it.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `rungs` | [`HlsRung`](/api/nitida/asset-client/type-aliases/hlsrung/)[] |

## Returns

```ts
{
  aligned: boolean | null;
  ceilingHeight: number;
  floorHeight: number;
  minSegments: number | null;
  rungCount: number;
  switchable: boolean;
}
```

### aligned

```ts
aligned: boolean | null;
```

### ceilingHeight

```ts
ceilingHeight: number;
```

### floorHeight

```ts
floorHeight: number;
```

### minSegments

```ts
minSegments: number | null;
```

### rungCount

```ts
rungCount: number;
```

### switchable

```ts
switchable: boolean;
```