Input Timing
Unmodified input may refresh inherited child hosts while typing; input-level *lazy defers all visual propagation until change/blur, and *eager enables live known-binding output in the owner too. Neither modifier is *dominate.
Default
Each text input event writes data but does not refresh bindings in the same owning host. Data-less child Sercrod hosts receive the changed path and update matching registered bindings in place. Unrelated or constant structural regions are not rebuilt. The later change event, commonly after blur, performs the normal owning-host commit.
<input *input="name">
Input-level *lazy
<input *input="name" *lazy>
Live input still writes data immediately, but neither the owning host nor inherited children refresh visually until the later change/blur commit.
Input-level *eager
<serc-rod data='{"name":"World"}'>
<input *input="name" *eager>
<h2>Hello, %name%!</h2>
</serc-rod>
Every text input writes data and flushes registered bindings for the known changed path. It does not rebuild or replace the focused input. Repeated host-owned reads share one raw evaluation per flush; row-local paths remain separate. The later change event still follows the normal commit path.
Timing table
| Modifier | During text input | On change / blur |
|---|---|---|
| none | write data; keep owner stable; refresh matching inherited-child bindings | changed-path commit |
*lazy |
write data; suppress all visual propagation | changed-path commit |
*eager |
flush known owner and child bindings without replacing the focused control | changed-path commit |
*dominate remains an independent host-level render-control directive.