sercrod

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.