Install any skill in seconds. Free to start, no credit card required.
Get Started Free →sickn33/threejs-interaction
Three.js interaction - raycasting, controls, mouse/touch input, object selection.
Passed 15 of 23 test cases with the skill, and 12 of 23 without it.
and 2 more in the full report
4 fixed11 passed either way7 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
You need a zoom-in button in a Three.js canvas overlay that programmatically moves the perspective camera closer to the OrbitControls target without directly modifying camera.position or camera.zoom. What method on OrbitControls performs this camera move?
| Checked | Without skill | With skill |
|---|---|---|
| Calls controls.dolly() on the OrbitControls instance. | Missed | Passed |
The instructions your model reads when the skill loads.
import * as THREE from "three";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
// Camera controls
const controls = new OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
// Raycasting for click detection
const raycaster = new THREE.Raycaster();
const mouse = new THREE.Vector2();
function onClick(event) {
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera(mouse, camera);
const intersects = raycaster.intersectObjects(scene.children);
if (intersects.length > 0) {
console.log("Clicked:", intersects[0].object);
}
}
window.addEventListener("click", onClick);
test cases passed, vs 12 / 23 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.