Render Lifecycle Signals
The @ngaf/render library exposes per-context lifecycle signals via the RENDER_LIFECYCLE injection token. All five signals derive from the existing RenderEvent stream via RenderLifecycleService.notify* methods โ no separate event source, no double-counting.
#Interface
#Derivation
All signals derive from RenderEvent (see Events) โ RenderLifecycleService subscribes to the stream emitted by RenderSpecComponent and updates the signals:
| Signal | Source event |
|---|---|
firstMountAt | first RenderLifecycleEvent with event === 'mounted' |
mountCount | every RenderLifecycleEvent with event === 'mounted' |
lastMountAt | every RenderLifecycleEvent with event === 'mounted' |
lastStateChangeAt | every RenderStateChangeEvent |
lastHandlerInvokedAt | every RenderHandlerEvent |
#Subscribing
#Reset semantics
firstMountAt is sticky for the life of the render context โ once set, it does not reset. The remaining four signals update on every relevant event.
#Privacy
These signals contain no spec content, no state values, no handler parameters. They are timestamps, counts, and short discriminants (spec / element, action names from the registered handler bindings) only. The trust contract at libs/telemetry/README.md applies: no app telemetry by default. Subscribing to RENDER_LIFECYCLE in your code does not fire any telemetry; what you do with the signal values is your choice.