A TypeScript plugin for BetterScroll that provides enhanced mouse wheel scrolling capabilities with configurable speed, direction, easing, and boundary damping on PC platforms.
98
Pending
Does it follow best practices?
Impact
98%
1.03xAverage score across 10 eval scenarios
Pending
The risk profile of this skill
{
"context": "This evaluation assesses how effectively the engineer uses better-scroll's bounce and boundary handling capabilities. The focus is on proper configuration of elastic bounce behavior, per-edge control, boundary management, and resistance tuning.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BScroll instantiation",
"description": "Creates a BScroll instance using the constructor or factory pattern (e.g., `new BScroll(wrapper, options)`) with the wrapper element as the first argument",
"max_score": 15
},
{
"name": "Bounce configuration",
"description": "Configures the `bounce` option to enable elastic boundary behavior. Should support both boolean (true/false for all edges) and object form ({ top, bottom, left, right }) for per-edge control",
"max_score": 25
},
{
"name": "Bounce timing",
"description": "Uses the `bounceTime` option to control the duration of the bounce animation in milliseconds",
"max_score": 15
},
{
"name": "Boundary damping",
"description": "Configures the `outOfBoundaryDampingFactor` option to control resistance when scrolling beyond boundaries. Lower values create more resistance",
"max_score": 20
},
{
"name": "Position reset",
"description": "Calls the `resetPosition(time)` method to programmatically return scroll position to valid boundaries with optional animation duration",
"max_score": 20
},
{
"name": "Instance cleanup",
"description": "Properly calls the `destroy()` method to clean up event listeners and resources when the scroll instance is no longer needed",
"max_score": 5
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10