Skip to content

feat: Feat/anchored scroll assert - #55

Merged
saikrishna321 merged 4 commits into
mainfrom
feat/anchored-scroll-assert
Aug 7, 2026
Merged

feat: Feat/anchored scroll assert#55
saikrishna321 merged 4 commits into
mainfrom
feat/anchored-scroll-assert

Conversation

@saikrishna321

Copy link
Copy Markdown
Contributor

This pull request adds support for anchored and spatially-qualified scroll/swipe gestures, enabling more precise control when automating scrolling within carousels, strips, or specific regions of the UI. It introduces new parsing logic, schema fields, and execution behavior to handle gestures like "swipe the FII/DII left until Goal calculator is visible" or "swipe left inside the area above View All until Goal calculator is visible." Documentation and UI have been updated to describe and display these capabilities.

Anchored and Qualified Scroll/Swipe Support

  • Parsing and Type System:

    • Extended the FlowStep type and schema to include optional target and targetProximity fields for scrollAssert steps, representing the anchor element and spatial qualifier. [1] [2]
    • Enhanced natural language parsing to extract anchors and qualifiers from phrases like "swipe the FII/DII left until X is visible" and "swipe left inside the area above View All until X is visible."
    • Improved proximity parsing to better handle generic region nouns and trailing connectors.
  • Execution and Behavior:

    • Updated scroll/swipe execution to resolve anchor coordinates based on the provided target and targetProximity, swiping from the correct location within a carousel or region. [1] [2]
    • Adjusted result messages and UI step labels to reflect anchored gestures. [1] [2]

Documentation and Examples

  • Added new code blocks and examples to the usage documentation, illustrating anchored swipes, swiping until elements appear, and use of spatial qualifiers.
  • Updated the full command reference and structured YAML examples to include the new fields and gesture forms. [1] [2] [3]

System Prompt and Schema

  • Clarified in the system prompt how anchored scroll/swipe gestures are mapped to the new fields, and updated the schema to describe the new parameters. [1] [2]

These changes collectively make scroll/swipe automation more robust, expressive, and aligned with real-world UI layouts.

saikrishna321 and others added 4 commits August 6, 2026 21:02
"swipe the FII/DII left until Goal calculator is visible" — scrollAssert
gains an optional anchor: the repeated gesture starts from the named
element's position (inside the strip/carousel) instead of screen center,
so horizontal rails scroll instead of the page.

The anchor is resolved ONCE, before any swiping: the anchor icon itself
scrolls away with the strip's content, but the strip stays put on
screen, so the first-seen coordinates remain the right place to keep
swiping. Finger-motion semantics, matching the anchored `swipe` step.
Falls back to a screen-center scroll (with a notice) when the anchor
can't be found.

Surfaces: natural language (scroll|swipe verb, optional count), YAML
(`scrollAssert:` with `target:`), LLM parser schema + prompt, step
badges/preview. Plain scroll-until-visible is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
scrollAssert's anchor now accepts the same proximity machinery as taps,
so the right scroll area can be picked when several exist:

- qualified label: "swipe the FII/DII below Post-Market Insights left
  until Goal calculator is visible"
- pure region: "swipe left inside the area above View All until Goal
  calculator is visible" — generic nouns (area/section/strip/…) carry no
  element text; the region resolves to the nearest element on that side
  of the qualifier's anchor, guaranteeing the swipe lands on real
  content inside the strip.

splitProximity also strips connector filler ("which is located",
"that is positioned") from targets, benefiting taps too.

Docs (landing/public/usage.html): anchored swipes, carousel
scroll-until-visible (all three forms), doubleTap section + steps-table
rows, and chained-qualifier mention in Proximity Selectors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
…ller

The connector-strip removed a BARE trailing located/positioned/placed/
situated from every proximity target, so "tap Order Placed below
Filters" would target "Order". Bare participles are now stripped only
after a generic region noun ("the area located above X" → "area");
"which is / that is [located]" is still always stripped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Co-authored-by: Srinivasan Sekar <srinivasan.sekar1990@gmail.com>
@saikrishna321
saikrishna321 merged commit 0607bb6 into main Aug 7, 2026
10 of 16 checks passed
@saikrishna321
saikrishna321 deleted the feat/anchored-scroll-assert branch August 7, 2026 11:19
github-actions Bot pushed a commit that referenced this pull request Aug 7, 2026
## [2.2.0](v2.1.0...v2.2.0) (2026-08-07)

### Features

* Feat/anchored scroll assert ([#55](#55)) ([0607bb6](0607bb6))
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 2.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant