evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates how the solution leverages PrimeVue's VirtualScroller to render long catalog lists efficiently, trigger lazy fetches at the right time, and keep scroll behavior stable. Focus is strictly on using the package's virtualization props, events, and slots to meet the spec scenarios.",
"type": "weighted_checklist",
"checklist": [
{
"name": "VirtualScroller base",
"description": "Uses the PrimeVue VirtualScroller component as the list container with its item template slot instead of a manual scroll container, binding the loaded items to its `items` prop.",
"max_score": 25
},
{
"name": "Lazy load event",
"description": "Enables `lazy` mode and handles the VirtualScroller `onLazyLoad` event (or `@lazy-load`) to request the next page using the event's `first`/`last` indices, avoiding duplicate requests when scrolling.",
"max_score": 25
},
{
"name": "Item sizing",
"description": "Configures VirtualScroller `itemSize` (number or `{ height }` object) or `autoSize` to match the 90–110px row estimates so the viewport height and spacer calculations remain accurate.",
"max_score": 15
},
{
"name": "Loader slot",
"description": "Uses VirtualScroller's loading support (`loading`/`showLoader`) with a `loader` slot or template to show a placeholder row while a lazy fetch is in flight.",
"max_score": 15
},
{
"name": "Empty slot",
"description": "Implements the VirtualScroller `empty` slot/template to render the empty state when no items are available yet while keeping virtualization active.",
"max_score": 10
},
{
"name": "Append stability",
"description": "Keeps scroll position stable on append by relying on VirtualScroller's append-friendly options (e.g., `appendOnly`, tuned `numToleratedItems`) rather than re-creating the scroller when new pages arrive.",
"max_score": 10
}
]
}