# State

The focused node and expanded parent identities.
Expansion controls visible traversal; file selection or opening is a separate application action.

## Signatures

```ts
export interface State {
    readonly activeId: string | null;
    readonly expandedIds: readonly string[];
    readonly loop: boolean;
}
```

## Property: activeId

Id currently active for keyboard navigation; null means no active item.

## Property: expandedIds

Ids whose child tree groups are currently visible.

## Property: loop

Whether movement wraps between the first and last enabled items.
