A TypeScript plugin for BetterScroll that provides enhanced mouse wheel scrolling capabilities with configurable speed, direction, easing, and boundary damping on PC platforms.
Overall
score
98%
{
"context": "This criteria evaluates how well the engineer uses @better-scroll/core to implement direction locking and free scrolling behaviors. The focus is on correctly configuring scroll axes, direction locking thresholds, and free scroll mode to achieve the specified behaviors.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BScroll instantiation",
"description": "Creates BScroll instance using the 'new BScroll()' constructor with the appropriate wrapper element selector",
"max_score": 15
},
{
"name": "Scroll axes configuration",
"description": "Correctly configures scrollX and scrollY options to enable appropriate axes: both true for free mode, or one true and one false for locked mode based on direction",
"max_score": 25
},
{
"name": "Free scroll mode",
"description": "Sets the 'freeScroll' option to true when config.mode is 'free' to enable diagonal scrolling without direction locking",
"max_score": 25
},
{
"name": "Direction locking",
"description": "Enables direction locking for locked mode by either: (1) not setting freeScroll (defaults to false), or (2) explicitly setting freeScroll to false, ensuring single-axis scrolling",
"max_score": 20
},
{
"name": "Configuration differentiation",
"description": "Implements conditional logic that applies different BScroll configurations based on config.mode ('locked' vs 'free') and config.direction when applicable",
"max_score": 10
},
{
"name": "Return value",
"description": "Returns the BScroll instance from the initializeScroller function so it can be used for further manipulation",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-better-scroll--mouse-wheeldocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10