sercrod

*screen-state

*screen-state delegates screen and viewport state work to the sercrod.screen_state adapter. current and clear are explicit actions. *screen-state.watch starts from activation on clickable elements and auto-starts once on non-clickable elements.

<button type="button" *screen-state.current *response="'screen'">
  Check screen
</button>
<button type="button" *screen-state.watch *response="'screen'">Watch screen</button>
<button type="button" *screen-state.clear>Stop watch</button>

Current and watch callback results are written to $screen_state. Watch start also writes $screen_state_watch and $screen_state_watch_id. Use *response for application data placement.

The adapter owns read-only viewport, orientation, fullscreen, and display-mode state only. It does not edit viewport meta tags, replace CSS media/container queries, compute layouts, route pages, persist state, or decide whether an application feature should run.