Skip to content

Steam Controller: move grip-sense bars out to the sides#55

Merged
petegordon merged 2 commits into
mainfrom
feat/steam-controller-grip-bars-to-sides
Jun 15, 2026
Merged

Steam Controller: move grip-sense bars out to the sides#55
petegordon merged 2 commits into
mainfrom
feat/steam-controller-grip-bars-to-sides

Conversation

@petegordon

@petegordon petegordon commented Jun 15, 2026

Copy link
Copy Markdown
Member

Closes #56.

Move the grip-sense bar meshes out to the sides

The left_gripsense / right_gripsense bar meshes are modeled low on the back of the 2026 Steam Controller (Y ≈ −0.026, near the bottom), tucked under the body — so the emissive glow they get while a grip is held (setGripState) isn't visible during use.

This moves each bar out just beyond the controller's left/right silhouette at load time, so the bars (and their grip glow) read clearly from the front:

  • New _repositionGripBars() runs after the grip markers are placed (markers keep their original anchoring; only the bar meshes move).
  • Side is derived from geometry (grip center vs model center), so mesh naming can't flip it.
  • The world-space shift is converted into the mesh's local frame (model has a uniform scale and no rotation at setup), and originals is updated so the rest pose stays consistent.
  • Opt-in per profile: gripBarsToSides: true + gripBarSideGap: 0.02 (gap past the side edge, in model widths) — enabled only for the Steam Controller.

Notes

Tests: visualizer 5/5 pass; syntax clean.

@petegordon petegordon added enhancement New feature or request steam-controller Steam Controller-specific work labels Jun 15, 2026
The left_gripsense / right_gripsense bar meshes are modeled low on the
back of the controller, where they're hidden under the body — so the
emissive glow they get while a grip is held (setGripState) isn't
visible. Add _repositionGripBars: shift each bar out just beyond the
controller's left/right silhouette at load, so the bars and their grip
glow are visible in use. Side is derived from geometry; the world shift
is converted into the mesh's local frame; originals are kept consistent.

Opt-in per profile via gripBarsToSides / gripBarSideGap (enabled for the
Steam Controller).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Split the grip-sense display controls in two:
- Rename "Show Grip Sense" → "Show Grip Sense Glow" (the existing
  setGripVisible: mesh emissive + on-top markers).
- Add "Show Grip Sense Bars" (new setGripBarsVisible): shows/hides the
  grip-sense bar meshes themselves. Visible by default; persisted to
  localStorage (overlay:gripBars), re-applied on each model load.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@petegordon petegordon merged commit cd7b113 into main Jun 15, 2026
1 check passed
@petegordon petegordon deleted the feat/steam-controller-grip-bars-to-sides branch June 15, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request steam-controller Steam Controller-specific work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Steam Controller: grip-sense bars hidden under the body — move them out to the sides

1 participant