Home in native mode: plate glass, one lifted item, no ghosts
Rule (native-e2e §1, PLAN §1.7 rule 1): every Steam texel that shows content is either under opaque glassd glass or shown only at its own position. Home is windowless (PLAN §1.2), so there is no window cover. Every glass element is a plate (P9 G1): opaque glass drawn at the cover's depth that hides Steam's panel under it; the base mosaic shows Steam's content in front of it, only in declared bands. Only the attended item pops: +15 mm, non-interactive (default profile), over its own plate in the occluder variant.
What each element does
Element
Mechanism
Default
Wearer
Discs, top-row controls
Plates (liquid)
0
0
Attended disc, card, name plate
Crop + slab over its occluder plate
+15, non-interactive
+15, interactive
Labels, dots, peeks
Steam's panel
0
0
Tab bar
Popup transform
+25
+25
Menu over Home
Crop in its thick plate (C1c)
+10
+30
Depths at rest: {0, +15, +25} mm; with a menu open {0, +10, +25}, the card at 0 (rule 6); ≤ 4 (VP P-46). Plates: ≤ 18 of 32 per page (P9 G1). Peeks stay CSS only.
Click-safe rule (PLAN §1.7 rule 2)
dz ≤ 0.25 × s × 0.769 mm, s = the shorter side of the smallest focusable the crop touches. Disc: the 200 × 180 cell, s 180. Card: Play's and More's 80 px hit elements, s 80. +15 mm needs s ≥ 78: both admitted. Shift at 35°: +15 mm = 10.5 mm = 14 px.
Static check (HA AT-10b, run as glass.py sgcheck) on __LGS_SG.dump() and DOM rects: (1) each pop's rect, inflated by 2 px, lies inside a plate of the same surface; (2) mosaic pieces lie only inside the declared data-lgs-mosaic bands and cover no Steam texel outside a plate with alpha > 0.05; (3) every crop is interactive: false in the default profile; ≤ 4 distinct dz. The reporter (P6) refuses a pop that fails (1).
Look check (HA AT-10c).glass.py hv home --offaxis with a cell attended (look, then delete both copies): one copy of the icon, its plate visible beside it as glass, labels single, no outline on any plate.