- reporter: <html data-lgs-plates> on managed native windows; a plate glassd has not drawn for 1.5 s gets
data-lgs-plate-css (CSS plate glass back). The theme drops CSS plate glass on every other plate at once,
instead of after the ack: no CSS-then-native swap, no fill/shadow transition on each Home disc.
- settings: scrolled state from the scroll listener, the hero title measured in rAF (the 300 ms tick
forced the page's layout mid-transition)
Phase 1 (no handoff):
- lgs-native on every Steam window while native mode is live (daemon NATIVE_JS
`all`, lgs_core sets it at injection), pooled popups included.
- Covers and plates are marked glassd's as soon as they are reported (optimistic),
CSS glass back only if never acked within 1.5 s.
- Covers/plates that appear while animating are reported at their end state
(seekEnd over all running animations) with appear timing; glassd ramps them
from the page's own start time (appearAt).
- Pooled popups stay in the report while hidden and are measured as their content
mounts ("armed"): glassd draws the glass ahead, lgs_sg builds the nodes in the
same scene-graph update Steam inserts its panel in (panel watch), the hidden
cover elements are pre-marked, glassd clears a surface's texture on hide.
- Plates inserted by a route are reported synchronously, ahead of the scroll
deferral.
Phase 2 (menus):
- While a menu, alert or sheet is open in native mode, the page under it is cut
out of Steam's texture (data-lgs-hole mask, faded on a registered property),
held through the slab's out-ramp; the slab is transparent glass from the open.
- Modal layers are reported at once (no 607 ms settle wait).