Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for modern WebGPU and WebGL 3D graphics in the browser using Three.js (WebGPURenderer + TSL), Babylon.js, PlayCanvas, React Three Fiber (R3F), and 3Dviz spatial reasoning — covers object craft across 3 scales, surface continuity at joins, physical interaction envelopes, grounded scientific visualization, KTX2/Meshopt optimization, and 3D visual anti-slop / Panduan ahli grafis 3D web, WebGPU modern, dan penalaran spasial 3Dviz.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
<a name="english"></a>
Connects and orchestrates with relevant domain skills:
senior-frontend — Integrating React Three Fiber (R3F) in React 19 / Next.js 15.vue-frontend-expert — Integrating TresJS in Vue 3 / Nuxt 3.svelte-sveltekit-expert — Integrating Threlte in Svelte 5 (Runes).web-game-engine-expert — Physics simulations (Rapier, Jolt, Havok), game loops, and ECS.glsl-shader-expert — Shading languages, WGSL compute shaders, and TSL nodes.webxr-ar-vr-expert — WebXR immersive VR/AR experiences.data-visualization-expert — 3D scientific data visualization and spatial explainers.anti-slop — 3D visual anti-slop, eliminating generic glowing orbs and proxy meshes.performance-web-vitals — Minimizing Total Blocking Time (TBT), asset streaming, and bundle sizing.Production-grade guidance for architecting high-fidelity, high-framerate 3D experiences in the browser combined with grounded spatial reasoning (3Dviz Protocol). Covers the modern WebGPU-first paradigm with automatic WebGL2 fallbacks, Three.js (r170+) WebGPURenderer and TSL (Three Shading Language), Babylon.js WebGPUEngine with Snapshot Rendering, PlayCanvas Engine for ultra-lightweight mobile delivery, and rigorous object craft across 3 scales (silhouette, construction, surface).
Activate this skill when:
three (three/webgpu), @react-three/fiber, @babylonjs/core, playcanvas, @tresjs/core, or @threlte/core..glb) with KTX2 Basis Universal and Meshopt.A runnable 3D scene requires disciplined spatial judgment. Follow these 10 decisions:
STEP 1 STEP 2 STEP 3 STEP 4
Visual Intent ───► Object Reasoning ───► Grounded Truth ───► Construction Route
(Direction) (The 3 Scales) (Scientific Claim) (Kit / Custom / Scan)
│
▼
STEP 5 STEP 6 STEP 7 STEP 8
Join Continuity ───► Material & Light ───► Physical Bounds ───► Real Frame Inspection
(Skin / Layers) (PBR Identity) (Colliders & Time) (Multi-Angle Capture)
│
▼
STEP 9 STEP 10
Visual Review ───► Honest Reporting
(Anti-Slop 3D) (Limitations & State)
accumulatedTime).| Route | When to Choose | What to Preserve |
|---|---|---|
| Reuse Kit Directly | Shape, structure, behavior, and finish perfectly match the project brief. | Inspect at intended viewing distance; a well-crafted kit can serve as a hero. |
| Adapt Kit or Compose Parts | Common construction is useful, but silhouette, scale, or articulation differs. | Change silhouette, proportions, joins, and materials; recoloring alone is insufficient. |
| Author Custom Geometry / Rigs | Distinctive hero, analytical form, scientific mechanism, or unique organic creature. | Reuse low-level mathematical operations and helpers; custom does not mean rebuilding basic infrastructure. |
| External Authored Asset / Scan | Real-world scanned CAD, photogrammetry, or museum-grade model fits better than procedural recreation. | Verify provenance, license rights, physical scale (1 unit = 1 meter), registration, and clean topology. |
| Hybrid Combination | Different elements require different methods (e.g., procedural terrain + scanned hero + particle effects). | Keep visual style, lighting scale, state ownership, and interaction interfaces coherent. |
Adding more scattered objects never fixes weak modeling of the primary subject. Craft must be resolved across three distinct visual scales:
┌────────────────────────────────────────────────────────────────────────┐
│ THE 3 SCALES OF OBJECT CRAFT │
├───────────────────┬────────────────────────────┬───────────────────────┤
│ SILHOUETTE │ CONSTRUCTION │ SURFACE │
│ Proportions & Mass│ Thickness, Joints, Joins │ Texture Grain & Seams │
│ (Readable in B&W) │ (Mechanical / Biological) │ (Viewing Scale Only)│
└───────────────────┴────────────────────────────┴───────────────────────┘
When attached volumes look like unrelated lumps, diagnose the join relationship:
| Observed Weakness | Root Cause | Sovereign Intervention |
|---|---|---|
| Accidental seams or bulging seams | Separate meshes intersecting clumsily on what should be one organic skin. | Author shared continuous surface loops, bridge boundary edges, or perform selective remeshing/CSG union. |
| Pinching or faceted highlights | Non-uniform vertex normals, bad winding, or excessive triangulation at joints. | Inspect vertex normals, local curvature, and topology loops before adding polygons. |
| Disconnected floating layers | Armor plates, roof tiles, or feathers floating without roots or overlap order. | Refine overlap sequence, root anchorage, thickness, and realistic spacing. |
| Redundant internal geometry | Meshes joined without deleting internal hidden polygons, wasting GPU vertex budgets. | Purge hidden internal faces unless revealed by dynamic cutaways or animation. |
⚠️ BufferGeometryUtils Note: Three.js
mergeGeometriesmerely merges attribute buffers into a single draw call. It does NOT perform a solid CSG boolean union and does not delete interior hidden faces. Use deliberate topological authoring.
import * as THREE from 'three/webgpu';
import { color, float, positionLocal, time, vec3, Fn } from 'three/tsl';
const canvas = document.querySelector('#canvas') as HTMLCanvasElement;
const renderer = new THREE.WebGPURenderer({ canvas, antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
await renderer.init();
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(0, 3, 6);
// TSL Node Material: Compiles to WGSL on WebGPU, GLSL on WebGL2 fallback
const customMaterial = new THREE.MeshStandardNodeMaterial({ roughness: 0.2, metalness: 0.8 });
const animatedDisplacement = Fn(() => {
const t = time.mul(1.5);
return positionLocal.y.add(t).sin().mul(0.1);
});
customMaterial.positionNode = positionLocal.add(vec3(0, animatedDisplacement(), 0));
const geometry = new THREE.IcosahedronGeometry(1.5, 32);
const mesh = new THREE.Mesh(geometry, customMaterial);
scene.add(mesh);
renderer.setAnimationLoop(() => {
mesh.rotation.y += 0.005;
renderer.render(scene, camera);
});
import { Canvas } from '@react-three/fiber';
import { OrbitControls, Environment, useGLTF, Float } from '@react-three/drei';
import * as THREE from 'three/webgpu';
function HeroModel() {
const { scene } = useGLTF('/models/scientific-apparatus.glb');
return (
<Float speed={1.5} rotationIntensity={0.2} floatIntensity={0.5}>
<primitive object={scene} />
</Float>
);
}
export function SceneViewer() {
return (
<Canvas
gl={(canvas) => new THREE.WebGPURenderer({ canvas, antialias: true })}
camera={{ position: [0, 2, 5], fov: 45 }}
dpr={[1, 2]}
>
<ambientLight intensity={0.4} />
<directionalLight position={[5, 8, 5]} castShadow intensity={1.2} />
<HeroModel />
<Environment preset="studio" />
<OrbitControls makeDefault enableDamping dampingFactor={0.05} />
</Canvas>
);
}
useGLTF.preload('/models/scientific-apparatus.glb');
When an object occupies space, its physical presence must match its visual boundaries:
Decouple physics integration from display refresh rates (60Hz, 120Hz, ProMotion) to prevent physics tunneling and non-deterministic behavior:
// Fixed Timestep Accumulator Pattern (Fix Your Timestep - Glenn Fiedler)
const PHYSICS_TIMESTEP = 1 / 60; // 60Hz fixed simulation rate
let accumulatedTime = 0;
let lastTime = performance.now();
export function updatePhysicsLoop(currentTime: number, physicsWorld: any) {
const frameDelta = (currentTime - lastTime) / 1000;
lastTime = currentTime;
// Cap max frame delta to prevent "spiral of death" on tab resume
accumulatedTime += Math.min(frameDelta, 0.1);
while (accumulatedTime >= PHYSICS_TIMESTEP) {
physicsWorld.step(PHYSICS_TIMESTEP);
accumulatedTime -= PHYSICS_TIMESTEP;
}
// Alpha factor for visual transform interpolation between physics states
const interpolationAlpha = accumulatedTime / PHYSICS_TIMESTEP;
return interpolationAlpha;
}
For models conveying scientific, anatomical, or engineering concepts:
KHR_texture_basisu):
npx @gltf-transform/cli optimize input.glb output.glb --texture-compress ktx2
EXT_meshopt_compression):
npx @gltf-transform/cli meshopt input.glb output.glb
.dispose()):
export function purgeThreeObject(root: THREE.Object3D) {
root.traverse((node) => {
if ((node as THREE.Mesh).isMesh) {
const mesh = node as THREE.Mesh;
mesh.geometry?.dispose();
if (Array.isArray(mesh.material)) {
mesh.material.forEach((m) => m.dispose());
} else if (mesh.material) {
mesh.material.dispose();
}
}
});
}
Evaluate every 3D scene against this checklist before completion:
InstancedMesh) used for repetitive assets without accidental visual jitter?prefers-reduced-motion, with stillness used when appropriate?<a name="bahasa-indonesia"></a>
Terhubung dan mengorkestrasi skill domain yang relevan:
senior-frontend — Integrasi React Three Fiber (R3F) pada React 19 / Next.js 15.vue-frontend-expert — Integrasi TresJS pada Vue 3 / Nuxt 3.svelte-sveltekit-expert — Integrasi Threlte pada Svelte 5 (Runes).web-game-engine-expert — Simulasi fisika (Rapier, Jolt, Havok), game loop, dan ECS.glsl-shader-expert — Bahasa shader, compute shader WGSL, dan node TSL.webxr-ar-vr-expert — Pengalaman WebXR VR/AR imersif.data-visualization-expert — Visualisasi data ilmiah 3D dan explainer spasial.anti-slop — Anti-slop visual 3D, membasmi orbe bersinar generik dan model proksi murahan.performance-web-vitals — Meminimalkan TBT (Total Blocking Time) dan optimasi ukuran bundle.Panduan produksi untuk membangun grafis 3D performa tinggi di browser yang dipadukan dengan penalaran spasial mendalam (Protokol 3Dviz). Mengutamakan paradigma modern WebGPU-first dengan fallback otomatis ke WebGL2, Three.js (r170+) WebGPURenderer dan TSL (Three Shading Language), Babylon.js WebGPUEngine dengan Snapshot Rendering, PlayCanvas Engine untuk performa mobile ekstrem, serta keahlian bentuk objek (object craft) lintas 3 skala visual (siluet, konstruksi, permukaan).
Aktifkan skill ini ketika:
three (three/webgpu), @react-three/fiber, @babylonjs/core, playcanvas, @tresjs/core, atau @threlte/core..glb) dengan KTX2 Basis Universal dan Meshopt.Sebuah scene 3D yang dapat dijalankan membutuhkan pertimbangan visual yang matang. Ikuti 10 keputusan ini:
Menambahkan banyak objek pendukung tidak akan menutupi kelemahan pemodelan pada objek utama. Kualitas bentuk harus diselesaikan pada tiga skala:
.dispose()):
.dispose() pada geometri, material, dan tekstur saat komponen di-unmount agar tidak terjadi kebocoran memori VRAM GPU.InstancedMesh tanpa jitter acak yang merusak struktur?prefers-reduced-motion?まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan ahli komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for AI-assisted coding workflows — agentic code generation, multi-agent code swarms, self-healing CI/CD, automated PR review, spec-to-code pipelines, codebase knowledge graphs, and human-in-the-loop approval gates / Panduan ahli untuk workflow pengkodean berbasis AI — generasi kode agentic, code swarm multi-agen, CI/CD self-healing, review PR otomatis, pipeline spec-to-code, knowledge graph codebase, dan gate persetujuan human-in-the-loop.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for long-term episodic memory integration (Mem0 v2, Letta/MemGPT, Zep v2), memory tier architecture, pgvector HNSW storage, and unified context management for autonomous AI agents / Panduan ahli untuk integrasi memori episodik jangka panjang (Mem0 v2, Letta/MemGPT, Zep v2), arsitektur tier memori, penyimpanan pgvector HNSW, dan manajemen konteks terpadu untuk agen AI otonom.
日本語の概要は準備中です。原文の説明を表示しています。
Expert guide for designing Machine-to-Machine (M2M) micro-economies, autonomous agent wallets, and swarm budget allocation / Panduan ahli merancang ekonomi mikro antar-agen (M2M), dompet agen otonom, dan alokasi anggaran swarm.
日本語の概要は準備中です。原文の説明を表示しています。