From partme-ai-full-stack-skills
Manages three.js cameras: PerspectiveCamera, OrthographicCamera, CubeCamera, ArrayCamera, StereoCamera; projection matrices, aspect, FOV, frustum sizes, near/far planes, CubeCamera env maps for views, reflections, multi-view splits.
npx claudepluginhub partme-ai/full-stack-skills --plugin t2ui-skillsThis skill uses the workspace's default tool permissions.
**ALWAYS use this skill when the user mentions:**
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
ALWAYS use this skill when the user mentions:
fov, aspect, zoom, near, farCubeCamera for real-time environment maps or reflections (update rate caveats)ArrayCamera/StereoCamera for multi-view or stereo off-axis projection (non-XR)IMPORTANT: camera vs webxr vs post
| Topic | Skill |
|---|---|
| Standard desktop projection | threejs-camera |
| XR reference spaces, IPD | threejs-webxr |
| Offscreen pass cameras inside composer | threejs-postprocessing |
Trigger phrases include:
aspect = width/height; update on resize (threejs-renderers example workflow).left/right/top/bottom in world units for CAD/2.5D views.update when scene static enough; use render target outputs per docs.updateProjectionMatrix() after parameter edits.CameraHelper lives in threejs-helpers.window.addEventListener('resize', () => {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
});
See examples/workflow-perspective-resize.md.
| Docs section | Representative links |
|---|---|
| Cameras (index) | https://threejs.org/docs/#Cameras |
| Cameras | https://threejs.org/docs/Camera.html |
| Perspective | https://threejs.org/docs/PerspectiveCamera.html |
| Orthographic | https://threejs.org/docs/OrthographicCamera.html |
| Cube | https://threejs.org/docs/CubeCamera.html |
| Multi-view | https://threejs.org/docs/ArrayCamera.html |
| Stereo (non-XR) | https://threejs.org/docs/StereoCamera.html |
aspect after resize stretches image—always sync with canvas.near hurts depth precision in large worlds.CubeCamera every frame is expensive—throttle for performance.Camera parameters and CubeCamera update behavior follow the Cameras section of three.js docs. WebXR uses different projection paths—hand off to threejs-webxr when the user mentions headsets or reference spaces.
When answering under this skill, prefer responses that:
PerspectiveCamera, OrthographicCamera, or CubeCamera as relevant.setSize / DPR patterns when relevant.XR/WebXRManager questions to threejs-webxr after one-line renderer mention.updateProjectionMatrix() after intrinsic changes.CameraHelper for shadow frustum debug when discussing lights.English: perspectivecamera, orthographiccamera, cubecamera, projection, aspect, near, far, three.js
中文: 相机、透视、正交、投影、近裁剪、远裁剪、CubeCamera、three.js