Files

117 lines
3.6 KiB
JSON

{
"version": 2,
"about": [
"Phase 2 layer fragment 00 (P6): the surfaces. No layer rules here; areas add theirs in theme/layers/NN-name.json.",
"Contract: docs/phase2/contracts/reporter.md. Fragments merge in name order; a later fragment changes a surface's",
"cover, material, modes or modal only when it lists the surface in \"owns\".",
"main.modes: the glass mode C1a sets as data-lgs-glass on %{BasicUiRoot} (PLAN 1.2) -> main's cover shape in CSS px.",
"main.modal / bar...: Steam's open modals (admission rule 6: while one is open only modal rules pop). main also counts",
"C3b's CC-M root (.lgs-cc): Steam's showModal renders it without ModalPosition, so nothing else pops under it (REQ C3b->P6).",
"notifications, volumelevel, tooltip (C3a's quads, REQ C3a->P6): reported only while the flag wp.c3a is on (surface \"flag\"),",
"so Phase 1's report (RP-1) and native sessions without C3a stay as they were. The keyboard surface comes from C4b's fragment."
],
"defaults": {
"material": "liquid",
"maxLayers": 20
},
"surfaces": {
"main": {
"key": "valve.steam.gamepadui.main",
"frameKey": "valve.steam.gamepadui.main",
"material": "window",
"cover": {
"sel": "%{BasicUiRoot}:not(:has(> %{MainNavMenuMainSplit} > %{BasicHome}%{PopupBody>TransparentBackground}))"
},
"modes": {
"attr": "data-lgs-glass",
"sel": "%{BasicUiRoot}",
"window": {
"h": 656,
"r": 54
},
"window-full": {
"h": 720,
"r": 54
},
"hero": {
"h": 720,
"r": 54
},
"windowless": {
"cover": false
}
},
"modal": "%{*BasicContextMenuModal>contextMenuContents}, %{*GamepadDialogContent>ModalPosition} > :not(%{*GamepadDialogContent>ModalClickToDismiss}), .lgs-cc",
"layers": []
},
"bar": {
"key": "valve.steam.gamepadui.bar",
"material": "liquid",
"cover": {
"sel": "%{PopupBody>DashboardBar} > %{BarSurface}",
"all": true,
"r": "capsule"
},
"layers": []
},
"barpopup": {
"keyPrefix": "valve.steam.gamepadui.barpopup.",
"material": "panel",
"cover": {
"sel": "%{DashboardBarPopupContents}, %{QuickAccessMenu}, %{DashboardMenu}%{Variant_TabMenu}",
"all": true
},
"layers": []
},
"frame.menu": {
"keyPrefix": "valve.steam.gamepadui.frame.menu.",
"frameKey": "valve.steam.gamepadui.main",
"laserOnly": true,
"material": "panel",
"cover": {
"sel": "%{DashboardMenu}%{Variant_FrameMenu}"
},
"layers": []
},
"floatingfooter": {
"key": "valve.steam.gamepadui.floatingfooter",
"material": "panel",
"cover": {
"sel": "#Footer%{BasicFooter}%{FloatingVRFooter}",
"r": "capsule"
},
"layers": []
},
"notifications": {
"key": "valve.steam.gamepadui.notifications",
"flag": "wp.c3a",
"material": "panel",
"cover": {
"sel": "%{ShortTemplate}",
"all": true
},
"layers": []
},
"volumelevel": {
"key": "valve.steam.gamepadui.volumelevel",
"flag": "wp.c3a",
"material": "panel",
"cover": {
"sel": "%{VolumeSliderLabel>VolumePopin}",
"r": "capsule"
},
"layers": []
},
"tooltip": {
"keyPrefix": "valve.steam.gamepadui.tooltip.",
"flag": "wp.c3a",
"material": "thick",
"cover": {
"sel": "%{PopupBody>Tooltip}",
"r": "capsule"
},
"layers": []
}
}
}