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 BetterScroll's boundary computation hook system to dynamically modify scroll boundaries. The focus is on proper hook registration, boundary calculation modification, and integration with the core scrolling behavior.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BetterScroll initialization",
"description": "Uses BScroll constructor or createBScroll to create a scroll instance with appropriate configuration (scrollY: true or similar vertical scrolling setup)",
"max_score": 15
},
{
"name": "Hook registration",
"description": "Registers boundary computation hooks using the BetterScroll hooks system (e.g., scroll.scroller.scrollBehaviorY.hooks.on('beforeComputeBoundary') or scroll.scroller.scrollBehaviorY.hooks.on('computeBoundary'))",
"max_score": 25
},
{
"name": "Boundary modification logic",
"description": "Implements logic within the computeBoundary hook to modify the boundary object's maxScrollY and/or minScrollY properties based on multiplier and offset parameters",
"max_score": 30
},
{
"name": "Boundary state access",
"description": "Correctly accesses and returns scroll boundary values using properties like scroll.maxScrollY and scroll.minScrollY or from the behavior object",
"max_score": 15
},
{
"name": "Refresh integration",
"description": "Calls scroll.refresh() to trigger boundary recalculation after boundary modifier changes, ensuring hooks are invoked with updated parameters",
"max_score": 15
}
]
}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