11 Commits
Author SHA1 Message Date
MichaelScottsman 27edbab0f3 Home icons keep their tone on hover; the sidebar resizes with its glass when VR Settings opens
- Home discs are never occluders: a plate under a pop was its shadow (glassd x.55, no light, in one
  frame), so the hovered disc and the neighbours its name plate or card overlaps snapped dark on every
  hover. The pop keeps its own contact shadow.
- The frame menu's tab pitch (and place) are registered lengths that transition: VR Settings' shorter
  panel takes a smaller pitch, which changed the bar in one frame while glassd's shape followed a report
  (~120 ms) later. Now the bar resizes on the spring the reporter morphs the glass on (shrink fade, grow
  snappy); measured: Steam's crop moves over ~250 ms and glassd gets the morph from the first report.
2026-10-09 12:46:18 -04:00
MichaelScottsman 0543fb033e Sidebar: labels whole in the open bar ("Steam Settings", "Friends & Chat" marqueed with faded ends)
Squeezed by the bar's animating width, Steam's label marquee started mid-open and stayed on (its 24 px of
scroll padding then never fitted). Labels keep their own width while the bar slides (flex-shrink 0, the
bar's edge clips them meanwhile) and Steam's 160 px cap goes. Verified: open 281 px with no clipped label,
collapsed 76 px as before. Seen in a headset-view grab.
2026-10-09 07:26:17 -04:00
MichaelScottsman 8862d7174a Native plates are glassd's from their first frame; Settings tick reads no layout
- 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)
2026-10-09 01:29:34 -04:00
MichaelScottsman dc3071aac0 Smooth transitions: sidebar width morph, window glass materialize, launcher plate exit
- Frame menu: measured expanded width so Steam's width transition animates;
  reporter sends cover.morph end shape + start time, glassd morphs the glass
  on the same spring (70 ms native lead).
- Main window: glass-mode change reported from the mutation callback and the
  cover marked data-lgs-cover="pending" (no opaque CSS window); glassd springs
  covers in/out; daemon keeps lgs-native 1.5 s between modes.
- Launcher: the name plate dissolves in place, then the label fades back.
2026-10-08 23:04:35 -04:00
MichaelScottsman 894c891980 Fixes from user headset feedback: library bottom capsule, tab bar radius, Settings pop removed (split window), perf: scope launcher CSS to barpopup, reporter 15 Hz, cheaper sweep 2026-10-07 22:54:50 -04:00
MichaelScottsman 503017b154 Ship: native glass on by default, all phase 2 areas and real launches enabled (device/defaults.json) 2026-10-07 21:30:57 -04:00
MichaelScottsman 49286acda1 Checkpoint: R2 reviews of all 14 context packages, coordinator decisions, P10 and platform request handling 2026-10-07 17:43:20 -04:00
MichaelScottsman ca69915d8f Platform packages P1-P10 built, reviewed and fixed (R1); P7 anchor fix (texture uv) and popup curvature; context round in progress 2026-10-07 12:42:46 -04:00
MichaelScottsman dd4f775645 WIP checkpoint: platform packages built (M3), core contexts C1a/C1c/C2a at M2, C4a at M3 2026-10-07 08:21:40 -04:00
MichaelScottsman 7ee1310d18 native spikes: scene-graph layering + dmabuf overlays proven
- IVROverlayView reads system overlays (systemui, HeadsetView) but not
  Steam's dmabuf-backed panels
- SteamVR systemui scene graph accepts injected nodes (DOM elements with
  buildNode; submit via module 5723's scheduler): reparent-to-panel +
  panel-anchor + transform + panel shows live crops of Steam's window at
  any 3D offset, and our own dmabuf overlays (needs SetOverlayMouseScale)
- hvgrab: headset-view capture for verification
2026-10-06 22:53:36 -04:00
MichaelScottsman a9bb05556c SteamVR pages: in-memory theming via vrwebhelper devtools (user-approved)
- device/lgs_vr.py + lgs_vr_core.js: theme every SteamVR page (systemui
  frame controls / Now Playing / settings, controller bindings, overlays)
  from theme/vr/*.css; a transient user unit (lgs-vr) keeps new pages themed
  while the theme is on and exits when the Steam side goes off
- lgs on/off/status/dial drive both Steam and SteamVR
- lgs_index reads SteamVR's webpack bundle too, so %{Token}s work there
- lab: vr:<page> surfaces for shot/outline/styles/audit/js/perf, own lock

SteamVR's VRWebHelper/DebuggerEnabled (port 8090) was enabled with the
user's approval; backup at steamvr.vrsettings.pre-glass-shell.
2026-10-06 22:04:02 -04:00