Skip to content

feat(pointer): add component-aware color locator - #41

Merged
inayayousfi merged 3 commits into
mainfrom
feat/pointer-color-locator
Sep 9, 2026
Merged

inayayousfi merged 3 commits into
mainfrom
feat/pointer-color-locator

Conversation

@inayayousfi

Copy link
Copy Markdown
Contributor

inayayousfi directed the work and made every decision.
gpt-5.6-sol, running in OpenCode, carried inayayousfi's decisions out.

Summary

  • Add a configurable pointer glow whose color is determined by the key or button beneath the pointer.
  • Keep one deterministic color across each control, alternate warm and cold colors between nearby controls, and use a muted color in gaps.
  • Stop cursor polling while the pointer is outside the surface.

Architecture

The locator is a reusable background component built through the component registry. Root surfaces can host any number of background components without adding locator-specific behavior to windows.

Testing

  • QT_QPA_PLATFORM=offscreen .venv/bin/python -m unittest discover -s tests (214 passed, 1 skipped)
  • .venv/bin/python -m flake8 --select=F,E9,W6 src tests
  • git diff --check origin/main...HEAD

inayayousfi directed the work and made every decision.
gpt-5.6-sol, running in OpenCode, carried inayayousfi's decisions out.

Attach pointer feedback through a reusable surface-decoration registry and keep RuntimeWindow independent of concrete decoration types.
inayayousfi directed the work and made every decision.
gpt-5.6-sol, running in OpenCode, carried inayayousfi's decisions out.

Use the existing component registry for background layers and remove the parallel surface-decoration pipeline.
inayayousfi directed the work and made every decision.
gpt-5.6-sol, running in OpenCode, carried inayayousfi's decisions out.

Use deterministic warm and cold palettes for nearby controls, keep a muted
gap color, and stop cursor polling while the pointer is outside the surface.
@inayayousfi
inayayousfi merged commit 90aab50 into main Sep 9, 2026
5 checks passed
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