# API timeacte

Cette API manipule directement le modèle timeacte. Pour le cycle de vie commun et la coordination, utiliser l’acteur intégré décrit dans [builtins.md](../builtins.md).
Import depuis la racine : `./src/index.js`, ou directement `./src/actors/timeacte/index.js`.

```js
import { Theatre } from './src/actors/timeacte/index.js';
const theatre = new Theatre();
const source = theatre.sceneAdd({id:'scene',deb:0,fin:100},[
  {id:'acte',titre:'Exemple',deb:20,fin:80},
]);
const cadre = theatre.cadreAdd({id:'cadre',mode:'lineacte',deb:0,fin:100});
const scene = cadre.sceneAttach(source);
cadre.zoom(2);
scene.rideauSet({deb:30,fin:60});
```

## Sources et représentations

`acteAdd`, `sceneAdd`, `acteGet`, `sceneGet` gèrent les sources gelées.
`clone(overrides)` retourne un brouillon profondément indépendant.
`cadreAdd`, `cadreGet`, `cadreRemove` gèrent les cadres spécialisés.
`sceneAttach`, `sceneDetach`, `acteAttach`, `acteDetach` gèrent les vues locales.
Le retrait d’un cadre démonte son rendu.

Les sources conservent `id`, `titre`, `description`, `deb`, `fin` et les champs métier hérités.
Les propriétés `y`, `hauteur`, `ligne`, `classes`, `template` concernent les représentations.
Une scène et ses actes doivent être compatibles avec le mode du cadre.
Les méthodes `set`, `reset`, `defaultsSet`, `acteDefaultsSet`, `ligneSet` modifient la présentation.
Le getter JavaScript est `acteDefaults` ; la clé déclarative d’entrée et de snapshot reste `acte_defaults`.

## Navigation et rendu

`boundsSet`, `move`, `zoom`, `center`, `fit` manipulent les fenêtres.
`rideauSet` et le getter `rideauBounds` concernent une vue de scène.
`stateGet`/`stateRestore` sauvegardent et restaurent directement un état local.
`mount`, `unmount`, `renderSet`, `refresh`, `flush` gèrent le rendu.
`renderStats` expose les compteurs ; `flushAuto` indique l’état effectif.
`flushAutoDisable`, `flushAutoEnable`, `batch` contrôlent les regroupements.
Les deux alias `flush-auto-disable` et `flush-auto-enable` restent disponibles.

Les modes sont `lineacte` (numérique, défaut) et `timeacte` (temporel).
Les objets date conservent leurs champs `an`, `mois`, `jour`, `heure`, `minute`, `seconde`, `milliseconde`.
Voir [coordinates.md](coordinates.md) pour les conversions et projections.

## Exports

`Theatre`, `ActeSource`, `SceneSource`, `Cadre`, `SceneInstance`, `ActeInstance`,
`DEFAULTS`, `Scale`, `scaleCreate`, `dateToScalar`, `scalarToDate`, `dateExtent`,
`DomFull`, `domFullRegister`, `acteDispatch`, `DomShadow`, `domShadowRegister`.

