mirror of
https://github.com/MichaelScottsman/LiquidAss-Frame.git
synced 2026-10-18 20:01:08 +02:00
Stereo (glassd cap stereo, flag glassStereo, on) - The window glass was one image both eyes saw on the glass plane, so the room behind it read as a picture pasted on the glass. glassd now renders each eye's view (SteamVR's eye-to-head offsets, refreshed every 5 s): every region of a stereo surface's texture is a pair, left eye's copy then right eye's, and the scene graph's panel spans the pair with stereoscopy Parallel. - Measured on the device with a lab probe (lgs_sg test.stereoProbe): SteamVR splits a Parallel panel at the middle of the panel's own uv rect, not at the texture's halves; hence the pair layout, and stereo only where the scene graph shows a surface whole (main, SteamVR's panels). The bar, the frame menu and popups show crops and stay mono. A slab clipped sideways is left out while it is. - GPU about 2.9 -> 3.5 ms a frame. Sidebar without the laser - frame.menu is no longer laser-only: SteamVR shows it in gamepad mode (laser mouse off) and beside its own pages; keyed on the gamepad flag its native glass went off and the CSS glass showed. Verified with the flag forced to gamepad on Home and in VR Settings: the cover stays. Home -> Library - The shell stamps the leaving Home view with the moment it starts leaving (only on a way out of Home, kept across Steam's /library redirect); Home fades on the route exit and the reporter lets its plates go on that clock. Measured: all Home discs reported leaving in the first report, gone with the page. - Plates whose element leaves the DOM are reported leaving from the mutation itself (no measuring), not after a frame-driven tick the new route's render starves. Glass tuner - The popup fits Steam's 600 px bar popup cap (rows 76 px: label and value on one line over a 40 px slider); open()/close() for tests.
29 lines
2.7 KiB
JSON
29 lines
2.7 KiB
JSON
{
|
|
"version": 2,
|
|
"about": [
|
|
"C1a Shell chrome (WN §3.1, §3.3.6, §3.4, §3.7; PLAN §1.2, §1.6, §1.7). Contract: docs/phase2/contracts/reporter.md.",
|
|
"Window cover: 00-base.json's main.modes, keyed on the data-lgs-glass value C1a's runtime sets on %{BasicUiRoot} (window 656, window-full and hero 720, radius 54; windowless: plates only). Nothing to change here.",
|
|
"Nothing in the toolbar row or the bottom ornament pops: the legacy hdr-back, hdr-search, footer and sort-filter pops are superseded while wp.c1a is on (they come back with the flag off).",
|
|
"The ornament is a liquid plate (shell-ornament, the T2 node #Footer > .lgs-orn-plate, also the data-lgs-nopop box); on windowless routes Back and the search field are liquid plates (shell-back, shell-search). These are DOM attributes from device/rt/20-shell.js, not rules.",
|
|
"frame.menu: liquid (PLAN §1.6), and its cover is the tab bar's two capsules (the T2 nodes .lgs-tabcap), not the menu's box (which also holds the gap and the band under the bar). Without the runtime the cover falls back to the box. The cover's radius is the element's own border-radius (no r field), which 20-shell.css §4 sets from --lgs-c1a-tab-r: collapsed a capsule (half the column), expanded a 30 px rounded rectangle (a capsule radius on the expanded panel drew an oval blob); the fallback box gets the same radius, so it is never a square slab (REQ P7->C1a, review R2 M2).",
|
|
"The tab bar opens and closes by animating its width (20-shell.css §4, on snappy out and fade back): cover.morph has the reporter send the end shape with the motion's start time and spring, and glassd morphs the two capsules' glass along with the page (no glass trailing the labels).",
|
|
"Not laser-only (00-base.json's laserOnly is overridden): SteamVR shows the frame menu in gamepad mode too (laser mouse off, and beside SteamVR's own pages), and its panel reads only-visible-with-laser false whatever Steam asks (P6 RP-7). Keyed on the gamepad flag, the menu's native glass went off whenever the laser did and its CSS glass showed (2026-10-09).",
|
|
"The tab bar's +25 mm is P7's tabBarDepth rule (theme/sg/00-base.json) and the always-visible flag is theme/popups/20-shell.json (tabBarAlways): never a crop."
|
|
],
|
|
"flag": "wp.c1a",
|
|
"owns": ["frame.menu"],
|
|
"supersedes": ["hdr-back", "hdr-search", "footer", "sort-filter"],
|
|
"surfaces": {
|
|
"frame.menu": {
|
|
"material": "liquid",
|
|
"laserOnly": false,
|
|
"cover": {
|
|
"sel": "%{DashboardMenu}%{Variant_FrameMenu} > .lgs-tabcap, %{DashboardMenu}%{Variant_FrameMenu}:not(:has(> .lgs-tabcap))",
|
|
"all": true,
|
|
"morph": {"grow": "snappy", "shrink": "fade"}
|
|
},
|
|
"layers": []
|
|
}
|
|
}
|
|
}
|