EasyPlatform threejs
Build 3D web apps with Three.js (WebGL/WebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR/XR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.
git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/threejs" ~/.claude/skills/duc01226-easyplatform-threejs && rm -rf "$T"
.claude/skills/threejs/SKILL.md<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
<!-- /SYNC:ai-mistake-prevention -->AI Mistake Prevention — Failure modes to avoid on every task:
- Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
- Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
- Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
- Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
- When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
- Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
- Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
- Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
- Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
- Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
Three.js Development
Build high-performance 3D web applications using Three.js. Contains 556 searchable examples across 13 categories, 60 API classes, and 20 use-case templates.
When to Use
- Building 3D scenes, games, or visualizations
- Loading 3D models (GLTF, FBX, OBJ)
- Implementing animations, physics, or VR/XR
- Creating particle effects or custom shaders
- Optimizing rendering performance
Search Examples & API
Use the search CLI to find relevant examples and API references:
python3 .claude/skills/threejs/scripts/search.py "<query>" [--domain <domain>] [-n <max_results>]
Search Domains
| Domain | Use For | Example Query |
|---|---|---|
| Find code examples | |
| Class/method reference | |
| Project recommendations | |
| Browse categories | |
Quick Examples
# Find particle/compute examples python3 .claude/skills/threejs/scripts/search.py "particle compute webgpu" # Search API for camera classes python3 .claude/skills/threejs/scripts/search.py "camera" --domain api # Get examples for a use case python3 .claude/skills/threejs/scripts/search.py "product configurator" --use-case # Filter by category python3 .claude/skills/threejs/scripts/search.py --category webgpu -n 10 # Filter by complexity python3 .claude/skills/threejs/scripts/search.py --complexity high -n 5
Example Categories
| Category | Count | Description |
|---|---|---|
| 216 | Standard WebGL rendering |
| 190 | Modern WebGPU + compute shaders |
| 48 | Low-level GPU, custom shaders |
| 27 | Bloom, SSAO, SSR, DOF |
| 26 | VR/AR experiences |
| 13 | Physics simulation |
Common Use Cases
| Use Case | Recommended | Complexity |
|---|---|---|
| Product Configurator | GLTF, PBR, EnvMaps | Medium |
| Game Development | Animation, Physics, Controls | High |
| Data Visualization | BufferGeometry, Points | Medium |
| 360 Panorama | Equirectangular, WebXR | Low |
| Architectural Viz | GLTF, HDR, CSM Shadows | High |
Quick Start
// 1. Scene, Camera, Renderer const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setPixelRatio(window.devicePixelRatio); document.body.appendChild(renderer.domElement); // 2. Lighting scene.add(new THREE.AmbientLight(0x404040)); const dirLight = new THREE.DirectionalLight(0xffffff, 1); dirLight.position.set(5, 5, 5); scene.add(dirLight); // 3. Load GLTF Model import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; const loader = new GLTFLoader(); loader.load('model.glb', gltf => scene.add(gltf.scene)); // 4. Animation Loop function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate();
Progressive Reference Files
Level 1: Fundamentals
- Core concepts, scene graphreferences/00-fundamentals.md
- Setup, basic renderingreferences/01-getting-started.md
Level 2: Common Tasks
- GLTF, FBX, OBJ loadersreferences/02-loaders.md
- Texture types, mappingreferences/03-textures.md
- Camera types, controlsreferences/04-cameras.md
- Light types, shadowsreferences/05-lights.md
- AnimationMixer, clipsreferences/06-animations.md
- PBR, standard materialsreferences/11-materials.md
- BufferGeometry, primitivesreferences/18-geometry.md
Level 3: Interactive
- Raycasting, pickingreferences/08-interaction.md
- Bloom, SSAO, SSRreferences/09-postprocessing.md
- OrbitControls, etc.references/10-controls.md
Level 4: Advanced
- Instancing, LOD, batchingreferences/12-performance.md
- TSL shader graphsreferences/13-node-materials.md
- Custom GLSL shadersreferences/17-shader.md
Level 5: Specialized
- Physics, WebXRreferences/14-physics-vr.md
- WebGPU, compute shadersreferences/16-webgpu.md
External Resources
- Docs: https://threejs.org/docs/
- Examples: https://threejs.org/examples/
- Editor: https://threejs.org/editor/
- Discord: https://discord.gg/56GBJwAnUS
Closing Reminders
- IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- IMPORTANT MUST ATTENTION cite
evidence for every claim (confidence >80% to act)file:line - IMPORTANT MUST ATTENTION add a final review todo task to verify work quality <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->