Skip to content

Polish tether gesture compass fades and guide visibility#63

Merged
nedtwigg merged 30 commits into
mainfrom
codex/mobileui-compassrose
May 13, 2026
Merged

Polish tether gesture compass fades and guide visibility#63
nedtwigg merged 30 commits into
mainfrom
codex/mobileui-compassrose

Conversation

@nedtwigg
Copy link
Copy Markdown
Member

Summary

  • Smooth the root compass fade so groups stay readable through the first quarter of the drag, then fade directionally with the updated opacity ramp.
  • Make the gesture guide easier to see by rendering the circle, ticks, and drag line at full opacity, with a small center marker.
  • Add and update Storybook gesture states to cover the fade threshold and keep the mobile UI spec in sync.
  • Carry the tether cleanup through the mobile terminal and website prototype surfaces.

Testing

  • mobile-gesture-menu unit tests passed.
  • mouseterm-lib production build passed.
  • Verified the updated Storybook gesture stories locally in the browser.

nedtwigg and others added 30 commits May 12, 2026 21:31
- Extract MobileGestureConfirmation type alias
- Derive squareDirectionVector from existing unit vectors
- Replace 'east'|'west' string side with 1|-1 sign
- Drop dead hasPointerCapture prechecks
- Collapse two grid-cols-4 key rows into single grid

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Catch drift if a new gesture input is added without a matching key sequence.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The local variable shadowed the lib helper with the same name; rename to
currentDisplayPoint to read clearly at the SVG line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Extract activeRootDirection and activeTickDirection as helpers over an
ActiveGestureState alias; the call sites now read one identifier instead
of a 4-deep ternary chain or IIFE.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace four nested direction/optionIndex branches in rootOptionLayout
with a ROOT_CARDINAL_SECONDARY lookup keyed by direction and option.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The hardcoded { x: 195, y: 220 } was a story-specific value leaking into
the lib; the only caller passes its own origin explicitly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The multi-schedule pattern is mandated by mobile-ui.md §11 because Wall
defers xterm focus via rAF; without the repeats a single blur can be
reverted after we return.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop dead 'above'/'below' ChipPlacement variants, fold translatedStyle
into translatedChipStyle, replace duplicated translatedCurrentPoint with
the existing translatedPoint, and switch the chip-spawn className to clsx
for consistency.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spec that primary mouse/trackpad clicks (alongside touches and pen
presses) open the radial menu so /tether is usable on desktop without a
touchscreen, and clarify that non-primary buttons remain unhandled.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying mouseterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: 13af502
Status: ✅  Deploy successful!
Preview URL: https://f90dd832.mouseterm.pages.dev
Branch Preview URL: https://codex-mobileui-compassrose.mouseterm.pages.dev

View logs

@nedtwigg nedtwigg marked this pull request as ready for review May 13, 2026 22:21
@nedtwigg nedtwigg merged commit 48dffe5 into main May 13, 2026
6 checks passed
@nedtwigg nedtwigg deleted the codex/mobileui-compassrose branch May 13, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant